Open4
自分用爆速開発ワークセットを考える
ツールセットじゃないのは、言語やフレームワーク等だけではなく、設計や意思決定も含めていきたいので。
観点をまとめていく。書いてて知識足りないな、と思ったり。
爆速開発するには何が必要か。
プログラム
- 手軽に手に入る GUI
- 高機能な組み込み関数・ライブラリによるコード記述量の削減
- フォーマッタ・リンターによるコード整形
- エディタサポートが有るとより良い
- 型推論
- 静的型付けの方がコンパイル時に問題を発見できる
- ホットリロード
- 直した結果をすぐに見れると速い
理由?
- GUI 用意するのは結構しんどい(慣れてないのもあると思う)
- バグフィックスで原因が見つからずハマるのも良くない
- いろんな言語を試す口実でもよい
ドキュメンテーション
- コードと DB 定義の連携
- ドキュメンテーションの作業工数削減
- テーブル定義の自動生成
- ドキュメンテーションコメントからのファイル生成
プログラム言語候補
- Rust(現行最推し)
- 型推論やエディタサポートで結構楽して書けたので候補
- コンパイラが丁寧で厳しいのでちゃんと動くプログラムが最初に出来上がる
- テストコードもサポートされているので単体試験は自動化できる
- Python
- コマンドラインツール作ってて早く作れたので候補
- ライブラリは強力でかなり助けられた
- 動的型付けで想定してない型と判断されるのが怖く、そうなっているかどうか見つけるのも面倒
- テストコードは使ったことないが有るので単体試験は自動化できると思う
- Elixir
- 使ってみないとわからん
- フォールトトレランスの仕組みを持つ、プロセス単位の管理だったかな
- 事前情報でサービスシステムの開発で上記とか並列処理が想定されているので優位になるんじゃなかろうか
ローコード・ノーコードツールの採用もありだし、FireBass とかの BaaS を利用してもいいでしょう。
認証基盤の OSS って Keycloak だっけ?オリジナリティが欲しいところといらないところは分けていいね。