HN 日本語サマリー

← 一覧へ戻る
プログラミング

Cyberscript

Cyberscript (cyberscript.dev)

46 pointsby dtj112345 コメント

要約

Cyberscriptは、学習しやすく、動的型付けと静的型付けを併せ持ち、ファイバーによる並行処理、メモリ安全性、FFI、埋め込み性、高速なVMとJIT、クロスプラットフォーム対応を特徴とする新しいプログラミング言語です。パフォーマンスに重点を置いて設計されており、様々なベンチマークで高い性能を示しています。アプリケーションやゲームへの埋め込み、サーバーサイドでのスクリプト実行など、幅広い用途が想定されています。

全文翻訳

一目でわかる。学習しやすい。動的型付けと静的型付け。ファイバーによる並行処理。メモリ安全。FFIと埋め込み可能。高速なVMとJIT。クロスプラットフォーム。 math var worlds = ['World', '世界', 'दुनिया'] worlds.append(math.random()) for worlds -> w: print "Hello, $(w)!" -- オプションの静的型付け。 func fib(n int) int: coyield if n < 2: return n return fib(n - 1) + fib(n - 2) -- フィボナッチ数の計算回数をカウント。 var count = 0 var fiber = coinit(fib, 30) var res any = 0 while fiber.status() != .done: res = coresume fiber count += 1 print "$(res) $(count)" ユースケース。 Cyberは、高速で楽しいスクリプティングを提供することを目指しています。コンパイラとVMはアプリケーション、ゲーム、エンジンに組み込むことができます。CLIアプリはデスクトップやサーバーでスクリプトを実行できます。 パフォーマンス。 Cyberは様々なベンチマークで高速です。この言語は最初からパフォーマンスを考慮して設計されました。ベンチマークの詳細やパフォーマンスに関する詳細を読むことができます。 再帰的フィボナッチ数(VM)ソース これは、呼び出しスタックが増加するにつれて関数呼び出しがどれだけ速いかをテストします。 cyber 19ms 2.9 MB luajit 21ms 1.4 MB wasm3 31ms 1.4 MB luau 34ms 2.1 MB lua 39ms 1.3 MB quickjs 57ms 1.9 MB wren 71ms 1.5 MB java 44ms 31ms 35.2 MB python3 70ms 15ms 10.2 MB ruby 54ms 31ms 29.6 MB node 56ms 39ms 31.9 MB 再帰的フィボナッチ数(JIT)ソース cyber 5ms 2.9 MB luajit 5ms 1.6 MB luau 20ms 2.3 MB java 3ms 31ms 38.3 MB node 6ms 35ms 34.0 MB ruby-yjit 13ms 30ms 30.1 MB スクリプト実行時間(オレンジ)、ロード時間(グレー)、ピークメモリ使用量を示しています。 機能。 言語とその機能の包括的な概要については、ドキュメントを参照してください。 相互運用性。 libcyberにより、Cyberをアプリケーションに組み込むことができます。CyberのCLIとコアライブラリはlibcyberを使用して構築されています。FFI APIを使用すると、スクリプトはC-ABI互換のライブラリをすべて使用できます。cbindgen.cyは、Cヘッダーファイルから完全なバインディングを自動生成するツールとしても作成されました。例としてRaylibやLLVMのバインディングがあります。 サポートをお願いします。 Cyberはまだ進化中ですので、アイデアはいつでも歓迎です!GitHubで問題を報告したり、Discordに参加したりしてください。もし寛大であれば、GitHub SponsorsやPatreonでのプロジェクトへの支援を検討してください!