From 0b28e8b48acf243e3264ea3c26f21103962bfbe8 Mon Sep 17 00:00:00 2001 From: pianopia Date: Mon, 27 Jan 2020 18:07:18 +0900 Subject: [PATCH] add: Top-Page in Japanese --- jekyll/ja/index.html | 328 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 328 insertions(+) create mode 100644 jekyll/ja/index.html diff --git a/jekyll/ja/index.html b/jekyll/ja/index.html new file mode 100644 index 000000000..b5c6900f8 --- /dev/null +++ b/jekyll/ja/index.html @@ -0,0 +1,328 @@ +--- +layout: default +use_dark_highlighting: true +--- + +
+
+
+
+
+

効率的、 表現豊か、 そしてエレガント

+
+
+

+ Nimは静的型コンパイル言語です。
+ Python、Ada、Moduleのような成熟した言語の成功したコンセプトを複合させています。 +

+

効率性

+
    +
  • Nimは仮想マシンに依存しない、依存関係のないネイティブな実行可能ファイルを生成します。 + 小さく、そして簡単に再配布できます。
  • +
  • Nimコンパイラと生成された実行可能ファイルは、Windows、Linux、BSD、macOSなどの + すべての主要プラットフォームをサポートしています。
  • +
  • リアルタイムシステムをサポートする高速遅延参照メモリカウント管理
  • +
  • オーバーヘッドのないイテレータやユーザー定義関数のコンパイル時評価などの最新の概念は、 + スタックに割り当てられた値ベースのデータ型の優先度と組み合わせて、 + 非常にパフォーマンスの高いコードにつながります。
  • +
  • さまざまなバックエンドのサポート: + Nimをすべてのバックエンドおよびフロントエンドのニーズに使用できるように、 + C、C ++、またはJavaScriptにコンパイルします。
  • +
+

表現性

+
    +
  • Nimは自己完結型です。コンパイラと標準ライブラリはNimに実装されています。
  • +
  • Nimには、AST(抽象構文木)を直接操作できる強力なマクロシステムがあり、ほぼ無限の機会を提供します。
  • +
+

エレガント性

+
    +
  • 構文が十分に柔軟なため、マクロに変更は必要ありません。
  • +
  • ローカル型推論、タプル、ジェネリック、およびSUM型を備えた最新の型システム
  • +
  • ステートメントはインデントによってグループ化されますが、複数行も可能です/li> +
+ + +
+ +
+ {% highlight nim %} +import strformat + +type + Person = object + name: string + age: Natural # 年齢が正であることを確認します + +let people = [ + Person(name: "John", age: 45), + Person(name: "Kate", age: 30) +] + +for person in people: + # 型安全なstring補完で + # コンパイル時に評価されます。 + echo(fmt"{person.name} is {person.age} years old") +{% endhighlight %} + + {% highlight nim %} +# Nimの"iterator"や"yield"構文のおかげで +# イテレータを通常機能として簡単に記述できます。 +# これらはインラインループでコンパイルされます。 +iterator oddNumbers[Idx, T](a: array[Idx, T]): T = + for x in a: + if x mod 2 == 1: + yield x + +for odd in oddNumbers([3, 6, 9, 12, 15, 18]): + echo odd +{% endhighlight %} + + + {% highlight nim %} +# Nimのマクロシステムを使用して、 +# x86命令のデータ中心の記述をアセンブラーと +# JITが使用するルックアップテーブルに変換します。 +import macros, strutils + +macro toLookupTable(data: static[string]): untyped = + result = newTree(nnkBracket) + for w in data.split(';'): + result.add newLit(w) + +const + data = "mov;btc;cli;xor" + opcodes = toLookupTable(data) + +for o in opcodes: + echo o +{% endhighlight %} + + + +
+
+
+
+ +
+

最近の記事

+
+ {% for post in site.posts limit: 2 %} +
+ +

+ {{ post.title | escape }} +

+ {{ post.excerpt }} +
+ {% endfor %} +
+ +
+ +
+
+

注目のプロジェクト

+
+ +
+
+

+ Karax +

+ SPA framework +

+ KaraxはシングルページアプリケーションをNimで開発するためのフレームワークです。 + Nimのマクロシステムを活用して、定型化されていないアプリケーションの開発を可能にするフレームワークを作成しています。 +

+
+
+ +
+
+

+ Nimbus +

+ Ethereum client +

+ Nimbusはイーサリアム2.0のブロックチェーンをシャーディングすることに狙いを定めています。 + イーサリアムは組み込みシステムにおいてポテンシャルがあり、 + IoT端末や個人のモバイル端末において動作するようデザインされています。 +

+
+
+ +
+ +
+
+ +
+

+ + Nimを今日学ぶ +

+
+
+

+ コマンドラインアプリケーション、ゲーム、Webサーバー、カーネルなどのすべてを構築します。 + Nimは参入障壁が低く、多くの主流のプログラミング言語にはない強力な機能を提供します。 +

+
+ +
+
+ +
+
+
+
+ +
+
+

Nim in Action

+

+ Nimの最初の書籍eBookやソフトカバー本として購入できます。 + Nimの構文やマクロなどの高度な機能などの基本を習得し、 + 複数のアプリケーション開発の例に導かれることで、 + この言語の実践的な経験を得ます。 +

+
    +
  • Nimの構文を含む基本を教えます。
  • +
  • Nimbleパッケージマネージャーの使用方法について説明します。
  • +
  • + チャットプログラム、Twitterクローンなど、 + さまざまなアプリケーションを開発する方法の詳細な手順と説明が含まれています。 +
  • +
+
+ +
+
+
+ +
+

+ + Nimを支援 +

+
+
+

100以上のNimを支える会社と個人開発者に加わりましょう

+

+ Nimプロジェクトは有志のボランティアによってグローバルに開発されています。 + 定期的な寄付を歓迎しています。 + 寄付によってNimの作業に更に多くの時間を費やすことができます。 +

+
+ +
+
+ +
+
+

トップスポンサー

+
+
+ {% for sponsor in site.data.sponsors %} + {% if sponsor.level == "250" %} + + {% endif %} + {% endfor %} +
+
+ もっと見る +
+
+ +
+
+

コミュニティー

+ + +
+
+ +
+

+ + GitHubのリポジトリーをお探しですか? +

+
+
+

+ Nimのコンパイラとツール群は全てNimによって記述され、 + MITライセンスの下で認証されています。 + ほとんどの開発はGitHubで行われています。 + リポジトリを見てNimの開発に関する最新情報を入手するか、 + スターをつけていくつかの評価をいただけると幸いです。 +

+
+ +
+