OS Developer IDE を造ろうとして失敗した。

こんにちは、Takymです。
この記事は自作OS Advent Calendar 2019の24日目の記事です。
今回は前に作ろうとして途中まで頑張っていて失敗し開発停止中のソフトウェアを紹介しようと思います。
OS開発用の統合開発環境で名前はOS Developer IDEでした。
この記事はほぼ反省文みたいな物です。

どんなソフトウェアにしようとしていたのか

OSの開発を簡単に行えて拡張が簡単なIDEを作ろうと構想していました。
OSの開発なので、どの様な言語、コンパイラ、リンカを対応させる様な仕組みを開発しようと思っていました。
例えば、GCCのみの対応だとCLANGを既に使っている人には移行の妨げになるので、
両対応する為にどのコンパイラも拡張機能を作れば容易に対応できる様にしたかったんです。
プロジェクト構造も柔軟性を持つ物にしようと考えていました。
しかし、そんな抽象化され過ぎたソフトウェアを作るのは困難だったんです。
少なくとも僕の技術力では失敗に終わりました。
まずは具体的な環境を考えて作るべきでした。
そこから少しずつ抽象化、一般化していき拡張しやすい様にしていくべきでした。
抽象的な機能は直ぐに実行して確認できないのでモチベーションを保ったままの作業ができませんでした。

2回くらい作り直した

2回作り直したのでつまり合計で3回の失敗作が作られたという事です。

一回目の失敗

まず始めは Microsoft Visual Studio Code や Microsoft Visual Studio Community 2017 の拡張機能として、
IDEを開発しようと考えました。
しかし、それでは IDE ではなくただの拡張機能です。
開発を始める前に完全自作にしたいと思ってしまいました。
これが失敗でした。ここで大人しく既存のIDEの拡張機能にしていれば、完成出来ていた気もします。

二回目の失敗

まずは大まかな設計書を作りました。
その設計書は大まかな構造しか書いていなかったので、開発中に設計しなければいけませんでした。
開発中に設計しなければいけないので、構造がどんどん複雑で分かり難くなってしまいました。
設計書の構造自体もおかしい物でした。どんな設計かと言うと、コンポーネントごとにプロジェクトが分割されていました。
一つのプロジェクトではなく複数のプロジェクトを作成していたんです。
この分割の仕方だけが、最初の設計書に書かれていました。
そのため、開発中にどう分割されているのか考えないといけませんでした。
そして一応、テキストエディタを作りましたが、機能が不完全な物になってしまいました。
その頃は、もう一度リセットして最初から作れば上手くいけると思ってしまいました。

三回目の失敗

今度は設計書を書かずに、また、プロジェクトの数は少なくしてIDEを作り始めました。
設計書を書いて失敗したので、書かないで作れば成功するとかいうおバカな考えです。
開発は途中まで順調に行きましたが、途中で自分が何を書いているのかよく分からないコードになりました。
よく分からないコードを書きながらも、どんどん開発を続けました。
途中でやはり設計書が必要だと気付き書き始めました。
しかし書いている途中でモチベーションがどんどん下がって行きました。
今作っている物の構造がおかし過ぎる事に気付き、
また作り直すのが面倒だと感じてしまったんです。

何が失敗だったか、そして、今後はどうするか

やっぱり設計書が雑だった事だと思います。
大まかに書いて残りは開発中に考えるというやり方の所為で失敗したんだと思います。
今度からしっかり設計図を描く事にします。
OS Developer IDE の開発ですが、今は再開する予定はありません。
何時か自分のOSが出来てからそのOS上で動く様にしようとか考えています。

最後に

こんな反省文みたいな自作OSとは関係ない記事を書いてすみません。
明日の記事は自作OSで使う予定の自作ファイルシステムについて書こうと思います。

後書き

感想・意見・質問・誤字・脱字等はこの記事のコメント欄にお願いします。 最後まで読んでくださってありがとうございました。

コメントを残す

WordPress.com で次のようなサイトをデザイン
始めてみよう