pr20161105
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
* 2016年11月05日のプレゼン下書き
-(by [[K]], 2016.10.11)
** Essenまでの歴史[3分]
-OSASK計画とは?
--OSASK計画とは、超軽量OSである「OSASK(おさすく)」を開...
-2000年: OSASKをせっせと開発。
--一定の成果を達成。
---OSのインストールサイズ:100KB未満
---インベーダーゲーム: 1108バイト
-2008年: 第二世代OSASKを開発。
--川合は優秀なAPIを使いたいからOSを作ったのであって、OSを...
--これも一応の成果を達成。
---処理系のサイズ: 14.5KB
-2013年: OSECPU-VM(おせくぷ・ぶいえむ)(第三世代OSASK...
--x86にこだわらずJavaみたいなものを作れば、さらに限界が突...
---理想のAPIを考えているうちに、理想の命令セットを追及し...
--これも一応の成果を達成。
---VM処理系:29.0KB。
---インベーダゲーム : 430バイト
-2016年: 理想のプログラミング言語がほしくなって開発を開...
--詳細は後述。
** Essenの基本的な考え方[4分]
-川合の主張:
--RubyやPythonは本当に素晴らしい言語だと思うけど、処理系...
---(註)川合は何でも小さく作るのが得意。
--何万行、何十万行と、たくさん書けば、いろいろできるよう...
--処理系の行数が少ないのに、意外にあれこれできてしまうよ...
---移植しやすい
---結果的に仕様がシンプルなので例外が少なく仕様を理解しや...
-どんな言語を目指すか?
--プログラミング初心者がEssenを勉強して覚えた後、もしEsse...
---だからビジュアルなプログラミング言語は目指さない。
---C言語やJavaにある程度似ていることが望ましい(スムーズ...
--八方美人は目指さない。
---不得意なことがあってもよい。
--構文や演算子を自由に定義できる言語。
---既存の構文を再定義することができる。新規の構文を定義す...
---既存の演算子を再定義することができる。新規の演算子を定...
---C言語は関数を自由に定義できる。C++は型を自由に定義でき...
---でもC++では演算子は既存の物をオーバーライドできるだけ...
---C++もJavaも構文は自由には作れない。
---これからは演算子や構文も自由に作る時代だー。
--Essenはシンプルなインタプリタ。
---実行速度は遅い。
---変数は型を持たない(変数宣言をさせたくなかったので)。
---対話式で操作できる。
---初心者にはそのほうが分かりやすいのではないかと川合は考...
--既存言語との共存を目指す言語。
---「Essenひとつで何でもできるようになる」を目指さない。
---Essenの中で既存言語を混ぜて書くことができる(インライ...
---スピードが必要な部分だけをC++などの高速な言語で書けば...
---スピードが必要な部分なんて全体のうちの1~2割程度のはず...
---この仕様はEssenの後に他の言語を学ぶ際にも敷居を下げる...
** 基本機能紹介[3分]
-1単語コメント。バッククォートを使う。
-- `abc は /* abc */ と同じ。
--コメントが目立ちすぎないところが良い。
-{ ... }はコード片。コード片は関数呼び出しの直後に続けて...
if (a > b) `then { c = a } `else { c = b }
→ if((a < b), { c = a }, { c = b });
→ つまりif文は関数呼び出しとして扱われている。
d = { print a }; // コード片をdに代入。dをevalすると実行...
--コード片は入れ子にできる。
--コード片は基本的にただの文字列。ダブルクォートでくくる...
-{{ ... }}は入れ子にできないコード片。括弧の対応やコメン...
--<<< ... >>> など、他の記号に切り替えることも可能。
-エラーオブジェクト。
--エラーがあってもプログラムは中断せず、値が「エラーオブ...
--エラーオブジェクトの例: 関数abc内でのゼロ割エラー
--エラーオブジェクトに加減乗除をしてもエラーオブジェクト...
---これによってどこのエラーが発端なのかが分かる。
-どうやって既存言語を実行するか?
--(作文中)
** つなぎ
-残りの時間では、Essenのよきライバル言語を作ってくれてい...
* こめんと欄
#comment
終了行:
* 2016年11月05日のプレゼン下書き
-(by [[K]], 2016.10.11)
** Essenまでの歴史[3分]
-OSASK計画とは?
--OSASK計画とは、超軽量OSである「OSASK(おさすく)」を開...
-2000年: OSASKをせっせと開発。
--一定の成果を達成。
---OSのインストールサイズ:100KB未満
---インベーダーゲーム: 1108バイト
-2008年: 第二世代OSASKを開発。
--川合は優秀なAPIを使いたいからOSを作ったのであって、OSを...
--これも一応の成果を達成。
---処理系のサイズ: 14.5KB
-2013年: OSECPU-VM(おせくぷ・ぶいえむ)(第三世代OSASK...
--x86にこだわらずJavaみたいなものを作れば、さらに限界が突...
---理想のAPIを考えているうちに、理想の命令セットを追及し...
--これも一応の成果を達成。
---VM処理系:29.0KB。
---インベーダゲーム : 430バイト
-2016年: 理想のプログラミング言語がほしくなって開発を開...
--詳細は後述。
** Essenの基本的な考え方[4分]
-川合の主張:
--RubyやPythonは本当に素晴らしい言語だと思うけど、処理系...
---(註)川合は何でも小さく作るのが得意。
--何万行、何十万行と、たくさん書けば、いろいろできるよう...
--処理系の行数が少ないのに、意外にあれこれできてしまうよ...
---移植しやすい
---結果的に仕様がシンプルなので例外が少なく仕様を理解しや...
-どんな言語を目指すか?
--プログラミング初心者がEssenを勉強して覚えた後、もしEsse...
---だからビジュアルなプログラミング言語は目指さない。
---C言語やJavaにある程度似ていることが望ましい(スムーズ...
--八方美人は目指さない。
---不得意なことがあってもよい。
--構文や演算子を自由に定義できる言語。
---既存の構文を再定義することができる。新規の構文を定義す...
---既存の演算子を再定義することができる。新規の演算子を定...
---C言語は関数を自由に定義できる。C++は型を自由に定義でき...
---でもC++では演算子は既存の物をオーバーライドできるだけ...
---C++もJavaも構文は自由には作れない。
---これからは演算子や構文も自由に作る時代だー。
--Essenはシンプルなインタプリタ。
---実行速度は遅い。
---変数は型を持たない(変数宣言をさせたくなかったので)。
---対話式で操作できる。
---初心者にはそのほうが分かりやすいのではないかと川合は考...
--既存言語との共存を目指す言語。
---「Essenひとつで何でもできるようになる」を目指さない。
---Essenの中で既存言語を混ぜて書くことができる(インライ...
---スピードが必要な部分だけをC++などの高速な言語で書けば...
---スピードが必要な部分なんて全体のうちの1~2割程度のはず...
---この仕様はEssenの後に他の言語を学ぶ際にも敷居を下げる...
** 基本機能紹介[3分]
-1単語コメント。バッククォートを使う。
-- `abc は /* abc */ と同じ。
--コメントが目立ちすぎないところが良い。
-{ ... }はコード片。コード片は関数呼び出しの直後に続けて...
if (a > b) `then { c = a } `else { c = b }
→ if((a < b), { c = a }, { c = b });
→ つまりif文は関数呼び出しとして扱われている。
d = { print a }; // コード片をdに代入。dをevalすると実行...
--コード片は入れ子にできる。
--コード片は基本的にただの文字列。ダブルクォートでくくる...
-{{ ... }}は入れ子にできないコード片。括弧の対応やコメン...
--<<< ... >>> など、他の記号に切り替えることも可能。
-エラーオブジェクト。
--エラーがあってもプログラムは中断せず、値が「エラーオブ...
--エラーオブジェクトの例: 関数abc内でのゼロ割エラー
--エラーオブジェクトに加減乗除をしてもエラーオブジェクト...
---これによってどこのエラーが発端なのかが分かる。
-どうやって既存言語を実行するか?
--(作文中)
** つなぎ
-残りの時間では、Essenのよきライバル言語を作ってくれてい...
* こめんと欄
#comment
ページ名: