LoginSignup
1
1

More than 5 years have passed since last update.

プログラミング

Last updated at Posted at 2017-01-08

コンピュータに対して、してほしいことを伝えること。

こちらが使う言語が"プログラミング言語"であり、コンピュータが解する言語が"マシン語"である。
その間を取り持つ翻訳者が、"コンパイラ""アセンブラ"である。
普段我々が使う言語により近いものは、"高水準言語"と言われ、こちらのしたいことを簡単に(コンピュータのことをあまり考えずに)表記することができる。ただ欠点もあり、マシン語からはかなり遠い。なので翻訳を通すと、マシン語の表記量は膨大なものとなり、コンピュータの負担は増す。その逆も然りで、コンピュータの負担を減らそうとすれば、我々の負担が増えるのだ。現在は、コンピュータの高性能化が進み、コンピュータの負担もあまり考えなくて良くなってきているので、人間に優しい時代になってきていると言える。プログラミングの裾野も広がっているだろう。

プログラミングのためには何を学ぶべきなのか。

まず、プログラミング言語を学ぶことが必要なのはわかる。

これを知らなければコンピュータに意思を伝えることができない。この時、より人間の感覚に近い、高水準な言語から始めるのが楽だろう。現実の社会でも起きているが、翻訳者が優秀になり、意識しなくなれば、外国語(コンピュータの場合はマシン語)を習得しなくても問題はない。

他者との共同作業の場合は話が違ってくる。

プログラミング言語はコンピュータとのやりとり以外にも、人間とのやりとりにも使われるのだ。その時、皆が使っている言語を知らなければ協力はできないし、流行りの言語を勉強しなければならないかもしれない。もしくは昔広く使われていた言語を習得しなければならないかも。

コンピュータに何かしてほしい時に、コンピュータができることとできないことを知っておくのも重要だ。

空を飛べといってもコンピュータは飛べない(飛べるコンピュータもあるかもしれない)。その時にコンピュータのできることを知っているとより自由にコンピュータを操作できる。コンピュータの構成や設計、OSなどの仕組みを知っていると良いだろう。

データ構造とアルゴリズム

コンピュータに対するイディオムのようなもの。コンピュータの考え方に即したもの。だが、実際に人が考える時にも同じようにできるのかもしれない。未だ僕はこれをうまく捉えられていないのかもしれない。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1