僕はやっぱりJavaを推したいんだけれど

はてなダイアリーに対して。

文章から何を得るかは読み手の自由だと思うけど、僕が言いたかった内容がことごとく無視されると悲しいものがあるなあ。

Javaがおすすめというのもすごく本気で言ってるんだけれど、ここまでしつこく薦めてもtazantが全く無視するのは、彼なりに経験則でC++で勉強したほうが効率がいいとする何かがあるんだと思うけど。

ただ、

設計ができれば、コードは書けるので、利用するのも自然とできることでしょう。C++標準ライブラリはあまり意識していませんので、自分で設計して、コードを作ることで、利用することも分かっていくことでしょう。

ということで、デザインパターンを学んでいるのですが、設計・実装例・利用法なども書かれているので前提知識としては十分でしょう。

はてなダイアリー

ここは僕の考え方とは真っ向から対立するので、いろいろ考えてみたい。

(考えてみたいと言っても、思ったままに書いてるのでわりと方向性がないのでよろしく)

僕は、「先人達が考えた仕組みは、まずその仕組みで組まれたライブラリを使ってみることで学び、体感して、それを自分達の作る仕組みで経験を活用して使う」という方法がよいと、6年間くらいプログラミングをやってきた経験から判断したけど、tazantは「文章を読んでデザインパターンなどを学び、覚えたことを利用して実際に設計・実装することで覚える。実装のしかたを覚えればそういう仕組みに基づいたライブラリも利用できるようになる」と言っているように読める。

それは、やっぱり、どういうプログラミングをしてきたかから全く違うから意見が食い違ってるのかなとは思う。

僕がプログラミングを始めたのは、父に紹介されたロゴ坊というソフトでlogoを触ったのが始まりだった。

ロゴ坊はlogo言語でカメのあゆみちゃんを操作して図形を書かせたり、入出力ができる、とてもわかりやすい言語だった。このとき僕はいろいろな図形を書いたり、数字を漢数字に直したり、といった、特に用途もないプログラムを作って、おもちゃのようにして遊んだ。

その後、Javaを教えてもらった。最初は、カレンダーのような実験的なプログラムを組んでいたけど、Javaが携帯で動くということを知り、iアプリの開発に興味を持った。それについて書かれている本を買ってもらった。その時に作ったのは、時計とか、ペイントっぽいソフトとか、自分が欲しいと思ったアプリであった。その時の懐かしいページは今でも残っている。

その後、JavaScriptを学んで、Webページの製作の時にそれを使って遊んだ。Perlを学んで、サンプルの掲示板ソフトを自分で独自に改良した。

中学に入ってJ#を触ったりしても、作ったのは、自分が欲しいと思ったものだった。サンプルコードを書いたことはなかった。

実は、与えられた課題を解くコードを初めて書いたのは、情報オリンピックのときだということになる。

つまり、一言で言ってしまえば、僕はいわゆる独学でプログラミングをやってきたと言ってもいい。

そんな僕だから、先人達のコード云々と言っていても、それを文章で読んだことがない。Javaのライブラリを見て、これがデザインパターンだって偉そうに言ってるに過ぎない。

けれども、そんな僕にも自信の根拠がある。それは、同じコードを何回も書くごとに、どんどん速く、よいコードを書けるようになっているということだ。パターンも見抜けてきた。何て頼りないんだって思うかもしれないが、確かに頼りない。けれども、(自分で言うのもアレだが)僕は情報でもそれなりに上位に行けてるし、独学というのも悪くはない。

いっぽう、勝手な想像だけど、tazantはかなり本を勉強することに長けているのではないか。今の僕には本を読んでプログラミングを勉強するというのは苦手分野である。絶対独学では身につかない内容が、プログラミングの世界にもあると思うから、そういう意味で本を読んで勉強するのが上手な人はとても羨ましい(羨ましがっていても仕方がないわけではあるが。)。すごいことだと思う。

ただ、逆も言えると思う。僕は欲しいままにプログラムを作って、コードを書き散らして、結局そのまま捨てていった。でもそれが今やっぱり活きてきている。同じことをやった過去の経験が、次はこうしようって教えてくれる。書き散らすのも悪くはない。

それに、僕からしてみれば本に書かれている通りにやるのはとてもつまらない。どうせプログラミング技術を覚えるなら、欲しいと思ったものを作るついでくらいがちょうどいいと、個人的には思うんだ。







P.S. プログラミングもしたいんだけど、家にあるリトルバスターズ!の消化もしないといけないんですよこれが。あはははは・・・