トップページ⇒tech
60コメント14KB

美しいプログラムについて語ろう

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
美しいプログラムそれぞれの持っている観念によって美しいプログラムの書き方をみんなで見つけ出そう
0002デフォルトの名無しさんNGNG
詰め詰めソースマンセー
0003デフォルトの名無しさんNGNG
2度とみなくて済むのが美しいプログラム
2度とみたくないのが美しくないプログラム
0004デフォルトの名無しさんNGNG
すいません、>>3の意味が全然分からないんですが
0005デフォルトの名無しさんNGNG
皆さん、ソース中に/*コメント*/とかって書いてますか?
0006デフォルトの夕無しさんNGNG
書いてませんが、何か?
0007デフォルトの名無しさんNGNG
書くわけないですが何か?
0008デフォルトの名無しさんNGNG
>>6-7
お前らはVBだからそりゃ書かないわな
0009デフォルトの名無しさんNGNG
「/*コメント*/」なんて、無意味なコメントを書いてるんですか?
0010デフォルトの名無しさんNGNG
>>8
// コメント
と書いてますが何か?
0011デフォルトの名無しさんNGNG
>>9は日本語の意味がわからない馬鹿
0012!= 9NGNG
>>11 つられてやんの。
0013デフォルトの名無しさんNGNG
javadocに出力するために
/**コメント*/
と書いてますが何か?
0014デフォルトの名無しさんNGNG
perl
0015デフォルトの名無しさんNGNG
javadocに出力するために

/**
 * count を返す。
*
 * @return count 数
 */
public int getCount(){
  return count;
}

と書いてますが何か?
0016デフォルトの名無しさんNGNG
今まで見た中で↓これが一番美しい。
tp://ioccc.org/2001/rosten.c
0017デフォルトの名無しさんNGNG
>>16
この醜くも美しいプログラム
0018デフォルトの名無しさんNGNG
int main(void)
{
return 1;
}
0019デフォルトの名無しさんNGNG
美しいプログラムといったらGUIでしょ。
GUIといったら美しいプログラムでしょ。
0020デフォルトの名無しさんNGNG
>>19
おまいはプログラムの芸術性についてわかってない
0021デフォルトの名無しさんNGNG
7行プログラミングスレのソースは、非常に美しい(文字数削減が)
らしいのだが、知ってる言語のプログラムですら読めん(´・ω・`)
0022デフォルトの名無しさんNGNG
>>16
ごめん、見たけど藻前の意図がわからなかった。
0023デフォルトの名無しさんNGNG
有名なプログラマーとかがプログラムは芸術だって言ってるけど、どこら辺が芸術なの?
0024デフォルトの名無しさんNGNG
他人には理解されないあたり。
0025デフォルトの名無しさんNGNG
Д`) 誰がそこでうまい事を言えと
0026デフォルトの名無しさんNGNG
>>23
例えば↓の様な偉業に対面した時、それに僅かでも芸術性を見出せる人ならば
いつかは理解できるようになると思う。

http://www.pat.hi-ho.ne.jp/nozomi/tabisaki/Hauterives/top.htm
0027デフォルトの名無しさんNGNG
MacOSXのソースコードを見たとき思わず勃起しました
0028デフォルトの名無しさんNGNG
>>26造形芸術?
0029デフォルトの名無しさんNGNG
短縮ソースで見にくくしてる奴うぜー
0030デフォルトの名無しさんNGNG
安芸
0031デフォルトの名無しさんNGNG
醜さ(見難さ)というものは今まで沢山遭遇していて理解出来るのだけど
美しさとなると難題だな。
あえて言うなら、自分が書いたプログラムが一番、美しいのだろう。
みんなも自分が一番美しいと思うコードを書いているだろ。
違うかい?
0032デフォルトの名無しさんNGNG
>>31
たまに他人のプログラムが美しく見えることがある
ツーか、見るツールにもよるのかな
0033デフォルトの名無しさんNGNG
でもさ、芸術っていってんのってヌースかなんかでしょ?英語の"art"と日本語の"芸術”って違うんだよね。
ヌース(か誰か英語ネイティブなやつ)は"art"を、技巧を凝らした「技」という意味で使っているんだと思う。
それをアホな翻訳者が単純に「芸術」なんて訳すからわけが判らない話になる。
0034デフォルトの名無しさんNGNG
「うわ、きたねぇ!」と思ったのは最初に公開された
Netscape Navigatorのソース。
今はDLできないのか?
0035デフォルトの名無しさんNGNG
>>33
国語辞典で調べると芸術も技巧を凝らした技みたいな意味で載ってると思うよ
日本人に芸術の概念が何か感銘を与えてくれるようなものとなってる人のは確かだけど

http://www.amazon.co.jp/exec/obidos/ASIN/4871483630/250-4158868-3742635
この本で「プログラムは芸術だとおもいますか」という問いに対してプログラムは芸術だと答えた割合はほぼ100%
でも音楽や絵とかの昔からある芸術は自分の気持ちをそのままあらわしたものが多いけど、仕事でプログラム書いてるプログラマーだとそうも行かないわな
この本に載ってる人たちは、パソコンやプログラムが好きでその気持ちを表すためにプログラムを書いてるわけだからプログラムを芸術なんていえるんだろうな
0036デフォルトの名無しさんNGNG
みなさんはアジソンウェスレイのWindowsプログラミング関連書籍の
サンプルソースコードをどう思いますか?

