関数型プログラミングの学習日記この広告は、90日以上更新していないブログに表示しています。本OracleがJavaのサポートを有償化しました。VM上で動く言語を使わないで、大規模なWebサービスのバックエンドを開発するには、どんなプログラミング言語やツールを使えば良いか?を考えてみました。コンパイルして、バイナリ―で高速に動作する。簡単にスケールできる。WikipediaErlang(アーラン)は、コンピュータにおいて汎用的な用途に使うことができる並行処理指向のプログラミング言語および実行環境。見るErlang(1983年~)なら、Java(1995年~)よりも高負荷に耐える強固なシステムを作れるでしょう。(左:Oracle、右:Erlangのイメージでw)Erlangが使える人は、Javaの代わりにErlangを使えば良いと思いました。「でも、Erlang(元はProlog)は癖があって、ちょっとキツい><」という場合もあるでしょう。VM上で動く言語を調べてみました。件)→いろいろヒットします。上で動く言語の紹介Ruby風のElixirエリクサーは、Ruby風の文法でかける言語です。上で動作するコンピュータプログラミング言語である。単行本(ソフトカバー)この商品を含むブログを見るElixir関係は、日本語の資料も充実しているので、調査/試行の手間が省けますね。Elixirが登場する前には、「Reia」という言語もありました。2、ManjuPython風の言語を開発している方もいるようです。2は既に公開しているManjuとは異なる方法でクラスとインスタンスを実現しており、別リポジトリとして公開予定です。(BEAM).PythonユーザーがErlangを学ぶための豆知識も紹介されていました。http://openbookproject.net//py4fun/erlang/erlang.htmlLuaライブラリーのluerlLua(ルア)は、Nginxの拡張モジュールとかで使われている軽量なスクリプト言語です。→C/C++を補完するツールですね。VM上で動くLuaのライブラリー「luerl」が紹介されてました。VM上で動くプログラムを書けるんですね!JavaScript風のEfeneJavaScriptは関数型でも書けるから、Efeneの文法も慣れやすそう。UX.Efeneの公式サイトは、ドキュメントも整備されてました。Erlang(LFE)がバージョン1.0の安定版に到達した。Virding氏は,Erlangの初期開発者のひとりでもある。Lispタイプの,Erlangコンパイラのフロントエンドだ。マクロベースのメタプログラミングを可能にし,再帰と高階関数の利用をサポートする。Erlangの哲学を継承することにより,メッセージパッシングアクタモデルを採用し,“シェア・ナッシング”パラダイムをプログラマに求めるとともに,完全なパターンマッチングも提供している。(OTP)を使用した標準的なErlangおよびアプリケーションとのシームレスな共存も可能である。OTPは,高可用性,コンカレント,スケーラブルなアーキテクチャを備えた開発を可能にすることを目的に,Erlangで記述されたミドルウェアとライブラリのコレクションである。VMの機能は慣れてるLispで使いたい」という強い要望と意思を持った人でないと使っていけないかな...と思いました。VM上で動くLFEでもOKでしょう。VM上で動く静的型システムを備えたOCaml風関数型言語の処理系があるらしいことを知った。アルパカ言語というらしい。これすごいんちゃうか。VM上で動くそうです。(MLFE).(参考)qiita.com仕組みとしてはalpaca-langというErlangVM上で動作するML風Erlangを参考にしました。Coq風なVerlangCoqは「定理証明支援システム」で、プログラムの動作を検証するためにも使える仕組みです。「OCamlが行けるなら、Coqも行けるのでは?」と思ったらありました。コードを別の言語に変換する機能があり、この機能によってコードを検証済みの部品として実際のプログラムに使えるようになっています。変換が可能になっています。ついて紹介したいと思います。github.com(参考)Coqとは?Coqの説明は難しいので、詳細は検索して下さい。WikipediaCoqは証明支援システムの一つ。Coqの核はプログラミング言語Gallinaを用いる。employment.en-japan.comqiita.comqiita.com定理証明支援とは数学の定理を自動で証明することではなく、ステップバイステップでコンピュータに命令を送り、数学の定理を証明するのを助けるシステムである。ocamlと同じopam証明支援には半自動と全自動があるみたいです。中でも最も成功している分野であり、コンピュータプログラムによって数学的定理に対する証明を発見すること。ベースとなる論理によって、定理の妥当性を決定する問題は簡単なものから不可能なものまで様々である。産業分野での応用例としては、LSIの設計とその検証が挙げられ、モデル的手法とともに使われている。以来、FPUの設計は極めて厳密に行われている。AMDやインテルはプロセッサの設計検証に自動定理証明を使っている。VM上で動くコードを書けます。VM上で動くプログラミング言語の調査結果でした。他にもあったら、是非教えて下さい。VMの代替を検討してみたいと思います。VM上で動く言語Tweet広告を非表示にする関連記事2019-10-10Haskellの代数的データ型Haskellの学習で直和型や直積型など、代数的データ型を理解すれ...2019-10-09Haskellを習得するための4つのポイントHaskellを習得するコツが提案されていました。関数型プログラミングの学習で、いろいろな本や教材に手を出し...2018-09-03WindowsにLispをインストールする方法OCamlの本を1冊読み終えました。今日も関数型プログラミングの学習です。»プロフィールid:hamamuratakuo関数型プログラミングを活用できるようになりたいです。Documentation参加グループHaskellLispカウンターはてなブログをはじめよう!hamamuratakuoさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。