トップページ⇒tech
1001コメント314KB

JavaやったらC++はきもく感じる

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2007/01/10(水) 19:07:35
なにこれ。
int(100)とかだっさー(笑)int&なんてきんもーっ★って感じなんだけど。
標準で使えるスレッドもないしさ。バッドノウハウだらけの
使えない気持ち悪い言語だよなこれ。前時代の人たちはほんとにこんなモノで開発してたのか。
マジご愁傷様です。
C99のほうがまだ拡張性が高くていい感じになってるのが皮肉だね。
0299デフォルトの名無しさん2007/01/19(金) 00:49:38
お互いをパクリあって肥大化している。
言語機能的にはC#2.0のが上かな。Delphi作者最強説。
Java7(2009年?)からクロージャが登場するから
後2年はC#>Javaという認識でもいい。

資産も含めた総合的な能力は似たり寄ったりだけど。
0300デフォルトの名無しさん2007/01/19(金) 02:50:28
>>288
それ、どこのモル貧?
0301デフォルトの名無しさん2007/01/19(金) 07:41:04
>>296
C++のテンプレートは強力だし楽しいが保守性がね。
Dだと機能を解体してstatic ifとかに担わせたりしてるけど。

Javaで手がつけられないのが科学技術系計算。
演算子オーバーロードも言語組み込みの複素数もないし、テンソルのクラスとか書いてられん。
0302デフォルトの名無しさん2007/01/19(金) 08:37:00
>>298
いえ、J#のパクリです。
0303デフォルトの名無しさん2007/01/19(金) 08:39:30
>>301
それは仕方ないじゃん、演算子オーバーロードもまともに使いこなせないアホの為の言語なんだから。
0304デフォルトの名無しさん2007/01/19(金) 09:38:52
Javaしか使えないやつはキモイ
でFA?
0305デフォルトの名無しさん2007/01/19(金) 09:59:23
>>301
> >>296
> C++のテンプレートは強力だし楽しいが保守性がね。
> Dだと機能を解体してstatic ifとかに担わせたりしてるけど。
> Javaで手がつけられないのが科学技術系計算。
> 演算子オーバーロードも言語組み込みの複素数もないし、テンソルのクラスとか書いてられん。

オペレータはやめとけ。
複素数やテンソルなんて自作できる。
もっとも、複素数や行列程度ならJakarta Commons Mathですでに用意されているが。
テンソルはまだないみたいだな。

0306デフォルトの名無しさん2007/01/19(金) 10:03:22
>>296
> >>294
> C++のテンプレートのキモはコンパイラに計算をさせること。
> JavaのGenericsとは意味合いが全然違う。
C++templateは汚いこともできるスパゲティ仕様という点にある。
それで>>1が言うようにきもく感じる。
Genericsのほうが安全性は高く、堅牢性もたかく、ソースコードの信頼性も高まるという
利点がある。


> ついでに言うと、Javaのenumは、そのユニークな仕様のおかげで、
> 永続化の問題を引き起こしたことにも触れておくべき。

例えばどんなふうに? 具体的に。
0307デフォルトの名無しさん2007/01/19(金) 10:07:27
>>297
Javaのenumはjava.lang.Enum<E extends Enum<E>>のサブクラスになるもの。
C#のenumで定義される列挙体はSystem.Enumのサブクラスになるもの。

それぞれのEnumクラスの仕様をみてもわかるが、まったく違うものであることがわかる。
同一視はできない。

0308デフォルトの名無しさん2007/01/19(金) 10:09:09
C++で一番辛いのは的はずれなエラーだ。
入り組んだテンプレート使い出すと何がなにやら・・・
0309デフォルトの名無しさん2007/01/19(金) 10:10:56
>>299
> お互いをパクリあって肥大化している。
> 言語機能的にはC#2.0のが上かな。Delphi作者最強説。
あれで上だと主張するならC++がもっとも上ということになってしまうが。
null判定演算子とかくだらない機能つけてばかりでC#のほうが上というのは恥ずかしい。

