SHOEISHA iD

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

連載記事

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

CodeZine BOOKS(コードジン・ブックス)は、CodeZineの連載からカットアップした、開発現場の課題解決に役立つ書籍シリーズです。

書籍に関する記事を見る

'); googletag.cmd.push(function() { googletag.pubads().addEventListener('slotRenderEnded', function(e) { var ad_id = e.slot.getSlotElementId(); if (ad_id == 'div-gpt-ad-1659428980688-0') { var ad = $('#'+ad_id).find('iframe'); if ($(ad).width() == 728) { var ww = $(window).width(); ww = ww*0.90; var style = document.createElement("style"); document.head.appendChild( style ); var sheet = style.sheet; sheet.insertRule( "#div-gpt-ad-1659428980688-0 iframe {-moz-transform: scale("+ww/728+","+ww/728+");-moz-transform-origin: 0 0;-webkit-transform: scale("+ww/728+","+ww/728+");-webkit-transform-origin: 0 0;-o-transform: scale("+ww/728+","+ww/728+");-o-transform-origin: 0 0;-ms-transform: scale("+ww/728+","+ww/728+");-ms-transform-origin: 0 0;}", 0 ); sheet.insertRule( "#div-gpt-ad-1659428980688-0 div{ height:"+(90*ww/728)+"px;width:"+728+"px;}", 0 ); } else { if ($(window).width() < 340) { var ww = $(window).width(); ww = ww*0.875; var style = document.createElement("style"); document.head.appendChild( style ); var sheet = style.sheet; sheet.insertRule( "#div-gpt-ad-1659428980688-0 iframe {-moz-transform: scale("+ww/320+","+ww/320+");-moz-transform-origin: 0 0;-webkit-transform: scale("+ww/320+","+ww/320+");-webkit-transform-origin: 0 0;-o-transform: scale("+ww/320+","+ww/320+");-o-transform-origin: 0 0;-ms-transform: scale("+ww/320+","+ww/320+");-ms-transform-origin: 0 0;}", 0 ); sheet.insertRule( "#div-gpt-ad-1659428980688-0 div{ height:"+(180*ww/320)+"px;width:"+320+"px;}", 0 ); } } } }); }); } else { document.write('
'); document.write('
'); }
プログラミング言語「Nu」入門

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

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


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

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

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

プログラミング言語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の基本

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

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

もっと読む

この記事の著者

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

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

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

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

この記事をシェア

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

おすすめ

アクセスランキング

  1. 1
    1/10まで全文無料公開、人気の入門書シリーズ『いきなりプログラミング Androidアプリ開発』 NEW
  2. 2
    高校生向けの無料Pythonプログラミング講座プラットフォーム「ハイスクールPython」、3月の公開を予定 NEW
  3. 3
    科学技術計算とデータサイエンスを融合したPythonカンファレンス「SciPyDataJapan 2025」が1月25日に開催 NEW
  4. 4
    デスクトップアプリ開発に必要な「Rust」の文法を理解しよう
  5. 5
    アジャイル開発の推進において、必ずしも"すごい人"は必要ない──現場のエンジニアがDevOps推進で実現する組織改革
  1. 6
    "けしからん"精神が切り拓く未来──IPA登氏が語る、技術大国・日本が目指す復活戦略
  2. 7
    デスクトップアプリを開発しよう! 「Rust」と「Tauri 2.0」の基本情報と環境整備の仕方を解説
  3. 8
    2024年は開発者にとってどんな年だったのか? CodeZineの人気ニュースランキングから振り返る
  4. 9
    テストは増え続ける、でもボトルネックにはできない──テスト効率化の2つのカギを朱峰 錦司氏が解説!
  5. 10
    Google、社内AIエージェント「Google Agentspace」発表

アクセスランキング

  1. 1
    1/10まで全文無料公開、人気の入門書シリーズ『いきなりプログラミング Androidアプリ開発』 NEW
  2. 2
    高校生向けの無料Pythonプログラミング講座プラットフォーム「ハイスクールPython」、3月の公開を予定 NEW
  3. 3
    科学技術計算とデータサイエンスを融合したPythonカンファレンス「SciPyDataJapan 2025」が1月25日に開催 NEW
  4. 4
    デスクトップアプリ開発に必要な「Rust」の文法を理解しよう
  5. 5
    アジャイル開発の推進において、必ずしも"すごい人"は必要ない──現場のエンジニアがDevOps推進で実現する組織改革
  6. 6
    "けしからん"精神が切り拓く未来──IPA登氏が語る、技術大国・日本が目指す復活戦略
  7. 7
    デスクトップアプリを開発しよう! 「Rust」と「Tauri 2.0」の基本情報と環境整備の仕方を解説
  8. 8
    2024年は開発者にとってどんな年だったのか? CodeZineの人気ニュースランキングから振り返る
  9. 9
    テストは増え続ける、でもボトルネックにはできない──テスト効率化の2つのカギを朱峰 錦司氏が解説!
  10. 10
    Google、社内AIエージェント「Google Agentspace」発表
  1. 1
    いいエンジニアになるための2つのポイント ──元Google技術者・石原氏が説く「シリコンバレー流ソフトウェア開発術」
  2. 2
    「CUDA」 ~マンガでプログラミング用語解説
  3. 3
    アジャイル開発の推進において、必ずしも"すごい人"は必要ない──現場のエンジニアがDevOps推進で実現する組織改革
  4. 4
    デスクトップアプリを開発しよう! 「Rust」と「Tauri 2.0」の基本情報と環境整備の仕方を解説
  5. 5
    デスクトップアプリ開発に必要な「Rust」の文法を理解しよう
  6. 6
    "けしからん"精神が切り拓く未来──IPA登氏が語る、技術大国・日本が目指す復活戦略
  7. 7
    Google、社内AIエージェント「Google Agentspace」発表
  8. 8
    JavaScriptのWebフレームワーク、「Astro 5.1」リリース
  9. 9
    テストは増え続ける、でもボトルネックにはできない──テスト効率化の2つのカギを朱峰 錦司氏が解説!
  10. 10
    管理職の24.1%、今後管理職を「続けたくない」と回答。理由は「責任やストレス」が最多に

