SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

プログラミング言語「Nu」入門

プログラミング言語Nuの基本とインストール方法

LispをベースにObjective-Cのオブジェクトシステムを組み合わせた言語


  • このエントリーをはてなブックマークに追加

 「Nu」はObjective-Cで書かれている言語でLisp由来の文法を採用しています。Mac OS XやiPhoneなどで実行できます。今回はインストール方法や言語の特徴について紹介します。

  • このエントリーをはてなブックマークに追加

プログラミング言語Nuとは

 今回から Nu というプログラミング言語の連載を書かせて頂きます吉田裕美です、宜しくお願いいたします。

 現在は新しいプログラミング言語の情報がネットを通じてすぐに伝わってくる時代になり、特徴のあるプログラミング言語が日々生まれているような気がします。Nu もそんな今の時代らしい特徴のある言語です。

 Nu のホームページhttp://programming.nu/には Nu について以下のように書かれています。

What’s Nu?

 Nu is an interpreted object-oriented language. Its syntax comes from Lisp, but Nu is semantically closer to Ruby than Lisp. Nu is implemented in Objective-C and is designed to take full advantange of the Objective-C runtime and the many mature class libraries written in Objective-C. Nu code can fully interoperate with code written in Objective-C; messages can be sent to and from objects with no concern for whether those messages are implemented in Objective-C or Nu.

 要約すると、Nu はオブジェクト指向なインタプリター型言語で、Lisp 由来の文法を採用していますが、その実体は Lisp より Ruby に似ています。また Nu は Objective-C で実装されており既存の Objective-C のライブラリーや実行環境を利用できます。そして Nu は Objective-C と完全に相互運用できます、といった感じでしょうか。

 Ruby はご存知のように近年大成功したプログラム言語ですが、従来には存在しなかった画期的な言語というのではなく、Perl、Smalltalk、Lisp などの良い部分を取り入れながらもプログラマーに親しみやすい言語として構成されています。同じように Nu も、Lisp というシンプルで強力な言語に Objective-C のオブジェクトシステムを組み合わせ、Ruby の親しみやすさをまぶして作られた言語になっています。

 Nu は作者の Tim Burks (ブログ)がほぼ一人で作ったようです。ちなみに Nu の発音は作者のプレゼンビデオを聞くと "New" と言っているように聞こえます。

インストール

 まずは、インストールしてみましょう。Nu は Objective-C で書かれているので、現在のところ Mac OS X が主な実行環境です。また、iPhone 用ライブラリーが用意されているので iPhone の開発ライセンスを持っている方は iPhone で試してみる事ができます(iPhone 版に付いては筆者のブログで紹介しています)。ソースからビルドすれば Linux でも動くようですが Cocoa API(Mac OS のAPI)が使えないのでできる事が限られます。

 今回の連載では Mac OS X 版を中心に書いていきます。

インストール作業

 ダウンロードページから最新の「Nu-0.4.0.dmg」をダウンロードしクリックする事で、通常の Mac アプリのようにインストールできます。

動作確認

 nushコマンドがインストールされているので、ターミナルで nush を起動してみましょう。nush は Rubyの irbコマンドや Python の pythonコマンドと同様に、入力された Nuプログラムをその場で実行できる環境で、一般に REPL (Read Eval Print Loop)と呼ばれるものです。ちなみに quit と入力すると nush を終了できます。

$ nush 
Nu Shell.
% (+ 1 2)
3
% quit
$

エディター用ツール

 Nu は Lisp をベースとしています。Lispプログラムと言えば「カッコだらけ」ですので、エディターに対応するカッコの表示や Lisp用のインデント機能が必須になります。以下のエディターには Nu用のツールが準備されています。

  • Textmate:GitHubに Nu用の Bundle が公開されています。詳細はA Bundle for TextMate Usersを参考にしてください。
  • Emacs:Nuをインストールすると/usr/local/share/nu/nu-mode/ 以下に nu.el、nush.el があります。設定はこのディレクトリーの README を参照ください。
  • Vim:現時点では正式な nu.vim はリリースされていませんが、vi tips for Nuが参考になります。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
Nuの基本

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
プログラミング言語「Nu」入門連載記事一覧

もっと読む

この記事の著者

吉田裕美(ヨシダユウミ)

有限会社 EY-Office 取締役CADのベンチャー企業でCADのコア部分や図面管理システムなどの開発に従事した後、独立しJava,Ruby,PerlでWebアプリを中心に開発してきた。現在は殆どの開発はRuby on Rails。ここ数年はソフトウェアエンジニアの教育に興味をもち、従来の知識偏重な教育ではなく現実の問題を解決できるエンジニアを育てる教育に注力している。またLisp等に関心...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/4698 2010/04/19 19:51

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング