私のプログラミング言語遍歴
おおまかにいうと、
- SIer時代がJava
- ゲームエンジニア時代がC#
- 個人開発がPHP
言語自体が好きで使い始めたのは、JavaとRuby。Javaは2000年頃は先端でかっこいい言語だった。RubyもRailsのころは先端でかっこよかった。
どちらもシンタックスが好きだった。
Javaは今となっては冗長に感じるけど、当時はC++に比べてずっとわかりやすくて好きだった。Rubyのシンタックスは本当に無駄がなくて素晴らしいと思う。タイプヒンティングがいくら流行っていても型情報を頑なに追加しないMatzの姿勢は正しいと思う。
PHPはちょっとしたWebサービスを作るのに手軽で便利だった。PHPで個人開発してる人のブログを見て個人開発を始めた(2011年)。ずっと静的型言語であるJavaを使ってきた自分としては動的言語の手軽さや便利さに驚いた。
選び方の変遷
段々と技術的なかっこよさよりも、手段として優れているかどうか(早く作れるか)を重視するようになった。
かっこよさであれば、今はTypeScriptやRustをやっているんだろうなと思う。
動的型言語のほうが、目の前の開発を完了させるのは早いが、そうやって積み重ねていったコード量が増えていくと静的型言語のほうがよくなっていくのかもしれない。だが、今の気分だとできるだけ動的型言語を使いたいと感じている。
だから、性能が必要なところだけGoを部分的に使うことはあるが基本は動的型言語を使っている。
年齢もあるのだと思う。
若い頃は新しいプログラミング言語を学ぶ事自体に価値を感じていた。この言語を使えるようになりたい→なれた→やったー!
今は目的を達成するためにその言語を使う必要があるなら使うといったスタンスになっている。GoogleのAPIを呼び出すサンプルコードがPythonしかないからPython使うかぁみたいな。Pythonは好きだけど、必要がなければ使っていない。PHPでも同じことが出来るならPHPで書いている。
良いことなのか悪いことなのかでいうと、良いことなのだと思う。新しい言語を学ぶことが必ずしも良いことではない。同じことを既に知っている言語で実現できるのであればそれを使うのも一つの選択。時期によってスタンスが変わっていいし、今の自分に適したやり方というものがあるのだと思う。
以下、時系列で私のプログラミング言語遍歴を記す。
専門学校
C/C++, VB, JavaScript, HTML, CSS
中小SIer
PL/SQL, COBOL, C, Java, JavaScript, HTML, CSS
東証一部上場SIer
Java, JavaScript, HTML, CSS
流通業IT子会社
Java, Perl, C
家電EC
Java, JavaScript, HTML, CSS, Perl
スマホゲーム
C#
クラウドソーシング
PHP, JavaScript, HTML, CSS
個人開発
PHP, JavaScript, HTML, CSS, node.js, Ruby, C#, Python, Go