Goへの10年間の不満:なぜこのプログラマーはまだGoを嫌っているのか

2025-08-22

プログラマーによるGo言語への10年間の批判が、いくつかのイライラする欠点を浮き彫りにしています。問題には、可読性とバグの問題につながる非論理的なエラー変数のスコープ、複雑さを増す2種類のnil、ぎこちない条件付きコンパイルによる移植性の悪さ、予測不可能なappend関数の動作、リソース管理のための柔軟性に欠けるdefer文、例外を飲み込む標準ライブラリ、UTF-8以外のエンコーディングの不十分なサポート、非効率的なメモリ管理などがあります。著者は、これらが技術的な課題ではなく、根本的な設計上の欠陥であると主張し、Goははるかに優れている可能性があったと述べています。

続きを読む
開発

システムコールゼロ:io_uringを使った高性能Webサーバーの構築

2025-08-22

この記事では、高性能Webサーバー構築の進化について説明します。初期のpre-forkingからselect/poll、epollを経て、最終的にio_uringを用いてシステムコールゼロを実現しました。著者は、io_uringを使ってすべての操作を非同期的にカーネルキューに追加することで、頻繁なシステムコールのオーバーヘッドを回避するtarwebという実験的なWebサーバーを開発しました。kTLSとディスクリプタレスファイルと組み合わせることで、パフォーマンスがさらに向上します。メモリ管理やio_uringの安全性といった課題は残りますが、このプロジェクトは、高並行処理環境におけるWebサーバーのパフォーマンスの大幅な向上を示唆しています。

続きを読む