特定のプログラミング言語を肯定/否定すること

今までは顧客ファーストで技術を選定する現場にいたので、それは勝手に決まっているものだった。それが、今はそうやって言語を含む技術選定に対する感情的なやりとりを見かけることが多くなって、どう言うことなんだろうって気になった。

冷静に自分の選定基準を振り返ってみると、自分が知っているか、やりたいことに対するライブラリが充実しているか、それくらいの基準しかなかったので。

なので、とりあえず色々情報を集めてみる。今回はgolangについて。

golangが批判されている

とりあえず今自分が使ってて、確かに、と思う批判がフレームワークが少なくて、言語仕様がpoorなのでコード量が増えるとかってもの。
これだけ聞くと、個人的には余計なものは何も持たない自分とちょっと合う感じがするのだが。

golangはモダンな機能が何もない。パターンマッチングはないし、ボローイングもない、純粋関数型プログラミングはないし、不変変数もない。オプショナル型もなければ、例外もない。クラスもなければジェネリクスもない。

俺のプログラミングレベルからもしても、例外さえないのは違和感を持つ。けど、これだけシンプルなのはわかりやすくて、個人的には好きだ。俺があまり上記の機能の恩恵を受けることなく来たからかもしれない。

と、、すると、もしかして、上記を知り尽くしている人からすれば、苛立つのも当然かもしれない。「こんなことも知らないの?」っていう人に負ける屈辱感はひどいから。自分の高度な技術を否定されたような気持ちになってしまうのかもしれない。