プログラミング初めの一歩


皆さんが初めてプログラミングを体験した時の言語は、何でしょうか? Basic と言う人は多いと思います。
N88-BASIC だと言う人は、年代がバレバレですね。
Visual Basic と言う人は、それよりは若いですね。

私が初めてプログラムを作ったのは、CASIO の FX-502P と言うプログラム電卓でした。なにか面白そうだと感じたものの、使いこなせないまま、時間だけが流れました。その経験から10年以上後になって、改めてパソコンでプログラミングを覚え、今は Casio Basic の使いこなしにハマッています。

プログラミングの最初は、色々あっても良さそうです。

新世代 Casio Basic は、先ずは候補として挙げておきます。


2010年にリリースされた Microsoft の small Basic も面白そうです。
Casio Basic とよく似ています。変数はグローバル変数のみ、デフォルトでは14のキーワードしかなく、エディタでプログラムを書いて、スグに実行できます。そして構造化プログラミングができます。VB.NET のサブセット版の位置づけです。Windows XP、VISTA、7 で動くとされています。Windows 8 以降の対応については明記されていません。

とにかく小さいことを追求し、憶えることを極力減らし、直感的に使えることを目指しているとアナウンスされています。私が Casio Basic が Basic 修得に向いていると言う考えに限りなく近いコンセプトです
 ⇒ small Basic のFAQページ


もう一つ、極端な最初の一歩として、IchigoJam を紹介しようと思います。
子供(小学生やそれ以下)が Basic プログラミングを始めるためのもの、との位置づけだそうです。スティーブ・ジョブスが発売した Apple や昔の NEC PC8001 のように BASIC が OS で、電源を入れたらスグに BASIC でプログラムを書けるコンピュータです。

ネット接続機能がなく子供が余計なコンテンツにアクセスする心配がなく、BASIC プログラミングのみが可能な究極の単一目的ハードウェアです。ハードウェア的には、プログラム電卓に近いですね。但し、一世代前の行番号付きの BASIC が走ります。面白いのは組立キットで販売されていて、なんと¥1500円程度なのです。お父さんがちびっ子に格好いいところを見せるのにも、お財布に優しくて良いですね。色々なイベントで子供達にプログラミングの楽しさを教える活動をしているのも、とても素晴らしいと思います。
 ⇒ こどもパソコン IchigoJam


皆さんのプログラミング初めの一歩は何でしょうか?




応援クリックをお願いします。励みになるので...

人気ブログランキングへ


FC2ブログランキングへ



 


keywords: CasioBasicプログラミング入門プログラム関数電卓

リンク集 | ブログ内マップ


関連記事

テーマ : プログラム関数電卓
ジャンル : コンピュータ

コメントの投稿

非公開コメント

No title

管理人様、こんにちは!

small Basicは前にちょっと見たことあったんですけど、IchigoJamは初めて見ました。
今時の何でもできちゃう万能タイプからすればシンプルイズベストそのままの古き良きBASICっていう感じが懐かしさいっぱいです(^^)

私の最初のプログラミングはfx-602PからSHARPのポケコン、そしてパソコンはSHARPのX1からX68Kという流れでした。
今から考えるとたいしたことは何もできなかったんですけど、マシン語が扱えるようになってこれで何でも出来そうに思えた時代がちょっと懐かしいです。

今はPCでもスマホでも何かしらプログラム作ろうとしたらそれなりに敷居の高いところを越えないといけないのが難点ですね。
そういう時代だからこそ、この手のシンプルなハード&言語は簡単にプログラミングの面白さを感じられるいい機会になりますね。

プログラム電卓も入り口は電卓からプログラムへという流れだと思うので、今後もプログラミングに興味が持てる電卓がたくさん出てくることを期待したいです。

やりたいこと

sentaro様

以前ですと、何かやりたいことがあって、チョット取り組むととりあえず何かできた感じでしたよね。

皆が何かを作りたい、作ったものを見て貰いたい、一緒になってあれやこれや話が盛り上がったような印象が残っています。

おっしゃるように、Windows、MAC、スマホやタブレットでチョット何かやりたいことがあっても、以前のように簡単にできないと言うのは、確かに厳しいと思います。

IchigoJamのような文字を打って作る開発環境に対して、LabViewとか子供用ならScratch などのようにパソコンでオブジェクトをD&Dしてプログラムを作る環境もあって、敷居が下がることで、プログラムを作る楽しさを味わってくれる人が増えるといいですよね。

