思えば遠くへ来たもんだ

怪しい認知科学を紹介しながら、行き着くところへ目指すのを綴る場所

プログラミングって作りたいもの作るための手段じゃん

プログラミングって何のためにあるのか

それは作りたいものを作るためである。

意外と多いのが、専門書をそのまま写生して

作った気でいる人達だ。(自分もそうだった、というか今もそうかも)

なんでそんなことになっているのだろうかと考えると

要は面倒くさいからに尽きると僕は思っています。

 

何でそんな馬鹿なことをしてしまうのか

自分がプログラミングを始めた頃を思い出す。それは8年前、C言語を学ぶ授業のことだった。

最初の頃は、環境構築に手間取り、ようやく打てると思ったら

やれ、ヘッダーへのおまじないだ、変数が何だ、なんで=で代入なんだとか

そもそも、なぜ文字表示を行うためにいちいちprintfを打たなければならないんだ

hello,worldってなんだよとか色々困難があって、cファイルを作成したら

コンパイルがどうだ、したらしたで何かエラー吐きまくるだ、printfがpritnfになってたぐらい

許せやバーカ、とか苦労した末に、ようやくコマンドライン上に

 

hello,world

 

と表示される訳です。そこで僕は勘違いするわけです

プログラミングって何て楽しいんだって

まるで、パズルみたいだと。

そう、プログラミングそのものに楽しみを見出してしまうわけです。

最初はそれでいいのかもしれません。

ですが、段々それも勉強になってくるわけです。特に僕は授業で主に扱っていたわけですから

専門書で新たな知識を得て、それを実際に書いて動かしてみる。

そうして、僕はプログラミングを何となく出来るだけの置物と化したのです。

 

そして競技プログラミング

さて、数年後経つと今度は部活動として、競技プログラミングへの道へ入るわけです。

作りたいものが無い、もしくはそもそも作るための手段として認識していない自分にとって

専門書にある課題の更に上の課題を解いている感じで、まあ楽しかったです。

ただこの頃から違和感を覚えていたのも事実です

何のためにプログラミングってあるのだろうか

それが徐々に私の中に浮かんでは消えて、浮かんでは消えてと頭の中を占めるようになります。

競技プログラミングを解きながら難しいアルゴリズム

(とは言っても僕程度のレベルのアルゴリズムなんて

大したことないですが、頑張ってDijkstraぐらい)を覚え、

そのアルゴリズムを使って別の課題を一発で解けた

ときなんて、それは嬉しいものです。

でもやっぱり、違和感が消えない。これ、何に使えるの?と

 

作りたいものがなければ、宝の持ち腐れです

結局の所、書いている本人が作りたいものがなければ、始まらないのがプログラミングです。

実現したもののために、言語があって、コードがあって、アルゴリズムがあるのですから

それが無いやつにとっては、豚に真珠ってやつです。

ただ、そこで絶望する必要はなくて、ようは仕事を見つければ、もしくは作りたいものを探せば良い訳です。

そして、見つけた後に、本当に必要なことだけを勉強すれば良いのです。

最低限必要なこと、それはPCと環境構築ぐらいなのではないでしょうか。

だから中小企業のSEは文系を採用するわけです。

結局、現場で求められている内容って、それだけありふれている内容ばっかりなのです。

高度な技術を浴するところなんて、ほんの1%ぐらいなのです。

そして、残りの99%ぐらいは、頑張ればすぐに会得してしまい、文系と情報系のレベル差なんて

現場から見れば、あまり感じられなくなるのでしょう。

だから、プログラミングは知識の収得ではなく、食べていくための技術をつけることに重点し

本当に必要になったときに、高度な知識を身につけ、実装できるまでにする。それでいいのです。

 

え、仕事する前からアルゴリズムとか学んでも無駄じゃん

殆どの人たちがつく仕事ではそうかもしれません。しかし、そうではない所謂スペシャリスト、1%のための

仕事につける、すごい人達って言うのはやはり必要となります。

何やってんのこいつ、って言いたくなるようなコーダーはやはりいて、そういう人たちは

99%の仕事に来ても、いいとは思いますが恐らく、それでは企業側が扱いきれずに終わるのではないかと思います

だから、もしあなたが大企業(googleとかyahoo)でコーダーとして働きたいのであれば

そのような技術を身につける必要はあります。(正直凡人の私にはわかりません)

それこそ、Googleの一通りのアプリケーションには、恐らく高度なアルゴリズムが採用されているはずです。

それに携わっていくためには、それだけの技術が必要になります

どうしても、それがしたいならばまずは日本でTopに行けるようにしましょう。

そこから、世界の上位陣に行けるようになりましょう。

Topcoderと言われる世界の競技プログラミングコンテストで、レートターゲットになれば

引く手数多の仕事、しかも誰もが出来るわけではない仕事が舞い降りてくる(そんなに甘くはないと思

うが)でしょう。

ただ、そのような人たちはやはり「作りたいことを見つけている」のです。

そうではなく、作りたいことないけど何となく技術を得ている人たちは、見つけることです。

そして、見つけたらすぐに作りはじめましょう。

そのために、プログラミングというのはあるのですから・・・。

ちなみに

今回はHTMLでブログを書いてみた。よくよく考えると、昔に一回HPを作ったときに使ったぐらいで

すでに忘却の彼方へと消えてしまったHTML

よく考えると、ブログで書けるなと思って、じゃあ今日の分は、HTMLで書いてみるかと思い

ここまで書いてきたわけですが・・・

 

だりい!!

 

いちいちタグをつけないといけないダルさ

そして、日頃以下に楽しているかを実感しました。

やはり十数年前に比べれば、インターネットも豊かになったものですな

そう思わざるを得ないと、言わさせて今日は締めされて頂きます。

誰か、HTMLで簡単なブログの書き方教えて下さい、まじで。

嘘です。これ終わったらちゃんと調べます。