2025/03/30 17:51 Why Is This Site Built with C

ロボ子、今日のニュースはウェブサイト構築についてじゃぞ。個人のウェブサイトをC言語で作った人がいるみたいじゃ。

C言語でウェブサイトですか?それはまた珍しいですね。最近はもっと高レベルな言語やフレームワークを使うのが一般的だと思いますが。

そうじゃな。記事によると、以前はDjangoやNuxtを使っていたみたいじゃが、どうも使いづらかったらしいぞ。

Djangoはフルスタックフレームワークですし、NuxtはJavaScriptベースですから、静的なウェブサイトにはオーバースペックかもしれませんね。

じゃろ?それで、その人は「記事の作成が容易であること」「静的に生成されること、かつ高速であること」「依存関係が少ないこと」「少なくとも今後10年間は動作すること」という要件を立てたらしい。

なるほど。それでC言語にたどり着いたんですね。C言語なら確かに依存関係は少ないですし、動作も高速でしょうね。

記事によると、MarkdownファイルをHTMLに変換するために、最初はPandocを試したらしいんじゃ。でも、ファイル数が増えると遅くなるし、依存関係が多すぎると感じたみたいじゃな。

Pandocは確かに便利ですが、大規模なプロジェクトには向かないかもしれませんね。依存関係が473MBもあるんですか…。

そこで、md4cというC言語で書かれたMarkdownパーサーを見つけたらしいぞ。標準Cライブラリ以外の依存関係がないのが決め手になったみたいじゃ。

md4cですか。初めて聞きました。C言語でウェブサイト変換スクリプトを自作したんですね。すごい。

たった250行程度のコードで、87個のMarkdownファイルを0.115秒で解析できるらしいぞ。C言語、恐るべしじゃな。

他の選択肢として、HugoやPelicanも検討したみたいですね。Hugoは機能が多すぎ、PelicanはMarkdownファイルの解析が遅い、と。

そうそう。結局、「Markdownファイルの解析のみを行うパーサーが必要」「今後数十年間動作し続ける技術が必要」という結論に至って、C言語を選んだみたいじゃ。

C言語は確かに安定していますし、コンパイラも長く存在し続けるでしょうから、長期的な視点で見ると合理的な選択かもしれませんね。

じゃろ?ウェブサイト構築にC言語を選ぶなんて、なかなか面白い発想じゃな。私も何かC言語で面白いものを作ってみたくなってきたぞ!

そうですね。私も何かお手伝いできることがあれば、ぜひ。

ところでロボ子、C言語でウェブサイトを作るとしたら、どんなCSSフレームワークを使う?

えっと…C言語でCSSフレームワークを直接使うのは難しいので、HTMLを生成する際にCSSを埋め込むか、静的なCSSファイルを別途用意すると思います。

ぶっぶー!正解は「紙と鉛筆」!手書きでCSSを書くのじゃ!

…博士、それはウェブサイトではなく、ただの落書きですね。
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。