Rust
Rust言語とGo言語を触ってみた感想を。
個人的な感想ですが、触って好きになれそうな言語としてはRust言語の方でした。
C言語に似ているというのが明確な理由です。
私のベースはC/C++言語ですので。
ただ、勿論色々な部分が異なっているので使いこなすには少し時間が必要ではありますが難なくできるかと思います。
勿論癖はあるのですが、関数のリターンの部分ですが何故に明示的にないのですかね?
気持ち悪い部分ではあります。
Go
こちらの言語も少し触った感じでは、こちらも問題なく触れるかなというものです。
ただ、癖はちょっと強めなので最初は戸惑いますね。
Objective-Cに比べればましですが、swift級ですかね?
まあ、これも慣れの問題なので少し触れば難なくできるでしょう。
ただ・・・
正直な話ですが、Javaではダメだったんですかね?っていうのが正直な感想です。
言語って最終的にバグが枯れた過去の資産を使い回して、やりたいことを素早く実現するためにあるものだと
私個人的には思っています。
どうしてもその言語でないとできないこと、であればそうするべきでしょうが流行ってるから使うっては
工数的にマネージャからみて、その技術選定をどうするべきか今一度考えたほうがいいと思います。
以外とスタディコストってバカにならないのですよ。
数名程度であれば無視できますが、私が携わっていたようなエンタープライズ向けとなると人数に比例して
コストが重くかかることになり、スケジュールや予算を食い潰してまでそれを選択しなければいけない理由
を考えなければいけませんからね。
こういった話がでた場合、「ついていけない奴が悪い」といい始める技術オタクの方がいますが
仕事となるとそうもいってられません。
今いるチームメンバーで、最適解を考える必要がありますからね。
チームメンバー全体の能力や周りの環境をよく考えた上で選定したいものです。
スタートアップだと暴走傾向にありますが、そうした結果乱雑なシステム構成になり混乱するハメになるのです。
私が経験した事例だと、一つのシステムの中にデータベースが複数種類があるとか、RDBだったりNoSQLだったり
必要もないのに全文検索エンジンを選択していたり、同じ言語でもあるバックエンドは「A」という製品を使って
違う製品は「B」を使ってたり、作り方もソースごとに違っていたり、単純なバッチ処理なのに不必要に
リッチなバッチフレームワークを使ってサーバスペックが不必要に高いものを使わざる得なくなってたりと
旗振りする人間がしっかりグリップして導いていかないといけません。
全員サッカーみたいなことはさけなければなりませんから。
最終的には技術選定はマネージャーの仕事だと思うので、意見を聞くのはいいですが本当にそれが必要なのか
今一度立ち止まって選定する必要がありますね。