プログラム電卓も、この流れで遊べると思うのですが、まだまだこれからのような気がします。

No title

 Ichigojamは欲しくなりました。最初のプログラムは、MZ-1500のBASICでした。

IchigoJam

藤堂様


>  Ichigojamは欲しくなりました。最初のプログラムは、MZ-1500のBASICでした。

なかなか気になりますよね。

確か、シャープのMZ-2000 はカセットテープでブートローディングするものだったと思います。家庭教師で教えていた子が持っていたので、なんとなく憶えています。一緒にプログラム組んで「数学の勉強」してことがあります。

MZ-1500 もテープでブートロードするものですか?


No title

管理人様、こんにちは!

>LabViewとか子供用ならScratch などのようにパソコンでオブジェクトをD&Dしてプログラムを作る環境もあって、

部品を組み立てる感覚のプログラミングスタイルはいまどきのWindows環境では一番しっくり来るものだと感じますね。

最近TI Nspire CX CASのLuaやClasspadのSDKを触ってみて、どちらもイベント駆動スタイルなプログラミングなので、CasioBasicやfx-9860GシリーズのSDKとはまた違ったややこしさというか作法の違いを感じました。
MS-DOSからWindows3.1になったような違いですね。

IchigoJamのようにCPU動作の基本に近いところから入っていくのもコンピュータの基本動作の理解という意味ではとても意味があることだと思います。


>確か、シャープのMZ-2000 はカセットテープでブートローディングするものだったと思います。

X1も初期はテープからのブートでした。
MZ-1500の時はクイックディスクでかなり便利になってたですね。

Re: No title

sentaro様


> 最近TI Nspire CX CASのLuaやClasspadのSDKを触ってみて、どちらもイベント駆動スタイルなプログラミングなので、CasioBasicやfx-9860GシリーズのSDKとはまた違ったややこしさというか作法の違いを感じました。

> MS-DOSからWindows3.1になったような違いですね。

確かに、Mas-DOS からWin3.1への変化は大変でした。メッセージループの仕組みが分からないと、Evevt Driven
なプログラミング作法がピンときませんでした。

TI機やClasspad はマルチタスクなんですか?


> IchigoJamのようにCPU動作の基本に近いところから入っていくのもコンピュータの基本動作の理解という意味ではとても意味があることだと思います。

個人的には原理原則に近いほうが、子供向けにはシンプルで入口には良いと思います。


> MZ-1500の時はクイックディスクでかなり便利になってたですね。

QDは聞いたことがあります。見たことないのですが、低密度なフロッピーディスクみたいなものと勝手に思ってました。

No title

管理人様、こんにちは!

>TI機やClasspad はマルチタスクなんですか?

詳しくはわかってないですけど、マルチタスクといってもタイムシェアリングではないっぽいのでWin3.1とほぼ同様な感じです。

