開発でマイナー言語を採用する時に考えることって何だろ
ちょっとマイナーな言語を採用する時、どんな情報を収集して、何を検討し、どうやって判断するのか? ということを、帰り道につらつら考えていたので、とりとめもなくメモ。
それも、言語仕様の詳細や内部機構は知らず(デコンパイルしたこともなく)、好奇心から少し触ったことがある程度・・・なーんて場合。世間のマネージャやアーキテクトと呼ばれる人たちは、一体何を考えて採用を決めているんだろう。自分には、まだよくわかりません。
- システムのこと
- システムの種類
- 作りたいものの機能概要
- パフォーマンスやセキュリティの要件
- 特殊な条件や制約があるか
- システム開発のこと
- 社内用か、外販用か
- 何年程度使うつもりか(見込みの保守期間)
- 将来の更新計画はあるか
- 1人で作るのか、チームで作るのか
- チームなら、経験者がいるかどうか
- 言語仕様
- 開発開始からどれくらい経過しているか
- 最近バージョンアップが行われているか
- リリース頻度はどれくらいか
- バージョンアップによって開発者にどのような手間が発生しうるか
- 公式のドキュメントは充実しているか
- 言語自体の技術的な課題はあるか、あるとすれば何か
その他として、マイナー言語を扱う組織的リスク(開発・保守する人はいるのか、教育コストを払って育てるのか、新たに雇うのか)も、当然ながら考える必要がある。
また、開発にあたって有償ツールが必要な場合、価格とライセンス体系はどうなっているかも気になるに違いない。
情報収集にあたっては、サイトや書籍、ユーザコミュニティの有無、充実具合などが知りたいトコロ。他社事例なんかも、できれば欲しいかも?
・・・色々あるなぁ。もっとあるんだろうなぁ。