jobq1650682
回答4件
そんなにいらないですね。 必要な時に覚えればいいやという感じです。 それよりも1つを深くやった方が良いですよ。 言語はツールでしかないので、何を作りましたか?という事です。 料理で例えると、あなたは今包丁はいろんな種類ありますが使い方勉強した方が良いか?という質問と同じで で、何使ったことあります?味付けは?何が得意ですか? という事ですよ。
ある程度の数の言語を学んだ方がいいというのは確かにその通りです。 理由を2つ挙げると、1つは転職する時などに転職先で使っている言語の経験があれば受かりやすいという事です。これは自明ですね。 もう1つは、プログラミング言語に対する理解が深まるからです。それぞれの言語に特徴や文化、長所と短所があるので、違うタイプの言語を学ぶ事で他の言語の理解が深まり、よりうまく使いこなせるようになる事が多いです。なので、たとえ学んだ言語を直接仕事で使わなくても意味はあります。 すでに学んだと言っている3つの言語は広く使われていて学ぶ事も多く、そこから学べることだけで大抵はやっていける良いものです。変に広く浅くやるよりもすでに学んだものの知識を深める方が当分は実力を伸ばせると思います。 強いて言えなら、Web系ならJavaScriptはほぼ使うことになるので、追加で学んでおいて損はないでしょう。 挙げられている他の言語について言うと、CはJavaを真面目に3年ぐらいやった後にもっとメモリ管理などの詳細を知りたいと思った時に学べば良くて、PythonはRubyとPHPで学べることと大きく変わりはないので、データサイエンスがしたいとか直接使うことになった時に学べばいいと思います。
小さな会社を経営しております。プログラマーです。 実際のところ、同じ言語の違うライブラリを勉強するのと、違う言語を勉強するのとで、そんなに違いはないです。 同じJavaScriptでフロントエンドとサーバーサイドの両方を勉強するのと、同じサーバーサイドでPythonとPHPを勉強するのとで、ひとつのことに詳しくなってるのはどちらとも言えないです。 仕事では必要になったら、勉強するだけです。基幹系の開発でJavaをやってたとして、次の開発ではSwift、数年後またJavaだとしても、そのままの知識では使えなくてかなり変わってしまっているのが普通です。 言語だけでなく、デザインの流行りや、gitなどの管理ツールやクラウドのサービス、ネットワークのプロトコルからAppleのアプリの申請の仕方までどんどん変わってしまいます。 「何を次に勉強しようか」というのは、なんでもよくて、とにかく走り続けてることのほうが大事です。つまり、そこは悩むとこではないかもよ、ということです。
順序で言えば、アセンブリ→C言語→C++, Java…という風に登場した順に学んで行くとコンピュータの動きがわかって良いんでしょうけど、そんなことやっていられるほど暇ではないですよね。 特に、JavaScriptやPHP、Rubyなどのスクリプト言語も裏ではC/C++で動いているので、C/C++がわかれば中でどんなメモリ制御が行われてるかイメージしやすいのは事実です。 ですが、そんなコンピュータ内の動作を知らなくても大丈夫なようにより高級な言語が登場してるわけです(もちろん必要な技術領域もありますが)。 自分の活躍したい領域で有用な言語を言語仕様レベルで学びながらも、動くアプリやツールを作ってみるのが良いと思います。