2009-03-10

http://anond.hatelabo.jp/20090310095053

はい、プログラマーです。Web系ですけど、結構なんでもやります。

うーん。

たとえ話になって悪いけど、プログラミングって絵を描く事に似てる。

プログラミングわからない人は、「プログラミングって色々暗記したらできるんでしょ?」と作業的に思ってる所あるよね。(仕事では作業になることあるけど、それは置いておいて) でも、絵を描くのは、大抵の人が技術を知るだけではできないと知ってる。道具揃えたからって絵が”うまく”描ける訳ではないと誰でもわかる。本質的には、プログラミングもそれと同じなんだけど、誤解されがちかも。

絵をうまくなるには、とにかくデッサン力が必要。どんなに自己流や独特な作風の人でも、一定以上の上手さの人にはデッサン力がある。デッサン力をあげるには沢山デッサンして、良い絵を見ること。

プログラミングデッサン力に相当するのは、アルゴリズムに落とし込む力。プログラミング言語で、現実デッサンする力と言っていい。これを伸ばすには、絵と全くおなじ。いろんなものごとをコードにして、良いコードを読むこと。

こうすればデッサンが狂いにくくなるとか、デッサンが速くなるという知識に相当するのが、デザインパターンとか。でもこれは、デッサン力あってのものなわけ。

だから、そういった知識は道具でしなくて、アルゴリズムに落とし込む力そのもの(デッサン力)を自分自身に感じられないと、プログラミングが一気に理解できる最初の壁を越えにくいかもしれない。

デッサン力がしっかりしている人が、漫画風でもリアル風でも大抵どんな絵でもそれなりにこなせるように、プログラミングでもこの基礎的な力を一度つけてしまえば、二つ目以降の言語はさくさく身につくし、作りたいものを表現できる力になる。

最後までたとえ話ですまん。

俺の書いたことが、「ああそうかも・・・」と思えるなら、大丈夫じゃないかな。「まったく何をいいたいのかわからない」としたら、勉強の仕方が良くないかもしれない。

あーあと、ごく最初のうちは、テンションを維持するために、小さくても動いて結果が得られるものを作った方がいいです。いずれはお行儀の良いコードを書く必要があるけど。最初から完璧を追求すると、一つでも理解できないことがあるといつまでたっても動くものができないってなっちゃう。だから、やる気が維持できないと思ったら、多少手荒でもいいから動くものを作ることは必要だと思う。趣味なら、学び始めのコーディング規約は最小限でいい。

記事への反応 -
  • プログラマーの方か、プログラミングから逃げ切ることに成功した方はイラッシャイマセンカ? 暇がありましたら、お助け下さい。 生まれつき、生活保護が下りない程度の知能障害を持...

    • はい、プログラマーです。Web系ですけど、結構なんでもやります。 うーん。 たとえ話になって悪いけど、プログラミングって絵を描く事に似てる。 プログラミングわからない人は、...

      • プログラムが絵描きなら、システム設計はネームかな。 ネームを描いてペン入れして漫画ができる、みたいな。

      • ああそんな感じだね。原作者というか。ネーム書いてもらわないと漫画かけない人もいれば、自分でネームと漫画書ける人もいるのも同じだし。

      • PG/SE経験者だけど、どうも言ってる事が分からなかった。 元増田からみたら「勉強不足」なのかもしれんが。 もしプログラムを絵に例えるなら、道具があっても描けない、じゃないと...

        • 絵の話を描いた増田だよ。 いいたいことはわかる、俺も考えは同じ。ただちょっと自分の日本語が下手で伝わってないかも。 俺はプログラミングも絵もどっちも仕事でやった事あるか...

    • 1:どんな夢を持ったのでしょうか? 2:何がしたい(何をしなければいけない)のですか? (期日までにX本仕上げなければいけない、とか)

    • なんかオブジェクト指向の考え方でつまずいてるっぽいから とりあえず平べったいプログラム書いてみて、 そこから徐々にクラスとかを取り入れて行けばいいんじゃないかな?

      • 横だけどオブジェクト指向以外のプログラミングをしたことがな人が、なぜオブジェクト指向を理解できないのか昔から不思議。

      • なんかオブジェクト指向の考え方でつまずいてるっぽいから とりあえず平べったいプログラム書いてみて、 そこから徐々にクラスとかを取り入れて行けばいいんじゃないかな? に...

    • オブジェクト指向はとりあえず無視していいし、ウィンドウアプリも無視していいから、プログラムの原理というか入出力という概念を理解するとよし。 具体的に言えばコンソールアプ...

    • プログラミングとはコンピューターの思考を記述することだ。 コンピューターの思考は人間の思考とは全く異なる。そこには全く別の世界観がある。 そこで、人間の世界観に近づけるよ...

      • 関数型言語なら、ものごとの成り立ちをそのまま写すように書けるけどね。 独特の気持ちよさがある。 いきなり関数系やる人はすくないけど、そういった意味ではありなのかなあ。

    • 何のためにプログラミングをするのか。 まずはそこからだ。 プログラムを覚えようとしてプログラムを勉強しても何の意味もないと思うよ。 目的を持って、その目的を達成するための...

    • ここ1年弱でfortranとかのクソコードを書いた経験以外一切無くてブランクも数年あった状態から、C/C++を使ってオブジェクト指向でそれなりに書けるようになった俺だけど。 一番苦労した...

    • 問い1:プログラミングに必要な素養はどんなのがあると思いますか? もちろん正解というのはないけど、私含めて多い答えは、論理的思考だと思います。 ----- 問い2:今までの返...

    • 私はいまではオブジェクト指向言語は普通に読み書きできますが、関数とかポインタとか理解してC言語が普通に書けるようになるまで1、2年くらい、クラスとかオブジェクトとか理解し...

    • どうしてプログラミングから逃げられないのか分からない以上、逃げる方法は示せないなぁ。 何の言語やってるんだろ? 俺は、C++用のQtってGUIライブラリを使い始めたときに、初めて...

    • プログラミングは人を殺すことはありません。 それでもなおプログラミングに殺されると思うのなら、それはプログラミングとは無関係の、ただの精神疾患です。 お医者様にかかること...

    • まず、 ・プログラミングがうまくできない ・失敗する度に落ち込み激しい鬱状態になり、できないことがあるたびに自傷衝動が起きてしまう この2つを結び付けてしまうところを改善す...

    • まあ当たり前か・・ http://anond.hatelabo.jp/20090310095053

    • ギークの方か、SIerから逃げ切ることに成功した方はイラッシャイマセンカ? 暇がありましたら、お助け下さい。 生まれつき、生活保護が下りない程度のコミュニケーション障害を持っ...

    • ものすごく簡単なところから始めた方がいいんじゃない? オブジェクト指向の概念を最初に理解するのは正直難しいです。 わからないのは当たり前です。大丈夫です。 テキストは簡...

    • プログラミングに殺される http://anond.hatelabo.jp/20090310095053 を書いた者です。元記事へのトラックバックの打ち方がわからないので普通に書きます。 何だか具体的なコメントをたくさん頂...

      • 亀レスですが。 情報系の大学で、プログラムを見ていたことがありますが、正直4年制の大学卒業で4行ぐらいのプログラムがかけるだけ。 中身は #include <stdio.h> main(){ printf("自分...

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん