0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

comelang version 30.0.0

Posted at

ちょっと実装に無理があったexceptionを削除しました。
実装を安全側に変更しました。
あまり実装している機能にバグがないと思います。
後はリストの[]による範囲外アクセスなどはRubyやPHPのようにzero clearされた値を返します。
まあ、普通に範囲外アクセスはその前にチェックしてください。
itemによるアクセスは範囲外アクセスの時に返す値を指定できるためint型の範囲外アクセスの場合は-1などを指定すれば、範囲外のアクセスもチェックできます。

概ね整いました。あとはちょっとリファクタリングやtuple2を返す関数やメソッドの第二要素をチェックしてrescueできるパターンマッチングを入れたいと思います。概ね例外のようなことができるはずです。まあ、このプロジェクトに悔いはありません。
大きな仕事でしたが、やり遂げたと思います。自己満足だとは認めます。しかし、結果C言語の仕様を把握できましたし、エディッターやインタプリタ、シェル、webサーバー、データベースサーバー、マイコンの簡単なOSなどを実装することができ、それらのシステムが把握できてよかったです。
この世の中の生きるモチベーションには競争に勝つことと知的好奇心を満たすことの二つがあると思いますが、僕はこのプロジェクトによって知的好奇心が満たせたと思います。このプロジェクトの意味としてはそれかもしれません。所詮その程度のことなので、フリーソフトのプログラミングのために何かを犠牲にすることはやめておいた方が無難です。お金をもらって仕事でやるとすればやり遂げる必要があるため、仕事の時間内は精一杯やる必要があるとは思います。ただ、フリーソフトウェアを作る意味はその程度なので、知的好奇心からTVを見て夜更かしするようなものです。
僕は馬鹿なので、この馬鹿げたソフトウェアのために色々なものを犠牲にしました。
迷惑をかけた方々大変申し訳ありません。後悔としてはそれかもしれません。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?