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

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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2007/01/10(水) 19:07:35
なにこれ。
int(100)とかだっさー(笑)int&なんてきんもーっ★って感じなんだけど。
標準で使えるスレッドもないしさ。バッドノウハウだらけの
使えない気持ち悪い言語だよなこれ。前時代の人たちはほんとにこんなモノで開発してたのか。
マジご愁傷様です。
C99のほうがまだ拡張性が高くていい感じになってるのが皮肉だね。
0066デフォルトの名無しさん2007/01/13(土) 21:49:44
Javaのばあいコルーチンとマルチスレッドはどういうふうに絡んでくるんだ?
想像しただけでキモ
0067デフォルトの名無しさん2007/01/13(土) 22:00:20
class::method()の::とstruct->paramの->に抵抗あり
0068デフォルトの名無しさん2007/01/13(土) 22:06:52
http://wisdom.sakura.ne.jp/programming/cs/cs2_8.html

クラス作るだけで十分じゃないのか?
0069デフォルトの名無しさん2007/01/13(土) 22:20:21
>>65
サンクス。
マルチスレッドみたいなものか。
0070デフォルトの名無しさん2007/01/13(土) 22:23:36
>>64
要するに、アプリが自力で
スレッドの切り替えをやる仕組み

OS がスレッドをサポートしない MS-DOS とかでは
よく使われていた。
0071デフォルトの名無しさん2007/01/13(土) 22:26:16
タスクシステムっぽい言い回しだな
0072デフォルトの名無しさん2007/01/13(土) 22:35:41
ちょっとまて。
Javaがコルーチンを導入しようとする理由は、なんちゃってマルチスレッドじゃなくて、
スクリプト言語で大流行のジェネレータを書きやすくするためじゃないの?
0073デフォルトの名無しさん2007/01/13(土) 22:40:28
なんか勘違いしてる奴がいるから例を出すと、コルーチンがあると無限の長さをもつフィボナッチ数列が
↓みたいな感じで分かりやすく書けたりするんだよ。

coroutine make_fibs()
{
 int n1, n2, tmp;
 yield n1 = 1;
 yield n2 = 1;
 while (true)
 {
  tmp = n1;
  n1 = n1 + n2;
  n2 = t;
  yield n1;
 }
}


fibs = make_fibs();
// nextは次の要素を取得するメソッド
fibs.next(); // 1
fibs.next(); // 1
fibs.next(); // 2
fibs.next(); // 3
fibs.next(); // 5
…
0074デフォルトの名無しさん2007/01/13(土) 22:51:17
あれば便利かもしれんがストラテジーパターンで十分だな
0075デフォルトの名無しさん2007/01/13(土) 22:53:24
>>73
>なんか勘違いしてる奴がいるから

勘違いしているのはお前だろ?
0076デフォルトの名無しさん2007/01/13(土) 23:05:03
>72
スクリプト言語で大流行のジェネレータを書きやすくするためじゃないの? 

え? Java がコルーチンを導入するのか?
俺が思うに、Java の設計者は、そんな "上っ面" だけの事情で
言語機能の根幹を揺るがすような変更はしないと思うが?
(漏れは Java 厨は嫌いだが、Java の設計者は尊敬している。
「どんな馬鹿でも使えるような言語」を作るのは
非常に意義のある高度な仕事だ)

