Programming Language for Old Timers by David A. Moon February 2006 .. September 2008 Comments and criticisms to dave underscore moon atsign alum dot mit dot edu. Last updated 4/16/2009.
Programming Language for Old Timers by David A. Moon February 2006 .. September 2008 Comments and criticisms to dave underscore moon atsign alum dot mit dot edu. Last updated 4/16/2009.
http://d.hatena.ne.jp/wasisan/20090124/p2 いつもご愛読ありがとうございます(^^ コメント欄だと長くなりすぎたので、トラバで。コメントまで引用してしまってすみません。 それにしても、“あのような”プログラミング言語を高校生が設計したということについて、これを侮辱だと受け取る人が少ないということの方がむしろ私には驚きです。例えば、代わりにこれが「建築物の設計図」で、これを高校生が作ってきましたとかだったら、普通見向きもされないと思うのですが。 あと、既存の大人が作ったプログラミング言語ですらパクリ・危険な言語は日常茶飯事ですし。高校生だとしたら許容されるのは尚更のことでしたね。 しかし、建築家にしてみても、“有名建築から色々な要素を表面的に・安易に、盗んで”きて、しかも、“使用時の危険性をまったく認識していない”、ものだとさすがにイラつく・批判したく
読者の皆さんは、「Cyan」(サイアン)という言語をご存じないかもしれない。Cyanは、Lispのマクロを持ち、Python風のインデントによってブロックを表すプログラミング言語。2008年の春、林拓人という1人の高校生によって設計された。 連載第1回の竹内郁雄氏が「開発」の天才、第2回の五十嵐悠紀氏が「発想」の天才とするならば、今回の林氏は「プログラミング言語」の天才だ。 林氏がプログラミング言語に初めて触れたのは中学3年の夏休み。そこから冬休みまでの5カ月間に、5つのプログラミング言語を習得した。その後もいくつかのプログラミング言語を学ぶ中、林氏の興味はWebサービスなどのものづくりには行かず、ひたすら言語自体へと向かっていった。 高校2年の春、自身でプログラミング言語Cyanを作り上げた。Cyanを設計した林氏は、「U-20プログラミング・コンテスト」(以下、U-20プロコン)で経済
織田信長 ぼちぼち、元気にやっています。少し薬にも慣れた...んかなぁ。相変わらず食べられないけど。朝、指がこわばって文字なんて入力できなかったけど、それはほぼなくなった。関節もどこも痛くない。薬効いてきたんやろな。 で、ブログを書こうと言う気がまた起きてきた。 …
Cyan, Yet Another New language - takuto_hの日記 http://www.geocities.jp/takt0_h/cyan/index.html ほうほう。 実行の流れとしては、Parser#ParseでコードをパースしてCyanオブジェクト作成→Evaluatorオブジェクトを引数にCyBase#Compileを呼ぶとEvaluatorに中間言語のコンパイル結果が格納される→Evaluator#Runで実行。という処理をLoaderクラス内でやってる。 エンジン部分はこのへん。命令文字列-引数のペアが格納されたリストから命令を拾ってきてリフレクションで同名メソッドを呼んでるわけか、なるほど。 //Evaluator#Run()より抜粋 while (instructions.Count > 0) { insn = instructions[0];
プログラミング言語Cyanを公開しました。 これは、私がU-20プログラミング・コンテストに応募し、個人部門で賞をいただいた作品です。 Cyanは「さいあん」と読みます。Lispのマクロを持ち、Python風のインデントによってブロックを表します。インスタンスベース・オブジェクト指向や継続といった概念を取り入れています。 以下に簡単な紹介を載せます。詳しい説明は、Cyanリファレンスマニュアルなどをご覧ください。 S式とマクロの分離 Cyanのもっとも大きな特徴は、LispのS式とマクロの分離を試みたことです。 mac(while)^(test, body): `loop: if(!?test): break() begin(?body)これは、準クオートを用いて記述したwhileマクロです。単純なマクロはこのように簡単に記述できます。 これが可能なのは、式がすべてオブジェクトだからです。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く