C言語の基礎を学ぼう
1、プログラムとコンパイル
「文字の並び」として作るプログラムを「ソースプログラム」といい、そのプログラムを格納したファイルを「ソースファイル(原始プログラム)」と呼びます。
文字の並びとして作成したソースプログラムは、コンピュータが理解できる機械語に変換する必要があります。そして、ソースプログラムをコンパイルしたり、リンクしたりする作業を行って、実行プログラムを作成します。また、この実行プログラム作成段階に、綴り間違えなどがあると、翻訳時にエラーが発生し、エラーメッセージが表示されます。この場合、プログラムのミスなどを修正し、再度コンパイルする必要があります。
2、コメント(注釈)
プログラムの話をしているのに、いきなりコメントというワードが出てきて、何かと思われたかと思いまうす。しかし、コメントはプログラムを作成するうえで重要な役割を果たします。まず、使い方ですが、「/*----*/」のように記述します。「----」の部分に言葉を書き込んでおくことで、コンパイルエラーにならずに、ソースプログラムの説明を加えることができます。単純なプログラムなら、あまり使用することがないかもしれませんが、大規模開発など行った際に後々の※1メンテナンス時にすごく役立ちます。実際に今システム開発に携わっているのですが、ソースプログラムに誰が見ても分かりやすいコメントを添えることを意識しています。
※1 : システムの仕様変更やこのような機能を追加してほしいと言われること、または、障害対応
3、自己紹介文
例えば、次のようなプログラムがあります。
#include
int main(void){
printf("こんにちは。はてなブログを書いている者です。\n"); /* 表示後に改行 */
return 0;
}
実行結果 →「こんにちは。はてなブログを書いている者です。」がコンソール上に表示されます。
★二重引用符で囲まれた部分は、文字の並びを表現し、文字列リテラルと呼ばれます。また、末尾にある「\n」は改行を表しており、特別な表記となっています。
★printf関数は、書式文字列をそのまま画面に表示できる関数です。
4、まとめ
プログラムとコンパイル、コメント、そして最後に簡単なサンプルプログラムを見てきました。最初はprintf関数など意味が理解できないことしかないと思いますが、とりあえず実行してみて、どのような動きをするのかをおぼえていくしかないです。とにかく回数をこなし、色んな表現を覚えていってください。
プログラミング言語の誕生と特徴
1、プログラミングの誕生
プログラミング言語の誕生に欠かせないのが、コンピュータの誕生です。コンピュータは、0と1の2進数ですべてを計算しています。ここからまず生まれたのが、機械語です。 機械語は0と1を羅列し、コンピュータを制御していましたが、人間が0と1だけを見て理解するのは容易ではありませんでした。そこで、人間が見て理解しやすくしようと、アセンブリ言語が誕生します。
2、C言語の登場
制御構文などに高水準言語の特徴を持ち、ハードウェア寄りの記述も可能な言語です。高水準言語とは、記述の抽象度が高い言語、つまり、人間が見て理解しやすいということである。C言語を学習することによって、コンピュータの基礎理解を深めることができる上に、言語自体が他の言語の基礎となっていたりするため、エントリーとしてもってこいの言語です。
3、Java言語の登場
マルチプラットフォーム、高速なVM、中間言語へコンパイルしインタプリタで実行。革命的なオブジェクト指向言語が登場します。特に革新的なのは、マルチプラットフォームであること。仮想マシンによって、環境に依存することなく、アプリケーションが動作します。オブジェクト指向の意味としては、「効率よく開発するための考え方の1つ」のことです。アプリ開発が大規模になってくるとプログラムが複雑になり、プログラムの追加をしたり、修正を行うのに時間が多く費やされたりなどと難易度が高くなるのは必然です。
3、Swift言語の登場
さてお待ちかねの言語Swiftです。2014に発表された。アップル製OS上で動作するアプリケーションの開発に従来から用いられていたObjective-CやObjective-C++、C言語と共存することが意図されている。対象としているOSが、MacOSとiOSであり、iPhoneやiPadなどの端末で使えるアプリ、もしくはMacパソコン向けのアプリを開発することができます。筆者もこの言語を使用し、アプリを開発しておりました。UIの作成、ボタンやテキストボックスとの紐づけが非常に簡単になっています。特徴としては、変数の型指定をしなくてもよいや、メモリの解放もコンパイラが行ってくれるので、コードを書く必要がないということです。開発環境はXcodeを使用します。
4、まとめ
機械言語からの進化をたどってみると今の言語は、果てしなく高水準言語です。もはや人間言語といってよいくらい、非常に理解しやすい言語となっています。また、コードを記述する人が楽できるような統合開発環境の登場やメモリ解放などの考慮もしなくて良くなり、昔から比べると比にならないくらい進化を遂げています。
これからプログラミングをはじめてみたいという人へ
1、プログラミングを始めるには
プログラミングを始めるには、何よりもパソコンが必要です。個人的におすすめしたいのは、Windowsのパソコンです。今や、AppleのMacの方が見た目という点で、Macがいいと思う方がいらっしゃると思います。 しかし、企業でシステム開発を行う場合、プラットフォームはWindowsが基本となってくるので、前者をオススメします。(といいつつも、筆者もMac信者でした。笑)
2、何を目指してプログラミングをするか
次に考えるべきは、何を目指してプログラミングを勉強するかであると考えます。あなたがどのようなものを作りたいかによってどの言語を勉強するのか変わってくるからです。例えば、iPhoneのアプリを開発したいのであれば、Swiftという言語ですし、Webアプリを開発したいのであれば、Javaになると思います。どのようなものを開発したいのかを考え、どの言語に相当するのかを調べてみるといいでしょう。
3、開発環境を構築する
もはや、プログラミングを勉強するにあたって、一番最初の山かなと思います。開発環境を構築するのはなかなか難しく、プログラミングを勉強する前の段階で挫折したこともあります。これをクリアするには、詳しい人に聞いて、教えてもらうか、googleで検索して、自力で行うしかないです。
4、プログラミング言語の本を買う
今の時代、インターネットが普及しているため、検索して勉強したらいいじゃないかと思われる人がいらっしゃると思います。しかし、インターネットには情報が多く、また間違った情報が多いのも事実です。プログラミング言語の本を購入することで、間違った情報に惑わされることなく、また、どのような順番で勉強していけばよいかが分かりやすく、すごくオススメします。
5、とにかくサンプルプログラムを実行しまくる
このようにソースコードを記述すれば、このように動作するという理解も必要なのですが、プログラミング未経験の場合、何がなんだか分からないのが事実で、ひとまず、サンプルプログラムを書いては実行、これを繰り返すことにより自然に身について行くものだと筆者は考えています。筆者も同じでした。最初は、なんでこう書けばこう動作するんだとばかり考えてしまい、手があまり動いていませんでした。これはダメな例で、分からない内は、ひたすらサンプルプログラムを動かすことが必要です。いつの日か、分かる日が来ます。
6、まとめ
プログラミングを始めるにはパソコンが必要であり、筆者はWindowsをオススメします。また、環境構築でつまずいてしまう可能性があるため、パソコンに詳しい人を見つけておくことも必要となります。あとは、google先生を頼りに、進めていくしかないです。