最も美しいプログラミング言語は?
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2006/07/19(水) 23:51:56最も美しくプログラムを書ける言語はなにか?ということです。
言語名と理由を書いてください。
0002デフォルトの名無しさん
2006/07/19(水) 23:56:280003デフォルトの名無しさん
2006/07/19(水) 23:59:480004デフォルトの名無しさん
2006/07/20(木) 00:00:240005デフォルトの名無しさん
2006/07/20(木) 00:21:450006デフォルトの名無しさん
2006/07/20(木) 00:24:04誰が書いても美しいソースになる。
コメントを書かない限りは。
0007デフォルトの名無しさん
2006/07/20(木) 00:26:01>>4
自信もてよ
0008デフォルトの名無しさん
2006/07/20(木) 01:22:230009デフォルトの名無しさん
2006/07/20(木) 01:26:27more concise than Perl,
more regular than Python,
more flexible than Ruby,
more typeful than C#,
more robust than Java,
and has absolutely nothing in common with PHP?
It's Haskell!
0010デフォルトの名無しさん
2006/07/20(木) 01:34:33But Lisp is more "beautiful" than Haskel!
0011デフォルトの名無しさん
2006/07/20(木) 01:41:56俺の中に今まであったコンピュータは数値を扱うと言う概念が覆された。
数値だけでなく文字列も何もかもアトムとして平等にセルに収まり、
分け隔てなく扱ってしまうことは驚きだった。
というわけでLisp族に1票。
逆に最も美しくないプログラミング言語としては、よい意味でC++に1票。その理念は好きだよ。
0012デフォルトの名無しさん
2006/07/20(木) 02:16:380013デフォルトの名無しさん
2006/07/20(木) 02:46:59CommonLispさわってがっかりなんだぜ?
Lispが綺麗なんじゃない、Schemeが綺麗なんだ
0014デフォルトの名無しさん
2006/07/20(木) 04:46:13>数値だけでなく文字列も何もかもアトムとして平等にセルに収まり、
>分け隔てなく扱ってしまうことは驚きだった。
そんな機能いまならいろんな言語あるだろ。
LispオタクがLispを真に評価しているのはそこではない。
0015デフォルトの名無しさん
2006/07/20(木) 04:59:240016デフォルトの名無しさん
2006/07/20(木) 11:42:38ナニをやるかにあわせて、言語を選んだり、作ったりする。一時の彼らの
手段としてLispが選ばれていたというだけだよ。
0017デフォルトの名無しさん
2006/07/20(木) 19:26:42わかりきった話だがLispの出番じゃない希ガス
0018デフォルトの名無しさん
2006/07/21(金) 00:04:26尤もインデントによるブロックはpythonのオリジナルじゃないらしいけどね
一番汚いのは……シェルスクリプトかなw
0019デフォルトの名無しさん
2006/07/21(金) 00:38:290020♥ 殿舎男萌え萌え系?謎 ◆ej9/UehK8Y
2006/07/21(金) 01:17:390021デフォルトの名無しさん
2006/07/21(金) 01:23:11でもプログラミング言語は外見じゃない! 中身だ!
最近はそんな風に思えて来ました。
0022デフォルトの名無しさん
2006/07/21(金) 01:26:050023デフォルトの名無しさん
2006/07/21(金) 01:31:100024♥ 殿舎男秋葉系? ◆ej9/UehK8Y
2006/07/21(金) 01:45:11プログラマーによって大きくソースが変わりそう
0025デフォルトの名無しさん
2006/07/21(金) 02:38:290026デフォルトの名無しさん
2006/07/21(金) 02:50:160027デフォルトの名無しさん
2006/07/21(金) 03:20:20でも Lisp はリテラルを自分で作れるからなぁ...
0028デフォルトの名無しさん
2006/07/21(金) 06:38:07データ構造がそのままプログラムになる。美しい。
ラムダ計算。美しい。
数十年間現役。美しい。
簡単なものならば、誰でも処理系が作れる。美しい。
ある意味でSmalltalkあたりも美しい。
「プログラマーに総てを委ねる」潔さって意味ではC言語も美しい。最も醜悪な言語でもあるが。
0029デフォルトの名無しさん
2006/07/21(金) 10:06:380030デフォルトの名無しさん
2006/07/21(金) 10:09:420031デフォルトの名無しさん
2006/07/21(金) 11:08:100032デフォルトの名無しさん
2006/07/21(金) 14:12:100033デフォルトの名無しさん
2006/07/21(金) 14:16:240034デフォルトの名無しさん
2006/07/21(金) 14:31:47いみないよね。
0035デフォルトの名無しさん
2006/07/21(金) 17:43:21プログラムは非常に醜い。 orz
0036デフォルトの名無しさん
2006/07/21(金) 17:54:360037デフォルトの名無しさん
2006/07/21(金) 18:21:280038デフォルトの名無しさん
2006/07/21(金) 21:02:49見た目だけ美しい。
0039デフォルトの名無しさん
2006/07/21(金) 22:34:39そもそも美しさってなんだっていう議論も興味深い。いろいろな意見をぶつけあって、お互い尊重して、そんな感じでこのスレッドを楽しみましょう。
0040デフォルトの名無しさん
2006/07/22(土) 01:45:34なんだかんだいって見やすい
0041デフォルトの名無しさん
2006/07/22(土) 05:07:450042デフォルトの名無しさん
2006/07/22(土) 07:54:310043デフォルトの名無しさん
2006/07/22(土) 19:26:35↓
「明日までにアレやっといてね。」
0044デフォルトの名無しさん
2006/07/22(土) 23:35:560045デフォルトの名無しさん
2006/07/23(日) 16:16:180046デフォルトの名無しさん
2006/07/23(日) 23:18:220047デフォルトの名無しさん
2006/07/24(月) 12:39:04frameworkは糞だがw
0048デフォルトの名無しさん
2006/07/24(月) 13:59:020049デフォルトの名無しさん
2006/07/24(月) 23:08:220050デフォルトの名無しさん
2006/07/24(月) 23:18:33つ[ObjectiveC]
0051デフォルトの名無しさん
2006/07/25(火) 02:50:01Objective-C
0052デフォルトの名無しさん
2006/07/25(火) 02:53:440053デフォルトの名無しさん
2006/07/26(水) 23:47:480054デフォルトの名無しさん
2006/07/26(水) 23:57:080055デフォルトの名無しさん
2006/07/27(木) 00:24:330056デフォルトの名無しさん
2006/07/27(木) 00:52:11GuidelinesC++
0057デフォルトの名無しさん
2006/07/27(木) 11:12:030058デフォルトの名無しさん
2006/07/27(木) 16:10:560059デフォルトの名無しさん
2006/07/27(木) 21:00:44C++でOOPしないと心に決めてかかればいいだろ。
0060デフォルトの名無しさん
2006/07/27(木) 22:39:080061デフォルトの名無しさん
2006/07/27(木) 23:22:220062デフォルトの名無しさん
2006/07/28(金) 01:55:01http://www.cminusminus.org/index.html
C++ みたいにコンパイル速度劇遅じゃなく、
Objective-C みたいに実行速度劇遅じゃない、
OCaml みたいに見た目が小汚くなく、
C をちょっと便利にしたような言語が欲しい。
出来れば REPL 付きで。
0063♥ 殿舎男秋葉系? ◆ej9/UehK8Y
2006/07/28(金) 08:10:250064デフォルトの名無しさん
2006/07/29(土) 02:48:590065デフォルトの名無しさん
2006/07/29(土) 17:59:27完全に名前勝ち
0066デフォルトの名無しさん
2006/07/30(日) 00:22:010067デフォルトの名無しさん
2006/07/30(日) 01:26:340068デフォルトの名無しさん
2006/07/30(日) 02:07:290069デフォルトの名無しさん
2006/07/30(日) 16:33:23あとShakesphereもアリかな
だがここはあえてBASIC
0070デフォルトの名無しさん
2006/07/30(日) 20:07:34まるでわからない
0071デフォルトの名無しさん
2006/07/30(日) 20:22:32これはなかなか面白いな
0072デフォルトの名無しさん
2006/07/30(日) 20:53:50こいつも上手に組めば美しくなるはず
美しくするためだけに労力を費やす必要がありそうだが
0073デフォルトの名無しさん
2006/07/30(日) 23:03:13と思う今日この頃
0074デフォルトの名無しさん
2006/07/31(月) 00:21:08C++は無限に増殖を続ける自然言語だよ。
ただでさえチューリング完全なテンプレートが仕様にある上に、
そのテンプレートを利用したライブラリが標準として仕様になっているのだから
これはもう無限に仕様の拡大を将来に約束してしまったようなものだ。
0075デフォルトの名無しさん
2006/07/31(月) 07:58:57コンパイル時にプログラムできる機構ぐらいで
「無限に増殖を続ける自然言語」って、バカじゃねーの。
0076デフォルトの名無しさん
2006/07/31(月) 08:07:50age厨も本望だろうよ。
0077デフォルトの名無しさん
2006/07/31(月) 21:35:400078デフォルトの名無しさん
2006/08/01(火) 02:27:18「ライフゲーム」ということでよろしいか?
0079デフォルトの名無しさん
2006/08/01(火) 05:39:390080♥ 殿舎男秋葉系? ◆ej9/UehK8Y
2006/09/02(土) 11:26:000081デフォルトの名無しさん
2006/09/04(月) 08:29:370082デフォルトの名無しさん
2006/09/05(火) 03:46:41アイロボットみたいだな
株ロボもいつか夢を見るようになるのかなぁ
0083デフォルトの名無しさん
2006/09/05(火) 03:53:380084デフォルトの名無しさん
2006/09/05(火) 04:05:07触ればわかる美しさ
0085デフォルトの名無しさん
2006/09/05(火) 04:15:32>生物種と同様に、言語も枝分かれや行き止まりが
>そこらじゅうにある進化の系統樹を形成する。
>既にその一部は現在でも観て取れる。 Cobolは、
>かつてあれだけ流行ったのに、知能ある子孫を
>残してはいないようだ。それは進化の行き止まり、
>ネアンデルタール言語なんだ。
0086デフォルトの名無しさん
2006/11/01(水) 20:44:34プログラマとしてはどうかと思う
0087デフォルトの名無しさん
2006/11/02(木) 04:28:08// 無限ループ
...
}
0088デフォルトの名無しさん
2006/11/04(土) 13:35:110089デフォルトの名無しさん
2006/11/20(月) 07:08:470090デフォルトの名無しさん
2006/11/20(月) 07:14:380091デフォルトの名無しさん
2006/11/20(月) 20:40:37lisp の物マネ言語だからな。
当たり前。
0092デフォルトの名無しさん
2006/11/20(月) 20:41:58リスプが美しいと思うのなら魔道に堕ちてる気がするが
そのへんは大丈夫だよね・・・
0093デフォルトの名無しさん
2006/11/20(月) 21:13:44Guy Steele しか知らないけど、他にも有名な人が多いの?
0094デフォルトの名無しさん
2006/11/20(月) 21:43:450095デフォルトの名無しさん
2006/11/21(火) 09:20:380096デフォルトの名無しさん
2006/11/21(火) 12:19:38なめてもらっては困るな
0097デフォルトの名無しさん
2006/11/21(火) 12:25:510098デフォルトの名無しさん
2006/11/21(火) 21:17:570099デフォルトの名無しさん
2006/11/21(火) 21:23:31わたくしザマス
0100デフォルトの名無しさん
2006/11/22(水) 00:50:490101デフォルトの名無しさん
2006/11/22(水) 01:11:42ライブラリが命になるように、
言語仕様をコンパクトにまとめる事こそ
一番重要だと思う。
0102デフォルトの名無しさん
2006/11/22(水) 09:20:010103デフォルトの名無しさん
2006/11/22(水) 09:42:050104デフォルトの名無しさん
2006/11/22(水) 12:57:210105デフォルトの名無しさん
2006/11/23(木) 01:48:560106デフォルトの名無しさん
2006/11/23(木) 01:54:180107デフォルトの名無しさん
2006/11/23(木) 02:17:300108デフォルトの名無しさん
2006/11/23(木) 12:40:100109デフォルトの名無しさん
2006/11/23(木) 15:36:52書いてて気持ちいいのはpythonだね
0110デフォルトの名無しさん
2006/11/23(木) 16:23:590111デフォルトの名無しさん
2006/11/23(木) 16:36:280112デフォルトの名無しさん
2006/11/23(木) 17:14:240113デフォルトの名無しさん
2006/11/23(木) 17:16:390114デフォルトの名無しさん
2006/11/23(木) 18:44:04直行性が低いとか、そういう意味で言ってる?
0115デフォルトの名無しさん
2006/11/23(木) 19:12:500116デフォルトの名無しさん
2006/11/23(木) 21:48:320117デフォルトの名無しさん
2006/11/23(木) 22:42:180118デフォルトの名無しさん
2006/11/23(木) 23:55:48とりあえず赤い線切っとけ
0119デフォルトの名無しさん
2006/12/01(金) 22:02:21白い線と黒い線しかない場合はどうしたらいいですか?
0120デフォルトの名無しさん
2006/12/01(金) 22:36:28パンティだと考えれば自ずと答えは出るだろう
0121デフォルトの名無しさん
2007/01/19(金) 11:23:48ラッキーカラーだからなw
0122デフォルトの名無しさん
2007/01/22(月) 19:29:270123デフォルトの名無しさん
2007/02/08(木) 18:09:510124デフォルトの名無しさん
2007/03/21(水) 16:55:59んで、エロい人がみんな関数型言語やっとけ言ってて怖いんだけど、どれくらいやればええのん。
入門サイト一通り見た限りではフーンとしか思わなかったのだが。
何か新しい知見やカルチャーショックがあるでもなかったし。
もっと踏み込まないとダメなのか?
でも、別にやることがないから、踏み込もうにも踏み込む場所がないのだが。
0125デフォルトの名無しさん
2007/03/21(水) 17:08:07ゲームの一つでも作ってみたら?
0126デフォルトの名無しさん
2007/03/21(水) 17:47:03関数型言語って何やったの?あんたの経験した言語から見たら型のパターンマッチや
カリー化、末尾再帰の最適化と新しいことだらけだと思うけど。
0127デフォルトの名無しさん
2007/03/21(水) 19:07:57普通にループすりゃいいのに。
0128デフォルトの名無しさん
2007/03/21(水) 19:10:220129デフォルトの名無しさん
2007/03/21(水) 21:56:02型のパターンマッチはC++のテンプレートの特殊化・部分特殊化だって似たような感じだったと思うし、
末尾再帰の最適化は手続き型言語でも一応(コンパイラの中の人担当だが)出てくる。
それよりも副作用の無さを挙げるべきだと俺は思う。
0130デフォルトの名無しさん
2007/03/21(水) 22:26:350131デフォルトの名無しさん
2007/03/24(土) 05:04:13美しいの定義が非常に難しいけど個人的にはC#が今のところもっとも美しいと思う
C++はポインタがうるさくて美しくない
JavaはCOBOLチックな過剰なコードを要求する汚さが合って美しくない
perlは変数の表現が美しくない
VBもCOBOLチックな過剰なコードを要求するし、勝手にソース加工しやがるから美しくない
0132デフォルトの名無しさん
2007/03/24(土) 08:47:24それはポインタを使うから。C++なら明示的なポインタは(必ずしも)言語仕様的には必要としない。
>JavaはCOBOLチックな過剰なコードを要求する汚さが合って美しくない
美しさの根拠として汚さを持ち出すのは意味が無い。
>perlは変数の表現が美しくない
同意。
>VBもCOBOLチックな過剰なコードを要求するし、勝手にソース加工しやがるから美しくない
ソースを加工するのは言語仕様か? 処理系が糞なだけだろ。
0133デフォルトの名無しさん
2007/03/24(土) 23:56:37.Net Frameworkはライブラリがヘボイ。
ビジュアルコンポーネントがヘボイ。
ソース付いてないから勉強にならん。
0134デフォルトの名無しさん
2007/03/25(日) 00:29:30もっとも文法のルールが少ないものが一番美しい言語。
0135デフォルトの名無しさん
2007/03/25(日) 01:17:450136デフォルトの名無しさん
2007/03/25(日) 02:36:40書き方の自由度が多いのか少ないのか、どっちだろう
0137デフォルトの名無しさん
2007/03/25(日) 13:14:46そうかな
0138デフォルトの名無しさん
2007/03/25(日) 13:29:25全部ではないがShared Source CLIである程度のソースは公開されている。
0139デフォルトの名無しさん
2007/03/25(日) 18:19:05つまりBrain F(以下略
0140デフォルトの名無しさん
2007/03/25(日) 19:06:23おいおい、8命令も存在する言語なんてシンプルじゃないだろ
つまりHQ9+が(以下略
0141デフォルトの名無しさん
2007/03/26(月) 22:20:53たまに覗いて文句をいう筋合いでもないが。
0142デフォルトの名無しさん
2007/03/27(火) 06:45:210143デフォルトの名無しさん
2007/05/05(土) 18:05:46Ook.とOok!とOok?だけしかないし。
0144デフォルトの名無しさん
2007/05/05(土) 18:10:460145デフォルトの名無しさん
2007/05/05(土) 18:15:550146デフォルトの名無しさん
2007/05/05(土) 18:26:54すみません。私は無知なため知りません。
0147デフォルトの名無しさん
2007/05/05(土) 20:48:140148デフォルトの名無しさん
2007/05/05(土) 21:29:380149デフォルトの名無しさん
2007/05/06(日) 00:09:20アレは、配布している.NETランタイムとは実装だぞ。
0150デフォルトの名無しさん
2007/05/06(日) 07:26:17C++:91
C言語:61
PHP:28
C#:25
VBA:24
VB.NET:26
JavaScript:22
Perl:13
ASP.NET:12
JSP:12
アセンブラ:9
VB6:8
ActionScript:1
Ruby:1
松下エクセルスタッフ
http://tech.excelstaff.jp/index.php
0151デフォルトの名無しさん
2007/05/06(日) 12:23:12汚いもの貼るなよ
0152デフォルトの名無しさん
2007/05/06(日) 13:21:35あと、構文が 3 つしかないのは Smalltalk?
6809 のアセンブラとか美しかった気がする。
0153デフォルトの名無しさん
2007/05/06(日) 16:03:50Prologはひとつ? それとも
':-'/1 と ':-'/2 と '?-'/1 の3通りかな
0154デフォルトの名無しさん
2007/05/07(月) 01:31:10+++++++++[>++++++++>+++++++++++>+++++<<<-]>.>++.++
+++++..+++.>-.------------.<++++++++.--------.+++.
------.--------.>+.
0155デフォルトの名無しさん
2007/05/08(火) 05:56:11a.
b.
c:-a,b.
これを美しいというか、ということですね。
0156デフォルトの名無しさん
2007/05/08(火) 13:14:03再帰の表現は、LispよりPrologの方が美しいよ.
0157デフォルトの名無しさん
2007/05/08(火) 13:44:07r:-r.
0158デフォルトの名無しさん
2007/05/08(火) 15:37:59それなら、最も美しい言語の候補に挙げない理由は?
0159デフォルトの名無しさん
2007/05/08(火) 15:43:110160デフォルトの名無しさん
2007/05/08(火) 17:06:33確かにこのスレではPrologは一度も出てこない。私があげない理由は、
1) 論理は超時間的な筈なのに、Prologとなると実行速度が遅いためか、
導出(反駁)が、動力車が働いているような実時間的な印象になってしまう。
ラファエロの絵にミケランジェロが描き加えているような感じ。
2) 双方向性が完全に確保できていれば、断じて第一席に推すが、実際には
20-30%のコードしかこのように働かない。いささか中途半端。
3) 視覚的な美にいまひとつ。徹底して不均整、左右非対称。
4) 反対に「美は乱調にあり」をよしとすれば、今度は二次元の木構造が
見えすぎて、乱れがなさ過ぎる。もうちょっとハイパーなところがあってもよい。
0161160
2007/05/08(火) 18:30:27ネタにしかならなかったね。
0162デフォルトの名無しさん
2007/05/08(火) 22:53:34boost って, なんであんな不毛な努力してるんですか?
言語設計からやり直した方が良さげに見えるんですけど...
0163デフォルトの名無しさん
2007/05/08(火) 22:59:41その疑問に対する回答じゃないが、boost の全てが統合失調症じみてるわけじゃないぞ。
標準化に間に合わなかっただけで、普通に共通部品(ライブラリ)として相応しいものもある。
0164デフォルトの名無しさん
2007/05/08(火) 23:21:44> 普通に共通部品(ライブラリ)として相応しいものもある。
bind とか fanction とか fanctor とか lambda とか....
あの枠組みでやるには苦しいなぁ... ...
言語仕様少しつつけば何とかなるんでねぇの???
と, 思っただけなんで, 深く考えての発言じゃないっす.
0165デフォルトの名無しさん
2007/05/08(火) 23:49:07The Cat Programming Language
ttp://www.cat-language.com/
0166デフォルトの名無しさん
2007/05/09(水) 18:20:36複雑で難解なため?
要素を詰め込みすぎて統一性に欠けるため?
重箱の隅を突くようなルールが多すぎるため?
そういう理屈からいくと日本語あたりは
自然言語の中で相当美しくない部類に入るな
俺の美意識からするとC++は最も美しい言語の一つ
0167デフォルトの名無しさん
2007/05/09(水) 18:34:08高級ではないが美しい
0168デフォルトの名無しさん
2007/05/09(水) 18:36:12> そういう理屈からいくと日本語あたりは
> 自然言語の中で相当美しくない部類に入るな
それがどうかしましたか?
0169デフォルトの名無しさん
2007/05/09(水) 19:53:39bindとfunctionは、次期規格C++0xで標準入り確定と見てよい。もうTR1に入っている。
lambdaは、言語仕様の改良も含め色々提案が出ているようだが、決定打がない模様。
ところで俺は、今まで広く使われてなお輝きを失っておらず、
ファンがいる、使っているところがあるというところにC++の美しさを感じる。
0170デフォルトの名無しさん
2007/05/09(水) 20:21:17日本語は文法が整然としていて綺麗な言語ですが。。。
0171デフォルトの名無しさん
2007/05/09(水) 20:26:56斜め読みがこんな簡単な表現法は無いぞ
漢字ばかりの国やアルファベットだけの国の人はかわいそす
0172デフォルトの名無しさん
2007/05/09(水) 20:28:09それでどこが美しいのですか?
0173166
2007/05/09(水) 20:36:35例えば「黒い瞳の大きな女の子」
たったこれだけの言葉に何通りの解釈が可能か?
これは日本語の文法が如何に曖昧であるかの証明
意思疎通不可能にすら思える方言多数
漢字、平仮名、片仮名など文字があまりに多い
これらを考えると整然とした言語とは到底いえない
だが、だからこそ豊かな文章表現が可能な美しい言語だと思う
ルールが少ないとか、ここでよく挙がっているような(プログラム言語の)美しさ
の基準からすると日本語は美しくないということになりかねん
俺の言いたいのはそういうことだ
文章力不足でスマソ
0174デフォルトの名無しさん
2007/05/09(水) 21:04:04ただし正書法フルスペックで書くこと。
一切の省略を無くせば、これ以上の言語はShakesphereくらいだろう。
0175デフォルトの名無しさん
2007/05/09(水) 21:39:46文章力不足でスマソ
全くだな
ところで
日本語が美しかろうと美しくなかろうと、どうでもいいじゃん。
そんで、何語なら美しいって言うんだい?
ここは自然言語のスレッドじゃないはずだが、、、
0176173
2007/05/09(水) 21:47:06>そんで、何語なら美しいって言うんだい?
C++だって言ってんだろカス
あれほど何でも書ける自由な言語は他にない
揚げ足とるくらいならせめて読んでから言え>>175
0177デフォルトの名無しさん
2007/05/09(水) 23:15:250178デフォルトの名無しさん
2007/05/09(水) 23:41:03手続的な意味で、出現順を変えたらまったく違った意味になってしまうのではないか?
「あれほど自由」とはとても思えないが・・
0179デフォルトの名無しさん
2007/05/09(水) 23:44:57それはお前が遅延評価処理を書けないってだけの話。
0180デフォルトの名無しさん
2007/05/09(水) 23:51:21>あれほど何でも書ける自由な言語は他にない
>
>揚げ足とるくらいならせめて読んでから言え>>175
断定するくらいならせめてその証拠となる具体例を出してから言え>>176
0181デフォルトの名無しさん
2007/05/09(水) 23:54:02もはやC++であるとは言えない。
0182デフォルトの名無しさん
2007/05/09(水) 23:58:50確かに。 C++ で、Lisp コンパイラ(インタプリタ)でも書いて、
ほらLispでできることは全部C++でできるよ!って言うようなもんかw
0183デフォルトの名無しさん
2007/05/09(水) 23:59:100184デフォルトの名無しさん
2007/05/10(木) 00:19:57>もはやC++であるとは言えない。
は?言語の標準に完全に則してるのにC++でないってどういうことだ
>>182
意味不明。例えにすらなってない。
考えもせずに他人の尻馬に乗るのは頭悪く見えるぞ?
0185デフォルトの名無しさん
2007/05/10(木) 00:25:510186デフォルトの名無しさん
2007/05/10(木) 00:44:180187デフォルトの名無しさん
2007/05/10(木) 01:00:1024番目のプログラミング言語「Alcai son na MON」を召喚!」
「な、なに!美しさ4000だと!?」
0188デフォルトの名無しさん
2007/05/10(木) 01:02:48尻馬っていうなよ、自演なんだから。
0189デフォルトの名無しさん
2007/05/10(木) 01:55:18> C++だって言ってんだろカス
> あれほど何でも書ける自由な言語は他にない
それ以上のことがlisp系の言語で出来るてるんだが…
つか、 ほとんどLisp系言語の後追いじゃん、C++って
つぎは、continuationのfirst citizen化ですか?
0190デフォルトの名無しさん
2007/05/10(木) 02:15:16> それ以上のことがlisp系の言語で出来るてるんだが…
具体例をあげてくれ
> ほとんどLisp系言語の後追いじゃん、C++って
は、どこが?だから言うなら具体例をあげろよ
C++で関数型プログラミングは可能だが
Lisp系で手続き型やOOって可能なの?
論理型プログラミングは?ジェネリック指向は?
0191178
2007/05/10(木) 07:32:23思いおこしての書き込みなんだが。
0192デフォルトの名無しさん
2007/05/10(木) 07:52:05>具体例をあげてくれ
continuationのfirst citizen化じゃね?w
>Lisp系で手続き型やOOって可能なの?
余裕で可能
というか、OOを一番最初にやったのはLisp(w
>論理型プログラミングは?ジェネリック指向は?
これも可能
ジェネリックという意味じゃLispが究極w
0193デフォルトの名無しさん
2007/05/10(木) 08:38:35> というか、OOを一番最初にやったのはLisp(w
つsmalltalk
0194デフォルトの名無しさん
2007/05/10(木) 09:19:110195デフォルトの名無しさん
2007/05/10(木) 09:30:220196デフォルトの名無しさん
2007/05/10(木) 10:09:39現実的な選択はC++と思う.
0197デフォルトの名無しさん
2007/05/10(木) 10:13:47最近の言語のモジュール化の仕組みの方が美しい
0198デフォルトの名無しさん
2007/05/10(木) 10:58:31速いものは必ず美しい
っていうのがあったけれど、プログラム言語の世界で
自由なものは必ず美しい
っていうのはどんなものだろうね。みんなの感想をききたい。
0199デフォルトの名無しさん
2007/05/10(木) 11:10:320200デフォルトの名無しさん
2007/05/10(木) 11:32:13SmalltalkよりもCommonLispのCLOSのほうが公式な言語としては
早かったはず
0201デフォルトの名無しさん
2007/05/10(木) 11:54:43CLOSよりSmalltlakのほうが早いしSimulaのほうがもっと早いだろ
あとLISPならCLOSよりFlavorsの方が早いぞ
LISPが最初というのも、Flavorsが最初に多重継承とMix-inをやったってのと
勘違いしてないか?
0202デフォルトの名無しさん
2007/05/10(木) 11:57:390203デフォルトの名無しさん
2007/05/10(木) 12:59:19いつ頃組み込みまれのかはわからない。MACLISPは1970年代前半から開発
されていたはずだけれど、OOの追加時期はずっと遅いのではないかと思う。
0204デフォルトの名無しさん
2007/05/11(金) 17:47:360205デフォルトの名無しさん
2007/05/12(土) 05:30:500206デフォルトの名無しさん
2007/05/12(土) 09:28:120207デフォルトの名無しさん
2007/05/12(土) 11:01:39全角www頭悪そうwww
# 全角って何ですか?
0208デフォルトの名無しさん
2007/05/12(土) 11:56:040209デフォルトの名無しさん
2007/05/13(日) 16:37:42そんなに古い言語なのですか。
0210デフォルトの名無しさん
2007/05/13(日) 20:04:280211デフォルトの名無しさん
2007/05/13(日) 20:44:230212デフォルトの名無しさん
2007/05/13(日) 20:55:53Python以外の言語は、なくされ、つくられないらしい。
0213デフォルトの名無しさん
2007/05/13(日) 23:01:06その疑問に対する正しい答えは「SmallTalk などという物が標準化された事はありません」だね。
冗談はさておき、ANSI Smalltalk より ANSI Common Lisp のが時期はだいぶ早かったと思う。
0214デフォルトの名無しさん
2007/05/26(土) 21:25:090215デフォルトの名無しさん
2007/07/19(木) 19:15:420216デフォルトの名無しさん
2007/07/19(木) 19:30:42Shakespeare Programming Language
だろ。
0217デフォルトの名無しさん
2007/07/19(木) 19:39:30あまりにも静的。
0218デフォルトの名無しさん
2007/07/19(木) 20:21:43動的になる瞬間があるといったほうがいいと思う。
それ以上のLispなども同じ。
0219デフォルトの名無しさん
2007/07/19(木) 21:34:420220デフォルトの名無しさん
2007/07/23(月) 22:53:31お前ら勝手に言語を脳内で創作してHello,worldを理想系で書いてください
もちろん応用が利く形でなければ
0221デフォルトの名無しさん
2007/07/23(月) 22:58:230222デフォルトの名無しさん
2007/07/24(火) 00:16:15標準出力にこれからオレが伝える11文字を書いてくれ!
その10文字は 'Hello,world' だッ!
頼んだぜッ!!
0223デフォルトの名無しさん
2007/07/24(火) 00:28:270224デフォルトの名無しさん
2007/07/24(火) 06:54:290225デフォルトの名無しさん
2007/07/24(火) 08:43:010226デフォルトの名無しさん
2007/07/24(火) 10:33:500227デフォルトの名無しさん
2007/07/24(火) 11:57:34Java とかw
0228デフォルトの名無しさん
2007/07/24(火) 12:33:330229デフォルトの名無しさん
2007/07/24(火) 13:01:361995年 5月23日 Java言語発表
1995年 某日 日本映画初CG作品「学校の怪談」でプログラムが世に認められる
1995年 11月23日 Windows95が発売 爆発的ブームになる
現在に至る
今のオープンフェイスOSが存在するのは、Java+CGの影響に著しく関与する
0230デフォルトの名無しさん
2007/07/24(火) 13:51:080231デフォルトの名無しさん
2007/07/24(火) 14:31:350232デフォルトの名無しさん
2007/07/24(火) 14:37:480233デフォルトの名無しさん
2007/07/24(火) 22:26:53ネタレスすると、命令じゃなく嘆願型になると大胆予想。
preare句やexcuse句から始まるコードになる。
0234デフォルトの名無しさん
2007/07/24(火) 22:27:460235デフォルトの名無しさん
2007/07/24(火) 22:39:390236デフォルトの名無しさん
2007/07/24(火) 23:00:33まずは宣言型の言語を全て忘却する所からだな
その後、C++ こそが宣言が他言語であるとひたすら刷り込む
0237デフォルトの名無しさん
2007/07/24(火) 23:05:39l と r を間違える。
0238デフォルトの名無しさん
2007/07/25(水) 01:43:480239デフォルトの名無しさん
2007/07/25(水) 01:48:43http://www.freewebs.com/activetv/?X2/?YTV=kayukayutamaking+Ninja+Girl
0240デフォルトの名無しさん
2007/07/25(水) 02:16:07別のスレでこんな事議論してるが、
http://pc11.2ch.net/test/read.cgi/tech/1185010023/55-
やはりschemeの美しさは異常
0241デフォルトの名無しさん
2007/07/25(水) 03:45:42S=プログラムの仕様の適当な有限集合
d=言語仕様の「長さ」(e.g. formal semantics の長さ)
c(s)=「仕様 s∈S を満たす最小のプログラム長」
A, B=適当な定数
美しさ=A*d + B*min c(S) (小さい方が美しい)
0242デフォルトの名無しさん
2007/07/25(水) 03:46:00RPGが命令型に分類されているのだが、あれは、デシジョンテーブルに
記述することによって実行を制御してるから宣言型ではないかな。
0243デフォルトの名無しさん
2007/07/25(水) 03:48:17×美しさ=A*d + B*min c(S) (小さい方が美しい)
○美しさ=A*d + B*max c(S) (小さい方が美しい)
0244デフォルトの名無しさん
2007/07/26(木) 11:54:230245名無しさん@そうだ選挙に行こう
2007/07/29(日) 15:25:520246名無しさん@そうだ選挙に行こう
2007/07/29(日) 15:32:260247名無しさん@そうだ選挙に行こう
2007/07/29(日) 16:08:35OOPになって、言語の美しさは低下しているなぁ。辞書引きこそ命。
0248名無しさん@そうだ選挙に行こう
2007/07/29(日) 16:52:140249名無しさん@そうだ選挙に行こう
2007/07/29(日) 17:06:11ごめんなさいごめんなさいごめんなさい
0250名無しさん@そうだ選挙に行こう
2007/07/29(日) 17:07:300251名無しさん@そうだ選挙に行こう
2007/07/29(日) 17:47:050252名無しさん@そうだ選挙に行こう
2007/07/29(日) 17:50:57殆ど全ての言語がオブジェクト指向化されたこの時代に…
0253名無しさん@そうだ選挙に行こう
2007/07/29(日) 17:58:35アドホックなコーディングテクニック(loops, flavors, ...) に過ぎないんだがね
理論的に言えば単なる subtyping
0254名無しさん@そうだ選挙に行こう
2007/07/29(日) 18:04:31美しさという観点からはOOを取り込んだ言語はやはり失格!
0255名無しさん@そうだ選挙に行こう
2007/07/29(日) 18:18:19Smalltalk は美しいぞ。Lisp 並みに文法のルールが少ない。
0256名無しさん@そうだ選挙に行こう
2007/07/29(日) 18:20:15いまだにオブジェクト指向(80年代の香りプンプン)が、とか言ってる人もいるんだねw
ま、そういう素人さんはスルーするとして、
Lisp は確かに一つの候補ではあるが最も美しいかというと同意は出来ない。
OO 程度ライブラリで実現出来る(実際俺のいた某T大では演習問題だったw)
というグルーの強力さは類を見ない。
何となく漠然としているが、まず最低限の要求事項として strongly-typed language
であることが上げられる。(まあタイプシステムに理論的にも汚い subtyping (= OO) を導入するかは悩むが)
その上で、言語仕様が簡潔であり(従って Haskell は NG)かつ Lisp 並みの
強力なグルーを有していることが上げられる。
0257名無しさん@そうだ選挙に行こう
2007/07/29(日) 18:31:580258名無しさん@そうだ選挙に行こう
2007/07/29(日) 18:34:150259名無しさん@そうだ選挙に行こう
2007/07/29(日) 18:36:420260名無しさん@そうだ選挙に行こう
2007/07/29(日) 19:16:140261名無しさん@そうだ選挙に行こう
2007/07/29(日) 19:40:31なんだかよくわからないが、
strong-typed language が美しいという確信は
どこからでてくるのかな。
0262デフォルトの名無しさん
2007/07/29(日) 21:37:06美しいという曖昧な感覚に確信も糞もなかろう>Ruby厨
0263デフォルトの名無しさん
2007/07/29(日) 21:40:030264デフォルトの名無しさん
2007/07/29(日) 21:49:390265デフォルトの名無しさん
2007/07/29(日) 22:19:040266デフォルトの名無しさん
2007/07/29(日) 23:23:4200267デフォルトの名無しさん
2007/07/29(日) 23:34:5900268デフォルトの名無しさん
2007/07/29(日) 23:56:540すげえ自信満々だが、90年代の香りプンプンだな
前世紀からの書き込みですか?
0269デフォルトの名無しさん
2007/07/30(月) 00:14:130270デフォルトの名無しさん
2007/07/30(月) 00:22:0490年代をバカにすんな
0271デフォルトの名無しさん
2007/07/30(月) 00:25:030272デフォルトの名無しさん
2007/07/30(月) 00:25:5990年代で頭の中が止まったままなら、そういう扱いをされても仕方があるまい
0273デフォルトの名無しさん
2007/07/30(月) 00:45:430274デフォルトの名無しさん
2007/07/30(月) 01:08:56結局どの言語が最も美しいのか、これだけ饒舌で「わかってる俺」をアピールしておきながら、
実際には「意見をまったく言っていない」のがポイントなんだよ。気付いてやれよ、力作なんだから!
0275デフォルトの名無しさん
2007/07/30(月) 01:10:030276デフォルトの名無しさん
2007/07/30(月) 01:17:10具体的な話をしてしまうと突っ込まれるからじゃないか
0277デフォルトの名無しさん
2007/07/31(火) 08:40:37この頃はC++がそうなりつつあるのが興味深い(それをテンプレートは既に持っていた)
C++はこの先どうなってしまうんだ?
ていうか何指向なのよあの言語
0278デフォルトの名無しさん
2007/07/31(火) 08:46:130279デフォルトの名無しさん
2007/07/31(火) 10:52:000280デフォルトの名無しさん
2007/07/31(火) 12:21:52何指向でもかかってきなさい状態
0281デフォルトの名無しさん
2007/07/31(火) 12:43:20・Cとの互換性はできる限り保つぞ!
・いかなる分野・プラットフォームでも使えるものにするぞ!
・いかなるプログラミングパラダイムも押さえるぞ!
の三本柱を、一言でどう表すべきだろな。
0282デフォルトの名無しさん
2007/07/31(火) 12:53:150283デフォルトの名無しさん
2007/07/31(火) 20:42:020284デフォルトの名無しさん
2007/08/01(水) 01:58:090285デフォルトの名無しさん
2007/08/01(水) 12:22:270286デフォルトの名無しさん
2007/08/01(水) 20:45:100287デフォルトの名無しさん
2007/08/01(水) 23:18:440288デフォルトの名無しさん
2007/08/01(水) 23:42:500289デフォルトの名無しさん
2007/08/02(木) 00:46:410290デフォルトの名無しさん
2007/08/02(木) 00:53:540291デフォルトの名無しさん
2007/08/02(木) 01:14:310292デフォルトの名無しさん
2007/08/02(木) 01:16:400293デフォルトの名無しさん
2007/08/02(木) 08:52:580294デフォルトの名無しさん
2007/08/02(木) 23:19:55学の無い一般的プログラマ(一般大衆)に受けが良かったんだろうな
0295デフォルトの名無しさん
2007/08/02(木) 23:23:05美しさよりも現実に使い物になるかが重要なんだから。
それをわかっていて、そういう道を選んだのがC++。
0296デフォルトの名無しさん
2007/08/02(木) 23:24:150297デフォルトの名無しさん
2007/08/03(金) 08:17:370298デフォルトの名無しさん
2007/08/03(金) 08:45:13C++?
0299デフォルトの名無しさん
2007/08/03(金) 09:13:500300デフォルトの名無しさん
2007/08/03(金) 09:41:53コンパイラを書くのに適した言語ってこと?
ターゲットの言語にもよるけど、C++ はむしろ向いていないよ。
0301デフォルトの名無しさん
2007/08/03(金) 10:26:23LISPに決まってんだろヴォケ
0302デフォルトの名無しさん
2007/08/04(土) 22:23:180303デフォルトの名無しさん
2007/08/19(日) 15:24:01Pascal とか思い浮かぶけど美しくは無いねぇ。
言語仕様がコンパクトの方がいいとか言うと万能チューリング機械とかが入っちゃうから嫌だなぁ。
構文規則の割に書きたいことがすらすら短く書けるのがいいかな?
0304デフォルトの名無しさん
2007/08/19(日) 15:32:51Smalltalk はグッド
0305デフォルトの名無しさん
2007/08/20(月) 15:39:20どちらも、美しいとは言い難いな。
関数型よりまし、という程度。
0306デフォルトの名無しさん
2007/08/20(月) 15:52:58行書も草書もたまには篆、隷も欲しい。
Smalltalk だとメッセージの宛先なんて、文脈上
たいていの場合省略できるはず。もっと自由に。
0307デフォルトの名無しさん
2007/08/20(月) 16:03:10代数的データ型とパターンマッチのある言語が書きやすいと思う
0308305
2007/08/20(月) 16:11:03Prologはコンパイラ作るのが難しい言語かもしれない。
0309デフォルトの名無しさん
2007/08/20(月) 22:53:44見た目で釣られる馬鹿には受けがいい言語らしいけどw
0310デフォルトの名無しさん
2007/08/21(火) 00:42:100311デフォルトの名無しさん
2007/08/21(火) 01:16:45>関数呼び出しのシンタックスシュガー
シンタックスシュガーの意味をちゃんと理解してないだろ。
単なる制御構文に還元されるメッセージ呼び出しもあるから、
「関数呼び出し」にわざわざ限定する意味も無いし。
丸出しだな…
0312デフォルトの名無しさん
2007/08/21(火) 08:50:30Smalltalkのキーワードメッセージが読みやすくて好きなんだけど、
あれが他の言語に採用されないのはどうしてだろう?
0313デフォルトの名無しさん
2007/08/21(火) 09:29:55とかいうネタで酒飲んだことある。
このセリフを言った人の美的感覚は構文規則にソースコードの美化を保つ仕組がない
のが嫌だったんだろうね。
でも意味を変えずに特定の記号をいくらでも配置できる言語なんて
ほとんどの言語がそうなんじゃないだろうか?
0314デフォルトの名無しさん
2007/08/21(火) 10:16:34というネタで珈琲飲んだことならある。
0315デフォルトの名無しさん
2007/08/21(火) 10:16:530316デフォルトの名無しさん
2007/08/21(火) 10:44:47頭部に ひとつの項しか記述ができない。
p1,p2,p3 :- q1,q2. のような定義はできない。それで条件節はどうしても
頭部 :- 本体 の本体側が重くなる。ここが美しくない。
そのこと以外、構文規則や表記法などはもっともすっきりした言語の
ひとつだと思う。
0317デフォルトの名無しさん
2007/08/21(火) 10:56:24fortranやcobolに慣れ親しんだ人なのかね。
0318デフォルトの名無しさん
2007/08/21(火) 15:28:12正確には、あれを採用した言語がメジャーになれないのはどうしてだろう?…か。
採用した言語はいくつかあるから。
マイナーメジャーなところでは SELF とか Objective-C とか。
その答えも、きっと単に C 言語に似ていないから…かとも。
あと、それこそ見た目に惑わされて recevier doSomething: arg1 with: arg2 が、
recevier.doSomething:with:(arg1, arg2) あるいは、
doSomething:with:(receiver, arg1, arg2) に過ぎないと言うことに
意外と気づく人が少ない…ということとか。コロンを関数名に入れられる
言語が少ないために、この読み替えに馴染めない…とか。
いろいろあるけど、結局は Smalltalk がメジャーになれなかったから…でFA?
0319デフォルトの名無しさん
2007/08/21(火) 22:06:53所詮、頭の悪い人が設計した糞言語
0320デフォルトの名無しさん
2007/08/21(火) 22:34:56# 賢いんだろうなあ。
あの分かち書きが流行らんのは、入れ子になると読みづらいってのもあると思う。
hoge doSomething: (fuga doSomething2: page
with: piyo)
with: foo.
に比べると、
hoge.doSomething(fuga.doSomething2(page, piyo), foo)
のほうが通りが良いと言うか何と言うか。
0321デフォルトの名無しさん
2007/08/21(火) 22:45:090322デフォルトの名無しさん
2007/08/22(水) 01:24:200323デフォルトの名無しさん
2007/08/22(水) 07:56:280324デフォルトの名無しさん
2007/08/22(水) 08:16:24Prologは反駁が美しいか、という根本問題がある。それと、
論理変数のリンクがストリームとして意識されるところに
特徴があり、このストリームが赤、青、黄、と色付けされた
配管のように見えてくる。この印象は美しさとはほど遠い。
0325デフォルトの名無しさん
2007/08/22(水) 19:18:46昔と違ってビット演算の割合って減ってるわけでしょ
今はそのオブジェクトにメソッドがあるかどうか、が重要なだけで、
つうか型チェックが必至てビット演算くらいじゃね?
0326デフォルトの名無しさん
2007/08/22(水) 19:39:35BASICは昔からアルファベットを使ってきたよ。ほかにもそんな言語いくらでもあるだろうし。
AND, OR, NOT, XOR
VBにはIMP, EQVまであるけど、これはどこのBASICも持っているものなのかな?
0327デフォルトの名無しさん
2007/08/22(水) 21:08:45.NOT., .EQV., .NEQV.
.EQ., .NE., .LT., .LE., .GT., .GE.
0328デフォルトの名無しさん
2007/08/23(木) 04:48:23少なくともN88にはあった
0329デフォルトの名無しさん
2007/08/23(木) 08:52:55SP-5030では「AND, OR, NOT」が中間コードに定義されていた。
0330デフォルトの名無しさん
2007/10/19(金) 06:25:580331デフォルトの名無しさん
2007/10/19(金) 10:20:030332デフォルトの名無しさん
2008/04/21(月) 23:25:36Pascal
case文がブサイク。それ以外は美しい。
Python
ブロックのコロンがブサイク。それ以外は美しい。
PHP
<?php 〜 ?> がブサイク。それ以外は並。
Prolog
角括弧の多用がちょっと見苦しいが、これは仕方ないだろう。
まあまあ美しい。
Perl
何から何まで全部ブサイク。美しい所なんか皆無。
PL/I
知らん。
0333デフォルトの名無しさん
2008/04/21(月) 23:31:31人類が皆Rubyを使えば世界に平和が訪れ
神から祝福されることだろう
0334デフォルトの名無しさん
2008/04/21(月) 23:38:140335デフォルトの名無しさん
2008/04/21(月) 23:42:590336デフォルトの名無しさん
2008/04/22(火) 00:57:300337デフォルトの名無しさん
2008/04/22(火) 04:30:28SLIME並みの開発環境があればScheme最強
0338デフォルトの名無しさん
2008/04/22(火) 06:28:47「速いものは必ず美しい」、ですか。
0339デフォルトの名無しさん
2008/04/22(火) 07:42:02まあ俺は常用しないけど
0340デフォルトの名無しさん
2008/04/22(火) 07:56:370341デフォルトの名無しさん
2008/04/22(火) 08:23:10美しいが、遅いから最強とは言えない。>>337を満たせば文句なし、って意味かと。
0342デフォルトの名無しさん
2008/04/22(火) 08:38:06LISP(系)の言語は丸くしっとり囲まれて美しいですね。
手続き型の諸言語は迷走しないための枠が必要ですから、
どうしてもゴツくなるようです。
クラス別にして、別枠で競った方がよさそうですね。
0343デフォルトの名無しさん
2008/04/22(火) 08:49:410344デフォルトの名無しさん
2008/04/22(火) 08:58:070345デフォルトの名無しさん
2008/04/22(火) 12:15:28endが邪魔
Pythonの美しさを見たまえ
0346デフォルトの名無しさん
2008/04/22(火) 16:22:130347デフォルトの名無しさん
2008/04/22(火) 16:41:160348デフォルトの名無しさん
2008/04/22(火) 18:05:53往々として速度の遅さにくる。
Prologなどは極めて簡潔な構文を得る代償として、どんな些細な
処理でも4本のスタックの push pop を繰り返す。
0349デフォルトの名無しさん
2008/04/29(火) 00:13:53endだけあってbeginが無いのはアンバランスに見えるな。
beginとendの対は崩してはいけない。
Pythonはbegin〜endも{〜}も無いから美しい。
Rubyみたいに片方だけ有るってのはものすごくブサイクに見える。
0350デフォルトの名無しさん
2008/04/29(火) 00:50:15俺がRubyで書く時に感じていた不安感はそれだったのか…
0351デフォルトの名無しさん
2008/04/29(火) 00:57:41もっともバッチイ言語の一つに c++0x が名乗りを上げたことは確だ
0352デフォルトの名無しさん
2008/04/29(火) 01:05:29駄洒落だと思ったら大間違いだぞ。
本当にバッチィぞ。
0353デフォルトの名無しさん
2008/04/29(火) 13:13:44対になってるのがいいとか悪いとか
そんなくだらないことはどうでもいい
0354デフォルトの名無しさん
2008/04/29(火) 13:31:230355デフォルトの名無しさん
2008/04/29(火) 14:26:19出来上がったコードの問題だったらちゃうよ
新しくなる予定の C++0x の lambda の仕様を見てみれば?
ASTレベルでバッチィいんだが…
0356デフォルトの名無しさん
2008/04/29(火) 23:38:26くだらない事にこだわるのが「美」ではないだろうか?
0357デフォルトの名無しさん
2008/04/30(水) 00:22:340358デフォルトの名無しさん
2008/04/30(水) 15:07:39初めて勉強した時には感動した
まさに最低で最高って感じ
0359デフォルトの名無しさん
2008/04/30(水) 19:00:00禿堂。独りよがりの美意識なんてプログラミング言語にゃ不要
0360デフォルトの名無しさん
2008/04/30(水) 19:10:27記法に本質的意味を求めるのもなかなか難しいと思うな。
0361デフォルトの名無しさん
2008/04/30(水) 19:14:350362デフォルトの名無しさん
2008/05/01(木) 14:28:290363デフォルトの名無しさん
2008/05/02(金) 02:28:09--終了--
0364デフォルトの名無しさん
2008/05/03(土) 12:05:47この言語を日常的に使っている人がこう書き込んだのだとすると、
うーーん、と感心するところですが、実際のところはどうなんで
しょうね。
0365デフォルトの名無しさん
2008/05/03(土) 22:08:030366デフォルトの名無しさん
2008/05/09(金) 09:08:45あれ、美しいと思いますか。
0367デフォルトの名無しさん
2008/05/12(月) 11:13:24もしかして、黄山谷の草書みたいなプログラム言語を
夢見てたりしない?
0368デフォルトの名無しさん
2008/05/12(月) 13:01:050369デフォルトの名無しさん
2008/05/12(月) 17:54:560370デフォルトの名無しさん
2008/05/12(月) 18:01:28シェイクスピア言語の向こうを張るためには、連綿くらいしないと。
0371デフォルトの名無しさん
2008/05/12(月) 18:04:080372デフォルトの名無しさん
2008/05/12(月) 18:07:230373デフォルトの名無しさん
2008/05/13(火) 15:40:07美ハ乱調ニあり。
これを、Prologをアセンブラとして、
美ハ乱調ニあり。 -> 美(乱調).
に落とす。なんていうのはどうですか。
奥行きがありそうだと思いませんか。
0374デフォルトの名無しさん
2008/05/14(水) 07:03:300375デフォルトの名無しさん
2008/05/14(水) 07:34:31おちゅーしゃ ってEUCの半角エンコードしないのかな。
0376デフォルトの名無しさん
2008/05/14(水) 07:38:51乱調(美).
あり(美,乱調).
いろいろあるね。こういうの奥行きがあるっていうw
0377デフォルトの名無しさん
2008/05/14(水) 09:51:45Prologもそんな風に積み上げていくと、着物の文様ようで
美しいじゃないか。
0378デフォルトの名無しさん
2008/05/14(水) 09:52:300379デフォルトの名無しさん
2008/05/14(水) 10:16:29最終的にはプログラムも「墨跡」のようなものになって
行くのではないか。
0380デフォルトの名無しさん
2008/05/14(水) 12:59:153D-Visulan っていうのがある。私は使えないが。積み木を重ねて、
グラフィック制御を定義する。ちょっと可能性を感じる。
墨跡ということになると、量子プログラム言語などというキャチフレーズが
付きそうだが、50年くらい遅れてる。
0381デフォルトの名無しさん
2008/05/15(木) 03:34:110382デフォルトの名無しさん
2008/05/16(金) 18:13:12美しいとは思わないけれど。
0383デフォルトの名無しさん
2008/05/20(火) 20:36:410384デフォルトの名無しさん
2008/05/20(火) 20:58:44無限ループ
>>333,335-336,343,345,349-350,383
0385デフォルトの名無しさん
2008/05/20(火) 22:07:060386デフォルトの名無しさん
2008/05/20(火) 22:49:28最終的には俺言語を自作する所までやるのがいいのかもしれないね
0387デフォルトの名無しさん
2008/05/20(火) 22:54:550388デフォルトの名無しさん
2008/05/20(火) 23:49:44PrologやBrainfuckのことを知って「この美しさは超えられない!」と諦めました…。
0389デフォルトの名無しさん
2008/05/21(水) 07:44:01これって究極の宣言型と手続型言語なんだね。それなら、
手続型部門: Brainfuck
宣言型部門: Prolog
OOP部門: Smalltalk
審査員特別賞: Shakesphere
でどんなもんだろう。
0390デフォルトの名無しさん
2008/05/21(水) 08:26:05それにパズル部門?とするならWhitespace の方が「美しい」と思う。
あと、関数型のHaskellもはずせない。
0391デフォルトの名無しさん
2008/05/21(水) 08:35:42Brain* は確かに少し無理があるか・・。
OOを取り入れるとどうしてもゴツくなってしまって
見た目の美しさは失われるから、公平に評価し難い。
これは別にOOP部門を設けたい。
Haskell 美しいかなぁww
0392デフォルトの名無しさん
2008/05/22(木) 09:54:170393デフォルトの名無しさん
2008/05/24(土) 04:22:45>宣言型部門: Prolog
プ
0394デフォルトの名無しさん
2008/05/25(日) 11:46:27関数型にもあるけど。
0395デフォルトの名無しさん
2008/05/25(日) 12:06:44やっぱりRubyのバランスの良さは飛び抜けてるね。圧倒的に美しい。
既存の様々なコードもさることながら、アンチのレベルの低さもまた、逆説的にその証明になってる。
他の言語はアンチの言い分にもそれなりに「見るべきところ」があるわけだけど、
Rubyのアンチは勘違いからくる言いがかりと人格批判だけ。欠点がまともに指摘されることが殆ど無い。
勿論この世に完璧な言語など無いが、それでもRubyの欠点を「正しく」挙げるのはそれほどに難しい。
これはすごいこと。現状、神の言語に最も近いのがRubyだ。
0396デフォルトの名無しさん
2008/05/25(日) 13:51:140397デフォルトの名無しさん
2008/05/25(日) 15:46:19神の言語に最も近いのがRubyだ。
神の言語に最も近いのがRubyだ。
神の言語に最も近いのがRubyだ。
神の言語に最も近いのがRubyだ。
0398デフォルトの名無しさん
2008/05/25(日) 16:17:07予約語の少なさは他の言語も
見習うべきだ。
0399
2008/05/25(日) 16:17:47ていうか外人ってわざと日本人の不細工に写ってる写真使う気がする。サッカー選手とかでも感じる。
0400デフォルトの名無しさん
2008/05/25(日) 16:25:090401デフォルトの名無しさん
2008/05/25(日) 16:40:29神を馬鹿にするな!
0402デフォルトの名無しさん
2008/05/25(日) 16:47:24予約語がないところは他の言語も
見習うべきだ。
0403デフォルトの名無しさん
2008/05/25(日) 16:56:460404デフォルトの名無しさん
2008/05/25(日) 18:25:450405デフォルトの名無しさん
2008/05/25(日) 19:37:01普通予約後が少ない場合は演算子なり記号に
置き換わるだけだから別に最適化の役にはたたんだろ…。
予約語が多いと使えるシンボル名が減ってウザス。
COBOLのPICとPICTUREとかまったく同じ意味なのに予約語とかアホかと
0406デフォルトの名無しさん
2008/05/27(火) 13:14:130407デフォルトの名無しさん
2008/05/28(水) 17:26:330408デフォルトの名無しさん
2008/05/28(水) 19:51:220409デフォルトの名無しさん
2008/05/29(木) 00:13:12そういう名前の言語があるの?
0410デフォルトの名無しさん
2008/05/29(木) 09:26:26よってマシン語が美しい
0411デフォルトの名無しさん
2008/05/29(木) 10:10:31よってCPUロジックが美しい
冗談はさておき、ペンティアム系の、86系に増築しまくった歪なマシン語がとても美しいとは思えない。
0412デフォルトの名無しさん
2008/05/29(木) 15:51:030413デフォルトの名無しさん
2008/05/29(木) 16:36:59>よってCPUロジックが美しい
つ[論理ゲート]
0414デフォルトの名無しさん
2008/06/02(月) 01:09:20そこで、Cellですよ。
0415デフォルトの名無しさん
2008/06/04(水) 10:15:37複雑でも筋の通ったものを美しいとするグループがあるらしい。
0416デフォルトの名無しさん
2008/07/21(月) 15:20:310417デフォルトの名無しさん
2008/07/21(月) 19:02:50>>367 以下ではだめですか。
0418デフォルトの名無しさん
2008/07/22(火) 00:01:390419デフォルトの名無しさん
2008/08/24(日) 04:37:17しかないと思うが。
Class obj;
obj.Func();
オブジェクト作ってオブジェクトを操作するのってこれ以上簡潔な
記述方法ももうないわけで。最近の言語は大体みんなこうでしょ。
ヒープに作る言語は
Class obj = new Class;
obj.Func();
とかだけど、書くのめんどうだし速度も遅いしそういうJavaの欠点を
C#はまたC++みたいにスタック生成もできるとかに修正してるよね。
テンプレートを付けると
Class<int> obj;
obj.Func();
これも最近の言語はどれも同じだし、関数も
Func(Class obj);
だけど、これに変更不可とか値渡し参照渡しを機能として付けると
Func(const Class& obj);
Func(readonly Class obj by ref);
とかにするしかないわけで、Javaとかconstなしとか機能削減すれば
もちろんより簡単に書けるわけだけど、当然その分性能が悪くなる。
んで、CとかC++の読みづらいソースとかはライブラリとかに依存する
部分がほとんどな気がするよ。LPCTSTRとか自社マクロが大量に定義され
ちゃっててCreateWindowなんて引数が大量でそらで書くのはほぼ無理みたいな。
上の方にも書いてあったけど、今どきは言語の機能/文法なんかほぼどれも似たり
よったりで大差なくってそんな重要なことじゃなくってさ、それよりOSが提供する
機能が簡単に使えたり、その他アプリケーション作るために必要な大量にある
ライブラリ機能とかがどれだけ豊富で(Win32とか.NETとかCPANとか)、いかに
簡単に使えるかとかが重要だと思うんだが。
0420デフォルトの名無しさん
2008/08/24(日) 06:21:43機能と美しさの関係をどう考えているのかな。
20世紀の歴史をもう一度見直した方がいいんじゃないか。
0421デフォルトの名無しさん
2008/08/24(日) 07:10:12プロセスとかスレッドとかファイルとかXMLとかウィンドウとかDBとか
いろんなパーツがさ。こういったのをうまく抽象化できて生成削除が
うまく扱えて、それぞれをうまく繋げることができて、総合的には
容易にアプリケーションを構築できて、新しい概念や変更が発生した場合にも
うまく繋ぎかえることが可能なものが上手というか美しいのかなとか思ってる
程度だけど。
foreachとかlambdaとか高階関数とかも言語ごとにいろいろあるけどそれほど
本質的な話でもないかなと。あるともちろんいろいろと便利だとは思うんだけど、
それよりも現実的にはUnicodeはきちんと扱えるんですか?とかの方が重要だったり。
歴史を見直すって具体的にはどう見直してなにを見出したいんだ?
おおざっぱには20世紀はC++/Javaみたいな大衆向け現実指向言語がlispなり
prologなりを圧倒した感じがしてるけど。
RubyなりPythonなりは動的機能とかがあるけどC++/Java/C#と概念にあんまり
違いを感じないんだが。
0422デフォルトの名無しさん
2008/08/24(日) 07:29:00それを追求しきれずに終わったのが20世紀だという意味。
ここでいう機能は「無駄を省く」という概念を含んでいて、その点で
あなたの挙げた言語群は機能的な美さへ持っていない。
C#はC++よりまし、というような言い方はできるが。
0423デフォルトの名無しさん
2008/08/24(日) 07:44:43だよね。細かいとこは修正できるかもしれんけどさ。
プロセスを作りたいと。
Process p;
p.Create("hoge.exe");
ウィンドウを作りたいと。
Window w;
w.Show();
これ以上簡単に表現できる必要もさしてないわけで。
そしてこのへんの表現方法は言語よりもライブラリの設計が担ってるわけで。
ただまあオブジェクト指向以外の方向だとまた違うかもしれないけど。
でもオブジェクトみたいに状態を持たせずに例えばウィンドウとかを管理
するのって難しくないかな?
0424デフォルトの名無しさん
2008/08/27(水) 07:10:43だめぽだと思う。
文字列を表す型が_bstr_t/CComBSTR/CString/char*/wchar*/std:string/
std::wstring/OLECHAR*/BSTR・・
ボンクラどもがライブラリを設計するとどんな言語でもだめになる。
これからの言語は言語設計もだけど、それ以上にいかに使いやすい質と量が
そろったライブラリを提供できるかが重要だと思う。
0425デフォルトの名無しさん
2008/08/28(木) 08:03:04縦に並べれば、抽象化された表現になり美しいといいたいんだね。
0426デフォルトの名無しさん
2008/08/28(木) 08:12:560427デフォルトの名無しさん
2008/08/28(木) 08:39:260428デフォルトの名無しさん
2008/08/28(木) 09:57:230429デフォルトの名無しさん
2008/08/28(木) 10:02:02どういうこと? 少し詳しく説明してください。
0430デフォルトの名無しさん
2008/08/28(木) 20:26:41最近はひとつのことでもいくつかの書き方が出来るようになったから、そうでもないけどね。
0431429
2008/08/28(木) 20:37:17あまり変わらず書けるということはわかるけど、それを呼び出す側は
どうなるというのかな。
0432デフォルトの名無しさん
2008/08/30(土) 23:36:11関数のネストが1,2個だったからね
オブジェクト指向は確かに見た目は綺麗に見えるけどただのパズルだよ
全体を既に把握してる場合は抽象化されたクラスは見やすいが
把握してない人間がソースをトレースしようとすると何重にもネストされた
関数郡が実行順位も不明確な状態で分散されてるごみの塊
0433デフォルトの名無しさん
2008/08/31(日) 13:44:47何が何を呼んでいるか、
気にしないようにしよう(気にしなくても問題無いようにしよう)と、
潮流が変わったんだよ。
気にするのに疲れちゃったからね。
0434デフォルトの名無しさん
2008/08/31(日) 19:13:15やはり、C++しか無いだろう
「華麗にして醜悪」「壮麗にして貧弱」
そんな相反する要素を持っているのはC++以外に無いしな
0435デフォルトの名無しさん
2008/08/31(日) 19:27:370436デフォルトの名無しさん
2008/09/02(火) 19:15:370437デフォルトの名無しさん
2008/09/02(火) 19:32:22まあ C++ はそんな所だろうな。
0438デフォルトの名無しさん
2008/09/02(火) 20:36:40弘法筆を選ばず
0439デフォルトの名無しさん
2008/09/02(火) 20:39:57こんな風に
ttp://kokuban.in/view/1217480299
0440デフォルトの名無しさん
2008/09/02(火) 21:22:150441デフォルトの名無しさん
2008/09/03(水) 23:49:280442デフォルトの名無しさん
2008/09/04(木) 05:51:110443デフォルトの名無しさん
2008/09/06(土) 22:35:270444デフォルトの名無しさん
2008/09/06(土) 22:43:22では美しいプログラミング言語は道具ではない(道具としては役に立たない)のかな?
0445デフォルトの名無しさん
2008/09/06(土) 23:05:100446デフォルトの名無しさん
2008/09/07(日) 10:24:18話の流れが理解できない人は、無理して参加しなくてもいいよ。
0447デフォルトの名無しさん
2008/09/07(日) 12:35:130448デフォルトの名無しさん
2008/09/07(日) 12:39:580449デフォルトの名無しさん
2008/09/07(日) 23:10:290450デフォルトの名無しさん
2008/09/07(日) 23:48:240451デフォルトの名無しさん
2008/09/13(土) 08:15:57http://schiphol.2ch.net/test/read.cgi/575/1010948472/l50
0452デフォルトの名無しさん
2008/09/19(金) 20:36:11OOPの枠内で考えるからライブラリに目がいくのではないか?
0453452
2008/09/19(金) 20:37:510454デフォルトの名無しさん
2008/10/03(金) 10:51:06醜さの中にも美しさは見出せると思うんだ
0455デフォルトの名無しさん
2008/10/05(日) 10:48:410456デフォルトの名無しさん
2008/11/28(金) 16:06:310457デフォルトの名無しさん
2008/11/28(金) 16:36:46http://ja.wikipedia.org/wiki/Whitespace
0458デフォルトの名無しさん
2008/11/28(金) 16:56:320459デフォルトの名無しさん
2008/11/28(金) 17:19:14別にその言語を推す何人目になっても構わないんじゃないかと。
0460デフォルトの名無しさん
2008/11/29(土) 00:28:550461デフォルトの名無しさん
2008/11/29(土) 23:23:040462デフォルトの名無しさん
2008/12/01(月) 10:05:160463デフォルトの名無しさん
2009/01/20(火) 20:45:0080402966
28237893
29335028
49310357
07361287
0132343
0464デフォルトの名無しさん
2009/02/02(月) 03:41:47他人がそのソースを一目で理解するのは難しいが
0465デフォルトの名無しさん
2009/02/03(火) 22:39:52所詮、その程度のプログラム
美しくはないな
0466デフォルトの名無しさん
2009/02/10(火) 14:50:27Prologならappend一つで済むものを汚い!汚い!
0467デフォルトの名無しさん
2009/04/01(水) 23:25:06dec
set
clr
halt
jz [飛び先]
jnz [飛び先]
の7個の命令だけで出来た言語
チューリングマシン語を分解したようなやつ。
0468デフォルトの名無しさん
2009/04/02(木) 02:47:52アセンブラ?ニモニック?
0469デフォルトの名無しさん
2009/04/02(木) 09:34:49jz あれば jnz いらなくないか?
0470デフォルトの名無しさん
2009/04/02(木) 23:39:56チューリング完全の必要最低限という意味なら不要。
対称性の為に入れた。
jnzを入れるか入れないかに対して大してこだわりはない。
0471デフォルトの名無しさん
2009/04/03(金) 02:05:01ピュアリスプなら以下のオペレータで可能です
car cdr eq cons quote atom cond(if)
0472デフォルトの名無しさん
2009/04/03(金) 23:02:020473デフォルトの名無しさん
2009/04/04(土) 15:35:500474デフォルトの名無しさん
2009/04/07(火) 00:31:420475デフォルトの名無しさん
2009/04/18(土) 14:02:05数学的な美しさを一番素直に表現できる言語かと。
IOモナド使うと他の言語と変わらなくなってしまうけど・・・
個人的にはパターンマッチとガードさえあればif,caseも要らないと思ってしまいます。
言語仕様から排除して問題ないんじゃないかとすら思えて・・・
0476デフォルトの名無しさん
2009/04/19(日) 00:50:530477デフォルトの名無しさん
2009/04/19(日) 09:19:14私もそれは思いますが、あれは必要悪かと・・・
0478デフォルトの名無しさん
2009/04/20(月) 18:13:48美しさを評価しているのに必要悪ってなんですか。
0479デフォルトの名無しさん
2009/04/20(月) 22:15:11何と言いましょうか。純粋関数型言語が手続き型言語と同じ順番に依存した処理をするために手続き型言語をシュミレーションする仕組み(モナド)の構文糖衣なんですよ。
純粋な関数型言語らしい書き方はとても美しいのに、手続き型をシュミレーションしないといけない場面(入出力・代入)がどうしても必要なばっかりに出来た一点のシミ。
Haskellの達人たちはそのシミを必要最小限に抑えられると聞きます。
でも、そういう欠点で言えば他の言語に比べて一番(仕様的に)不満の少ない言語だと感じています。
例えば、Smalltalkはオブジェクト指向言語では最高だと思いますが、メソッドは全てpublic。フィールドは全てprivete。変更不可と言うのが不満です。
Rubyはその点の不満は無いですが、Smalltalkと違い、if文等(+,-,*,/)の制御構文はオブジェクトではありません。
Haskellはもちろん、if文(正確にはif式)すらも関数で、+,-,*,/も関数です。モジュールなどでアクセス制御も不満な点はありません。
何より、アルゴリズムをもっとも素直に表現できる言語であるところが最大の魅力です。
0480デフォルトの名無しさん
2009/04/20(月) 22:47:52qsort (x:xs) = qsort [a|a<-xs,a<=x]
++ [x] ++
qsort [a|a<-xs,a>x]
今更ですが、長文すみませんでしたm(__)m
クイックソートのコード載せて帰ります。
0481デフォルトの名無しさん
2009/04/21(火) 00:17:280482デフォルトの名無しさん
2009/04/21(火) 01:21:27IOモナドが無いと実行結果がばらばらで出力されてしまいます。(原理的にそうらしいです)
実際にはIOモナド使わないと結果が見れないのでばらばらで出力された所を見た事無いですが・・・
せめて、IOモナドとかを直接見ないですむ仕組みで(個人的にはRAD環境とか何かしらのラッパーとか)Window(X-System含む)アプリとか出力(や状態を保持する処理)の権化みたいなアプリを書ける仕組みがあれば完璧です。
0483デフォルトの名無しさん
2009/04/21(火) 01:30:54またまた済みません・・・
今後、なるべく短くなるように頑張ります。
0484デフォルトの名無しさん
2009/04/21(火) 03:49:260485デフォルトの名無しさん
2009/04/21(火) 07:27:510486デフォルトの名無しさん
2009/04/21(火) 10:43:180487デフォルトの名無しさん
2009/04/21(火) 11:28:070488デフォルトの名無しさん
2009/04/21(火) 17:03:120489デフォルトの名無しさん
2009/04/21(火) 20:02:12あ、そう言えばどこかで聞いたような・・・
済みません間違いでしたね^^;
でも・・・何が不満だったっけ?
と、思い出してみたらRubyは(当たり前だけど)Rubyを動かす環境はオブジェクトじゃなかったのが不満だったんでしたっけ・・・
SmalltalkのOS(仮想OSであるSmalltalk)もオブジェクトで、分からないことはオブジェクトに聞け!!って環境は中々得難い体験でした^^
0490デフォルトの名無しさん
2009/04/21(火) 20:20:10>SmalltalkのOS(仮想OSであるSmalltalk)もオブジェクトで、
>分からないことはオブジェクトに聞け!!って環境は中々得難い体験でした^^
Smalltalkは抽象度が高過ぎて、自分にはもどかしかった
汚い物を汚い物として直接触れないのも不便です
0491デフォルトの名無しさん
2009/04/21(火) 20:58:06私も何だかんだとDelphiやVC#メインですし^^;
でも、ここは「美しい(ry
ある意味、抽象度を高めるのがプログラミング言語の歴史な訳ですし^^;
それを言ったらHaskellはSmalltalkよりさらに抽象度高いですよ?
0492デフォルトの名無しさん
2009/04/21(火) 21:40:04更に言えばWhitespaceやBrainfuckの方が・・・・
0493デフォルトの名無しさん
2009/04/21(火) 22:57:13残念ながら、私はLisp挫折しているのでまだ分かりませんが・・・
来月辺り、littleSchemerを買って再チャレンジの予定です^^
ただ、私が思うに一般の人がプログラミング言語の美しさを理解できる限界がHaskellなんじゃないかと思っています。
数学の表記をほぼそのままコードに落とせますし。
私の想像ですが、Lisp系はさらにその上の抽象度で、一般の人より上の見方が出来る人じゃないと美しさを感じられないのではないかと想像しています。
WhitespaceやBrainfuckは・・・まだ入門すらしていないのですが、ラムダ計算をそのまま書ける言語っぽい雰囲気を感じますね・・・
どこかに良い入門サイトがあれば教えて欲しいです^^
0494デフォルトの名無しさん
2009/04/21(火) 23:01:59抽象と書いたのは、やたらとモデル化したり階層化したがる事を言いたかったんだ。
Haskellはハードウェアの実装から遠いという意味では抽象的ですが、プログラムの
作り方は割りとダイレクトな言語だと思います。
0495デフォルトの名無しさん
2009/04/21(火) 23:02:47λ計算なら寧ろ、grassじゃないかな。それも専用スレがある。
0496デフォルトの名無しさん
2009/04/21(火) 23:27:530497デフォルトの名無しさん
2009/04/22(水) 11:54:220498デフォルトの名無しさん
2009/04/22(水) 19:48:28Brainfuckスレ見てきました。
限りなくチューリング機械に近い言語ですね。
これはこれで凄いです。
幾何学模様で確かに芸術的な美しさがありますね。
>>494
>やたらとモデル化したり階層化したがる事を
ああ、納得です。
家系図みたいに連綿と受け継ぐ傾向はありそうですね。
>>496
まだ書き込み始めて数日なので、ルールとか良く知らないのですが、…や^^は書かない方が良いのでしょうか?
一応、書かないように気をつけてみます。
>>497
アマチュアの日曜プログラマーの戯言ですので、あまり気にしないでください。
単純な関数程度ならLispでも書けますけど、プログラミング言語を知らない人が見ても理解できそうな書き方はHaskellの書き方だと感じたもので。
0499デフォルトの名無しさん
2009/04/22(水) 20:03:230500デフォルトの名無しさん
2009/04/22(水) 20:30:530501デフォルトの名無しさん
2009/04/22(水) 22:49:530502デフォルトの名無しさん
2009/04/22(水) 23:13:100503デフォルトの名無しさん
2009/04/22(水) 23:17:27それでPrologはどう評価するの?
0504デフォルトの名無しさん
2009/04/22(水) 23:50:44“一般”の人には理解できないから駄目な言語ってんだろ。たぶん。
前提が間違っているととんでもない結論に至るな。
0505デフォルトの名無しさん
2009/04/23(木) 00:18:30B ・・・ B言語
C ・・・ C/C++/C#
D ・・・ D言語
E ・・・ Erlang ★
F ・・・ F# ★
実際の世界は並列に動いている。
世の中をモデル化するときに並列という概念がプログラミング言語に備わっていれば
美しくプログラムをかけるんじゃないかと。。。並列指向の★に期待。
0506デフォルトの名無しさん
2009/04/23(木) 01:13:03構造化 ・・・ BASIC
オブジェクト ・・・ C++
関数型 ・・・ F#
並列 ・・・ Axum
だんだん下にいくほど美しくプログラムが書けるようになるのかな。
0507デフォルトの名無しさん
2009/04/23(木) 01:36:38構造化 ・・・ C/Perl
オブジェクト ・・・ C++/Java/Python/Ruby
関数型 ・・・ Ocaml/Haskel/Lisp/Scheme/Scala
並列 ・・・ Erlang
0508デフォルトの名無しさん
2009/04/23(木) 02:00:35■ソフトウェア・プロダクト・オブ・ザ・イヤー(R)2008
ユニケージ開発手法および同開発コマンドセット
http://www.ipa.go.jp/software/oftheyear/2008/documents/spoty2008r07.pdf
■ユニケージ開発手法
USP(Universal Shell Programming)研究所は、
Linuxの基本思想である「小さな道具」(コマンド)を組み合わせて「問題を解決する」(シェルスクリプト)手法の研究・普及を行っています。
この手法(ユニケージ開発手法)は、Java、Oracleなどを用いた従来の「手引き型」開発手法と一線を画し、
★圧倒的な開発生産性
★圧倒的な柔軟性
を特徴としています。
http://www.usp-lab.com/opinion.html
0509デフォルトの名無しさん
2009/04/23(木) 02:03:110510デフォルトの名無しさん
2009/04/23(木) 02:06:330511デフォルトの名無しさん
2009/04/23(木) 05:40:09君が知らないだけだろ。なんで>>503のタイミングで持ち出したか
理解できていないようだから。
0512デフォルトの名無しさん
2009/04/23(木) 06:01:190513デフォルトの名無しさん
2009/04/23(木) 11:03:26なるほど。>>504をよく読んでいなかった。ごめんなさい。
0514デフォルトの名無しさん
2009/04/23(木) 12:39:32ニモニック
0515デフォルトの名無しさん
2009/04/23(木) 20:10:25>>508とも関連するが、
システムを作るときにDSLを作ることはよくある。
その際、システムに最適化されたDSLが作れたとき美しいと感じるときがある。
ある販売管理システムが
START
A 100 100
B 0 0
C
END
とかけてしまったら美しいと感じないだろうか。
システム作りでの美しさとはそのような抽象化でもありえるのでは。
まあ、このスレはその抽象化を行うのに美しく作業できる言語は?とうのが主題ではあるけれど。
0516デフォルトの名無しさん
2009/04/23(木) 20:38:05これは・・・私に言っているのでしょうが何を不満に思ったのか書いていただかないと改善しようが・・・
あ、一応、私らしさが伝わるそうなので戻しますね?
書き方に不満があったら投票でもしましょうか^^;
Lisp知りもしないくせにとか言われると耳が痛いですが^^;
強力ではあると思いますが直感的ではないなぁ、と。
まだまだLispに数学的な美しさを見出すには修行不足のようです^^;
>>502
くだを巻いていた気はないのですが、気に障ったのなら謝ります。
自分を誇張表現するより、ありのままの自分で美しい言語とは?を話したいので正直に自分のレベルを明かしました^^;
>>503
ごめんなさいm(__)m
Prologは私の感性との相性が悪いみたいでどうも美しいとは感じていませんm(__)m
理由になっていないと言われるでしょうけど、変数が大文字で始まらなければならないのが、どうしても受け入れられません。
一階述語理論自体には興味はあるのですが、どうも変数が大文字で始まる言語だけは受け付ける事が出来ないようです。(なので、Erlangも同様な理由で受け付けられません^^;)
Javaにでも脳を侵されてしまっているな・・・とは感じているんですけど、駄目なんです><
それでも論理型言語の何が魅力なのかちゃんと知りたいと思い、関数論理型言語Curryなるものに注目しています。
まだ、英語のチュートリアルを落としてざっと読んでもHaskellっぽくしか見えなくて、論理型言語の特徴を見分けるに至っていませんが、時間があるときにじっくり読んで勉強するつもりで居ます。
0517デフォルトの名無しさん
2009/04/23(木) 20:42:43でも、今まで変数はずっと小文字で始めていたのでどうしてもそこを曲げられるのに抵抗を感じてしまいます^^;
0518デフォルトの名無しさん
2009/04/23(木) 20:47:44ある程度修練を積まないと見えない美しさって言うのは、
例えば、、、数学にだってあったわけじゃない?
だから、日曜プログラマでは見えてこない部分も有るってのに長文かよ、
みたいに思う人はいて当然かな。と思うよ。
だから俺はいつもROMってる。
0519デフォルトの名無しさん
2009/04/23(木) 21:04:49同年代の人間と会話する訓練でもしたほうがいい。
やっててこれなら周りもおかしいか、
おまえのおかしさを憐れまれているだけだ。
0520デフォルトの名無しさん
2009/04/23(木) 23:08:020521デフォルトの名無しさん
2009/04/24(金) 00:08:430522デフォルトの名無しさん
2009/04/24(金) 00:26:270523デフォルトの名無しさん
2009/04/24(金) 07:28:39ええ、高卒の私では見えない世界が一杯あると思います^^
家が貧乏でなければ大学に行きたかったですね・・・
なるべく短くなるように努力してみます。
>>519
私がウザイと思われているのは理解しました。
そんな些細な事よりも美しいプログラミング言語とは?についてお話して頂きたいです。
私と話したくないのであれば、私のコメントは無視して他の方とお話すれば良いのです。
0524デフォルトの名無しさん
2009/04/24(金) 08:54:07俺はなんとも思わないけど
自分自身を主張する奴は2chでは嫌がられる。
コテが嫌われるのと同様に。
こういうスレならなおさら意見や考えを主張すればよいのであって、
自分自身を主張する必要はない。
反論するのは筋違いだと思うよ。
PCだけじゃなく携帯から見てる人もいるから、NGすればいいなんて言うのはナシね
0525デフォルトの名無しさん
2009/04/24(金) 08:55:340526デフォルトの名無しさん
2009/04/24(金) 09:15:08たくさん書き込んでもらえるだけでありがたいけどね。
0527デフォルトの名無しさん
2009/04/24(金) 09:19:570528デフォルトの名無しさん
2009/04/24(金) 10:24:08これ言った人、もういないんだよな。
0529デフォルトの名無しさん
2009/04/24(金) 15:11:45他の言語にまでケチを付けて。周りをむかつかせて。馬鹿なの?死ぬの?
0530デフォルトの名無しさん
2009/04/24(金) 15:12:210531デフォルトの名無しさん
2009/04/24(金) 18:04:54他の言語にまでケチを付けて。周りをむかつかせて。馬鹿なの?死ぬの?
0532デフォルトの名無しさん
2009/04/24(金) 20:19:590533デフォルトの名無しさん
2009/04/24(金) 20:26:191.その言語の背景になっているモデルや指向をどれだけ自然に表せるか?
2.記述の簡潔さ。読みやすさ。(思考とコードとの間の齟齬が少ない)
3.上記を保ったまま堅牢性を求めるプログラミングにも耐え得るか?
こんな感じで、Haskellに一票です^^
まだ、自己主張してますかね・・・
0534デフォルトの名無しさん
2009/04/24(金) 20:50:30Haskellコンパイラではないよ。
0535デフォルトの名無しさん
2009/04/24(金) 21:03:500536デフォルトの名無しさん
2009/04/24(金) 21:13:20PCでもコンパイラ使えますか?
良い入門ページもあれば教えて欲しいです^^
0537デフォルトの名無しさん
2009/04/24(金) 21:58:540538デフォルトの名無しさん
2009/04/24(金) 22:01:18誰がそんな奴の話を聞いてくれると思っているんだろう?
0539デフォルトの名無しさん
2009/04/24(金) 22:08:11お騒がせして済みませんでしたm(__)m
0540デフォルトの名無しさん
2009/04/24(金) 22:22:00並列処理自体がこれからですからね。 PSI II がないと
検証もままならないという状態は困ったものです。
0541デフォルトの名無しさん
2009/04/24(金) 22:50:05イイハナシダナー 頑張ろうな。
0542デフォルトの名無しさん
2009/04/24(金) 22:52:15他の言語にまでケチを付けて。周りをむかつかせて。馬鹿なの?死ぬの?
0543デフォルトの名無しさん
2009/04/24(金) 23:12:140544デフォルトの名無しさん
2009/04/25(土) 12:25:41少し目立つとケナすのが2chの文化です。
あまり気にする事はないです。
しばらく発言せずにあちこちのスレを覗く事をおすすめします。
これを2ch風に言い表すと以下の様になります。
「半年ROMってろ」
0545デフォルトの名無しさん
2009/04/25(土) 12:41:110546デフォルトの名無しさん
2009/04/26(日) 00:21:170547デフォルトの名無しさん
2009/04/26(日) 00:43:05てか6809はどうよ?
きれいにまとまってると思うぞ
0548デフォルトの名無しさん
2009/04/26(日) 07:38:08もっと具体的に教えて。
抽象化してシステム記述言語がアセンブラっぽくなる可能性もあるわけで
参考のために知っておきたい。
0549デフォルトの名無しさん
2009/04/26(日) 08:09:036809は16bitを睨んだ為に若干直行性に掛けるが、68000になると寧ろ綺麗な作りだ。
0550デフォルトの名無しさん
2009/04/26(日) 08:50:20直交性っていうのはどういうこと?似た命令がないってこと?
0551デフォルトの名無しさん
2009/04/26(日) 09:06:04自分のプログラミングのスキルを磨け ボケ!
0552デフォルトの名無しさん
2009/04/26(日) 10:27:10任意の演算に対して任意のアドレッシングモードが使える事を
直交性が高いって言う
add reg
add imm
ってな感じの, アキュームレータ決めうち命令の場合, 直交性はない
add reg, reg
add reg, mem
add mem, reg
てな感じの, 命令は直交性が高いと言う
一番直交性が高い命令体型を持っていたのは, おそらく VAX
その物まねの V60 あたりも直交性は高かった.
68k はデータレジスタとアドレスレジスタが別扱いだったので
VAX や V60 に比べると直交性は低い
0553デフォルトの名無しさん
2009/04/26(日) 10:36:56なるほど。thnx
たしかに直交性が高いプログラミングの自由度があがって柔軟性がでるよね。
同じことをやる場合、直交性が低い方が見た目的には短いプログラムになるのかな。
自由度でいうと直交性が高いほうがいいけど、コードが短くなるなら
きめうちっていうのはある意味システムの抽象化が行われてるってことで場合によっては
美しい(短くてシンプル)なプログラムがかけそうな気がする。。。
0554デフォルトの名無しさん
2009/04/26(日) 10:42:260555デフォルトの名無しさん
2009/04/26(日) 11:11:53直交性が高い方が、おおむねコードは短くなる
前の例だと, 直交性低い場合こんな感じ
(index アドレッシングないと仮定)
load (r0), acc
add index
mov acc, r0
load (r0), acc
add r1
store acc, (r0)
高いとこんな感じ
add r0, index
add (r0), r1
0556デフォルトの名無しさん
2009/04/26(日) 14:56:430557デフォルトの名無しさん
2009/04/26(日) 21:17:51Haskellは、より美しいといえると思う。
print (map last (a b (c d)))
↓
print $ map last $ a b $ c d
こんな置き換えが可能。
LISP系みたいに括弧だらけにならない。
0558デフォルトの名無しさん
2009/04/26(日) 23:29:21そんな記法ならLISPでもできるし
0559デフォルトの名無しさん
2009/04/26(日) 23:49:48あらゆる意味でHaskellのほうが優れている
0560デフォルトの名無しさん
2009/04/27(月) 00:04:54$記法とやらが読みやすいとはとても思えないし
0561デフォルトの名無しさん
2009/04/27(月) 00:16:16いっそのことExcelみたな表でプログラミングするっていうのはどう?表っていうのはリストの特殊形態であるわけだし。
0562デフォルトの名無しさん
2009/04/27(月) 02:02:580563デフォルトの名無しさん
2009/04/27(月) 12:54:34あスレ違いか
0564デフォルトの名無しさん
2009/04/27(月) 13:10:26これは俺のアタマが手続き脳だから単に理解できないだけかもしれないけど。
0565デフォルトの名無しさん
2009/04/27(月) 13:38:54Excelの表を「数式を置けるプログラミング・フィールド(ソースコード置き場)」とみなせば
かなり美しいプログラミング環境のような気もします。
プログラミング「言語」と呼ぶのは難しいでしょうか?
0566デフォルトの名無しさん
2009/04/27(月) 13:43:09プログラミング言語かどうかは兎も角、環境としてはありだと思う。
実際、私のプロジェクトではそういうケースも多いし。
# アルゴリズムの検証をシート関数で行ない、それを元にC/C++で実装する。
そもそも、保存ファイル形式がXMLなんだしね。
0567デフォルトの名無しさん
2009/04/27(月) 13:47:28表計算はもちろんプログラム言語だよ。
0568デフォルトの名無しさん
2009/04/28(火) 09:40:470569デフォルトの名無しさん
2009/04/28(火) 12:39:410570デフォルトの名無しさん
2009/04/28(火) 14:44:140571デフォルトの名無しさん
2009/04/28(火) 22:01:170572デフォルトの名無しさん
2009/04/30(木) 02:05:11例えば、Smalltalkなら、分岐制御、式ブロック、クラスが全てが
オブジェクト表現され、継承やクラス定義は全てメッセージングで表現される。
全てオブジェクトとメッセージ。こういう完結された仕様はやっぱり美しく感じる。
逆に、同じオブジェクト指向を謳うJavaの中途半端さと言ったら醜悪に尽きる。
あそこまで。バランスを崩すなら速度に特化したC++の方がまだ潔い。
Haskell lispは上の方で語られているから詳細は省くが、やっぱり美しい一貫性をもつ。
0573デフォルトの名無しさん
2009/04/30(木) 02:26:130574ちんこ ◆GbXlaaQNk.
2009/04/30(木) 07:16:47使ってるのはJavaです。
結局、可読性が高くなるかどうかなんて、
実装者の能力次第です。
0575デフォルトの名無しさん
2009/04/30(木) 07:31:10その言語を熟知している人にとっての可読性ではそうだが、
その言語を全然知らない人間にとっての可読性は言語仕様によるのではないか。
0576ちんこ ◆GbXlaaQNk.
2009/04/30(木) 07:36:12主要はものは、
凝集度、結合度、明示的なネーミング
の3つである。
これらは言語とは全く関係ない。
凝集度が著しく低いコード、
不必要な結合性を生んでるコード、
意味分からん変数やメソッドがたくさんあるコード、
これらはどれも可読性が低い。
Cでも可読性の高いコードは書けるし、
Pythonでもゴミのようなコードは書ける。
言語への習熟度は、主要な言語においてはそれほど関係ない。
0577デフォルトの名無しさん
2009/04/30(木) 10:36:39言語とその文化がもつ冗長性は美しさにかかわる。
0578デフォルトの名無しさん
2009/04/30(木) 11:06:36sって何ですか、という疑問は?
0579デフォルトの名無しさん
2009/04/30(木) 11:13:550580デフォルトの名無しさん
2009/04/30(木) 11:25:09そんな言語はないけどね
0581デフォルトの名無しさん
2009/04/30(木) 11:27:52独自の文化には意外と慣れるから。
C#の命名も苦にならなくなる。
けど、phpとperlだけは馴染めなかった覚えが。
自分が使う期間が短かったのもあるけど。
0582デフォルトの名無しさん
2009/04/30(木) 14:56:42Prolog
0583ちんこ ◆GbXlaaQNk.
2009/04/30(木) 16:50:51それは小さな問題だよ。
結局は、可読性に対するきちんとした知識と実装力を持っているかどうか。
可読性という意味からいえば、toStringの方が高いといえる。
to_sではsが何を意味しているのか分からない。
もちろんRuby出身なおれは分かるけどね。
例えば、
おれに言わせれば、
http://pc12.2ch.net/test/read.cgi/tech/1239708057/567
のコード、これ書いたやつは死ぬべきだと思うんだけど、
なんでだか分かる?
このコード読んで吐き気を覚えないやつは
プログラミングをすべきじゃないよ。
0584デフォルトの名無しさん
2009/04/30(木) 17:02:18> このコード読んで吐き気を覚えないやつは
すまんが、吐き気を覚えない。
java.util.Scanner使ったこと無いから、
それに関する部分は良く分からんし。
0585デフォルトの名無しさん
2009/04/30(木) 17:17:11俺も吐き気を覚えない。
可読性はプログラミング言語の美しさとは関係ないと書いている(>>576)ので
これは「最も美しいプログラミング言語」とは関係ない話?
0586デフォルトの名無しさん
2009/04/30(木) 17:36:140587ちんこ ◆GbXlaaQNk.
2009/04/30(木) 18:57:52おれも使ったことないし、推測でscanfみたいなことかなと思ってるだけ。
おれはこのコードを見て、鳥肌がたち、書いた人間に殺意を覚えた。
おれがプログラムを書くものが読むことを必須とすると考えている本は、
Code Complete(上)
リファクタリング
実装パターン
の3冊だ。
他にもいい本は色々あるが、
とりあえずこの3冊を読まなければダメだ。
特にCode Completeは必須中の必須。
これが分からなくて、何を実装するというのだろうか。
可読性の低いコードは環境汚染に等しい。
無意識に可読性の低いコードを書く人間は、害悪。
おれは美しいコードを書くことについて強い興味を持っている。
そのおれが言う。
もっとも美しい言語はPythonだ、と。
そしてJavaプラットフォーム上で動くJythonを中心にこれからの世界は動き始めるだろう、と。
0588デフォルトの名無しさん
2009/04/30(木) 19:03:23http://pc12.2ch.net/test/read.cgi/tech/1239708057/567
の問題点を簡潔に示しておくんなまし。
> 鳥肌がたち、書いた人間に殺意を覚えた。
吐き気につづき、鳥肌、殺意とくれば、
興味深々になってしまって仕方ない。
ちなみに、俺が吐き気するコードは、
if (isRunning == true) と無用で余計なことをするものとか、
int flgっていう変数をヒョイと作って以下でグデグデ使うもの。
そんなもんかなぁ。
0589デフォルトの名無しさん
2009/04/30(木) 19:04:28○吐き気を催す
0590ちんこ ◆GbXlaaQNk.
2009/04/30(木) 19:13:36実装上そうしなければいけないのかも知れないということはある。
パっと見、形がおかしいということで吐き気を催しただけであることを断って、
その上でコードの気持ち悪さを指摘する。
それは、順番がおかしいことだ。
Scanner stdIn = new Scanner(System.in);
System.out.println("xとyを加減乗除します。");
System.out.print("xの値:");
int x = stdIn.nextInt();
この4行のうち、2,3行の段階ではstdlnという変数は必要ない。
4行目でやっと必要になるのだから、1行目を3,4行目の間に移すべきだ。
変数stdlnのライフタイムが不必要に長い。
これを見た時、おれは2行目のどこにstdlnが使われてるのか真剣になって探した。
当然あるべきだからだ。
変数のライフタイムが不必要に長くなることで可読性は落ちる。
結果としてバグが増える。
可読性の落ちる原因は、ある時点のコードを理解する上で、
脳のワーキングメモリに保存しておくべき情報が増えてしまうからだ。
上から下までさーっと読んで、
全部理解出来るコードじゃないとおかしい。
日本のソフトウェア業界のレベルが低いのは、
ちゃんとしたソフトウェアの教育を受けた人がいないからだ。
0591ちんこ ◆GbXlaaQNk.
2009/04/30(木) 19:19:40flagを立ててそれを使うというのは、
可読性を落とすという要因から禁止されている。
何かの本に書いてあったから、おれの読んだ本を何年かかけて全部嫁、このクソ虫が。
また、flagというのであればbooleanにして欲しいし、
booleanの変数名には肯定的な名前をつけるというのもルールだ。
flagと言われても、何のことだか分からない。flgなんて論外だ。"a"を省略する意味が分からない。
勉強のために色々コードを読んできた。
どれもひどいものばかりだ。どいつもこいつも狂ってる。
おれが注目するのはすでに述べたとおり、
凝集度、結合度、明示的なネーミングの3つだ。
きちんと1つの仕事をする明示的な名前のついた小さなメソッドに分けることによって、
文を読むがごとく読めるようになってないコードはすべて吐き気がする。
おれがかなり好きなコードがある。
JUNGというソフトウェアのコードだ。
参考にするといい。
これを書いた人はかなり出来る。
0592デフォルトの名無しさん
2009/04/30(木) 19:19:570593デフォルトの名無しさん
2009/04/30(木) 19:21:00>>590 は「美しいプログラミング」について語っているので、
すれ違いだと思います。
0594デフォルトの名無しさん
2009/04/30(木) 19:29:11「LISP最高!Schemeって美しい!」と思うんですが、
いざ使ってみると、「なにこのカッコの多さ!ありえない!」
と思うんですよね(笑)
0595ちんこ ◆GbXlaaQNk.
2009/04/30(木) 19:37:40プログラミング言語の美しさの何を語ろうというのだ。
何も判断基準がないじゃないか。
そこにあるのは、感性だけだ。
ただ美しいと思った、それだけ。
プログラミング言語は芸術ではない。
美しいものには美しいだけの理由がある。
そういう、なぜ美しいかということが分かった上で、
美しさについて語りたまえ、このクソ虫どもが。
もし分からないのであれば、
おれのようなスーパーハカーのいうことを聞いて
Pythonを使ってればいいんだよ。
0596デフォルトの名無しさん
2009/04/30(木) 19:38:220597デフォルトの名無しさん
2009/04/30(木) 19:39:53System.out.println("xとyを加減乗除します。");
System.out.print("xの値:");
int x = stdIn.nextInt();
これが、
System.out.println("xとyを加減乗除します。");
System.out.print("xの値:");
Scanner stdIn = new Scanner(System.in);
int x = stdIn.nextInt();
こうなったら吐き気収まりますか><
0598ちんこ ◆GbXlaaQNk.
2009/04/30(木) 19:41:21なぜだ。
なぜ、Javaが美しくないと考えたのか。
それが問題だ。
残念ながら、おれはJavaは最高に美しくはないものの、
それなりに美しく、かつ非常に生産性の高い言語だということで、
とてもお気に入りなんだ。
美しくなくはない、吐き気がするのはC++だ。
C++よりはCの方が美しい。
C++は言語仕様がどうとかいうより、
仕様の設計者はバカなのではないかと思うようなところがある。
0599デフォルトの名無しさん
2009/04/30(木) 19:44:02具体的に、吐き気がするところは?
俺はクラス定義の中にメンバー関数の定義を書くと
それだけでインライン化するところは、馬鹿じゃないかと思った。
インライン化したければ「inline」と書けばいいのに。
0600ちんこ ◆GbXlaaQNk.
2009/04/30(木) 19:47:380601デフォルトの名無しさん
2009/04/30(木) 19:49:18理由は違うが同意。inlineなんてのはコンパイラに対するヒントでしかないんだから存在意義自体がないと思う。
インラインかしたくない事情があれば、それを指定するようにすればいいんだ。
0602デフォルトの名無しさん
2009/04/30(木) 20:07:34C++ サイコー Lisp マンセー チンコシネー
まじめに書くと、なんとか指向とか関数型なんとかなどとのたまう言語は醜くく感じる。
そうしたければそのように書くこともできる、というのは大事だと思う。
でも、そのスタイルを強制されるのはまっぴらゴメン。
で、必然的にハイブリッドなものに美しさを感じるようになる。
いかにブレンドするか、その美しさこそが真の美しさ。
0603ちんこ ◆GbXlaaQNk.
2009/04/30(木) 20:28:23プログラミング言語はJavaで統一しようぜ。
全員Javaと最悪、Jython, JRuby, GroovyなどのJava実装スクリプトね。
Cを撲滅しようぜ。
Javaは実行速度だって、C++よりずいぶん速いんだ。
0604デフォルトの名無しさん
2009/04/30(木) 20:31:37なんだ、妄想癖の人だったのか。
0605ちんこ ◆GbXlaaQNk.
2009/04/30(木) 20:38:50今のJavaはまじで速い。
Javaが遅かったというのは過去の話。
今はCと変わらないレベルの速度が出る。
0606デフォルトの名無しさん
2009/04/30(木) 20:39:17対象スレ:最も美しいプログラミング言語は?
キーワード:D言語
抽出レス数:1
0607デフォルトの名無しさん
2009/04/30(木) 20:40:14意外かも知れんが、Linux上ではJavaとCは同等、C++が一番早い。
the computer language benchmark gameのサイトでスコアが見れる。
0608デフォルトの名無しさん
2009/04/30(木) 20:40:57おもしろではあるが、美しくはないだろ。
!()だかの使い方が未だにわからんw
0609ちんこ ◆GbXlaaQNk.
2009/04/30(木) 20:46:07だが、プログラムが複雑になるほど、Javaの最適化技術が生きてくるよ。
Javaは可読性の高いコードに対してもっともよい最適化を施す仕組みになってる。
0610デフォルトの名無しさん
2009/04/30(木) 20:55:09わかったから、もう帰れ>ちんこ
0611ちんこ ◆GbXlaaQNk.
2009/04/30(木) 20:57:21ただ、これからはみなさんも可読性というものに高い意識を持って欲しいです。
いや、持ちなさい、持ちやがれ。
可読性の低いコードを書く人は死ぬべきです。
プログラマというのは超のつく知能職だということを知るべきです。
0612デフォルトの名無しさん
2009/04/30(木) 21:06:16一応オブジェクト指向も可能でありながら、Cとの互換性のために
OSのAPIやCのライブラリを使え、アセンブリ言語との連携が容易で、大抵のスクリプト言語をホストできる。
D言語とか出てきてはいるんだけど、C++を置き換えるまでには至っていないし……。
0613デフォルトの名無しさん
2009/04/30(木) 21:08:490614ちんこ ◆GbXlaaQNk.
2009/04/30(木) 21:10:47実行速度は関係ないから、
とにかく開発の容易性を重視すべき。
半導体技術の向上は目覚ましい。
だから、ソフトウェアの世界には、
古い時代のハードでやっていた人と、
新しい時代のハードから始めた人(おれとか)の
2つが入り交じってしまっている。
それが害悪なんだ。
若い人は積極的に正しいプログラムの書き方を学んで、
古い人たちを追い出すべきなんだ。
0615デフォルトの名無しさん
2009/04/30(木) 21:14:12> とにかく開発の容易性を重視すべき。
はい、これで Java 消えた。
0616デフォルトの名無しさん
2009/04/30(木) 21:20:260617ちんこ ◆GbXlaaQNk.
2009/04/30(木) 21:23:33おれは知りません。
Javaにはたくさんの道具があります。
Pythonにはそれがありません。
Eclipse+Javaに開発速度で勝つことは不可能ですし、
Javaならば、美しいプログラムを書けるだけの言語仕様を備えています。
例えば、おれがC++が嫌いな一つの理由は、
コンストラクタチェーンが出来ないことです。
コンストラクタからコンストラクタを呼び出せなければチェーン出来ません。
保守性が著しく低くなります。
0618デフォルトの名無しさん
2009/04/30(木) 21:27:590619デフォルトの名無しさん
2009/04/30(木) 21:28:410620デフォルトの名無しさん
2009/04/30(木) 21:34:500621デフォルトの名無しさん
2009/04/30(木) 21:35:310622デフォルトの名無しさん
2009/04/30(木) 21:38:540623ちんこ ◆GbXlaaQNk.
2009/04/30(木) 21:38:57いや、美しさだけで言ったらRubyがマックスかも知れない。
だけど、RubyにはPythonに対して圧倒的に劣る点がある。
それは、コミュニティが小さいという点だ。
また、GoogleがPythonを採用してるなどの状況もあり、
Rubyへ優秀な人材が流れにくくなっている。
よって、RubyのライブラリはPythonに比べるとだいぶしょぼい。
スクリプトの標準がPythonになりつつあるというのもあって、もうこの差は埋まらないだろう。
Rubyはホビーランゲージとして生きていくことになる。
ただ、もし、もし、RubyがPythonと同じくendがいらない設計だったら・・・
そしたら話は変わっていたかも知れない。
Rubyのエンドラダーは害悪、可読性を言語仕様レベルで落とす原因になっている。
0624デフォルトの名無しさん
2009/04/30(木) 21:39:57あまりにも趣味的に過ぎる。
まあそれでもC++の醜悪さには及ぶべくもないが。
C++はパフォーマンスの要求されるところで使われて入るが
マルチコア環境での開発効率があまりにも悪すぎるので
関数型言語の台頭が予測されてるな。
0625デフォルトの名無しさん
2009/04/30(木) 21:41:58> 確かにRubyは美しい。
> いや、美しさだけで言ったらRubyがマックスかも知れない。
> だけど、RubyにはPythonに対して圧倒的に劣る点がある。
> それは、コミュニティが小さいという点だ。
いいかげん、スレタイ読めや。
0626デフォルトの名無しさん
2009/04/30(木) 21:43:53Javaでは配列にアクセスするごとにインデックスがはみ出していないかチェックする。
最適化しても、それを取り除くことはできないんじゃない?
C++では両端だけチェックして他は省くように書けるし、
コンパイラによっては、データ並列な部分を自動的にベクトル化してくれる。
(OpenMPを使って指示する必要がある部分もあるけど)
だから、信号処理や行列の計算など、速度が必要なタイプの処理の速度では、
JavaよりC++の方が一般的に言って上じゃないかな。
(私はJavaがメインだけど、嫌々C++を使いまくる場面がまだまだあるよ)
>>617
C++ 0xではコンストラクタチェーンができるようになる予定。
楽しみですな。
http://ja.wikipedia.org/wiki/C%2B%2B0x
0627デフォルトの名無しさん
2009/04/30(木) 21:45:08どこの底辺?
0628デフォルトの名無しさん
2009/04/30(木) 21:45:50> ただ、もし、もし、RubyがPythonと同じくendがいらない設計だったら・・・
> そしたら話は変わっていたかも知れない。
end がなければ google が Ruby を採用し、優秀な人材も集まり、
しょぼいライブラリも目の醒めるようなライブラリとして生まれていた、と。
んな、あほな。
0629デフォルトの名無しさん
2009/04/30(木) 21:47:420630デフォルトの名無しさん
2009/04/30(木) 21:50:210631デフォルトの名無しさん
2009/04/30(木) 21:52:40PERLもどきならではの汚さを持つRubyの人気はもう落ちてます。
0632626
2009/04/30(木) 21:53:50SaCでは配列は全て値渡しで、プリミティブ値はランク0の配列として扱われる。
ランク数不明の配列を引数に取る関数を定義すれば、
プリミティブ値でも任意のランク数の配列でも、一つの関数で処理できる。
概念的には値渡しだけど、内部ではポインタ渡しにした上、
データフロー解析を使って処理は最小限にしてくれる。
ベンチマークではFORTRANよりも速度が出ているくらい速い。
(ちなみにコンパイラが出力するのはCのコード)
研究用の言語なので常用は厳しいし、足りないものも多いけど、
メインストリームの言語に長所が取り込まれればいいと思っている言語だ。
http://www.sac-home.org/
0633デフォルトの名無しさん
2009/04/30(木) 21:56:25Java の人気の下がり具合のほうが大きいね。
0634ちんこ ◆GbXlaaQNk.
2009/04/30(木) 21:56:54それはない。
だが、おれはRubyを好んでいたかも分からん。
いや、やっぱりPythonかな。
Pythonコミュニティには高い可読性を追求する気概がある。
可読性を無視するクズプログラマには用はない。
でもやっぱりRubyもいいよね。
Rubyはインスタンス変数の書き方がいいわ。
Pythonは少しうんこなところがある。
selfがくどかったりね。
あれはC言語でのオブジェクト指向の書き方なんだよ。古い。
>>626
C++の設計者が、
C++が保守性、可読性について言語仕様レベルで問題があることに気づいていた。
それだけで余は満足じゃ。
0635ちんこ ◆GbXlaaQNk.
2009/04/30(木) 22:01:03どこが?
Python VS Rubyに関しては
もう逆転出来ないくらいの差がついてしまったよな。
Matz涙目www
0636デフォルトの名無しさん
2009/04/30(木) 22:08:04英語は読めなくても、下のグラフが何を意味しているかぐらいはわかるだろう。。。
しかし、
> Matz涙目www
なんか、発言にギャッップを感じる。
0637デフォルトの名無しさん
2009/04/30(木) 22:10:51常識のある人だと,長い目で見た場合 Java は下降気味,
Ruby は上昇気味という傾向を読み取るだろうね.
妄想系の人にこのグラフが一体どのように見えるかまではわからんがw
0638デフォルトの名無しさん
2009/04/30(木) 22:13:12はてなとかやってる人?w
0639デフォルトの名無しさん
2009/04/30(木) 22:16:15被害妄想系にはそう見えるかも知れませんねw
そうか、Ruby に仕事を取られたカワイソウな奴は
そんなに危機意識を持ってるのか。
0640デフォルトの名無しさん
2009/04/30(木) 22:18:32という妄想をRubyヲタが好むのは何でだろうね
0641デフォルトの名無しさん
2009/04/30(木) 22:19:29そんなことはない!と涙目になりながら必死で否定するやつがいるからじゃない?
0642デフォルトの名無しさん
2009/04/30(木) 22:20:390643ちんこ ◆GbXlaaQNk.
2009/04/30(木) 22:22:52いちいちself.valueで指定しなきゃいけないところ。
これは可読性を落とすね。
でも、インデントによる論理改行と、
あとはキーワード引数で楽々借金返済出来る。
PythonとRubyのいいとこどりをした言語があったらいいんだけどね。
Rubyのmixinなんかは美しい。
Pythonはmixinをとって、多重継承を捨てるべきだと思う。
Pythonは大体いいけど、時々悪い。
Rubyはかなりいい言語なんだけど、コミュニティが貧弱すぎる。
GoogleはPythonだけど、ThoughtWorksはRubyだ。
おれはGoogleとThoughWorksどっちにでも入れるとしたらThoughtWorksを選ぶ。
0644デフォルトの名無しさん
2009/04/30(木) 22:26:180645デフォルトの名無しさん
2009/04/30(木) 22:28:060646デフォルトの名無しさん
2009/04/30(木) 22:36:03> Rubyが凄い勢いで飽きられてるソースとしては十分だな
は >>631 のリンク先から読み取れないな
0647デフォルトの名無しさん
2009/04/30(木) 22:54:20普段C++を使うけど、さすがにJavaもそこまで間抜けなわけがないと思うぞ。
範囲チェックを必要最低限に押さえることはJavaの最適化の序の口だろ。
0648デフォルトの名無しさん
2009/04/30(木) 22:59:40手続き型の言語しかわからない人には
GoogleのMapReduceは何をやっているか
理解するのは難しいでしょう。
Code Completeもいいけど、
プログラムの作り方や
プログラム言語の優劣について論じるならば
SICPあたりも読むべき。
0649デフォルトの名無しさん
2009/04/30(木) 23:10:20○○は美しい、 というあらゆる命題は真理を述べることはできない。
○○は可読性が高い、という命題も同様である。
というわけでお前ら乙としか言いようがないわw
0650デフォルトの名無しさん
2009/05/01(金) 02:30:53自分が美しいと思う言語を選ぶと、ずばりJava。EJBを除く。
0651ちんこ ◆GbXlaaQNk.
2009/05/01(金) 08:16:48SICP読んだ人は美しいコードが書けるんですか?
立ち読みしたけど、とてもそんな感じはしなかった。
逆に、あれを読んだら汚いコードを書くようになってしまう気すらした。
事実、情報系の人間のコードを読んだことがあるが、腹抱えて笑うほどだった。
暗号みたいなコード書いて、自分は頭がいいんだと主張しているようだった。
おれはそんな世界には用がないんだ。
おれは正しいソフトウェアをアジャイルに構築することに興味がある。
そのためには急がば回れなんだよ、もっとも美しい設計、高い可読性の保ち方を知らない人間はゴミみたいなソフトウェアしか作れない。
したがって、生きてる意味がない。
おれは日本でもっとも可読性にストイックな男だ。
0652デフォルトの名無しさん
2009/05/01(金) 09:00:16なんだ、妄想癖の人だったのか。
0653ちんこ ◆GbXlaaQNk.
2009/05/01(金) 09:03:17アポイントメントとって会いにいく。
0654デフォルトの名無しさん
2009/05/01(金) 09:10:34可読性にそこまで拘るなら、
転職して、実行速度なんか気にしなくてもよい環境で、
Prologプログラミングの修練を勧めます。
これ本気。
0655ちんこ ◆GbXlaaQNk.
2009/05/01(金) 09:24:19当方学生でつ。
0657ちんこ ◆GbXlaaQNk.
2009/05/01(金) 09:31:44研究職でいくか、プログラマとして突っ切るか。
おれはプログラミングが好きだし、得意だけど、
日本のプログラマは地位が低すぎる。
年収1000万はないと嫌だ。
0658デフォルトの名無しさん
2009/05/01(金) 09:34:08590でその4行が おまいのいう順番になったときは、
プログラムとして違う動作になる。
事の大小はともかく、入力があった場合にのみ表示が出るという動作を
たったこんな小さなプログラムから読めないやつに可読性なんていう資格は無い。
ちゃんと動くことの方が数倍重要だ。
0659ちんこ ◆GbXlaaQNk.
2009/05/01(金) 09:40:00知らんけど。
0660ちんこ ◆GbXlaaQNk.
2009/05/01(金) 09:45:50入力があった場合にのみ表示が出る、
なんて仕様が狂ってるし、
大体、このプログラムおかしいもん。
日本のソフトウェア業界っていうのは、こういうコードが蔓延してるんだろ。
おれは単純に凝集度の観点から可読性が低いといっただけで、
こんなのそもそもまともなプログラムじゃない。
動作を確認するまでもないコード。
見たその時点で、気持ち悪いという感情を得た、それだけだ。
もちろん、入力を施す為の記述もない、という意味も含めてね。
0661デフォルトの名無しさん
2009/05/01(金) 10:53:13SICPを読んだら、より美しいコードが書ける。
なぜならば、手続きの抽象化について学ぶことができるから。
Javaが採用しているオブジェクト指向はデータの抽象化を推進する。
もし手続きの抽象化について学べば、それをJavaでも応用できるよ。
綺麗なStrategyパターンを書くとかね。
0662デフォルトの名無しさん
2009/05/01(金) 11:04:31これを読むと、ケント・ベックは可読性にストイックな男としては
世界でも上位に入るのではないかと思う。
可読性にこだわった先達として、>>660はこれも読むといいよ。
0663デフォルトの名無しさん
2009/05/01(金) 11:04:51Scanner stdIn = new Scanner(System.in);
これは、入力オブジェクトの宣言なのだから、処理とは分けて記述しなければならないのでは?
処理の最中に、これがある方が気持ち悪いのですが...
0664デフォルトの名無しさん
2009/05/01(金) 11:10:17とりあえず、君の書いたソースを読みたいな
0665デフォルトの名無しさん
2009/05/01(金) 11:19:25こういう展開でソースを出して見せた奴、みたことないw
可読性という話で、十数行のサンプルプログラムみたいなのに大げさに噛み付く姿からして、
彼が取り組んだことのあるプログラムの大きさと複雑さの程度が見て取れる。
0666デフォルトの名無しさん
2009/05/01(金) 11:23:460667デフォルトの名無しさん
2009/05/01(金) 13:47:46出したところで、
ふーん、俺には可読性が高いようには思われない
と言い出す人が現れて終了
0668デフォルトの名無しさん
2009/05/01(金) 15:44:130669デフォルトの名無しさん
2009/05/01(金) 16:11:41>>660 はアホとしか思えん
いくらソースの可読性が高かろうが、文脈を読み取れないやつが
読むんじゃなあw
0670デフォルトの名無しさん
2009/05/01(金) 17:11:30C++もLLVMなんかのVMで動くし。ネイティブに最適化された
バイナリよりも早い。当然、JVMより遥に早い訳だが。
言語の話をしてる時に環境の話を出すなよ。不毛だ。
>selfがくどかったりね。
>あれはC言語でのオブジェクト指向の書き方なんだよ。古い。
あんまり、オブジェクト指向しらんだろ?マルチディスパッチとか
Smalltalk学んでこいよ。
著名人の間で美しいと言われるのはLispだが、
基本的に統一性のある文法の言語が美しいとされるね。
Rubyの話も度々出るが、改行が不自由でメソッド呼び出しに
糖衣構文があるってのは汚いな。概念上はSmalltalkに似て
綺麗なんだけどな。あと、最近人気が下降気味らしいな。
(書籍販売数・プロジェクト数・他 が縮小してるらしい)
Objective-Cなんかは、C言語に埋め込みできるオブジェクト
指向言語だと考えれば綺麗だと考える著名人も少なくないだろうね。
0671ちんこ ◆GbXlaaQNk.
2009/05/01(金) 18:59:36日本のソフトウェアエンジニアなんて、高卒とか文系とかばかりだろ。
相手にならんよw
日本人が書いたコードで美しいコードを見たことがない。
もしオープンソースでそういうものがあるのなら教えてくれ。
情報学科卒でSICPなどは当然読んでるだろうと思われる人間のコードも読んだことがあるが、
カス同然だった。
よってSICPなど意味ない。
0672デフォルトの名無しさん
2009/05/01(金) 19:18:03そっすね。
0673ちんこ ◆GbXlaaQNk.
2009/05/01(金) 19:20:44Python3.0とPython2.6だったら、
どっちを使うべき?
対して差、ないよね?
Python3.0ってこれから広く使われる予定あるの?
互換性切ってるし、美しくなったといっても、使われるかどうかは別な気がする。
0674デフォルトの名無しさん
2009/05/01(金) 19:33:43そこまで自惚れられる根拠は何かね?
0675デフォルトの名無しさん
2009/05/01(金) 20:26:36マーチン・ファウラーが評価している「fluent interface(流れるようなインターフェイス)は
デメテルの法則を破っているからCode Complete的にはNGだと思うんだけど、
ちんことしては、これはOKなの?NGなの?
0676ちんこ ◆GbXlaaQNk.
2009/05/01(金) 20:36:49他にも、おれはインターフェイスの設計として、
メソッドの引数を単純データ結合に保たないような設計
(
これは、
場合によっては引数オブジェクトの導入リファクタリングによって改善されるが、
最初は絶対に、結合度を低く保つべき
)
や、
メソッドチェイニングを前提とした設計、
とりわけ、可変オブジェクトを返す設計を嫌う。
Immutableなオブジェクトを生成して返すのであればそれは許されないこともない。
Mutableなオブジェクトを返すのはかなりやばい。
このFluent Interfaceというのは返したオブジェクトが可変になっているから、相当悪い。
これをおれが悪いと思う理由は、
おれがテスト駆動とリファクタリングを前提にプログラムを書くようにしているからであり、
経験的に、結合度をとにかく低く保った方がリファクタリングがしやすいからだ。
確かに、メソッドチェイニングを回避するために、委譲メソッドを作るのは手間だが、
IDEを前提とした場合、そこまでの手間でもないし、
何より結合度を低く保つことのメリットの方が断然大きいと感じている。
0677ちんこ ◆GbXlaaQNk.
2009/05/01(金) 20:43:23ケントベックのいうことはほとんどの場合信じられる
(
例えば、おれは美しい設計のために
常にstaticファクトリを使うべきだと思っていたが、
ケントは、ただの生成の為にstaticファクトリを作るのは愚であると、
実装パターンにおいて説いている。
確かにそうだと思ったので、それ以降、おれは無駄なstaticファクトリを作ることをやめた
)。
あと、Code Completeに書いてあることもほぼ100%信じられる。
マーチンのリファクタリングもほとんどは信じられるが、
おれは、仲介人の導入メソッドだったか、名前は忘れたが、
委譲するのが大変だからやめる、と言った主旨のリファクタリングは訂正して消去して欲しいと思った。
マーチンは尊敬出来るソフトウェア開発者だが、彼とおれとの間には少しだけ設計に対して意見の相違がある。
0678675
2009/05/01(金) 21:00:22ありがとう。
流れるようなインターフェイスは読みやすいので、
読みやすさとどっちを優先するか聞きたかった。
俺もクラス間の結合度を低く保つように心がけているけど、
メソッドが7つを超えたら別のクラスに分けて、
元のクラスに分けたクラスのオブジェクトを返すファクトリメソッドを作ってる。
0679ちんこ ◆GbXlaaQNk.
2009/05/01(金) 21:03:31仮にメソッドの数が増えたらクラスを分離して、
そのクラスに処理を委譲するようにしろ。
実装コードが増えすぎるのが問題なので、あって、
インターフェイスの数が増えることが問題なのではない。
これを勘違いしてるやつが多すぎる。
そして、
元のクラスにわけたクラスのファクトリを作るという設計も意味不明だ。
君はちゃんとオブジェクト指向を学んでいない。
よって死ね。
0680デフォルトの名無しさん
2009/05/01(金) 22:34:40と思っていられるうちは自惚れる事もできるさ
まあ、大抵の場合、銭湯に行って己の矮小さに気付くわけだがなwww
0681デフォルトの名無しさん
2009/05/02(土) 00:49:240682デフォルトの名無しさん
2009/05/02(土) 01:13:540683デフォルトの名無しさん
2009/05/02(土) 01:43:550684デフォルトの名無しさん
2009/05/02(土) 03:56:410685デフォルトの名無しさん
2009/05/02(土) 16:00:30みんなで作って見せ合えるのにね。
文法をBNFで書けば言語ができるようなの。
ライブラリは.NETのを使えばいいね。
…単に.NET用のyacc/lexを使えばいいのか?
っていうか、最も美しい言語はBNFか?
0686デフォルトの名無しさん
2009/05/02(土) 16:32:42ようこそ♪
http://pc12.2ch.net/test/read.cgi/tech/1233143342/
yaccやbisonは使いにくいので、個人的にはCaperがお薦め。
BNFを書くと、構文解析機と、解析後に呼びだす
(意味解析用の) 関数が一通り定義されたインターフェースを
生成してくれる。
(言語はC++, C#, Java, D, JavaScriptに対応)
後はそのインターフェースを、構文に対応する
処理をするよう実装すれば、自分の言語ができてしまうよ。
0687デフォルトの名無しさん
2009/05/02(土) 16:39:28システムトレードの話かとおもった
0688デフォルトの名無しさん
2009/05/02(土) 16:44:34そもそも、仕様が美しければ実装はどうでもいい的なことを最初に言い出したのは
いったい誰なんだろう
0689デフォルトの名無しさん
2009/05/02(土) 16:47:200690デフォルトの名無しさん
2009/05/02(土) 16:47:55ひとつでも実装あって動けばその言語はある。
実装あればその動作は関係ないだろう。
0691デフォルトの名無しさん
2009/05/02(土) 16:54:17既存の言語を使いこなせないと新しい言語を作れないから、
既存の言語が使いにくいと思う人達は
新しい言語を作るところまでいきつかない。
そういう人達こそ言語に革新をもたらすかもしれないのにね。
誰でも簡単に動く言語を使えるツクールがあれば、
言語の開発が促進されるかもね。
面白いアイデアだと思う。
字句解析と構文解析は定義ファイルから自動生成できるとして、
難しいのは意味解析の自動生成かな。
自動生成できなくてもツクール内に動作を用意しておいて選択する
方法もあるけど、典型的な機能以外は実装できなくなってしまう。
0692デフォルトの名無しさん
2009/05/02(土) 16:56:27仕様が最適化を難しくすることもあるから、
個人的には言語の仕様と実装はセットで考えるべきだと思う。
>>689
Schemeをいじってみたけど、if-then-elseなどの
普通の関数とは動作 (評価の順序) が違う機能も
同じS式で統一してあるのが嫌だった。
意味が違うものは構文も別にするべきだと思う。
Haskellのように全て最外簡約ならいいんだけど。
>>690
使える道具を探す立場ではそうなのだけど、
仕様を示すだけでも、言語を作りたい人達の参考になるよ。
(私も含めて)
0693デフォルトの名無しさん
2009/05/02(土) 18:02:350694デフォルトの名無しさん
2009/05/02(土) 18:19:30If you give someone Fortran, he has Fortran.
If you give someone Lisp, he has any language he pleases.
---Guy L. Steele Jr.
0695デフォルトの名無しさん
2009/05/03(日) 05:06:440696デフォルトの名無しさん
2009/05/03(日) 07:00:01汎用の言語と範囲限定の言語(いわゆるDSL)の2種類あると思うよ。
汎用の言語は、既存の言語をこえるものはでてこないし、Lispでいいじゃんで終わってしまったりすると思う。
面白いのは範囲限定の言語で、
〜のような目的のシステムを書くために、○○のような言語を作ってみました。
っていうアイデアをもちよるのは面白いかもしれない。
美しさのひとつにシンプルさってあると思ってて、ある程度自由度をもったシステムがいかに簡潔かけたかというのがポイントの一つになり得ると思う。
0697デフォルトの名無しさん
2009/05/03(日) 07:54:00システムの簡潔さはどうやって評価するの?
たとえば、DSLを利用するためのライブラリをリンクしなければならないとしたら、
そのライブラリを必要としないシステムよりも複雑になったと言うこともできるけど。
0698デフォルトの名無しさん
2009/05/03(日) 13:19:34Javaさんざんやって、
Smalltalkやそのコミュニティにはなんかしらんが畏敬の念を抱きつつ、
C++行ってモヤモヤして、
Rubyをやってウハウハしてると。
0699デフォルトの名無しさん
2009/05/03(日) 16:35:350700デフォルトの名無しさん
2009/05/03(日) 21:32:00そういう評価もそれはそれでありなのでは。いろいろ評価方法はあっていいと思う。目的によって違うのでしょうから。
将来同じような目的にであったとき、そういえばこういう局面でこういう言語を使えば効率よくなるって話があったなっていう引き出しをたくさん
用意しておくのもいいのでは。
0701デフォルトの名無しさん
2009/05/03(日) 23:41:05Schemeのifは「文」なんですよね。
特別扱いのようです。
Haskellは最外簡約で、
smalltalkはブロック(lambdaと同じ)で
無理なくクリアしているのが美しいと思います。
0702デフォルトの名無しさん
2009/05/03(日) 23:45:02言語開発合宿
・2泊3日の期間内に、オレ言語の仕様とその処理系を作るというイベントです
http://wiki.fdiary.net/ldev/
0703デフォルトの名無しさん
2009/05/04(月) 17:27:23「言語の」複雑さを評価する指標なら、
ASTのノード数なんてどうだろう。
同じ処理を少ないノード数で記述できたら
その言語は簡潔ということにならないかな?
0704デフォルトの名無しさん
2009/05/04(月) 19:06:02それ全然意味ない!lambda 一発になるwW
最終的には、なにがしかの形式意味を、いかに簡潔に書きうるかだろ?
0705デフォルトの名無しさん
2009/05/05(火) 00:05:28> lambda 一発になるwW
lambdaを使って書いた無名関数の定義が含むノード数も
評価するわけだから、それなりに妥当なんじゃない?
無名関数を使う側が1ノードになるのは、コード自体の簡潔さに対応する。
> 最終的には、なにがしかの形式意味を、いかに簡潔に書きうるかだろ?
簡潔であることを「どう評価 (数値化) するか」の話をしているんでしょ。
>>704は>>694かな?
0707デフォルトの名無しさん
2009/05/05(火) 02:22:140708デフォルトの名無しさん
2009/05/05(火) 03:37:30自分で言語を開発したい/してる人って、案外いそうですね。
この板にはそういうスレが無いので、
もしこのスレにそういう人がいたら、
様子を聞かせて (読ませて) もらえると面白いと思います。
>>707
>>703の「同じ処理を少ないノード数で記述できたら」が
>>704の「なにがしかの形式意味を、いかに簡潔に書きうるか」
に対応していると見ると「処理」は「形式意味」に対応しますね。
そうだとすると、>>703は
「処理 == 形式意味」が「同じ」場合、
つまり「構文の持つ意味」を統一済みの場合についての話なので、
構文の持つ意味を説明する必要は無いのでは。
思うに、
>>707が真だとすると、>>704は既に存在するコードを対象に、
同じ量のコードがどれだけの量の形式意味に還元されるか、
という話をしているのでは。
それに対し、>>703と>>705はおそらく、
決まった課題を与えて (あらかじめ形式意味を統一して)
それをどれだけの量のコードで表現できるか、
という話をしていると思います。
0709デフォルトの名無しさん
2009/05/05(火) 19:17:58最も汚いプログラミング言語の一つがC++であることに異論がある人は
少ないだろう。
0710デフォルトの名無しさん
2009/05/05(火) 20:13:380711デフォルトの名無しさん
2009/05/05(火) 20:46:420712ちんこ ◆GbXlaaQNk.
2009/05/05(火) 21:34:31ほんと、この言語で仕事ができるところに就職したい。
やっぱベンチャーを作るべきなのかな?かな?
0713デフォルトの名無しさん
2009/05/05(火) 22:12:05ベンチャー作るのに賛成!
Pythonに反対!
0714ちんこ ◆GbXlaaQNk.
2009/05/05(火) 22:50:49これ以上に美しい言語があったら教えてくれ。
おれは知らない。
0715デフォルトの名無しさん
2009/05/05(火) 22:53:320716デフォルトの名無しさん
2009/05/05(火) 23:01:21宣言的とは見えない点。
オブジェクト指向である点。
インデント構文を必要とした点。
リストの内包表記は評価するけど。
0717デフォルトの名無しさん
2009/05/05(火) 23:02:250718デフォルトの名無しさん
2009/05/05(火) 23:17:08C++ 言語 の検索結果 約 2,600,000 件
C++ 言語 美しい の検索結果 約 66,800 件
→2.57%
COBOL 言語 の検索結果 約 138,000 件
COBOL 言語 美しい の検索結果 約 39,000 件
→28.3%
Java 言語 の検索結果 約 424,000 件
Java 言語 美しい の検索結果 約 39,800 件
→9.39%
C# 言語 の検索結果 約 1,900,000 件
C# 言語 美しい の検索結果 約 34,700 件
→1.83%
Ruby 言語 の検索結果 約 3,040,000 件
Ruby 言語 美しい の検索結果 約 110,000 件
→3.6%
Smalltalk 言語 の検索結果 約 171,000 件
Smalltalk 言語 美しい の検索結果 約 8,550 件
→5%
Squeak 言語 の検索結果 約 83,100 件
Squeak 言語 美しい の検索結果 約 6,700 件
→8.06%
Python 言語 の検索結果 約 2,830,000 件
Python 言語 美しい の検索結果 約 58,400 件
→2.06%
Perl 言語 の検索結果 約 2,540,000 件
Perl 言語 美しい の検索結果 約 173,000 件
→6.81%
BASIC 言語 の検索結果 約 309,000 件
BASIC 言語 美しい の検索結果 約 15,700 件
→5.08%
0719デフォルトの名無しさん
2009/05/05(火) 23:23:28Objective-C 言語 の検索結果 約 266,000 件
Objective-C 言語 美しい の検索結果 約 9,880 件
→3.71%
Tcl 言語 の検索結果 約 113,000 件
Tcl 言語 美しい の検索結果 約 2,430 件
→2.15%
FORTRAN 言語 の検索結果 約 204,000 件
FORTRAN 言語 美しい の検索結果 約 31,900 件
→15.6%
0720デフォルトの名無しさん
2009/05/05(火) 23:36:07乙。
COBOLはアンチが多い一方で、魅力を語るのをなかなか見かけない。
でも、一時代を築いた言語だし、何か美しさがあるんじゃないかな。
(>>693あたり、語ってくれないかな)
0721デフォルトの名無しさん
2009/05/05(火) 23:43:03FORTRAN訂正。。。やっぱCOBOLか。ほかはだいたい同じ感じだな。
FORTRAN 言語 の検索結果 約 204,000 件
FORTRAN 言語 美しい の検索結果 約 5,180 件
→2.53%
0722デフォルトの名無しさん
2009/05/06(水) 00:18:56LISP 言語 美しい の検索結果 約 36,400 件
→7.36%
Scheme 言語 の検索結果 約 1,480,000 件
Scheme 言語 美しい の検索結果 約 35,000 件
→2.36%
Haskell 言語 の検索結果 約 326,000 件
Haskell 言語 美しい の検索結果 約 13,000 件
→3.98%
Delphi 言語 の検索結果 約 480,000 件
Delphi 言語 美しい の検索結果 約 7,070 件
→1.47%
FORTH 言語 の検索結果 約 291,000 件
FORTH 言語 美しい の検索結果 約 26,000 件
→8.93%
Erlang 言語 の検索結果 約 254,000 件
Erlang 言語 美しい の検索結果 約 19,500 件
→7.67%
0723デフォルトの名無しさん
2009/05/06(水) 00:31:22激しく同意。
そして俺はC++をさらに拡張しようとしている連中の思考が理解できない。
もう既にぐっちゃんぐっちゃんの闇なべの残飯みたいな状態なんだから、
さらに何個か残り物ぶち込んでも分かんないだろ?みたいな感じなのだろうか。
そしてそんな物をいったい誰が食うというのだろうか。
0724デフォルトの名無しさん
2009/05/06(水) 01:04:530725デフォルトの名無しさん
2009/05/06(水) 06:05:56闇鍋から嫌いな物を除いて好きなものだけにすると、
あら不思議、至高のお鍋になるんだよ。
0726デフォルトの名無しさん
2009/05/06(水) 06:51:21おれがこの合宿に参加して、
この中のどれかのテーマの言語を開発するとする。
そして、そのテーマの命題+美しい言語に仕上げることを目標とする。
そのとき、Lispのような言語にするだろうか。
いざ、そうなったときにはシンプルな命令体系にして、BASIC風なスクリプトにするんじゃないかなと思う。
つまり、美しい=覚えることが最小限の言語(文法が最小)
となるような気がする。
0727デフォルトの名無しさん
2009/05/06(水) 07:01:34そういう意味では Guarded Horn Clauses のような言語が
一番美しいのではないか。
0728デフォルトの名無しさん
2009/05/06(水) 10:01:05平行プログラミング言語がもっともシンプルというのも考えてみれば不思議だね。
0729デフォルトの名無しさん
2009/05/06(水) 11:17:06> シンプルな命令体系にして、BASIC風なスクリプト
HSP?
0730デフォルトの名無しさん
2009/05/06(水) 12:01:19Guarded Horn Clauses(KL1)について調べてみた。
これは美しいね。
しかし、これの仕様と実行環境を作るのに570億円もかかっているとは…。
これといい、Σプロジェクトといい、官主導のものって無駄に金を食ってる気がする。
0731デフォルトの名無しさん
2009/05/06(水) 12:30:41今さら何を・・・。
0732デフォルトの名無しさん
2009/05/06(水) 13:03:30結局OSはUNIXが一番いいという結論を出しただけのプロジェクトだもんな。
官僚ってアホばっかりだな
0733デフォルトの名無しさん
2009/05/06(水) 13:16:11KL1は、論理や並行処理の部分を抽象化してあって、HSPはある範囲ないのGUIアプリのためにカスタマイズされているよね。
空想の話だが、
>>702のような合宿があって、そこの審査員を依頼されたとしよう。
担当は作成された言語を「美しさ」という点から評価するとする。
この場合、どういう評価観点が考えられるかな。例えば
・目的に対し最適化された命令体系・文法になっている
・目的に対して最適のパラダイムまで抽象化が行われている(構造化、オブジェクト、関数型、論理型、並行)
・ライブラリ、、、
などかな。
0734デフォルトの名無しさん
2009/05/06(水) 17:19:01なっつっ亭
0735デフォルトの名無しさん
2009/05/06(水) 19:08:130736デフォルトの名無しさん
2009/05/06(水) 23:22:020737デフォルトの名無しさん
2009/05/07(木) 01:24:01あなたなら、なんと名付けるの?
0738デフォルトの名無しさん
2009/05/07(木) 01:54:560739デフォルトの名無しさん
2009/05/07(木) 02:13:14美しいかどうかは議論の余地があるけど、とっつきやすく、初心者でもプログラミングしやすいと思う。
0740デフォルトの名無しさん
2009/05/07(木) 04:13:26>とっつきやすく、初心者でもプログラミングしやすいと思う。
それって「美しい」の必要条件になり得ると思うんだけどなぁ。
0741デフォルトの名無しさん
2009/05/07(木) 06:51:230742デフォルトの名無しさん
2009/05/07(木) 07:33:112
E=mc
0743デフォルトの名無しさん
2009/05/07(木) 10:29:42動作がスタック操作のみでシンプル
関数に副作用がなくてシンプル
すべてがリストでシンプル
すべてがオブジェクトへのメッセージ送信でシンプル
すべてがホーン節のみでシンプル
0744ちんこ ◆GbXlaaQNk.
2009/05/07(木) 18:33:22ひどい・・・。
C++もちょっと勉強したけど、
ひどい・・・。
Javaのありがたみが分かったのと同時に、
Pythonとかゆとり用言語だな、と感じた。
0745デフォルトの名無しさん
2009/05/07(木) 19:19:07そして、プリインストールされているOSのありがたみが分かる
または、ゆとり用OSだなと感じる。
0746デフォルトの名無しさん
2009/05/07(木) 19:31:190747ちんこ ◆GbXlaaQNk.
2009/05/07(木) 19:35:12ハードからのシグナルをコールバック関数で受けるというプログラムを書いている。
なんか、オブザーバパターンってレベルじゃなくて、
依存の方向が逆な気がするんだよね・・・。
美しいプログラムしか知らないおれにとっては地獄も同然だぜ。
>>746
それらに実用性はないだろ。
Pythonには高い実用性がある、それに書いててwktkする何かがある。
0748デフォルトの名無しさん
2009/05/07(木) 20:12:43'70年代のSmalltalk(=暫定ダイナブック環境)はさながら、ゆとりOSか。
0749デフォルトの名無しさん
2009/05/07(木) 20:17:56(with-signal-handler (signal)
(case signal
(rx-ready (...))
(tx-ready (...))))
なにか問題でも?
0750デフォルトの名無しさん
2009/05/08(金) 00:04:17Pythonはメタオブジェクトがらみになるととたんに美しさを失うからなぁ…。俺は嫌い。
0751デフォルトの名無しさん
2009/05/08(金) 00:26:52この衝撃はあと50年は続くだろう
0752デフォルトの名無しさん
2009/05/08(金) 00:51:59構文木がファーストクラスてだけじゃんと。
0753デフォルトの名無しさん
2009/05/08(金) 01:57:51「この世にコンピュータ言語は二種類ある。それはFORTHとそれ以外だ。」
まさにこの言葉がぴったりだと思ったよ。
0754デフォルトの名無しさん
2009/05/08(金) 05:11:45第一回LLVM勉強会での主催者さんの資料に、
そういう名前が自作処理系の名前の候補として出てくるよ (笑
ユーモアのある、魅力的な人だったな。
>>ちんこ
ttp://blog.livedoor.jp/dankogai/archives/50718227.html
C++の「醜さ」には、設計ミスとしか思えないような部分と、
意図的にやっている部分がある。
JavaやPythonとは違った「美しさ」に気付くと、
君のようにこだわりがある人は、案外気に入るかもよ。
0755ちんこ ◆GbXlaaQNk.
2009/05/08(金) 18:17:21いや、ふつうにやばいわ・・・。
上でもいったけど、今WinAPIのプログラムしてる。
学内インターンってやつだ。
それで、泣きたくなってる、なんだこの言語。
不完全にもほどがある。
まず、.hにはpublicなインターフェイスのみ記述するようにしろくそがっ!
だってそうだろ、.cppに実装を書くんだから、そういう意味では、
実装でフィールド設定を定義したり、privateメソッドを定義したり出来るようにすべきだ。
そうじゃないと、リファクタリングがめんどくさいだろ!くそがっ!!
C++でリファクタリングの文化が広がらないのはこのせいだな、くそがっ!!
致命的すぎて泣きたくなる。
他には
namespaceって何だよ。
なんだこのクソ仕様。
Javaのパッケージとかまじゆとりだわ。
Eclipseくんが自動でインポート文を書いてくれるしね。
C++では絶対に仕事したくない。
MSではVCとかC#とか使ってると思うけど、
MSには誘われても行きたくない。
C++で仕事するくらいならちんこ切って死んだ方がマシ。
0756デフォルトの名無しさん
2009/05/08(金) 18:24:19> だってそうだろ、.cppに実装を書くんだから、そういう意味では、
> 実装でフィールド設定を定義したり、privateメソッドを定義したり出来るようにすべきだ。
ちんこやるじゃんw
俺もヘッダでフィールドについて宣言させれらたりすんのはクソと思う。
あとnamespaceのネストはせめてC#みたいに namespace Foo.Bar.Baz {} で書ければね。
> MSには誘われても行きたくない。
誘われるかボケ。
0757ちんこ ◆GbXlaaQNk.
2009/05/08(金) 18:33:23ある言語をちょっと触れば、たちまちその言語のクソ仕様が分かってしまうのだ。
そのおれがいうのだから間違いない。
Pythonは神言語だ。
そして、お前らはPythonが美しいと言っているが、
なぜ美しいのかは分かっているのは日本ではおれだけだろう。
おれのオブジェクト指向は理詰めなのだ。
可読性には理がある。可読性の高いコードには高いなりのしっかりとした理由がある。
それは、どこどこの教授が書いたからというハクではなく、
どえらい教授が書いたコードだろうが何だろうが、クソなもんはクソだ。
Javaがいかに素晴らしい言語かということがよく分かるから、
ここにインターン行って良かったわ。
オブジェクト指向が不完全な世界がいかに危険でまたストレスフルなものかということがよく分かった。
おれは、オブジェクト指向についておれ未満の知識しか持っていない人間はコードを書くべきではないと思っている。
人間がものを作るとゴミが出る。
人間の資産はどんどんハードウェアからソフトウェアにシフトしていっている。
産業も、例えば、FPGAに見られるように、ハードの世界でもソフトを重視しはじめている。
これからいえることは、
クソ設計、クソ可読性のコードはまさしく"環境破壊"であるということだ。
よって、クソみたいなコードを書くやつは、コードを書いてはいけない。自重しろ害悪クソ野郎が。
0758デフォルトの名無しさん
2009/05/08(金) 18:45:310759デフォルトの名無しさん
2009/05/08(金) 18:50:390760デフォルトの名無しさん
2009/05/08(金) 18:52:070761ちんこ ◆GbXlaaQNk.
2009/05/08(金) 19:27:24実をいうとおれは、
Pythonで開発なんかしたこたねえんだw
今、ある文章に含まれる各単語にすべて、
headとtail以外シャッフルしても可読性が保たれるという話を見て、
Pythonの練習にと思ってやってみた。
30分かかったw
しかも不完全すぎてうんこすぎる。
Pythonはダメだ。
0762デフォルトの名無しさん
2009/05/08(金) 19:32:41そもそも何一つ開発などしたこねえだろ。
0763デフォルトの名無しさん
2009/05/08(金) 19:34:02可読性をどれだけ考慮しているか、
みんなに見せるチャンスじゃないか。
それを見せてみろよ。
0764ちんこ ◆GbXlaaQNk.
2009/05/08(金) 19:46:35お前みたいな低学歴プログラマと一緒にすんなクズw
>>763
てめえのビューティフルコードを見せてからだ。
0765ちんこ ◆GbXlaaQNk.
2009/05/08(金) 19:55:22おれはJavaしか出来ないのだ。
Javaならアホみたいにプログラミング出来るが、
他の言語ではクソだ。
オブジェクト指向や設計など、そっち側に知識が偏りすぎて、
Javaにしか実装が出来ない人になってしまっている。
これではダメだ。
希望的にはCとPythonを勉強しておきたいんだ。
Pythonってどうやって勉強すればいいの?
クックブック読めばいいのかな?
Rubyなら、ピッケル本とか全部読んだんだけど、
Rubyのendラダーと、コミュニティのしょぼさに吐き気がして、Rubyはもうやめようと思った。
で、Pythonが美しいことに気づいて、Pythonをしたいんだけど、
似たような言語だし、一生懸命勉強する気が起きない。
0766デフォルトの名無しさん
2009/05/08(金) 20:22:360767デフォルトの名無しさん
2009/05/08(金) 20:27:57君の視点は美しさを語るには偏りすぎている。
Python のスレに行って勉強した方がいいと思うよ。
私は>>389だが、これはそれまでの流れをまとめてみただけで、
私の意見という訳ではない。
0768ちんこ ◆GbXlaaQNk.
2009/05/08(金) 20:28:21Pythonの方が美しいでしょ。
0769デフォルトの名無しさん
2009/05/08(金) 20:39:460770デフォルトの名無しさん
2009/05/08(金) 20:40:330771ちんこ ◆GbXlaaQNk.
2009/05/08(金) 20:48:18array.sizeと書いて配列の長さを取得する。
一方、
Pythonでは、
len(sequence)
と書いて配列の長さを取得する。
これの優劣を述べよ。
0772デフォルトの名無しさん
2009/05/08(金) 20:50:540773デフォルトの名無しさん
2009/05/08(金) 20:55:04オブジェクト指向言語と命令型言語の違い。
優劣は特にないが前者の方が好きだ。
0774ちんこ ◆GbXlaaQNk.
2009/05/08(金) 21:07:24と、どうして言い切れるの?
言い切るだけの根拠をお願いします。
明らかに優劣はあります。
例えば、Pythonのような実装にすると、
lenというメソッドと、sequenceとの結合度が上がります。
これだけでも明らかなデメリットです。
しかし、Pythonでは上述のようなインターフェイスを公開しています。
なぜでしょうか?
0775デフォルトの名無しさん
2009/05/08(金) 21:22:490776ちんこ ◆GbXlaaQNk.
2009/05/08(金) 21:42:540777デフォルトの名無しさん
2009/05/08(金) 22:19:360778デフォルトの名無しさん
2009/05/08(金) 23:08:54>headとtail以外シャッフルしても可読性が保たれるという話
おもしろそうなので、Smalltalkで書いてみた。ナイーブな実装だけど。
| input shuffledWords outStream |
input := 'I couldnt believe that I could actualy understand what I was reading'.
shuffledWords := input subStrings collect: [:each |
each size <= 2
ifTrue: [each]
ifFalse: [(each first: 1), each allButFirst allButLast shuffled, (each last: 1)]].
outStream := String new writeStream.
shuffledWords do: [:each | outStream nextPutAll: each] separatedBy: [outStream space].
^outStream contents
"=> 'I cudnlot bleveie that I cloud auctaly udtnesrnad what I was radneig' "
0779ちんこ ◆GbXlaaQNk.
2009/05/09(土) 00:23:48この言語を作ったアホは誰だ。
0780ちんこ ◆GbXlaaQNk.
2009/05/09(土) 00:29:130781デフォルトの名無しさん
2009/05/09(土) 00:48:35input.split.each{ |w| w.size<2 ? w : w[0]+w.scan(/./)[1..-2].shuffle.join+w[-1] }.join(" ")
0782ちんこ ◆GbXlaaQNk.
2009/05/09(土) 00:59:25素晴らしい。
あってるかどうかは知らんけど。
でもscanが美しくないな。
Pythonならこれがもっとも美しいかどうかは別にして
list(str)でストリングをばらばらに出来る。
0783ちんこ ◆GbXlaaQNk.
2009/05/09(土) 01:03:07>>> list = list("chinko")
>>> list
['c', 'h', 'i', 'n', 'k', 'o']
>>> shuffle(list)
>>> list
['k', 'c', 'o', 'h', 'i', 'n']
Pythonで、
["a", "b"]
というのを
"ab"にするメソッドがあればいいんだけど、ないの?
0784デフォルトの名無しさん
2009/05/09(土) 01:48:230785デフォルトの名無しさん
2009/05/09(土) 01:57:45もうこれだけでお腹いっぱいです
0786デフォルトの名無しさん
2009/05/09(土) 04:38:04Obviously, strongly typed language is the better, you know.
0787デフォルトの名無しさん
2009/05/09(土) 06:53:09うーん。
イコールの意味の変遷を問うスレさへあるというのに。
美的センスを私も疑う。
0788デフォルトの名無しさん
2009/05/09(土) 08:49:17SmalltalkはForthについで(そして特殊形式がないぶんLispよりも)シンプルな言語だから、
英語に見立てて、おおざっぱに読み下せればそれでおk。難しく考えなくてもいい。
0789ちんこ ◆GbXlaaQNk.
2009/05/09(土) 09:34:04すまん。
おれもきめぇと思ったが、
左辺に適切な名前をぱっと思いつかなかった。
インタラクティブモードだし、動いてたらいいやと。
今は反省してる。
これじゃ何か再帰がかかってるような印象すら起きるな。
>>784
とんくる。
Ruby派なおれはシーケンス系のところを探していたのだが、
まさかstrのメソッドになってるとは、Python歪みなさすぎ。
0790デフォルトの名無しさん
2009/05/09(土) 10:37:02何しろ文字列が無く、文字集合ならあるって言語だし
0791ちんこ ◆GbXlaaQNk.
2009/05/09(土) 10:53:25じゃあお前はそうしてろよ。
おれは高級言語しか使わない主義だ。
0792デフォルトの名無しさん
2009/05/09(土) 11:10:22C/C++は高級言語
0793デフォルトの名無しさん
2009/05/09(土) 11:18:550794ちんこ ◆GbXlaaQNk.
2009/05/09(土) 11:33:20高級言語には、ガベージコレクタがついていなければいけません。
メモリ管理をしなければいけない時点で高級言語とは言えません。
0795デフォルトの名無しさん
2009/05/09(土) 11:46:14機械語、アセンブリ言語と比べてのFortranやC、またはそれに準ずるものの事を言うんじゃなかったっけ?
基本情報の参考書ではそういう風な定義が書いてあったと思う。
GCとかrepl、パッケージシステムを備えたインタプリタ環境が要求されるものに限定するなら、
LL言語という方が適切な希ガス
0796デフォルトの名無しさん
2009/05/09(土) 12:15:410797デフォルトの名無しさん
2009/05/09(土) 12:33:44付き合っていると勉強にはなるけどなw
JavaとPythonとRubyができる程度で
このスレで大きな顔をしているのは恥ずかしいな。
このスレにはアセンブラからスタートして「CPUの動きが透けて見える人」や
CやC++はもとより、LISP、Haskell、Smalltalkや
PrologやFORTHの偉い人もたくさんいるだろ。
少なくとも俺は80〜90年代にプログラミング系雑誌に記事を書いてたよ。
0798デフォルトの名無しさん
2009/05/09(土) 13:21:12C++はテンプレートとか活用してGCからラムダ関数まで実現してやがるぞ
美しい言語には程遠いけど
美しいと思うのはSchemeかな
よくまとまってる
別の意味で美しいのはPerl
0799ちんこ ◆GbXlaaQNk.
2009/05/09(土) 13:43:24クソだよね、どうせ遅いんでしょ。
JavaのGCは超高速だし、
最適化技術が超優秀だから、
これらはコードの書き方すらも変えてしまった。
例えば、一般的にいえば、
メソッドの凝集度を高めるために違うメソッドで同じループが回ることもあるが、
これすらも、ちゃんと無駄なループを削除してくれる前提で、凝集度を高めることに専念出来る。
保守性を高める方向に全力投球出来る。これはC++では出来ないことだ。
C++では、生成と破棄が遅いから、メモリを使いまわしたりする必要があるが、
Javaは生成と破棄が神がかって速いので、
多くの場合、メモリを使いまわすより、再生成した方が速い。
また、ローカルなオブジェクトはキャッシュで処理されるから、
計算なども事前に計算するよりその場で計算した方が速いということが多い。
メソッドオブジェクトなどは、C++では考えられない手法だろうが、
Javaではむしろ高速で、しかも凝集度を高める。
そのオブジェクトへの参照が小さなスコープで閉じているからだ。
優秀なIDEの存在も手伝って、
Javaはもはや無敵の言語となっている。
もしJavaに勝てる言語があるとしたら、すさまじい可読性を潜在的に持っている言語。
言い換えれば、バカが書いてもきれいに書ける言語だろう。
Javaは、バカが書くととんでもないことになる。
そして、コードを書くのはみんなおれのように可読性について知ってる人間ばかりではない。
だからバカが書いたコードをどうにかする言語がこれから必要になる。
1つの解としてPythonがある。
何かするために道が少ないというのは、可読性を上げる大きな要因になる。
LISPをやっていたから、Prologをやっていたから、とかは全く無意味。
老害プログラマはさっさと死ね。
0800デフォルトの名無しさん
2009/05/09(土) 13:54:07低能を大量に抱えている集団だって事だけは良くわかった
0801デフォルトの名無しさん
2009/05/09(土) 13:56:350802デフォルトの名無しさん
2009/05/09(土) 13:59:36きっちり活用できてるの?
0803デフォルトの名無しさん
2009/05/09(土) 14:06:36遠目に見るとなにやら芸術的に見えてくる。
そんなもんさ
0804デフォルトの名無しさん
2009/05/09(土) 14:12:380805デフォルトの名無しさん
2009/05/09(土) 15:06:04言語開発者から見た「美しい言語」は違うよね。
0806デフォルトの名無しさん
2009/05/09(土) 15:24:43それは問題ない。
問題なのは、Javaの凄さを語っているこいつ自身がぜんぜん凄くないのに威張っていることだ。
Javaも満足に使いこなせない初心者が他人をバカ呼ばわりするのは、みんなに対して失礼だろ。
0807デフォルトの名無しさん
2009/05/09(土) 15:37:270808ちんこ ◆GbXlaaQNk.
2009/05/09(土) 21:08:28別に威張ってないよ。
Javaはコードの書き方すら変えてしまうほどすごい言語だ、
この言語に勝てる言語はPythonしかないだろうといってるだけで、
いつおれがJavaを作ったなんて言ったんだ?
いっとくが、おれは情報系の出身ではないので、
独学でコンパイラは少し勉強したが、
基本的に池沼だよ。
ソフトウェアの作り方そのものに興味があるだけで、
そこにおけるおれのニーズを満たしてくれる言語が美しいといってるだけ。
言語そのものの美しさなんて、語ってない。
おれの美しいと言ってる言語は単に、生産性が高いというだけ。
それがおれの美しさの基準。
>>807
だからSunの天才たちには感謝しているよ。
これって、Sunの中でも基礎研究をしてるエリートが作ってるんだろ。
プログラム自体は知らんけど、理論方面は。
おれはそれがどういう言語で、どういう特性があるかというのを、
コードをどう書くかという点からおっざっぱに調べている。
パーサの実装だとかはどうでもいいw
とりあえずブログを作った。
Pythonを勉強していくつもりだw
Javaは基礎的な部分を書く時に使って、ほとんどの部分はJythonで実装する形にしたい。
そのために、Pythonを極める必要がある。
0809デフォルトの名無しさん
2009/05/09(土) 21:59:080810デフォルトの名無しさん
2009/05/09(土) 22:10:55throwsっていうかチェック例外は失敗だったんじゃないかなぁ。
0811デフォルトの名無しさん
2009/05/09(土) 22:12:120812デフォルトの名無しさん
2009/05/09(土) 22:20:410813デフォルトの名無しさん
2009/05/09(土) 23:10:38マジレスすると、クロージャを取り入れたい人は多いのだけど、
方針が複数あって折り合いがつかないんだよね。
Java SE 5へのアップデートの時に取り入れた仕様の一部を
醜いと感じる人が多く、新しい仕様の導入に慎重になっているらしい。
俺はJavaを7年くらい使っているけど、クロージャを待望しているよ。
0814デフォルトの名無しさん
2009/05/09(土) 23:52:34てのも、適当なラッパクラスでも用意すれば回避できるだろうし。
スレ違いすまそ。
0815デフォルトの名無しさん
2009/05/09(土) 23:58:52>>591
>>764
0816デフォルトの名無しさん
2009/05/10(日) 00:00:11うだうだ入ってないでさっさとつけろって感じ。
0817デフォルトの名無しさん
2009/05/10(日) 01:55:230818デフォルトの名無しさん
2009/05/10(日) 02:09:18Javaの限界を理解すると、おそらくC++の必要性も理解できるよ。
Javaではいくら最適化しても間に合わないような、
リアルタイム性が必要な処理を、Javaで書いてみるといい。
私は昔、Javaがあるのになぜあんな醜いものをいまだに使うんだ、
と憤りを感じ、何でもJavaでやってやろうと思ったことがあった。
そして、まだJava製OSSが存在しなかったので、
MPEG2のデコーダーを途中まで、Javaで書いたんだよね。
そして、コンテナから映像を取り出して、それを複合化して、
BMP画像として書きだすところまで作った。
(書き出すだけならJavaのAPIで簡単にできるから)
しかし結局、どう頑張ってコードレベルで最適化しても、
論文を読んで速いというアルゴリズムを使うようにしても、
Cとアセンブラで書かれたコードのような速度は出なかったんだ。
そして「もっと速くするには言語自体に〜する機能が欲しい」と
考えるうち、C++がそういう言語じゃないか、と気付いた。
あれは少しでも速度を犠牲にするものは全て拒否した結果だと思う。
今考えると傲慢で恥ずかしい話なんだけど、いい勉強になったよ。
例えばシミュレーションの分野では、ハードウェアが速くなれば
精度を上げるだけなので、いつまで経っても「もう充分」にはならない。
(これはゲームなども一緒)
MPEGも、ハードウェアが速くなるたびに圧縮率を上げることで
慢性的に性能不足の状態が続いている。
こういう分野には、ああいう言語が必要なんじゃないかな?
0819デフォルトの名無しさん
2009/05/10(日) 02:14:420820ちんこ ◆GbXlaaQNk.
2009/05/10(日) 06:33:07何をもって限界と言ってるのか分からない。
あなたは限界を知り尽くしてるのですか?
理論的に、その先がないことをすべて証明出来るということですね?
ただ、あなたが経験した中から限界だと感じたというだけであれば、やすやすと限界という言葉は使わないでください。
Javaが問題となる1つの領域は、
メモリについて厳しい領域です。それは自明です。
しかし、計算パフォーマンスでいえば、すでにJavaが遅いということはありえません。
それは、プログラム自体が悪いです。
あなたが使ったのは昔のJavaであって、今のJavaはとても高速です。
また、Javaにとってコードレベルでの最適化はむしろ最適化を妨げる傾向にあるので、
決して行わないでください。
大体、あなたごときが、コンパイラが行う以上の最適化をコード上で行うことは不可能です。
0821デフォルトの名無しさん
2009/05/10(日) 08:10:31ではないので、C#ほどの速度は出ない
多分JavaのJITコンパイラが相性が悪いか、設計が糞なのだ
Javaで書かれたソフトウェアを動かしてみろ、例外なく動作が
もっさりしているのを感じるだろう
C#でもわずかだがもっさりするのにJavaなら言わずもがなだ
0822デフォルトの名無しさん
2009/05/10(日) 08:14:00Javaが使われない事を考えればその事は自明である
未だにC/C++なのだ
0823デフォルトの名無しさん
2009/05/10(日) 08:26:480824デフォルトの名無しさん
2009/05/10(日) 08:38:020825デフォルトの名無しさん
2009/05/10(日) 08:45:170826デフォルトの名無しさん
2009/05/10(日) 08:50:05な行番号付きBASICも美しいと申すか
0827デフォルトの名無しさん
2009/05/10(日) 08:51:56まあ、理解できないものを美しいかどうかなんて判断できないじゃん
0828デフォルトの名無しさん
2009/05/10(日) 08:55:03それはおかしい
x86のアーキテクチャの汚さを知っているだろう
なのにx86は早いではないか
0829デフォルトの名無しさん
2009/05/10(日) 09:03:52車でもプロセッサでも。
0830デフォルトの名無しさん
2009/05/10(日) 09:11:34RISCを蹴散らした怒濤のクロックアップ戦争の勝者ですよ
DrystoneではIntelのx86がトップです
Wetstoneではまた違うCPUですが
0831デフォルトの名無しさん
2009/05/10(日) 09:19:54ロクに知らない癖に書くなよな恥ずかしい
0832デフォルトの名無しさん
2009/05/10(日) 09:53:412
E=mc
しかし、それにいたる理論は理解するのが簡単ではにあ。。だが使う人にとっては必ずしも理解する必要はない。
そこで質量からエネルギーの値を得るシステム記述言語、Albertを作ってみた。
こんな感じ。
SET M 1000 FROM STDIN
SET C FROM CONFIG
PRINT CONDITION
EXEC
PRINT RESULT
このシステム記述言語は理解したり使うのはやさしい。こういう言語は美しいと思う。
でもこれ作るにある程度複雑なプログラミングが必要だった。
そういうことだと思う。
0833デフォルトの名無しさん
2009/05/10(日) 09:57:210834818
2009/05/10(日) 16:11:34> あなたが使ったのは昔のJavaであって、今のJavaはとても高速です。
以前SunのJava SE 6がかなり速くなったと聞いて
それで動かしてみたんだけど、やっぱり遅かったよ。
(細かいバージョンは忘れたけど)
一例を挙げると、今時のCPUはSSEなどのSIMD命令をだいたい備えている。
C/C++でもコンパイラの自動検出には限界があり、
プロファイラでボトルネックを探した後は
コンパイラマクロなどで置き換えて、そこだけ手書きでSIMD化する。
Javaでは言語やVMのレベルでSIMD命令をサポートしていないので、
こういうことができないんだよね。
> また、Javaにとってコードレベルでの最適化は
> むしろ最適化を妨げる傾向にあるので、決して行わないでください。
「最適化を妨げる」話は以前IBMかどこかのWebサイトで
見たことがあるけど、ちょっと誤解してるみたいだね。
データフロー解析にしてもループバージョニングにしても
できることには限りがあるから、
解析の結果、不要な処理をJITコンパイラが理解できる
コードを書いてやる必要があるよね。
コンパイラの勉強をしていると、逆にそう思うんじゃないかな?
それから、逆に最適化を助けているか妨げているかは、
ちゃんとプロファイラを使って調べないとね。
今時のPCは複雑だから、最終的には実行時間を測ってみないと。
0835834続き
2009/05/10(日) 16:20:03> コード上で行うことは不可能です。
やってみる前から「人間はコンパイラ以下」と決めつけない方がいいよ。
コンパイラのアルゴリズムも結局は、人間の手動書き換えを法則化したものだから、
まだ法則化できていないものや、セマンティクスが分からないと
書き換えられない部分は、人間が書き換えた方が速くなるよね。
> 何をもって限界と言ってるのか分からない。
> あなたは限界を知り尽くしてるのですか?
> 理論的に、その先がないことをすべて証明出来るということですね?
HotSpot VMが生成するものが何かを考えれば、
理論的な限界がアセンブラより手前にあるのは分かるよね。
では、そのアセンブラをインラインで書けるC++は?
…と書くと、ちょっと意地悪かな (笑
理論的な限界が遠くても人間に扱いにくければ無意味だから、
理論的な限界は気にし過ぎない方がいいよ。
JavaがC++より優れているところだって、
一番は人間にとっての扱いやすさでしょう。
(結果、実用上はJava製の方が速くなることが多々ある)
0836835続き
2009/05/10(日) 16:21:24言語の仕様以外にも、プログラムを書いていると、
様々な場面でトレードオフが発生する。
そういう時に、一方が絶対的に優れているという
原理主義的な考えに陥らないで、状況に応じて使い分けられること、
「当然だからそうした」と思考停止するのではなく、
何と何の (上の例では速度と生産性他) トレードオフの結果
自分がそれを選んだのか、自覚しておくことじゃないかな。
つまり「言語の美しさ」の基準は目的に応じて変わることがあると。
長々とつまらないことを語ってしまってごめんね。
以降は静観してまつ。
0837デフォルトの名無しさん
2009/05/10(日) 16:30:16VMは生コードに比べたら遅いにきまってるのに何ほざいてるの?
とにかく一度コンパイラ関係の本をざっと読んでみろ。
0838デフォルトの名無しさん
2009/05/10(日) 17:02:09CPUはASICに比べたら遅いにきまってるのに何ほざいてるの?
というのは冗談としても、
ALGOL系がまるごとHDL系+FPGAに蹂躙される未来もありえるよ。
0839デフォルトの名無しさん
2009/05/10(日) 17:04:56オプティマイジングの弱いコンパイラなんて山ほどある。
0840デフォルトの名無しさん
2009/05/10(日) 17:16:14http://www.llvm.org/
0841デフォルトの名無しさん
2009/05/10(日) 17:27:36最近出ているHDLってもう殆どMLとかHaskellみたいなもんだからな。
関数型言語がメジャーになるというのはそういう方向からなのかもしれんな。
あとは定理証明器の技法を使ったモデル検査とかの形式的手法とか、
ハードの世界じゃそういう本流の計算機科学を使った技術が結構広く使われてるらしいじゃない。
lispとか使ってる人にとってはそちらの未来の方が理想に近いんだろうなぁ。
0842デフォルトの名無しさん
2009/05/10(日) 21:30:39>例えば、一般的にいえば、
>メソッドの凝集度を高めるために違うメソッドで同じループが回ることもあるが、
>これすらも、ちゃんと無駄なループを削除してくれる前提で、凝集度を高めることに専念出来る。
これって本当?
違うメソッドに同じ構成のループがあったら統合してくれるの?
Javaってそんなにすごい最適化をするのか。
Web上に参考になりそうな情報はある?
0843デフォルトの名無しさん
2009/05/10(日) 21:31:01自分が美しいと思うのは, 次の4つかな.
●D言語:
美しく「書くことができる」と思う.
scope とか, エラー処理も比較的分かりやすく書けると思う.
●Scheme:
言語自体が美しいと思う.
慣れると, 洗練されていてちょっと感動を覚えた.
※見た目は美しくない気もする...orz
●Python:
コードの見た目が美しい.
コードを見たとき, あぁん きれいだと思った.
●アセンブリ言語
見たまんま, CPUに忠実で美しい.
期待を裏切らない!
ここのタイトルで言っている美しいは, Scheme になるのかな.
まぁ, 有名な言語は悪い点はあるにせよ, どれもなかなか美しいと思う.
ただ, 開発で C++ はあまり使いたくないけどな・・・
余りにもきしょいコードが「書けてしまう」ってのが・・・orz
大人数開発で言語選べるなら, やっぱ Java かな.
0844デフォルトの名無しさん
2009/05/10(日) 21:39:49キメエ、死ね
0845デフォルトの名無しさん
2009/05/10(日) 21:44:420846デフォルトの名無しさん
2009/05/10(日) 21:57:06Whitespaceですね、わかります。
0847デフォルトの名無しさん
2009/05/10(日) 22:10:080848デフォルトの名無しさん
2009/05/10(日) 23:44:120849デフォルトの名無しさん
2009/05/11(月) 09:20:18意外と荒れてなくてワロタ
長くて真面目に読む気にならないせいかもしれんが…
0850デフォルトの名無しさん
2009/05/11(月) 09:32:050851ちんこ ◆GbXlaaQNk.
2009/05/11(月) 09:57:39じゃああんたは勝手に自分最適化してればいいよ。
絶対にそんなの無意味だから。
おれはJavaでは99%の領域では言語レベルでのパフォーマンスに何の問題もないプログラムを、
保守性の高いコードを書いてあとは全部VMに任せることで作ることが出来ると思っている。
よっぽど特殊なユースでない限りこれでまったく問題ない。
それどころかPython程度の速度でも何か問題が起きることはありえない。
これでも95%のユースには耐えられる。
ダメだとしたら設計やアルゴリズムが悪い。
ソフトウェアは単純になりえないから、人間が頑張るべきところはコードを単純にするところであって、もはや見た目の速さをあげることではない。
そういう領域で戦ってる人はどんまいとしかいいようがない。
例えば、シミュレーションとか、数値解析の類はそうかもしれないね。
>>837
一度、なんかふざけたJavaでコンパイラを作ろうみたいな本をちょっとだけ読んだことがある。
しかし、サンプルコードがめちゃくちゃ、凝集度がゴミだし、可読性のかけらもなかった。
それで、コンパイラやさんっていうのは池沼だなという結論に至った。
ドラゴンブックも途中まで読んだ。こちらのコードはそれなりだったが、飽きたので止めた。おれには必要ない。コンパイラやさんになるつもりがなければ概要だけ分かればいい。
0852デフォルトの名無しさん
2009/05/11(月) 13:51:45>ttp://enbug.tdiary.net/20060318.html
ここに、Shiroさん(Schemeの偉い人、Gauche作者)が
次のようなコメントを書いていて興味深いです。
「『開発効率が実行効率に影響を及ぼす』というのは現場で何度も経験しています」
「アルゴリズムによる高速化というのは10^2?10^3以上のオーダーで効いてくることが
あるのに対し、アセンブラレベルでの高速化は10^1以下のオーダーであることが多いです」
0853デフォルトの名無しさん
2009/05/11(月) 19:48:46リスナ(笑)
0854ちんこ ◆GbXlaaQNk.
2009/05/11(月) 20:57:12さんくる、それは良い記事だ。
開発の容易な言語こそが神だと言っているのだろ。
ところでおまいらに相談がある。
それは、おれがJavaで開発するかCPythonで開発するかということだ。
今、おれは研究に使う言語をJavaにするかCPythonにするか、究極の選択を迫られている。
しかし、そこに問題があり、おれはとても悩んでいる。
JavaにもJythonという言語があるが、この言語からはCPythonで記述されたライブラリが使えない、これがその問題だ。
仮にこれが解決されるのであれば、おれは迷いなくCPythonを使う。
グラフィックライブラリはVTKだとかVPythonとかあるし、openGLバインディングもある。
Java系を使うと、C系が使えなくなる。
おまいらもこのジレンマに陥ったことがあるはずだ。
誰か、おれにアドバイスをくれないか。
0855デフォルトの名無しさん
2009/05/11(月) 21:10:02スレ違い。あまり調子に乗るな
0856ちんこ ◆GbXlaaQNk.
2009/05/11(月) 21:32:09スレ違いなのは分かってる。
だけど、言語の美しさに敏感なお前のアドバイスをもらいたいんだ。
ここのレベルはそれなりに高い。
他は分からないからおちょくって終わるようなレベルの低い池沼ばかりだ。
きちんとファクトベースで議論出来ないやつとなんて話す必要ない。
0857デフォルトの名無しさん
2009/05/11(月) 22:01:03使えるだろ。
ただし、美しくない方法なので、それを教えるとJavaが美しくないことがバレてしまう。
0858ちんこ ◆GbXlaaQNk.
2009/05/11(月) 22:03:31JNI使うとか言い出すのか?
それは禁忌だ。
大体、めんどくさすぎる。
JythonからPure Pythonのライブラリを呼び出せるのかどうかが問題なんだ。
0859デフォルトの名無しさん
2009/05/11(月) 22:05:35そして二度とそこから出てくるなカスコテ
0860デフォルトの名無しさん
2009/05/12(火) 01:44:41通常の実行方法だとJVMを生成してからユーザプログラムを実行しているから.
ユーザプログラムの実行時間が短い場合,相対的にJVMの生成に費やされる時間が
長くなるため,もっさりした感じを受けてしまうだけなのである.ユーザプロ
グラム部分の実行速度はもはやnative codeの速度とあまり変わらないのだ.
0861デフォルトの名無しさん
2009/05/12(火) 02:01:01ソースは?
0862デフォルトの名無しさん
2009/05/12(火) 02:07:30> 通常の実行方法だとJVMを生成してからユーザプログラムを実行しているから
いつからAndroidスタイルになったんだよ…
つか値型くらい導入しろよ…
0863デフォルトの名無しさん
2009/05/12(火) 11:00:540864デフォルトの名無しさん
2009/05/12(火) 11:02:24あのさあ
Javaに特別な思い入れがあるのかもしんないけどさ
実測という厚い壁はどうやっても超えられんから
そのつもりで
0865デフォルトの名無しさん
2009/05/12(火) 11:08:41実績に裏書きされた高速性があるから仕方なく使ってるわけで
Javaのよい点のソースの美しさは認める
でも速度に関しちゃC++に絶対勝てないから
だいたいJavaそのものがC++で書いてあるしな
0866デフォルトの名無しさん
2009/05/12(火) 12:05:000867デフォルトの名無しさん
2009/05/12(火) 19:05:530868デフォルトの名無しさん
2009/05/12(火) 19:51:370869デフォルトの名無しさん
2009/05/12(火) 21:41:54// 変数名とかは申し訳ない m(__)m
try {
FileReader fr = new FileReader("sample.txt");
try {
BufferedReader br = new BufferedReader(fr);
try {
// br.readLine() とかごにょごにょ
} catch (IOException e) {
e.printStackTrace();
} finally {
br.close();
}
} catch (IOException e) {
e.printStackTrace();
} finally {
fr.close();
}
} catch (IOException e) {
e.printStackTrace();
}
// 綺麗とは言えないな・・・ラップとかすればマシにはなるが・・・
// どなたかエレガントな感じに書けないでしょうか。
0870デフォルトの名無しさん
2009/05/13(水) 03:12:18一元的にスタックトレース吐かせたりは出来ないの?
あとリソースの廃棄を自動化は出来ないのか。
C#のusingみたいに。
Javaって美しいというよりシンプルなだけって気が。
0871デフォルトの名無しさん
2009/05/13(水) 06:44:30こんな表現が出てくる事自体、全然美しくない。
0872デフォルトの名無しさん
2009/05/13(水) 07:19:39いいだしっぺのおれはWhitespaceでいくぜ↓
--ここから--
--ここまで--
0873デフォルトの名無しさん
2009/05/13(水) 07:45:20BufferedFile file = new BufferedFile("sample.txt");
scope(exit) file.close();
// file.readLine() などごにょごにょ
Java: (例外を上に投げるパターン)
FileReader fr = new FileReader("sample.txt");
try {
BufferedReader br = new BufferedReader(fr);
try {
// br.readLine() とかごにょごにょ
} finally {
br.close();
}
} finally {
fr.close();
}
0874デフォルトの名無しさん
2009/05/13(水) 07:52:48FILE* fp = fopen("sample.txt", "r");
if (fp != NULL)
{
/* fgets などごにょごにょ */
fclose(fp);
}
意外とすっきりしてるが・・・
ごにょごにょ部分でエラー発生したときを考えると
ちょっとややこくなるか?
0875デフォルトの名無しさん
2009/05/13(水) 09:12:33(with-open-file ("path-to-file" :direction :input)
(#| read-line などごにょごにょ |#)))
ごにょごにょのエラーを検出したい場合
(with-open-file ("path-to-file" :direction :input)
(handler-case
(#| read-line などごにょごにょ |#)
((or error-type-1 error-type-2 ...) (condition)
(#| 回復可能なエラー処理 |#))
(serious-condition (condition)
(#| 回復不能なエラーの処理 |#))))
0876デフォルトの名無しさん
2009/05/13(水) 11:42:25(readFile "path-to-file" >>= {- リスト処理関数などごにょ -}) `catch` (\err -> {- errをごにょごにょ -} )
0877デフォルトの名無しさん
2009/05/13(水) 13:13:34begin
open('sample.txt') do |f|
# 処理
end
rescue
# エラー処理
end
0878873
2009/05/13(水) 21:49:15ensure で close とかしなくてもいいもんなん?
0879デフォルトの名無しさん
2009/05/13(水) 22:25:19with-open-fileの高階関数版みたいなもん
0880デフォルトの名無しさん
2009/05/13(水) 22:42:49美しいのはどれ?
0881デフォルトの名無しさん
2009/05/13(水) 22:49:13[FileStream fileNamed: 'sample.txt' do: [:file | "処理" ]]
on: Exception do: [:ex | "エラー処理"]
ちなみに #fileNamed:do: は Ruby の open にインスパイアwされて導入された。
0882デフォルトの名無しさん
2009/05/14(木) 01:36:12abstract class Proc<P extends Closeable> {
private final P port;
public Proc(P port) { this.port = port; }
public void run() {
try {
process();
} finally {
port.close();
}
abstract void process();
}
0883デフォルトの名無しさん
2009/05/14(木) 01:42:13文法強制されてんのね。
まぁ、美しいかは分からんが、可読性はありそうね。
つうか美しさって、しっかり定義しとかないと永遠と続くだろ
実用の美しさ
可読性の美しさ
簡潔差(その代わり言語の内部処理が泥臭いだろうが)
効率
色々あるっしょ
0884ちんこ ◆GbXlaaQNk.
2009/05/14(木) 01:47:36ソフトウェアは工学である。
そしてそのプロセスにおいて重要なのは人間である。
なぜならば、コードは、人間によって書かれ、そして読まれるからである。
だから、プログラミング言語にとってもっとも重要なのは、可読性の高さである。
可読性の高い言語は、開発効率の直結する。
開発効率の高い言語が美しいとおれは考える。
なぜならば、プログラムは芸術でも何でもなく、
唯一の価値は、それが動くことによって生み出されるからである。
Lispみたいな言語が美しいと言ってる人は頭がどうかしてる。
0885デフォルトの名無しさん
2009/05/14(木) 01:53:03じゃなければ、ただの作業員だ
0886デフォルトの名無しさん
2009/05/14(木) 02:06:400887デフォルトの名無しさん
2009/05/14(木) 03:22:11哀れな
0888デフォルトの名無しさん
2009/05/14(木) 03:33:18開発効率に直結する可読性なら、断然、Prologだろう。
0889デフォルトの名無しさん
2009/05/14(木) 06:03:43だから美しいとはいえない。
0890デフォルトの名無しさん
2009/05/14(木) 07:34:39そんな観点で語りあっても宗教論争以上にはならん
0891デフォルトの名無しさん
2009/05/14(木) 07:44:37個人の主観をぶつけ合うスレがあったっていいじゃないか。
0892デフォルトの名無しさん
2009/05/14(木) 07:53:020893デフォルトの名無しさん
2009/05/14(木) 07:55:37理由は○○
って感じの言い方で主張すればよろしいかと。
0894843
2009/05/14(木) 07:57:41一度Lisp極めてみたら考え方変わると思う。
俺も何この括弧だらけの言語・・・
読みにくくてしゃーねーじゃんと思っていたが、
ある頃からこれはこれで、美しいと思い始めてしまう。
俺・・・もしかして、
Lisp(Scheme)に洗脳されてる?
0895デフォルトの名無しさん
2009/05/14(木) 08:56:45なにその厨ソース
アプレットでもやってろよw
0896デフォルトの名無しさん
2009/05/14(木) 09:09:15演算子の優先順位とか結合度とか全く気にする必要ないもんな
パーザの挙動は全て括弧に書いてあるから
0897デフォルトの名無しさん
2009/05/14(木) 09:48:13> with-open-fileの高階関数版みたいなもん
with-open-file のボディはマクロ展開すると unwind-protect に渡される
高階関数なんだが…
0898デフォルトの名無しさん
2009/05/14(木) 10:31:290899ちんこ ◆GbXlaaQNk.
2009/05/14(木) 10:34:19だからおれはそうしてんだろ。
主観で話してもしょうがねえんだよ。
これだから文系出身プログラマどもはwww
Lispなんてまともな開発出来ねえよ。
LispでTDDなんて出来るのか?
おれはソースコードへのこだわりはあるが、
言語の内部構造、つまり実装や設計についてはこだわりはない。
ソースコードを美しくしてくれて、開発効率の高い言語が、設計としても美しい。
Pythonの開発者はそこらへんが分かってる。
本当にソフトウェア開発の効率を上げることで、人類の進化に貢献しようという気概がある。
0900デフォルトの名無しさん
2009/05/14(木) 10:34:54・エラー処理をする
という両方を入れた場合、
Java >>869 はどう考えても可読性や開発効率が他の言語より劣っているよね。
Ruby >>877 と比べれば一目瞭然。
ちんこはどう思う?
0901デフォルトの名無しさん
2009/05/14(木) 10:38:28C#は一体どこまでぶくぶくと肥大化していくんだろう。もう誰も仕様把握できてなくね?w
0902デフォルトの名無しさん
2009/05/14(木) 10:46:470903デフォルトの名無しさん
2009/05/14(木) 10:54:38あとlispにもclunitとかTDDのライブラリはあるよ
0904デフォルトの名無しさん
2009/05/14(木) 11:04:01こういうながれでソース出した奴みたことない。
ちんこはまた単に言い逃れをするだけ。
ちんこはこの例をPythonで書いて見せることすらできない。
0905ちんこ ◆GbXlaaQNk.
2009/05/14(木) 11:05:28実際にTDDをLispで行ってる人はいますか?
現状で行われてるTDDのほとんどはJavaかRubyかPythonによるものだろ。
C++でユニットテスト書く人すらも少ない。
>>900
よくファイルの読み書きで美しいだとかなんだとかいう人がいるけど、
あなたは一体、1つのソフトウェアを作る中で何回ファイルの読み書きをするつもりですか?
これは開発効率の中でボトルネックとなる部分なのですか?
あなたは読み書きをして終了するだけのソフトウェアは実用性があると思いますか?
おれはないと思います。
この、開発におけるボトルネックという考え方が日本人には出来ないらしい。
日本人はリスク管理が出来ないからね、それと同じなんだ。
ファイル読み書きとか、
生のコードについて美しいだとか美しくないだとか言ってる人は知れてる。
そういう人は、
メソッドの構造化リファクタリングとか、
メソッドオブジェクトの抽出リファクタリングだとかいうものを知らないんだろうな。
0906デフォルトの名無しさん
2009/05/14(木) 11:08:050907デフォルトの名無しさん
2009/05/14(木) 11:13:48何度も出てくるようなボトルネックとなるコードをクタる例で美しさを語ってもらおうか。>ち
0908デフォルトの名無しさん
2009/05/14(木) 11:14:53において、たった十数行のサンプルプログラムのようなものに噛み付いて、
吐き気がするだの死ぬべきだだの大げさに言ってた奴が、
> よくファイルの読み書きで美しいだとかなんだとかいう人がいるけど、
ちんこよ、それはイカン。その態度ではお前は価値を下げる。
0909デフォルトの名無しさん
2009/05/14(木) 11:27:19>あなたは一体、1つのソフトウェアを作る中で何回ファイルの読み書きをするつもりですか?
>これは開発効率の中でボトルネックとなる部分なのですか?
>あなたは読み書きをして終了するだけのソフトウェアは実用性があると思いますか?
違う違う。
エラー処理をする際の、リソースの後始末はどうするかという話だよ。
これなら実用的なコードのあちこちで見る典型的な処理だろ?
じゃ、言い換えよう。
・使用したリソースの後始末をする
・エラー処理をする
という両方を入れたコードの例を示した場合、
Java >>869 はどう考えても可読性や開発効率が他の言語より劣っているよね。
Ruby >>877 と比べれば一目瞭然。
ちんこはどう思う?
0910デフォルトの名無しさん
2009/05/14(木) 11:32:02C++でもBoostのライブラリは殆どがBoost.Testによるテスト付きで、
そのBoost.Testもオープンソースのソフトを中心に広く使われている。
Boost以外でもcppunitとかテストライブラリは古くから出てるし、
C++の世界でもTDDの概念はそうマイナーなものではないと思う。
lispのclunit以外でもgaucheとかテストライブラリが添付の処理系もある
gaucheは処理系のソースにテストコード付いてるぐらいだしね。
0911デフォルトの名無しさん
2009/05/14(木) 11:35:06可読性の高い言語は、開発効率の直結する」
↓
>>900 俺「Javaは可読性や開発効率が他の言語より劣っているよね」
↓
>>905 ちんこ「あなたは読み書きをして終了するだけのソフトウェアは実用性があると思いますか?
ファイル読み書きとか、生のコードについて美しいだとか美しくないだとか言ってる人は知れてる」
この流れ、論理的でないと思うが、どうだろう?>ちんこ
0912デフォルトの名無しさん
2009/05/14(木) 11:50:18文法が強制されるってことは、ある程度のものを書くと
ひとつの形に集約されてくるってことだろ。
スタイルを強制されるのはびもーだな。
>あなたは読み書きをして終了するだけのソフトウェアは実用性があると思いますか?
えっとね、UNIXだとあるよ?
勉強不足だね。
ファイルが存在するか否かを確認するだけのプログラムもある。
0913デフォルトの名無しさん
2009/05/14(木) 11:52:09出来るってしか言いようが無いだろうに...
機械語使えばなんでも出来るってのと同レベルの話だろ
0914ちんこ ◆GbXlaaQNk.
2009/05/14(木) 11:52:27それは違うね。
おれが言ったのは凝集度の問題であって、
ファイル読み書きのコードはそれ自体、凝集度が高い。
悪いところがない。
Pythonでも凝集度の低いコードは書けるよ、
それはプログラマの能力次第な部分だ。
しかし、Pythonには凝集度が高くなるような誘導がある。
ヘボが書いてもそれなりの可読性を保てるようになっている。
例えば、不変オブジェクトを導入することによって可読性が高くなるということがよく分かっている。
メソッドオブジェクトは不変オブジェクトの特化だ。
メソッドオブジェクトの抽出は、コードの可読性を上げる。
0915デフォルトの名無しさん
2009/05/14(木) 11:54:370916デフォルトの名無しさん
2009/05/14(木) 11:56:11おまえもなー
0917ちんこ ◆GbXlaaQNk.
2009/05/14(木) 11:56:33では、あなたはファイルの存在を確認するプログラムを100個くらい量産してください。
さぞ素晴らしい読み書きプログラムが100個生産されるのでしょう、とても楽しみです。
ソフトウェアは再利用されるものです。
すでに存在するプログラムを二度作る必要はありません。
ソフトウェアは作り、使われるものです。
そして、新規に作る場合、それはこの世に存在しないものであるべきです。
存在するのであれば、作る必要はありません。
0918デフォルトの名無しさん
2009/05/14(木) 12:08:23だから、UNIXには既に「在る」って書いてるだろ
0919デフォルトの名無しさん
2009/05/14(木) 12:09:250920デフォルトの名無しさん
2009/05/14(木) 12:09:35"再発明"などと言う大上段に構えた言い方で、初心者の学習機会を奪っている
子供のころ工作で、厚紙で車輪を作ったことがあるだろう
厚紙だと細すぎて上手く回らないから、ダンボールを使って車輪を作っただろう
創意工夫というのは、自分で作ることから始まるものだ
どんな些細な物でも、自分で作って納得して初めて自分の技術になる
興味がある物ならば作ってみる
それが技術習得の一番の近道だと俺は思う
0921デフォルトの名無しさん
2009/05/14(木) 12:15:45自分で何を言ってるのか全然把握せずに書き込んでる
0922デフォルトの名無しさん
2009/05/14(木) 12:18:54素人の俺等やちんこがやったらgdgdどころじゃないだろうなと思ったら案の定
0923デフォルトの名無しさん
2009/05/14(木) 12:27:130924デフォルトの名無しさん
2009/05/14(木) 12:41:04Javaの仕事なんて下請けでオバサンが家で仕事してる時代なのにw
0925デフォルトの名無しさん
2009/05/14(木) 15:25:20>869と>875を見比べた時、明らかに>875の方が可読性が高いんだが。
詩でも書いてるつもりになってオナニーしてんじゃねえよ。
0926デフォルトの名無しさん
2009/05/14(木) 16:00:58可読性高くねーよ
デタラメ言ってんじゃねえ
慣れの問題だ
0927デフォルトの名無しさん
2009/05/14(木) 16:08:220928デフォルトの名無しさん
2009/05/14(木) 16:44:22>>875 はコードが短くて(抽象度が高くて)わかりやすい。
そこでRuby >>877 ですよ。いかがですかw
0929デフォルトの名無しさん
2009/05/14(木) 17:23:430930デフォルトの名無しさん
2009/05/14(木) 17:45:110931デフォルトの名無しさん
2009/05/14(木) 20:05:37どでもええけど、TDD が必要なのはなぜか良く考えてみよう
副作用前提(状態持ちまくり)の糞言語から見たら別の話なんだろうけどなw
0932デフォルトの名無しさん
2009/05/14(木) 21:09:42再発明は×、再製作は○、この違い分かる?
0933デフォルトの名無しさん
2009/05/14(木) 21:18:160934デフォルトの名無しさん
2009/05/14(木) 21:34:04「あ、きれいなコードだな」って思うコードは
使ってる言語問わず、副作用をうまく隠蔽してある、つか
例外条件が少なくなるようにデザインしてるなと感じる
0935デフォルトの名無しさん
2009/05/14(木) 23:17:11それを考えるとC言語は既に十分醜いな
副作用に動作が依存する場面がすごく多い
また演算子の記号がAPLに次いで2番目に多い
(C++があるから今はどうなのかわからないが)ので
プログラムをコンパクトに書ける反面直感に反した
結果を出す事が多い
演算子の優先順位があり、しかも適応方向が
右から左か左から右かバラバラに混在しているから
C言語の宣言なんかはパッと見て理解できない場合
が多い
0936デフォルトの名無しさん
2009/05/14(木) 23:25:47代入を隠蔽するのはいわゆるカプセル化だと思いますが
入出力を隠蔽することがあるんでしょうか
0937デフォルトの名無しさん
2009/05/14(木) 23:31:42いあ、うまい奴がつくると C でも本当にきれいに書いてある
>>936
> 入出力を隠蔽することがあるんでしょうか
デバドラ回りの階層化ってのはそのためにやってあるんじゃないんでしょうか?
0938デフォルトの名無しさん
2009/05/14(木) 23:45:30割り込みを使ったストラテジーに分解する事はある意味隠蔽だと思います。
OS側からデータを送る部分とバッファに溜まったデータを割り込みによって
ハードウェアに吐き出す部分は明確に区別されています
入力も順序が逆なだけで似たようなものです
0939デフォルトの名無しさん
2009/05/14(木) 23:52:07直接、入出力の話じゃないけど………
キャッシュの容量だとかラインサイズだとか、誰も気にせずにプログラムしてるだろ?
仮想記憶のページサイズとかもほとんど気にせずプログラムできるだろ?
0940デフォルトの名無しさん
2009/05/15(金) 00:09:27既にもうそれ以上隠蔽しようがなくなってる気がする。
0941デフォルトの名無しさん
2009/05/15(金) 00:13:220942デフォルトの名無しさん
2009/05/15(金) 00:17:23くぱぁ。
0943ちんこ ◆GbXlaaQNk.
2009/05/15(金) 00:26:29状態っていうのは、害悪でしかない。
状態はなるべく少ないように設計しなければいけない。
それが、ThoughWorksアンソロジーに書いてある、
インスタンス変数は1つまでというプラクティスの有力な根拠だ。
もちろん凝集度の話もあるけどね。
信じられるだろうか。
おれは信じられない。
問い合わせと更新を同時に行うメソッドを実装する人を。
リファクタリングで分離しなければならない。
美しいソースコードの書き方を知らないカスが、
美しい言語を語るなんていうのは、
プログラミング言語を芸術かなんかだと勘違いしている証拠だ。
そこに哲学は存在するが、芸術ではない。
プログラミング言語は眺めて楽しむものではなく、
動くソフトウェアを作ってこそ価値を見出せるものだからだ。
0944デフォルトの名無しさん
2009/05/15(金) 00:29:550945デフォルトの名無しさん
2009/05/15(金) 00:32:13ポエマーなあなたは、言語なんか探してないで、自分でポエミーな言語を
作っちゃいなさい。
0946デフォルトの名無しさん
2009/05/15(金) 00:49:33言ってることは支離滅裂だわ
都合の悪い事は語らないわ
お前はいったい誰に愚痴をいってるんだ?
そこら辺に転がってた考え方を唯並べてるようにしか見えんな
0947デフォルトの名無しさん
2009/05/15(金) 00:53:38寂しいんだよ。
0948デフォルトの名無しさん
2009/05/15(金) 01:19:11そうだったら、かわいそうな気がしてきた。。。
0949デフォルトの名無しさん
2009/05/15(金) 01:39:58問い合わせと更新を同時に行うのは信じられないらしいけど
それじゃキューやスタックはどうやって実装する?>ちんこ
0950デフォルトの名無しさん
2009/05/15(金) 01:46:58ちんこはお触り禁止
0951デフォルトの名無しさん
2009/05/15(金) 10:16:280952デフォルトの名無しさん
2009/05/15(金) 17:05:220953ちんこ ◆GbXlaaQNk.
2009/05/15(金) 22:54:32Stackというものが、
popしたオブジェクトを返すという仕様なので違うと思います。
STLのことは知りませんが。
問い合わせと更新は、基本的には一緒にすべきではありません。
http://www.refactoring.com/catalog/separateQueryFromModifier.html
とりあえずみなさん、
ちゃんとしたコードを書いてください。
ゴミみたいなコードを書かないでください。
ちゃんと学んでください。
マーチンのリファクタリングを読んでない人は、
コードを書かないでください。お願いします。
0954デフォルトの名無しさん
2009/05/15(金) 23:26:350955デフォルトの名無しさん
2009/05/15(金) 23:31:47そこまでこだわりをもってるということは、プログラムで生業を立ててるの?
0956デフォルトの名無しさん
2009/05/16(土) 00:18:250957デフォルトの名無しさん
2009/05/16(土) 00:39:09糞コテのオナニーになんか付き合うなよ
0958デフォルトの名無しさん
2009/05/16(土) 01:09:250959デフォルトの名無しさん
2009/05/16(土) 02:38:29ちんこに教えを請うのもいいかもしれないな。
0960デフォルトの名無しさん
2009/05/16(土) 02:42:030961デフォルトの名無しさん
2009/05/16(土) 10:20:270962ちんこ ◆GbXlaaQNk.
2009/05/16(土) 11:50:11多くの日本人プログラマは、
リファクタリングすらも読んだことないんだろ。
まじで環境汚染だからコード書くな池沼どもw
>>956
デコレータなどを作ってください。
おれが言ってるのは、なるべくという話です。
分離出来るなら分離した方がいいくらい。
Stackの場合は、
参照してから取り出す(この時、取り出したものは返さない)
という風にすればいいですが、あまりよくないです。
Stackというものが概念的に確立されたものだからです。
このおれがPythonが美しいというのだから、
お前らは全員Python使ってりゃいいんだよ。
バカな自分の意見をもつことすら許されないんだよ^^とうまー
0963デフォルトの名無しさん
2009/05/16(土) 11:56:170964デフォルトの名無しさん
2009/05/16(土) 13:01:46MonadWriterというものが概念的に確立されたものだからいいよな
0965デフォルトの名無しさん
2009/05/16(土) 14:20:39人間なんてものは、「ボトルガム」を「ボルトガンダム」と読んじまうような奴ばっかりだ
0966デフォルトの名無しさん
2009/05/16(土) 14:28:42ちょっと質問なんだけど、君はGlenford J. Myers の1970年代の
一連の著作(複合設計など)を読んだことあるかい?
0967ちんこ ◆GbXlaaQNk.
2009/05/16(土) 14:50:45誰だそいつ。
そんな古い本読む必要ないよ。
0968デフォルトの名無しさん
2009/05/16(土) 14:58:250969デフォルトの名無しさん
2009/05/16(土) 15:43:530970デフォルトの名無しさん
2009/05/16(土) 15:47:05研究者でないならいいんだ。しかしね、Myersの研究と著作がなかったら、
君が、>>576 >>591 >>676 >>774 の中で結合度というキーワードを使う
ことにはならなかったと思うよ。
0971デフォルトの名無しさん
2009/05/16(土) 15:48:38若いのさ
0972デフォルトの名無しさん
2009/05/16(土) 16:04:590973ちんこ ◆GbXlaaQNk.
2009/05/16(土) 16:05:45おれは研究者志望ではあるが、
ソフトウェアの研究者になる方針ではない。
ソフトウェアの設計やその他もろもろについては、
欧米の誰かが研究したものをまとめたサーベイ論文のようなもの
(Code Completeはその類だろう)
を読んで理解して、自分なりの設計指針を固めていけばいいと思っている。
自分の設計指針が正しいのをみんなに知らしめるには、
どの分野もそうだろうが、理論的アプローチと実験的アプローチがある。
おれは、後者を選びたいし、ソフトウェアにおいては圧倒的に後者が正しいと思っている。
数学など、理論ガチガチの世界でも、ソフトウェアを使った証明が少しずつ導入されているようで、
そういう意味では、これからの世界では理論ベースから実験ベース、
ハードウェアからソフトウェアにシフトしていくのだろう。FPGAのような感じで。
結合度に関しては、
TDDと可読性の視点から指摘している。
理論的な結合度の理論などどうでもいい。
TDDを実践するには結合度の低いコードの方がやりやすい
(リファクタリングもしやすいし、コードも書きやすい)し、
可読性という点を考えた場合も、
結合度の高いコードは何がなんだか分からない。
爆発的によく分からなさが増大していく傾向がある。
結合度という概念を知ってそうしているならまだ許せるが、
無関心にそういうクズコードを書いて他人に読むことを強制する人間は到底許されない。
法律で裁かれるべきだとすら思っている。
このように、おれはソフトウェアに対してこだわりがあるが、
日本のソフトウェア業界にはおれレベルのこだわりを持った人間がいないということは納得している。
日本人は思考停止が好きだからな。なんでもおざなりにやっつけて、最後には愛想笑いだ。はははwはははw
は!?
よって、おれはプログラマにはなる気がないから、研究者になるしかない。
0974デフォルトの名無しさん
2009/05/16(土) 16:06:27優しいなお前ら
0975デフォルトの名無しさん
2009/05/16(土) 16:08:43で、結局読んでもいないし、知りもしないわけね。
0976ちんこ ◆GbXlaaQNk.
2009/05/16(土) 16:09:58おれなら、日本の腐ったソフトウェア業界を変えてくれるはず、
そう信じているんだよ。
おれは、言ってみりゃ、仙道のような男だということだろ。
でも、おれは日本でプログラマになる気はさらさらないんだ。
妥協妥協、正しい道があるのに、それに目を瞑って腐った上司の命令に従順しなければいけない。
おれは東大か京大の理系大学院を出た人間にしか命令されたくない。
あるいはハーバードとかMITとかそのレベルの人間にしか従いたくない。
よって、おれは企業に入る気をなくしている。
おれと同等に優秀な人間とだけ付き合いたいんだ。
0977デフォルトの名無しさん
2009/05/16(土) 16:12:59ならさっさとここから出て行って、良い仲間みつけとけ
0978デフォルトの名無しさん
2009/05/16(土) 16:14:35やりやすいコードを結合度の低いコードって表現してるだけのように取れる
わかりにくいコード→結合度の高いコードとか
参照グラフとクラス図の相関として数値で出すような手法(これだと凝集度だけど)
とかもありそうなんだけどなー
0979デフォルトの名無しさん
2009/05/16(土) 16:17:18もういいよ。飽きたー
0980デフォルトの名無しさん
2009/05/16(土) 16:24:150981デフォルトの名無しさん
2009/05/16(土) 16:29:57ただ人間に役立つ情報にしようとすると大変っぽい
それを踏まえると、これよりさらに「人間寄り」な結合度という概念は、
同じように参照グラフを使ってなんとかしようとしてもさらに苦労するんだろうな
0982デフォルトの名無しさん
2009/05/16(土) 16:35:03それを最初から諦めるとは何事だ
むしろ言語の美しさに形式的定義を与えてこの長年の論争に終止符を打つぐらいの気概を持つべき
0983デフォルトの名無しさん
2009/05/16(土) 17:39:17解が先にあって、数字を後付けする。
0984デフォルトの名無しさん
2009/05/16(土) 18:39:540985デフォルトの名無しさん
2009/05/16(土) 21:06:460986デフォルトの名無しさん
2009/05/16(土) 22:39:18日本語プログラミング言語で、日本語としてまだ美しいほうなのは、
なでしこ
0987デフォルトの名無しさん
2009/05/16(土) 22:57:430988ちんこ ◆GbXlaaQNk.
2009/05/16(土) 22:59:370989デフォルトの名無しさん
2009/05/16(土) 23:12:430990デフォルトの名無しさん
2009/05/16(土) 23:32:380991デフォルトの名無しさん
2009/05/16(土) 23:40:25http://pc12.2ch.net/test/read.cgi/tech/1242484767/l50
0992デフォルトの名無しさん
2009/05/16(土) 23:41:45執筆で2種類、
趣味で10種類くらいのプログラミング言語を使ってますw
0993デフォルトの名無しさん
2009/05/17(日) 01:47:33著作権も自分ひとりのものではない
0994デフォルトの名無しさん
2009/05/17(日) 02:18:34手直しできないのが切ない。修行不足だな。
0995デフォルトの名無しさん
2009/05/17(日) 07:02:010996デフォルトの名無しさん
2009/05/17(日) 11:09:340997デフォルトの名無しさん
2009/05/17(日) 13:36:30このスレでの収穫は、表計算はかなり美しいプログラミング言語だということがわかったこと。
あと、某氏に反論するために色々なことを調べて勉強になったw
0998デフォルトの名無しさん
2009/05/17(日) 15:13:57なのでプログラミング言語とはいいにくい
0999デフォルトの名無しさん
2009/05/17(日) 16:16:221000デフォルトの名無しさん
2009/05/17(日) 16:30:3510011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。