はてなキーワード: シンタクスとは
副題:Androidで動くBASIC!でプログラミング教育を行うメリットとデメリット
01.はじめに
この文章は、Androidで動くBASIC!でプログラミング教育を行うメリットとデメリットに
02.BASICとは
BASICはプログラム初心者向け言語として1960年代に発表された古い言語です。
極めて簡単な文法とインタープリターによる即時実行や1970~80年代のパソコン
に無償で搭載されていたことから沢山の人に利用されていました。
しかし、簡単ゆえの機能の少なさと即時実行方式のための性能の低さやその後の
優れたプログラム言語発表によりBASICの利用は著しく低下しています。
03.BASIC!とは
BASIC!はアンドロイドのタブレットやスマートフォン上で動くアプリです。
Google playからインストール可能で無料で利用できます。
https://play.google.com/store/apps/details?id=com.rfo.basic&hl=ja
BASICの文法を踏襲していますが、Android向けに大幅に命令が拡張されており、
GPS等の各種センサーの情報取得やSQLiteのデータベース機能、WEBVIEWを利用
したHTML、CSS、JS表示・実行など約500程度の命令群で構成されています。
無料、広告なしのアプリをインストールするだけでこれらの機能が利用可能で
過去の栄光というかBASIC自体は広く利用された時期が過去に存在しパソコン
BASIC!は基本はBASICの拡張であり文法や変数の取り扱いにおおきな違いは
ありません。
その当時、少しであってもBASICを触った人は多いのでメンターとしての
BASIC!は手続き型と呼ばれる非オブジェクト指向の言語であり最新の言語
とは異なっています。
BASIC!のネイティブな命令群だけだと他の言語へのスムーズな移行は難しい
かもしれません。
しかし、BASIC!にはHTML5アプリのようにBASIC!自体のwebViewでHTML,JS,CSS
HTML,JS,CSSは現在Webの標準であり、進化を続けています。
特にjavascriptはオブジェクト指向の言語に進化し採用される領域もフロント
BASIC!自体のwebViewは他のAndroidアプリ同様、chromiumベースでAndroid
システムのWebviewの更新により常に最新化されています。
HTMLモードではjQuery,Angular,ReactなどのJSライブラリも利用できます。
最初はBASIC!ネイティブなプログラム→HTMLモードでJSを利用したプログラム
但しAndroid5.0あたりからAndroidシステムのWebviewが導入されているので
安いタブレットであれば1万円程度で新品が買えます。中古のスマホであれば
更に安価です。
またプログラムを作るのでキーボードもあった方がいいと思いますが
もちろんソフトウェアキーボード(フリック入力など)でもプログラムは
作れます。
パソコンよりもはるかに安価でプログラミング教育が実現可能です。
iPhoneの登場以来現在の子供たちはタッチパネルAndroidデバイスに
慣れています。
また教える大人側も日頃パソコンよりスマホを触る人は多いと思います。
f.可搬性が高い
ここで述べる可搬性とは別のデバイスで同じプログラムを動かす場合の
容易さの事です。
BASIC!はインタープリタなのでソースファイルのみを別のデバイスに
仮にHTMLモードの場合は併せてHTML,JS,CSSをコピーするだけです。
別のデバイスにはBASIC!さえインストールされていれば動きます。
BASIC!独自のプラグインや拡張モジュールなどは特にありません。
a.性能上の問題
BASIC!の実体はJavaで出来ています。すなわちJavaよりは性能は悪い
ことになります。
実際、大量の繰り返しや大量の文字列を扱うプログラムは性能が出ないので
Androidのスマホやタブレット自体もパソコンの演算能力には劣ります。
但し、プログラミング教育には大きな障害にならないと思います。
BASIC!はプログラムを作るアプリである以上当然文法エラーを実行時に
表示する仕組みになっています。
ただ一部エラーチェックが甘い部分もあり本来エラーとすべきところを
そのまま実行する場合もあり想定外の結果となる可能性もあります。
次にエディタは単なるテキストエディタと同等の機能しかなく最近の
エディタにあるようなシンタクスハイライトや入力補完といった機能は
ありません。
ただ比較的シンプルなプログラムを作る教育では大きな影響は無いと
考えています。
c.一部機能に制約がある
前述の通りHTMLモードではJSが動かせます。ただし制約があります。
非同期通信などを行おうする場合、JSが実行時エラーになる可能性が
あります。
またデータベース機能であるSQLiteへの操作についても文字型項目しか
利用できない制約があります。
JSがローカルモードのみなのは教育の事を考えると少し残念ですが
d.参考となる文献がほぼない
該当する書籍がないのが実情です。
■BASIC! ~ 分かりやすい教本で一から学べるコンピュータ言語 - Android★SQUARE
http://blog.livedoor.jp/an_square/archives/51887786.html
BASIC!の文法自体は極めて簡単なのでどうにかなると思います。
06.結論
http://anond.hatelabo.jp/20070918162050
そもそもコンテンツがなければセマンティクスもシンタクスも不要。
文句があるなら食わなきゃいい。食うなら黙って食えって話だ。