#2579 プログラミング能力を高める@日記 (2011/12/24)

タイトルが正しいかどうか分からんが、
我々はソフトウェアの開発をしている。
つまり成果物はバイナリーのモジュールで評価される。
そのソフトウェアがサクサク動くかどうか。
落ちないかどうかなど。
また、
使いやすいかどうかはプログラミングの問題ではなく、機能仕様の問題であったりするから、
ソフトウェアのすべてが、プログラミングの善し悪しが起因するものでもない。

そうすると、
良いプログラミングとは何か、悪いプログラミングとは何かとなった場合に、
ひとつは、
後から見たときのメンテナンス性、つまり見やすさ、拡張性のしやすさ、流用性のしやすさなどがある。
不具合があるない、デバッグしやすいなども、平たく言えば、ここに入るだろう。
またひとつは、
実行処理の時間がどれだけ短いか、高速で動くか。計算量が少ないかだろう。高速アルゴリズムの開発が必要な理由はここに入るだろう。
そしてもうひとつは、
どれだけ同じ機能を高速で開発できるかという生産性の側面もある。
同じ機能のコードなら、10時間かけて書かれるより、1時間で作られた方がいい。

これらを如何にやるかということだが、
すべてがwin-winとは限らない。トレードオフの場合もある。
多くの場合の定石は、不具合のないライブラリをたくさん作っておいて、それを流用することだろう。


じゃあ、よいプログラミングをする(上のゴールを達成する)にはどうしたらいいのか。
それがいまいちよく分からない。

プログラミングはピアノか?
ピアノがうまくなりたい場合、ピアノの練習をする必要がある。
ピアノの楽譜をじーっと眺めていてもピアノはうまくならない。

プログラミングは、数学か算数か?
ここでの「数学」と「算数」の言葉の使い方の意味としては、
数学は、計算自体はどうでもよくて、そういう計算が必要な式を導き出す能力。
例えば、時速PkmでA君が歩き始めた後、
Q分後に時速Rkm(R>P)でB君が歩き始めた場合に何分後に追いつくかという問題における解の導き方、
考え方を何パターン思いつけるか。そういう考え方でも解けるねってヤツ。
算数は、計算自体を正しく計算する能力。
次に何して、あれして、これしてっていうのが決まっていて、
その通り書ける能力かな。
じゃあ、プログラミングはどっちだろうって場合に、どうなんだろう。

プログラミングは、理学か工学か?

プログラミングのセンスってあるのかないのか?


そして、いわゆる企業でのソフト屋さんは、
Cしかない時代にC++を作ろうとか、
プログラミング言語の自体の進化をしようとしてるわけじゃないしな〜。


12/15 のブン


いいね (173人)

※ 独自 いいね です。facebookのそれとは関係ありません。白くなっている場合はすでに押し済みです。


少し関連:
#4767 善光寺@日記 - HE PROJECT3 2017-10-29


QR Code
この記事のPRコード


メニュ-:
人気記事ランキングに戻る
最近の記事リストに戻る
更新された記事リストに戻る
アクセス履歴に戻る
検索結果リストに戻る



@Amazon.co.jp

『ライフサイクル イノベーション』
の記事はこちら(#4527)


旧モードで表示


434,282 UU/ 1,306,888 PV/ 404,342 AA (TTL)

196 UU/ 674 PV/ 208 AA (AVE ADAY)

/ コメントを見る


Googleによるサイト内検索


follow us in feedly

RSS


Now:20240509190155 date:2011/12/24 #2579 ips:561

このサイトは匿名の個人の責任で発信しています。関係する会社や団体の意見とは関係がありません。

© 2007 oga.sakura.ne.jp. All Rights Reserved.

ご意見・ご要望・お問い合わせ

@heproject3