かやのみ日記帳

日々感じたことをつれづれと書いています。

今プログラミング言語を学ぶなら

お題「今からプログラミング言語を学習するなら何を学ぶ?」

 

正直、きのこたけのこ戦争のような話題だと思う。
好きなエディタはなんですかぐらいヤバいかもしれない。
IT企業でこの話題を出したら各エンジニアがあーだーこーだ騒ぎ出すだろう。
勝手に語りだす人もいるはずだ。(自分も語りたいからブログを書くわけだが)

 

自分はGolangが好きだけれど、初心者におすすめか?と言われるとうーんと思う。
いろいろ便利な関数がないし、案外古い記事も多く玄人向けな気もする。
すごいところはいっぱいある。アップデートもいい。

けど界隈のすごい人達がわいわいやってるのが見えるだけであんまり初心者が触っているイメージがない(偏見かも)

 

質実剛健ではあるが、そっけない。
きっちり仕事をこなしてくれて、軽く動作するが味気ないといえば味気ないような。

公式が初心者向けみたいに紹介していたような気もするが、最初に触るにはさすがに…という気もする。
いいキーボードは?と聞かれて無刻印の英字キーボードをオススメするようなものではなかろうか。いや、いいと思うけど厳しくないですか?冷静に見ると…みたいな。

 

初めに学ぶならRubyPythonだと思う。初心者向け記事もいっぱいあるし、学習本も豊富でまさしくな言語だ。便利な関数とライブラリに恵まれていて、日常生活でも面白いことがいっぱいできる。

どちらともコーディングルール的に厳しいような気もするが、慣れれば問題ない。
最初だけだ。昨今のIDEは賢いし、いい感じに整えてくれるだろう。
たいていのことを手軽に、そこそこの速さでこなしてくれるいいやつだと思う。
決して速いとは言えないけれど、初心者の頃は性能なんてどうでもいいので問題ない。

 

面白みのない回答ではあるのだけれど。

 

自分に対してまったく知識のない頃にプログラミング学べというなら…
やはりCだろうか。というか自分がそうだったのだが。
Javaやら便利な言語はもちろんあったけれど、自分は頑なにCを学んだ。

さすがに今どきじゃなさすぎるし、古典すぎる。
古典すぎるのだが…RubyPythonがあまりにも便利すぎて、他の言語じゃそんなことできないよ??というものがありすぎる。ゆとりになりすぎてしまう。

 

言語を学ぶのも大事ではあるのだが、基礎としてはアルゴリズムとか制御だとか…なんだろう。あまり言語仕様に振り回されず、愚直に書くのがいいのではないかと思う。

なにより曖昧なことがあまり好きじゃなくて、薄い仕様のものが好きだったのでCを学んだのは個人的な趣味趣向として良かったのだと思う。

 

うーん。記憶補正だろうか。今ならGolangでもいいかもしれない…が、ほっといても自分はCを学びだす気もする。原点にあたりたいというか…初心者だからこそ、初期の学習期間だからこそやりたいとか言い出すかもしれない。

 

なおマシン語とかアセンブラは除外する。一応学んだけど…やるならゲームでもいいと思う。面白いゲームとしてTIS-100とかSHENZHEN I/O とかがあるので。

 

まあ言語はなんでも正直よくて、もう少しシェルスクリプトへの苦手意識を下げるとかSQLきっちりやるとか、正規表現マスターになっておくとかのほうがそこそこ便利な気もする。

現代のエンジニアはやることが多くて大変だ。
セキュリティとかパフォーマンスチューニング、CI/CD、Dockerやらk8sAWS, GCP... 
プログラミングはそのうちの些細な一つではあるので、あんまりこだわらず手広くうすーく学んでおくことが大事だと思う。

 

 

大事なのはプログラミングではなく、目的を達成することだ。
プログラミングをやりたいじゃなくて、Webサービスを作るとか。
(もっといえばビジネス的に利益が得られるサービスを作ることだが)

 

自分がなにをやりたいのか、なにを学びたいのか。
はっきりさせないと流されるように忙しいところで、大変なことばっかりやらさせることになりかねない。

まあ自分も学生時代はなんとなくパソコン好きだなープログラミング好きだなーでのほほんと生きてきてしまったのだが。

今は仕事をしているうちに勝手に「これ好きだなーやりたいなー」と思ったことをやってたら目をつけられ、「いいぞもっとやれ」という感じで仕事を回されているのでそこそこいい感じだ。

 

ただただプログラミングを学ぶだけじゃなくて、なにが好きか、なにを積極的に学んでどんな仕事に携わりたいかを考えておくといいと思う。
なにせ学ぶことが尋常じゃなく多いので…