> Java7(2009年?)からクロージャが登場するから
> 後2年はC#>Javaという認識でもいい。
仮に登場してもC#のdelegateとまったく同じ仕様にはなりえない。
Java5からやっと可変長引数や拡張forやenumが導入されたのも
Java5になってからやっとJava Genericsを導入することができたから。
Java Geneicsを導入する前にJavaにenumや拡張forや可変長引数などを
導入したらJavaはC#のような汚い言語になっていただろう。


慎重に検討されて造られたクロージャとC#にいきなり導入されたクロージャとを
同一視するのは恥ずかしいことだ。

0310デフォルトの名無しさん2007/01/19(金) 10:13:29
>>301
> >>296
> C++のテンプレートは強力だし楽しいが保守性がね。

放射性物質のような存在が強力だとはとても思えない。
放射性物質を放たないクリーンなJavaのほうが堅牢性と信頼性が高く保守性がいい。
C++templateだとバグ多き汚いコードも簡単に書けてしまう。

> 演算子オーバーロードも言語組み込みの複素数もないし、テンソルのクラスとか書いてられん。

演算子オーバーロードなんてつけたらそれこそ放射性物質。typedef問題の二の舞。
複素数もテンソルも上で誰かがいってたように自作するか外部のライブラリでどうにかできる。

0311デフォルトの名無しさん2007/01/19(金) 10:17:13
>>303 >>304
> >>301
> それは仕方ないじゃん、演算子オーバーロードもまともに使いこなせないアホの為の言語なんだから。

今どきそんな煽りがまだあるとは。
そんな発言は、
銃刀法違反という法律で銃器を密造することがで規制されているにもかかわらず、
「それは仕方がないじゃん、銃器もまともに密造できないアホのための法律なんだから。」
と主張する犯罪者の言い訳にしか聞こえん。

左翼が憲法九条改正を必死に反対するときの矛盾発言に実に似ているものだ。

0312デフォルトの名無しさん2007/01/19(金) 12:19:50
Sunが学術計算用の言語を開発してる
学術計算したいやつはそれを使ってみてくれ
0313デフォルトの名無しさん2007/01/19(金) 12:29:50
結局、C# > C++ > Java ということでよろしいですか?
0314デフォルトの名無しさん2007/01/19(金) 12:30:52
Java >>> C# >>> C >>>>>>>>>>>> C++
じゃないのか
0315デフォルトの名無しさん2007/01/19(金) 12:34:29
>>> は論理シフトの意味ですか?
0316デフォルトの名無しさん2007/01/19(金) 12:47:46
>>310
下請けプログラマ的な答えですな……
学術レベルじゃ放射性物質やら毒物やらガス銃とか普通に使うから、喩えとしてはまったく批判になってないw
むしろC++じゃなきゃできないことがありますよ、ただしバカが使うと危険だからバカには使わせるなよ、と聞こえる。
学術計算で必要なクラスって入念に設計された数学概念クラスがあればよく、末端レベルでほいほい派生とかしないし、とか。

という煽りはともかくとして。
>>312の言ってるのはFortressかな?
ttp://japan.zdnet.com/news/devsys/story/0,2000056182,20340715,00.htm今月「ひそかに」発表された「プロトタイプ」を実用に供する気はないが、注目すべき動きだと思う。
2010年を待っててくれよ的スタンスらしいけどね。
ttp://www.kmonos.net/wlog/60.html
で、ひとつの目玉が一般化演算子オーバーロード。
なにしろJavaの開発メンバ自身が「かけ算するのに x.multiply(y) って、もうやってられませんよね」的な発言w
「演算子オーバーロードなんてつけたらそれこそ放射性物質」というのはバカを統括する業務ならわかるが、
学術分野ではもっとラジカルな実装さえ検討しとるわけです。しかもJavaの開発者が。
どちらが優れてるか、というより向き不向きの問題なわけです。
0317デフォルトの名無しさん2007/01/19(金) 12:51:19
失礼、Guy SteeleはJavaの「開発者」ではなかったな
0318デフォルトの名無しさん2007/01/19(金) 12:56:18
オペレーターオーバーライドを用意しなかったのは最大の誤算だと言ってましたね
0319塩水 ◆1FrMT.vzQQ 2007/01/19(金) 12:59:37
おもしろそう
0320デフォルトの名無しさん2007/01/19(金) 13:17:13
>>308
そうそう。
0321デフォルトの名無しさん2007/01/19(金) 14:18:19
つまらん.C++でいい

