JavaやったらC++はきもく感じる
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2007/01/10(水) 19:07:35int(100)とかだっさー(笑)int&なんてきんもーっ★って感じなんだけど。
標準で使えるスレッドもないしさ。バッドノウハウだらけの
使えない気持ち悪い言語だよなこれ。前時代の人たちはほんとにこんなモノで開発してたのか。
マジご愁傷様です。
C99のほうがまだ拡張性が高くていい感じになってるのが皮肉だね。
0389デフォルトの名無しさん
2007/01/20(土) 12:36:33ベクトル型とか行列型とか数式型とか
標準ではない型を演算子再定義なしで使うと
プログラムの長さが10倍に膨らむから
再定義できる開発環境なら、再定義しない奴はいねえよw
0390デフォルトの名無しさん
2007/01/20(土) 12:47:23Stringの + 演算子のオーバーロードのように言語設計に含め、
プログラマに開放しないというのが現代的な解。
0391デフォルトの名無しさん
2007/01/20(土) 12:57:43それがたまたまJavaに合致したと。
0392デフォルトの名無しさん
2007/01/20(土) 13:05:52えらそうなこと言っているが、
ベクトル型も行列型も数式型もどうせ使ったことすらなかろう
0393デフォルトの名無しさん
2007/01/20(土) 13:19:06Lisp系とかピリオドオーバーロードのかな?
0394デフォルトの名無しさん
2007/01/20(土) 13:26:47メモリ管理がメンドイか
0395デフォルトの名無しさん
2007/01/20(土) 13:30:130396デフォルトの名無しさん
2007/01/20(土) 14:21:14のが理想的なんだが、糞なフレームワークを使わされる場合もあるわな
0397デフォルトの名無しさん
2007/01/20(土) 14:44:310398デフォルトの名無しさん
2007/01/20(土) 15:24:52開放したところを使ってるとかそういうところに多い。
RAIIのスタイルを最大限生かすとすれば、*より&の方が優れていると気づく。
0399デフォルトの名無しさん
2007/01/20(土) 16:55:12文字列処理はPerl、
財務計算はCobol、
WindowsのGUIはC#、
アプリケーションサーバはJava、
Webサービスクライアントは何でも好きに使え
C++のテンプレートは初めて知ったときには便利だと思ったが、
JavaやC#のGenericを知った後では、めったなことでは使う気にならんな。
C++はJavaや.NETの載ってない環境では使わざるを得ないので
アセンブラと同様、たしなみとして知っておくぐらいかな。
あと、C#のenumはけっこう便利だね。
定数名を文字列に変換できたり、その逆もできたり。
そんな使い方するなってハナシもあるけど。
0400デフォルトの名無しさん
2007/01/20(土) 19:10:18> I used it recently to improve the performance of some code in the Google Calendar Server.
ttp://gafter.blogspot.com/2006/10/concurrent-loops-using-java-closures.html
Google Calendarのサーバーサイドの実装はJava。
C++ >>>>> 超えられない壁 >>>>> Java と脳内妄想で現実逃避するのは勝手だが、
そろそろ現実を見たほうが良い。
0401デフォルトの名無しさん
2007/01/20(土) 19:25:470402デフォルトの名無しさん
2007/01/20(土) 19:33:07だからといって2ちゃんねるCGIをJavaで実装したらどうなるのかというと…
0403デフォルトの名無しさん
2007/01/20(土) 19:34:06もしかしてすごく頭悪い?
0404デフォルトの名無しさん
2007/01/20(土) 19:36:06システムの安定が重要視されるならC++は真っ先に外される
仕様の複雑さだけでなく、コンパイラの実装も準拠度がバラバラだからね
>>400
GMailやAdWordsもJavaだな。
0405デフォルトの名無しさん
2007/01/20(土) 20:03:46良く知ってるんで、実例をうれしそうにあげなくていいですw
でも、世の中業務系だけじゃないんで、他の言語にも出番はあるわけで
0406デフォルトの名無しさん
2007/01/20(土) 20:06:16Javaはオーバースペックになるな
0407デフォルトの名無しさん
2007/01/20(土) 20:17:20Web2.0の代表的企業のGoogleがコボラーを雇っているとは初耳だな。
0408デフォルトの名無しさん
2007/01/20(土) 20:17:460409デフォルトの名無しさん
2007/01/20(土) 20:18:46>>407は何厨?
0410デフォルトの名無しさん
2007/01/20(土) 20:22:28負け組み遠吠えは醜いからヤメトケ
0411デフォルトの名無しさん
2007/01/20(土) 20:25:560412デフォルトの名無しさん
2007/01/20(土) 20:34:160413デフォルトの名無しさん
2007/01/20(土) 20:50:030414デフォルトの名無しさん
2007/01/20(土) 21:15:480415デフォルトの名無しさん
2007/01/20(土) 21:22:38#define END }
ってのを思い出した
0416デフォルトの名無しさん
2007/01/20(土) 21:36:370417デフォルトの名無しさん
2007/01/20(土) 21:43:36Ruby厨もよく使う
0418デフォルトの名無しさん
2007/01/20(土) 21:44:07括弧も再定義したいだろw
0419デフォルトの名無しさん
2007/01/20(土) 21:56:49C++の出番が無くなったと納得しても良いけど
0420デフォルトの名無しさん
2007/01/20(土) 22:01:46C++の置き換えはD言語の役目。
0421デフォルトの名無しさん
2007/01/20(土) 22:04:39いろいろ理不尽な制限が多くてキモい。
0422デフォルトの名無しさん
2007/01/20(土) 22:06:020423デフォルトの名無しさん
2007/01/20(土) 22:07:250424デフォルトの名無しさん
2007/01/20(土) 22:08:220425デフォルトの名無しさん
2007/01/20(土) 22:08:29Dって言語仕様かたまったん?
0426デフォルトの名無しさん
2007/01/20(土) 22:10:23メタプログラミングもたっぷりできるから
C++厨にもオススメ。
0427デフォルトの名無しさん
2007/01/20(土) 22:12:22M式
0428デフォルトの名無しさん
2007/01/20(土) 22:27:410429デフォルトの名無しさん
2007/01/20(土) 22:33:38MS自らMacOSXなど他のOSもサポートするようになれば、
本当の意味で C++++(C#) となったのだろうけどねぇ...
現状では 「C」の名前空間を汚しただけな感じだな。
0430デフォルトの名無しさん
2007/01/20(土) 22:45:55だから重いのか・・・。
0431デフォルトの名無しさん
2007/01/21(日) 02:08:500432デフォルトの名無しさん
2007/01/21(日) 02:10:530433デフォルトの名無しさん
2007/01/21(日) 03:07:380434デフォルトの名無しさん
2007/01/21(日) 03:47:43OSXか、、Objective-Cやってみたら、
C++のきもさなんて、気にならなくなるよ。
やっぱり、JavaはC++を手本としてる部分が大きいんだなって思った。
あと鼻くそは食わないけど、机の裏に貼付けたりはよくする。
0435デフォルトの名無しさん
2007/01/21(日) 03:50:260436デフォルトの名無しさん
2007/01/21(日) 04:07:570437デフォルトの名無しさん
2007/01/21(日) 04:08:29今日からお前のあだ名はクリリンな
0438デフォルトの名無しさん
2007/01/21(日) 11:22:35Macプログラミングやろうと思ったけどObjectiveCの糞文法で挫折
0439デフォルトの名無しさん
2007/01/21(日) 11:31:43Objective-C++だからな
Objective-CはC++より簡単だお
0440デフォルトの名無しさん
2007/01/21(日) 11:39:39確かにクラスとかないと、Cと大差ないのかも。
0441デフォルトの名無しさん
2007/01/21(日) 12:57:20C++は新しい概念を築いたし、言語の歴史上はかなり重要な位置を占めているように思えるけど
Objective-CってSmalltalkをまんまCにしたような感じでしょ?その手の信者には人気あるのかね。
0442デフォルトの名無しさん
2007/01/21(日) 13:22:520443デフォルトの名無しさん
2007/01/21(日) 14:04:01いいOSだったんだが。
0444デフォルトの名無しさん
2007/01/21(日) 14:06:280445デフォルトの名無しさん
2007/01/21(日) 14:38:49「C++をやったらObjective-Cはきもく感じる」
に変わりました
0446デフォルトの名無しさん
2007/01/21(日) 15:06:41C++やJavaはC的だ
0447デフォルトの名無しさん
2007/01/21(日) 20:01:48kwsk
0448デフォルトの名無しさん
2007/01/21(日) 21:02:22Objective-Cサイコー。
0449デフォルトの名無しさん
2007/01/21(日) 21:40:38「オブジェクト指向」だよ。w
メッセージがどうこう(アラン・ケイ)じゃなくて、
カプセル化・継承・ポリモーフィズムって現在主流のほうのは
ビョーン・ストラウストラップがC++の設計を通じて確立したもの。
0450デフォルトの名無しさん
2007/01/21(日) 21:41:380451デフォルトの名無しさん
2007/01/21(日) 21:50:07MacもNeXTSTEPも設計がちっとも美しくない。
あれはそびえ立つ糞の山みたいなもんだ。
0452デフォルトの名無しさん
2007/01/21(日) 21:59:38それは間違っていない。
けれど、Javaのオブジェクト指向はSmalltalkの系統に属するものだったはず。
0453デフォルトの名無しさん
2007/01/21(日) 22:17:25「C++をやったらBjarne Stroustrupはきもく感じる」
0454デフォルトの名無しさん
2007/01/21(日) 23:21:21「オブジェクト指向の概念の発明者は誰ですか?」
ttp://d.hatena.ne.jp/sumim/20040525/p1
>>452
Javaは、Smalltalkからクラスライブラリの世界感(Objectからの単一継承。リフレクション)や
仮想マシンベースの処理系、メソッドやスーパー/サブクラスとかいった用語とかについては
影響を受けたけれども、オブジェクト指向の考え方自体はメッセージングではなくガチガチの
クラス指向だよ。Smalltalk系統というよりはC++/Eiffel系統。
0455デフォルトの名無しさん
2007/01/21(日) 23:49:41>「抽象データ型(ユーザー定義のデータ型)」を実現するのに「(SIMULA の)クラス」を用いる
その文章にもこうやって書かれてる通り、Simulaの機能を参考にしたのがC++のオブジェクト指向でしょ。
0456デフォルトの名無しさん
2007/01/22(月) 00:07:57SIMULAには「クラス」と「オブジェクト」という言語機能はあったけれど、
設計者(ダールとニガート)の頭にはこれらを「オブジェクト指向」に使うという
考え方はなかった。当然だけど「オブジェクト指向」自体が存在しなかったから。
このSIMULAの「クラス」をヒントにして、ユーザー定義型定義に使えると
考えてクラス指向の「オブジェクト指向」を思いついたのがストラウストラップで、
(前後するけれど)
同じくSIMULAの「オブジェクト」をヒントにして、これをメッセージの受け手に
できると考えてメッセージ指向の「オブジェクト指向」を思いついたのがケイ。
0457デフォルトの名無しさん
2007/01/22(月) 00:28:41楽で面白い。これに尽きる
0458デフォルトの名無しさん
2007/01/22(月) 00:38:26Javaは家電製品制御を目的に開発されたのだから、
ネットワーク上で転送するためには
セキュリティのことを考慮するのは当然すると、
セキュリティに強い言語にしなければならないことになる。
そのためにはC++にある危険な機能はどうしても排除しなければ
ならなかった。そういうことだ。
0459デフォルトの名無しさん
2007/01/22(月) 00:39:11また特亜三国人か。
憲法9条は何が何でも改正させて貰うぞ。
0460デフォルトの名無しさん
2007/01/22(月) 00:40:04C++最強説はもう聞き飽きた。C++が最強だった時代も過去の栄光だ
0461デフォルトの名無しさん
2007/01/22(月) 00:41:45いまなら中共工作員、北朝鮮工作員、在日工作員、アサピー工作員
という言葉が2chでは流行っている。
M$のほうが洗脳が得意だと思うぞ。豊富な財力があるから。
それも、最近陰りを見せてきたところかな。Googleが勢力を拡大しているからな。
0462デフォルトの名無しさん
2007/01/22(月) 00:53:47けっこう嫌われていたぞ。Sonyみたいにな。
そのSonyも今ではすいたいしているし、M$ですら衰退の傾向だ。
そして社運を賭けて開発した.NETも普及させることに失敗し、Javaに敗れた。
Sonyの場合は対象が一般消費者で、あからさまに、壊れやすい製品をわざと開発
していることとリチウムイオン電池で失敗したこと、DVD合戦で松下に敗れたことなどから
敗北しているがな。ウォークマンもiPodに敗れ、ゲーム機も再び任天堂に敗れた。
一方、マイクロソフトの場合は、消費者向けはWindowsとOffice系のものばかりで
.NETに関してはエンジニア向けだが、エンジニアには、すぐに.NETの問題点に気づいた。
だからJavaよりも普及させることに成功することはできなかった。消費者をWindowsで騙すことができても
エンジニアを騙すことはできないのだ。マイクロソフトはそれを見誤った。
そして、家電にまで手を出そうとしているマイクロソフト。そこも日本の大手家電には勝てないだろう。
Windowsはまだ健在だろう。だがOfficeはどう転ぶか解らない。Officeの収入源はマイクロソフトの経営を
支え、維持する上で非常に重要だ。その牙城を切り崩そうとLinuxが出たが、シェアをある程度奪った者の、
Windowsを潰すまでには至っていない。だがそこへOpenOfficeがでた、オープンソースなのでM$は
脅威と感じたようだが、それほど普及はしていない。そこへGoogleが現れた。これがM$にとって真の意味で最大の脅威だ。
Linuxベースの独自のOSを開発し、Ajax製Office Suiteを開発している。そしてWeb2.0に大きく力を注いでいる。
M$よりも優秀な技術者がいる。M$と違って博士号取得者を優先的にとる。そこが違う。
ビジネスモデルも驚くべきものばかりで、いずれマイクロソフトの市場支配を崩してしまいそうな勢いだ。
独自規格に拘って囲い込みを狙うものはいつか敗れる。
かつてにNECとジャストシステムによるPC9821 + 一太郎支配がMSのWindowsとソフトバンクの孫正義によって
敗れたように。
マイクロソフトが目指している情報共産主義というものはいつか衰退するものだということが、
オープン化とオープンソースが証明している。マイクロソフトの衰退は民主主義の勝利だ。
だから「オープン化」というものが流行ってきた。
0463デフォルトの名無しさん
2007/01/22(月) 00:56:40M$は工作員のことをエバンジェリストと呼称しているようだが。
学生エバンジェリストと称した学生工作員を雇って昔から何か企んでいたようだ。
2chでもたびたびその工作員らしき書き込みを見かけることがあったのも納得できる。
とくに2001〜2004年頃がピークだった。
0464デフォルトの名無しさん
2007/01/22(月) 01:02:17Netscapeは潰れてもFirefoxがある。
リアルは、iTunesのほうが使いやすいから仕方がないな。
独自規格を無理矢理使わされなくて良かったという程度だな。
Javaを潰すことはM$にはできなかったようだ。かれらがJavaの底力を甘く見ていた証拠だろう。
消費者向けのツールを潰すことはできてもエンジニアのツールを潰すことはできないということだな。
TCP/IPやHTTPまで潰してマイクロソフト独自のプロトコルが作られたら
どうしようかと思ったが、その心配も杞憂だったようだ。
オープンソースとオープン化の力は偉大だ。
マイクロソフトがそれを否定しようとその現実からは逃れることができないということだ。
0465デフォルトの名無しさん
2007/01/22(月) 01:04:42そんな悲しい人間にならなくてよかったと最近常々思う。
0466デフォルトの名無しさん
2007/01/22(月) 01:06:06> 演算子の再定義ぐらいで文句言ってるのか、現代コボラーは・・・
このスレにCOBOLerなんていないだろ。
> ベクトル型とか行列型とか数式型とか
> 標準ではない型を演算子再定義なしで使うと
> プログラムの長さが10倍に膨らむから
> 再定義できる開発環境なら、再定義しない奴はいねえよw
再定義する方法を考えないで再定義を導入するのか。
Javaの+演算子のように、ユーザが独自に定義できないよう、定義済みに
しておくよう限定するならわかる。だが、
行列どうしの積と内積、各要素毎の積の演算子はどう定義する気だ?
どれかひとつを*で定義することだろう。MATLABのように内積はconv()関数を使い、
積は*、要素毎の積は.*(アスタリスクにドット)を使うという方法をとるか?
だが、ユーザによっては内積を*で定義し、積を*=で定義し、要素毎の積を*で定義するという
トンデモな輩もいるかもしれない。そのことを考えるべきだ。
それをいかにして阻止してから導入するかを考えないとだめだ。さもなければC++の二の舞だ。
0467デフォルトの名無しさん
2007/01/22(月) 01:11:16> まあ、コボル的にしか使わない言語はそれでいいけどね
> えらそうなこと言っているが、
> ベクトル型も行列型も数式型もどうせ使ったことすらなかろう
Javaのことをいっているのか。
Javaでそういう行列演算をよく使っているのだが。研究目的で。
Javaが家電用途にも使えることを知らない奴がCOBOL的とはよくいってくれるもんだ。
もういちど言うが、ユーザ毎に演算子を独自に定義するときの副作用を考えろということ。
MATLABでは行列の転置を'を使って表す。*で行列の積を表し、.*で行列の要素毎の積を
表す。だが今のJavaで後付けにそんなことをすれば混乱を招く。
行列の積を+で定義し、内積を++で定義し、要素毎の積を>>で定義するトンデモな輩が
いたらどうする気だ? そのことをよく考えろ。
0468デフォルトの名無しさん
2007/01/22(月) 01:13:23モリタポ処理のところだけならJavaで実装してもいいだろう。
そのほうがセキュリティに強いし拡張性が高まり、さらなる進化を期待できる。
それ以外、お金が関与しないところでは、たしかに無理してJavaを
使うことはなかろう。
0469デフォルトの名無しさん
2007/01/22(月) 01:14:46アドワーズは金が関与しているミッションクリティカルな
ところだからC++やPerl,PHPではなくJavaが使われて当然。
Gmailはなぜだろう。メール本文が漏れないようにするためかね。
0470デフォルトの名無しさん
2007/01/22(月) 01:16:27> 現代のCOBOLであるJavaが、業務系で頻繁に使われていることは、
> 良く知ってるんで、実例をうれしそうにあげなくていいですw
> でも、世の中業務系だけじゃないんで、他の言語にも出番はあるわけで
Javaが現代のCOBOL、業務系のためだけの言語という主張が理解できん。
今までCOBOLで作れらものがJavaにリプレースされただけだろう。
Javaはそれ以外でも使い道は多い。これからは組み込みにもさらなる力を発揮するだろう。
0471デフォルトの名無しさん
2007/01/22(月) 01:17:18> Web2.0なんて言葉はPHP厨しか使わないんだが
その根拠はどこにある。Googleのビジネスモデルだけでなく
Ajaxもブログも知らないのかお前は。
0472デフォルトの名無しさん
2007/01/22(月) 01:17:52なるほど、負け組か彼は。
「こちら側」の世界をターゲットにしか仕事ができない香具師なのだろう。
0473デフォルトの名無しさん
2007/01/22(月) 01:19:13> Office系等の主要なアプリがJavaで作られたら
> C++の出番が無くなったと納得しても良いけど
Javaの用途をまるで理解していない発言だ。
今、OfficeがAjaxで作られているわけだが、C++の
出番もますますなくなっていくぞ。
今C++に残されている出番は、過去の遺産処理と組み込み系だけだ。
0474デフォルトの名無しさん
2007/01/22(月) 01:19:33そうだ。D言語が普及すればC++の出番はなくなる
0475デフォルトの名無しさん
2007/01/22(月) 01:20:02徐々にC++化してJavaとは逆方向に向かっているので
はてどうなることやら
0476デフォルトの名無しさん
2007/01/22(月) 01:21:17> あと鼻くそは食わないけど、机の裏に貼付けたりはよくする。
プログラマならプログラマの印象を悪くするような発言はしないほうがいいぞ。
0477デフォルトの名無しさん
2007/01/22(月) 01:22:42びょーんといえば、最近はやりの
びょーん あんど じょん
というミュージシャンを思い出した。
0478デフォルトの名無しさん
2007/01/22(月) 01:23:35Javaを作った学者は、C++の影響を大きく受けたとも
主張している。SmalltalkとC++両方の影響を受けたことは間違いない。
0479デフォルトの名無しさん
2007/01/22(月) 01:24:23ピーター・ビョーン・アンド・ジョン
http://www.kansai.com/music/M0000971
0480デフォルトの名無しさん
2007/01/22(月) 01:26:07煽っているほどではなかろう。
Googleは自ら、Googleの各文字の色を変えたり飾り付けをしているぞ。
彼らは悲しい人間ではない。マイクロソフトを揺るがす成功者なのだから。
0481デフォルトの名無しさん
2007/01/22(月) 01:35:55Matrix operator*(Matrix &a, Matrix &b) { return a.multiply(b); }
Matrix operator+(...) {...}
Child operator+(Chinko &c, Manko &m) { m.accept(c); return m.fire(); }
...
}
使う側:
using operatorset Unko;
Matrix a, b, c;
...;
c = a * b;
みたいな感じで、演算子の定義はあえてクラスにカプセル化しないとか、駄目?
既存クラスの不便さも解消出来るし、演算子の定義はクラスのカプセル化を壊さないし。
演算子の意味も、ライブラリに依存せずクライアントが自由に定義出来るし。
素人(俺)が馬鹿言ってたらごめんなさい。
0482デフォルトの名無しさん
2007/01/22(月) 02:12:04Javaで済む程度ね・・・
まあ、逆行列を求めるライブラリを呼ぶだけとかか
0483デフォルトの名無しさん
2007/01/22(月) 02:26:29たぶんダメなんだと思うよ
そこらにいる、ゴミみたいなコードしか書かないプログラマをあつめて
なんとか動くコードを書かせて、それらを集めて何とか動くものにする
という感じになりがちだけど(業務系の場合はね)
そういう糞コードに、糞みたいな演算子再定義が含まれていたら、
その後の保守で泣くことになるとか、そういうことが言いたいんじゃなかな?
業務系主体の言語なら、まあ賛成できなくもない
そんな言語、趣味では絶対使わないけど
0484デフォルトの名無しさん
2007/01/22(月) 02:31:19> operatorset Unko {
> Matrix operator*(Matrix &a, Matrix &b) { return a.multiply(b); }
> Matrix operator+(...) {...}
> Child operator+(Chinko &c, Manko &m) { m.accept(c); return m.fire(); }
> ...
> }
まて、それに
operatorset Chinko {
Matrix operator*(Matrix &a, Matrix &b) { return a.subtract(b); }
}
使う側:
using operatorset Unko, Chinko;
Matrix a, b, c;
...;
なんてことしたら
c = a * b; // ここでコンパイルエラーが起きないか?
そのエラー対策はどうする気だ。実装多重継承並みにウザイぞこれは
ことなる型どうしの演算はどうする。Matrix2というクラスがあってMatrixとMatrix2との積を
求める場合は、どうキャストする? 演算子の優先順位はどう決める?
演算子のオーバーロードを安易に認めると、様々な問題が生じて、C++のように退廃とした言語になるんだよ。
そのことをよく考えて欲しい。
0485デフォルトの名無しさん
2007/01/22(月) 02:32:08> という感じになりがちだけど(業務系の場合はね)
> 業務系主体の言語なら、まあ賛成できなくもない
またすぐ業務系と煽る。発想が幼稚。
0486デフォルトの名無しさん
2007/01/22(月) 03:08:52>> 演算子の再定義ぐらいで文句言ってるのか、現代コボラーは・・・
>
>このスレにCOBOLerなんていないだろ。
"現代コボラー"=JavaプログラマおよびC#プログラマ
0487デフォルトの名無しさん
2007/01/22(月) 03:14:51JavaはCOBOLと違って複葉機がステルス戦闘機並みに進化したくらいの違いがあるし。
C++はジェット戦闘機程度。C#は初代ステルスF117A程度。
0488デフォルトの名無しさん
2007/01/22(月) 03:20:15アセンブラ 駆逐艦(巡洋艦より弱く速い)
COBOL 戦艦(艦載巨砲主義)
C 巡洋艦(戦艦より弱く速い)
C++ 超怒級戦艦(史上最強の艦載巨砲主義)
Perl 初代空母(艦載巨砲主義の終焉を意味する)
Java イージス艦(巡洋艦のアップグレード版。強力なレーダーと防空システムを備える。
巡航ミサイルも備えたミサイル艦としても機能。)
0489デフォルトの名無しさん
2007/01/22(月) 03:39:38■ このスレッドは過去ログ倉庫に格納されています