- 1 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 20:11:42 ]
- どうすればいい?
- 82 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 10:33:28 ]
- >>79
C++とかJavaとかCの延長線上の言語でオブジェクト指向を見ると そう見えるかもしれんね
- 83 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 11:24:39 ]
- >>72
バイナリがやたらでかくなる ネームマングリングの所為でシンボルダンプやスタックトレースが読み辛い
- 84 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 12:26:13 ]
- >>72
技量の低い私にはコンパイラの出力がどーなっているか C は分かっても C++ はわからない。 私のような技量の低いプログラマーを駆逐する方が本来の目的に近づけるのかも。
- 85 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 12:31:12 ]
- >>78
では、「んなもん実装次第」だということを理解しましょう。
- 86 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 17:08:29 ]
- (1)多くのOSがC言語の関数群として表現されている
(2)他言語のコンパイラも多くはC言語で書かれている。 (3)(1,2)を他言語に換装する作業が面倒&標準言語が未定。 個人的にはObjective-Cに興味があります。 (コイツは言語の名称で損していないだろうか?)
- 87 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 17:22:33 ]
- Objective-CってMac専用だろ
その時点でCにとって代わるのは無理
- 88 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 18:46:40 ]
- >>73
そりゃ自分の言語がいろんなプラットフォームで動くようにしたいからでしょ。 だから言語は C でかくか、JavaVM で動かすかのどっちか。 変態系は lisp で書いたりするけど。
- 89 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 19:10:35 ]
- >>87
専用って訳じゃないと思う、、(^^; ttp://wwwa.dcns.ne.jp/~nito/objective-c/answer-17.html 無理なのには同意。objcいいとは思うんだけどね、、
- 90 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 22:28:04 ]
- そんなん過渡期にこういうのありましたよ、って紹介でしか知りません
- 91 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 23:40:28 ]
- >>86
> (1)多くのOSがC言語の関数群として表現されている これは別にどうでもいい要素じゃん。 PascalとかVBからでもAPI呼び出したりできてるし。
- 92 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 23:50:51 ]
- Objective-CってMac専用ってイメージなのか。
俺はずっとNext専用ってイメージしかなかったから、ちょっとびっくり。
- 93 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 05:42:43 ]
- Objective-Cは取り敢えず[]で括るのがキモイ
- 94 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 11:19:20 ]
- C++でガベージコレクション使わんのがある程度Cの代用に
なるんじゃないのか
- 95 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 11:49:29 ]
- 最近はC++の記法の方がキモく感じられるようになった。
Objective-Cはかなり良いのだけど、これ以上広がることはないだろうな、まったく残念ながら。
- 96 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 12:05:21 ]
- ちょっと興味はあるんだが検索してもサンプルコードらしきコードが全然出てこないな
- 97 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 12:16:54 ]
- オブジェクト指向言語の比較
hmdt.jp/oop/index.html ちょっと興味深かった。
- 98 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 12:53:49 ]
- >>86
2 は重要かな? Lisp のコンパイラは大抵 Lisp 自身で書かれているし、 確認していないけど javac は C++ で書かれてるよね? その他、JavaScript のコンパイラは Java, OCaml, SML, JavaScript, C++, etc. で書かれた実装があったと思う。
- 99 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 14:26:14 ]
- 最初のC++コンパイラはCで書くしかないからな
そのコードを捨ててC++で書き直す意味が分からん
- 100 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 14:35:38 ]
- >>99
>最初のC++コンパイラはCで書くしかないからな cfront は C++ で書かれていたらしいが?
- 101 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 14:53:21 ]
- それどうやってコンパイルしたんだろ
手か 俺は絶対に嫌だが
- 102 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 14:55:07 ]
- つ bootstrap
- 103 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 15:00:24 ]
- 我々はもう既にオブジェクト指向から拡張した新たなるパラダイムに接している。
ただ気付いていないだけだ。 Extension Method や Generic を見ているとわかる。 継承と多態では表現できない世界に入り込んでしまっている。 皆さん、新たなるパラダイムにようこそ。
- 104 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 15:09:09 ]
- ここだけ 1990 年代のスレですか?
- 105 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 15:36:58 ]
- JavaChip上でJavaOSが動けばCも捨てられるんだろうけどね
でも結局、最後はマシン語の世界に降りていかないといけないだろうし そうなったら最後は高級アセンブラであるところのCに頼らざるをえない。
- 106 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 15:38:52 ]
- だからもっとまともな高級アセンブラが欲しいって話じゃないのか
- 107 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 15:51:51 ]
- D言語があるじゃまいか!
- 108 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 16:08:58 ]
- 皆に黙殺されるD言語
- 109 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 18:50:50 ]
- 真のオブジェクト指向言語はLOGO
- 110 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 21:40:39 ]
- Objective-D++が有れば最強……かも。
- 111 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 23:01:18 ]
- >99
最初のC++の実装は、確かCへのトランスレータじゃなかったっけかな。 国内でもPC向けのC++実装はトランスレータの時代があった。MIWA C++とかさ。
- 112 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 23:15:47 ]
- C++は生れた時から今までずっと、C with class だろ?
CとC++で、OOなコードを書こうとする時、コード量が増える以外の 違いってあるのかな?
- 113 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 00:11:27 ]
- >>99-101
「最初のC++コンパイラはC with Classesで書かれた」が答えというオチ?
- 114 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 12:10:39 ]
- Zortech C++ のバージョン1使ってたぞ。Cへのトランスレータだった
ちなみに作者はWalter Bright Dの作者でもある
- 115 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 13:35:53 ]
- Zortech C++は最初からトランスレータじゃなくてnative compilerだったと
思うけど。PC向けに国内で初めて手に入ったnative compilerってことで俺も 買って、そして余りのバギーさに枕を濡らした記憶がある。
- 116 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 22:34:49 ]
- 仮想関数があるとパフォーマンス落ちるから継承がある言語はCの代わりにはなれないな。
- 117 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 22:45:17 ]
- パフォーマンス(笑)
- 118 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 22:47:50 ]
- あんたの笑いのツボはよく分からんな
- 119 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 22:50:04 ]
- エンドユーズに限りなく近いデベロッパならC++/C#/Javaで十分ですよ。
Java7はビデオデコード機能がFlashやSilverlightに追いつくらしくて期待してる。 後はゲーム系インタフェースさえ標準化されればJavaだけでいいのに。
- 120 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 22:54:48 ]
- Java(笑)
- 121 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 23:16:42 ]
- 継承無しのクラスに価値はあるのか?
- 122 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 23:18:04 ]
- 継承はクズ。これからは委譲。
- 123 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 23:19:55 ]
- オブジェクト指向を根本から否定かよ。
- 124 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 23:35:13 ]
- >>120
C言語(笑) お前のやってる手法は根拠レスでチープな行為だ。
- 125 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 23:35:35 ]
- なぜ継承がクズかkwsk
- 126 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 23:40:23 ]
- >>123
delegationも立派なオブジェクト指向の手法。継承だけがOOPLじゃないのよ。 >>125 オブジェクトの関係を固定してしまうから変化に弱い。
- 127 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 23:42:18 ]
- >>126
初心者の俺でも分かるようにもっとkwsk
- 128 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 23:52:28 ]
- 仮想関数は実行時に差し替えることができない。だから継承しまくる
デリゲートはそれができる。だから継承いらない
- 129 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 00:19:14 ]
- 処理の委譲とインタフェースの実装はまるで別な機能だろ。
ストリーム関係が継承を必要とする最もたる例だと思うが。
- 130 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 00:22:48 ]
- CとC++/C#/Javaなんて唯の兄弟喧嘩だろ
しかも偉大な兄(C)を越えられない Cを駆逐するなら、全く別のアプローチしか無い
- 131 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 00:26:02 ]
- 超えようと機能を追加していったのがC++で、別のアプローチのつもりが
気がついたらナナメ上だったのがJAVAだと。
- 132 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 00:28:09 ]
- C言語なんてハードウェアよりじゃないかぎり使う方が馬鹿だと思うが。
- 133 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 00:30:32 ]
- つまり Apache はハードウェアよりと…
- 134 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 00:33:34 ]
- ハードウェア寄りじゃ無い場面で、Cの幻影を引き摺ってる言語を使ってる
時点でダメだよな。
- 135 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 00:35:09 ]
- 世間はそう思ってないみたいだが、どうなのよ?
- 136 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 00:37:24 ]
- ちなみに Perl も Python も Ruby も SpiderMonkey も Tcl/Tk も C だよね
- 137 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 00:40:26 ]
- フリーの言語処理系だけ並べられても
- 138 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 00:40:42 ]
- >>134
Java が出なければ SML が主役になる筈だったと言ってる人が居たけど…
- 139 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 00:43:22 ]
- >>137
ハードウェアよりじゃない所で、実装言語を確認出来る良い例だから。
- 140 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 00:46:04 ]
- STLが無いってだけでC言語は糞だろ。
生産性の無い言語は現場から去るべき。
- 141 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 00:47:31 ]
- マルチプラットフォームでパフォーマンスが求められるとどうしてもCになるねえ
しかし、それこそC言語のほうこそ、「FORTRANとCOBOLを完全に駆逐するためには」 とか日頃思ってるんじゃないかな。コンピュータの世界ではCはそんなに独占してる わけじゃないから
- 142 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 00:47:33 ]
- C++が糞じゃなかったらとっくに現場から去ってるって
- 143 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 00:48:26 ]
- PerlとTclはちょっと違うな。
Cも含めた闇鍋風バカ言語。もちろん良い意味で。
- 144 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 00:58:21 ]
- STLが無いと生産性の上らない>>140は現場から・・・
- 145 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 01:00:52 ]
- >>144の苦しい言い訳とか、Cが如何に使えないかよくわかる。
- 146 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 01:01:11 ]
- STLなめんな。
- 147 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 01:03:09 ]
- 未だにテンプレート禁止のところもあるというのに
- 148 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 01:03:22 ]
- ちょ、子供の喧嘩は勘弁な
- 149 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 01:13:09 ]
- >>141
今やCの守備範囲とFortran,COBOLが生き残ってるところは、ほとんど被ってないからなぁ Fortanを駆逐するのは(可能がどうか別にして)Camlでいいと思うが、COBOLは何だろう?
- 150 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 01:13:27 ]
- つーかこの急激なスレの伸びはなんなのよw
- 151 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 01:18:03 ]
- コレクションもなく文字列操作も冗長で正規表現も標準で無いとかふざけすぎ。
エラートラップをするにしてもエラーコードびっしりで冗長極まりない。 例外を使わせろよ。C++みたいにfinallyの無いなんちゃって仕様じゃない奴。
- 152 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 01:29:53 ]
- そこで組み込みスクリプト言語ですよ
- 153 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 02:02:19 ]
- >>151
finallyも使いやすいとは思えないけどな。 C#のusingとかDのscopeとかみたいな仕組みくらいのほうがいい。 C++デストラクタもまああり。
- 154 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 05:06:38 ]
- C++はネイチブ生成の宿命があるのに
その場合エラー専用処理がものすごく非効率って問題が
- 155 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 09:01:09 ]
- >>153
んなもんケースによるだろ。 ケースによるのにfinallyがないのが糞なんだよ。
- 156 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 09:42:43 ]
- finally相当の機能なら、C++/CLIでついたんじゃなかったっけ?
- 157 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 10:34:32 ]
- まるでC++/CLIがC++の後継みたいな言い方だな
- 158 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 13:30:06 ]
- C++/CLIはC++じゃない
- 159 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 15:37:48 ]
- >>150
それだけみんなCに不満もってるってことだ。 総力を挙げて潰さないとこの業界に未来はないよ。
- 160 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 16:04:13 ]
- 形式仕様から、最終的にバイナリコード(FPGAベースのチップ向けの)を
生成する研究が実用化されれば、Cだけでなく、現状のほとんどの言語を使わなくなる。 プログラミングは、「問題領域向けのDSLを記述+DSLで動作記述」になるよ。
- 161 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 20:24:35 ]
- 問題領域向けのDSLを記述+DSLで動作記述
↑ これのコンパイラは結局Cでかかれると。
- 162 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 20:27:14 ]
- 最近は言語処理系は関数型言語か C++ で書くのが流行の様だよ
C++ がもう少しまともだったらな
- 163 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 20:29:28 ]
- コンパイラはリッチな環境の上で動かせるから選択肢の数が全然違う
- 164 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 20:57:24 ]
- C言語で開発しとけばなんかあったとき安心、見たいのがあるのかね?
性能をどうしてもあと10%上げなきゃいけない、なんてときもCなら何とかなるとか。
- 165 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 21:02:28 ]
- Cで書いた所でそれ程ハードルが高くなる訳じゃない
特に拘りがないだけじゃないの
- 166 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 21:33:09 ]
- 俺はCだとハードルかなり高くなる。
それで飛び越えられなくなるわけじゃないとしても、いちいち高めにジャンプしなきゃいけないのがむかつく。
- 167 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 21:47:37 ]
- コンパイラをCで書くとか、嗜虐癖があるとしか思えん
- 168 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 21:49:54 ]
- >>164
C で書いておけば色んな言語と混ぜられる。 C のルーチンを LL から呼び出すのは至極楽ちん。
- 169 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 22:07:14 ]
- 前にRubyからCのルーチン呼ぼうとしたらSWIGとかいうの使う羽目になった。
配列とか使ってたから、変換用のコーディングも若干必要になったし。 大変というほどでも無いが至極楽ちんというほど楽ちんでもないような。
- 170 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 22:15:07 ]
- CはLLのインラインアセンブラや〜
- 171 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 22:35:22 ]
- >>168
C#とPowerShellその他.NETなLLの親和性は異常 CというかシステムコールをOOなLLでラッピングとかもう面倒でやってらんない
- 172 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 23:56:55 ]
- 何でシステムコールが出てくる?
シスコール生で叩かせるLLなんてあるのか?
- 173 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 23:57:26 ]
- >>171
そういえば、.NETってなんとなくスルーしてたなぁ。 趣味として使うとしたら学ぶ価値ある? 普段はRuby使ってます。
- 174 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 23:58:22 ]
- >8
>Cのパフォーマンス これほんと?
- 175 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 00:07:41 ]
- >>174
C だけ使えば C と同じ性能。 C++ でもよく使われる言い回し。
- 176 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 01:35:36 ]
- >>174
例えばある変数の値を、1から10000までカウントupみたいなのは、Cは高速。 理由はおおざっぱに言えば、処理時間=計算量*1計算あたりのクロック数 だから。 2次元テーブル(n行n列)の全スキャン計算量は、nの2乗に比例するからo(n^2)とか。 単純なカウントupの計算量は小さい。 一方、ライブラリに必ずしも無いもの(例:クロージャなど)が必要になると、 プログラマーがゼロから実装するのは負担が大きくて、他の方法で回避する。 回避策の計算量、1計算あたりのクロック数によっては、他の言語で記述した方が 早い場合もある。 ↓参考:プログラミング言語ベンチマーク ttp://shootout.alioth.debian.org/debian/benchmark.php?test=all&lang=all
- 177 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 02:38:24 ]
- >>71
古い話で恐縮だけれども、ICOTの例のプロジェクトでは prolog の進化形で **カーネルの大部分を** 記述していたとか。 そういう用途のシステムでは、そういう選択もあるようです。 #同じ研究を現在のハードウェア技術で行ったらどうなるのかつくづく知りたいものですが、あと 100 年はとりあげられないでしょうか‥‥‥。
- 178 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 02:43:57 ]
- >>88
人を変態よばわりしないでください。 R6RS準拠のコンパイラがでたんですって?
- 179 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 08:35:10 ]
- Cに文句言うより86アセンブラをまず駆逐しろよ・・・
Intelでさえできなかったんだぞ
- 180 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 08:37:36 ]
- 今時のCPUはアセンブラ(≒機械語)を直接実行せずに
自前の命令に変換するんでしょ。 そんな内部コードを毎度毎度表にさらしてたら大混乱が起こるんじゃね。 AMDの人も命令コードなんて全然大した問題じゃないとか言ってたし。
- 181 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 13:54:39 ]
- >173
> そういえば、.NETってなんとなくスルーしてたなぁ。 > 趣味として使うとしたら学ぶ価値ある? プログラミングが趣味か、なんらかの成果物を完成させるのが趣味かで変わってくるんじゃ? ドトネト系はWindowsのアプリを作るということなら、死ぬほど楽なのは確か。 特にC#とC++/CLIの楽さは異常。
- 182 名前:173 mailto:sage [2008/05/15(木) 18:43:57 ]
- >>181
レスさんくす。 C#でもかじってみるか。 (そういえばIronRubyはどうなったんだ?とんと話を聞かないが。)
|

|