ラベル nimrod の投稿を表示しています。 すべての投稿を表示
ラベル nimrod の投稿を表示しています。 すべての投稿を表示

2011年12月7日水曜日

Nimrodへようこそ - Prologue

全国の Nimrod ファンのみなさんこんにちは。
Nimrod Advent Calendar の 7日目を担当している、@takano32 a.k.a. TAKANO Mitsuhiro です。6日目の記事は @esehara さんの 始めてオープンソースに関わったことを話そう -- プログラミング言語番外編 です。ぜひ、こちらもご覧ください。

今日は初心にもどり、公式サイトの序文を訳してみました。
Nimrodへようこそ
Nimrod は新しい手続き型静的型付けのプログラミング言語です。Nimrodはシンプルで効率的な言語でありながら手続き型、オブジェクト指向型、関数型、そしてジェネリックプログラミングを利用できます。
特徴のひとつにはLispから発想を受け継いでいる、自身の抽象構文木(AST: abstract syntax tree)の構成がNimrodにはあります。これによって協力なマクロシステムが利用することができ、DSL(Domain Specific Language)の作成などを行うことができます。
また、Nimrodはコンパイル可能な言語でありながら、GC(garbage-collection)を搭載しつつ、生産性とパフォーマンスのバランスに優れた開発が可能なプログラミング言語です。
Nimrodの開発ポリシーは3つの「E」に象徴されています。それはEfficiency(効率)、Expressiveness(表現力)、Elegance(上品さ)のポリシーであり、挙げた順番、つまり、効率、表現力、上品さの順でそれぞれを優先して開発しています。
マルチパラダイムでありながら、生産性とパフォーマンスにすぐれた素晴らしい言語です!みなさんもぜひ使ってみてください。

8日目の記事はsyanbi a.k.a. @xga さんの記事になります。お楽しみに!

2011年12月5日月曜日

Nimrod で FizzBuzz を書こう!

全国の Nimrod ファンのみなさんこんにちは。
Nimrod Advent Calendar の 4日目を担当している、@takano32 a.k.a. TAKANO Mitsuhiro です。3日目の記事は @esehara さんの オフサイドルールこそが正義である です。ぜひ、こちらもご覧ください。

今日はサンプルのプログラムとして有名な FizzBuzz をNimrod で書いてみたときのことを紹介したいと思います。

まず、FizzBuzz というのは
プレイヤーは円状に座る。最初のプレイヤーは「1」と数字を発言する。次のプレイヤーは直前のプレイヤーの次の数字を発言していく。ただし、3で割り切れる場合は 「Fizz」(Bizz Buzz の場合は 「Bizz」)、5で割り切れる場合は 「Buzz」、両者で割り切れる場合は 「Fizz Buzz」 (Bizz Buzz の場合は 「Bizz Buzz」)を数の代わりに発言しなければならない。発言を間違えた者や、ためらった者は脱落となる。  
Wikipediaより引用
というルールのゲームです。これをプログラムで出力します。

私がはじめに Nimrod で書いた FizzBuzz はこんなものでした。そして、 exampels のひとつとして取り込んでもらうために pull request しました。


Commit 0398a3c616d3de11f779ac36c3b0ef957052a814 to hametsu/Nimrod - GitHub
このプログラムにはいくつか問題がありました。それを Araq はとても親切に指摘してくれています。
Use 'elif' instead of 'continue'. Use 'echo a, b' instead of 'echo a & b'. Use 'const' instead of 'var'. Sorry for the nitpicking, but people like examples to be idiomatic nimrod code ;-).
日本語にすると以下のようなかんじでしょうか。
'continue' の代わりに 'elif' を使って、'echo a & b' の代わりには 'echo a, b' を使おう。あと、'var' の代わりに(変化しない変数なのだから)'const' を使うといいよ。 examples は多くの人が Nimrod の理想的なコードとして参考にするので細かい指摘ばかりになっちゃった(^−^)
とても親切に細かいところまでレビューしていただきました。その後、数度のやり取りを経て、以下のようなコードとなりました。


このコードは取り込まれ、現在、Nimrodのexamples以下にあります!みなさんもぜひexamplesになりそうなコードなどを書いてコミットしてみてはいかがでしょう。
5日目の記事はsyanbi a.k.a. @xga さんの記事になります。お楽しみに!

2011年12月1日木曜日

こんにちは、Nimrod!

この記事はNimrod Advent Calendar jp: 2011の1日目の記事です。

こんにちは、こちらは今日からはじましります、NimrodのAdvent Calendarの1日目の記事です。私は1日目を担当している @takano32 です。

まず、Advent Calendar とは12月1日から12月25日までブログ記事をある事柄についてのリレーしていくという技術系界隈から派生した文化です。
Nimrod Advent Calendarではプログラミング言語のNimrodについての記事をリレーしていきたいと思います。

さて、初日ですので、Nimrodの紹介からはじめましょう。
Nimrodは海外での開発がさかんな新しいタイプのプログラミング言語です。以下のようなサイトで情報を手に入れることができます。
    • Nimrodの開発および開発に関する議論などはGitHubを通じて行われています。ここのソースコードがマスターです。私たちもこのレポジトリをフォークしてhametsu / Nimrodを編集し、コミット、プルリクエストなどをしています。作者のAndreas Rumpfさんはとても気さくな方で、些細なプルリクエストなどについても議論、検討を行なってくれます。ぜひみなさんもコミットしていきましょう。
  • nimrod-code.org
    • Nimrodのマニュアルなどが整備されている公式サイトです。あらゆる情報が掲載されています。コードを読むよりも先にNimrodがもつ特徴などを知りたい!といった場合にも、まずはこちらを参照されるとよいでしょう。
  • Nimrod forum
    • NimrodにはGitHub以外にも議論を行うためのフォーラムが用意されています。アクセスしてみましょう。おやおや?一見、何も議論がされていないようにみえますね。これはphpBBという掲示板システムが複数の掲示板を取り扱うように設計されているため、そのうちのひとつとしてNimrodの掲示板がきちんとリンクされています。
      コードをベースにした議論はあまりありませんが、重要なアナウンスや今後の方針についての議論がされていますのでこちらも要チェックですね!見逃せません!!!
今日はNimrod Advent Calendar jp: 2011の1日目をお送りしました。
軽くNimrodのコミュニティについて説明させていただきました。わくわくしてきましたね。みなさんもぜひ新しい世界へのプログラミング言語Nimrodを習得し、楽しいNimrodライフを!

次の記事はsyanbi a.k.a. @xga さんです。お楽しみに。

2011年11月23日水曜日

My first contribute for Nimrod



i cant join contributors.txt yet, but i got started!!!

https://github.com/Araq/Nimrod/commit/f3d64258ade903d2e8dddf2e16b9176ade69ab18

https://github.com/Araq/Nimrod/issues/65

2011年8月17日水曜日

many thanks to @keitahaga / Nimrod



https://github.com/Araq/Nimrod/commit/7d03cb1f9b9025693ac9b73e97f49b956652bd7b#L0R208

https://github.com/Araq/Nimrod/commit/35e4ba07b57dba39cb9ecdbd070d238dd3001956