ほぼMS-DOS的な感じでいけるfxシリーズと比べると作法がちょっと違うので慣れないと全く目的のプログラムが作れないですね(^^;
ということで、TIのLuaやClasspadではまだまともには作れるようにはなってないところです。
Classpadは実機を持ってないのでSDKのエミュレータで試すだけですけど、参考となるべきサンプルソースがほぼ皆無に近いので”Hello World"レベルからなかなか先に進めません(^^;
Classpadのアドイン数が少ない理由がわかる気がしました。

TIのLuaはサンプルがそこそこ豊富なので真似して試してという手法でなんとかなりそうですけど、fxシリーズとは違うプログラミングスタイルなので自由自在に使えるようになるにはまだまだです。
NspireにしてもClasspadにしても電卓というよりもウインドウズパソコンに近いOSなのでプログラミングの敷居はちょっと高い感じありますね。

それに引き換え、HP Primeはハードキーの付いたスマホそのものですけど、内蔵BasicはプログラミングスタイルがCasioBasic上位版という感覚で使えるので(私的にはですが)かなり分かりやすいです。
Nspireも内蔵TI-BasicならCasioBasic感覚でいけるのですが機能的にCasioBasicより全部上ともいえないところがあるし、Luaは最初に想像していたのとはちょっと違いました(^^;
某所に出張した折にちょこっとはまってちょこちょこしてます(^^;
http://akatuki-724.blogspot.jp/2014/05/hp-prime.html


>QDは聞いたことがあります。見たことないのですが、低密度なフロッピーディスクみたいなものと勝手に思ってました。

容量が片面64KBなので低密度なフロッピーみたいなものというのは当たってます。
ただ、フロッピーと違うのはシーケンシャルアクセスしかできないので実際には速いカセットテープという感じですね。

Windows Like Programming

sentaro様


> 詳しくはわかってないですけど、マルチタスクといってもタイムシェアリングではないっぽいのでWin3.1とほぼ同様な感じです。

おっしゃっている内容から、ActiveBasic を使ったWindowsプログラミングに近いのだろうか?と想像しています。実際に触ってみてからコメントすべきですね...すみません。

ところで、ActiveBasic はコンソールアプリも作れ、Windows 上でも簡単に Basicでプログラミングができます。メッセージループを意識すれば、処理をチョコチョコと書き加えるだけでそこそこ便利なツールを作れたりします。そんな感じかも知れませんね。

ActiveなWindowのタイトルバーに張り付く時計を ActiveBasicで作りました。今作業しているWindowのタイトルバーへ表示が常に切り替わるので、意外にに便利で今でも愛用していたりします。WinXPの時に作った20行程度の簡単なプログラムですが、Win8.1でも使えているので、Windowsの本質的なところは変わっていないようです。


> ほぼMS-DOS的な感じでいけるfxシリーズと比べると作法がちょっと違うので慣れないと全く目的のプログラムが作れないですね(^^;

プログラム全体のフローはOS任せと言う感じでしょうか?


> ということで、TIのLuaやClasspadではまだまともには作れるようにはなってないところです。
> Classpadは実機を持ってないのでSDKのエミュレータで試すだけですけど、参考となるべきサンプルソースがほぼ皆無に近いので”Hello World"レベルからなかなか先に進めません(^^;
> Classpadのアドイン数が少ない理由がわかる気がしました。

Windowsプログラミングとは、かなり違うのでしょうか?
或いは、これらのプロ電ユーザーは、Windowsプログラミングをたしなまないと言うことは、あるのだろうか?
チョット面白そうですね。


> TIのLuaはサンプルがそこそこ豊富なので真似して試してという手法でなんとかなりそうですけど、fxシぷろリーズとは違うプログラミングスタイルなので自由自在に使えるようになるにはまだまだです。
> NspireにしてもClasspadにしても電卓というよりもウインドウズパソコンに近いOSなのでプログラミングの敷居はちょっと高い感じありますね。

これらの電卓のOSで、メッセージループに近いところまで入り込めたら、昔の APIを叩いて作る Windowsプログラミングの感覚でいけそうですね。どのメッセージを捕まえて起動するか、どのメッセージをPostするか、或いは メッセージループを強引に回すか、他のプロセスに迷惑にならないようにどうやって処理分割をする...こんな感じで作っていましたので、同じなら古いWindowsプログラミングのセンスが活かせるかも知れませんね。


> それに引き換え、HP Primeはハードキーの付いたスマホそのものですけど、内蔵BasicはプログラミングスタイルがCasioBasic上位版という感覚で使えるので(私的にはですが)かなり分かりやすいです。
> Nspireも内蔵TI-BasicならCasioBasic感覚でいけるのですが機能的にCasioBasicより全部上ともいえないところがあるし、Luaは最初に想像していたのとはちょっと違いました(^^;

お試しとは言え、本当に素早いですね。

> 某所に出張した折にちょこっとはまってちょこちょこしてます(^^;
> http://akatuki-724.blogspot.jp/2014/05/hp-prime.html

はい、拝見しました。

昨晩、帰宅途中の電車の中で、横着して fx-9860GII用 をそのまま fx-5800P に移植したのですが、さっぱり動きません。ロジックまできちんと確認せず、丸写しなのですが、謎です。


> 容量が片面64KBなので低密度なフロッピーみたいなものというのは当たってます。
> ただ、フロッピーと違うのはシーケンシャルアクセスしかできないので実際には速いカセットテープという感じですね。

シャープの目の付け所は、面白いですね。当時はある意味デファクト・スタンダード争いと言う面もあって、新しいデバイスがどんどん登場した楽しい時代でしたね。


多桁円周率の計算

某所のネタですが、うまくゆきました(^_^)/

No title

管理人様、こんにちは!

>ところで、ActiveBasic はコンソールアプリも作れ、Windows 上でも簡単に Basicでプログラミングができます。メッセージループを意識すれば、処理をチョコチョコと書き加えるだけでそこそこ便利なツールを作れたりします。そんな感じかも知れませんね。

まだ序の口なのではっきり分からないところですが、たぶん、TIのLuaはその感覚に近いかもしれないです。

>プログラム全体のフローはOS任せと言う感じでしょうか?

はい、そういう感じに見えます。

>Windowsプログラミングとは、かなり違うのでしょうか?
>或いは、これらのプロ電ユーザーは、Windowsプログラミングをたしなまないと言うことは、あるのだろうか?
>チョット面白そうですね。

Windowsプログラミング経験があればあるほどNspireやClasspadのプログラミングの敷居はかなり下がると思います。
ただ、ClasspadのSDKだと一からC++ソースを書いていく必要があるのでそれなりにWindowsプログラミング経験が無いとかなり敷居高く感じるのではないでしょうか。
私のWindowsプログラミングはRAD系のC++Builderをちょこっとかじってた程度だったので、ほぼ何も無いところからC++ソースを書かないといけないClasspadのSDKは大きな壁に当たった感じでちょっと難儀してます(^^;

>これらの電卓のOSで、メッセージループに近いところまで入り込めたら、昔の APIを叩いて作る Windowsプログラミングの感覚でいけそうですね。どのメッセージを捕まえて起動するか、どのメッセージをPostするか、或いは メッセージループを強引に回すか、他のプロセスに迷惑にならないようにどうやって処理分割をする...こんな感じで作っていましたので、同じなら古いWindowsプログラミングのセンスが活かせるかも知れませんね。

管理人様ならすんなり入っていけるかもしれません(^^)

NspireのLuaはとりあえずStudent Softwareの体験版で試せますし、3000円でNspireのフル機能が使えるiPad版アプリがありますね。

ClasspadのSDKは仏PlanetCasioからダウンロードできますので登録無しで無料で試せます。
http://www.planet-casio.com/production/Uk/software/casio_software.php?software=Classpad_SDK_v3.08_software&showid=17


>昨晩、帰宅途中の電車の中で、横着して fx-9860GII用 をそのまま fx-5800P に移植したのですが、さっぱり動きません。ロジックまできちんと確認せず、丸写しなのですが、謎です。
>某所のネタですが、うまくゆきました(^_^)/

無事動いてよかったです(^^)
わずか一文字違っただけでも動かないのがプログラムですけど、それがまた醍醐味でもありますね。


>シャープの目の付け所は、面白いですね。当時はある意味デファクト・スタンダード争いと言う面もあって、新しいデバイスがどんどん登場した楽しい時代でしたね。

3.5インチが標準になる前に3インチフロッピーを出して結構いい線いっていたと思うのですが最後の詰めが甘かったというところでしょうかね。
いろんなデバイスがあって楽しかった反面、スタンダードになれなかったマイナー規格に散財することも多かった時代でした(^^;

散財

sentaro様

> NspireのLuaはとりあえずStudent Softwareの体験版で試せますし、3000円でNspireのフル機能が使えるiPad版アプリがありますね。

> ClasspadのSDKは仏PlanetCasioからダウンロードできますので登録無しで無料で試せます。
> http://www.planet-casio.com/production/Uk/software/casio_software.php?software=Classpad_SDK_v3.08_software&showid=17

面白そうなものを照会頂きました。ありがとうございます。

新しいおもちゃを手に入れる子供の気分で、楽しみです!


> 無事動いてよかったです(^^)
> わずか一文字違っただけでも動かないのがプログラムですけど、それがまた醍醐味でもありますね。

C のAdd-in のソースも拝見しました。変数名の一つにローマ字が混ざってのを見つけ、思わずムフフです。


> いろんなデバイスがあって楽しかった反面、スタンダードになれなかったマイナー規格に散財することも多かった時代でした(^^;

日本国民が最も散財したのは、NECのPC98シリーズではないでしょうか?

壮大な無駄でしたね!

No title

管理人様、こんにちは!

>C のAdd-in のソースも拝見しました。変数名の一つにローマ字が混ざってのを見つけ、思わずムフフです。

あ゛…つい、いつもの癖が(^^;

変数名は昔から英語名よりもローマ字名が多かったりしますね(^^;

管理人様の計算量を減らす作戦にヒントを得て計算量削減版を試してます。
ちょっとまだ改良しないといけない感じですが…。


>日本国民が最も散財したのは、NECのPC98シリーズではないでしょうか?
>壮大な無駄でしたね!

でしたよね。
今考えるとコストパフォーマンスは相当に悪かったですし、かなり散財しちゃいましたね(^^;

もう少しなんとかしたいものです

sentaro様

計算量を減らすのに、掛け算と割り算を一緒に行うのは面白いですね。

私も、オイラーの級数展開の計算アルゴリズムを他の方法で試してみたところ、少し高速化できたみたいです(fx-5800P で100桁が7分50秒)が、メモリ消費量が多く、私の fx-5800P の空き容量が少ないため180桁くらいが限度になっています。最初の1桁目の計算を決め打ちしてやることで、もう少し計算量を減らせそうな気がしています。

sentaro様の移植版、見れば見るほどよくできていますね。綺麗なアルゴリズムです。



ところで、sentaro様と私で、同じ現象に出くわしたようですね。1変数の桁数を減らさないと正しく計算できないという問題...

sentaro様が移植されたアルゴリズムの方が、省メモリ性能が高いので、これを高速化する方がよさそうです。


なんだか、面白くて思いっきりハマッています。気がついたら真夜中というか明け方でした(-_-;)

効果てきめんです。

管理人様、こんにちは!

新アルゴリズム効果てきめんですね。

表示のオーバーヘッドがかなりあるのでそれを削除すると一番速いですね(^^)

>sentaro様の移植版、見れば見るほどよくできていますね。綺麗なアルゴリズムです。

いえいえ、元ネタがあればこそです。
私の場合はゼロからというのがからっきし苦手なものでいじるのが専門です(^^;

>sentaro様が移植されたアルゴリズムの方が、省メモリ性能が高いので、これを高速化する方がよさそうです。

高速化の余地が後どれだけあるかわからないですけど、こういうのって考え出すと時間を忘れますね(^^;


>なんだか、面白くて思いっきりハマッています。気がついたら真夜中というか明け方でした(-_-;)

本当におつかれさまでした。

でも、この手の最適化というか、本当にハマります。すごくよくわかります(^^)

Re: 効果てきめんです。

sentaro様

新アルゴリズムは思った以上に高速化の効果があって、逆に何がそんなに効いているのか、そこらへんが興味の対象になっています。

> 表示のオーバーヘッドがかなりあるのでそれを削除すると一番速いですね(^^)

Locate のオーバーヘッドがどの程度のものか、実際に数字で比較してみると面白そうです。


> でも、この手の最適化というか、本当にハマります。すごくよくわかります(^^)

あはは、家内はあきれてみていました。娘は「楽しそうだね」と暖かい目で見てくれていました(^_^)/
私が楽しそうにプログラミングしているのを見て、娘はIT企業に就職して、プログラムを書いてお給料もらうようになっています(予想外です...)。

...って、歳がバレバレですね(^^;)

No title

管理人様、こんにちは!

akatuki様の円周率ネタにハマって早くも二週間!
久々にどっぷりハマってます(笑)

>あはは、家内はあきれてみていました。娘は「楽しそうだね」と暖かい目で見てくれていました(^_^)/
私が楽しそうにプログラミングしているのを見て、娘はIT企業に就職して、プログラムを書いてお給料もらうようになっています(予想外です...)。

管理人様のDNAがしっかり受け継がれていますね(^^)

では、続きは新しい円周率エントリーで…
最新記事
最新コメント
カテゴリ
C# (3)
検索フォーム
Visitors
Online Counter
現在の閲覧者数:
プロフィール

やす (Krtyski)

Author:やす (Krtyski)
since Oct 30, 2013


プログラム関数電卓は、プログラムを作り・使ってナンボ!

実際に触って気づいたこと、自作プログラム、電卓プログラミングについて書いています

おもしろい・役に立つならクリックしてください。励みになります。

人気ブログランキングへ


FC2ブログランキングへ


写真: 「4駆で泥んこ遊び@オックスフォード郊外」

リンク
月別アーカイブ
Sitemap

全ての記事を表示する

RSSリンクの表示
最新トラックバック
ブロとも申請フォーム

この人とブロともになる

QRコード
QR