これから何かプログラム言語(もしくはそれに関連した技術)を学ぼうと思っているのですが、

・将来性を考えると何がよいでしょう?
・現在進行形で”ホットな”言語/技術は何でしょう?


 例えば今はとりあえずajaxが何かと話題ですよね。あと将来性という点からは個人的にはofficeや携帯サイトに使われるxmlとその関連技術が流行ると思ってとりあえずxmlマスターを取得したのですが、次に学ぶのは・・・という話です。
 ちなみに言語なんて星の数ほどあるのでそれなりに説得力のある回答があるとptが高いです。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答6件)

id:T-pon No.1

回答回数424ベストアンサー獲得回数4

ポイント15pt

あまりにメジャーなのでもう既にマスターされているかもしれませんが、Visual C#はおすすめです。少なくともオブジェクト指向言語(C++, C#, objective C, Ruby, etc.)のいずれかは学んでおく価値があります。


どの言語が学ぶ意味が大きいかは、目指す作業内容にも択ります。Visual C#はWindowsの上で動くアプリケーションを作りたいのならとても効率的な言語だと思います。とくにVisual C++と比較すると、格段にコードを書きやすいと私自身感じました。たとえば、ダイアログベースのアプリを書く時、C#ではすべてのアイテムがオブジェクト化されているので、コードがすっきりします。新しいボタンを動的に生成したければ”new”でオブジェクトを初期化・確保します。ボタン生成のためにAPI関数を呼び出す必要はないのです。


また、メソッド名やメンバ変数名の自動補完をしてくれるので厳密に名前を覚える必要はありません(この点は他の開発環境にもあてはまりますが)。


C#はC++と文法的にはほぼ同じなので、C++を知っている人なら、リファレンスブックが手元にあれば難なくコードを書けます。


最後にもう一つ利点を挙げると、Windows MobileやWindows CEなど他のWindowsプラットフォームへの移植が容易であることが挙げられます。

いろんな言語の入門レクチャーみたいなのが載っていて、どんな言語か大体つかみたい時に参考になります。


# C言語入門

# C++入門

# C#入門

# D言語入門

# Java言語入門

# Objective-C入門

# Lisp入門

# Perl入門

# PHP入門

# アセンブリ言語入門


など

id:peaceman1984

 C#→MS→windowsという図式はあったのですが、具体的にはコーデイングが楽になるのですね。

 

2005/10/17 01:34:06
id:ymlab No.2

回答回数508ベストアンサー獲得回数34

ポイント15pt

ajaxができるということでしたら、javascriptと、http通信ができるということですよね。


ということは、コンパイラ言語に触れていないので、コンパイラ言語に触れた方がよいと思います。


最近は、Microsoft のC#やSunのJavaが流行しているみたいですが、それらを学ぶためには、やはりC言語を理解しておくことが肝要です。

 今は、オブジェクト指向やアスペクト指向といっていますが、まず普通の手続き型言語の経験があると、オブジェクト指向などのありがたみが理解できると思います。


あと、個人的に興味があるのが、

http://www.kmonos.net/alang/d/comparison.html

プログラミング言語 D - 他言語との比較

D言語です。

D言語は、B言語=>C言語=>C++言語=>C#言語=>D言語

なのだといっています。


複素数や、単体テストができるなど、結構楽しそうです。

それよりも、C#やJavaは、ネイティブなコードを吐かずに、途中で吸収していますよね。最近はそういう流れみたいですが、

 将来OS間の壁がなくなると、不要になり、またネイティブなコードを生産するようになるのではないかと思っています。


現在は、まだGUI部分は実装しておらず、開発途中の言語ですが、ある程度は楽しむことができます。

これからの将来が楽しみな言語です。

id:peaceman1984

 語弊があったようですがajaxはいじれません。むしろCメインでc++をちょっとかじってjavaもやってみようかな・・・という段階です。というか知りたいのは「次に何をやるべきか」ではなくて「自己投資:効果」が最も高いのは何か、という事なんですね。

 D言語は絶対言ってくる人がいると思ったので最後の二行を足しておいたのですが、これって実際問題cやc++、java並みの市民権を得られる物なのですか?はたまたRUBY並みの信者を獲得しているとか。

2005/10/17 01:43:58
id:inaba-baseball No.3

回答回数38ベストアンサー獲得回数0

ポイント15pt

http://dir.yahoo.co.jp/Computers_and_Internet/Programming_and_De...

Yahoo!カテゴリ - プログラミング言語

HTML言語はおぼえておいて損はないでしょう。

あと、Officeで使われる「マクロ」は職場でも応用して使えるのではないかと思います。

id:zenge No.4

回答回数22ベストアンサー獲得回数0

ポイント15pt

http://www.eclipse.org/

Eclipse.org home

URLはダミーです。質問中の「将来性」を就職して役立つ、「現在進行形」を現場で使用されている、として回答します。


まず C でしょう。C++、Java、C#のベースとして C の知識は欠かせませんし、求められる局面もまだまだ多いと思います。時間をかけることはありません。とりあえず C の入門書を一通り終わらせ大体の感じをつかめればいいと思います。その過程でWindows、Linuxそれぞれで、好みのエディタ、ビルド環境(含makefile)等を習得しておくと、将来、必ず役立ちます。実際の所、Windowsの開発環境はVisualStudio .NETになるでしょうし、素晴らしいツールなのですが、如何せんWindows専用。Linux系、組み込み系ではどうしてもコマンドラインからのコンパイル、ビルド、すなわちmakefileの知識が必要です。複数人で開発する場合は特に。


