2019/09/20

コンピュータの進化

コンピュータは電子計算機から情報処理装置へ進化し、さらに人工知能へと進化しようとしている。中国語の電脳という言葉はまさにこの第三段階を表していると言える。今、私が人工知能に期待するのは翻訳・通訳。世界の言葉の壁を取り払ってくれることを望む。

プログラミングの自動化はなかなか難しかったが、人工知能の進化によりプログラミングをしないで済む時代が来るかもしれない。そうなったときのプログラムは解法を書くのではなく、問題定義が本質になるだろう。人間と人工知能は問題を正確に記述し、共有する必要がある。

| | コメント (0)

2018/01/27

小さくて寛容な言語

マイクロソフトが2008年10月に公開したプログラミング言語 Small Basic (スモールベーシック)が今年で10周年を迎えます。

Small Basic はプログラミングを学ぶ人向けの入門用言語として作られました。Small Basic の特長はいろいろありますが、そのうち代表的な2つを紹介したいと思います。

小さい
Small Basic は非常に小さな言語です。この特長は初心者が取り組みやすいように配慮されたものでしょう。Small Basic v1.2 のキーワードが 14、オブジェクトが 20、オブジェクトに含まれるメンバ(プロパティ/イベント/操作)は 244 です。すぐに覚えられる範囲だと思います。しかも、下で説明するヘルプの機能があるので覚えていなくても大丈夫です。ただし、Small Basic の祖先にあたる1970年代に作られた BASIC の一つで1980年代に私が愛用していた F-BASIC V3.0 のステートメントの数は 149 でした。

寛容
Small Basic はミスに対して寛容です。これは初心者がエラーに悩まされることを軽減するための配慮でしょう。Small Basic が寛容であることは文法、実行時、操作性に分けられます。文法上のミスに対して6つの特長があります。

・型がないので型が違うというエラーが起きない
・キーワード、オブジェクト、変数名などの大文字と小文字は区別されない
・変数を必ずしも初期化する必要はない(初期値として空""が入っているが代入が全くないとエラーになる)
・操作の引数の間のカンマは省略しても大丈夫
・行末では文字列の引用符が閉じていなくても大丈夫
・文法エラーがあると謝ってくれる(残念ながら日本語版では訳されていません...)

実行時にも以下の特長があります。

・論理値が"True"、"False"以外でも"False"として扱われる
・定義されていない色の名前は"Black"として扱われる
・0 除算でエラーにならない(結果が 0 になる)ようになっていた(v1.2 でエラーになるよう変更された)

操作性の上では入力に応じて候補とヘルプが表示される IntelliSense(インテリセンス)機能があり、途中まで入力してメニューから選ぶことができます。オブジェクトやメンバの名前が若干長いですが、この機能により簡単に入力することができます。

---
Small Basic のその他の特長については、ちょっと古いですがこちらにまとめてあります。昔の英文の訳のままなので、近いうちに更新したいと思います。

| | コメント (0) | トラックバック (0)

2017/11/03

Small Basic 今月のチャレンジのすすめ

マイクロソフトのプログラミング入門用の言語 Small Basic。公開されて 9 年が経ちました。Small Basic フォーラムというオンラインのコミュニティで英国のリットデブ (litdev) さんが中心となって毎月チャレンジ問題が出題されています。ここ何か月かのチャレンジ問題は Small Basic Fun Japan に和訳を載せていますのでご覧ください。

初心者向けの問題から中・上級者向けの問題まで出題されています。2020年のプログラミング教育の必修化の流れにも、英語教育で4技能(聞く・話す・読む・書く)にバランスよく取り組もうとする流れにも、この今月のチャレンジ (Challenge of the Month) への挑戦はいい機会になると思います。特に小学校での英語教育は現時点では聞く・話すに重点が置かれているようです。それを補ううえで、このチャレンジを通して読む・書くという実践的な機会が役に立つのではないでしょうか。

私自身も 2010 年から Small Basic と毎月のチャレンジに取り組んできました。Small Basic の問題は挑戦しやすいものや挑戦し甲斐のあるものが連綿と続いています。過去の問題を解くのも面白いと思います。英語もそれほど長文ではないですし、ネット上でやり取りができるので、不明点を確認することもできます。初めの頃は問題の意味を取り違えることもありましたが、そのような経験も大切だと思います。

Small Basic というプログラミング言語はたった 14 のキーワードと 20 のオブジェクト(ライブラリ)からなっていて、小学生でもすぐに覚えられるでしょう。オブジェクトには数学の関数も含まれているので、この挑戦によって、少なくともプログラミング、英語、数学の 3 教科の習得につながります。小学校のうちは理論はさて置き、これらに楽しみながら触れていくことが将来につながっていくと思います。

最近のプログラミング・ブームでは Scratch などのビジュアル系プログラミング環境がプログラミングの入口として活用されていますが、小学 4 年生くらいから、テキストベースのプログラミング言語である Small Basic の今月のチャレンジに取り組んでみてはいかがでしょうか。

フォーラムに書き込む際に簡単な英語を書くことになりますが、初めは Google TranslateBing Translator などの翻訳サイトを使うといいと思います。実際、英語圏以外のお子さんも(大人も)使っておられます。

| | コメント (0) | トラックバック (0)