プログラミングを始める前に




|octaveとは>

<プログラミングとは|



octaveによるプログラミングに戻る


目次



プログラミングを始める前に


 プログラミングを始める前に、プログラミングを通して何をしたいのかを明確にしておきましょう。

 前のページで説明したように、プログラミングでできることは様々です。Excelによる作業の簡略化、アプリケーションの開発、グラフを描くこと、などが一例です。

 プログラミングでできることを理解し、目標を決めておきましょう。

 しっかりと目標を持って取りかからないと、プログラミングの勉強は挫折してしまうことが多いです。




 私の場合、マンデルブロ集合を自由に描けるソフトを作りたい、という目標を設定し、それに沿って勉強をしていきました。

 結果、マンデルブロ集合を描くGUIプログラムをpythonで開発することができましたし、マンデルブロ集合を拡大するアニメーションも作れるようになりました。


マンデルブロ集合の拡大

 最初はプログラミングの右も左も分からない状態から始めたのですが、マンデルブロ集合を描きたいという執念により、成し遂げることができました。一念岩をも通す、です。




 ここを見ている方で、プログラミングをやってみたいけれど、特に目標はないという方がいるならば、とりあえず、自由にグラフを描くことを目標にしてはいかがでしょうか。

 このサイトに沿ってoctaveを勉強していけば、x-y座標の平面グラフや、3次元の立体グラフを描けるようになります。

 その過程で、プログラミングの基礎を学ぶことができるでしょう。

 何か一つの言語(これから説明します)に慣れてしまえば、いざ他の言語を勉強する必要が出てきたとき、すんなりと取り掛かることができます。




 octaveでグラフを描くこと自体は、将来の仕事などには、直接役に立たないかもしれません。

 ですが、グラフを描く過程で学んでいくことが、何かの役に立つということは、十分にありえます。

 これから先、何が役立つかなんてことは、誰にも分かりません。





プログラミング言語について


 プログラミングを行う理由を見つけたら、次は、その目的を実行する手段・方法が必要です。

 プログラミングは、コンピューターに命令を伝え、自分の思うままにコンピューターを動かす行為でした。

 コンピューターへ命令を伝えるには、プログラミング言語について知らなければいけません。

 プログラミング言語とは何か、少し触れておきましょう。本当はもっと込み入った話になります。




 そもそも、コンピューターが理解できる言葉は、機械語と呼ばれる言葉だけです。

 昔のプログラマーは、この機械語を使ってコンピューターへの命令を書き、コンピューターに読み取らせ、動作を行わせていました。

 ところが、この機械語というものは、人間にとってはとても理解しにくい数字やアルファベットの羅列です。一般人が見てもまったく何が何やら分からない、暗号のようなものです。

 どうでもいい話ですが、プログラムがコード(暗号)と呼ばれることがあるのは、このことに由来しています。




 機械語は人間にとって分かりにくいので、人間の言語と機械語を仲立ちする物として、アセンブリ言語が開発されました。

 アセンブリ言語は、機械語に比べれば、人間が理解しやすい見た目をしています。

 アセンブリ言語ができてから、プログラマはアセンブリ言語でプログラムを書き、それをコンパイラ(翻訳機)で機械語に変換し、機械に読み取らせるという方式でプログラミングを行うようになりました。




 アセンブリ言語は機械語よりも分かりやすいのですが、それでもまだ、人間にとって分かりにくいものでした。

 そのため、FORTRANやC言語などの、いわゆる高水準言語が開発されました。機械語やアセンブリ言語は、それに対して低水準言語†1と呼ばれています。

†1 :低水準と呼ばれているからといって、機械語やアセンブリ言語が高水準言語に劣っているというわけではありません。言語に単純な優劣を付けることはできません。

 アセンブリ言語が機械語に翻訳されているのと同様、高水準言語も、翻訳機を通して低水準言語に翻訳され、実行されています。




 余談ですが、この翻訳機には、先ほど説明したコンパイラと、インタプリタと呼ばれるものがあります。

 コンパイラは、言語を他の言語に変換するだけのものです。C言語を扱ったことのある方は、書いたプログラムソースをコンパイラでコンパイル(翻訳)したことがあるでしょう。

 それに対してインタプリタは、プログラムソースを翻訳しながら、逐次実行するという役割を持っています。

 インタプリタの方が使い勝手が良いのですが、遅いという、単純明快にして致命的な弱点も持っています。




 さて、高水準言語はアセンブリ言語に比べ、プログラムの中身がさらに分かりやすくなっています。

 機械語やアセンブリ言語で命令を書くときは、コンピューター内部へのアクセスなど、書きたいプログラムの本質ではない部分も、漏らさず書かなければいけませんでした。

 ところが高水準言語では、こういった部分を省くことができるようになっているため、よりスッキリと命令を書くことができるようになっています。

 このサイトでは基本的に、プログラミング言語と書いたら、高水準言語を表すことにします。




 プログラミング言語にはかなりたくさんの種類があります。思い付くままに挙げてみましょう。

 C言語・C++・Python・LISP・VisualBasic・COBOL・FOTRAN・Ruby・D言語・Octave・Pascal・なでしこ・Haskell・Java・PHP・JavaScript・R

 変わり種では、「ジョジョ言語」や「Nyaruko」などといった、(実用性のない?)難解プログラミング言語もあります。

 他にもたくさんの言語があり、これからも種類は増え続けていくでしょう。




 では、なぜこれほどたくさんの言語があるのでしょうか。それは、それぞれの言語ごとに得意不得意があることや、用途の多さに起因しています。

 例えば、C言語やFORTRANは、プログラムの実行スピードが早いため、科学技術計算によく使われています。その一方で、記述量が多くなってしまうため、プログラムが長く、複雑になりがちです。

 OctaveやPythonは、実行スピードが遅いものの、コードを簡潔に書くことができます。Pythonは、簡単に色々なことができるのも魅力です。

 また、PHPやJavaScriptはホームページ作成によく利用されますし、COBOLは事務に使われています。VisualBasicは前に書きましたが、Excelを操作するのに使われています。




 このように、プログラミング言語はたくさんあり、それぞれに得意分野があります。自分の目標に対し、それを達成しやすい言語を選ぶことが肝心です。

 プログラミングを始める前に、どの言語が自分の目的に合っているのか調べ、考えてから始めましょう。




 とはいえ、どの言語も共通点があったり、できることが似ていたりします。一つの言語に習熟すれば、ほかの言語を理解することは、それほど手間がかかりません。

 なので、一つ言語を決め、それを理解するところから始めましょう。

 勉強しているうちに、やっぱり他の言語の方がいいかな、と思ったら、そっちに移ればいいと思います。

 前の言語で培ったことは、後で学ぶ言語でも役に立つはずです。




 当サイトでは、Octaveについて説明していきます。

 次のページで詳しく解説しますが、Octaveは科学技術計算に優れ、グラフを簡単に描くことのできる言語です。

 ですが、それらに特化している分、それ以外のことが苦手です。と言うより、ほとんどできません。

 このことは裏を返せば、できることが限られているため、目移りせずに取り組むことができるということでもあります。

 まずはOctaveで、計算やグラフの描画を通してプログラミングの初歩を学び、自分のしたいことが決まったら次の言語に手を広げていく、という流れでプログラミングを学ぶと良いでしょう。


|octaveとは>

<プログラミングとは|



octaveによるプログラミングに戻る

ホームページのTOPに戻る