09/09/17 14:19:24
>>455
いや、そりゃそうだろう。
457:デフォルトの名無しさん
09/09/17 14:23:05
おまえら
*言語本来の機能*
と
*言語に付属する標準ライブラリの機能*
を、ごっちゃにしてませんか?
そうゆう意味では C++ の lambda なんてのは最低やと思う
なんで言語本来が備えているべき機能にライブラリが必須になるw
458:デフォルトの名無しさん
09/09/17 14:30:17
ちんこ大学中退かよ
459:デフォルトの名無しさん
09/09/17 14:57:56
一番美しいとなるとPrologだろう
静的な美しさだが
460:デフォルトの名無しさん
09/09/17 18:08:39
どうして?
Prolog って動的な言語だと思うんだけど
461:デフォルトの名無しさん
09/09/17 18:45:02
超時間的な印象が強いんですね
462:デフォルトの名無しさん
09/09/17 19:22:15
>>458
院
463:デフォルトの名無しさん
09/09/17 19:57:40
>>453
templateとGenericsは似た用途に使えるけど基本的に別物
464:デフォルトの名無しさん
09/09/17 20:42:51
JITでもテンプレート実装出来そうな気がするんだが教えてエロイ人。
465:デフォルトの名無しさん
09/09/17 22:21:03
Lispのマクロとか
466:デフォルトの名無しさん
09/09/18 01:08:31
>>438
>C++が難しいのではない。汎用的な部品が少くアプリ作るのが困難だけ。
C++が人気ないのはそういう理由ではない。
汎用的な部品やライブラリの少なさで言ったら
どう考えてもC++よりCのほうが少ないが
(CのライブラリはC++からも使えるが逆は無理)
なんでオープンソースものはCばっかりなんだろうねw
467:デフォルトの名無しさん
09/09/18 01:16:20
C++はポータビリティが低い(マングリングとか)、
OSに要求する機能水準がCより高いことがある、
どちらにしろCで書けばC++から利用可能
468:デフォルトの名無しさん
09/09/18 07:15:05
>>460
どの辺が?
469:デフォルトの名無しさん
09/09/18 08:45:10
動的な言語って言葉がわからないです。
変数に型が無い言語ってこと?
470:デフォルトの名無しさん
09/09/18 09:00:27
同じ名前のメソッドがあれば一緒にできてしまう言語
471:デフォルトの名無しさん
09/09/18 09:35:40
>>470
assertのこと?
472:デフォルトの名無しさん
09/09/18 12:28:03
>>468
assert とかで、実行中に述語(関数も)の追加や削除が出来るところが、そう思った理由なんだ。
変数に型が無いのも、少し理由に入るかも。
でも、そういえば、動的な言語って用語は無いよね。
間違ってた。
473:デフォルトの名無しさん
09/09/18 12:33:07
あ、あと op で新しい演算子を作れるのも、動的だと思った理由だった。
まあ、もう、どうでもいい事だけど
474:デフォルトの名無しさん
09/09/18 12:41:14
ゴメン。 op は、動的な理由にはならなかったかも。
とんでもない勘違い野郎だったね。
すまんかった
475:デフォルトの名無しさん
09/09/18 13:19:09
>>474
データベース言語として見れば動的と言う表現は納得いきますよ。
ただ、これは私の場合ですが、手続き型言語は実行過程を追うように読むの
ですが、Prologは書かれている通りという印象が強いですね。パターンを
一瞥するだけで何も追いかけません。そういう意味では静的ですね。
476:デフォルトの名無しさん
09/09/18 16:40:04
>>475
それは関数型でも同じだろう
477:デフォルトの名無しさん
09/09/18 18:11:08
C++は言語仕様がでかすぎて、何をするにも考えておかないといけない要素が多すぎるんだよ。
クラスを一つ作るにしても色々ある。
んで、そういうことをちゃんと習得するにはそれなりの時間がかかる。ほかの言語でもこういう
時間は必要なわけだけど、C++はこれが圧倒的に長いわけだ。
てなわけで、使い手を選びすぎるから嫌われてるんだよ。たぶん
478:デフォルトの名無しさん
09/09/18 18:45:37
Cは全ての機械語を受け入れる
C++は自分と違うオブジェクトシステムを認めない
だから嫌われるんだよ
479:デフォルトの名無しさん
09/09/18 20:10:01
噛んでも、噛んでも、永遠に味がなくならない、そして、何時までも新鮮な味のガム
それがC++
逆から言うと、一度噛んだら最後、捨てるタイミングがなくなるのもC++
480:デフォルトの名無しさん
09/09/18 22:46:24
そう。C++は神。
>>477
仕様を見る限りはとても良い言語なのに、
何故かそうやって誰も使いこなせていないから
使いこなしたくなってくるんだ
自分だけは使いこなせると、信じてな
481:デフォルトの名無しさん
09/09/18 22:50:16
不細工きわまりない構文がどんどん増殖するのがC++
482:デフォルトの名無しさん
09/09/19 08:20:21
>>481
つまり、自分が最も素晴らしいと思う構文を増やせるのがC++って事だな
483:デフォルトの名無しさん
09/09/19 08:31:45
そんなわけがない。
そういうのが好きならLispへGO。
484:デフォルトの名無しさん
09/09/19 10:02:34
Lispのマクロは蛇足
足を取ったらPythonになるんだよ
485:デフォルトの名無しさん
09/09/19 10:20:02
>>475
どの言語も関数型化しつつある中で
個性は際立ってるね。
美しいかどうかはともかくとして。
486:デフォルトの名無しさん
09/09/19 13:26:39
>>485
エベレスト -> K2 -> ...
世界の名峰の中での富士山的な位置づけになるか。独立峰で美しいが4000mもない。
487:デフォルトの名無しさん
09/09/19 14:22:00
>>484
LispはマクロがあるからこそPythonより優れてるんだよ
488:デフォルトの名無しさん
09/09/19 23:46:44
マクロのないLispなんか意味ないだろ
489:デフォルトの名無しさん
09/09/20 00:07:40
すみません、この質問がスレ違いかどうかもわからない素人なんですが、申し訳(ry
例えばこの2chの電子掲示板のシステムって
どんなプログラミング言語で設計されてるんですか?
あのー、よく、冷蔵庫とか洗濯機の制御ってCとかC#とか聞くんですけど
ituneとかいろんなブラウザとかでも、CとかC++とかなんですか?
HTMLとかCSSはマークアップ言語で別モンってのはわかるんすけど、
WEBアプリケーションとかって、どうなんですか?
PHP、Perl、Ruby、Javaは聞きますけど、C言語でも開発できるもんなんですか?
誰か教えてください。
490:デフォルトの名無しさん
09/09/20 01:09:03
●●は蛇足
足を取ったらPythonになるんだよ
を言いたかっただけだろう。
491:デフォルトの名無しさん
09/09/20 01:26:05
>>489
そりゃやろうと思えばCでもなんでもできるさ
492:デフォルトの名無しさん
09/09/20 06:36:28
>>489
2chはCとPerlを使い分けてるって聞いたことがある。
iTunesはMac出身だから、Objective-C辺りで開発されてるんじゃないか?
Windows版の都合もあるから、もしかしたらC/C++で開発してるかも知れないが。
493:デフォルトの名無しさん
09/09/20 10:13:20
>>491-492
あざぁーーーす!!
494:デフォルトの名無しさん
09/09/20 13:24:58
Noopはこのスレ的にはどうだろうと見に来たらまったく触れられて無くて笑った
495:デフォルトの名無しさん
09/09/20 13:38:10
もうずっと言語大杉 もうずっと言語大杉
496:デフォルトの名無しさん
09/09/20 15:08:55
Scalaが最強でいいんじゃね?
497:デフォルトの名無しさん
09/09/20 16:38:53
色々やったけど、やっぱ Lisp は凄い。
原理の最小化という意味では、Lisp が最強だと思う。
498:デフォルトの名無しさん
09/09/20 16:48:43
Lisp風のS式をPython風にかけて性的と動的を明示して混在できるようなのが( ゚д゚)ホスィ…
499:デフォルトの名無しさん
09/09/20 17:17:01
>>498
使ったことないけど
つ Cyan
URLリンク(www.geocities.jp)
500:デフォルトの名無しさん
09/09/21 15:55:19
ScalaはVMな時点で最強ではない
美しいかどうかといえば、美しさはあるだろう
501:ちんこ ◆GbXlaaQNk.
09/09/21 17:10:50
>>500
VMの時点で最強でない、という理由は?
502:デフォルトの名無しさん
09/09/21 17:37:21
JVMじゃないScalaがあるとして、それ価値あるの?
503:デフォルトの名無しさん
09/09/21 20:45:35
ちんこまだ生きてたのかよ
早くシネ
504:sage
09/09/21 23:42:43
>>500-501
俺はVMだから最強になれないとは思わない。
むしろVMの方が有利だと思う。
505:デフォルトの名無しさん
09/09/21 23:45:37
Javaなんかで作る奴はアプリに対する愛が無いんだよ。
アプリに対する愛があるのならば自分で作ったものは少しでも性能が良くしたいと思うはず。
Javaなんかで作る奴はアプリは愛してなくてJavaを愛してるだけ
506:デフォルトの名無しさん
09/09/21 23:47:06
>>505
それはいえてるかもね。
要するに、ソフトの品質を少しでも上げるよりも自分の労力を節約したいわけだからな。
507:ちんこ ◆GbXlaaQNk.
09/09/21 23:47:58
Javaで作られたアプリの性能が低いということを証明してください。
508:デフォルトの名無しさん
09/09/21 23:48:12
>>505
おまえよくわかってるじゃねーかよカス
そうだよ
509:ちんこ ◆GbXlaaQNk.
09/09/22 00:06:11
javaが遅いということを仮定しましょう。
さて、あなたたちは1秒で動けばばいいアプリが50msで動いたとして、それを45msで動かすことに興味があるのですか?
510:デフォルトの名無しさん
09/09/22 00:19:44
javaは遅いっていうか他プロセスの邪魔なんだよね
flashもそうなんだが、我が物顔なリソースの食い方をする
511:デフォルトの名無しさん
09/09/22 00:20:28
javaも.netも起動に時間がかかるよね
512:デフォルトの名無しさん
09/09/22 00:20:41
>>509
Javaでよくあるのって、
実際には 20ms で反応しないとストレスを感じるのに
「1sec で動けば十分」という開発者目線だけで作られてて
50ms でしか反応しないアプリなんだよね。
実際には、「これでいい」という開発者感覚がズレてることが多くて
ユーザーから見ると Java 製は重い、というイメージがついちゃってる。
仕事なら割り切らんといかんし、
心理的な欲目があるのは仕方ないっちゃ仕方ないがな。
513:デフォルトの名無しさん
09/09/22 00:33:31
速ければ速いほどいいアプリをこんなもんでいいでしょといって動かしてるのがJavaの実情
514:デフォルトの名無しさん
09/09/22 00:34:57
Javaの場合GCのチューニングやらヒープ上限の設定やらはアプリ利用者がシコシコやるものっていうスタンスだからなー
eclipseとかよく落ちるのうぜー
そもそもVMがクライアント指向じゃない感じ。
515:デフォルトの名無しさん
09/09/22 00:41:03
まぁ実際はJavaがどうかとかよりもアルゴリズムのよしあしのほうが影響がでかい。
516:デフォルトの名無しさん
09/09/22 01:04:04
Javaよりも中間言語のよしあしってこと?
517:ちんこ ◆GbXlaaQNk.
09/09/22 01:18:30
ああ、リソースの話なら、納得です。
あと、Javaの実行速度が遅いんじゃなくて、起動が遅いというのも納得です。
メモリにシビアな世界では、Javaを使うのは良い選択肢ではありませんし、
立ち上がり速度が重要なので、あれば、これも、Javaは良い選択肢にはならないでしょう。
>>513
その速いというのは何を意味していますか?
アルゴリズムの実行が速いということですか?
それならば、Javaは何の問題にもならないはずです。
518:デフォルトの名無しさん
09/09/22 05:38:37
最も美しくプログラムを書ける言語はなにか?
っていうスレなんだけど。こういう議論が続くということは、
Javaは美しいしかし遅い、という了解があると読んでいいのかな?
519:デフォルトの名無しさん
09/09/22 06:52:13
>517
勝手に使えよ馬鹿(´・ω・`)
>518
ねーよ。
520:デフォルトの名無しさん
09/09/22 08:49:11
それならこの流れ、止めよう。
521:デフォルトの名無しさん
09/09/22 08:49:51
美しい美しくないから離れて、最強になりえるかという流れだったんだけどな
522:デフォルトの名無しさん
09/09/22 09:04:05
まあ美しさについては前スレの前半で出尽くしたからいいんだけどね。
読むメンバーは次々替っていくからなぁ。
523:デフォルトの名無しさん
09/09/22 09:07:54
前スレの結論は?
524:デフォルトの名無しさん
09/09/22 09:24:34
私もまとめをやってみたりしたが、結局は堂々巡り。
525:デフォルトの名無しさん
09/09/22 10:48:57
Javaはシステムの機能を使えるはずの部分が使えず
そこをVMでやるから遅いのであって
計算などの処理自体は結構早いんだけどな
まあ、そんなシステムの機能の代表が
GUIという、これまた多くのユーザが真っ先にスピードの基準にする部分なんだが
526:デフォルトの名無しさん
09/09/22 10:54:47
Javaをネイティブに実行できるマシンを造る計画なかったっけ?
527:デフォルトの名無しさん
09/09/22 11:32:55
ちなみに途中経過の美しい言語の順位と最強候補言語の順位をここでまとめてくれないか?
俺的には美しい言語 Scheme
最強になるかもしれない言語 java
この辺が鉄板だって思っているけど。
528:デフォルトの名無しさん
09/09/22 11:35:06
Javaがどういう観点から最強なのか理解できない
今となっては古い言語で設計ミスも多いじゃん
529:デフォルトの名無しさん
09/09/22 11:38:57
これからはnoopの時代になる。何から何までnoopで書かれるだろう。
俺はそれを見越してnoopを学習し始めている。お前らも時代において行かれるなよ
530:デフォルトの名無しさん
09/09/22 11:40:56
>>528
設計ミス? 例えば?
531:デフォルトの名無しさん
09/09/22 12:41:22
>>529
口調がちんこっぽいな
532:sage
09/09/22 20:56:02
美しいのも最強もLISP。
次点でSmalltalk。
533:デフォルトの名無しさん
09/09/22 21:19:17
>>532
で、お前はどっちも使えねえんだろw
ミーハー臭w
534:デフォルトの名無しさん
09/09/22 21:27:16
lispは毎日使ってるけど汚いlispの代表であるelispだったりする
他の汚いlispといえばautolispかな、ちょっと前まではよく使ってた
それらと比べるとgimpのscript-fuはとてもいいものだ
535:ちんこ ◆GbXlaaQNk.
09/09/22 21:59:42
今日、ブログに書いたけど、暇だったのでscalaとgroovyを落としてちょっと書いてみた。
感想としては、
scalaはポストjavaとしてかなり面白いというものだ。記事とか読んでもjavaの悪い点をちゃんと克服出来ているように見える。
groovyは動的言語というだけあって、自分でも何を書いてるのか分からなくなった。ただ、これは静的脳だからかも分からん。そして、返り型を明示出来るという仕様が心地良いのもこれが原因かも分からん。
Pythonっていいの?本は使ったことないんだけど。
JVM上で動く言語じゃないと、色々不便じゃない?
536:デフォルトの名無しさん
09/09/22 22:04:13
Pythonは、珍しいことにWindows上でもちゃんと動く。
面白みは少ないかも知れないが、仕事でちゃんと使える言語だよ。
537:デフォルトの名無しさん
09/09/22 22:06:45
タイソンは珍しいことにリング上でもちゃんと鉢蝶のように舞う
面白みは少ないかも知れないが、リングでちゃんと使える技だよ。
538:ちんこ ◆GbXlaaQNk.
09/09/22 22:09:11
動的言語は、型が分からないのでとても不安になります。
これは、型によって設計を考えてしまうという思考のせいですか?
それとも本質的に動的言語は不安と戦いながら書くものなのですか?
groovyでグラフを設計する際に、addVertex(v)と書きました。このvが何なのか意味不明で怖くてたまりません。
あと、Pythonって何でflattenメソッドがないんですか?
そういう、標準的な拡張ライブラリ(apache.commons.Lang, Collectionみたいなやつ)はありますか?
539:デフォルトの名無しさん
09/09/22 22:30:28
動的言語は基本的にIDEに頼らず
ライブラリ覚えてやるもんだからなあ
540:ちんこ ◆GbXlaaQNk.
09/09/22 22:39:31
動的言語は基本的にEmacsですか?
541:デフォルトの名無しさん
09/09/22 22:49:09
だけど、まつもとゆきひろはすげぇーーよな?
542:デフォルトの名無しさん
09/09/23 11:37:09
アセンブラを理解しない奴は「何でこういう書き方をすると異常に速度が落ちるのか」
という現象に一生悩まされる宿命
VMの問題点も一生理解しないで、VMを作る偉い人がそのうち何もかも解決してくれる
のを期待して口開けて待ち続ける宿命
で、高水準言語だけを軽くかじって「俺はここまで理解してるんだ」とハッタリかます
だけで、VMそのものを作ってるような高水準から低水準までしっかり理解した連中に
全く相手にされない宿命
543:デフォルトの名無しさん
09/09/23 11:55:50
習いたての人にありがちな発言
544:デフォルトの名無しさん
09/09/23 12:06:00
コンピュータアーキテクチャとOSの概念を知ってないと
アセンブリ言語はただのパズル以上の意味を持たないから
なんでもかんでもアセンブラと一括りにするのは簡単だけどそれじゃあ啓蒙にならんだろう
545:デフォルトの名無しさん
09/09/23 12:11:21
う~ん、ROMってると実におもしろい
546:デフォルトの名無しさん
09/09/23 13:28:53
中途半端にアセンブリ言語知ってると
「三角関数はsin/cos関数使うより、配列に計算済みの値を格納してアクセスする方が早いよね」
なんて嘘情報を真に受けるから困る。
547:デフォルトの名無しさん
09/09/23 13:34:42
最適化なんてもんは最初から局所的にやるもんじゃないだろ。
最後に問題がありそうなら、包括的にやるもんだろ。
最初から局所最適化厨は害悪。
548:デフォルトの名無しさん
09/09/23 14:36:31
>>542
>>428
>VMそのものを作ってるような高水準から低水準までしっかり理解した連中に
全く相手にされない宿命
VMそのものを作るなんてただのオナニー
そんなことやってる奴は一般人に相手にされない。
高水準よりさらに上の一般人に恩恵を与えられないのなら何の価値も無い
549:デフォルトの名無しさん
09/09/23 14:39:07
>>538
vが嫌なら判りやすい名前を付ければ良い
型が不安なら型変換すれば良い
型変換出来ないような値が来たら例外吐かせて、適当な場所で補足すれば良い
550:デフォルトの名無しさん
09/09/23 14:48:16
>>547
最初からきっちりコードを書いていかないとすぐにゴミだらけになって読み返すのが嫌になるって
ばっちゃが言ってた。
551:デフォルトの名無しさん
09/09/23 15:13:52
でも最初からキッチリ書くってのは結構難しいと思う。
ゴミだらけでも思い切って書いてみると、どう書けばキッチリなのかに気付く。
最初からいきなりキッチリ書こうとすると、全容が見える前にリタイアしてしまう俺。
552:デフォルトの名無しさん
09/09/23 15:54:23
VMの略を「バーチャルマシーン」だと思っているからおかしくなる
VMの略は「ベリーマゾ」だ
試験に出るから良く覚えときなさい
553:デフォルトの名無しさん
09/09/23 16:32:05
> VMの略を「バーチャルマシーン」だと思っているからおかしくなる
VM == バーチャルメモリーでも同じだろ
554:デフォルトの名無しさん
09/09/23 20:40:30
流れが読めない猿
555:デフォルトの名無しさん
09/09/23 22:39:41
最初に局所最適化をするものではないかもしれないが、
最初に最適化を視野に入れた大まかな設計を考えることは必要
556:デフォルトの名無しさん
09/09/24 20:26:53
infixというarithmeticに特化したクソを
採用しない言語が最も美しい
forthのことだ
557:デフォルトの名無しさん
09/09/25 08:57:33
そんなことに拘ること自体美しくない。
558:デフォルトの名無しさん
09/09/25 09:20:42
>>557
それは評価する側の問題だろう。そういう
理屈抜きにしても美しいよ。
559:デフォルトの名無しさん
09/09/25 09:26:51
forthは知らない。
PostScriptにはずいぶんお世話になった。でも美しいとは思えないw
560:デフォルトの名無しさん
09/09/25 11:43:35
理屈っぽさと美しさは相容れない。そういう意味で前スレはともかく、
このスレの前半はクレージー。
561:sage
09/09/25 12:13:23
あ、それはある。Haskellは美しい言語だと
思うけど応援団が議論始めると途端に醜悪に
なる。
562:デフォルトの名無しさん
09/09/25 12:29:44
haskellは実用的で汚ない言語
563:デフォルトの名無しさん
09/09/25 13:07:55
>>556
infixでない言語は少ないよね。
LISPもinfixではない。
FORTHはSPARCのブートローダーでいじったけど、
混乱せずに大きなアプリが作れるのか疑問に思った。
564:デフォルトの名無しさん
09/09/25 21:04:39
LISPのマクロは自己書き換えコードだろ
なんかバグの温床な気がする
便利なのかもしれんが美しくない
565:デフォルトの名無しさん
09/09/25 21:05:52
>>556
すべての構文にinfixを採用している言語があれば確かにクソ。
そんな言語は寡聞にして知らないが。
そもそもinfixで表現できるのは二項演算だけだし。
arithmeticの表現という言語の一部分にinfixを採用するのは合理的だろう。
人間のためのプログラミング言語であって
機械のためのプログラミング言語ではないのだから。
すべての構文にprefixやpostfixを採用したlispやforthは
「人間が機械に歩み寄ればこんなにhappyになれますよ」という思想。
consistentな美しさはあるけど、happyになれるかは人によるよね。
まあスレタイ的にforthを推すのはいいけど、
> infixというarithmeticに特化したクソを
> 採用しない言語が最も美しい
には賛同しかねる。
566:デフォルトの名無しさん
09/09/25 21:06:51
核を落とした国が核をなくそうだってよwww
冗談じゃねーーよカス
被爆国の日本が言うならまだしも、お前が言うんじゃねーアメリカ!!
567:デフォルトの名無しさん
09/09/25 21:07:48
>>564
そこでschemeですよw
568:デフォルトの名無しさん
09/09/25 21:09:43
マクロを美しいとは思わないけど
マクロがある故にLISPが美しくないとも思わない
569:デフォルトの名無しさん
09/09/25 21:10:35
>>567
なんで?
570:デフォルトの名無しさん
09/09/26 01:46:02
バグの温床になるかどうか自分で実際に使ってみればわかるよ
571:デフォルトの名無しさん
09/09/27 09:07:05
確かに馬鹿が使うとものすごいもんが出来そうだな
572:デフォルトの名無しさん
09/09/27 17:01:57
すんませんね、言わさしてもらいますけど、最も美しいプログラミング言語は?
ていうのはおかしな話なんですよ、こんなもの。
1つしかないやろっていう話なんですよ。
なぜ、みんな、機械語だと思わへんのかなと、僕はね。
そんなん、どんなプログラミング言語書こうが、そんなものね、インタプリタされてコンパイルされて、
結局は機械語に変えられてしまうんやから(笑)
CPUは機械語しか理解できひんのやから、まだアセンブラ言語言うんやったら、話わかるけど、
JAVAとかCとか、そんなもの人間しか理解できひん、所詮、高級言語なんやから、
そんなCPUが理解してくれへん言語がなんが美しいねんと?
もうねーアホかと(笑)そこなんですよ。
ある種、キャバ嬢や風俗嬢にのぼせて、自分をここまで育ててくれた親を何とも思てへんのと一緒やからね(笑)
573:デフォルトの名無しさん
09/09/27 18:11:18
美しいってなんなんだろうね
キャバ嬢や風俗嬢だとか親だとか
そういう立場で決まるもんだろうかね
574:sage
09/09/27 18:44:24
どっかのコピペの改造じゃないの?
575:デフォルトの名無しさん
09/09/27 21:48:58
マグロを美味しくないとは思わないけど
マグロである故にツナ缶が美味しくないとも思わない
576:デフォルトの名無しさん
09/09/27 23:01:13
>>572
どの機械語が美しいの?
577:デフォルトの名無しさん
09/09/27 23:13:20
そもそも >>572 は機械語がなんなのか理解していないと思う。
578:ちんこ ◆GbXlaaQNk.
09/09/27 23:25:38
Railsで開発してる会社ってまとも?
アルバイトしようと思ってる。
579:デフォルトの名無しさん
09/09/27 23:27:01
>>572
機械語ってプログラミング言語なの?
580:デフォルトの名無しさん
09/09/27 23:28:55
>>578
会社によるとしか言いようがない。
581:ちんこ ◆GbXlaaQNk.
09/09/27 23:33:40
>>580
おれの中では、未だにPHPとか使ってる時代遅れのところはブラックで、
Railsとか使ってるところはわりとマシで、
リファクタリングとかもちゃんとしてるというイメージなんだけど。
違う?
582:デフォルトの名無しさん
09/09/27 23:38:48
だから会社によるとしか言いようがないとw
583:デフォルトの名無しさん
09/09/27 23:39:39
リファクタリングなんて都市伝説です
ちょろちょろとならまともな人はしてるだろうけど・・・
584:デフォルトの名無しさん
09/09/27 23:48:07
>>579
なに言ってんの?
w
585:ちんこ ◆GbXlaaQNk.
09/09/28 00:27:28
>>583
リファクタリングせずに、どうやってソフトウェアを書くのかよく分からないのですが、
実際の現場というのはそんな時間もないのですか?
それとも、そのスキルがないんですか?
586:デフォルトの名無しさん
09/09/28 00:32:35
>>585
リファクタリング頻度はプログラマーの初期設計能力の低さに比例します。
ただそれだけのことです。
587:デフォルトの名無しさん
09/09/28 01:27:57
>>585
リファクタリングなんてのは、納期に余裕がありまくりの、ぜいたくな
現場でしか使えない手法
データシートと回路図渡されて、「2週間でデバイスドライバ書け」って
言われりゃ、そんなひまはない
保守する連中がやるって言うんだったら止めはしない
588:デフォルトの名無しさん
09/09/28 01:47:38
>587
かなしいのぅ、かなしいのぅw
589:デフォルトの名無しさん
09/09/28 07:03:29
> 保守する連中がやるって言うんだったら止めはしない
やったらやったで、タイミング会わなくなって
遅くなったり動かなくなったりするんだよなw
590:デフォルトの名無しさん
09/09/28 11:34:47
プログラムなんか所詮使い捨てだからな
591:デフォルトの名無しさん
09/09/28 14:41:24
それでもプログラマほどは使い捨てじゃないけどな。
592:デフォルトの名無しさん
09/09/28 14:45:37
>>572
> そんなん、どんなプログラミング言語書こうが、そんなものね、インタプリタされてコンパイルされて、
> 結局は機械語に変えられてしまうんやから(笑)
コピペ臭いのを承知でいうけど、これって胃の中でドロドロになった食べ物を指して
「結局人体はこうなった食べ物からしか栄養摂取できないんだから、
この状態がどんな一流シェフの盛り付けより美しい」
って言うのと同じだな。
593:デフォルトの名無しさん
09/09/28 16:27:57
>インタプリタされて
w
594:デフォルトの名無しさん
09/09/28 16:36:27
みんな釣られすぎだクマー
595:デフォルトの名無しさん
09/09/28 18:44:29
>>592
すまんが、例えの意味がわかんないのは俺だけか?w
596:デフォルトの名無しさん
09/09/28 18:46:28
>>572
松本人志乙。
597:デフォルトの名無しさん
09/09/28 18:48:41
>>572その前にインタプリタされてってどういうことなんだよwwww経験浅すぎw
598:デフォルトの名無しさん
09/09/28 18:54:15
改変コピペに意味なんてないでしょ
599:デフォルトの名無しさん
09/09/28 19:21:56
>>592の例えは適切。
シェフの盛り付けが言語とすれば、
胃の中がコンパイルされた状態で
栄養素吸収がすなわち、CPUで処理されるということでしょ?
>>572は要するに、CPUで処理できる=美しい 処理できない=美しくない という美的感覚ということになる。
おk?
600:デフォルトの名無しさん
09/09/28 19:34:49
>>572
ちんこを完全に食っちまってやがる…
すげえ…
601:デフォルトの名無しさん
09/09/28 19:52:45
Rは?
602:デフォルトの名無しさん
09/09/28 20:17:22
>>601
統計屋さんたちが絶賛マンセー中。
あの人たち狭い世界に生きてるからね。
603:デフォルトの名無しさん
09/09/28 21:33:58
何かきちんとスクリプト言語覚えようと思ってるんだけど
R言語が気になってしょうがない
604:デフォルトの名無しさん
09/09/28 21:41:41
>>602
目的果たすのにあんなに使いやすい言語はないんだから
当然のことだよ。
605:デフォルトの名無しさん
09/09/28 21:42:49
>>603
> R言語
Sの方言だな
606:デフォルトの名無しさん
09/09/28 22:24:40
>>604
目的を果たすのに「現時点で」あれ以上使いやすい言語はないな モニョモニョモニョモニョ
607:デフォルトの名無しさん
09/09/28 22:28:40
>>603
両方覚えろよ
608:デフォルトの名無しさん
09/09/28 22:33:55
>>585
スキルがない人が言い訳してるだけだよ。
ちゃんとした現場なら、リファクタリングするよ。
609:デフォルトの名無しさん
09/09/28 22:59:23
俺の会社の人間、
殆どの人が作ったらそれっきりなんだよなあ。
汚いし見づらいから直せばいいのに、
汚いまんまテストにぶん投げてオシマイ。
これでも他社よりコードがマシというのが泣けてくる。
610:デフォルトの名無しさん
09/09/28 23:04:33
ネットだと理想論が多いから余計ダメに感じるけど、現実はそんなもんなんだって。
611:デフォルトの名無しさん
09/09/28 23:09:49
自分はしばらく使い回されるライブラリとアプリを平行に作ってるのでリリースのたびにリファクタしてアプリ領域でとりあえず実装したものをライブラリ上に移行してる。
612:デフォルトの名無しさん
09/09/28 23:13:08
>>585
「リファクタリングせずに、どうやってソフトウェアを書くのか」とは
興味深いフレーズだけれど、本気かい? 項書き換えのようなイメージ
ならそれとなくわかるけど。
613:デフォルトの名無しさん
09/09/28 23:15:51
最初に書きたいだけベタ書きして
メソッドやらの抽出、変数への置き換え、インライン化、
メソッドシグニチャの変更とかもろもろやりまくるんじゃないの。
614:デフォルトの名無しさん
09/09/28 23:23:23
>>613
そんなの日常すぎて、いちいちリファクタリングどうこうとか思いながらやらないよね
615:デフォルトの名無しさん
09/09/28 23:33:38
>>614
そうそう
リファクタリングという言葉がはやりだした頃
「あ、今までやってたことに名前が付いたwwww」って感じだった。
616:デフォルトの名無しさん
09/09/28 23:51:42
ソフトウェア工学なんて小学生並の知能でできる工夫をいちいち難しく説明してるだけだよな。
617:デフォルトの名無しさん
09/09/29 01:32:31
難しく感じるのはお前が小学生並の知能だからだよ^^
618:デフォルトの名無しさん
09/09/29 01:33:57
URLリンク(xy.yu.to)
夜中寂しい人向け
混む時間帯は人気ありすぎて定員オーバーで入れん
24時間荒れ放題の超カオスな絵チャット
本当の本当に完全無法地帯の絵チャット
(2ちゃんとは比較にならない)
荒しとプログラマーと防衛プログラマーの攻防戦
防衛側が強し、求強力荒しプログラマー
しかも外国サーバー(イギリス)で管理人は荒し容認
殺人予告すらOKっぽい。ログなんて当然取ってないし
619:sage
09/09/29 08:06:49
>>613
最初から最後までベタ書きのPrologはいいよなぁ
620:デフォルトの名無しさん
09/09/29 13:32:32
仕様書=プログラム が理想。
既存の宣言型言語はもう一息なんだけどな。うまく言えないけど何かが足りない。
621:デフォルトの名無しさん
09/09/29 13:40:15
何が足りないってそりゃあ
仕様書とは何かが定義されていない
手続き≠仕様書 とか、あれでもない、これでもないとは言うけれど、じゃあどれなのか
622:デフォルトの名無しさん
09/09/29 14:01:53
仕様っていったってさまざまなレベルの仕様があるし、
非機能要件(○秒以内に応答とか)などはプログラムで明示的に表現されるような代物でも無いし
仕様と設計は別物だし
623:デフォルトの名無しさん
09/09/29 14:04:50
クライアントの問題領域に即した仕様記述用DSLをつくって
クライアント自身にそのDSLで仕様書書かせるってどう?
クライアントの目の前でコンパイルして、コンパイルエラーが
出れば「テメーの仕様がなってない」って突っパネられる
ランタイムエラーが出れば「テメーのスキルがなってない」と
攻撃される諸刃の剣
624:デフォルトの名無しさん
09/09/29 14:08:29
その方向でいいんじゃないか。
625:デフォルトの名無しさん
09/09/29 14:38:48
>>585
俺が出向してた現場には
「すでに動いているコードを変更してはいけない」
というポリシーがあったよ。
共通関数としてくくり出せる場合でも、既存部分は手をつけられない。
当然、似たようなコードがあちこちに点在する。
そこのリーダーは「コードのコピーが生産性の鍵だ」と言ってたw
しかし、後から修正する場合でも
変数名、関数名とかコメントまでそのままコピーされてるから
意外と修正箇所が発見しやすかった。
626:デフォルトの名無しさん
09/09/29 15:09:40
>>625
なにそれこわい。でもちょっと興味深い
627:デフォルトの名無しさん
09/09/29 20:30:50
>>625
自社でパッケージ開発してないと、
そういう方針になるよね。割と普通だけど
クソコードコピーしてくるのはやめてほしい。
クソは一度断ち切るべきだ。
628:デフォルトの名無しさん
09/09/29 21:03:02
前スレで、宣言型の部、手続き型の部、というように部門別に別けて
評価して見たのだけれど、これを繰り返すなら、宣言型はPrologでいいのかな。
629:ちんこ ◆GbXlaaQNk.
09/09/29 21:38:21
とりあえず低学歴のクズがソフトウェア業界に入るのをどうにかしろ。
日本のソフトウェア業界は旧帝理系以上の学生しか採用するな。
最低限の地頭すらないやつは事務職、あるいはファック隊だ。
お前らの目から見て、この会社はすごいというところはどこ?Google以外で。
630:デフォルトの名無しさん
09/09/29 21:44:21
株式会社ジェーン
631:デフォルトの名無しさん
09/09/29 21:46:19
>>629
高卒の俺が知ってることすら知らない大卒様たちはどうすれば…
632:デフォルトの名無しさん
09/09/29 22:12:19
>>629
URLリンク(d.hatena.ne.jp)
633:デフォルトの名無しさん
09/09/29 22:37:00
学歴とプログラミングの腕は全く別だからなあ
634:ちんこ ◆GbXlaaQNk.
09/09/29 22:55:42
>>633
あなたの定義する、プログラミングの腕とは何ですか?
635:デフォルトの名無しさん
09/09/29 22:57:43
向学心と学歴は違うからねぇ
636:デフォルトの名無しさん
09/09/30 00:25:15
JavaとOOPに囚われてるちんこにはまともなコードは組めないだろうな
頭を柔軟にしてLispでもHaskellでもいいから関数型言語やってみれ
そういやたしかコンパイラ作ってるんだっけ?それも完成させてみ
637:デフォルトの名無しさん
09/09/30 00:30:28
>>633
学歴以外の条件をそろえれば、学歴とプログラミングの腕は強い相関がある
638:デフォルトの名無しさん
09/09/30 01:24:27
web系?の人ばっかりに見える
639:デフォルトの名無しさん
09/09/30 02:01:29
統計で処理される人間にはなりたくないよね
640:デフォルトの名無しさん
09/09/30 02:58:54
というと?
641:デフォルトの名無しさん
09/09/30 03:20:37
厨のワタクシが、厨くさいスレタイだと思って開いてみたら
これまた想像以上に厨くさいレスばっかりでした(笑)
642:デフォルトの名無しさん
09/09/30 06:45:12
系とか歴とかで分類されたくないからプログラマやってるんだ。
個人的な営為としてね。
643:デフォルトの名無しさん
09/09/30 06:56:03
>>642
よほど抜きん出てない限り1統計データなんだけどね。微笑
644:デフォルトの名無しさん
09/09/30 06:58:36
>>629
君のZ言語に対する評価を訊きたい。
645:デフォルトの名無しさん
09/09/30 08:36:44
>>644
一番はΦでしょ
646:デフォルトの名無しさん
09/09/30 08:46:08
>>645
マンコ?
647:デフォルトの名無しさん
09/09/30 09:58:36
関西ではメコ、九州ではボボいうってほんとお?
648:デフォルトの名無しさん
09/09/30 10:06:53
>>572
つまり、最も美しいISAを決めようって話か?(ビキビキ
649:デフォルトの名無しさん
09/09/30 10:14:39
>>636
いまやちんこは関数型に目覚めているし、
Javaの欠点も認識しているみたいだよ。
650:デフォルトの名無しさん
09/09/30 12:21:35
学歴が関係ない職業
プログラマー
清掃
警備
運送
651:ちんこ ◆GbXlaaQNk.
09/09/30 12:26:06
>>650
それはないから。
どの職業も、学歴はとても関係ある。
学歴が低いやつは何やっても低いレベルに止まる傾向が強い。
お前らのようにね。
652:デフォルトの名無しさん
09/09/30 12:29:59
マジレス乙wwwwwwwwwwww
w
653:デフォルトの名無しさん
09/09/30 12:31:48
それで Z は?
654:デフォルトの名無しさん
09/09/30 12:32:50
>>651
お前莫迦?
進学できないのには、単にそんな理由だけとは限らないし
お前もっと世間を知ったほうがいいよカス
655:デフォルトの名無しさん
09/09/30 12:33:59
キャップ使ってるキチガイが沸いてるな
656:デフォルトの名無しさん
09/09/30 12:34:57
>>651
お願いですから死んでくださいw
657:デフォルトの名無しさん
09/09/30 12:36:54
>>651
∩_
〈〈〈 ヽ
〈⊃ }
∩___∩ | |
| ノ ヽ ! !
/ ● ● | /
| ( _●_) ミ/ <こいつ最高にアホ
彡、 |∪| / 自分の意見を一般論にする古館伊知郎w
/ __ ヽノ /
(___) /
658:ちんこ ◆GbXlaaQNk.
09/09/30 12:43:23
>>654
他にどういう理由があるの?
果たしてそれは一般的な理由なの?
そして、おれは「学歴」と言っているのに、なぜ、「進学」に話がすり替えられてるの?
659:デフォルトの名無しさん
09/09/30 12:44:49
>>658
∩_
〈〈〈 ヽ
〈⊃ }
∩___∩ | |
| ノ ヽ ! !
/ ● ● | /
| ( _●_) ミ/ <こいつ最高にアホ
彡、 |∪| / ニート丸出しwwwwww
/ __ ヽノ /
(___) /
660:デフォルトの名無しさん
09/09/30 12:45:46
ちんこってwどんだけレベル低いんだよwwwwwwwwwwwwww
661:デフォルトの名無しさん
09/09/30 12:46:52
>>658キチガイ死ね
662:デフォルトの名無しさん
09/09/30 12:48:05
>>658
おまえ莫迦?
学歴と進学と違いを説明しろよじゃあ
663:デフォルトの名無しさん
09/09/30 13:04:02
学歴とか地頭とかいうよりも、向き不向き。
ちんこは向いてないんだと思うよ。バカなんじゃなくて。
関係ないけど神オブジェクトのブログ見てると小学生の日記みたいだね。
664:デフォルトの名無しさん
09/09/30 13:09:01
人を貶すネタとしては学歴は有効という事は色んなところで有効と実証されてますな
665:ちんこ ◆GbXlaaQNk.
09/09/30 13:13:12
>>663
はいはい^^
おれは今まで取り組んできた、客観的に見ておれは向いているといえるものよりも、プログラミングはより向いていると思っているよ。
おれは自分に才能があると思うことしかしない。その中でもプログラミングは断トツの相性だという認識です。
お前らなんか、おれから見ればゴミ同然だよ。
666:デフォルトの名無しさん
09/09/30 13:16:46
日本語になってないw
とてもじゃないが京大院とは思えない低能さだなw
667:ちんこ ◆GbXlaaQNk.
09/09/30 13:20:14
お前ら、本当に頭良いやつと会ったことあるの?
お前らのいるような職場には、高学歴すら来ないだろ。
668:デフォルトの名無しさん
09/09/30 13:20:27
>>663と>>665
が串と解からないほど俺が馬鹿だと思ってるのかww?
自作自演乙wwwwww
こっちは10年2chやってんだよ、なめんなカス死ね
お前のような養護は日本にとっていらねぇんだよ消えろカス死ね
669:デフォルトの名無しさん
09/09/30 13:22:04
>>668まあ、IDないんだから串もクソもないだろ。
けど、ちんこの言ってることが間違いなことは誰もが理解してるということ
670:デフォルトの名無しさん
09/09/30 13:24:57
>>665
お前ブラインドタッチ出来てないだろwwww
タイピングに気をとらわれ過ぎて、日本語になってねぇんだよw
てか、在日かおまえ?w
まあ、いいわ。もっとお前、意見を述べてみろよ、ここまできたんだから
671:デフォルトの名無しさん
09/09/30 13:37:04
セオリー通りの反応では1統計データにしかなれないからな。
672:デフォルトの名無しさん
09/09/30 13:39:55
>>667
話が全然それてんじゃねぇかよカス
高学歴が職場にこねぇとかどうでもいいんだよw
プログラミング作業と高学歴がなんか関係あんのかって聞いてんだよ禿
673:デフォルトの名無しさん
09/09/30 14:12:16
京大院って文系だとこんなアホが居るんだな。びっくりした。
674:デフォルトの名無しさん
09/09/30 14:55:38
高校生で言語作る人もいるのにな
頭が悪いというか堅すぎというか
675:デフォルトの名無しさん
09/09/30 15:02:03
上も下も見ればキリがないのに、
意味なく上と比べて落胆したり、下を見て慢心したりそういう人が多いねぇ
自分の知りたいことを知って、作りたいもの作ってそれをネタに慣れ合いしたりしてれば十分なのにさ
676:デフォルトの名無しさん
09/09/30 20:40:31
で、ここは何のスレ?
677:デフォルトの名無しさん
09/09/30 21:29:52
ちんこをいじるスレ
678:デフォルトの名無しさん
09/09/30 21:33:52
爪はたてないでね
679:デフォルトの名無しさん
09/09/30 21:35:32
昼間のチンコ出てこいやぁコラ
680:デフォルトの名無しさん
09/09/30 23:45:04
ちんこもJavaなんて中途半端なもん使ってるから苦しんでるんだよな
Cで自分でデータ型を設計、管理を学ぶか
Lispなんかで高度な抽象化をやってみればいいのに
681:デフォルトの名無しさん
09/10/01 00:00:04
OCamlじゃだめ?
682:デフォルトの名無しさん
09/10/01 00:06:20
Ocamlも面白そうだな
Haskellよりとっつきやすそうだし
683:ちんこ ◆GbXlaaQNk.
09/10/01 00:11:03
Programming in Scala買った。
Scalaはやばい。
684:デフォルトの名無しさん
09/10/01 00:11:59
あいつの言うソフトウェアの天才って意味わからんなぁ。
普通天才っていうと機械語よりな奴だよなぁ。
685:デフォルトの名無しさん
09/10/01 00:30:42
別にJavaでもLispでもいいけど
ブランド志向というか、学歴もそうだが
看板を借りてきただけで満足したら終わりだよ
686:デフォルトの名無しさん
09/10/01 00:40:22
そんな看板すら持てない奴は始まらずに死ぬけどなww
687:ちんこ ◆GbXlaaQNk.
09/10/01 00:41:47
低レベルのことなんて、誰でも出来る。
高レベルのことは誰でもは出来ない。
機械語だとかそんなのはやるだけ。右脳的な要素がない。
おれは絵を描くようにソフトウェアが作りたいだけ。
688:デフォルトの名無しさん
09/10/01 00:42:25
全く、ここのスレの奴は全然わかってない、あきれたよ、もう・・・。
言語を習得したからって、浮かれてる場合じゃないだろ
言語でどんなアプリ、システムを開発するかだろ
もう・・・・
ば~いちゃお☆
689:デフォルトの名無しさん
09/10/01 00:43:25
ちんこゴルァァァァァァァァァァァ
690:デフォルトの名無しさん
09/10/01 06:03:51
>>687
何か色々と間違っちゃってるな。
低レベルのことも、高レベルのことも向き不向きがある。俺は実感の湧きにくい低レベルのことは苦手だ。
右脳的な要素が強いのはむしろ機械語だと思う。(もっとも「右脳的」の定義によりけり、だが)
絵を描くのは簡単ではないし、ソフトウェア開発に楽な道は無いと思って良い。
強いて言えば、ライブラリが揃ってる言語のほうが目的を達成するだけなら楽だろうな。
Javaをそのまま使っていれば良い。
ライブラリが足りないならC++やPerlもやれば良い。
ただし、C++もPerlも美しい言語とはほど遠いがw
691:デフォルトの名無しさん
09/10/01 06:56:23
>>690
Perlは美しいよ
692:デフォルトの名無しさん
09/10/01 07:28:19
>>682
これ良く聞くんだけど、
Haskell のどの辺りが取っつきにくそう?
693:デフォルトの名無しさん
09/10/01 08:56:36
副作用がしにくいところジャネ
694:デフォルトの名無しさん
09/10/01 09:36:30
副作用の除去に関しては、強制せずとも推奨な言語は多いし俺はあまり気にならなかった。
が、モナドははじめてオブジェクト指向に触れたときのような敷居の高さがあった。
あとコンパイルが糞遅い。
695:デフォルトの名無しさん
09/10/01 11:54:20
>>692
Haskellのdataとclass、instanceの概念が理解できません。
696:デフォルトの名無しさん
09/10/01 12:34:58
おまえらちょっと待て、
取っつきにく「そう」ということは、まだ取っついてもいないわけだろ。
そんな状態の奴が
> 副作用がしにくい
> モナドははじめてオブジェクト指向に触れたときのような敷居の高さがあった
> Haskellのdataとclass、instanceの概念が理解できません
そんなこと考えるわけ無いだろ。
これは、ある程度触ってみた奴が初めて言えることだ。
697:デフォルトの名無しさん
09/10/01 12:53:13
>>696
確かに。それなら
・統合開発環境がない
・簡単にGUIアプリが作れない
というのがとっつきにくさになるかな。
698:デフォルトの名無しさん
09/10/01 12:54:49
>>696
いや、ごめん。
おまえらの反応で正しかったわ。
>>682 を受けた俺のレス >>692 の仕方だと俺が全面的に間違ってた。
すまん。
聞きたかったのは、Haskell やる前の奴が Haskell に感じる壁だ。
申し訳ない。
699:デフォルトの名無しさん
09/10/01 13:14:50
>>698
それだったらコミュニティの議論だろう。
700:デフォルトの名無しさん
09/10/01 13:16:45
ちんこ ◆GbXlaaQNk.
出てこいやぁ!!!
701:デフォルトの名無しさん
09/10/01 14:08:46
URLリンク(d.hatena.ne.jp)
ここもアレだったけどちんこはそれ以上だな
702:デフォルトの名無しさん
09/10/01 18:01:39
>>699
言われてみればそうだな。
話が出たついでに聞いてみようと思ったんだが、
スレタイとは全く関係なかったな、すまんかった。
703:デフォルトの名無しさん
09/10/01 18:07:50
>>701
>>278
704:デフォルトの名無しさん
09/10/02 10:19:08
賃このオ何ーをみんなで手伝うスレですか?
705:ちんこ ◆GbXlaaQNk.
09/10/02 20:14:28
Scalaは神。
706:デフォルトの名無しさん
09/10/02 20:22:59
などと意味不明な事を口走っており…
707:デフォルトの名無しさん
09/10/02 20:28:34
シコシコ
708:デフォルトの名無しさん
09/10/02 20:37:14
ScalaもJavaVMの上でよく頑張ったって感じではあるけど
709:デフォルトの名無しさん
09/10/02 20:59:12
Java厨のちんこには本物の関数型言語は理解出来ないんだろ
710:デフォルトの名無しさん
09/10/02 21:05:37
本物ではない関数型言語って何?
711:デフォルトの名無しさん
09/10/02 21:11:52
>>710
Lisp, Schme
712:デフォルトの名無しさん
09/10/02 21:12:45
純粋関数型って意味で言えば、ハスケル以外全部なんだろうな
713:デフォルトの名無しさん
09/10/02 22:04:37
ちんこにはLispやSchemeですら理解できるかどうかw
CommonLispには型宣言もあるし実行効率もいいと思うんだがな
714:デフォルトの名無しさん
09/10/02 22:17:31
>>705
のこのこと出てきやがったなwwww
俺を覚えてるか?w
715:デフォルトの名無しさん
09/10/02 22:29:50
>>714
糖質は一スレに一人で十分だぞ
716:デフォルトの名無しさん
09/10/02 22:35:57
でもScalaは凄いな
ひょっとしたら、Javaの次にくる大きな言語じゃね?
717:デフォルトの名無しさん
09/10/02 22:46:35
せっかく次はScalaだと思って勉強しているのに、ケチつけられた気分だ
718:デフォルトの名無しさん
09/10/02 22:49:03
次の本命はC#、時点がScala、大穴がD
719:デフォルトの名無しさん
09/10/02 22:50:46
Scalaの時代遅れなところは、Lispのマクロを研究しなかったこと
720:デフォルトの名無しさん
09/10/02 22:59:02
プログラミング言語の特徴を、実行速度と簡潔さで見る
縦軸が多いほど実行速度が遅い
横軸が多いほど記述量が多い
URLリンク(www.publickey.jp)
721:デフォルトの名無しさん
09/10/02 23:01:08
>>720
GJ!
722:デフォルトの名無しさん
09/10/02 23:07:37
Cってホント実行速度速いんですね
723:デフォルトの名無しさん
09/10/02 23:09:15
Rubyってホント開発効率高いんですね
724:デフォルトの名無しさん
09/10/02 23:18:23
どんな言語でも、簡潔に書こうとすればそういう書き方になるし、
実行速度が求められればそういう書き方になる
The Computer Language Benchmarks Game
に投稿されているコードも、どちらかを重視した、偏った書き方に
なっている可能性がある
おそらく、Rubyは簡潔さを重視したコードがたまたま投稿されているだけなのだろうね
RubyがPythonに実行速度で大きく劣るという話は聞いたことがないしな
725:デフォルトの名無しさん
09/10/02 23:18:51
開発にかけられる時間が5分間とかでない限り、簡潔さと開発効率は殆ど関係ない。
726:デフォルトの名無しさん
09/10/02 23:20:22
簡潔さと実行速度がトレードオフになることは殆どない。
同じ言語であれば、むしろ簡潔であるほど実行速度が速い場合が多い。
727:デフォルトの名無しさん
09/10/02 23:21:12
>>726
それは間違ってるよ
たとえば、HaskellのQuicksortなんかが典型例だな
728:デフォルトの名無しさん
09/10/02 23:21:55
特殊な一例を出して典型とする例 >>727
729:デフォルトの名無しさん
09/10/02 23:25:23
別に特殊例じゃないけどな
CLispのソースなんかは、効率のために冗長な書き方がなされていて、
簡潔版がコメントアウトされて載っているほど
730:デフォルトの名無しさん
09/10/02 23:26:07
>>727
じゃあ、その典型的な簡潔で遅い例と複雑で速い例を書いてみて。
731:デフォルトの名無しさん
09/10/02 23:26:16
>>720
グラフの軸に
slower← →faster
とか
worse← →better
とか書いてくんないのはなんでだろ。
732:デフォルトの名無しさん
09/10/02 23:26:28
>>728
なんかかなり頭悪い人?
もし仮に「ほとんどの場合」コードの簡潔さがパフォーマンスに貢献するのなら、
あえて「複雑に」書く意味がどこにあるんだ、って話になる。
733:デフォルトの名無しさん
09/10/02 23:27:39
複雑に書かないと効率的にならない言語はダメな言語。
734:デフォルトの名無しさん
09/10/02 23:28:21
>>732
残業したいか、ソースの行数で給料が決まるんだろ。
735:デフォルトの名無しさん
09/10/02 23:28:29
関数型言語では基本のソートとしてInsertionSort, 実用的なものとしてMergeSortがよく出てくる
それぞれに対してBubbleSort, QuickSortが出てくる手続き型言語とは対照的だよね
これはprimitiveなcontainerとして, mutableな配列があるかimmutableなlistがあるかの違いなのかな?
736:デフォルトの名無しさん
09/10/02 23:29:08
皆さんってどんな言語習得されてるんですか?
737:デフォルトの名無しさん
09/10/02 23:30:47
HTML
738:デフォルトの名無しさん
09/10/02 23:35:45
>>730
簡潔で遅い例
qsort [] = []
qsort (x:xs) = qsort [a|a<-xs,a<=x]++[x]++qsort [a|a<-xs,a>x]
複雑で速い例
URLリンク(groups.google.co.jp)
739:デフォルトの名無しさん
09/10/02 23:40:31
簡潔さを重要視したコードと、それ以外の何かを重要視したコードは
たいてい別のコードになる
実行速度についてもしかり
740:デフォルトの名無しさん
09/10/02 23:43:06
天才ちんこ先生の意見
URLリンク(d.hatena.ne.jp)
741:デフォルトの名無しさん
09/10/02 23:43:24
素数判定とか簡潔に書いたら恐ろしく遅くなると思う
742:デフォルトの名無しさん
09/10/02 23:44:20
short codingとかでとんでもない短さにできるC言語は
開発効率がめちゃくちゃ高いことになる
しかも、そうやって書いたコードの速度もRubyより速いだろうな
743:デフォルトの名無しさん
09/10/02 23:44:32
簡潔さと実行速度はトレードオフになる事が多いんだろうけど、
シーソーや天秤のようにきっちりしたトレードオフでもないような気がする。
ちょっとした工夫で、ちょっとだけ簡潔さをガマンすれば、
実行速度が驚くほど速くなったりすることは良くあるから。
744:デフォルトの名無しさん
09/10/02 23:45:52
結局速度と簡潔さのバランスが取れているOCamlやScalaやLispが最強という結論だな
745:デフォルトの名無しさん
09/10/02 23:47:10
OCamlは簡潔だというけど、何か見た目が汚い気がする
Haskellの方が美しく見える
記号がたくさんあってごちゃごちゃしてるとかそういう視点で
746:デフォルトの名無しさん
09/10/02 23:48:51
簡潔さなんて、プログラミングに5分しかかけられないような場合じゃなければ、価値はない。
747:デフォルトの名無しさん
09/10/02 23:49:41
素人考えでは、Haskell のコンパイラに
Burstall-Darlington Transformation の機能が組み込まれてたら、
ソースを簡潔に保ったまま処理速度を速められるんだけど、
やっぱ難しいのだろうか。
748:デフォルトの名無しさん
09/10/02 23:49:43
>>746
いや、簡潔なほうが見やすいし、わかりやすいことが多いよ
749:デフォルトの名無しさん
09/10/02 23:50:51
勉強なります。
750:デフォルトの名無しさん
09/10/02 23:52:31
>>748
じゃあ、文法の小さいCは、簡潔だし、実行速度も速いから、それ以外の言語は不要だな。
751:デフォルトの名無しさん
09/10/02 23:53:40
>>750
Cで書いたソースコードは別に簡潔ではないよ
Javaに比べれば簡潔なのかもしれないが
752:デフォルトの名無しさん
09/10/02 23:54:49
お前の主観は聞いてない。
753:デフォルトの名無しさん
09/10/02 23:58:07
とりあえず、>>720では別に簡潔ではない
754:デフォルトの名無しさん
09/10/02 23:58:54
言語仕様が小さいから短期間の学習で理解できる。
実行されることがソースに直接表れるから何が行われるのか理解しやすい。
以上の理由からCのソースは可読性が高い。
簡潔さより可読性の方が重要だ。
755:デフォルトの名無しさん
09/10/02 23:59:17
Javascriptが意外とすごい件
Pythonより優れてね?
756:デフォルトの名無しさん
09/10/03 00:00:54
以外じゃないし。
757:デフォルトの名無しさん
09/10/03 00:01:14
Cが可読性が高いってのは、慣れてる人間が多いというのも
関係してるだろ
本当に可読性が高いかどうかは疑問が残る
例としては、多くの言語に見られるforeach(for ~in)の方が、
Cのforループより可読性は高い
758:デフォルトの名無しさん
09/10/03 00:01:45
なるほど、ふむふむ・・・。
759:デフォルトの名無しさん
09/10/03 00:04:54
部分だけ比べても意味がない。
forがあるのにforeachなんかがあるから文法が大きくなる。
文法が大きくなれば習得に時間がかかる。
習得に時間がかかれば、十分理解する前にソースを読まざる負えない可能性が増える。
十分理解する前にソースを読めば誤読の可能性が高まる。
誤読の可能性が高ければ、すなわち可読性は低い。
760:デフォルトの名無しさん
09/10/03 00:06:30
foreachを学習する5分の時間をケチる馬鹿にとってはそうかもしれない
761:デフォルトの名無しさん
09/10/03 00:07:32
>>759
brainfuckは文法が小さく、習得に時間がかからないから可読性は高いYO!
762:デフォルトの名無しさん
09/10/03 00:08:39
学習に5分の項目が100個あればすべて学習するのに500分かかる。
100個目を学習しているときには、それ以前に学習した99個のうち95個は忘れている。
すべて覚えるのには膨大な時間がかかる。
763:デフォルトの名無しさん
09/10/03 00:09:50
>>762
たかが8時間だね
そのくらいをケチる人ってどのくらいいるんだろう
764:デフォルトの名無しさん
09/10/03 00:09:58
でた名言・・・。
765:デフォルトの名無しさん
09/10/03 00:11:47
一つの言語を覚えるんだろう
8時間なんて、かかって当たり前では?
そもそもforeachなんて100個のうちでも優先順位はかなり高いほうな
上に、たいていの言語に備わってる機能だから、知ってて当然だと思うが
766:デフォルトの名無しさん
09/10/03 00:12:36
文章の1行目しか読めない人間って生きていて楽しいのかな。
767:デフォルトの名無しさん
09/10/03 00:13:23
95個は忘れてるってのは大げさだね
多めに見積もっても忘れてるのは50個程度
しかもその50個は次は半分の時間で学習できる
768:デフォルトの名無しさん
09/10/03 00:14:43
foreach程度の基礎的なありふれた機能が可読性の障害になるほど
学習コストを上げるとは思えんな
769:デフォルトの名無しさん
09/10/03 00:15:38
foreachの方が遥かに簡単だから
先にforeach知ってればforなんて滅多に使わなくなるのかもな
770:デフォルトの名無しさん
09/10/03 00:16:01
C/C++はデータ構造と言えるものが配列と構造体くらいしかない(文字列すら無い!)から、
例えばハッシュを使いたいと思ったらライブラリの仕様と使い方を覚えなきゃいけないでしょ。
人によって使ってるハッシュライブラリが違ったりすると、それもソースの読解を(少なくとも
一時的には)妨げることになる。
そういうの考えると、言語仕様がコンパクトだからって必ずしも可読性が高いとも学習時間が
少なくなるとも言えないと思うんだけど。
>>759こそ、部分的な事しか見えてないんじゃないかと。
まぁそれはともかく、個人的には速度が全て。C/C++最高!
771:デフォルトの名無しさん
09/10/03 00:17:56
つまり、foreachは簡単だから5分で学習できるが、その他の機能の学習はもっとかかるということだな。
それじゃあ100項目学習の1サイクル500分でも全く足りないな。
全部覚えるのは途方もない。
772:デフォルトの名無しさん
09/10/03 00:18:57
昔の人は、はじめてC言語を見た時、「なんだこの#includeとかいう意味不明な文は!
mianってなんだ!?Basicではprint一行なのに!なんて複雑な言語なんだ!」
という感想を持ったらしい
773:デフォルトの名無しさん
09/10/03 00:20:07
>>771
「その他の機能」にC言語のfor文が入るのでは?
774:デフォルトの名無しさん
09/10/03 00:20:34
>>772
Cの文法は小さいからその後すぐに覚えるけどな。
775:デフォルトの名無しさん
09/10/03 00:21:01
文法の小ささならbrainfuckの方が小さいんだが
776:デフォルトの名無しさん
09/10/03 00:23:03
そもそも、Cの文法は小さくないと思うが。
777:デフォルトの名無しさん
09/10/03 00:25:14
文法の事ばかり挙がるけど、意味論の事も時々思い出してあげてね
778:デフォルトの名無しさん
09/10/03 00:27:19
>>776
なら、Cより文法が小さい言語を挙げてみろよ。
実用を全く想定していないネタ言語以外でな。
779:デフォルトの名無しさん
09/10/03 00:31:23
Scheme、Forth、Smalltalk、Arc、Io、Ruby・・・
780:デフォルトの名無しさん
09/10/03 00:33:31
規格書のページ数で言えば
Haskell98もA4で200ページないな
ちなみにC89で500ページ以上
781:デフォルトの名無しさん
09/10/03 00:35:13
それ全部ネタ言語wwww
782:デフォルトの名無しさん
09/10/03 00:35:49
>>778
逆に、Cより文法が複雑な言語を挙げてくれ。
おれは、C++とObjectiveCぐらいしか思い浮かばない。
783:デフォルトの名無しさん
09/10/03 00:37:03
>>781
どれもまじめに実用を考えてる言語だよ
784:デフォルトの名無しさん
09/10/03 00:37:11
まあ、分かりやすくて速いCが最強ってこと。
785:デフォルトの名無しさん
09/10/03 00:37:35
Adaとか
786:デフォルトの名無しさん
09/10/03 00:39:35
>>782
Common Lispを忘れてはいけない
実はC++98よりデカかったりするぞ
787:デフォルトの名無しさん
09/10/03 00:41:43
Schemeも最強に近いが、残念ながら速度の面でCには勝てない。
788:デフォルトの名無しさん
09/10/03 00:42:56
Cは速度は最速に近いな
Fortranに負けるぐらいか
789:デフォルトの名無しさん
09/10/03 00:43:11
なるほど・・・
790:デフォルトの名無しさん
09/10/03 00:43:17
使うのはIntel 「C++」 Compilerだけどな
流石にC89では貧弱すぎる
791:デフォルトの名無しさん
09/10/03 00:44:12
>>778,782
文法の複雑さはどうやって比べるの?
EBNF で表現した時の記述量なの?
792:デフォルトの名無しさん
09/10/03 00:47:37
>>787
つstalin
793:デフォルトの名無しさん
09/10/03 00:49:13
柔軟性の高い言語・・・Common Lisp
速度の速い言語・・・Fortran、C
可読性の高い言語・・・Ruby、Python
コンテストで強い言語・・・Haskell、C++
ネタ言語、あまりにマイナーな言語は除く
794:デフォルトの名無しさん
09/10/03 00:51:49
コンテストって何だよw
795:デフォルトの名無しさん
09/10/03 00:52:19
見栄を張るのに最適な言語・・・Haskell
信者がウザイ言語・・・Scala・C
796:デフォルトの名無しさん
09/10/03 00:53:57
ACM国際大学対抗プログラミングコンテストとかだろjk
797:デフォルトの名無しさん
09/10/03 00:54:58
じゃあCでいいや。
798:デフォルトの名無しさん
09/10/03 00:55:38
信者がウザいのはどんな言語でも同じだろう
799:デフォルトの名無しさん
09/10/03 01:08:57
そもそもウザさを見出して、その性質に対してつける呼称だからな。
むしろウザくもない相手を信者とか呼ぶ奴がいたら、そいつがおかしい。
800:デフォルトの名無しさん
09/10/03 01:11:04
お前、信者を馬鹿にしすぎじゃね?
立派な人格の信者だって世の中にはたくさんいるんだぜ?
801:デフォルトの名無しさん
09/10/03 01:27:05
とりあえずNULLが存在する言語は全部消えろ
それから型があるのに型安全じゃない言語も去れ
残るのはHaskellとOCamlだけ
802:デフォルトの名無しさん
09/10/03 01:27:48
Ioが美しいと思うんだ。
予約語の数的に。
803:デフォルトの名無しさん
09/10/03 01:30:22
>>801
Brainfuckお勧め
804:デフォルトの名無しさん
09/10/03 01:31:50
>>801
パスカルにはヌルがない
型は絶対
完璧だ
805:デフォルトの名無しさん
09/10/03 01:51:06
>>804
NULLがなくてもnilがあるじゃねぇかwww
806:デフォルトの名無しさん
09/10/03 02:16:09
マシン語書ける奴が勝ち組
807:デフォルトの名無しさん
09/10/03 02:18:04
マシン語はポータビリティーに欠けるのが最大の欠点
808:デフォルトの名無しさん
09/10/03 02:19:14
>>800
実際の宗教の信者の話にすり替えてないか?w
この場合の、他者に貼るレッテルとしての「信者」は、鼻につく盲愛への悪口であって、
ウザさを見てそれから呼称を「持ってくる」わけだから、宿命的にウザいよ。
809:デフォルトの名無しさん
09/10/03 02:22:28
俺は別に鼻につかなくても熱烈な支持者は信者と呼んでたよ
810:デフォルトの名無しさん
09/10/03 02:26:20
まぁ用法が拡張されつつあるのは事実。
「厨」なんかも、○○が好きってだけで、自分から「俺は○○厨なんだけど・・・」って
話し出す奴もいるしね。
でも他人のことは安易にそう呼ばないほうがいいよ。「基本は悪口」ってのはまだ生きてるから。
811:デフォルトの名無しさん
09/10/03 02:46:36
代数的データ型がない言語なんて最早ゴミ
812:デフォルトの名無しさん
09/10/03 04:00:31
可読性はできるだけ高級な言語の方が高いよ。 C は低級だ。
ソースを読む苦労に比べたら、言語を習得する苦労なんてタカが知れている。
文法にはどんなに複雑な概念を導入しても構わないから、ソースを読み易くして欲しいな。
813:デフォルトの名無しさん
09/10/03 05:05:10
マジレスすると、文芸的プログラミングがもっと評価されるべき。
これはオブジェクトリテラルや関数リテラルやヒアドキュメントなんかと同じ。
知りたいことがその場に書かれていて、いちいち他の場所を参照しなくて良い
という事は明らかに可読性が高い。
日本語とか英語とかを習得する苦労は大きいが、やるだけの価値がある。
814:デフォルトの名無しさん
09/10/03 09:16:43
>知りたいことがその場に書かれていて、いちいち他の場所を参照しなくて良い
ああ、こういう考えのやつがくそ長いメソッド書いて平気な顔してるのか
815:デフォルトの名無しさん
09/10/03 09:29:54
糞長いメソッド書いたら「知りたいことがその場に書かれている」状態は作りにくくなると思うが
816:デフォルトの名無しさん
09/10/03 09:37:52
メソッドを短くしたら、別のメソッドまで中身を参照しにいかないといけない
817:デフォルトの名無しさん
09/10/03 10:16:42
糞長いメソッドw
スレリンク(tech板:730番)
818:ちんこ ◆GbXlaaQNk.
09/10/03 10:24:00
変数やメソッドにはその意味を的確に表現する名前をつけてください。
「実装パターン」などに書いてあります。
おれは、君たちのようなゴミプログラマと一緒に働く気はありません。
君たちはゴミ同然です。パフォーマンスに対する意識から何から、付き合いきれません。
死んでください。
819:デフォルトの名無しさん
09/10/03 10:32:08
Implementation Patternsは200ページ無い癖に4000円以上するボッタ本
というかKent Beck自体がセミナーでボってる詐欺師
820:ちんこ ◆GbXlaaQNk.
09/10/03 10:40:23
日本語版が出てる。
それは4000円もしない。
あと、書いてある内容からすれば、4000円なんてゴミみたいなものだ。
よい開発者は、自分のスキルを伸ばすことを真剣に考える。
また、おれは、プログラミング以外でも、本への投資は惜しまないことにしている。
本ほどコスパのよいものはないよ。
そういうのを「高い」と思う人間は、低レベルの人間。
質という概念を理解出来ない、ゴミ。
Kent Beckは神だよ。
彼のいうことは大抵正しい。おれは彼のようになりたい。
821:デフォルトの名無しさん
09/10/03 10:50:52
>>820
「正しい」とはどういうことか?
822:ちんこ ◆GbXlaaQNk.
09/10/03 10:53:07
なるほど、それはおれが「正しいことをすべて知ってる」ということを前提にしていますね。
「間違ってるようには見えない」の間違いでした。訂正します。
823:デフォルトの名無しさん
09/10/03 11:02:42
アランかなんかの本の中に、この本に書いてあることはすべて正しいと
して読むとよい、と書いてあった。ドキュマンではなくモニュマンとして
読むのだそうだ。
824:デフォルトの名無しさん
09/10/03 11:08:38
>>818
そんなことに囚われるなよ。黄庭堅の草書のようにプログラムするのが
美しいに決まってるじゃないか。
825:ちんこ ◆GbXlaaQNk.
09/10/03 11:18:26
適切な名前は、先行投資です。
確かに、短く書いた方が、その場では速いと思うでしょうけど、あとになって必ず後悔します。
ただし、書いてる時は、自分の頭の中に論理がきちんと構成されていたりして、とにかくロジックを書くことに集中したい時もあるでしょうから、
とりあえず保留して、ロジックを書き終わったあとで自動リファクタリングでrenameするという手法をとっています。
頭の悪い人は、先行投資という概念が理解出来ていないのかも知れません。彼らは常に目先の利益にばかりとらわれます。
頭の良い人は常に先行投資することを惜しみません。
何の本だか忘れましたが、5時間かけて、何かを作る時に、
4時間と55分かけてそれを行うための道具を作って、5分で組み立てるのが優秀な人だそうです。
そして、5時間かけて、書き散らすのがバカな人だそうです。
あなたがたは大抵後者でしょう。おれは前者です。先行投資の重要さを知っています。
囲碁においても、頭の悪い人は、「厚み」という概念を理解出来ません。
826:デフォルトの名無しさん
09/10/03 11:23:20
見下した書き方をするのは頭の悪い証拠だな
本当に頭の良い奴は相手を見下しても表向きは見下さない
827:デフォルトの名無しさん
09/10/03 11:32:37
ちんこには俺が憧れるものが何もないや
828:ちんこ ◆GbXlaaQNk.
09/10/03 11:32:39
>>826
それは検証不可能ですよ。
829:デフォルトの名無しさん
09/10/03 12:14:19
ちんこは相手の気持ちを考えて言葉を選ぶという能力の不足から、
良き親、指導者、先生といったものにはなれないと思う。
せっかく確固たる哲学を持っているし、
言っていることの本質には学ぶべきものも多いのに、
勿体ない。
830:デフォルトの名無しさん
09/10/03 12:27:08
噂で聞いたんですがこの人が噂のちんこさんですかぁ。
すげぇ。
831:デフォルトの名無しさん
09/10/03 12:35:24
哲学はさておき数学的には
点、線、平面と言うかわりに、テーブル、椅子、ビアジョッキと言ったっていいんだ
832:デフォルトの名無しさん
09/10/03 13:26:07
まぁちんこには新しい言語、パラダイムなんか作り上げることは絶対に無理だな
頭が固すぎる、他の関数型言語も理解出来ないなんてはっきりいって無能
せいぜいJavaだけで満足してれ
つーかそっから出ないでくれ、周りの迷惑だ
833:デフォルトの名無しさん
09/10/03 13:27:38
ちんこって学科は何だったんですか?
834:デフォルトの名無しさん
09/10/03 13:28:44
500円しか回収できないところに、500万円投資するバカも居るからな。
先行投資は悪くないが、投資効果を見極められない無能がやみくもにやったら逆効果だ。
835:デフォルトの名無しさん
09/10/03 13:37:44
URLリンク(local.joelonsoftware.com)スクールの危険
836:デフォルトの名無しさん
09/10/03 13:55:19
名前の重要度は有効範囲の広さに比例する。
有効範囲が広いと、定義した場所と使う場所が遠くなるので名前が重要。
逆に、定義した場所と使う場所が同じなら、名前を考える意味はない。
837:デフォルトの名無しさん
09/10/03 13:59:19
説明が必要な変数であれば、定義した場所と使う場所が同じであるかないかにかかわらず、名前を考える必要が十分にある。
838:デフォルトの名無しさん
09/10/03 14:13:09
>>837
定義した場所と使う場所が同じで、かつ
説明が必要な変数で、かつ
コメントによる説明では足りずに名前を考える必要がある変数
というのは例えばどういったものが挙げられるでしょうか。
839:デフォルトの名無しさん
09/10/03 14:26:39
>>838
double a = data[1]; //体重(kg)
double b = data[2]; //身長(m)
double c = a/(b*b); //BMI
---------------------
double weight_kg = data[1];
double height_m = data[2];
double bmi = weight_kg/((height_m)*(height_m));
840:デフォルトの名無しさん
09/10/03 16:29:48
>>839
その例では、名前の重要度を問題にするほど2つに差は無いように感じます。
名前の重要度を問題にするのは、それが可読性の高さに繋がるからだと思いますが、
その2つの例はどちらが可読性が高いかと議論するレベルのものでしょうか。
コメントの方を好む人、変数名の方を好む人、
どちらの例も単に好みの問題として片付けられると思います。
試しに訊きますが、前者のコメントでは読み手に伝わらない、
読み手に伝わりにくい情報というのは何でしょうか?
841:デフォルトの名無しさん
09/10/03 17:00:29
>>832
ちんこは昨年に比べると格段に進歩している。
プログラミングに関する定石を知らず、独自に発想しているあたり
かなり頭が良いと思う。
Javaから入ったので相当な遠回りをしているし
プログラミング経験の少なさから視野も狭いが、
そのうちきっと凄いものを作ると思う。
俺はブログを読んでちんこの凄さがよくわかった。
842:デフォルトの名無しさん
09/10/03 17:13:07
>>840
ローカル変数は全部1文字で、説明は全部コメントとして書けばいいと思うよ^^
頑張ってね。
843:デフォルトの名無しさん
09/10/03 17:16:56
ちんこ ◆GbXlaaQNk.はネ申。
844:デフォルトの名無しさん
09/10/03 17:28:16
>>842
いや、私がその書き方で頑張るかどうかなんてのは、どうでもいいんです。
そうではなく、挙げられた例が私の >>838 の条件を満たすかを考えてみてください。
私は最後の「コメントによる説明では足りずに」という部分が
この例では不足している感じがします。
つまり、この例ではコメントによる説明でも十分事足りると感じます。
>>842 は前者のコメントによる説明では、
身長と体重から BMI 値を計算していることは読み取りにくいのでしょうか。
ここにいるほとんどの人が、
前者だけを見せられても、後者だけをみせられても、
どちらも同じ情報を同じような時間で読み取れると思うのですが。
845:デフォルトの名無しさん
09/10/03 17:31:05
ちんこ ◆GbXlaaQNkリスペクト!!
846:デフォルトの名無しさん
09/10/03 17:33:19
そもそも「コメントによる説明では足りずに」なんてどこから出てきたんだろうね。
847:デフォルトの名無しさん
09/10/03 17:36:12
>>844
そうそう。
説明を全部コメント文に書けば、ローカル変数は全部1文字でいいよね^^
それでいいと思うよ^^
848:デフォルトの名無しさん
09/10/03 17:43:04
>>846
もちろん私が勝手に付けた条件です。
それを理解した上での >>839 の例だと思います。
何故その条件を追加したのかと言いますと、
>>837 の >>836 への反論を読み、確かにされも一理あると思いました。
そこで、もしコメントから十分な情報が比較的簡単に得られるのなら
(ここでいう簡単というのは、すぐに理解できるという意味です)
それでもやはり説明が必要な変数なら名前を考える必要が十分にあるか
を訊きたいと思いました。
もし、コメントで十分なのであれば、
変数名による説明とコメントによる説明は、
「定義した場所と使う場所が同じな説明が必要な変数」
に対してプログラマがすべき事としては本質的に同じ事で、
後は本人の好みやチームの方針次第ということにならないでしょうか。
849:デフォルトの名無しさん
09/10/03 17:45:10
お好きにどうぞ。
850:デフォルトの名無しさん
09/10/03 20:29:41
コメントの様式は言語の規格外だし・・・。
関数名と変数を全部覆面にして、このアルゴリズムは
何と、何と、何に利用されるか当てることは、かなり
難しいことなのではないかと。
851:ちんこ ◆GbXlaaQNk.
09/10/03 20:31:25
>>829
おれは教授になる気はない。
ただし、メンターになる気はある。
ソフトウェアを正しい方向に導くモーゼになりたい。
>>833
電気です。
名前について:
ダメなメソッド名をコメントでごまかすことは出来ないといいます。
おれはそう思います。
基本的にコメントなど書かない方がいいのです。
変数やメソッド名が如実に、何をするかを表していれば済む問題です。
コメントが仮に一ヶ所に書いてあったとして、その場でその変数が何を表しているかが分かったとします。
しかし、その暗号的な変数は定義されておしまいではありません。
なので、適切な名前をつける必要があります。
JUnitのソースコードを見たことがあるような気がしますが、衝撃を受けました。
>>839
の上段みたいなコードを書く人がいたら、殺します。
>>840
書いたとおりです。悪いメソッド名を伝搬させないでください。
変数は他の変数やメソッドとのコンビネーションによって価値を提供します。
>>841
あなたはかなり以上に頭が良くない人間が麻布中学に合格出来ると思っているのですか?
おれはまぎれもない天才です。
で、定石って何?あなたはおれより良いソフトウェアが書ける気でいるのですか?おれはすでに日本一だという気持ちなのですが。
852:デフォルトの名無しさん
09/10/03 20:54:19
俺は東大でてるから、同級生や先輩後輩に麻布出身者は何人かいる。
まあ、勉強ができるというか、マメで勉強の要領がいい反面、
思い込みが激しく、自分の知識の枠から外れることのできない
性格の人が多い印象がある。
優秀で尊敬する先輩も中にはいたが、卒業後10年すぎて立場が逆転し、
先輩から敬語で話しかけられたときには衝撃を受けた。
中学、高校の栄光にしがみついてるようじゃ、凡人にしかなれない。
853:デフォルトの名無しさん
09/10/03 20:59:28
プログラミング言語の美しさとは何の関係もないと思われる
854:ちんこ ◆GbXlaaQNk.
09/10/03 21:18:38
>>852
あなたが東大を出ていることは嘘です。
最後の文以外の文章と最後の文には、何の繋がりもありません。
東大卒の人間がそんな文章を書くはずがありません。
855:デフォルトの名無しさん
09/10/03 21:19:53
>>851
なるほど、確かにそうですね。
>>842 なんて言われるのとは違い、説得力有ります。
変数名が重要になる場面は多くあるのは経験しているのですが、
ただ、>>839 の上段のようなコードは、
まさにその定義されてお終いで済んでしまう変数だと思うのですが。
「定義した場所と使う場所が同じ」というのはテンポラリ変数の典型で、
>>839 の上段のようなコードの変数はそれに該当しないでしょうか。
>>839 の例は >>838 の質問に対する例としては不適切だと思います。
>>850
極端すぎます。
それを言うなら、難解なアルゴリズムの実装において
変数名は叙述的なのにコメントが一切無い場合も、
何と、何と、何に「どのように」利用されるか当てることも、かなり
難しいことなのではないかと。
856:850
09/10/03 21:24:38
>>855
「何に」しか、使われないかがはっきりすると思うけど。
857:デフォルトの名無しさん
09/10/03 21:29:10
>>856
ごめんなさい、正直どのような意味の反論なのか分からないです。
私があなたの発言を極端だと言ったことへの反論でしょうか。
それとも、あなたの極端な発言に極端な発言で返した事への反論でしょうか。
そろとも、私の極端な発言の内容に関する反論でしょうか。
いずれにしても、もう少し説明を増やして頂けると助かります。
858:ちんこ ◆GbXlaaQNk.
09/10/03 21:35:16
>>855
まず、数値というのは無単位です。
なので、
>>839
のコードは抽象化というものが全く分かっていない人のコードです。
数学や物理を学んでいない人がコードを書くとこうなります。
さて、このコードですが、
名前をつけないのであれば、dataからデータを引っ張る意味が分かりません。
「明示的な名前をつけるために変数を抽出する」というリファクタリングがあります。
また、cは使い捨てではありません。cはこれから活用されるべき変数です。
なので、解答としては、
1. 変数を用意するのであれば適切な名前をつけてください。
2. そうでなければ、変数を抽出しないでください。
です。
しかし、一般的には、適切な名前をつけてあげた方がいいです。
おれが、一般的に許せるのは、ループのi, j,kまでです。
他は全部名前をつけます。
十分に短くて正しい名前をつけれない人は、
1. 凝集度の低いメソッドを書いている。
2. 抽象というものが分かっていない。
3. 英語能力が足りない。
のどれかだと思います。
的確な名前であれば、長くても一瞬で読めます。
それはちゃんとした英語だからです。
テンポラリだからといって、tmpとかいう名前をつけるのはやめてください。
というのはどこかに書いてあった気がしますが忘れました。
859:デフォルトの名無しさん
09/10/03 21:35:17
>>855
だから、局所的なコードなら、コメントで説明できれば、変数名はどうでもいいって。
何か異論あるの?
860:デフォルトの名無しさん
09/10/03 21:36:49
>>855
お疲れ様です。
お前らーーー!!
ちんこ様に失礼じゃねぇかよオラー
861:デフォルトの名無しさん
09/10/03 21:45:38
>>857
_顧客番号 + _出荷日 + _商品番号 + _数量 :- ... .
というPrologのコードは
A + B + C + D :- ... .
である必要はありませんね。むしろ汎用性がないコードですから、
縛らねばなりません。組み合わせアルゴリズムのように汎用な
アルゴリズムは確かに多数存在しますが、実は、ごくごく一部ですね。
862:デフォルトの名無しさん
09/10/03 21:50:54
>_顧客番号 + _出荷日 + _商品番号 + _数量 :- ... .
>というPrologのコードは
>A + B + C + D :- ... .
>である必要はありませんね。
そうだね。
>むしろ汎用性がないコードですから、
前者がね。
>縛らねばなりません。
どういう意味?
>組み合わせアルゴリズムのように汎用な
>アルゴリズムは確かに多数存在しますが、実は、ごくごく一部ですね。
何が「ごくごく一部」なの?
863:デフォルトの名無しさん
09/10/03 21:54:35
>>858
> 名前をつけないのであれば、dataからデータを引っ張る意味が分かりません。
なるほど納得、確かにその通りです。
解答としては・・・の部分は分かりやすい標語です。
その2つを守っていれば変数に対するコメントは不要であるということですね。
いろいろ参考になりました。
ありがとうございます。
こんなに分かりやすく簡潔に説明できる人なのに、
どうして >>851 の最後のように相手の癇に障る物言いをしてしまうのでしょうか。
864:デフォルトの名無しさん
09/10/03 22:18:38
バカだからな
865:デフォルトの名無しさん
09/10/03 22:20:57
>>861
やはり、まだよくわかりません。
Prolog を全く知らないせいでしょうか。
>>856 の読点の前は、はっきりするのは「何に」だけだ、
と言っているのですよね。
読点の後ろは、「使われる or 使われない」のどちらなのかがはっきりする
と言っているのですよね。
この「何に」の主語(主部)はお互いの暗黙の了解で「変数が」ですよね。
どのようにすると「はっきりする」のかの部分が曖昧なので
いまいち私のどの部分に対するどのような反論なのかが分からないのです。
あなたの言うように関数名と変数を全部覆面にしてもはっきりするが、
私のようにコメントを一切なくしたらはっきりしない、ということでしょうか。
何を変なことを言ってるのか、馬鹿にしてるのかと思われるかもしれませんが、
本当に文章の構造や意味のレベルから全く分からないのです、すいません。
866:デフォルトの名無しさん
09/10/03 22:26:47
今から言うちんこさんの発言にみんな耳を傾けること
867:デフォルトの名無しさん
09/10/03 22:28:36
>>862
Prologの論理変数は型付けがありません。それで、
顧客番号 A + 出荷日 B + 商品番号 C + 数量 D :- ... .
とは書けません。
_顧客番号 + _出荷日 + _商品番号 + _数量 :- ... .
A + B + C + D :- ... .
は等価だと考えますが、この型情報に近い情報をプログラムソースの読み手に
与えようとしているのが、前者ですね。
我々が共有しているアルゴリズムとして(_+_+_+) :- が存在している訳では
ないよという宣言でもあるため、これを縛ると表現したのです。
868:デフォルトの名無しさん
09/10/03 22:34:41
>>867
> Prologの論理変数は型付けがありません。それで、
> 顧客番号 A + 出荷日 B + 商品番号 C + 数量 D :- ... .
> とは書けません。
そうだね。
> _顧客番号 + _出荷日 + _商品番号 + _数量 :- ... .
> A + B + C + D :- ... .
> は等価だと考えますが、
そうだね。
>この型情報に近い情報をプログラムソースの読み手に
> 与えようとしているのが、前者ですね。
そうだね。
> 我々が共有しているアルゴリズムとして(_+_+_+) :- が存在している訳では
> ないよという宣言でもあるため、
「存在している訳ではない」「宣言」の意味がわからない。
>これを縛ると表現したのです。
「存在している訳ではない」と「宣言」することを「縛る」と定義したの?
869:デフォルトの名無しさん
09/10/03 22:40:28
(_+_+_) :- という頭部を持つ述語は商品売上入力にしか使わないよ
という宣言になっていませんか。
870:デフォルトの名無しさん
09/10/03 22:49:23
>>869
何が?
871:デフォルトの名無しさん
09/10/03 22:56:40
>>869
疑問が二つ。
(1)何故「(_+_+_) :- という頭部を持つ述語」が「商品売上入力にしか使わないよ」という宣言になっているのかわからない。
(2)何が「(_+_+_) :- という頭部を持つ述語は商品売上入力にしか使わないよ」という宣言になっているのかわからない。
872:デフォルトの名無しさん
09/10/03 22:58:03
_顧客番号 + _出荷日 + _商品番号 + _数量
と書いてしまうことですね。
「縛る」や「宣言」と言葉が適切でないとは思います。
873:デフォルトの名無しさん
09/10/03 23:03:39
>>871
プログラムソースの読み手との間に
_顧客番号 + _出荷日 + _商品番号 + _数量 と情報がならべば、
それは、商品売上入力のパターンであるという共有する知識があると
いうことですね。
874:デフォルトの名無しさん
09/10/03 23:11:31
どのように使うのかというと、インタプリタのトップから
?- 137010500015+0930+0110+26.4.
のように入力します。35年前、紙テープベースのコンピュータで
入力していた時と行末にピリオドあることを除けば変わりありません。
アセンブラ->簡易言語->COBOL->Prolog と言語は変遷しましたが。
875:デフォルトの名無しさん
09/10/03 23:24:11
で、何の話だったっけ?
876:デフォルトの名無しさん
09/10/03 23:35:18
最も美しいプログラミング言語は?
877:デフォルトの名無しさん
09/10/03 23:36:09
C
878:ちんこ ◆GbXlaaQNk.
09/10/03 23:39:40
Scala
879:デフォルトの名無しさん
09/10/03 23:56:48
Scalaのソースの見た目はあんまり美しくないよ
Haskellに劣る
880:ちんこ ◆GbXlaaQNk.
09/10/04 00:02:34
>>879
それはあなたの書き方が悪いからです。
881:デフォルトの名無しさん
09/10/04 00:04:05
言語名だけを提示されても、
それのどこがどう美しいと思うのかが分かりません。
また、何を以て美しさの尺度としているのかも同時に示してくれないと、
議論がしにくいです。
882:デフォルトの名無しさん
09/10/04 00:05:50
ちんこ師匠の言うことはみんな従え・・・。
883:デフォルトの名無しさん
09/10/04 00:06:42
Scalaのクイックソート↓
def quicksort(x: Array[Int]): Array[Int] =
if (x.length <= 1) x
else {
val 基準値 = x(x.length / 2)
Array.concat(
quicksort(x filter (基準値 >)),
x filter (基準値 ==),
quicksort(x filter (基準値 <)))
}
Haskellのクイックソート↓
qsort [] = []
qsort (x:xs) = qsort [a|a<-xs,a<=x]++[x]++qsort [a|a<-xs,a>x]
あー、やっぱHaskellの方がダントツで美しいわ
Scalaは無駄がありすぎてごちゃごちゃしてる
884:デフォルトの名無しさん
09/10/04 00:09:02
次のスレタイ、「ちんこ part3」で良いよね
885:デフォルトの名無しさん
09/10/04 00:11:21
もちろん、ちんこがネ申である以上、否めない・・・
886:デフォルトの名無しさん
09/10/04 00:29:23
>>883
わざとScalaを汚く書いてるな
Haskell版と同等なのは次のコード
def quicksort(x: Array[Int]): Array[Int] =
if (x.length <= 1) x
else {
Array.concat(
quicksort(x filter (x(0) >)), x(0), quicksort(x filter (x(0) <=)))
}
887:デフォルトの名無しさん
09/10/04 00:33:49
>>883 >>886
確かに美しいね
こういうコード見てると、C言語やJavaで書く気がしなくなってくるのもわかる
888:デフォルトの名無しさん
09/10/04 00:43:37
再帰や内包表記が理解できない馬鹿をふるいにかけてくれるから助かる
早く関数型言語が主流になってくれ
889:デフォルトの名無しさん
09/10/04 00:57:56
>>883の比較は、HaskellがScalaよりもクイックソートを簡潔に記述できるとしか言っていない。
一般的にHaskellのコードが美しいなんて結論はそこからは全く出てこない。
これだけを見てCやJavaで書く気がしなくなる奴はバカだろ。
890:デフォルトの名無しさん
09/10/04 01:06:32
そのプログラムを見て、そこに使われている要素にどれだけの
応用があり、背後の思想がどれだけ全体に影響を与えるかを
想像出来ない奴にはそう思えるだろうね
891:デフォルトの名無しさん
09/10/04 01:09:13
リスト操作が簡潔に書けるってだけだろうね。実際のプログラムじゃリスト操作なんてそんなに使わんし。
892:デフォルトの名無しさん
09/10/04 01:15:08
リストが再帰や繰り返しとともに頻繁に現れることも想像できんとはね
893:デフォルトの名無しさん
09/10/04 01:16:42
>>883のHaskellのソースコードの真価はパターンマッチングにある
894:デフォルトの名無しさん
09/10/04 01:19:40
想像ばっかりしてないで、実際にプログラム書けよww
895:デフォルトの名無しさん
09/10/04 01:42:30
ScalaだってList使えばパターンマッチはできる
クイックソート程度じゃHaskellの型推論の方がすごいねーくらいの結論しか出せないと思う
896:デフォルトの名無しさん
09/10/04 01:45:00
>>895
だったら、パターンマッチング使ったquicksort書いて見ろよ
どうせHaskellの美しさには勝てないと思うがなw
897:デフォルトの名無しさん
09/10/04 01:46:28
HaskellってQuicksort専用言語だろw
898:デフォルトの名無しさん
09/10/04 01:47:23
>>883が簡潔になっている秘密は、Haskellはリストの内包表記
Scalaは高階関数と呼ばれる仕組みを使っているから
まあ、俺は高階関数も内包表記も使えない言語を使いたくはないよ
899:デフォルトの名無しさん
09/10/04 01:48:45
使わなくていいよ^^
900:デフォルトの名無しさん
09/10/04 01:50:50
Haskellはむしろ挿入ソート専用言語
insSort = foldr insert []
901:デフォルトの名無しさん
09/10/04 01:56:42
お前らってまだソート自作してるの?
902:デフォルトの名無しさん
09/10/04 01:57:15
例として出されてるだけだろ
903:デフォルトの名無しさん
09/10/04 01:57:57
Haskell
フィボナッチ数列
fib = 1:1:zipWith (+) fib (tail fib)
素数(エラトステネスのふるい)
primes = sieve [2..]
sieve (x:xs) = x:sieve [a | a<-xs, a `mod` x /= 0]
美しい・・・
904:デフォルトの名無しさん
09/10/04 02:02:12
Haskellって正直何やってるのかさっぱりわからん
本当に可読性高いの?
905:デフォルトの名無しさん
09/10/04 02:03:52
単純なアルゴリズムが簡潔に書けるだけだよ。
大規模なプログラムになると可読性は高くない。というかむしろ低い。
906:デフォルトの名無しさん
09/10/04 02:21:56
Haskellで普通に関数を書くことはなんとかできるんだが
ポイントフリースタイルにしようとすると途端に訳分からなくなる
なんかコツあんの?
907:デフォルトの名無しさん
09/10/04 04:01:15
>>858
> おれが、一般的に許せるのは、ループのi, j,kまでです。
> 他は全部名前をつけます。
時刻は t_<suffix>
力は f_<suffix>
...
で、事足りるんだが
908:ちんこ ◆GbXlaaQNk.
09/10/04 10:14:25
>>907
事足りるんだ「が」、何?
それはあんたの自由でしょ。雑魚が。
909:デフォルトの名無しさん
09/10/04 12:58:31
>>907
そうだぜ
ちんこさんが言ってるんだから間違いねぇ
910:デフォルトの名無しさん
09/10/04 13:10:03
>>909
電気出身だったら数式的にモデル化しようと試みるんじゃないの?
そうすると自然と変数名は短くなったりしないかな?
そのかわりコメントに数式と解説を書く羽目になるけど………
911:デフォルトの名無しさん
09/10/04 13:28:55
>>906
次のどれなんでしょうか。
1. ポイントフリーにしたいけど(自分の力では)できないものがある
2. ポイントフリーにしている最中に何をしているのか分からなくなる
3. (自分で、他人が)ポイントフリーした後のものが見難くて訳分からなくなる
4. その他
何にせよ、もし可能ならここに適当な例を提示して、
これのポイントフリーが~なので訳分からない、などと言って頂けると、
もしかして何かコツなりアドバイスできるかもしれません。
912:デフォルトの名無しさん
09/10/04 13:43:11
>>701は頭つかってないし何も期待できないが、ちんこはあらゆるものを疑って自分で考えてるし、なんかすごいことをしそうな期待感がある
913:デフォルトの名無しさん
09/10/04 13:48:49
このスレでちんこをリスペクトできない奴はスレ違いも当然
ちんこに異論のある奴は出て行ってくれ
914:デフォルトの名無しさん
09/10/04 13:52:38
>>911
3.
915:デフォルトの名無しさん
09/10/04 14:14:18
もう、ちんこすれたてろよw
916:デフォルトの名無しさん
09/10/04 14:37:07
ちんこ勃ってきた
917:デフォルトの名無しさん
09/10/04 15:03:40
ちん擦れはここでおk
スレ鯛からしてちんこだし
918:デフォルトの名無しさん
09/10/04 15:09:54
ちこははべつに隔離してくれw
919:デフォルトの名無しさん
09/10/04 15:12:00
ちんこあってのこの擦れなんだからw
隔離したらこの擦れの意味ないじゃんw
920:デフォルトの名無しさん
09/10/04 15:12:46
「ちんこ ◆GbXlaaQNk」.以外はニセモノだからな・・・
921:デフォルトの名無しさん
09/10/04 15:20:42
>>914
>Haskellで普通に関数を書くことはなんとかできるんだが
ということは、そのポイントフリーにした式は自分で書いたものですよね。
ポイントフリーはリファクタリングの一種であり、
自分でポイントフリーにした後のものが見難いのであれば本末転倒なので、
それはあなたにとってポイントフリーにすべき対象ではないと思います。
それでも敢えてポイントフリーにしたい理由はなんでしょうか。
例えばどのような式をどのようにポイントフリーしたのでしょうか。
訳が分からなくなるのにポイントフリーにしたいのでしたら、
それはもうよく使うパターンの処理の流れを暗記するしかないと思います。
922:デフォルトの名無しさん
09/10/04 15:40:57
ゴミコテしんでくれない?地球のために
923:デフォルトの名無しさん
09/10/04 15:55:50
ゴミコテに相応しいゴミスレ,visa versaだから問題なっしんぐ始対象
924:デフォルトの名無しさん
09/10/04 17:17:37
vice versaのこと?
925:デフォルトの名無しさん
09/10/05 07:11:06
スケーラとかハスケルってハッシュ組み込み?
どやって使うの?
926:デフォルトの名無しさん
09/10/05 12:53:29
>>925
Haskell は GHC のライブラリにあるが、遅いらしい。
URLリンク(flyingfrogblog.blogspot.com)