プログラムとは
まずPythonのプログラミングの話を始める前にプログラムとは何かについて考えたいと思います。
コンピューター上で何らかの動作を実行するための「命令」の集まりが、プログラムです。また催し事の内容や順序など、構成全体の「計画」のこともプログラムと呼ばれます。
プログラムはコンピューターの働きを「計画」するものでもあるということです。
プログラムにできることできないこと
できること
・人間よりも速く、多く、計算を処理できる
・稼動させている機器が故障しない限り、プログラムをいつもまでも動かし続ける事ができる
・実行する場所から離れていても動かす事ができる
できないこと
人間の感情や気持ちなどを取り扱うのには不向き(近年人工知能の開発が進みつつあるが…)
プログラミングには何が必要?
Pythonのプログラミングを始めるには、PythonのインストルされたPCのみあれば大丈夫(OSはMac、Windows、Linuxどれでも可)。
※Pythonのインストールに関しては後々触れます。
プログラミング言語とは?
現在プログラミング言語はマイナーなものを含めると100以上あります。
有名なところでは検索大手のgoogleが主に開発に用いている三大言語とされる「Java」「C++」「Python」ではないかと思います。他Ruby、Javascriptなど。
プログラミング言語の分類
上記のように様々な種類がありますが、大きく「コンパイラ型言語」と「インタプリタ型言語」に分けることができます。
コンピューターの世界では、文字や画像や音楽、動画など、ありとあるゆるものをすべて0と1に変換して解釈しています。本来ならプログラムも0と1の組み合わせである機械語で書かなくてはなりません。
そういった理由から、コンピューターはプログラミング言語を直接は理解できないため、人間語を機械語に翻訳する「コンパイル」という作業を必要とし、このコンパイルのやり方によって、言語が分類されます。
コンパイラ型言語
プログラムが機械語にコンパイルされてから実行されるもの
例)C言語、C#、C++、Objective-C など
インタプリタ型言語
実行時に勝手に機械語にコンパイルしながら動いてくれるもの
例)Python、PHP、Ruby、Javascript など
プログラミングを学ぶとどんな良いことがあるか?
さまざまな単純な定型作業を自動化できる
ちょっとした作業を自動化することによって時間が生まれ、そこから余裕が生まれます。プログラミングができる人とできない人は、仕事の質、また人生の厚みが異なると言っても差し支えないと思います。
問題解決能力の向上
アプリ開発や大きなプログラムを組む際エラーはまず間違いなく起こります。
ネットや書籍での原因究明のための検索力、エラー解決能力を身につける過程で問題がどこにあるか考え解決していく能力が培われます。
論理的(ロジカル)な思考力が身につく
論理的思考力とは、、因果関係を整理し順序立てて考えること、あるいはわかりやすく説明する力のことです。論理的思考力を鍛えれば、難解な問題を解く際に、複雑で大きな問題を解決が容易な小さな問題に分割して考えることを可能にします。
こうした論理的思考力はプログラムを作るだけなく、現実の社会で起きるあらゆる問題に対処するのにも役に立つものといえます。
コメント