API言語バインディング
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/12/03 19:55 UTC 版)
「FastCGI」の記事における「API言語バインディング」の解説
FastCGI は、ネットワークソケットをサポートする任意の言語で実装できる。「FastCGI はプロトコルであり、実装ではない」ため、1つの言語に強く拘束されていない。アプリケーションプログラミングインターフェイス(API)は、次のものに対して存在する: Ada Delphi, Lazarus, Free Pascal C言語、C++ Chicken (Scheme) Common Lisp D言語 Eiffel Erlang GnuCOBOL Go Guile Scheme Haskell HP BASIC for OpenVMS(英語版) Java Lua node.js OCaml Perl PHP(php-fpm経由、HipHop for PHP(英語版)) Python Ruby Rust SmartEiffel(英語版) Smalltalk: FasTalk およびDolphin Smalltalk(英語版) Tcl WebDNA(英語版) Vala(C言語バインディング) Xojo(以前はRealbasic, REAL Studio) Ruby on Rails, Catalyst, Django, Kepler(英語版)、Plack(英語版)等の最近のフレームワークでは、組み込みインタープリタ(mod_ruby(英語版), mod_perl(英語版), mod_python, mod_lua(英語版)等)、またはFastCGI を使用できる。 FastCGI が適用できない言語の一つはシェルスクリプトである。一部のシェルの実装では POSIX では規定されてない拡張機能として最低限のネットワークソケットをサポートしてはいるが、言語上の制限が大きく実装が困難なため API 言語バインディングが存在しない。また FastCGI は新しいプロセスを作成しないことで要求毎のオーバーヘッドを回避するのが目的であるが、シェルスクリプトでは多数の外部コマンドを呼び出すことで処理を行うプロセスを多数作成するプログラミングスタイルとなるため、たとえ FastCGI が使えたとしても要求毎のプロセス生成をたかだか 1 つ減らせる程度となり FastCGI のオーバーヘッドの回避の効果は限りなくゼロに近い。
※この「API言語バインディング」の解説は、「FastCGI」の解説の一部です。
「API言語バインディング」を含む「FastCGI」の記事については、「FastCGI」の概要を参照ください。
- API言語バインディングのページへのリンク