次は C++ よりも Javaでしょう。実業務で使用する場面も多いですし、C++ よりも後発なだけにオブジェクト指向を学習する上で分かり易く感じます(あくまで私見)。この過程では統合開発環境eclipseも学びましょう。最近のJavaを利用するプロジェクトではほぼ標準のツールです。


Javaでは、言語の基礎とオブジェクト指向を学べば、あとはJ2EE(Servlet、JSP、EJB)を軽く流し、何でこんな複雑なの? 面倒なの? と疑問を持った頃に、PHP に行きましょう。J2EEを使用しないWebアプリケーションプロジェクトでは、しばしばPHPが利用されます。ここでは、HTML、JavaScript、SQL、Flash、等も必要に応じて学んでいく事になると思います。PHPの実行環境は軽いため、これらの周辺技術を学ぶ際に、J2EEほどのフラストを感じずに済みます。またWebサービスを学べば XMLマスターの知識が無駄でない、どころか非常に役立つ事も分かると思います。


まとめると C -> Java -> PHP で、必要に応じて周囲の技術も取得していくということでしょうか。これだけを学習した新人が来てくれれば喜んで教育係やります、私 :-)

id:peaceman1984

 cはおろかjavaも古いとどこかで見たのですが、まだ現役ですか。

トップダウン好きなのでphpに目を付けてみます

2005/10/17 14:16:25
id:naka1kazu No.5

回答回数236ベストアンサー獲得回数12

ポイント15pt

http://www.ruby-lang.org/ja/

オブジェクト指向スクリプト言語 Ruby

プログラミング技術を取得してこれから何をするかによると思いますが、Hotな言語といえばPerl,Python,Rubyのスクリプト言語だと思います。この辺はどの職業においてもツールとして活用できます。既知のようですが、私はRubyをお勧めしますね。日本人の開発、きれいなオブジェクト指向と2つの大きな特徴は勉強するに楽かつ価値があると思います。

プログラム作者として仕事をするのであればスクリプト言語はちょっと不適です。(相手の環境にスクリプト言語環境を入れないといけないため)。Javaであればそれも解決できますが、やはりコンパイラ言語の方が良いと思います。VisualC#よりも私はDelphiの方をお勧めしますね。クラスライブラリが統一されていて使いやすいですし、VersionUpもきちんとされている為、MicroSoftのSoftに追従する形で最新技術に追いついています。確かにMicrosoftの開発環境は最新技術に対応していますが、使いやすいとは言えませんね。

http://www.vector.co.jp/soft/maker/lsi/se001169.html

LSI C-86(ベンダー提供ソフト / エルエスアイジャパン)

ソフトウェア技術として勉強するのであればアセンブラとC言語をお勧めします。C言語は元々高級アセンブラと呼ばれていたので、それがどういう動きをするか透けて見えて面白いです。80年代の複雑でないコンパイラの方が勉強できて良いと思います。DelphiやC++はオブジェクト指向の考え方が入ってきてそれがどのように実行されるかは非常にわかりにくいですが、まずはCからそれを勉強することはソフトウェア技術としては無駄になりません。本格的に勉強するのであれば

http://www.amazon.co.jp/exec/obidos/ASIN/4781905854/249-2766003-...

Amazon.co.jp: コンパイラ―原理・技法・ツール〈1〉: 本: A. V. エイホ,R. セシィ,J. D. ウルマン,原田 賢一

のような本で勉強すると良いでしょう。

id:peaceman1984

 スクリプトはやはり熱いですか。rubyも今候補に入っています。

現状はだんだんつかめてきたのですが次に流行りそうな言語/技術はなんでしょうね

2005/10/17 14:22:12
id:terra5 No.6

回答回数57ベストアンサー獲得回数0

ポイント15pt

http://jp.sun.com/java/

$B%5%s!&%^%$%/%m%7%9%F%`%:(B - Java $B%F%/%N%m%8(B

現在Cだけなら、オブジェクト指向系のクラスを持つ言語は何かやっておく必要があると思います。

Javaが手頃かなと思います。それからC++でしょうか。結局は長く使われる言語だろうと思いますし、STLやテンプレート等かなり複雑でこの辺まで判って使える人は少ないんじゃないかと。

Javaを前にいれたのはC++だとCのやり方に依存してしまう可能性が高いので、まがりなりにもクラスを書かないと何もできない、またJVM等の仕組みも異なる言語をやっておいたほうが幅広い経験ができていいと思いますので。


C#はまだまだWindows専用といった感じですから、Javaを推します。


あと、言語は所詮移り変わるものですから、あまりとらわれないほうがいいと思います。

おそらくほとんど使う機会はないかも知れませんが、lispのような全く異質な言語もやっておくと発想も視野も広がっていいんじゃないかと思います。

極端な話、C,C++,C#,Java,Pascalと同じ分類にできますが、lispはそういうのとは全く異なります。

id:peaceman1984

やはりjavaは強いですか。

変わり種ではlispよりはprologに興味があったりします。

2005/10/17 19:34:15

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません