今回はプログラミング言語について説明します。
言語?
ちょっと長い道のりでしたが、最初のスケッチを作成してArduinoを動作させてみました。
Arduinoを動かすための指示書のことを「スケッチ」と呼んでいましたが、コンピュータを動作させるための指示書のことを一般的には「プログラム」と呼びます。
今後の記事では「スケッチ」「プログラム」という言葉を使いますが両方同じ意味になります。
「スケッチ」はArduinoの世界だけで使われる言葉ですので、もしArduinoを知らない人と話すときに「スケッチ」というと通じませんので注意してください。
前回の記事で作成したスケッチではいくつかの指示(命令)を使用しましたが、これからもっとたくさんの種類が出てきます。
スケッチでは指示の書き方が厳密に決まっていましたよね(以前の記事で1回わざと怒られてみました。ひどい言われようでしたよね…涙)
これからこのような厳密な書き方をたくさん覚えていきます。
プログラムは、このようにたくさんの種類の「指示」と「書き方」が決まっていることから、動作をコンピュータに伝える「言葉」というとらえ方をして「プログラミング言語」と呼んでいます。
この説明だけですと、「言語」と呼ぶ理由がちょっとわかりづらいかもしれません。
人が話す「言語」は、単語の集まりがあり、その単語の組み合わせ方、つまり文法が決まっています。プログラムもこれと似ているので「言語」と呼ばれています。
この「プログラミング言語」は1種類だけ存在する、というわけではありません。人が話す言語は、日本語、英語、中国語などたくさんあるように、プログラミング言語もたくさんあります。
プログラミング言語について、もう少し用語を覚えておきましょう。人が話す言語では、単語から文章を組み立てるルールを「文法」と呼んでいます。
プログラミング言語でも同じように、命令の書き方のルールを「文法」と呼んでいます。
Arduinoのプログラミング言語は?
ところで、Arduino IDEで使用しているプログラミング言語は何という言語なのでしょうか。
Arduinoの公式ページでは「Arduino言語」と説明されていますが、実際の中身は「C++言語」です。この基礎編のシリーズで習得するプログラミング言語は「C++言語」と理解していただいて問題ありません。
Arduino言語は、C++言語をベースにして、初心者の方でも電子部品が制御しやすいように「pinMode」や「digitalWrite」という指示を追加したものです。次のようなイメージになります。
「Arduino言語」=「C++言語」+「Arduino専用のわかりやすい指示」
基礎編を習得すると、C++言語プログラミングの基礎部分を理解できるような説明の進め方にしています。
「Arduino言語」について補足しておきます。
すでにご存知の方もいるかもしれませんが、一般的にC++言語は習得が難しいと言われています。確かに初学者の人にはとっつきにくいところがあります。
そこで、Arduino言語では、C++言語の難しい部分はなるべく使わなくてもプログラミングできるように作られています。
そのため、C++言語は難しいとはいっても、Arduinoでプログラミングを習得するのはそれほど難しくありません(それもArduino人気の理由のひとつです)。
他のプログラミング言語も気になりますよね
ところで、プログラミング入門のサイトや本をみると、初心者向けに「Python」(パイソン) や「JavaScript」(ジャバスクリプト) というプログラミング言語が使われていることが多いです。
特に「Python」は機械学習や人工知能のプログラミングで人気がありますので、ご存じの方もいらっしゃるかもしれません。
プログラミング言語はさらに他にもたくさんあります。このような情報をみると他のプログラミング言語も気になってしまいますよね。とはいっても、最初は学習しやすいArduinoでArduion言語(C++言語)を習得することをお勧めします。
C++言語は、他の言語に比べてちょっと難しい分、コンピュータの基礎部分を深く理解できます。一方でPythonなどのプログラミング言語は習得しやすい分、コンピュータの基礎部分を隠してしまっています。
そのため、C++言語を勉強してから他のプログラミング言語を習得すると、他の簡単な言語ではどこをどのようにしてプログラミングを容易にしているのか、よくわかります。
さらに、Arduinoの場合、最初はC++言語の一番難しい部分は使わなくてもプログラミングできますし、C++言語をフルに使おうと思えば使えます。
それでは次回からキッチンタイマー完成に向けてスケッチ作成を再開しましょう!
更新履歴
日付 | 内容 |
---|---|
2019.7.20 | 新規投稿 |
2021.8.22 | 新サイトデザイン対応 |
2024.11.17 | 説明内容を簡略化 |
このページタイトルがミスタイプみたいですね。
別に困りませんが。
ご指摘どうもありがとうございました!
早速修正しました。