「html5」という開発言語
現代ビジネスさんが大スクープ!!*1
http://gendai.ismedia.jp/articles/-/31794?page=4
アンドロイドは「html5」という開発言語を用いるインターネットベースのOS
イ`ヘ /: :| ヽ / : :/ ヽ ___ _,,,:. .-: :´彡フ _ノ\_∠: : : : : : : : :`: :-: :,:_:/彡 / ( : : : : : : : : : : : : : : `ゝ / マ r::/: /: : | : : : : : : : : ::\ / //: /: : : |: : | |: : |: _: : : :ヽ ジ {/ 7|`\/i: /|:|/|´: : : : :|ヽ 〉 ,‐-‐、`|7 || |_::|,_|: : :|:::|: | で / r:oヽ` /.:oヽヽ: :|: | :| { {o:::::::} {:::::0 }/: :|N っ | ヾ:::ソ ヾ:::ソ /|: : | !? ヽ::::ー-.. /ヽ ..ー-::: ヽ::| r--ッ -tヽ/´|`::::::::::;/ `、 ::::::::::: /: i } > ::∧: : :|: |J \ / /::i: | /_ゝ . \ヾ: |::|` - ,, ___`-´_ ,, - ´|: : :|:::| ヽ: |::|\  ̄/ /| |: : :|: |
HTML5でOSを開発・・・。言葉の意味はよくわからないが何やらすごい新しい。これは自分でもぜひやってみたい。やるしか!
ということでやりました。まずはHTML5「で」プログラミング。Androidに使用しているプログラミング言語HTML5はきっとGoogleのトップシークレットだろうからとりあえず想像で。こんな感じかな・・・。
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <script src="html5lang.js"></script> </head> <body autostart="true"> <dfn title="greeting"> <p name="name"></p> <code> <input name="message" /> <dl name="name"> <dt>HTML5</dt> <dd><fieldset name="message">Hello, <output name="name" /></fieldset></dd> <dt></dt> <dd><fieldset name="message">Good-bye, <output name="name" /></fieldset></dd> </dl> <blockquote cite="alert"> <p><output name="message" /></p> </blockquote> <blockquote cite="log"> <p><output name="message" /></p> </blockquote> </code> </dfn> <input name="name" value="HTML" /> <progress name="counter" value="1" max="5"> <blockquote cite="greeting"> <p><output name="name"></output><output name="counter"></output></p> </blockquote> </progress> </body> </html>
文法はだいたいこんなん。
変数宣言 | input要素 |
---|---|
変数アクセス | output要素 |
代入 | fieldset要素 |
関数定義 | dfn要素、p要素、code要素 |
関数呼出 | blockquote要素、p要素 |
条件分岐 | dl要素、dt要素、dd要素 |
繰り返し | progress要素 |
変数宣言はHTML5のinputだから日付とか数値とか電話番号とかいろんな型が使用できる、はず。型チェックは実装してないけど。関数の引数はparam使いたかったなぁ・・・。でも無理っぽいのでpで妥協。あと関数呼び出しもcommandが名前的にはピッタリだったのに、HTML5は制限が厳しい・・・。条件分岐はselectとoptionで、てのも考えたけどoptionが子要素を持てないので挫折。defaultはselected="true"で、って思いついた時は自分は天才だと思ったのに・・・。余裕があればobject要素でクラス定義とかもやりたかったなぁ・・・。
そんな妥協にまみれた仕様だけど、まぁ現状でもなんとなく意味は取れるよね。
仮に、上のプログラミング言語HTML5のソースコードをJavaScriptに書きなおせばこうなる。
function greeting(name) { var message; switch (name) { case 'HTML5': message = 'Hello, ' + name; break; default: message = 'Good-bye, ' + name; break; } window.alert(message); console.log(message); } var name = 'HTML'; for (var counter = 1; counter <= 5; counter++) { greeting(name + counter); }
では、実行。
よし動いた。
これでOS作るのか・・・。
そうか・・・。
・・・。
イ`ヘ /: :| ヽ / : :/ ヽ ___ _,,,:. .-: :´彡フ _ノ\_∠: : : : : : : : :`: :-: :,:_:/彡 / ( : : : : : : : : : : : : : : `ゝ / マ r::/: /: : | : : : : : : : : ::\ / //: /: : : |: : | |: : |: _: : : :ヽ ジ {/ 7|`\/i: /|:|/|´: : : : :|ヽ 〉 ,‐-‐、`|7 || |_::|,_|: : :|:::|: | で / r:oヽ` /.:oヽヽ: :|: | :| { {o:::::::} {:::::0 }/: :|N っ | ヾ:::ソ ヾ:::ソ /|: : | !? ヽ::::ー-.. /ヽ ..ー-::: ヽ::| r--ッ -tヽ/´|`::::::::::;/ `、 ::::::::::: /: i } > ::∧: : :|: |J \ / /::i: | /_ゝ . \ヾ: |::|` - ,, ___`-´_ ,, - ´|: : :|:::| ヽ: |::|\  ̄/ /| |: : :|: |
*1:訂正済