C・APIアプリケーションでもMFCアプリケーションでも
日本人が書いたソースコードとは全然違いますよね。
003733NGNG
>>35
ま、なにがしか人に感銘を与える人工物を芸術と呼ぶならそれは芸術だろうね。
そういう意味では、オレにとって芸術的プログラムは、Pascalの父WirthのPascalコンパイラだな。
しかし、あくまでもプログラムは技術であって、そのなかでアルゴリズムが優れてエレガントなものは芸術的という言い方をしたい。
0038デフォルトの名無しさんNGNG
優れたクラス設計が芸術的に見えるのは俺だけだろうか。
0039デフォルトの名無しさんNGNG
>>38
同意。で、どんなクラス設計?
0040デフォルトの名無しさんNGNG
38じゃないけど、必要最低限かつメインルーチンの行数を劇的に減らすようなクラス設計にするとかなりきれいに見えるような気がする
0041デフォルトの名無しさんNGNG
>>38
残念なことに、そんなクラスに出会ったことがない。
大抵の場合、普通すぎて何も感じないか、酷くてケチをつけるのかのどちらか。

0042デフォルトの名無しさんNGNG
>>39 レスありがとう。
インターフェースやクラスの責務が明確で、対象とする環境や条件で
きっちり切り分けられていることに一番こだわるかなぁ。
個々のパーツ(クラスとか)の切り分けのセンスに芸術性を感じる。
君はどんなクラス設計に芸術性を感じるの?
0043デフォルトの名無しさんNGNG
>>41
君の言うこともっともかも。そして酷くてケチをつけたことが
強く印象に残ってしまうんだよな。あぁ、ここもこんな作りなのかよ、と。
004439NGNG
>>38
おお「責務」という言葉に反応です。
ただ単にあるがまま(脳内美化実装)をクラス化するのではなく
>>40 とも関連するのだけれども、
目的のためにきっちり分けられているクラスは美しいですね。
しかも、インターフェイスまで及んでいるのなら言うことないです。
004538NGNG
>>38=>>42=>>43です。

>>44
理想を言ったら設計思想はほとんどインターフェースと
アブストラクトクラスだけで表されるんだよな。
クラスは単にその一つの実装に過ぎないのだから。
そういう思想で作成されているとさらに美しく感じる。
0046デフォルトの名無しさんNGNG
IOCCC の anderson.c が最高だな。
旗のヤツね。
0047デフォルトの名無しさんNGNG
わかりやすく言うと>>42や>>45のようにやたらと単語並べるよりも
>>40のように一言でいえるようなのが望ましい
0048デフォルトの名無しさんNGNG
 プログラムがげいじゅつなんて思ってたのは仕事にする前までさ。
 共通化と言う名目の元構造化さえまともにできてないソースに貶められる。
 見るも無残すぎて自分が作ったソースだなんて思いたくないよ(´・ω・`)
 汎用機PJってなんでこんななわけ_| ̄|○
 もう仕事辞めようかな
0049デフォルトの名無しさんNGNG
>>48
その気持ちわかるなぁ。自分がやったやっつけ仕事を見ると憂鬱になる。
0050デフォルトの名無しさんNGNG
>>47の思う美しいプログラムのことを
わかりやすく一言で言ってみてください。
0051デフォルトの名無しさんNGNG
>>48-49
でもさ、次に新しい仕事をはじめてみると、前よりも綺麗なソースを
書けるようになってる自分に気が付いたりするよね?

・・・それがなきゃ引退を考える時期かも
005248NGNG
>>48
 今やってるのはやっつけでないつもりだけどな。
 やっつけのは後でバグッてる事が多いからそのタイミングでこっそり修正(・`ω´・)b
 差分チェック?>必要だから直しましたヽ(´▽`)ノ

>>51
 プログラムってどんどん簡潔化していくと、ほぼ一つに収束すると思うんだよね。
 その域まで達するといいね。
 でもソース書く以外にも勉強する事はたくさんあるから向上心がある内は続けるべきだと思うよ。
0053r ◆r/etvCKR2A NGNG
分岐はかっこわるい
0054デフォルトの名無しさんNGNG
override
0055デフォルトの名無しさんNGNG
芸術とはリファクタリングだ!!!
0056デフォルトの名無しさんNGNG
0057デフォルトの名無しさん05/02/05 10:40:38
age
0058デフォルトの名無しさん2005/05/02(月) 22:51:33
いいか、うくつしい(←何故か変換できない)プログラムっていうのは
ソースもUIもうくつしくないといけないんだぞ。
0059592005/05/07(土) 04:29:08
>>58
>うくつしい(←何故か変換できない)
「ふいんき」の別バージョン登場。もしかして同じ人?
0060デフォルトの名無しさん2005/06/16(木) 10:22:12
鬱屈してるプログラムなら...
■ このスレッドは過去ログ倉庫に格納されています