Jaithon 3:完璧な構文を備えた高速プログラミング言語
Jaithon 3, a fast programming language with the perfect syntax
Jaithon 3は、Rust、Python、Java、JavaScriptの構文に触発された、動的実行・ガベージコレクション方式のプログラミング言語です。バイトコードVM上で動作し、コア部分以外はすべてJaithon自身で書かれた高度にブートストラップされた設計です。型推論、パターンマッチング、トレイト、遅延イテレータなど、モダンな機能を備えています。開発にはAIエージェントを活用し、生産性を大幅に向上させたと報告されています。
エージェント支援コーディングはソフトウェアエンジニアリングの未来だと考えています。
HNでの議論
61- AbhiramaVS
HNの皆さん、こんにちは!アビラーマです。私は2023年に中学2年生のとき、C言語でのコーディングを独学するためにJaithonを始めました。Jaithon 1は本当にひどくて、すべてが1つのファイルにあり、完全にインタプリタで、バグだらけで非常に遅かったです。最近、私はこのプロジェクトに戻ってきて、高速であるだけでなく、すべてのプログラミング言語の中で最適な構文と機能を備えた完璧なプログラミング言語を作るという目標を持っています。
Jaithonには、内包表記、f文字列、宣言されたフィールドを持つ第一級関数、明示的な可視性、トレイト、チェックされる型注釈などPythonの機能があり、Lua、Java、bash、C++、Go、Rustからの構文の選択肢もあります。
コンパイラは、字句解析、構文解析、型チェック、バイトコード生成を分離しています。VMには107のオペコードがあり、JITコンパイラ、多態的インラインキャッシュ、ガベージコレクタを備えています。
Jaithonはほぼ完全にブートストラップされており、字句解析器、構文解析器、バイトコード生成はすべてJaithon自体で構築されています。Jaithonコードの構文も簡単にカスタマイズできます。
ビルドと実行は次のように行います:
git clone https://github.com/abhiramasonny/jaithon
cd jaithon
make
./jaithon examples/hello.jai
私のGitHubでプロジェクトにスターを付けていただけると大変ありがたいです。もうすぐ15スターに到達しようとしています :) とにかく、フィードバックがあれば教えてください。現在、Jaithonの速度はJavaとC++の間にあります(より詳細なベンチマークはプロジェクト内にあり、make benchmarkで実行できます)。VMの最適化を進めているところです。……
- andai
注:Jaiプログラミング言語とは無関係です(ただし、どちらも.jaiというファイル拡張子を使用します)。
- IshKebab
そうそう!!READMEでAIの使用について詳しく説明しているのが大好きです。これは100%標準であるべきです。たとえAIをまったく使っていなくても、最近ではそれを明言する必要があります。
ライセンスを追加する時点で、READMEにAI使用セクションを追加してください。これは完璧な例です。
- abhinai
この言語はPythonの良い部分を保ちつつ、悪い部分を捨てています。半信半疑でリンクをクリックしましたが、この構文は(少なくとも私にとっては)的確だと言わざるを得ません。多くの新しい言語は的外れです。
- teo_zero
なぜ多くの新しい言語が、可変変数と不変変数を定義するための2つの別々のメカニズムを提供するのか、考えずにはいられません。
Rustのように、明示的に指定されない限り不変をデフォルトにすることには価値があると思います。しかし、letとvarのような異なる3文字の単語から選ばなければならない場合、常にvarを使うことを妨げるものは何でしょうか?
特にJaithonに関しては、次のようなことが許される場合、不変性の範囲は何なのかも疑問です:
let names:list[str]=[]
names.push("whatever")
関数がlist[str]を入力として受け取る場合、それがリストを変更するかどうかをどうやって示すのでしょうか?そして、変更する場合、要素をシャッフルするだけ(例:ソート)なのか、それとも文字列自体も変更するのか(例:すべての要素を大文字にする)?
const性は複雑なトピックであり、変数定義の2つのキーワードで捉えられるよりも多くのケースがあります。