イベント

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

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

メールバックナンバー

アクセスランキング

  1. 1
    1/10まで全文無料公開、人気の入門書シリーズ『いきなりプログラミング Androidアプリ開発』 NEW
  2. 2
    高校生向けの無料Pythonプログラミング講座プラットフォーム「ハイスクールPython」、3月の公開を予定 NEW
  3. 3
    科学技術計算とデータサイエンスを融合したPythonカンファレンス「SciPyDataJapan 2025」が1月25日に開催 NEW
  4. 4
    デスクトップアプリ開発に必要な「Rust」の文法を理解しよう
  5. 5
    アジャイル開発の推進において、必ずしも"すごい人"は必要ない──現場のエンジニアがDevOps推進で実現する組織改革
  1. 6
    "けしからん"精神が切り拓く未来──IPA登氏が語る、技術大国・日本が目指す復活戦略
  2. 7
    デスクトップアプリを開発しよう! 「Rust」と「Tauri 2.0」の基本情報と環境整備の仕方を解説
  3. 8
    2024年は開発者にとってどんな年だったのか? CodeZineの人気ニュースランキングから振り返る
  4. 9
    テストは増え続ける、でもボトルネックにはできない──テスト効率化の2つのカギを朱峰 錦司氏が解説!
  5. 10
    Google、社内AIエージェント「Google Agentspace」発表

アクセスランキング

  1. 1
    1/10まで全文無料公開、人気の入門書シリーズ『いきなりプログラミング Androidアプリ開発』 NEW
  2. 2
    高校生向けの無料Pythonプログラミング講座プラットフォーム「ハイスクールPython」、3月の公開を予定 NEW
  3. 3
    科学技術計算とデータサイエンスを融合したPythonカンファレンス「SciPyDataJapan 2025」が1月25日に開催 NEW
  4. 4
    デスクトップアプリ開発に必要な「Rust」の文法を理解しよう
  5. 5
    アジャイル開発の推進において、必ずしも"すごい人"は必要ない──現場のエンジニアがDevOps推進で実現する組織改革
  6. 6
    "けしからん"精神が切り拓く未来──IPA登氏が語る、技術大国・日本が目指す復活戦略
  7. 7
    デスクトップアプリを開発しよう! 「Rust」と「Tauri 2.0」の基本情報と環境整備の仕方を解説
  8. 8
    2024年は開発者にとってどんな年だったのか? CodeZineの人気ニュースランキングから振り返る
  9. 9
    テストは増え続ける、でもボトルネックにはできない──テスト効率化の2つのカギを朱峰 錦司氏が解説!
  10. 10
    Google、社内AIエージェント「Google Agentspace」発表
  1. 1
    いいエンジニアになるための2つのポイント ──元Google技術者・石原氏が説く「シリコンバレー流ソフトウェア開発術」
  2. 2
    「CUDA」 ~マンガでプログラミング用語解説
  3. 3
    アジャイル開発の推進において、必ずしも"すごい人"は必要ない──現場のエンジニアがDevOps推進で実現する組織改革
  4. 4
    デスクトップアプリを開発しよう! 「Rust」と「Tauri 2.0」の基本情報と環境整備の仕方を解説
  5. 5
    デスクトップアプリ開発に必要な「Rust」の文法を理解しよう
  6. 6
    "けしからん"精神が切り拓く未来──IPA登氏が語る、技術大国・日本が目指す復活戦略
  7. 7
    Google、社内AIエージェント「Google Agentspace」発表
  8. 8
    JavaScriptのWebフレームワーク、「Astro 5.1」リリース
  9. 9
    テストは増え続ける、でもボトルネックにはできない──テスト効率化の2つのカギを朱峰 錦司氏が解説!
  10. 10
    管理職の24.1%、今後管理職を「続けたくない」と回答。理由は「責任やストレス」が最多に