JAVAやC#なんか死んでもやらんぞ

こう書くとプロならどんな言語でもマスターすべきと言い出す
馬鹿が必ず出てくるが,あいにく俺はプログラマでもないし,
プログラマみたいな使い捨ての職業にもつきたくない.
0322デフォルトの名無しさん2007/01/19(金) 14:57:44
職にありつけない奴の決り文句 >> そんな職につきたくない
0323デフォルトの名無しさん2007/01/19(金) 15:22:28
↑馬鹿か.プログラマなんぞになりたくないと言ってるんだ
勝手に妄想するな
0324デフォルトの名無しさん2007/01/19(金) 15:57:31
あんたの職業は句読点が全角ピリオドとカンマになってるので概ね分かるよ
0325デフォルトの名無しさん2007/01/19(金) 16:01:41
>>313
C#はJavaに近いぞ
0326デフォルトの名無しさん2007/01/19(金) 16:03:47
>>316
> >>310

都合が悪くなると下請けプログラマ扱いですかw

ガス銃を使う? むしろそれではソロバンや古い技術を使っている奴が偉くて馬鹿ではないと
主張しているアホに見える。

0327デフォルトの名無しさん2007/01/19(金) 16:06:03
javaは凡人用。
C++は天才用。
天才が凡人用を使っても、凡人が天才用を使っても辛いだけ。
Cは高級アセンブリ。
0328デフォルトの名無しさん2007/01/19(金) 16:07:30
自分が優秀だと勘違いしてそうな発言ですね。
0329デフォルトの名無しさん2007/01/19(金) 16:08:30
>>316
> >>310
> >>312の言ってるのはFortressかな?
> で、ひとつの目玉が一般化演算子オーバーロード。
> なにしろJavaの開発メンバ自身が「かけ算するのに x.multiply(y) って、もうやってられませんよね」的な発言w
> 「演算子オーバーロードなんてつけたらそれこそ放射性物質」というのはバカを統括する業務ならわかるが、
> 学術分野ではもっとラジカルな実装さえ検討しとるわけです。しかもJavaの開発者が。

お前はC++の演算子オーバーロードの危険性がわかってないだけの馬鹿。
JavaにC++の演算子オーバーロード機能をそっくりそのまま持ち込むことはまずない。
ストラウストラップが指摘した問題に直面するだけ。
独自に定義するのではなく文字列の連結に+を使っているように限定的に定義するだけだな。
C++みたいなことをやっていたら複数の第三者のソースコードと自社のソースコードとを
混ぜたときに演算子が重複するというあほくさいことが起こる。

それすらもわからないでC++の演算子オーバーロードをそっくりそのまま導入したがるとは笑止。
0330デフォルトの名無しさん2007/01/19(金) 16:09:07
>>321
プログラマでも無い奴がC++やっても意味がないw
0331デフォルトの名無しさん2007/01/19(金) 16:09:36
>>324
なるほど、>>321はチョンか
0332デフォルトの名無しさん2007/01/19(金) 16:10:08
>>327
> javaは凡人用。
> C++は天才用。

