SoraMame.ps.js のバックアップソース(No.6)


[[Programing]] > ''日本語っぽいプログラミング言語 そら豆スクリプト(SoraMame Script)''

#title(日本語っぽいプログラミング言語 そら豆スクリプト)

#ref(SoraMame_logo_m2.png)

__

そら豆スクリプト(SoraMame Script)は、自分で考えて自分で作りたい人のための、日本語っぽいプログラミング言語です。

今のところ、Webブラウザでグラフィックデザインやゲームを簡単に実現することを目指しています。

入力したコードは、ビジュアルデザイン用のプログラミング言語Processing.jsに変換して実行します(SoraMame.ps.js)。

そして、Processing.jsは、コードをJavascriptに変換して実行します。

#contents

以下、随時更新。


*クイックスタート [#i5229c3b]

**動物シミュレーション [#ea4d56a3]

とりあえず、どんなものが作られているか

実際にためしてみてください。

次のリンクをクリックして、「うごかす」ボタンをクリックするだけ。

-[[ボイド-動物の群れのように動くシミュレーション:http://www.catch.jp/program/soramame/sample/demos/boid.html]]

#ref(soramame5.png)

最新バージョンのWebブラウザを使っていれば、動くと思います。


**プログラムは、こんな感じ [#fd1f581d]

そら豆スクリプトで、マウスの位置にマルを描くプログラムは、こんな感じになります。

 //マウスの位置にマルを描く
 ---初期設定する{
   {幅:250, 高さ:250}のサイズ
 }
 
 ---くり返し描画する{
   {x:@マウスX, y:@マウスY}に{幅:50, 高さ:50}のマル
 }

下記のリンク先で「うごかす」ボタンを押したら、マウスを左側のエリアにもっていくと・・・

-[[サンプルを実行:http://www.catch.jp/program/soramame/SoraMame_Script.html]]

#ref(mouse_move.png)

マウスの動きに合わせて、マルが描けました。

次は、下から2番目の行で、右はしの「マル」を「シカク」に変えて、「うごかす」ボタンを押してみると・・・

 {x:@マウスX, y:@マウスY}に{幅:50, 高さ:50}のシカク

#ref(mouse_move2.png)

マウスの動きに合わせて、シカクが描けました。

ほかにも、いくつかサンプルプログラムを用意しているので、ぜひ試してみてください。

-[[サンプルプログラム集>SoraMame.ps.js/Samples]]

おもしろそうと思ったら、次の入門記事を読んでみてください。

-[[そら豆スクリプト入門>SoraMame.ps.js/入門]]

*主な内容 [#zbd58f3b]

**対象ユーザー [#ja24e7cc]

-プログラミングの初学者
-趣味・副業でプログラミングする人
-必要にかられて、たまにプログラミングする人

**期待できる導入効果 [#i3cd02f7]

あるいはプロジェクトの目標

-学習コストが低く、覚えるのに比較的手間がかからない
-コード可読性が高く、読めば動作が何となく分かる
-現実的な利用範囲で、実際に使えるものが作れる
-クリエイターとプログラマの共同作業を容易にする
--特定用途プログラミング言語(DSL)としてJavascriptと連携。
-(日本語形式のプログラミング言語で、コーディング規約を文書化する)

**特徴 [#jd18d8a8]
-日本語っぽいコードを[[Processing.js>Processing.js基礎最速入門]]に変換
-Webブラウザだけで開発/実行できる
-オブジェクト指向をサポート
-Processing/Processing.jsに変換でき、Arudinoなど様々な用途に展開(できたらいいな)
-Javascriptと連携でき、ほかのWebサービスに接続可能

-関数に名前付き引数を採用
-(区切り語の用例をルール化)
-(見本文をエディタで簡単に挿入できる)

**動作環境 [#wc349de0]

-HTML5とJavascriptが動作するWebブラウザ
--Firefox、GoogleChorme、 Opera、Safari
--IE9でも動きます。
-Windows, Mac, Androidで動作確認しています。
-iPhoneでも、動いています。

**ライセンス [#b11040f4]

MITライセンス 

-[[日本語参考訳:http://sourceforge.jp/projects/opensource/wiki/licenses%2FMIT_license]]

ドキュメント類は、クリエイティブ・コモンズで提供

*使い方 [#t82af018]

SoraMame Scriptの使い方を説明します。

**とりあえず、試すには [#z7b12ae8]

フォームにコードを入れて、「うごかす」ボタンをクリックします。

-[[サンプルを実行:http://www.catch.jp/program/soramame/SoraMame_Script.html]]

**インストールと起動 [#yb035e86]

+[[Downloads:https://github.com/ycatch/SoraMame.ps.js/downloads]]にアクセス
+「Download as ZIP」ボタンをクリックして、ファイルをダウンロード
+ダウンロードしたファイルを解凍
+「SoraMame_Script.html」ファイルをダブルクリック

**チュートリアル [#p6e0f9c4]

-[[そら豆スクリプト入門>SoraMame.ps.js/入門]]

**:リファレンス [#l51d44cd]

-[[文法と書き方>SoraMame.ps.js/Syntax_Style]]
-[[コマンドリファレンス:https://github.com/ycatch/SoraMame.ps.js/wiki]]

**サンプルプログラム集 [#b37a095a]

-[[サンプルプログラム集>SoraMame.ps.js/Samples]]

**コラム [#xd77dd4f]

-[[オレの考えた、プログラミング入門に挫折する6つの理由>SoraMame.ps.js/入門/Casestudy]]
-[[なぜ、そら豆スクリプトは、自然な日本語をめざさないのか>SoraMame.ps.js/入門/reason]]
-[[ルークよ、フォースを使え:日本語っぽいプログラミング言語で書くオブジェクト指向>SoraMame.ps.js/入門/object]]
-[[Processingのスケッチを、日本語っぽいプログラミング言語で作る>SoraMame.ps.js/入門/introduction]] そら豆スクリプトの紹介
-[[日本語ふうプログラミング言語の必要性:http://www.catch.jp/blog2a/?p=1413]] 2009年ごろに書いたやつ

*開発 [#t56c2a73]

**ソースコード [#m75b5dd3]

-github https://github.com/ycatch/SoraMame.ps.js

**作っている人 [#s0d83eb5]

-[[Twitter @y_catch:https://twitter.com/y_catch]] 
-[[facebook:http://www.facebook.com/yutaka.kachi]]

*課題 [#g389bc6a]

**既知の不具合 [#r482ab82]

-「もどる」命令が動作しない
-関数の第一引数に数式を書くとシンタックスエラーになる場合がある

 {x:@i*1, y:@i}に{幅:30, 高さ:30}のマル

-多数のShift/Reduce Conflictがある。演算記号に複数の用途がある場合(+, +=とか)におきている模様
-命令文を句点「。」で区切ると、動作がおかしい

**機能に関する要望 [#ke207903]

-変換済みのpjsファイルを保存できるようにする。
-%%オブジェクト操作についての記法に、日本語っぽさが足らない。%%
-Processing.jsのコードを直接呼び出す表記
-Processing.jsのキーワード名を直接呼び出す表記
-単項演算子「++」「--」。これがあれば、くりかえし命令のイディオムが書ける。
-GUIによるプログラミングエディタ
--編集ファイルの読み込み
--編集ファイルの保存
--定型文の挿入(重要)
--Blockyみたいなドラッグ&ドロップによる編集
-そのほか
--%%ドキュメント(リファレンス、チュートリアル、サンプル)の充実%%
--%%ブロックコメント文%%
--%%Webページとデモページの見栄えをかっこよく%%
--命令文の充実
--型変換
--オブジェクト継承、継承先のメソッド・プロパティ名を変換する方法
--3Dデモが、特定の環境(OpenGL? いいグラフィックカード?)でしか動かない。WebGL対応のはずなのに。

**ドキュメントの改善 [#v4da844a]

-%%文法マニュアルに、コマンドの追加方法を記載%%
-コマンドリファレンスに、すべての命令が記載されていない
-チュートリアルが、機能においついていない(保存機能とか)
-チュートリアルが、書きかけ(半分くらい)

**内部構造/開発体制の改善 [#l2a7ce3f]

-テストの自動化
-識別子(変数名、関数名、データ型名)などをローマ字ふりがなに自動変換。変換後のコードの可読性を高める。

*開発履歴 [#qfce1845]

-2013
--01.05 [[花火デモ:http://www.catch.jp/program/soramame/sample/demos/firework.html]]を追加
--01.04 配列リスト型(ArrayList)と、[[そのデモ:http://www.catch.jp/program/soramame/sample/demos/particles.html]]を追加
-2012
--12.31 オブジェクト表記の文法を修正。あわせてサンプルプログラムも差し替え
--12.22 定数とキーワードの表記として、$識別子を採用
--12.07 コラム:[[Processingのスケッチを、日本語っぽいプログラミング言語で作る>SoraMame.ps.js/入門/introduction]]を追加
--12.03 「文法と書き方」に、「Processing.jsのメソッドやプロパティを追加する方法」を記載
--12.01 [[3Dデモ:http://www.catch.jp/program/soramame/sample/demos/matrix_box.html]]を追加
--11.19 デモプログラムWebページのデザインを変更して、レスポンンシブWeb化した。
--11.12 [[横スクロールデモ:http://www.catch.jp/program/soramame/sample/demos/space_tunnel.html]]を追加
--11.07 ブロックコメント、画像表示命令を追加
--10.30 [[スペースワープデモ:http://www.catch.jp/program/soramame/sample/demos/space_warp.html]]を追加
--10.20 [[Github Wiki:https://github.com/ycatch/SoraMame.ps.js/wiki]]にリファレンスを移行
--10.09 [[第4回 プログラムを制御せよ - そら豆スクリプト入門:http://www.catch.jp/wiki/edit.php?SoraMame.ps.js%2F%C6%FE%CC%E7%2Fpart.4]]を公開
--09.17 [[第3回 マウスに合わせてアニメーション - そら豆スクリプト入門:http://www.catch.jp/wiki/edit.php?SoraMame.ps.js%2F%C6%FE%CC%E7%2Fpart.3]]を公開
--09.08 [[第2回 世界をマルで埋めつくせ - そら豆スクリプト入門:http://www.catch.jp/wiki/edit.php?SoraMame.ps.js%2F%C6%FE%CC%E7%2Fpart.2]]を公開
--09.03 [[きみの言葉がプログラムになっちゃう - そら豆スクリプト入門:http://www.catch.jp/wiki/edit.php?SoraMame.ps.js%2F%C6%FE%CC%E7]]と[[第1回 はじめるゼ:http://www.catch.jp/wiki/edit.php?SoraMame.ps.js%2F%C6%FE%CC%E7%2Fpart.1]]を公開
--08.27 ロゴを作ってみた
--08.20 コードエディタをちょいと機能アップ
--08.17 [[ボイドデモ:http://www.catch.jp/program/soramame/sample/demos/boid.html]]を追加
--07.28 なんとなく動くようになったので、外部に向けて初アナウンス
--05.20 開発スタート

*参考:スクリプト言語を作るための資料 [#af52242d]

-[[Part1.yaccによるJavascript電卓>making_script01]]
-[[Part2.yaccによるWebスクリプト言語>making_script02]]
-[[日本語プログラミング言語]]

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