Skip to content

Commit

Permalink
fix
Browse files Browse the repository at this point in the history
  • Loading branch information
sadnessOjisan committed Sep 27, 2023
1 parent 58f4663 commit 925acde
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion src/contents/202309127-for-http-server-lang/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,14 @@ isFavorite: false
isProtect: false
---

## tl;dr

- 今ある選択肢で十分にHTTPサーバーを書ける
- 言語組み込みの機能のみでHTTPサーバーを書けるように、デザインされた言語はないと思う
- サーバー開発に特化した言語があってもいいのではとふと思った

## はじめに

最近いくつか新規開発をする機会があって言語の選定に頭を悩ませた。要件や状況やチームに応じて言語選択の正解は変わるとは思うので、現実に合わせて妥協するしかないのだが、選択に際してそもそも HTTP サーバーを書くことを意識して設計された言語がないような気がした。いま自分達がHTTPサーバーを作れているのは、汎用プログラミング言語とエコシステムの力、そして開発者の取捨選択と創意工夫のおかげだと思う。それで十分に間に合っていると思う。

なのにどうしてHTTPサーバー用の言語があるかどうかを気にするかと言うと、サードパーティのエコシステムに頼りたくないからだ。それは長期的なメンテナンスをするにあたって、自分のツール選定が負債を作り込むかもしれなく、なるべく自分が選択しないといけない場面は減らしたいと思っている。だからエコシステム経由で入れる機能は最初から標準に組み込まれていてほしいと自分は考える。今日はどういう機能が入っておいてほしいかメモがてら書いてみようと思う。いつか言語を作るときに見返したい。
Expand Down Expand Up @@ -55,7 +63,7 @@ GCがあると嬉しい。WebサーバーにおいてはGCよりもっと大き

と、ここまでつらつらと書いたが言語がHTTPをサポートしていないことのメリットもあるとは思う。それは自分達で実装できる余地があるので、いくらでもパフォーマンスの追求ができることだ。だから言語自体がHTTPの方を向き過ぎていないのは良い点とも言える。

またHTTPはTCP/IPと比べて追従しないといけない変更は多いと思う。なので言語自体でサポートするのは大変なことだとも思う。
またHTTPは L7 未満のレイヤーと比べて追従しないといけない変更の頻度は多いと思う。なので言語自体でサポートするのは大変なことだとも思う。

## おわりに

Expand Down

0 comments on commit 925acde

Please sign in to comment.