自惚れた素人ほどそう主張する。
お前も昔のマ板の馬鹿連中のオッサンとレベルが変わらないな。
0333デフォルトの名無しさん2007/01/19(金) 16:14:35
そもそも用途が違う
0334デフォルトの名無しさん2007/01/19(金) 16:15:55
>>332
それベターC使いの事いってるのか?
0335デフォルトの名無しさん2007/01/19(金) 16:18:22
キモい言語を使いこなせるのは天才しか居ない。
0336デフォルトの名無しさん2007/01/19(金) 16:44:21
翻訳:ボクには使いこなせませんでした(涙)
0337デフォルトの名無しさん2007/01/19(金) 16:54:17
ボクにも使いこなせませんでした(涙)
0338デフォルトの名無しさん2007/01/19(金) 17:20:02
>>327
俺はわかるよ。
0339デフォルトの名無しさん2007/01/19(金) 17:38:55
ワロタ
0340デフォルトの名無しさん2007/01/19(金) 17:46:23
C++厨はただの自称天才たる無能
0341デフォルトの名無しさん2007/01/19(金) 18:39:39
その通り。
Javaこそが選ばれた真の天才のための言語。
0342デフォルトの名無しさん2007/01/19(金) 18:47:06
そんなんだから結局Java厨は、と言われるんだ。
0343デフォルトの名無しさん2007/01/19(金) 18:49:44
>>308
1文字のタイポで何キロバイトものエラー文を吐く、ってやつね。
Effective STL あたりでそんなのやってたな
0344デフォルトの名無しさん2007/01/19(金) 18:58:33
自称天才、そんなんだから結局C++厨は、と言われるんだ。
0345デフォルトの名無しさん2007/01/19(金) 19:49:10
つまりどっちも厨は厨ということで丸く収まる。

……だめか。
0346デフォルトの名無しさん2007/01/19(金) 20:10:21
俺ぐらいのレベルに達すると、言語なんてなんでもよくなる
0347デフォルトの名無しさん2007/01/19(金) 20:13:59
>>346
じゃあホワイトスペースで何か面白いもの作ってよ
0348デフォルトの名無しさん2007/01/19(金) 20:29:24
プログラム齧りたての素人は
「Javaは重いし」と当然の理由ようにいいつつHSPに走るからわけわからん
0349デフォルトの名無しさん2007/01/19(金) 20:41:50
そんな極一部の例外を一般化して語られても
0350デフォルトの名無しさん2007/01/19(金) 21:06:23
まさに宗教論争だなぁ。
ゴスリン先生も実際にコード書いてやれやと
おっしゃってるゾw

0351デフォルトの名無しさん2007/01/19(金) 21:06:30
むしろHSPに走った人を知らない…
0352デフォルトの名無しさん2007/01/19(金) 21:09:47
「Javaは重い」と言う君、安心しないさい。
君が書くような短い糞コードなんてCUI機で走らせるBASICインタプリタでも一瞬で処理が終わってしまうから。
0353デフォルトの名無しさん2007/01/19(金) 21:10:06
周囲の厨密度によるかもな
0354デフォルトの名無しさん2007/01/19(金) 21:17:59
宗教論争してる奴らって傍からは両方アホにしか見えん。
傍観者でも、あっちの言うことが正しいなぁなんて思ってる奴もアホ。
0355デフォルトの名無しさん2007/01/19(金) 21:19:56
きもいとは思わんが、javaに慣れたらC++はめんどくさいと感じるようになった。
0356デフォルトの名無しさん2007/01/19(金) 21:23:19
D言語は言語の質はいいと思うが、環境がリセットされて城がまだないのが辛い。
ネイティブだからJavaみたいにjarがそのままDLLみたいなイメージで使えないし。
0357デフォルトの名無しさん2007/01/19(金) 21:28:57
>>329
もう少し316をよく読めってw
学術計算で必要なクラスは入念に設計された数学概念クラスがあればよく、末端レベルでほいほい派生しない。
ライブラリは手が込んでるが、最終プロダクトを作るプロジェクトは単純で小さい。
演算子オーバーロードは数式に意味論的にあう部分だけ限定的に定義するだけしか使わない(とGuy Steeleも言っている)。
基本的に演算子オーバーロードの危険性が出にくい範囲で出ないような使い方をするということ。

しかし演算子を定義できるかできないかは大違いで、
コードが数式を意味論的にきちんと表現しているか非常にチェックしやすくなる。
科学技術分野では意味論的可読性というのが非常に重要で、
だからこそSunもC++よりラジカルな演算子オーバーロードをFortressに実装しようとしてるわけ。

