0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

個人開発で新しいバックエンド向け言語「Nagi」を作っています

0
Posted at

こんにちは、PythonHaruです。

最近、個人で「Nagi」という新しいプログラミング言語を開発しています。バックエンド向けの言語で、まだ試作段階ですが、実際に動くプログラムを作れるところまで来たので、一度紹介させてください。

Nagiとは

Nagiは、バックエンド開発での利用を想定したプログラミング言語です。コンパイラとランタイムはRustで実装しています。

目指しているのは、Pythonのような読みやすさと、バックエンドに求められる実行性能・並列処理を両立することです。ただ、これはあくまで開発目標で、現時点で両立できているとは言えません。

現在のNagiでは、例えば次のようなコードを書けます。

def integer_sum(values: view[i64]) -> i64:
    total = 0
    for value in values:
        total += value
    return total

整数の配列を受け取り、各要素を合計して返す関数です。

Pythonに近い構文ですが、引数や戻り値には型を明示しています。

なお、現在は試作段階のため、構文や仕様は今後変更する可能性があります。

現在の開発状況

現在は試作段階ですが、構想だけの言語ではなく、すでに実行可能なプログラムを生成できます。動作を確認できているのは次の2点です。

  • ネイティブ実行
  • HTTPサーバーの動作

image.png

Nagiで作成したWindows向けのサンプルプログラム「nagi-tasks.exe」をGitHub Releasesで公開しました。

Nagiで生成したプログラムを実際に試していただけます。

サンプルプログラムをダウンロード(GitHub Releases)

ソースコードとサンプルの公開について

Nagiのコンパイラとランタイムのソースコードは、現時点では非公開です。

一方、Nagiで作成したサンプルプログラムはGitHub Releasesで公開しています。興味のある方は、ぜひ試してみてください。

また、配布ファイルについてはVirusTotalの解析結果も公開しています。

VirusTotalの解析結果

協力してくれる方を探しています

今後も開発を続けていきますが、技術的な意見交換をしたり、協力してくれたりする方を探しています。

言語開発やバックエンド、Rustなどに興味がある方で、少しでも気になった方は、気軽に声をかけてもらえるとうれしいです。

連絡はX(旧Twitter)でお待ちしています。Nagiについては、こちらの投稿でも触れています。

今後の進捗も、Xで「PythonHaru」として発信していく予定です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?