昨夜、F#と関数型プログラミングについて友人と話し合っていたところ、彼から興味深い質問が寄せられました。組み込みソフトウェアをどのように機能させますか?つまり、これはステートレスコードの点ではかなり自然に似ているように見えますが、埋め込みにはメモリが非常に不足していることも伴うため、その点で機能的なストーリーはわかりません。
組み込み機能付きの言語またはパッケージに関する提案はありますか?
昨夜、F#と関数型プログラミングについて友人と話し合っていたところ、彼から興味深い質問が寄せられました。組み込みソフトウェアをどのように機能させますか?つまり、これはステートレスコードの点ではかなり自然に似ているように見えますが、埋め込みにはメモリが非常に不足していることも伴うため、その点で機能的なストーリーはわかりません。
組み込み機能付きの言語またはパッケージに関する提案はありますか?
回答:
1つのオプションはErlangです。ウィキペディアのページから:
Erlangは、汎用のコンカレントガベージコレクションプログラミング言語およびランタイムシステムです。Erlangのシーケンシャルサブセットは、厳密な評価、単一の割り当て、および動的型付けを備えた関数型言語です。並行性については、アクターモデルに従います。分散型のフォールトトレラントなソフトリアルタイムのノンストップアプリケーションをサポートするために、エリクソンによって設計されました。ホットスワップをサポートしているため、システムを停止せずにコードを変更できます。
スレッドはほとんどの言語で複雑でエラーが発生しやすいトピックと見なされていますが、Erlangは並行プログラミングを簡素化する目的でプロセスを作成および管理するための言語レベルの機能を提供します。Erlangではすべての並行性が明示的ですが、プロセスは共有変数の代わりにメッセージパッシングを使用して通信するため、ロックの必要性がなくなります。
最初のバージョンは、1986年にJoe Armstrongによって開発されました。2元々はEricsson内の独自言語でしたが、1998年にオープンソースとしてリリースされました。