* 「30日でできる! OS自作入門」のサポートWikiへようこそ
-(by [[K]], 2008.10.31)
~
~
-通称 hrb-wiki-uft (はりぼてうぃきゆーてぃーえふ)
#freeze
* KH-FDPL(けいえいち・えふでぃぴーえる)のWikiへようこそ
-(by [[K]], 2015.03.17)

** このwikiの当初の目的
-韓国語版の「30日でできる! OS自作入門」では[[OS-Wiki:http://community.osdev.info]]の代わりに http://osguru.net/ が指定されているものの、途中までしか内容が準備されておらず、読者はとても不便な思いをしているのではないかと思いました。これを解決するためにosguru.netを読者の人に編集してもらおうと思ったら、一般の人のアカウント作成が禁じられているようで、編集できません。
 より適切なURL  http://osguru.net/index.php/OS_구조와_원리_:_OS_개발_30일_프로젝트
--wikiの仕様によりリンクが作れず上記のようなテキストで表示しています。コピー&ペーストでURLを入力すれば該当ページにいけます。
-これでは状況はいつまでも改善しないので、ここに多言語対応のwikiを用意し、読者の人たちに自由に使ってもらうことにします。ただしこれは一時的なものです。もし韓国国内に正式なサイトが有志の手によって設置された場合、このwikiはその役目を終えて、メンテナンスを終えることとします。
-もし遠い将来他の言語にも翻訳されることがあったら、そして不幸にもまたサポートが十分ではなかったら、そのときはこのサイトをそのまま使うことにするつもりです。
** ルール
-1.このサイトではほとんどルールがありません。理由は簡単で、管理者の[[K]]には韓国語が分からず、したがって適切な内容かどうかを判断できないためです。だから原則として誰がどのページをどのように作成・編集してもいいです。みんなで協力して使ってください。
-2.ここに個人ページを作って好きな言語で自己紹介を書くことができます→[[members]]。韓国語版の読者どうしで、韓国語で意見交換することもできます→[[KOR_impressions]]。
-3.ページ名はC言語の変数名として許されるものだけとします。違反した場合は予告なく削除することがあります。
-4.サーバーの都合により、ページが長くなりすぎると編集も表示もできなくなると思うので、注意してください。
-このページは日本語限定です。もし韓国語版のFrontPageが必要ならKOR_FrontPageを作成してください。
**目次
-[[members]] : 個人ページ一覧
-[[impressions]] : 簡易掲示板
-[[KOR_index]] : 目次(韓国語コンテンツ)
-[[JPN_index]] : 目次(日本語コンテンツ)
** 背景
-あなたはプログラミング言語について不満を感じたことはありませんか?私はあります。
-私の作ろうとしているKH-FDPLは、平たく言えば、新しいプログラミング言語を作りやすくするためのプログラミング言語です。
-なぜいきなり自分の理想とする言語を作らないのかといえば、新規の言語を作ろうと思った時に、「新規言語を作るための定番言語ってないな、じゃあまずはそこから手掛けるべきだな」と感じたからです。
-そして理想の言語がどういうものになるべきなのか、まだ決心がついていないということもあります。

-この開発を始めた後に、ML(MetaLanguage)とかってどうなの?新規言語を作るための定番言語と言えるんじゃないかな?と教えてもらいました。
-確かにそうかもしれません。ただKH-FDPLはMLとはまた違ったところもあると思うので、開発は継続して、いいところを真似していこうと思います。

** KH-FDPLとは?
-FDPLは few declaration programming language の略で、宣言の少ない文法を目指したプログラミング言語です。ただし、実はそれが最大の特徴であるというわけではなく、特徴をうまく名称に取り込めていないので、それは申し訳なく思います。

-目的:
--[目的1] 初心者がプログラミングを学ぶ際の障壁を少なくします。そしてプログラミングの本質をつかんだら、このあとにCやJavaやPythonなどを学んでいければいいと思っています。
--[目的2] 「実行速度やメモリ効率が重要でないときには、このプログラミング言語が(少なくとも[[K]]にとっては)最善である」と言い切れることも目指します。

-特徴:
--(特徴1) 変数宣言とかをしなくてもいきなり代入できる。
--(特徴2) オブジェクトの永続性。
--(特徴3) オブジェクトシステム(変数システム)がファイルシステムみたいになっている。
--(特徴4) 独自のオブジェクト寿命システム。
--(特徴5) 自己拡張可能型の文法。
--(特徴6) セキュリティ。
--(特徴7) 実行速度やメモリ効率などは(とりあえず)軽視。

-より詳しい説明:
--[[note0001]]: プログラミング入門のためのプログラミング言語について(特徴1~3)
--[[note0002]]: オブジェクトの寿命の管理モデル(特徴4)
--[[note0003]]: 自己拡張可能型の文法(特徴5)
--[[note0004]]: セキュリティ・デバッグ支援

** ダウンロード
-なし

** KH-FDPL以前の成果のまとめ
-[[oldworks]]をご覧ください。

** 結論と成果
-KH-FDPLは、置換ルールの組み合わせだけで柔軟な言語が作れないだろうかという試みでしたが、結局うまくいきませんでした。
-しかし上記の「特徴」に挙げたことをほぼすべて引き継いで[[Essen]]を作り始めました。Essenで、演算子や構文を拡張する仕組みにめどが立ったため、KH-FDPLは成果らしい成果は何もないですが、「ひとまず終了」ということにしようと思います。
-成果としては、しいて言えば、パーサーで頑張るのは今の[[K]]には難しいということです。むしろ自由な置換を完全に禁止にして、テキストが一定のフォーマットを守ることを強制できれば、演算子や構文の拡張が可能になると考えています。
-もしかしたら将来同じようなアルゴリズムに再チャレンジするかもしれませんが、その時はたぶん別の名前にするので、やっぱりこのプロジェクトは中断や停滞ではなく終了です。でももしかしたらこの名前でやりたくなるかもしれないので、その時は強引に再開します。

**こめんと欄
-このページにこめんと欄はありません。このページの内容にコメントしたいときは[[impressions]]にお願いします。


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS