こんにちは、βshortです。
今回のテーマは、「なんのためにプログラミングするのか」です。
最近Twitterを始めて、「プログラミングを始めました」とか、「プログラミングに興味がある」という人をよく発見します。
私も、もともとプログラミングに興味がありました。
大学は、情報系の学科に入学して、プログラミングの授業や独学で勉強してきました。
プログラミングはしてきましたが、実際はプログラムのことはあまり理解していません。
最近は、プログラミングは全て理解していなくてもいいんじゃないかとも思っています。
私がプログラミングについて考えることを書いていきます。
[outline]
[adchord]
私のステータス
これまで触れた言語
- C言語・C++
- Java
- JavaScript
- PHP
- Python
現在でも使用しているのは、C++とPythonです。
けど、どれもあまり理解していません。
勉強系のブログもしているので、下のページを良ければ参照してください。
プログラミングを始めた理由は、プログラミングをしたかったから
最近Twitterを始めて、「プログラミングを始めました」とか、「プログラミングに興味がある」という人をよく発見します。
私も、もともとプログラミングを始めた理由は、プログラミングをしたかったからです。
プログラミングをしたいという気持ちが分かります。
でも、プログラミングは、何らかのシステムを作るための道具です。
現在は、作りたいものを作るための道具
正直いうと、プログラミングを勉強することはやめました。
もっと詳しくいうと、プログラミングをするためにプログラミングを勉強することをやめました。
現在は、作りたいものを作るためにプログラミングを使うというスタンスでいます。
作りながら、プログラミングをその都度学べばいいじゃないでしょうか。
分からなければ調べるの繰り返し、作っていきます。
検索能力もかなり身につくと思います。
作りたいものを作ってみたり、遊ぶことを重視してプログラミングをした方が身につくし、プログラミングが楽しくなります。
出川イングリッシュがいい例
私がオススメするのは出川イングリッシュ風のプログラミングです。
英語もプログラミング言語も同じ言語です。
英語は、人対人です。
プログラミング言語は、人対機械です。
出川イングリッシュとは、芸人の出川哲朗が話す独特な英語のことです。
彼の英語は壊滅的なもの(爆笑を誘うもの)ですが、そんな英語でも気持ちは伝えられています。
プログラミングでは、機械に気持ちを伝えることは出来ません。
プログラミングでも、全て(文法やライブラリ)を理解することより、実現できる能力の方が重要なのでないかと思っています。
作りたいものがない人は、競プロがおすすめ
作りたいものがない人は、競技プログラミングがおすすめです。
本格的な競プロは知らないのですが、
プログラミングの練習問題を解くものだと思ってください。
paizaや、Aizu Online Judgeなどのプログラミングの練習問題が揃ったサイトがあるのでおすすめします。
なんのためにプログラミングするのか
私は、プログラミングを学ぶ人を言語学者と考えています。
プログラミングを使ってもの・システムを作る人をクリエーター・プログラマーと考えています。
私は、どちらかと言えば、プログラマーの方がなりたいので、プログラミングは、ものを作るために使っていくスタンスでやっていきます。