萌えハッカーニュースリーダー

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

出典: https://marcelofern.com/posts/c/why-is-this-site-built-with-c/index.html
hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

…博士、それはウェブサイトではなく、ただの落書きですね。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search