✒️
C言語1000行でテキストエディタを作るチュートリアルをやった
結果的に1200行を越えましたが。
kilo
成果物はこれ↓
参考サイトはこれです↓
インスパイア元↓
感想
- C言語は10年ぶりくらいに書いた
- 進めていくうちになんとなく思い出すことができた
- 最初にちゃんと授業で学んだ言語なので懐かしく思った
- Cに出会っていなければプログラミングしてなかったかもしれないので感慨深い
- しかしこのレベルのメモリ管理は正直たいへん
- 「この関数で確保したメモリはこっちの関数で開放されるので問題ありません」みたいな
- この調子でやっていったらバグる未来しか見えない
- 1000行・1ファイルというコンセプトは良いのだがファイル分けて管理したいナ〜〜と思った
- 配列や文字列の操作、メモリ管理がやりやすい別の言語で書き直したい
- Cを書くの大変だな…という感想を持った
- 速さはともかく他の言語で書きたい もっとimmutableに…
- お手本よりも行数が増えた
- 1行のif文などでもブロックを省略せず書いてるため
- 検索はできるが選択もコピペもできないので実用レベルとはいえない
- ASCII範囲しか考慮していないので日本語を扱えない
- undo/redoができないのもきつい
- あとは複数ファイルにも対応させたい
- hex numberのハイライトは自前で追加した
- 一つだけでも自作ポイントを入れられると楽しい
- とはいえメモリ開放がちゃんとできているか不安である
- これを追加したのも合計行数が増えた要因
- scientificaは魅せfontなので開発作業には向かない
- 冒頭のGIFで使っているフォント
- かわいいので成果物を見せるときには映えると思う
- https://github.com/oppiliappan/scientifica
次はRust版をやるつもりです。
追記:やりました。
Discussion