逆に MS の中の人ならば、間違いなくやるだろうな(w
0077デフォルトの名無しさん2007/01/13(土) 23:13:13
コルーチンじゃなくてクロージャならse7で導入されることになっている
0078デフォルトの名無しさん2007/01/14(日) 00:58:36
いま Perl 6 の悪夢を思い出した
0079デフォルトの名無しさん2007/01/14(日) 03:31:49
まあ、確かにC++使ってるとどうしてもコード汚くなってイライラしてくるな。
0080デフォルトの名無しさん2007/01/14(日) 04:32:27
JAVAなんてキモいシープラシプラシでちゃんと書けないやつはうんこだ
0081デフォルトの名無しさん2007/01/14(日) 04:35:12
10年もやってるからPerlよりもきれいで短く書けるよ俺は
0082デフォルトの名無しさん2007/01/14(日) 10:51:44
>>81
Perl より汚く書くのは難しいんじゃないか?
0083デフォルトの名無しさん2007/01/14(日) 11:15:11
おれの知ってるPerl使いは、
「保守?ナニソレ?」みたいな、
ワンライナーばっかりだったけどな。
0084デフォルトの名無しさん2007/01/14(日) 12:03:18
簡単にJavaやってからC++やったら、
最初はとまどったけどテンプレートに感激した。
しばらくしたらJavaが子供用のおもちゃに見えた。
まあ初級者の戯言ですがね
0085デフォルトの名無しさん2007/01/14(日) 12:49:09
まあ、マクロとかテンプレとかってかぶれやすいからな。

Java は、危ないものを排除する方向で設計されてるから、
子供のおもちゃ (=安全設計) って言うのはあながち間
違ってない。

でも、要は使い方次第だと思う。ニンテンドー DS だって、
子供のおもちゃだったけど、今や立派な学習機器だった
りするし。(w

Java でも十分と言う仕事はいくらでもあるよ。

# 理由書かないで、言語けなしてる奴はその言語使えて
# ない奴だと思って間違いない。
0086デフォルトの名無しさん2007/01/14(日) 13:15:29
>>85
># 理由書かないで、言語けなしてる奴はその言語使えて 
># ない奴だと思って間違いない。 

理由書かないで、言語を持ち上げている奴は?
0087デフォルトの名無しさん2007/01/14(日) 15:12:17
JavaほどUML表記と一対一対応する言語はないと思うんだけどなぁ。
詳細設計を与えれば、どんな馬鹿でも対応するコードを記述できる点が評価できる。

C++、特に歴史の浅いC#は、まともな設計を行えないコーダーでしかない人が多いぞ。
ただ、C++はコードの記述次第で低レベルな所まで最適化が出来るお陰で、
実行効率を特に重視する分野での需要があることが幸いだが、C#は...
0088デフォルトの名無しさん2007/01/14(日) 16:35:05

>>84
>Javaが子供用のおもちゃに見えた。

その認識でいいと思うよ

料理人が自分で砥いだ包丁使うのと
主婦が気軽にフードプロセッサ使うのとの違い


>>86
> >>85
> ># 理由書かないで、言語けなしてる奴はその言語使えて
> ># ない奴だと思って間違いない。
>
>理由書かないで、言語を持ち上げている奴は?

その言語しか使えない香具師


>>87

それはVBからの乗り換え組が多いからでは

0089デフォルトの名無しさん2007/01/14(日) 16:57:35
>その認識でいいと思うよ
>
>料理人が自分で砥いだ包丁使うのと
>主婦が気軽にフードプロセッサ使うのとの違い

何時になったら、公道(=ほとんどの案件)をレーシングカーで走る無意味さを理解できるのだろうかねぇ。

0090デフォルトの名無しさん2007/01/14(日) 17:16:28
>>89
お前、全然わかってねぇよ。公道もレーシングカーでカッ飛ばすのは当たり前だろうが!
近所のコンビニにレーシングカーで行く、俺、超最高!
0091デフォルトの名無しさん2007/01/14(日) 17:26:24
>>89
>何時になったら、公道(=ほとんどの案件)をレーシングカーで走る無意味さを理解できるのだろうかねぇ。 

そう言って、結局、何時までたってもレーシングカーの運転技術を
身に着けることが出来なかった人を何人も見ているのですが・・・
0092デフォルトの名無しさん2007/01/14(日) 17:28:29
>>90
マジレスすると、30km以上のスピード違反は刑事罰(6ヶ月以下の懲役刑)の対象だぞ
0093デフォルトの名無しさん2007/01/14(日) 17:38:14
>>92
ヘッ、ノロマなポリ公に俺様が捕まるわけねぇだろ!
0094デフォルトの名無しさん2007/01/14(日) 17:40:06
>>86, >>88
別に持ち上げてないけど?

なんか、書いてないことが見える人達なのかな? (w

ちなみにこれは、「事実」だから。
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
> Java でも十分と言う仕事はいくらでもあるよ。
0095デフォルトの名無しさん2007/01/14(日) 17:46:19
>>94
お前、自意識過剰。誰もお前のことなんか言ってないと思うぞ。
0096デフォルトの名無しさん2007/01/14(日) 17:48:45
そのとおり。

皆があげつらっているのは >>94 じゃなくて >>95 のことだ。
安心しろ。
0097デフォルトの名無しさん2007/01/14(日) 17:53:27
言語に宗教持ち込む奴は所詮その程度ということだ。
しかしどの言語にしろassertベースの実装する奴が少ないな
JUnitの類は事後条件しかチェックしないから、品質に信用ならない
0098デフォルトの名無しさん2007/01/14(日) 17:57:58
C++の人なんかカコイイ
0099デフォルトの名無しさん2007/01/14(日) 18:02:50
C++人は感情論だけで論理的な反論も出来ないのか。
落ちぶれたものだな。
0100デフォルトの名無しさん2007/01/14(日) 18:16:10
>>99
いや、いまさら、当たり前のこと(C++の優位性)をうだうだ主張するのはバカじゃん。
0101デフォルトの名無しさん2007/01/14(日) 18:18:08
たしかに100はバカだな、否定はせん
0102デフォルトの名無しさん2007/01/14(日) 18:22:19
>>99
「きもく感じる」に論理的な反論って...、頭大丈夫?
0103デフォルトの名無しさん2007/01/14(日) 18:27:16
サーキットをヴィッツで走るくらい無意味だな
0104デフォルトの名無しさん2007/01/14(日) 18:27:19
C++はchar*とかchar*&とかスタイルが統一されてなくてキモイ
&の場合はNULLチェックは要らないという認識があるせいで、*&みたいな時はしない奴が続出
delete foo; foo = NULL;がセットなってないためそれだけでもバグりまくり

C++使って得たことは、コーディング規約はバカ抑制装置にならないってことだけ。
0105デフォルトの名無しさん2007/01/14(日) 18:42:38
>>102
コレまでの内容理解できてますか?頭大丈夫?
と言いたい所だが、このタイトルでは1に釣られた希ガス。

ただ、コスト面から海外への外注で国内のコーダーは消滅しかけている今、
実装する言語がどうのこうの言う時代は終わったような気がしないでもない。

ただ単に趣味の為だけにやるなら好きな方を選べって感じだしな。
0106デフォルトの名無しさん2007/01/14(日) 18:53:17
>>104
>C++はchar*とかchar*&とかスタイルが統一されてなくてキモイ

お前、それ前者と後者で意味が違うから。それを言うなら const だろ。
const char * でも char const * でも意味が同じって、なにそれ?って感じ。
0107デフォルトの名無しさん2007/01/14(日) 19:02:42
>>106
バカはすっこんでろ
0108デフォルトの名無しさん2007/01/14(日) 19:53:48
>>104みたいな生半可な理解ではC++は使いこなせんだろ。

Javaだって、生の配列の扱いは気持ち悪い。
多次元配列のnewやら、派生型の代入やらで
構文と意味が破たんしてる。
0109デフォルトの名無しさん2007/01/14(日) 20:00:04
>>104は生半可な理解で使いこなせない奴が多いというレスだろ
0110デフォルトの名無しさん2007/01/14(日) 20:06:59
Javaに生の配列なんてねーよ、あれはオブジェクトだ。

> 多次元配列のnewやら、派生型の代入やらで
> 構文と意味が破たんしてる。

お前の脳が破綻してる。以上。
0111デフォルトの名無しさん2007/01/14(日) 20:07:05
>>109
>>104 もそのうちの一人だろ。
0112デフォルトの名無しさん2007/01/14(日) 20:08:12
うちはconst char*&のがいいって言われてるから正しい
0113デフォルトの名無しさん2007/01/14(日) 20:12:23
禿げたくないのでプログラミングはJavaとCまでにしてます。
0114デフォルトの名無しさん2007/01/14(日) 20:40:58
>>110よ、Java使いならJavaの欠点ぐらい知っておけ。
とりあえず書籍「Java 謎+落とし穴」を推薦しておく。
0115デフォルトの名無しさん2007/01/14(日) 22:03:09
>>105
> コレまでの内容理解できてますか?

いや、ネタスレで内容理解しろとか言われても...、頭大丈夫? (w
0116デフォルトの名無しさん2007/01/14(日) 22:20:23
>>113
君は正しいが、ついでにruby|python
余力があれば関数型のHaskell|SMLとかやっといたほうがええよ。

http://d.hatena.ne.jp/yupo5656/20061123/p1
こういう風にHaskellをC++で書いてるのなんて見ると溜息がでる。
0117デフォルトの名無しさん2007/01/14(日) 22:23:09
やらなくていいよ。無駄。
0118デフォルトの名無しさん2007/01/14(日) 23:37:15
>>115
釣りとネタの違いが区別できないとか言われても...、頭大丈夫? (w
0119デフォルトの名無しさん2007/01/15(月) 00:28:08
>>115,118
頭大丈夫? (w
0120252007/01/15(月) 06:53:15
初心者だが
よーいドンで
JAVA
と
C++
勉強始めたら
C++の方が先に実用に到達するのが早い
と思う
0121デフォルトの名無しさん2007/01/15(月) 07:26:30
“実用”がなにをさすのやら。
C++がそんなに覚えやすいなら大学のCS用言語がJavaに変わるなんてことはなかったと思うよ。
//もっとも今はrubyやらpythonに取って代わられようとしているけど。
0122デフォルトの名無しさん2007/01/15(月) 07:33:27
膨大でころころ変わる言語仕様、安定しないAPI、互換性が維持し難い仕様上の問題、
消えないメモリリークとバッファオーバーフロー、実装の多重継承。
さらに言語仕様を覚えるだけではまともなプログラムなど書けないため、
最低限Effective C++など必須書籍数冊を読破したうえ、
STLを習得して初めて土俵に立てる。
そんな言語がすばらしいなど、よく言えたものだ
0123デフォルトの名無しさん2007/01/15(月) 10:05:15
バカどもには使えない道具なんだよw
0124デフォルトの名無しさん2007/01/15(月) 11:01:25
みなさまに質問なんですが
プログラム覚えるのとオナニー覚えるのとどっちが先でしたか?
0125デフォルトの名無しさん2007/01/15(月) 11:27:39
出来上がりはJavaのがキモいがな
0126デフォルトの名無しさん2007/01/15(月) 11:38:35
HaskellやったらJavaはきもく感じる
0127デフォルトの名無しさん2007/01/15(月) 11:40:16
HaskellやったらJavaはきもく感じる
0128デフォルトの名無しさん2007/01/15(月) 12:06:00
Haskellも実用的なプログラム書こうと思ったら
モナドだらけで泥臭くなりそうな気がする。
0129デフォルトの名無しさん2007/01/15(月) 12:19:32
Haskellも実用的なプログラム書こうと思ったら
モナドだらけで泥臭くなりそうな気がする。
0130デフォルトの名無しさん2007/01/15(月) 14:49:34
HaskellでQuickソートのコードを見るとすごいすっきり書けてるけど、
どっかのブログで、ヒープソートとか他のソートアルゴリズムをHaskellで
書いてるのを見たら、それほどすっきりでもなかったな。
0131デフォルトの名無しさん2007/01/15(月) 15:01:51
>>121
表面だけはJAVAが簡単だから大学みたいなウンコなところで使われる
通信、データベース、デザインまでフレームワークを覚えないといけない
0132デフォルトの名無しさん2007/01/15(月) 15:12:37
C++には
VisualC++があるのが大きいわ
JAVAは自由だからどんどん湧いてくる
0133デフォルトの名無しさん2007/01/15(月) 15:26:47
>>122
> さらに言語仕様を覚えるだけではまともなプログラムなど書けないため
C++に限ったことではないだろ。
0134131-1322007/01/15(月) 15:38:41
デザインのフレームワークだけでも複数あるのがきもい
0135デフォルトの名無しさん2007/01/15(月) 17:00:32
2年ほどC++から離れWeb開発でJava、趣味でC#やって、
もうC++に戻ることはないだろうと思ってたが、最近趣味でC++を再びやりはじめた。
楽しい。なんだろう、このプログラムを書いているというJavaやC#には無い充実感は。

C++もauto_ptrとboost使うだけで、だいぶ楽できる。
特にauto_ptr。Javaから戻ってきたときshared_ptr無いと辛いと思ったが
いまとなっては必要性感じない。
0136デフォルトの名無しさん2007/01/15(月) 17:01:23
もっと単純そうなscoped_ptrは?
0137デフォルトの名無しさん2007/01/15(月) 17:08:09
scoped_ptrだけだと、さすがに、それだけだときっついかな。
やっぱ生成したオブジェクトを他のオブジェクト間での受け渡しはあるしね。
自分が言いたかったのは所有権が1つというのは制限にはならない。
で、Javaより確実に解放されている感がある。
といいつつ、メモリリークしてそうなおいらのコード・・・
0138デフォルトの名無しさん2007/01/15(月) 17:09:09
我ながら日本語変だな・・・今度から見直して書くようにしよう。次があるかわからないけど。
0139デフォルトの名無しさん2007/01/15(月) 18:38:26
ただのCがいいです。
0140デフォルトの名無しさん2007/01/15(月) 18:59:29
>>139
同意
0141デフォルトの名無しさん2007/01/15(月) 20:55:34
>>135
無人島でマッチを使わず手で火を起こして楽しかったでちゅかぁ?^^;
0142デフォルトの名無しさん2007/01/15(月) 21:23:11
俺は関数型言語以外は使いたくなくなった
0143デフォルトの名無しさん2007/01/15(月) 21:24:41
>>141意味ワカラン
0144デフォルトの名無しさん2007/01/15(月) 21:25:54
オブジェクト指向スクリプトに都合のいいように欠陥スクリプト扱いされる現状には同情する。
俺は関数型を知らないが、たぶんそんなレッテル専用言語ではないと思う。
0145デフォルトの名無しさん2007/01/15(月) 21:26:25
>>141
鉄くずなどがらくたからガスコンロを作れるほどの能力がC++にはある。
0146デフォルトの名無しさん2007/01/15(月) 21:27:44
>>144
> レッテル専用言語
どういう意味かよくわからん
0147デフォルトの名無しさん2007/01/15(月) 21:29:41
括弧ばっかでキモイだけの言語、それが関数型言語
0148デフォルトの名無しさん2007/01/15(月) 21:31:41
>>147
それはLisp
0149デフォルトの名無しさん2007/01/15(月) 21:36:44
なるほど、奥が深いんだな関数型言語は
0150131-1322007/01/15(月) 21:39:00
初心者ですが
関数型言語って何ですか?

く わ す く お し え て く だ さ い
0151デフォルトの名無しさん2007/01/15(月) 21:41:04
>>149
あなた奥が深い症候群に犯されてますよ
0152デフォルトの名無しさん2007/01/15(月) 21:52:58
>>150
      , イ)ィ -─ ──- 、ミヽ
      ノ /,.-‐'"´ `ヾj ii /  Λ
    ,イ// ^ヽj(二フ'"´ ̄`ヾ、ノイ{
   ノ/,/ミ三ニヲ´        ゙、ノi!
  {V /ミ三二,イ ,  /,   ,\  Yソ
  レ'/三二彡イ  .:ィこラ   ;:こラ  j{
  V;;;::. ;ヲヾ!V    ー '′ i ー ' ソ
   Vニミ( 入 、      r  j  ,′
   ヾミ、`ゝ  ` ー--‐'ゞニ<‐-イ
     ヽ ヽ     -''ニニ‐  /
        |  `、     ⌒  ,/
       |    >┻━┻'r‐'´
      ヽ_         |
         ヽ _ _ 」    

  ググレカス [ Gugurecus ]
  ( 2006 〜 没年不明 )
0153131-1322007/01/15(月) 22:01:05
何か変態なのは分かった
0154デフォルトの名無しさん2007/01/15(月) 22:33:38
>>125
>出来上がりはJavaのがキモいがな

これはガチだなw
さらにこれを認めなかったり、一応は認めるんだけど「でも、Javaはほげほげ〜」とか
言い出すヤツもたいていキモかったりする。
0155デフォルトの名無しさん2007/01/15(月) 22:46:13
え?Javaで作ったものなんて恥ずかしくて売れないけどいいの?
0156デフォルトの名無しさん2007/01/15(月) 22:55:33
Javaは自由度ぜんぜんないからなぁ
0157デフォルトの名無しさん2007/01/15(月) 22:58:37
>>4
プログラミング言語としては
SQLは畑違いだろ。

C++はいずれ使い続けられなくなる運命。
思い思いの開発スタイルに軽んじてルールが規定されておらず
コードが汚染されてメンテナンス性が悪いから


0158デフォルトの名無しさん2007/01/15(月) 23:00:32
>>8
今のJavaはそのあたりも、手動でチューニングするよりも、Javaコンパイラや
JVMが自動的に最適化してくれるからね。
Javaの最適化技術がもの凄く早くて、C++側が追いつかないのが現状。
C++の価値もドライバ開発や組み込み開発のみに成り下がってしまった感がある。
0159デフォルトの名無しさん2007/01/15(月) 23:01:25
>>13
名前空間使わなかったらJavaに負ける。
0160デフォルトの名無しさん2007/01/15(月) 23:03:12
C++ -> Windows
C -> UNIX/Linux
Java -> ?????
0161デフォルトの名無しさん2007/01/15(月) 23:06:01
Bisual Basic -> Windowsならわかるが、
C++は普通にLinuxでも使ってるだろ。Cも同じく
0162デフォルトの名無しさん2007/01/15(月) 23:07:18
>>158
kwsk
0163デフォルトの名無しさん2007/01/15(月) 23:10:25
>>122
単にお前がアホなだけ。出来る奴はC++を使う。
0164デフォルトの名無しさん2007/01/15(月) 23:13:41
C++は標準だとゴミだし、正式にサポートされていないBoostを使って初めて高級言語という感じがする。
0165デフォルトの名無しさん2007/01/15(月) 23:21:54
最近一番ばかげてた作業はStringBuilderクラスを自前で作ったことだ!
■ このスレッドは過去ログ倉庫に格納されています