プログラム初心者にアセンブラを勧める理由
小学校でプログラムの授業が始まると最近ニュースになっています
小学生じゃなくても初めてプログラムを勉強する上で、実際にどの言語を選択するのかは大きな課題だと思います
自分は今までアセンブラ(PICマイコン)に始まり、C/C++/Objective-c,PHP,Java,VBAなど色々な言語を経験してきた上で言わせてもらいますが、
もしも特にプログラムでやりたい目標が定まっていないのなら、初めての言語にはアセンブラを激しくおすすめしたいです
なぜアセンブラか?
命令が少ない
ここでいうアセンブラとはPICマイコン用の命令言語のことです
アセンブラはまずコマンド(命令)が非常に少ないです
全部で60個くらい(だったかな?)
しかも、実際によく使うのはそのうちの10個くらいです
つまり10個のコマンドだけでプログラムが組めてしまうわけです
プログラム初心者にとってコマンドや規則が多いと覚えることが多すぎて、プログラムそのものを楽しめないという状況があるかと思います
だから最初は出来るだけシンプルかつコンパクトな言語を選択すべきだと思います
動作が体感できる
初めてプログラムをやる人にとって大きな疑問の一つは
「それができたから、実際に何ができるのか?どう役立つの?」
ということじゃないでしょうか
難しく難解なプログラムの書き方をようやく習得したところで、じゃあそれが何の役に立つのでしょうか?
例えばゲームが作れる、ウェブサイトが作れると言った目標はわかりやすいです
けど、そのどちらにも興味のない人にとっては「だから何なの?」です
例えばPHPはウェブサイトを構築するのに便利な言語ですが、ウェブサイトを淡々と作っても画面の中で何かよくわからないものが動くだけで、いまいち何かを作り上げた実感にかけるのは否めません
画面上で「Hello World!」が表示されたから一体なんの?全然面白くないんだけど
と感じる気持ちはよくわかります
その点、PICマイコンは実際に現実世界で物を動かしたりできるのでプログラムした実感が湧きやすいです
PICマイコンはプログラムを記憶させるチップのことで、記憶したチップはそのプログラムの通りに電気を流します
だからその電気が流れる先にLEDやモーターを繋げば、プログラム通りにLEDがピカピカ光ったり、モーターがウインウインと動きます
PICマイコンを搭載した車を1秒ごとにLEDを点滅させて、3秒前進してから停止する、なんていうプログラムも簡単に書けます
「電気で動くものだったら何でもPICマイコンに接続して、プログラム通りに動かせる」
と思ったら何だかワクワクしてこないでしょうか?
少なくともディスプレイ上で「Hello World!」を表示するだけよりも、こちらの方がプログラムによる実感が湧きやすいのは事実だと思います
安い
PICマイコンは、チップ自体の値段は500円もしません
小さなものだと200円とかで買えます
プログラムを焼き付けるのに専用のライターが必要になりますが、それも自作しちゃえば1000円くらいで作れます
そこにLEDとかモーターを付け足しても2000円もあれば十分に楽しめます
いろんな物が作れる
PICマイコンは非常に応用範囲が広くて、電子工作にはうってつけです
僕自身が過去に作ったことがあるのはバイクの油温やギアのポジションを液晶に表示する装置だったり、簡単なセキュリティ装置とかです
だけどPICマイコンの可能性は無限大です
しかも半田付けとか電子工作の知識も学べてまさに一石三鳥です
ディスカッション
コメント一覧
まだ、コメントがありません
新たにPostされたDocs
: ツール関連
キーボードを銀軸から赤軸に買い替えた話
約3年半前、仕事で使うキーボードとしてARCHISS ProgresTouchの ...: スマホ
楽天モバイルがおすすめできない人の特徴とは?
楽天モバイルの最強プランをおすすめできない人の特徴を簡単にまとめてみました また ...: システム開発
なぜスクラムがつらいのか?開発現場が疲弊するのか?スクラムに対する違和感と共に原因を考えてみた
今ではどこの開発現場に行っても、やれスクラムスクラムと、まるでスクラムでもやって ...: Laravel
1つのテーブルを複数のテーブルと結合したい【Laravel10】
1つのテーブルを2つの異なるテーブルに対して結合したいケースがあったのでLara ...: Laravel
Laravelで複数画像アップロード時のvalidateを指定【Laravel10】
jQuery - Image Uploaderを使って、フォームから複数の画像を ...HashMap
created_by
はやぴ
Web/アプリ開発エンジニア
Sierにてお堅いB向けのソフトウェア開発を経て、現在はC向けのWebやアプリを中心に開発しています。
Utilities