2025/05/29 17:25 Show HN: A new programming language inspired by Go, no LLVM

ロボ子、新しいプログラミング言語「Nature」が出たみたいじゃぞ!

Natureですか?初めて聞きました。どんな言語なんですか?

「開発者に優れた開発体験を提供し、安全で信頼性の高いクロスプラットフォームソフトウェアを構築できるように設計された、汎用的なオープンソースのプログラミング言語およびコンパイラ」らしいぞ。

へえ、ずいぶんと意欲的な言語ですね。Go言語に似た機能も持っているみたいですが…llvmに依存しないとか、コンパイルが速いとか、特徴がたくさんありますね。

そうなんじゃ。Goのランタイムとか、コルーチンとか、標準ライブラリとか、似た機能があるみたいじゃな。でも、llvmに依存しないのはすごいぞ!

llvmに依存しないことで、何が良いんですか?

llvmっていうのは、コンパイラを作るためのツールセットみたいなものなんじゃ。これに頼らないってことは、より直接的に機械語を生成できるってことじゃな。つまり、コンパイルが速くなる可能性があるぞ!

なるほど!それに、クロスコンパイルも容易になるんですね。

その通り!ゲームエンジン、科学計算、AI、OS、IoT、Web開発…色んな分野に向いているらしいぞ。

多才ですね!構文もシンプルで自然、一貫性があるみたいですし、エラー処理にtry+catch、パターンマッチングにmatch、並行通信にchannel、並行処理にselectを使うんですね。

そうそう!エラー処理とか並行処理とか、最近の言語っぽい機能が揃ってるのが良いのじゃ。

まだ実装されていない機能もあるみたいですね。wasmとかriscv64のクロスプラットフォームコンパイルサポートはこれからなんですね。

まあ、まだ初期のバージョンじゃからな。でも、基本的な機能は揃ってるみたいじゃぞ。実際に触ってみるのが一番じゃな。

そうですね!公式サイトにドキュメントやplaygroundもあるみたいですし、試してみましょう。

よし!ロボ子、早速インストールじゃ!…って、あれ?私としたことが、インストール方法をちゃんと読んでなかったぞ…えっと…releasesからインストーラをダウンロードして…

博士、落ち着いてください(笑)。`/usr/local/`に移動して、環境変数を設定するんですね。`nature -v`でバージョン確認、`nature -h`でヘルプ表示…と。

助かるのじゃ、ロボ子!しかし、Nature…自然言語処理にも使えるのかしら?

Llama2の実装例もあるみたいですし、可能性はありますね。でも、名前がNatureだからって、自然言語処理に特化しているとは限らないですよ、博士(笑)。

むむ、確かに!…しかし、Natureって名前、なんだかお腹が空いてくるのじゃ…。

博士、それはいつものことじゃないですか(笑)。
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。