« 2017年11月 | トップページ | 2019年1月 »

2018年1月

2018/01/31

漢数字の不規則性

アラビア数字を入力し漢数字を出力するプログラムを作成中です。プログラムID NBS194で公開しました。

「一」の扱いがまだうまくいっていません。「一百」「一十」は使わないですよね。

「一千」はあまり使わないのに「千万」は使わず「一千万」を使う。この辺を改良する必要があります。中国語でも同じなのか気になります。

| | コメント (1) | トラックバック (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月 | トップページ | 2019年1月 »