よくわかんないんだけど、俺がJavaに演算子オーバーロードを導入しろと言っていると勘違いしているのかな?
Javaはよく閉じた構造化プログラムを組める言語だよ。>326に言わせれば算盤的な。
C++は演算子オーバーロードもできるしテンプレートでYACCまがいのこともする、開いた構造を持つ言語。
Fortressは数式をよく表現しそれを並列処理させるのに適したものを目指している。
どちらが優れてるか、というより向き不向きの問題なわけです。
0358デフォルトの名無しさん2007/01/19(金) 21:47:18
せっかくだからC++を選ぶぜ
0359デフォルトの名無しさん2007/01/19(金) 21:51:24
ヘッダ書くのがタルイんです。
0360デフォルトの名無しさん2007/01/19(金) 21:53:03
ネイティブが持てはやされる特殊な時代は終わりを迎えつつある
0361デフォルトの名無しさん2007/01/19(金) 21:54:43
Fortressって
演算子にも名前空間を導入するのか?
z = x my.+ y
誰かラジカルな演算子オーバーロードを教えてくれ
0362デフォルトの名無しさん2007/01/19(金) 22:08:41
>>348
何時の事大の人間だ。
そいつが使ってたマシンが重たいだけだろ
0363デフォルトの名無しさん2007/01/19(金) 22:09:08
>>361
ttp://research.sun.com/projects/plrg/fortress.pdf
0364デフォルトの名無しさん2007/01/19(金) 22:10:28
>>356
D言語はまだまだだな。しかし、マイクロソフトが似たようなものを造っているようだし、
今後、どういう動きが出るだろうか。D言語に対応する新しいOSは出ないかと期待したい
0365デフォルトの名無しさん2007/01/19(金) 22:10:54
C++から、
普通にやってたら使わない機能、
よく分らずに使ったら危険な機能、
をなくしたらJavaになりました・・・だろ?
0366デフォルトの名無しさん2007/01/19(金) 22:13:08
D#とか出るのか? げろげろ
0367デフォルトの名無しさん2007/01/19(金) 22:16:43
javaってc++のサブセットだろ?w
0368デフォルトの名無しさん2007/01/19(金) 22:29:46
おまいら>>1に釣られすぎだぞ
0369デフォルトの名無しさん2007/01/19(金) 22:50:23
これは甲賀と伊賀を戦わせるための陰謀!?
0370デフォルトの名無しさん2007/01/19(金) 23:11:26
朝鮮人による日本分断工作です
0371デフォルトの名無しさん2007/01/19(金) 23:12:01
アレ、バジリスクとちょっとちがうんだな
0372デフォルトの名無しさん2007/01/19(金) 23:19:06
なんだ、>>1は朝鮮人か。
0373デフォルトの名無しさん2007/01/20(土) 00:29:15
むしろアナリスク
0374デフォルトの名無しさん2007/01/20(土) 01:20:48
基本の言語、最新の言語、最古の言語
コマンドラインで便利なスクリプト、エディタをカスタマイズするためのスクリプトなどなど

初心者の頃多くの言語を勉強しなければならない事に落胆した。
万人に受け入れられる最強の言語を一つだけ学びたかったんだ。
Java使いだがJavaはそれになれない。C++は使わないがC++もなれなそう。
将来その言語が現れる事を祈ろう。
0375デフォルトの名無しさん2007/01/20(土) 01:23:24
つ D
0376デフォルトの名無しさん2007/01/20(土) 02:05:54
Javaはランタイムがでかすぎマイナーアップデートごとに100Mもダウソさすなアホ
0377デフォルトの名無しさん2007/01/20(土) 02:21:40
M$の工作員という言葉はよく聞くけど
$UNの工作員て言葉は聞かないよね。
Sunは洗脳が上手なの?
0378デフォルトの名無しさん2007/01/20(土) 02:42:34
>>377
本当に工作員がいるわけないだろ。
嫌われている企業だからこそ、そういう言われもない誹謗中傷を受けるんだよ。
消費者を軽んじるから嫌われる。
0379デフォルトの名無しさん2007/01/20(土) 03:20:54
戦略がえげつないから嫌われてるんであって消費者から嫌われてるのとは違うんでは
0380デフォルトの名無しさん2007/01/20(土) 03:25:37
Excel2000のやつは正直ひいた
XP Homeをサポート外にすると言っておきながら
なんでああいう攻撃するんだろう???
0381デフォルトの名無しさん2007/01/20(土) 03:34:14
>>377
Web製作板でDw良いって書くとすぐ否定されるんだけど
MS工作員がすごくあやしいです
0382デフォルトの名無しさん2007/01/20(土) 04:27:44
C++はキモい
Javaはイモい
0383デフォルトの名無しさん2007/01/20(土) 04:37:01
普通、x.mulと打って、tabを押せばmultiply()が補間されるだろ。

