12_Inou

Touch UI Programing

「タッチUIのプログラミング環境が必要」

仮説:「今後3年間でキーボード端末は駆逐される」

仮説:「日常的にプログラミングに触れる必要性の増大」

仮設:「プログラム実行環境はWebへ移る」

結論

タッチUIのプログラミング環境とは

要件

  1. プログラミングにキーボードが不要、あるいはほとんど使わない。
    • バーチャルキーボードによるコーディングは難しい。
      • 特殊文字が打てない。
    • カーソルの移動が困難。
      • コピペですら困難。

つまり

  1. プログラミングのコード入力はタッチUIが基本
    • キーボードは補助的なもの

問題点

これまでの状況

ぼくの提案

ぼくが求めているもの

  1. あらゆるデバイスで開発、あらゆるデバイスで実行。
    • Web上で開発、Web上で実行。
  2. HTML+CSS+JSというWebアプリで完結した開発環境。
    • 環境の導入はブラウザでサイトにアクセスするだけ。
  3. タッチパネルでも、キーボードでも、ゲームパッドでも快適なプログラミング環境。
    • あらゆるデバイスに対して最適
  4. ゆるふわな専用言語(Processing等)ではなく、ローレベルAPIにアクセス可能な言語。
    • JavaScriptと等価な言語。
  5. タッチUIに対応しつつも、キーボードでも編集可能な言語

上記条件をすべて満たしている「Lisp」

LISP - Wikipedia

先行研究

プログラミング言語「Pebble(仮)」

デモ

(= fizzbuzz (fn (n)
  ([1..n] 'map (fn (i)
    (if
      (=== (% i 15) 0) "fizzbuzz"
      (=== (% i 5) 0) "buzz"
      (=== (% i 3) 0) "fizz"
      i)))))
(console 'log (fuzzbuzz 10))

これが

var fizzbuzz = function(n){
  return (function(a, b){
    var __ary = [], __i;
    for(__i=a; __i<=b; __i++){
      __ary.push(i);
    }
    return __ary;
  }(1, n)).map(function(i){
    return (function(){
      if(i%15===0){
        return "fizzbuzz";
      }else if(i%5===0){
        return "buzz";
      }else if(i%3===0){
        return "fizz";
      }else{
        return i;
      }
    }());
  });
};
console.log(fizzbuzz(10));

こうなる。おわかりいただけただろうか。

Lispを使うことの利点

Lispを使うことの欠点。

開発工程

今後の野望

感想、要望等



*1 (括弧

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