シアトル生活はじめました

20年以上すんだ東海岸から西海岸に引っ越してきました。MicrosoftのUniversal Storeで働いてます。

Scalaの勉強始めます。(注:稼げるプログラミング言語とかそういうのではないです)

久しぶりに、まだ使ったことないプログラミング言語を学ぶ必要が出てきてワクワクしてる。DatabricksとかSparkとかScalaとか、その辺りを使うことになりそう。これら三つに関しては今のところ知識経験値は10点満点評価で0.3ぐらいかな。
 Scalaは関数型でオブジェクト指向あって、Javaをベースにしてるっぽいのは知ってる。HaskelとかF#の勉強が活きるかもしれない。
 Sparkはビッグデータの処理ですよね??
 Databricksって知識0です。でも知識0のものを知識20ぐらいまでに上げるのって割と簡単で、その過程が気持ちいいのでむしろ嬉しい。
 「どのプログラミング言語を勉強すべきですか?」って質問がよくあるけど答えはだいたい「勉強すべきプログラミング言語」なんだよね。ちまたに「年収が高いプログラミング言語!」とか記事あるけど、あんなの雇用枠を考慮してないからなんの意味もないと思う。そんなんでいったらサッカー選手やプロ野球選手が一番の職業じゃん(数百、数千とかの雇用枠しかないけど)
 ただ、未経験者やこれから学んでいこうとしている人にとっては投資だから慎重になるのは理解できる。学生として何を学かって質問の場合は個人的には「C言語」かな。やっぱコンピュータのハードウェアが垣間見える方が基礎力が付くと思う。やっぱり人生で一度はNULLポインターでデータ書き込みに行ったり、すでにリリースしてヒープ領域に書き込みに行って怒られるとかいう経験はあってもいいと思うw。
 子供が学ぶ場合だとブロックプログラミングでもいいし、JavaScriptPythonだろね。ロジックを体験できる方が大切だと思う。
 自分も、知らないプログラミング言語がいっぱいあるけど、キャリアを積んで思うことは、どの言語をマスターするかって割と結果的には適当だったと思う。学校の授業が「それ」だった、とか最初に勤めた会社で「それ」使った、とかそういう成り行き要素で決定される面が大きいと思う。だからあんまりこだわらなくて「やりたいことをやる」という姿勢でいいと思う。
 あとは、プログラミング言語そのものの好き嫌い。フレーバーの好みというか、スタイルというか。やっぱりかっちりした性格の人には型付けが強い言語が向いてるだろうし、言語はいいけどそのバックにある会社が嫌い(例:C#Microsoft!)とかならそれ避ければいいし。