常識的な開発環境を考えて・・・

演算子オーバーロードはカンマ記号なんかをオーバーロードされたら、俺は
保守する気なくすぞw
0384デフォルトの名無しさん2007/01/20(土) 05:40:00
カンマなの?ピリオドじゃなくて?
0385デフォルトの名無しさん2007/01/20(土) 06:52:03
補完されても関数の構造が一目見ただけでわからんときつい。間違うし。

あとピリオドをオーバーロードできる言語があるなら知りたい
0386デフォルトの名無しさん2007/01/20(土) 09:10:30
いわれもないってこたー無いだろ。
ネスケつぶしたりリアルプレイヤーつぶしたりJAVAつぶそうとしたり
0387デフォルトの名無しさん2007/01/20(土) 09:39:46
>>330

余計なお世話だ.間抜け!
0388デフォルトの名無しさん2007/01/20(土) 10:09:42
このピリオドは何をオーバーロードしたの?
0389デフォルトの名無しさん2007/01/20(土) 12:36:33
演算子の再定義ぐらいで文句言ってるのか、現代コボラーは・・・

ベクトル型とか行列型とか数式型とか
標準ではない型を演算子再定義なしで使うと
プログラムの長さが10倍に膨らむから
再定義できる開発環境なら、再定義しない奴はいねえよw
0390デフォルトの名無しさん2007/01/20(土) 12:47:23
これだから、保守性という概念がない旧世代コーダーは困る

Stringの + 演算子のオーバーロードのように言語設計に含め、
プログラマに開放しないというのが現代的な解。
0391デフォルトの名無しさん2007/01/20(土) 12:57:43
現代的というより、単なる1つの解としか言えないと思う。
それがたまたまJavaに合致したと。
0392デフォルトの名無しさん2007/01/20(土) 13:05:52
まあ、コボル的にしか使わない言語はそれでいいけどね
えらそうなこと言っているが、
ベクトル型も行列型も数式型もどうせ使ったことすらなかろう
0393デフォルトの名無しさん2007/01/20(土) 13:19:06
>385
Lisp系とかピリオドオーバーロードのかな?
0394デフォルトの名無しさん2007/01/20(土) 13:26:47
C++をJavaの様に使えば、殆ど同じかような気もするが
メモリ管理がメンドイか
0395デフォルトの名無しさん2007/01/20(土) 13:30:13
アローだらけになって気持ち悪いw
0396デフォルトの名無しさん2007/01/20(土) 14:21:14
C++で作る場合は、フレームワークの内部以外ではnew/deleteしない

のが理想的なんだが、糞なフレームワークを使わされる場合もあるわな
0397デフォルトの名無しさん2007/01/20(土) 14:44:31
ポインタがいいよと君がいったから一月二十日はメモリ破壊日
0398デフォルトの名無しさん2007/01/20(土) 15:24:52
普段動いてるのにたまにバグる、PGの一番嫌いなタイプのバグは
開放したところを使ってるとかそういうところに多い。
RAIIのスタイルを最大限生かすとすれば、*より&の方が優れていると気づく。
■ このスレッドは過去ログ倉庫に格納されています