C++に対する各界の反応:
私はオブジェクト指向という言葉を発明したが、C++のことなんて全く念頭になかったね。
-- アラン・ケイ
C++の進化の歴史は文字列の抽象化を漏れを塞ごうと試行錯誤するものである。
なぜ彼らが単にネイティブ文字列を追加しないのかわからない。
-- ジョエル・スプロウスキー
C++は見栄えをよくしたCOBOLとして現在使われている唯一の言語だ。
-- バートランド・メイヤー
もしBjarneがCとの互換性にこだわる必要がなかったとしたら、Javaを開発していたろうね。
-- ビル・ジョイ
C++言語のデザイナーたちは、同じ問題を解決するアイディアが二つあると、いつも「よし、両方ともやろう」と言う。
だからこの言語は私の感覚ではかなり奇怪(baroque)なものになっている。
-- ドナルド・クヌース
歴史的に、他人に使ってもらえるようにデザインされた言語は出来が悪い:COBOL, PL/I, Pascal, Ada, C++.
良い言語はクリエイターが自身が使うためにデザインしたものである:C, Perl, Smalltalk, Lsip.
-- ポール・グレアム
C++なぞ問題外. ^^;;;
-- まつもとゆきひろ
乱立状態
4 :
デフォルトの名無しさん:2007/02/24(土) 20:47:57
ここでおk?
>>2 次から是に差し替えといえて。
--------------------------------
C++に対する各界の反応:
私はオブジェクト指向という言葉を発明したが、C++のことなんて全く念頭になかったね。
-- アラン・ケイ
C++の進化の歴史は文字列の抽象化を漏れを塞ごうと試行錯誤するものである。
なぜ彼らが単にネイティブ文字列を追加しないのかわからない。
-- ジョエル・スポルスキ
C++は見栄えをよくしたCOBOLとして現在使われている唯一の言語だ。
-- バートランド・メイヤー
C++言語のデザイナーたちは、同じ問題を解決するアイディアが二つあると、いつも「よし、両方ともやろう」と言う。
だからこの言語は私の感覚ではかなり奇怪(baroque)なものになっている。
-- ドナルド・クヌース
もしBjarneがCとの互換性にこだわる必要がなかったとしたら、Javaを開発していただろう。
-- ビル・ジョイ
言語には次の2種類しか存在しない。
皆が不満をあらわにするものか、あるいは、誰も使いもしないものか、である。
--ビャーネ・ストロヴストルップ
歴史的に、他人に使ってもらえるようにデザインされた言語は出来が悪い:COBOL, PL/I, Pascal, Ada, C++.
良い言語はクリエイターが自身が使うためにデザインしたものである:C, Perl, Smalltalk, Lisp.
-- ポール・グレアム(ただし、Javaも上のグループに入るという文脈での発言)
C++なぞ問題外. ^^;;;
-- まつもとゆきひろ
これも追加。
C++は地上でもっともバカな言語だ。
バカな言語で賢いシステムを書くことはできない。言語は世界を形作る。バカな言語はバカな世界を作る。
--スティーブ・イエギ(元Amazon開発者)
抱擁スレの
>>10 内部クラスはnewの際に暗黙のthisを渡してるだけ。
書く手間だけは省ける。
あとjavaでもコンストラクト中にthisを他に渡すのは良くない。
>>5 順番がかわって
なまえがスポルスキにかわって
ストラウストラップが追加されたか。
しかし、名前がちがわないか。
ビョーネストロヴストルップ?
ビョーン・ストラウストラップと読みたくなる。
Perlのどこがいい言語なんだよ。あー?
Perlは6になればそこそこ良い言語になる
Perlは6になればそこそこ良い言語になる
Java並みに
Perl
何だか宝石っぽい響きだね
Ruby
まるで宝石のような響きだ
どこがいいんだよ。言語仕様大してかわらん。
Javaって制限多いし面倒な言語らしいって思ってたけど
最近なんとかっていう簡単さを求めるようになってきたじゃん。
あれってどうなのさ
C++
なんていうか名前がなー
C#
これも名前がなー
でも最近C#とかC++ぐぐれるようになったね
以前は記号の検索が上手く行かなかった気がする
前前スレにあったが。
> Perlも崩壊。作者ラリーウォールが、Javaに対抗できるほどの 期待の星とされていた
> Perl6開発資金を遊びに 使って裁判沙汰になり、開発は進まず。
PHPで検索するとPHPの話がまったくでてこないURLのPHPにヒットする。
Javaではそんなことない。それはJavaがよく考えられて作られたから。
Javaやると風呂釜からヨゴレが出る
ラリーは遊びにお金を使い込んでたのか・・・。てっきり生活資金だと思ってたが・・・。
Java島の人が、Javaで検索してもJava島の話がまったく出てこないURLにヒットする。
C++ではそんなことはない。それはC++がよく考えられて作られたから。
>>19 Googleなら検索オプションから、URLを検索対象から除外できる。
面倒だと言えばまあそうだが。
ジャワ島の人たちならJawaって検索するだろ
C言語は教えるの面倒だからな
出来ることが少ないほうが教える側は楽
DECのFortranとかいわれても俺には
それがいつの時代なのか??
VB?
Windows限定の話か?
>>15 EoD(Ease of Development)?
「横山哲也の100年Windows : 新人研修で人気のあるプログラム言語」
ってあるがな。
MSプラットホーム限定の開発を行う会社で新人研修に使うとなると、
MSがC/C++を冷遇している今、C#かVB.NETの二択しかないからな。
至極当然な話。
>>25 > 新人研修で人気のあるプログラム言語
>
http://itpro.nikkeibp.co.jp/article/Watcher/20070221/262671/ > > かつて,プログラム言語が普及するのに10年かかると言われた。
> > Javaはその記録を塗り替えたがC#はさらに更新したようである。
うーむ、その発言に説得力を持たせるのはかなり無理があるなあ。
C#がJavaとはまったく異なる斬新な言語だというならわかるけど、
どうみてもそうじゃないし。Javaとの共通点が多すぎる。
それに、Javaを習得していればすんなりC#にも移行できる。
それに、今いる多くのC#プログラマは元々VC++/VB出身者ばかりだし。
それに言語がJavaにそっくりでは、
そりゃ10年もかからないでしょうなあ。過去の資産を再利用できる形に
なってるものばかりだし。 .net frameworkなんてWin32 APIの焼き増しラップだった。
そもそもプログラマの人口は厳密に測れるものじゃないし。
オープンでない処理系を使うやつの気がしれん
オープンでない処理系?
C++もEoDみたいになるのかな
生粋のC坊はキモイ言語に見えるかもしれないな
てかC/C++はアセンブラ的特長があるから難しい
>>30 JavaVMのソースコードはずっとオープンじゃなかったけど、
その間は使わなかった、という意味?
いまのJavaって去年の11月にCGP2.0として
おーぷんになったんじゃなかったけ。
GPL2.0のまちがい
Javaがオリジナルじゃないだろw
Cの構文をJavaが真似したんだろ
gciって、Global Computing Infrastructure?
最近
( c == 'A' )
が、アザラシにしか見えなくなりました。
ソースを見ているといろんな海洋哺乳類に見えてきて心が和みます。
俺は mixi が動物に見える
42 :
デフォルトの名無しさん:2007/02/25(日) 08:47:07
org=3;
全称記号が
(∀x)
アヒャって読めて困る
Java会計アプリケーション以上に洗練されたプログラムを作れるほどには
頭の出来の良くない卒業生たちを、Java 100%スクールが量産しており、
その様を私は雇用主として目の当たりにしている。
-- ジョエル・スプロウスキー
結局、「Javaができる人」、みたいな短期的な能力スペックは効かない。
-- 平鍋 健児
C++はJavaで置き換えられ、Javaもまた何かより優れたもので置き換えられる
だろうことは疑いない。7年のうちに――C++の置き換えを終えてから7年後にだ。
-- Steve Yegge
これだけ読んでみると
まつもとゆきひろの発言から知性が感じられない
C++厨だけど、やっぱりJavaと比べるとC++はキモいと思う。ある程度アセンブラ
コードレベルまで把握してないと危険な言語だし、多人数での開発に向かないし、
複雑なデータを扱う場合にCよりは効率が良いけどそこに行き着くまでの学習コスト
に対する見返りのバランスも良くない、実際企業システムなんかで安定してメンテナンス
も供給できるようなものをわざわざC++で書くのは馬鹿なだけだと思う。
公私共にエンドユーザー寄りの分野なんで他に選択肢無いのだけど、正直エンドユーザー
レベルでのJavaの実行環境の配布とバージョン管理、GUIパーツが完全にOS互換で
ユーザーの期待通りに動く事、C++粒度のメモリ管理でも高くつくような印刷解像度の
画像処理やレンダラ周りのメモリ管理レベルまでちゃんと処理出来るなら乗り換えたい位
(悪意では無く真面目な話として
別に.netでもどちらでも良いのだけど頑張って欲しい所。
>>40 そもそも、JavaやC#のクラスやメソッド名などの
命名規則として推奨されているキャメルケース(CamelCase)の
由来は、その文字の並びが楽だの背中のように
見えたことから来ている。
キャメルケース
なんだかキャラメルの箱っぽい響き
>>46 やればできると言われるんじゃないの?
JavaVMのバージョンまで管理するインストーラを付けて、
100% Pure JavaじゃないGUIツールキットSWTを使い、
自前でGCを実装する、
くらいやれば。
ただそのソリューションがC++と比べてキモくないか、
といわれれば微妙なだけで。
C++のテンプレートは確かに便利だけど
正直なところマニアックなテンプレート信者が作ったトリッキーだよな。
JavaはEoDなんてやっているっていうのについてけねーよ。
>>52 ええ、結局それを実現するコスト及びそのリターンが現時点ではC++より上回ってしまうのが
乗り換えられない理由なんですよね。そこまでやるならJVMまで含め完全にフォーク
したバージョンを専用に作るか、あるいは新しい言語を設計する方がまだ早いですから、、、
ただ言語を作るにしても最適化の実装までは正直辛いので、出来ればありものの言語・環境で
出来れば良いなぁと。
だからこそJavaも.netももう少し頑張って欲しいなぁという話と、正直C++もウンザリ
気味なのでもう少し楽がしたいと言う感想なんですよ。
>>52 一部のアレは単なるコード遊びかと、特に個人的にはlambdaやメタプログラミング
まで行くと(その割にLispのマクロ程の柔軟さは無いし)専用のトランスレータ書く方が
まだマシな気もするのですけど。
55 :
53:2007/02/25(日) 16:48:25
高レベルJava
低レベルC
手広いC++
手広い言語の代償として全て自前で面倒をみなきゃならず
高レベル処理の為色々な要素も詰め込んだ
さらに当時のCコードがそのまま通る設計をした結果
扱いづらい言語になったんだろ
キモいのは同意だがJavaと比べるのはどうかと
Javaはよく出来たDSLだろ
Javaで出来ることにC++使うのは時間のムダ
>>56 >>46からの話を追っかけた上でそう言ってるの?
パフォーマンスが問題になったときは、
Javaでも低レベルに降りて行かざるを得ない。
mustang/dolphinスレの444-あたりを読んでみなよ。
Javaはパフォーマンスが問題にならない範囲で使えばいくね?
パフォーマンスが問題ないなら、
スクリプト言語の方がずっとEoD。
61 :
56:2007/02/25(日) 20:50:57
>58
> パフォーマンスが問題になったときは、
> Javaでも低レベルに降りて行かざるを得ない。
いや、そこには全く反対していないんだが何を指摘したの?
>>61 Javaを高レベルのまま使えるかどうかは場合による。
>62
だから低レベルに行くんでしょ?
>>60 パフォーマンスに問題が無い範囲ならスクリプト言語使うほうがいいよ。
当然のこと。
その流れはおかしい。
まず
>>46からの話を追っかけた上でそう言ってるの?に返答しなければならない。
そして
>>62もその流れに沿った指摘の仕方をしないからややこしくなる。
>>56を見たら、Javaなら高レベルだけで話が済むんだ!すげぇ!
って誤解する人が出てきそう。
> ある程度アセンブラコードレベルまで把握してないと危険な言語
低レベル処理を視野に入れてるから低レベまで把握する必要がある。
危険なのは低レベ触る以上仕方ないでしょ、と。
Javaは危険度は少ないけれど、低レベ処理は殆ど出来ない。
と私は>46に返したいんだけど間違ってる?
>66
あらら、そう読めちゃう?変な書き方だったらごめ。
使い分けるもので比べるものじゃないんじゃないか、と言いたかった。
C/C++から見れば、当然Javaには出来ないことは多いからね。
スクリプト言語でも最近は簡単にCで拡張書けるんだから
ホットスポットだけCで書けばいいじゃん。
そうなんだよね。
Boost.PythonでPython + C++の方が、
JNIでJava + C/C++よりよっぽど楽そう。
↓ここで「型に甘いスクリプト言語など論外」とJava厨が登場
というより、JNIで高速化ってのが、既に過去の遺物的な考え方でしょ。
Cでregister変数で高速化ってぐらい時代錯誤。
packet socketとかjavaから叩けないI/Oと繋ぐとか以外にJNIの使い道無い。
まあ、SWTはSwingより遅いこともあるらしいけど。
JDBCも、今ではPure Javaばっかり?
Python + C++とかRubyとか、あとCOMとかにすればVBとか
他言語との連携がC++は結構あるし、実際使われてるような気がするけど
Javaはこの辺はどうなん?
JDBCはType2とType4なんかじゃね。
漏れはType4ばっか使うけど。
76 :
デフォルトの名無しさん:2007/02/26(月) 01:34:59
>>73 >JDBCも、今ではPure Javaばっかり?
本来インターフェースは「Pure」であるべきだが。
何が言いたいのかよくわからん。
Sunの構想的には今後はJython/Jruby/Groovyもプッシュしてるみたいね。
モロCLR対抗って感じ。Javaは死んでもJavaVMは残るかな。
Jythonは名前がダサすぎ。
良いじゃんジャイ子っぽくて
>>68 言っている事は間違ってないと思うが、それを言ってしまうとこのスレ自体の存在異議が危ういと思うんだが
>>73 >まあ、SWTはSwingより遅いこともあるらしいけど。
結論から言うと、jdk5以降は、Swingの方が明らかに高速。
コモントントロール使うと、ボタンにしろ、リストビューにしろ、コントロールとのI/Oが
SendMessageになる。そしてSendMessageの実行コストが高すぎる。(Windowsプラットフォームね)
そのせいでだと思うけど、標準的なテーブルであるJTableとリストビューを比べると
圧倒的にJTableの方がパフォーマンスが良い。
あと、SWTだと、全てのコントロールがウィンドウシステムのウィンドウになるのも痛い。
そういう背景もあって、jdk5, 6では既にSwingの方が概ね速い。
でも、Swingは見た目が違和感ありまくり。
Java界隈だと、あれでjdk6では改善した、もうネイティブと変わらないとかいう発言が
飛び出すから驚く。普段Windowsを使ってない人には違いがわからないのかもしれないけど、
Windowsを常用してたら、明らかに違和感を感じるUI。
欧米人が「東洋人はみな同じに見える」、年寄りが「欧米人はみな同じに見える」ってのと
同じなのかね。日常的に接していない文化に対しては、差異を感じる能力が働かないってやつ。
ただ、Vistaになって、GDI、WinFormsが混在し始め、これからWPFアプリもでてくるしで、
Windowsアプリのルックスの統一感が無くなってきてるってのは、Swingアプリが受け入れられる
下地になるとは思った。
>>76 インターフェイスがPureであるべき、というのがどういう意味かわからんが、
JDBCについては、実装にJNIを使ってるのと、Pure Javaのやつがあって、
パフォーマンスが違うと聞いたことがあったから。
>>81 SWTスレの238-?まあそれだけをもってSwingの方が速いと
断じるのもどうかと思うけど。
ついでに言うと、SWTは3.3でWPFを使う実装も出てきてるよ。
OSのウィンドウシステムの薄いラッパ、というスタイルを貫くみたい。
84 :
83:2007/02/26(月) 11:34:20
プログラミング言語C++ってみんな積ん読だよね。
人を殺すにはやわらかすぎるし、せいぜい筋トレにしか使えないよ。
そもそも言語設計者が普通のコード書けなさそうだ。
ゲープロだけど、いつまでこんなきもい道具使わなにゃならんのかとうんざりする。
他はみんなJavaやC#に避難してるわけじゃん。ムナシス
ジャンルにもよるけど、ゲームならネイティブコード吐けなきゃダメっしょー
でもゲームデータ作るためのツールは、べつにネイティブである必要ないからなぁ。
最悪、エクセルで良い。
>>86 ゲームのジャンルによるだろ。
一般には、音と画像の同期が必要なんで、同期とりやすいネイティブが
使われるけど。
画像の方は時々短い引っかかりが発生するぐらいなら
気にならないし、実時間にあわせて補正してやれば、中間画像はユーザーが
脳内で補間するが、音はそうはいかないので、実際には音に対する要求の
方が厳しい。
そのあたりをクリアできるフレームワークが提供されればjavaなり.netでも十分。
アプリケーションドメイン、フレームワークの線引き次第か。
>>81 自分もなぜネイティブのエミュレートに
執着してるのか分からなかったな
ソースもCで書いたようなひどさだ
Javaはがんばるバカ
C++は何もしない天才だよ
コモントントロールには突っ込まないのが優しさ
コモントントロールがあらわれた!
既出かもしれないが
C言語互換のためと無駄なことしない(悪いことじゃないけどさ)という考えで
ポインタをNULLで初期化する処理は書かなきゃやってくれない。
C言語は初期化しない
そういうもんだと思ってきたけど
やっぱ不便だな。
Xxxx::Xxxx()
: pA(NULL), pB(NULL)
{
}
Xxxx::Xxxx(int) // 引数つきコンストラクタでも明示的に書かないといけない
: pA(NULL), pB(NULL)
{
}
>>93 boost::scoped_ptr使うか、それが大げさすぎると思うなら、
scoped_ptrのソースから一部分を適当にコピペすればできるでしょ?
>>83-84 ずいぶんと古いすれだな。
もう4年も経っているんだから
今なら、Swingのほうが圧倒的高速になってもおかしくはないのではと思えてくるが。
Java5からかなり高速化されたし。
NetBeansと Eclipse + VE + WTPとを比較したら
NetBeansのほうが圧勝だろう。
>>95 試してみた人もいるみたいだけど。
http://www.javalobby.org/java/forums/t64684.html > Oh, I'd like to dispell here and now the myth that SWT is only suitable for Windows GUI programming.
> As has been pointed out, Swing still has pretty poor support for Linux (even with the enhancements
> coming with 6.0).
> Except for performance on a very few set of circumstances
> (Clemmens Eisser for instance SWT completely blows Swing out of the water on GTK Linux
> in both performance and integration.
97 :
デフォルトの名無しさん:2007/02/26(月) 21:58:58
>>95 >NetBeansと Eclipse + VE + WTPとを比較したら
>NetBeansのほうが圧勝だろう。
使い勝手と速度は別物なんだな、ってのをこれだけ実感できる比較も珍しい。
使い勝手というより使い心地かな。
NetBeansはルックスしょぼい、フォントしょぼいで、なんかプログラムを書く気がうせる。
創造的なプログラミングという行為を、コーディングという単なる作業に押し下げるソフト。
アレでモチベーションを保ち続けられるって、Sunのエンジニアは余程モチベーションが高いんだろうな。
SunのエンジニアがNetBean使ってるとは限らないじゃない
Sunの人間ならふつーGosmacs
先生!セピア色に見えません。
どす黒く見えます!
ただし、これはデュークからは学べないことだ。
>>97 Swing開発ではあきらかにEclipse+VEよりNetBeansのほうが快適だけどねえ
昔たけし軍団セピアっていうのあったな確か
Javaだけの人って、Pure Java以外は全否定なのか・・・
Javaなんてウンコ!
J#サイコー!
てな人はおらんの?
そもそもC++とJavaを言語そのものとして比較なんてできるのかね?
GCに依存した部分ってのは、言ってみれば全部VM依存なわけでしょ。
GCがないとか、Stringが不便だとかって、わざといってんのかって気になる。
そういった部分を全部バイナリにコンパイルできるように言語仕様を抽象化すれば、
結局Javaなんて何にも残んないよね。
C++になんかいうよりも、「ネイティブアプリケーション、ダサッ」って言っちゃえば
それで済むんじゃない?
C++/CLIは依然としてダサいことこの上ない
>>107 なんか人間からもエルフからも蔑まれるハーフエルフみたいに可哀想な子だよな。
109 :
デフォルトの名無しさん:2007/02/27(火) 01:43:30
Swing Application Framework あげ
>>104 いみがわからん
>>105 あまりにも奇特でものすごくレアな存在だろうからな。
普通なら、J#よりもC#を選ぶだろう。
>>106 だがそれらがないと実際に不便であることは事実だろう。
にしても、何が言いたいのかわからないな。
便利なものは使って当然だろう。
ハードウェアをC++にたとえて、
ソフトウェアをJavaにたとえると、
お前の言いたいことは「ハードがなければソフトはただの紙」だといいたいだけだろう?
だが逆のことだって言える。「ソフトがなければただの箱」。
たたそれだけのことだ。
>>106 java も gcj なんかでネイティブバイナリになるわけだが
わかってて言ってるんだろうか。
そもそも
> そういった部分を全部バイナリにコンパイルできるように言語仕様を抽象化すれば、
> 結局Javaなんて何にも残んないよね。
って「全部機械語になるんだから高級言語何かいらない」といってるに
等しいような気がするんだが。
言語が先か、実装が先かの差・・とか
キモイ流れになってきた
元々キモいスレですから
JAVAの速度が問題なくなってきたのはいいけど、C#がでてきたのが誤算だったよ
ここでC#にネイティブ出力対応とオプソ版の普及があれば面白いんだけどね
あ、でも次はすぐに「スクリプト言語やったら仮想マシン言語が・・・」になるのでしょ?w
オープンといえば今のところ最有力なのがMono
あとMicrosoftもC#コンパイラくらいはソース公開していた気がする
>>116 もうなってる。
つ Beyond Java
obj.method
と
obj->method
の使い分け
あー面倒だ
std::vector< X* >のようにすると
(*it)->methodなんだよな。
ヘンナノ
そもそも
obj->methodが
(*obj).methodのことなんだよな。
そこでboost::indirect_iterator
(*it)->methodではなくit->methodと書けるようになる
まったくなんでもboostだな
普及するのに時間かかるから明日にでも標準にしろよ
boostってブーストなの?
>123
ブースカ。
ポインタ参照を前置型単項演算子にしたのが諸悪の根源。
後置型ならこんなこと起こらなかった。
ポインタからの関数呼び出しも、ポインタからの配列参照もスッキリ書けた。
>>125 へえ、見てみたい。なんか例だしてみて。
例えば $ が後置型ポインタ参照演算子とすると、
(*pp_struct)->member は、 pp_struct$$.member って書けばいいし、
(*p_function)(arg1,arg2) は p_function$(arg1,arg2) って書けばいい。
後置演算子[0]を使いたまえ。
//うほ いいオブジェクト やらないか
//いいこと思いついた お前俺の中にnewしろ
void *a;
void *a;
a=new CMyclass;
//CMyclass*とキャストしたままアロー演算子なんて
//頭がフットーしそうだよぅ
((CMyclass*)a)->n=0;
>>131 おうちで寝たまま書いてるからご心配には及びませんよ^^
つ参照
マジレスするとC++の場合ユーザーがメモリを全て管理するモデルなんでインスタンス
でもポインタと実体のメンバを分けているのではないかと、参照とか乱用するとソース
コード見た時所有権が曖昧になるし。
ただそれが文法を汚くしているには同意、GC前提にできればもう少しスッキリした
割り切りで文法が作れたかもとは思う、無論GC前提を無条件でマンセーする訳じゃないけど。
134 :
133:2007/02/28(水) 05:52:02
訂正
>ポインタと実体のメンバ
ポインタと実体のメンバ参照
今すぐオーバーロードすと#defineするんだ!
137 :
デフォルトの名無しさん:2007/02/28(水) 23:55:57
>>135 Pascalのポインタ参照は後置型だから、別に目新しくもなにもない。
むしろPascal触った後でC触ると、Cの設計者はヴァカじゃないのかと思える。
(しかも、Cの方が後発言語だった気が・・・)
138 :
デフォルトの名無しさん:2007/02/28(水) 23:59:56
補足。
ストラウストラップは、 -> を後置型ポインタ参照にしようかと考えたと著書で述べている。
つまり、
p_num-> = 10;
とか
pp_func->->(arg);
とか、こんな感じ。
なんでやめたのかは忘れた。
JavaもC++も過去の言語だということになぜ気がつけないんだろうね
エスパーごっこでもしてみるか。
JavaもC++も過去の言語
→ じゃあ今の言語って何?
→ ぷぎゃー(AA略) プログラミング自体が終わってるんだよ、早く気づけ。
> → じゃあ今の言語って何?
Lisp
> → じゃあ今の言語って何?
Algol
Ada
C++のtemplateはAdaの汎用体が元ネタだったかな。
>>145 「しかし、希望もあります。」だって。Ruby作者にそんなこと言われても・・・
ちなみに、次期標準のC++0xでconceptが導入されたら、
今は判読不明なテンプレートがらみのエラーメッセージも
ちょっとはましになりそうな感じ。
148 :
147:2007/03/02(金) 21:55:01
ごめ、「判読不能」と「意味不明」が混じっちゃった。頭悪い俺
>>147 あぁ、テンプレートは動いてる(コンパイルできてる)ときはいいけど、
何かのはずみで、通らなくなったら、必死で脳内ロールバックせんと、
何が悪いのかわからなくなる。
VC++では、テンプレートの中でエラーになると、
エラーメッセージと共にそのテンプレートがどこから呼び出されたかも
順に表示されるのだが、これはいいと思う。
>>150 それはバージョンも併せて言ってくれないと不親切。
少なくとも7.1からはそうなる。
//test.cpp
#include <algorithm>
int main()
{
int *first, *last;
std::for_each(first, last, 1); //3つ目の引数が関数オブジェクトでない
}
H:\>cl test.cpp
test.cpp
C:\Program Files\Microsoft\Visual Studio\.NET 2003\Vc7\include\algorithm(21) : error C2064: 1 引数を取り込む関数には評価されません。
test.cpp(6) : コンパイルされたクラスのテンプレートのインスタンス化 '_Fn1 std::for_each<int*,int>(_InIt,_InIt,_Fn1)' の参照を確認してください
with
[
_Fn1=int,
_InIt=int *
]
>>149 それはバグの性質と対してかわらんな。
作ってすぐに問題が出れば、どこが悪いのかすぐわかるし、
あとになってそこが原因で問題がでたら、どこが悪いのか
わかりにくい。
D言語のテンプレート >>>>>>>越えられない壁>>>>>> C++のテンプレート
>>152 日本語訳のやる気のなさは異常
もうエラー番号だけでいいじゃねえかと
なんつーか、プロバイダごと規制ってほんと迷惑
>111
いや、要するに、StringがJavaで何不自由なく使えてるというのは、JavaVM上で
その定義を制限しているからに他ならないということだよ。
ガベージコレクションもそう。
結局はVMの仕様として定義された部分に依存してる。
C++でガベージコレクションをつけるということは、実行時に常にバックグラウンドで
メモリ管理プロセスをまわすことになるよな。
JavaはVMでGCをstaticに回すことも可能だろうが、C++のような独立したバイナリを作る言語ではそれぞれでGCを回す羽目になる。
開発者はたまらんと思うよ。
157 :
デフォルトの名無しさん:2007/03/05(月) 01:58:59
結局Mac(Objective-C)もGCに流れたしね。
確かにGCやるならOSレベルでやらんとしょうがない気がするけど。
古いコーディング形式もサポートってAppleはいってるけど、
所詮GC動かしながらだろうから、使わない方が意味なくなって
くる気がする。
C++だったら
CGで遅延して解放もできるし
デストラクタでリソース即解放もできるってことだな。
C++はポインタが使える言語だから
高級言語っぽいことさせるの難しいよな。
色々いじれて面白い言語だから好きではあるんだけど。
ポインタがあるC++だと、性能の悪いGC方式「Conservative GC」を
選択せざるを得ないのだが、性能重視のC++を汚すことにならないのかねぇ。。。
Cくらい低水準でありながら、言語仕様を書き換えられるような言語ってないの?
C++の演算子のオーバーロードやテンプレをもっと強力にしたやつ。
Javaみたいに、存在を意識する必要のないGCも実装可能な。
(use 'lisp)
そうくると思ったぜ。
>>160 C程低水準では無いけど、.NET系の言語でNemerleってのがパターンマッチで文法まで
新規で定義できた筈。ただ以前触った限りまだコンパイラ自体が不安定で萎えたので
余り検証してない、C++の演算子オーバーロードよりははるかに強力だけど基本的には
コンパイル前の展開のみなのでLispのMacroと比較してどの程度まで出来るかは不明
GC は,入るとしても transparent (optional) なものになるんじゃないですかね?
あと Nemerle のコンパイル速度の遅さは異常
確かにOSのAPIがNative前提で書かれている現状では全てをクラスライブラリでラップ
しないとGCは辛いか、、、DLLやsoの複数モジュール・スレッド含め全部GC管理下にないと
いけないし。
ただOptionalと言ってもGC実行には全てのスレッドのスタック変数の型情報が無い限り
限定的なconservative GCしか実装出来ない気がするし、特定アプリのデータ型に限定した
GC的なプログラム構造なら今のC/C++でも実装できるし(実際たまに使う)
C/C++のようなNativeべったりの言語でデータ型に依存しない汎用的なGCの実装って
せいぜいGCと非GCのオブジェクトのドメインを完全に分けてしまうC++/CLIみたいなグダグダ
なものかBoehm GCのようなトリッキーな話しか思いつかないんだけど、他に何かあるかな?
C++のGCに関しては/CLIが正解だと思うな。グダグダとは思わない。
アプリの本質的な所をGC有りで作って、
GC無しでラップするのもそう難しい事じゃないだろう。
既存資産の利用・実行速度・開発効率を取捨選択出来るのはC++の良い所だし。
Boehmはあまりにトリッキー過ぎる。
すごいとは思うけど、やっぱり「無理してる」と思う。
GCは根っ子(スタックなど)からのGC参照の連鎖が取得出来る必要がある。
そのためには言語レベルでの制限がどうしても必要になる。
本当に効率的にGCするにはOSレベルか、
複数のアプリをまとめて管理するフレームワークが必要だろうね。
個々のプロセスが領域取るのは無駄が大きい。
javaのアプリケーションサーバーみたいにしないと。
>>166 個人的にはC++も醜い(有用性と構文の必然性は分かる)ので上のような書き方を
したのだけど、その辺は確かに個人の受け止め方はあるかもね。
でGCだけどやっぱ汎用性を重視するとそういう話しかならないか、、、
C++の場合アセンブラコードまで含め予測できるのがメリットなのに対しC++/CLI
は構文だけC++にしたCLR言語で主体はあくまでCLIバイナリになるし、部分的に
インラインアセンブラのようにC++コードが混在しているのを上手くコンパイラが
ラップしているという印象だから、その辺を.NETライブラリを分離してもっとコンパクト
な(かつてあったWabaVM程度のもの)で分離可能に設計できる方がC++っぽいかなと
思ったのだけど、なかなか難しいかもなぁ
結局GCの実装はトップレベル変数をリストアップできるがが大問題なのだよね、
C++ではそれが難しいし現行のアセンブラコードにはそれが入り込む余地が無いと。
やっぱりリファレンスカウンタ+データ構造に特化しかGC程度が妥当な気もするなぁ
>>116 誤算じゃないだろ。
あれは自然な前進。
D言語がでるのも同じ理屈
PerlやPHP, Rubyが日に日に増してJavaのような
言語になってゆくのも同じ理屈
Javaも他言語に包含されて廃れる運命なのか・・
JavaもC++に近づいてるな
C++はHaskellに近づいている気もする
妥協から真理へ近づくにつれて役に立たなくなる
>>171 なんかそういう意見って、「アイドルはデビューの頃が一番好きだった」
と言うアイドルヲタの心理っぽくて理解できん。(w
立ち位置の話でしょ
流行廃りがあるんだからしゃーない
言語の進化を否定するつもりは無いけど、結局の所既にプログラムに必要な要素
はほぼ出揃っていると想定するか、あるいはもっと良くなる筈だと考えるかという
所で見方も違うんだろうなぁ
かつてのWorth is Better vs The Right Thing論争を見ているみたい。
個人的には言語は所詮道具でしかないのでいちいち道具のメンテナンスに付き合うのは
程々の方が有り難いけど。
175 :
デフォルトの名無しさん:2007/03/09(金) 22:42:44
ほんとJava不安定だな・・。このクソ言語早くなくならんかな。
javaのどの辺りが不安定なの?
178 :
デフォルトの名無しさん:2007/03/09(金) 22:54:36
179 :
デフォルトの名無しさん:2007/03/09(金) 23:31:42
HSPをやるとBASICがセピア色に見える
脳内言語からすると全ての表現言語は色あせて見える
BASICは構造体やポインタが実装されているものもある
そしてアセンブラは標準装備だ
182 :
デフォルトの名無しさん:2007/03/10(土) 00:41:13
C++のアプリは不意に落ちるのが多いが、Javaのアプリはもっさりしてきて、
応答不能みたいなのが多い。
まさにポインタの危険性と、GCの弱さがそのまま結果に出てる感じだ。
>>182 GCがなんで、もっさりしてきて、応答不能の原因だと思ったのか意味不明。
>>182 >Javaのアプリはもっさりしてきて、
使っているとだんだんもっさりしていくのも嫌だが、
Javaはそもそも始めからもっさりしてるから大嫌い。
もうね、もうちょっと他人にも分かるような説明書けよと、色々注意したいけどとりあえず消えろ
もっさり以上のなんの説明がいるのかと
187 :
デフォルトの名無しさん:2007/03/10(土) 01:44:51
なんでJavaやC++なんていうクソな言語で開発してんの?
RubyとかLispとかもっとエレガントな言語はいっぱいあるわけじゃない
SmalltalkやEiffelだってJavaなんかよりずっといいのに
188 :
デフォルトの名無しさん:2007/03/10(土) 01:55:30
君何作ってんの?学生さん?
メジャーな言語ほど、だんだん機能が増えてシンプルでなくなる。
C言語もC89で打ち止めかと思いきや、C99だしなあ。
final Javaはいつ完成するのだろうか。
言語の拡張にもオブジェクト指向的継承概念が必要ではなかろうか。
>187
Rubyはある程度経験した人ならエレガントなんて言えないぞ。
さて、COBOLの保守に戻ろうか
192 :
デフォルトの名無しさん:2007/03/10(土) 07:42:13
もうMSX BASICでいいよ
しかしもう後戻りできない。
Rubyも表記が複雑になる一方で糞言語。
最終的に開発言語のスタンダードは
COBOLに回帰する。
COBOL見たこと無いなぁ
COBOL見たこと無いっておまえら中小ばっかかよ
むしろ大手でも部署が違えば見たこと無いと思われ
自分はパッケージだったのでCOBOLはおろかJavaすら殆ど見なかった、たまにそれ系
の部隊からWinのセキュリティ回避でJNIとの組み合わせの相談受ける程度
>196
C/C++,Java,perl,PHP,Python,JavaScript,VB,C#,D,ActionScript,MSX Basic,
Fortran,ぴゅうたBASIC,Delphi,LOGO,FamiryBasicぐらいなら見たことあるが、
COBOLはいまだにないなぁ。
フリーの開発環境(OpenCOBOL)でもいじってみようかと思ったら、
なにこの「いったんCのコードに変換する」って(w
>199
元々COBOL自体が汎用機向けだからなぁ。
OpenCOBOLは俺も一度入れたコトがあるが
Cのコードなんて吐かないか、もしくは意識しないと思ったが?(1コマンドでリンクまでやってくれる)
バージョンや環境で挙動が違うのかな。俺が入れたのはCygwin用だが。
必死になって知ってる言語羅列しなくてもよかろうにw
半分趣味だとしても残り半分からみて中小WEB系なんだろうな
まあ、COBOLの案件はおいしいと思うよ。
あからさまに他の言語よりもステップ数(?)少ないワリに
金ボれるし、みんな素人(と言うとCOBOLerが反発するが)
なんで、過去の誰かのソースを延々と改変コピペだけで
成り立つから頭使わないし。
金融系の一部と県とかの官公庁の一部のプロジェクトでCOBOL使ってたりするけど、
辞典の様な修正履歴が「紙」ベースで管理されていて
ロクにメンテされていない仕様書を見て、デタラメ記号な変数
おっかけながら10以上前の腐ったソースの保守ってあんま楽しい
作業じゃないぞ。
中小企業に縁がないのはある意味いいことだぞ。
なんだかんだで官公庁とか金融系から天下りを受けてないって証拠でもあるしなw
>10以上
10年以上
スマソ
確かに中小Web系だった時期にやったものが多いな。
CMSのベース言語だったから触ってみた、ってのも入ってる。
その頃の会社でも、COBOLの案件は一度かかわったら戻って来れないと
恐れられていたな・・・。
ところで、この際聞いてみたいんだが。
COBOLって、実際のところただのマクロなんじゃないの?ちがうの?
マクロは数を数えられない
COBOLの案件に関わると戻ってこれないと言うか、
COBOLの案件がWebの案件と違い、開発期間の長さだろう。
COBOLだと平気に3〜5年のプロジェクトがあるから、
最初のヌルい時期はまあいいかもしれんが、後半戦は
グダグダになるのがデフォみたいな感がある。
ウォーターフォールな開発のお約束で「いまさら仕様変更?」って
ノリもあるのだが、言語の特性上そういう修正に弱いんだよな。
そして言語の特性上、それらのイージーなデグレ発生率も凄いしなー。
#テスト工数なんかは言語はあまり関係ないけど。
マクロと言語の違いはなんなんだろ
>>171-172 ワロタ。
JavaがC++に近づく気配はいっこうにないな。
どうみても異なる路線をとっている。
むしろC++のほうがJavaに近づいていまいか?
210 :
デフォルトの名無しさん:2007/03/11(日) 22:34:44
何が楽しいんだ?幸せだな
いや、近づいていない。
C++0xでの拡張はほとんどテンプレート絡みばかり。
実装によって「メモリーのコンパクションは未対応です。メモリーの断片化に注意してください」とか言われるJava。
ネイティブいじらせてくれないのに、どうすりゃいいんだ。
その点C++は自前でメモリープールを(実用的なパフォーマンスで)記述できる。
>>212 そりゃ、オマイの実装が悪いってオチじゃないのか?
>>213 「オマイの実装」ってなんだよw
VMはプラットフォーム側が用意するものだからそれが腐れてるとどうしようもない
結局JVM様の顔色伺う必要があるところが糞言語なんだよな。
しかもJVMは実装が複雑だから、腐れたものがいくらでも転がってる。携帯機とかでな。
PC環境でぬるく仕事してるならJavaでもいいが、結局実際の仕事になると、全て自分の責任できりもりできるC++のほうが安心。
VM無しで純粋に言語だけの話しを
すると、C++からJavaのライブラリ群
が全部使える上にGCもリフレクション
も可能(例とするとGJCで利用できる)。
そんな中、あえて言語としてJavaに拘る
理由が解らん。
純粋に言語だけの話をするなら
アセンブリだけで何でもできるのに
あえてC++に拘る理由がわからん。
と言うかさ、JVM用のC++コンパイラでオススメのヤツってないの?
>>216 組み込みでjava開発のはずが、kvmがバグバグで、
cソースばっか修正するはめになって、死にたい。。
>>218 言語上の優位は、
機械への緻密な操作性と、
演算の抽象化や型の推論機能などのメタな部分での生産性に
大別出来るがアセンブリは細かな操作性しかないだろうがタコ!!
こっちは、抽象性なんかも踏まえて言ってるんだ。タコ頭でも少しは捻れ。
そこまでやるんならLISPでいいよ
イヤならgcjとか他のネイティブコンパイルするのつかえ
こんなんやりたかったんだけど、コンパイラさんに怒られちまった。
C++だったらできるの?
public class HelloWorld implements Listener<FooEvent> , Listener<BarEvent> {
public void happen(FooEvent evt) {
System.out.println("Foo!");
}
public void happen(BarEvent evt) {
System.out.println("Bar!");
}
}
public interface Listener <DataType>{
void happen(DataType evt);
}
できるだろうね。こんな感じ。
template<typename DataType> class Listener {
public:
virtual void happen(const DataType& evt) = 0;
};
class HelloWorld : public Listener<FooEvent>, public Listener<BarEvent> {
public:
void happen(const FooEvent& evt) {
std::cout << "Foo!" << std::endl;
}
void happen(const BarEvent& evt) {
std::cout << "Bar!" << std::endl;
}
};
テンプレートは別のC++コードに置き換えられるが
JavaはObjectベースのキャストに置き換えられるんだったかな。
happen(const Object)が2つ宣言されて怒られるのが原因だと思う。
あれ?Javaにconstってあったっけ?予約語だけど意味をなさないものだと思ってたが。
多重継承禁止のVC++がほすぃ
今日、Java弄っててtypedefがないせいで、片っ端から馬鹿のひとつ覚えでintが
使われててキモかったんだけど、アレどうにかならんの? C++なら一か所変更
するだけで済む修正が、アレだとリファクタリングツールで一発置換ってわけにも
いかんし。
>今日、Java弄っててtypedefがないせいで
はぁ。
>片っ端から馬鹿のひとつ覚えでintが
>使われててキモかったんだけど
…はぁ?
てかtypedefが無い理由でint使う状況ってなんだ?
あ、そうかJava厨にとってはそれが当たり前だからキモく感じないわけか。
不細工なヤツが毎日鏡見る度にいちいち「きめぇ!」とか思わんもな。
また救世主が涌いてきたよ・・・
>>230 無知なヤツは黙ってろとは言わんが、typedefについて勉強してから出直してくれんか?
香ばしいC++厨の光臨でつな
>>235 それはすまんかった。
typedef int count_t;
typedef int score_t;
typedef int round_t;
こーゆーことができなくて全部 int になっちゃうとですよ。
で、たとえば score_t に相当する int を long にしなくちゃならなくなった時に
Javaの場合はどう対処するのが一般的なのかな? と。
class count_t
{
public int value;
}
ごめん俺Javaよくしらない
>>238 高々エイリアスの一つにつき一ファイル増えるのは馬鹿馬鹿しいけど、
全部 int のまま使っちゃうよりはましかなぁ。うん、その方法採用するかも。
ありがとん。
まぁ、共通点を見つけて一発ゴリっと変換くらいしかないべ
増やさなくてもええべ
1ファイル1モジュールの時代でもねーんだし
甘い設計には辛い応酬っつーことで
ぶっちゃけ、
typedef int count_t
がダサい。型のサイズは言語使用的に固定されてるんだから
こんな下らないことする必要ナス
>>241 あれ? Javaって確か1クラス1ファイルな制限がなかった?
>>242 黙ってりゃ、馬鹿だとバレずに済むのに。
それだと参照型は全部Object型でいいよ、みたいな雰囲気に近いな
それだと11個しか使えるメソッドねーじゃねーかw
テンプレートのことを言ってるんならごめん
つ ぽりもる
JavaってCで言う#defineはないの?
確かプリコンパイル機能は付いてなかったはず
少なくとも俺の環境では無い
>>248 禿でさえプリプロセッサの類は消したいと思ってる。
Javaにはない。そのおかげで構文解析が楽になり、リファクタリング系のツールが充実することになった。
プリコンパイルじゃねー(orz
>>249 プリコンパイルはヘッダまわりを予めコンパイルしておく機能だぞ。#defineになんの関係がある?
>>249=251
お前、最近、C言語のスレでプロプロセッサとか喚いていたヤツか?
プリプロセッサが無いから、いちいちビルド待たなくていいんじゃん
別にintですむからint使っているだけなんだと思うが。
昔のcで使っているcpuによってintが違う状況ならともかく
javaのintはすべて同じなんだから
>>228の言っているのは
アフォですか?って気分なんだか。
通貨とかの計算でint使っていて、あとから変更する時に
「Javaにtypedefが・・・」とかヌカすなら、言語じゃなくて
>>228のクラス設計が馬鹿なだけだし。
というか、そんなにほしいなら、プリプロセッサぐらい自前でったらどうか。
>>242=255
黙ってりゃ、馬鹿だとバレずに済むのに。
>>255 いや、Cの人はenumとして使ったりするからだよ。 win32とかで腐るほど出てくる。
>>256 独自拡張マンセーのMSみたいな発想ですね。
261 :
228:2007/03/14(水) 03:18:46
>>255 俺がメンテしなきゃいけなくなったそのプログラムを書いたJava厨と同じような臭いがするよ、お前。
お前のおかげであの馬鹿がどうしてあんなアホなコードを書いたのかよくわかった。礼を言うよ、ありがとう!
>>228 こんな時間で一人だけ勝利宣言でつか・・・。
アフォなプログラマってどうも狂信者と同じで、テメエのヘボを言語の性にしたがる癖があるよな
>>228がJava言語そのものを叩いてるように見えるなら
残念ながら君には本気で読解力が足りていないと思う。
煽りとかじゃなしに、マジで。
具体的なソースをださずにあれこれ文句垂れてるのはよーわからんが。
単にintしかしらんアフォもいるだろうけど、
typedefがないので、ってくだりも変だと思うけど。
漏れの中ではtypedefに関してはない方がクラス設計を
しっかり考えとけって方法性につながると思うので悪くないと思う。
その弊害か恩恵かは知らんがリファクタリング系の
ツールが充実しているのは事実だしな。
なんだかんだいってtypedefって組んだ人間だけが利便性ある機能な
気がしてならんが。
265 :
デフォルトの名無しさん:2007/03/14(水) 07:08:40
アクセッサ経由にしてアスペクト使えばいいだけだろう。
Java のプリプロみたいなもんだし。
266 :
デフォルトの名無しさん:2007/03/14(水) 07:22:24
Javaって
アセンブラ
使えません
つかCでintをlong intにするのとJavaでintをlongにするのと
労力は変わらんと思うんだが、「Java厨は・・」とか言うの変じゃね?
ソイツはCで組んでも同じだと思うし。
業務アプリやパッケージとかでtypedef使う社内ルール無視して
個人で好きなコーティングしているなら、そいつ個人に文句言えばいいと思うけど、
そうでないなら、そういうルールを徹底してない素人開発集団ならでは
よく談話で終わると思うんだが。
整数の暗黙の型変換がうまくいくのはint->longのときだけ。typedef導入のうまみがなさすぎる。
ほしい人はプリプロ作って適応すればいいだけの話。
漏れの中ではintって結構使い捨てと言うかその場限りの変数的な
使い方するケースが多い[ for(int i=0;i<hoge.length;i++) ]だけど、
後はオブジェクト参照と言うか、RDBの型に合わせて算出や操作するんで、
現実的に修正にプリプロ欲しいって言う神経がよーわからん。
つか労力考えたらいらんだろ。
そりゃ前世紀に日付を6桁で保持しているシステムに対して
2000年対応の案件で日付を8桁化するプリプロもどきでソース数百個を
一気に修正ってのはやったことあるが、ここで言っているケースとは違うと思うしな。
まあ、アフォの作ったソースが数百単位であるならプリプロ作れ、としかいい様がないが。
Javaが注目され、使われている(た)分野は
・ブラウザ(アプレット)
・サーバーサイド
・携帯電話
だが、どれも出た当時は他に代用がなかったものばかり
(サーバーサイドも当時はPerlで作ったプログラムをCGIで動かすのが主流だった)
決してJavaが優れていたからという理由ではない
実際アプレットは完全にflashに置き換えられてしまった
AjaxのjがJavaScriptのことだと知った上でそう言ってるのか?
最後の行の「flashに置き換えられてしまった」に噛み付いてるのか
JavaとJavaScriptを混同しているのか
GWTのことを言っているのか
どれかはっきりしてくれ
なんか、リファクタリング系のツールがって何度も言ってる人がいるけど、口癖なんだろうか。
そりゃ多少労力はかわってくるが、基本的に関係ないだろうにw
リファクタリング=全消去して最初から書き直すこと
それリファクタリングできなかったときの最終手段じゃねーかw
>>264 Java厨的な発想だな。Javaにはtypedefがない以上、typedefがないことを前提で
設計・実装を行わなければならないってだけで、typedefはあるに越したことはない。
あと、typedefがintのサイズが云々と馬鹿なこと言ってるヤツがいるがそれは
typedefのひとつの側面にすぎない。typedefがあればある意味で型を抽象化できたり、
型に用途別の意味を持たせることができる。このあたりは設計的にも大きな価値がある。
typedefがないJavaにおいて設計が悪くて一部の用途で使用されている int だけを
long にしなきゃいけなくなった時に、それが大変なのは設計を誤ったヤツの自業自得
だなんて考えは前時代的思考も甚だしい。そんなんだから現代コボルって呼ばれるんだよ。
依存関係を追いかけて一部のintだけをlongに置き換えてくれるような
リファクタリングツールがあるんだろうか。Javaには。
279 :
デフォルトの名無しさん:2007/03/14(水) 14:05:06
まだtypedef厨がいるのか・・・。
言ってる事が支離滅裂だな。
そんなに気に入らないなら、そのJavaのソースをC++に直せばいいじゃねーか?
なんでやらんのよ?
藻前にとってはその方が保守性や生産性が高いんだろうから、
上司に「Javaはtypedefがなくて使い物になりません。C++で作り直します」と申告汁
被害妄想具合が古代人COBOLerそのものの思考でウザいんだが。
今後intは使用禁止で。
>>279 黙ってりゃ、馬鹿だとバレずにすむのに。
>>282 黙ってりゃ、馬鹿だとバレずにすむのに。
>>279 Docomoの携帯で動くゲームを作りたいのですが
どうすればC++で書いたプログラムを動かすことができるのでしょうか?
レッテル張り乙
まあ、Javaに関してはclassがあるからtypedefはいらんよな。
その方がシンプルだし。
仮にtypedefがJavaにあったらかえって保守がclassとtypedefの
両方おっかけなきゃいかんからマンドクセ
>>280 thx。やっぱりGenericsはJavaには荷が重すぎたか。
289 :
デフォルトの名無しさん:2007/03/14(水) 14:18:35
つかここで張り付いているtypedef厨は仕事そっちのけで
2chで煽りしてるのか・・・。
本気で底辺なんだろうなぁ。
たかがintをlongに直すだけで言語否定するヤツも珍しいなぁ。
漏れの職場でこんなヤツいたら隔離するんだが。
Javaっていうのは思想的にコーダーを一切信用していと思えばわかりやすい
>>289-290 本気で言ってるのか、Java使いを貶めたいのか知らないけど
どっちにしても痛々しいだけだから出てこないで欲しい
Genericとかそこらへんは別にして、237のような用途だったら、
関連する操作とまとめて1つのクラスとしてOOP的に抽象化できるはず。
だからJavaにtypedefは要らなかったのだと俺も思う。
でもC++ではいつもそんなOOPで作るとは限らない。
typedef位の手軽な抽象化で十分なときもある。
まあCにあったからというのがC++にtypedefがある最大の理由だろうけど。
結局単に両者のパラダイムの違いが現れているだけなのだろう。
>>289-290 typedefが無いJavaはウンコなんて類の事を言ってるヤツはいないことを理解できてるか?
typedefが無いなら無いなりに、Javaではどうするのが一般的なのかって問いに
そんな風にファビョった反応するからJava厨は馬鹿だとかヒュンダイコボラーだって言われるんだよ。
>>293 たぶんC++のtypedefはC言語のtypedefを引き継いだだけかと・・・
296 :
295:2007/03/14(水) 14:41:08
最後のほうに書いてあった。スマソorz
Genericsの話だけど、
Javaの思想としては多分コレクションクラスを委譲して
特定の型専用のクラスを作るのがいいと思うので
本来ならコレクションの特定型限定クラスを自動生成するツールを出せばよかったと思うんだけど
(GenericsやTemplateは本来もっといろんなことができるんだけどJavaのGenericsはこれ以外にはほとんど使えない)
それだとC#に優位性をアピールされてしまうから仕方なく導入したものだろうから
ああいう問題が出てくるんだろうね
俺としては、
>>291に同意するなあ。
設計する人は信用するけど、コーダーは信用できない、って思想が、
何でもかんでも静的な型でチェックさせようとする流儀に帰結してると思う。
「俺たちは設計まで。コーディングは下請けに」みたいな分野に
良くも悪くもぴったりとはまる。
299 :
229:2007/03/14(水) 15:07:07
>>237 >>228 からは想像もつかんかったわ。
まず説明能りょk(ry
>>293 >typedef位の手軽な抽象化で十分なときもある。
抽象化っつー程のもんでもない。マクロと大差ないレベル。
例えば typedef を使って HWND って新しい名前の型を作ることで、
その値が持っている「ウィンドウへのハンドル」という「意味」をその型に担わせる。
実体はただの整数型だから取り扱いははるかに*簡単で*済む。
クラスでラップしてしまう Java とやっていることは本質的に変わらない。
マクロとは少し違う。
Javaにtypedefがないのは意図的で、思想の問題だから変更されることはまずありえない
なのにGenericsを追加したはおそらくマーケティングの都合なので矛盾しても仕方ないか
(C#を意識してるのはクロージャー追加予定とか見てると丸わかり)
>>299 >
>>228 からは想像もつかんかったわ。
まっとうなC/C++プログラマなら、
>>228のような事例が真っ先に思いつく。
short、int、longなんてのは、型の「ふるまい」に対して付けられた名前であって、
「意味」に対して付けられた名前ではない。
同じふるまいの型であっても、その使われる意味によって、別名を与えよう、
というのがC/C++の流儀。
同じふるまいの型なら、どの様な意味で使われるとしても同じ識別子にすべき、
というのがjavaの流儀。
java流は、物理でいうと、単位を次元解析すればmksになるんだから(力学単位は)、
calとかJとかkeVとかいらんだろ。みたいなもんか。
ソースにドキュメント性もたせるという観点から、C/C++流が良いと思うけど、
typedefされた型変数間の変換や、リフレクションでの扱い、
instanceofやclassがequalになるかなど、判断つかないところが多すぎて、
取り込みにくいのもわかる。
まじめに考えるなら、ランタイム型情報が別になるtypedefと、ランタイム型情報は
同じで、あくまでソースコード上の別名のaliasとか、分けて考えないと収拾がつかんと思う。
>>302 C#は逆にマーケティングの都合だけで突き抜けてるよーな。
そもそもがMS用のJavaとして生まれたのをおいといたとしても、
構文とかどうでもいい感じだし。VBそのままのプロパティとか、
LINQでDBへの問い合わせ(FLOWR)を直書きできるとか。
Javaにtypedefが無いのは思想だろうし必要ないから別にそれはそれでいいと思うけど、
実のところはC++もtypedefは消したかったんだろうなぁ、と思うんだが。
初期のC++の性格からしてそれはないと思うが。
まあ、228みたいなDQNなコーダーは信用ならんから
Javaはアレでいいんだろ。
>実のところはC++もtypedefは消したかったんだろうなぁ、と思うんだが。
そんな唐突に言われても。何でそう思うようになったのか知りたい。
ヒント:脳内
まあでもあの構文はいただけないな。
WikipediaのC++0xの記事では、typelate typedefに対する解として
usingで別名が付けられる様になると載っている。
俺は typedef の実際の型を知ろうとして全ソース追い掛けるのが面倒いなぁ
もし Java に typedef を導入するなら
クラスと同じく1ファイルにコンパイルされて欲しいな
つーかラッパクラスを簡単に実装する方法として導入されるなら
扱いもクラスとして統一的に扱えて良いかもな
ぶっちゃけそれなら普通にラッパ書くが
typedefが必要かどうかは別として、定義を探すのなんてコマンド一発だと思うけどw
まぁ、
>>298なんだろうね。
ただ、Genericsとか言い出すからわけわかんないことに。結局ぐだぐだになっちゃいそ。
>>309 typedef された元の型は多くの場合そもそも意識するべきじゃない。
それは抽象化・カプセル化かされた型の詳細を知ろうとするのと同じ行為。
ロクに仕様書とか設計書が無い状態だと嫌でもソースを追わざるを
得ないと思うんだが。
ベンダーが提供する様なクラスとかならともかく、社内のテキトーなヤツが
作ったクラスとかはイマイチ信用ならんしなー。
それにtypedefだとなんとなく信用ないしな。
単に楽する為だけに定義してるって印象強いし。
>>312 なんともまぁ偏見と先入観に満ちたヤツだ。
typedefで抽象化とかカプセル化とか言われても
Cの頃から使ってみる身からすると胡散臭い罠。
便利だとは思うが.。
>>313 こういうのは結局、周りのレベルによって違ってくるから仕方がないよ
javaにしても底辺の連中に使わせてもいけるように、制限多くしてあるんだから
typedefとか言いながらも実際に新しい型つくる訳でもないしな。
>>315 だからC++は死にかけてるって事でFA
>>317 日に日に腐っていくJavaのユーザには言われたくない。
319 :
デフォルトの名無しさん:2007/03/14(水) 21:23:30
まぁ結論は、Javaで大抵の仕事は片付けられるし便利だけど、
C++が思い通りに使いこなせないような奴と仕事したくない。
ってことだろ。
どっちかと言うとC++厨がJavaにtypedefがないとヒステリックに叫んでいるだけだと思うが。
漏れはC++もJavaもCOBOLも一通りは使えるけど、
DQNとは仕事したくないな。
まあ、普通に用途によるだろ。
javaで作ったGUIアプリなんぞ重くて使い物にならん。
>>320 いい歳したオッサンのお前が書けるのはCOBOLのコードだけだということがよく分かったww
日本語は読むのも書くのも不得意なようなので今後もそういう生き方していってくれ
>>317 それはあるだろうね
ただ、javaも確実に同じ未来が待ってると思う・・・
知識集約的な方向になってくれば当然のことだけども
いやきっとjavaにtypedefの概念突っ込もうとした発言を発端としてるんだ
概念自体はjavaでもあるだろ、classにしちゃうだけで
Map<Socket, Future<String>> socketOwner
= new HashMap<Socket, Future<String>>();
typedef 必要だろ、常識的に考えて・・・
そこはGenericが必要ないと考えるべきだw
どうせなら、もう少し踏み込もうか
そこはJavaが必要ないと考えるべきだろうw
じゃあタイプセーフなコレクションが必要なときはどうするのかということになるが・・・
・C++を使う
・C♯を使う
・プリプロセッサを使う
・Map<Socket, Future<String>> socketOwner
= new HashMap<Socket, Future<String>>();
>>331 そんな設計を見直す
Java的には大抵の問題をこれで解決してきたw
話を蒸し返してすまんが、typedefひとつで簡単にファビョっちゃうのな、Java厨って。
まっとうなJava使いの方も中には居ると思うが、どうしてJava厨にはこう幼稚なメンタリティのヤツが多いんだ?
構造的にはVB厨と同じだから。
どんな言語でも比率は大差ないのだろうが、メジャーになればなるほど底辺の絶対数が増える。
C言語のtypedefなら要らないってだけだろ。
例えばD言語ならtypedefはコンパイラが明確に型を分けるし
aliasという名でC版typedefを用意している。
338 :
デフォルトの名無しさん:2007/03/15(木) 01:16:44
いや、それはお前の脳内だけだろ
どう考えても、型に別名を与えるのがダメという感じだったがw
>>324 お前、頭おかしいのか?
それかC++でアプリ作ったことねぇだろ?w
変える意味がわからんと言っていた馬鹿は少数派だろ、多分、恐らく・・・
いや、JavaのGUI速いよ、確かに。SWTなんかより格段に速い
でも、あのままじゃ普及はしないと思うw
typedefって何?javaにあるんですか? ><;
#define hoge int
ってするのと
typedef int hoge
ってするのってどうちがうの?
Javaはunsignedを捨てるぐらいプリミティブ型を割り切ってるから
別名機能すら要らないって考えも否定せんよ。
WinだとTCHAR使い出すと発狂したくなることしばしば。
typedef struct foo { 定義 } foo;
と出来るかどうかの違い?
この前1000行くらいのリストビュー作ったら
思ったよりは速かった
typedefは別名機能であり、#defineはマクロだってことさ。
const int FOO = 1; と #define FOO (1)の違いはC++だと顕著だけどね。
参照渡しとか。
>>348 > typedefは別名機能であり、#defineはマクロだってことさ。
ポリモーフィズムってやつなんですか? ><;;
> const int FOO = 1; と #define FOO (1)の違いはC++だと顕著だけどね。
> 参照渡しとか。
わけわかんないんです><
一応マジレス。
#define hoge int
hoge i; // int i; に置き換えられる
int j=i; //当然通る
typedef int hoge;
hoge i; // hoge はあくまでも新しい型
int j=i; //コンパイルエラー(明示的なキャストが必要)
となるとクラスからインタフェイスを抽出してから実装させる形にして、差別化を図るしかないな
>>351 更にマジレス
C++0xは知らないけど現状の仕様ではtypedefは代入互換可能じゃなかったっけ?
実際手元のコンパイラ全部通るし、エラーになる仕様はDだったと思う
……ごめんorz
>>211 そっちのC++か。
Boostとかみると、Javaに近づいてるように見えるんだよな
ただしソースは脳内、ってか。
>>349 JavaのSwingと、C++の何(グラフィックサブシステム)を比較するのかわからんが、
Win32のコモンコントロールのリストビューと比べると、Java/SwingのJTableの方が
抜群に速い。
C++もExcelとかほかのまっとうなグリッドコンポのように、SendMessage経由しなくて
良いようにすれば、当然速い。
ヘボプログラマが書けば、JavaだろうがC++だろうがGUIは重いし、
きちんとしたプログラマが書けば、どっちも速い。既に、Javaが絶対的に遅いって
レベルじゃないよ。プログラマの腕の問題。
Tableを表示するだけじゃな
Eclipse、RssOwl、Azerusなどなど、実用的に使われてるJavaアプリはSWTだな。
普及しているSwingアプリなんてV2Cぐらいしかしらんぞ。
でも、あれもWindowsでテーマをいじってたりすると、汚くなっちゃうんだよな・・・・
今のSwingは速いのは確実、誰が試してもわかる。
でも、挙動がWin32のコントロールに慣れてる人は凄く違和感を感じるから使いづらい。
それだけの話。
明確な数値も提示しないで空想で議論しないで
Swingは別に困るほど遅くはない罠。
ただC++厨が遅いとか言う環境はきっとWin95が全盛の頃のスペックなんだと思う。
いまどきのマシンスペックで「遅くて使い物にならん」とかマジで言っているなら
かなり可哀想な人だなー、っと。
速さ遅さよりもインタフェースがしっくりこないのは大問題だと思う。
ほかの環境は知らないが、少なくともWindowsにおいては。
なんか最近はWebアプリが増えてきたんで、Swingが早い遅いとか
言う前にで使わなくなってしまったなぁ。
プログラム組んでいて、「変わってるなー」って思っていたが。
Java Web Startとかが流行りだすと、また組む羽目になるんだろうけど。
UIってLookAndFeelで切り替えられるんじゃないの?
>>363 そんな感じで、昔の印象を引きずってるんだろうね。
でも、JDK6で何故かまたかなり高速化したんだけど、今更感漂うよなぁw
366 :
デフォルトの名無しさん:2007/03/15(木) 18:43:45
1ドットの違いが見分けられるパソコンオタクを相手にするな
リフレッシュレート60Hzが遅いとか言う変態もいるしな
俺はUNIX系だけど、こんな奴らと一緒にされているかと思うと鳥肌が立ってくる
1msの違いが判らない俺
>>364 切り替えられても違うもんは違う。
新宿とかで、日本人の群集の中にいる中国人旅行客ぐらいの違和感。
似てる(似せてる)だけに、何か違うのが気になる。
>>365 Swingは、描画はDirectXだから半透明とか、重ね合わせとかのエフェクトは速いし、
全Direct3D化されたVistaとも相性は良いと思うんだけど。
いかんせん、
・ウィジェットの種類が少ない。
javax.swing.plaf.basicのBasic*UIに無いウィジェットは、既存テーマとの関係上つくれない。
・SunのGUIデザインに対する気合が無い。
netBeansの画面みれば、まー動きゃ文句ねーんだろ、ってスタンスが感じられる。
ドット単位で配置バランスを取るとかの感覚はまるでない。
ってあたりがネックで使う気がしない。
ファイル選択ダイアログ (JFileChooser)とかのコモンダイアログに関しては、もうあきらめて、
ネイティブのコモンダイアログ使ってくれと思う。SWTみたいな感じ。
ダブルクリッカブルな、Manifestにmain指定のあるjarは、専用拡張子つけるべき。
でも、アイコンとか、最近だとWindowsの.manifestのこととか考えたら、exewrapとかで実行形式に
するほうが現実的か。
格ゲーやると1フレームの差に敏感になれるお
>>368 同意
単にMSに飼い慣らされただけなんだけどキモいものはキモい
俺は WindowsLookAndFeel 使うぐらいなら素直にデフォで使うなぁ
別にWinLFでも問題ないと思う人間だが、
ファイル選択ダイアログからファイルを開くことがままある俺としては、
Swingを拒む理由としては十分なんだよな。
漏れも実のところキモいと思うんだが、顧客に見せると
特に無反応というか「あ、Javaだ」くらいのリアクションなんだよな。
ああいうところで悩んでいた自分がアフォくさく感じるくらいに、
あっさりしてたりする。
きっとUIの見た目を気にしているのはパソヲタだけなんじゃないか?って思う。
>>366 >リフレッシュレート60Hzが遅いとか言う変態もいるしな
最近はモニタといえば液晶っていう状態だから気にならなくはなったけど、
俺はCRTで60Hzは耐えられん、あんなのまともに凝視できない。
俺からすればCRTで60Hzが問題ないっていうヤツこそ、変態だ。
Javaのキモサなんぞ、国産アプリのしょぼさに比べればどうということはないだろうね。
たしかに
所詮C++なんてJavaの中継ぎ要員でしかないしな
>>374 それは俺も同感
解像度を落としてでも60HzになっているCRTは使いたくない。
>>376 中継ぎって言うんならJavaこそC#が普及しきるまでの中継ぎでしかない。
液晶の60なら気にならんけどCRTの60はきついよな
画面の前で手を振ったら残像拳!!ってな感じになるもの
西日本だと蛍光灯も60hzだからチラつきが同期して醜さ倍増。
Vistaが普及するとそういう意味では抵抗感なくなるのかも
それ以前にVistaに抵抗ある人一杯だろうが・・・
>>380 いつの人間だ・・・
インバーター使えよw
京都のオンボロアパートに住んでる学生です。
>>382に一言伝えたくて出てきました。
……「うるせえよブルジョワ」
Javaってさぁ、C-styleなキャストしかないの?
C++のキャストはアレはアレでキモイんだけど、禿が意を決して
邪悪なC-styleキャストを撲滅すべく作ったモンだから尊重できるし、
Javaでも、C-styleじゃないキャストがあればそっちを使おうと思ったんだけど。
日本語でおk
>>385 100%の純血Java厨?
ちょっとでもC++齧ってたら理解してもらえると思うんだけど。
dynamic_castとかの4キャストは知らんやつのがおおいな
てかJavaのキャストはC式じゃないから。
>>387 アレって見た目がCと同じなだけで、やってることは違うの?
389 :
デフォルトの名無しさん:2007/03/16(金) 00:07:40
はぁ?んじゃ和式かよ
古式
Javaのキャストなんて
どうせ全てreinterpret_cast<object>でしょ?
むしろJavaはCでないキャストの方が多いと思うが。
>>384=386は100%の純血C++厨か?
知らんくせに妙にしったかなC++厨だな。
キャストがC風かどうかというのは見た目の問題だろ。
ゲームでLazy initializationって・・・
>>392 ほぼ純血のC++厨と思ってもらって構わんです。
知らんから聞いてるんです。
またここにも耳の穴腐った学生がわいてるのか・・・
>>393 禿はその見た目も含めてC風のキャストは邪悪だと言ってるんですよ。
>>248 static finalとenumで我慢し解け
>>260 またまた煽りスレを〜
このスレタイだってC++屋に多少の敬意を込めておれが付けたのに。
>>255 Javaの場合、typedefのかわりにクラスやインタフェースで
似たようなことができるし
401 :
394:2007/03/16(金) 00:32:38
ごめんね。スレ間違えちゃった。
なんでこうC++厨って頭固いかなぁ
言語ちがけりゃ根底にがなれてるのもち違うんだけどなぁ
JavaのキャストってC++のstatic_castだけかな?
それ以外は言語仕様上あり得ないんじゃないだろうか
>>402 そりゃそうかもしれんけど、C++を元にして作られた言語なんだから
多少なりともC++と同じことを期待したっていいじゃんかよぉ。
少しはLISPも思い出してください… 元祖GCより
>>403 別にそれでもいんだけど、Javaには禿が邪悪視したC風のキャストしかないってことでおk?
てーーーかこのスレ自体
JavaとC++比較スレだろ
J A V A
は 遅い 以外
な ん の
と
り
え
もありません
フシアナ乙
static_cast, dynamic_castが可能。const_cast, reinterpret_castは不可能。
シェアで負けまくりC++厨が叫んでモナー
そういうVB厨みたいな発言は勘弁してくれ・・・
ダイナミックキャスト
Object o = new String("hello");
(String)o.replace("hello","unko");
C++式キャストの真の利点は、
危険でも安全でも関係なくキャストするC式キャストを避けるのと、
自作のキャストが作れる点だが
Javaのキャストは安全だし
Javaには、自作のキャストなんていうの要らないし
そもそも、必要であっても許さないわな
typedefなしにgeneric導入するぐらい、
考えなしの連中が作った言語だもん
Javaにはリフレクションがある
イタタ
Javaも全てバリアント型にすれば良かったのにね。
420 :
デフォルトの名無しさん:2007/03/16(金) 00:56:10
>>416 はよく見かけるなんかずれてる人って感じ
>>420 自分に都合のいい解釈しか出来ない人だろ。
>>402はC++厨は頭が固いとか言ってるけど、
>>416なんかみてるとJava厨のほうが頭が固いと思う。
Genericsは言ってしまえば多態性のためにObjectクラスを拡張した機能だ。
型そのもの又はアップキャストする型を指定するものなのでエイリアスとは違う。
typedefなんかと一緒のレベルで語る内容じゃないな。
>>423 お前なにもわかってないだろ。他のJava厨の迷惑になるから黙っとけって。
C++厨とかほざいてるが底辺すぎて萎えるな
何厨にすらなれない無能にしか見えん
426 :
デフォルトの名無しさん:2007/03/16(金) 01:12:01
>>416 × 考えなしの連中が作った言語だもん
○ 考えなしの連中のために作られた言語だもん
はいはい自分の意見がもてなくなってきたようで。
言語知識が無いのにその言語を非難したって迷走するだけだっての
C++厨の煽ってアフォ臭いなぁ。
ねらーと朝鮮人はよく似ている。対象を知らずに非難することを恥とも思わない。
すぐ底辺とレッテル貼り辺りは似てるよな。
いい感じで皆さん、盛り上がってますねぇ。
それでこそ、質問スレではなくあえて池沼隔離スレで聞いた甲斐があると言うもんですよ。
こんなスレにいるやつは例外なく底辺だろ・・・
438 :
デフォルトの名無しさん:2007/03/16(金) 01:21:49
ここにいる人間はJavaを使っているだけで知らない人間にしか見えないし
C++で云々言ってる人間だって結局C++使ってるだけの奴等に思う
ユーザ側であーだこーだ言う必要はない、てかむしろ無意味だ
自分の思ってる不平不満すらまともに書けなくて遠吠えするだけだし
もう眠い
439 :
228:2007/03/16(金) 01:22:49
とうとう涌いたっすね^^
>>436は会社でもこんな愚痴言いながら隔離されているんだろうなぁ。
せめてGenericsの仕組みくらい理解してからレスしなよ
templateとは違うってわかったら話に参加しよう
228=384はここ毎晩こんな事していて楽しいのだろうか・・・。
正直、頭おかしいと思うが。
443 :
デフォルトの名無しさん:2007/03/16(金) 01:26:14
C++擁護派に聞きたいけど、BoostとかLokiとか仕事で使ってる?
使ってる場合、どういう仕事?
プロジェクト規模とか、業務系か組込み系かパッケージ系か、とか。
多分
# 無駄無駄、どうせここに来てる奴等仕事ないし
みたいな事言ってスルーされる
>>443 C++厨だが、別にC++を擁護するつもりなんてさらさらない。勝手にしてくれ。
# 有名どこでは Adobe 製品で使われているみたいだが。>Boost
あ〜あ、ここの連中は
いつになったら言語仕様と
実装の違いが理解できるんだ。
Javaもネイティヴで動くし、
C++もVMで動く。更にC++でも
リフレクションやガベコレが
利用できる。実装なんざ必要
あらば、誰か作るんだから言語
の話しに上げるだけ不毛。
C++でリフレクションは出来ないけどな。
448 :
デフォルトの名無しさん:2007/03/16(金) 01:33:22
>>443 C++擁護派に聞きたいけど、BoostとかLokiとか仕事で使ってる?
Boost の shared pointer までに押さえている。それ以上は、ソースを他人
に読んでもらえなくなると判断している。
STL のレベルでさえ、使いこなせるのは C++ プログラマーの一割程度だと思
っている。
>>446 一見至極まっとうな意見だが、それこそ現実的じゃない意見だってわかってるか?
みんな、ここが池沼隔離スレだってことは自覚してんだろ?
池沼同士、Java厨とかC++厨とかだとかいった垣根を越えて仲良くしようぜ!
452 :
228:2007/03/16(金) 01:50:00
テメーだれだよwww
>>447 CNIのGCJやらCLI他、
どマイナーなライブラリや
処理系を探せばいくらかある
>>449 言語仕様上確かにポインタの
即値指定ができなかったり、
ヒープをメインで使わされると、
組み込みは不可能だ。確かに
実行環境に影響する。だがそう
いう汎用面やオーバーランが起
こりにくいという安全性を当方が
建設てきではないか?
たぶん彼は桃源郷を信じている、しかも自分に自身がもてない
よくわからんが、もう少し言いたいことまとめてもおk
C++/CLIとか、正気かよと思うわけですが
C++とCLIって全く別言語だよね?
>>448 お前の置かれた状況に応じて適切に利用しろ。
その手の選択の自由と義務があるのがC++だ。
>>456 下位互換。CとC++のよう
なもんと考えれば別言語だが
拡張実装と言えん事もないかな。
>>456 下位互換。CとC++のよう
なもんと考えれば別言語だが、
まったく同じコードが動く以上
拡張実装と言えん事もないかな。
boost使うけどな
regex、tokenizerなんかはバンバン使う
464 :
デフォルトの名無しさん:2007/03/20(火) 11:10:43
>>280 generics っつーか JSR14 が提出されたのは 1999年で C# が出る前ですがな。
generics って、そもそも 1.4 に入る予定だったのが漏れたんだよな…… たしか。
どっちかっつーと、JSR14 とかの議論を見たおかげで、
C# がgenerics 追加を見据えた言語として登場してこれたよーな気がする。
>>301 > 例えば typedef を使って HWND って新しい名前の型を作ることで、
その辺に関して言えば、D言語の強いtypedef の方が良いような。
C/C++ の場合は、型に別名を与えてるだけだし。
と、遅レスしてみる。
>>464 >> 例えば typedef を使って HWND って新しい名前の型を作ることで、
>その辺に関して言えば、D言語の強いtypedef の方が良いような。
>C/C++ の場合は、型に別名を与えてるだけだし。
俺は両方欲しい。用途によってどっちがいいがいいかは異なる。
D言語には両方あるんだっけ?
そういうことを言うと、Adaのsubtypeみたいに
片方向互換の型定義も欲しいという話になりそうだ
実数型から派生した角度型は実数型と非互換
角度型から派生した内角型(0度〜360度)は、内角型⇒角度型のみ互換
後は単位系変換付の型もほしいな
degree deg = 180;
radian rad = rad;
cout << rad << endl;
出力:3.14159
# 投票の場所:ノート:韓国起源説#韓国以外の国における起源捏造問題への言及を存続させる
か削除するかに関する投票
# 投票の主題:韓国以外の国における起源捏造問題への言及を存続させるか削除するかについて
# 投票に先立って行われた議論:日本起源説について、韓国以外の起源説への言及の存在是非、
韓国以外の起源説への言及の存在是非2、コメント依頼を受けて
まだやってるのか
結局銅でもいい話を存続する方向で話がまとまりそうだな
>>464 C#が出る前からgenericsが欲しいという人は確かにいた
(わざわざgenericsをサポートするJavaコンパイラがいくつか作られてたし)
しかし長いこと見送られたってことは不要と思ってた奴のほうが多かったということじゃね?
>>468 genericsが不要だって主張は寡聞にして聞いた事がないね。
erasureが嫌だってのは聞いた事あるけど。
とりあえずこのスレでは何度か言われてた気がするw
同意出来るかどうかは別として、普通は意見としては耳にすると思うけど・・・
genericsはビミョーだろう。
それほど必要とは思わんが・・・。
>>468 違うな。
Templateと同等の機能が不要だっただけだね
>>471 かなり使えるけどな。
HashMapみたいなクラスをGenerics対応にするのは
ちょっと技術がいるが
>>473 別に全否定はしないけど
>>280のリンク先みたいに、
楽になってるのか面倒になっているのか怪しい感があるんだよな。
で、変な話でGenerics使うレベル(?)のヤツはキャストでミスる事って少ないね?って
思えたりするんだが。
Generics対応クラスを作ろうとすると結構しんどい
あ、erasureのせいだとは思うけど
>>474 どうでもいいけど
>>280のミスリードも凄いな
「理想論としてはそれでよかったのかもしれないけど
現実はC#を見て慌ててgenerics導入したせいで」
C#を見て慌ててgenericsを導入したとどこにdwに書いてあんだ。
typedefが使えないからかったるい、じゃあない。
委譲くらいつかえと。
評議会の人間だけど、C#がどうだとか、勝手なこと言うなよ
>>477 日本語が不自由なゆとり世代の可愛そうな人間なんだよ。
そっとして置いてやれ。
どうしても必要だと考えていたならとっととgenericsを導入していただろうし
あのタイミングの導入はC#を意識したとした考えられん
まーね
なんでこんな遅れたんだか・・・
482 :
デフォルトの名無しさん:2007/03/28(水) 00:24:51
C++の開発者は、オブジェクト言語と言われること自体毛嫌いしているので、
javaと比べること自体ナンセンスでは?
C++は、もっと技術よりの言語で、javaは、アプリケーション開発に特化してる
用に見える。
>>482 Javaは多機能なC++に対するアンチテーゼとして作られた側面があるから
JavaとC++を比較するのはごく自然なこと。
C++が技術よりの言語とはなんの冗談だ。
バッドノウハウという意味での技術はあるかもしれないが
学術的な意味での技術は全然ないな。
もちろんJavaも全然技術よりの言語ではないが。
>>484 >>482が言いたいことは雰囲気でわかるだろ? 察してやれよw
確かに用語をいろいろと間違えちゃってるんだが。
>>480 まぁ、C# を意識してるんだろうけど、
それまでは必要がないから generics を導入してなかったって考えるのは無理があるような。
adding_generics eearly access板 には一時期、
読み込み専用配列とかも入ってた事があったけど
最終的には削られてたりするし
その辺の試行錯誤も遅れた原因なんじゃないかと。
そこはJava原理主義者というかOO原理主義者みたいなのがいたからじゃないかと思ってるが
Genericsの代替がオブジェクト型にすることとかクラスを作りまくる事だったらあったほうがいいと思うんだけどなあ
それ、ネタスレだろ?
次スレではC#も仲間に入れてやってください
今はもうC#がJAVAを引っ張っているのですよ
(どうせクライアントもJAVAでって時代が来るんだろうけど・・・)
>クライアントもJAVAで
携帯電話はJavaですよね。まぁ事実上Java以外に選択肢がないだけの話ですが
???
クライアント==携帯電話
携帯電話はクライアントじゃないってことが言いたいの?
それともBREWがあるだろってことが言いたいの?
C#は滅びるってことが言いたいんじゃないか?
言語は心の中で生き続ける
信者が居る限りな・・・。
C++やってる奴が天狗になって周囲を見下すのはよくあることだが
Java厨ですらお山の大将気取れるんだな。
つまり実際の現場はもっとレベル低いことになるわけだから
デスマーチがなくならないのも納得がいくな
501 :
デフォルトの名無しさん:2007/04/29(日) 20:33:47
502 :
デフォルトの名無しさん:2007/04/29(日) 20:43:32
たかが手続き型言語だろ、Java も C++ も目糞鼻糞。
503 :
デフォルトの名無しさん:2007/04/29(日) 22:17:16
バカでも使えるように、
C++から高度な難しい機能をなくしたのが、
Javaだろ?
いいえ。
人間がアルゴリズムとか設計に注目できるように面倒な処理をなくしたのが
Javaです。
505 :
デフォルトの名無しさん:2007/04/29(日) 22:29:37
Java の抽象度は C++ と同程度で、現代的なプログラミング言語の水準をみたしてはいないですね。
ハッキリ言えば Java も C も同じレベルでしょう。
レベルとか抽象的なのわかんね
CもJavaもPascalもBASICもただのプログラミング言語じゃん
もっと具体的なのホザいてください(><;
抽象度は高けりゃいいってもんじゃないだろ。
関数言語は抽象度は高いが学習障壁も同じくらい高い。
むしろC++にそっくりだけど、文字列管理をしなくていいってのがウリなんじゃないかな。
508 :
デフォルトの名無しさん:2007/04/29(日) 22:36:06
Java と C++ (どちらも糞ですが)を比較して、唯一 Java がましな点は
Java でガベージコレクターや OS が書けないということでしょうか。
最近の厨は昔にまして言語障害なんですか? (><;ワカンナインデス
510 :
デフォルトの名無しさん:2007/04/29(日) 22:47:10
自分でメモリの後始末しないと、不安でしょうがない
511 :
デフォルトの名無しさん:2007/04/29(日) 22:49:19
Java の設計者=ゴスリングの言語設計センスが無いからあんな言語が出来たんだろ
>>511 実際、Javaが流行した理由に言語的に優れてるからってのはないからなぁw
C++を真似て後から作った癖に言語的に上に立てないってのはアホ過ぎる。
ゴスリングは後出しジャンケンで負けた馬鹿。
バカでも扱える言語っていう理由で普及してるっしょ。
仕事で何度か海外にいって上記の発言をしたけど、外人のエンジニアもまぁそうだよね
ビジネスだから使うけどって納得してたよ。
今さらJava7になって関数型のエッセンスいれてもぐちゃぐちゃになるだけでキモイだけだと
思うんだけどどうよ?
>>514 以前、VBが普及してた頃とまったく同じだなw
いや、C++やって嫌になった理想主義者が設計しそうな言語じゃね
開発・実行効率を安全な方へ倒したってだけの事だろ
サバイバルナイフが使いにくいので安全装置付きの果物ナイフにしましたと
当然切れ味は落ちるけどまぁしょうがないよと
517 :
デフォルトの名無しさん:2007/04/29(日) 23:14:22
Javaやるとって、Javaやるとって、もうおせえんだよ!
Javaなんて1993年からあるんだぞ(改名前)。いまどき、Javaやってるからって
優越感にひたるなんて、Windows2000をかってWin98のユーザに自慢してるようなもの。
はずかしくないのか?おまえら。
518 :
デフォルトの名無しさん:2007/04/29(日) 23:19:28
もうめんどくせえから、Web規約一新してよ、JavaScriptをサーバーサイドから
クライアントサイドまでつかえるようにしろよ!それが一番いい。
OSとかガベコレは*本気で*書くなら結局アセンブリ言語が必要だからなあ。
なんでも書けるけど気合のいる言語でくだらない2ちゃんビューワとか書きたくないわけで。
魚を捌くのにプログレッシブナイフを使うことはない。
(もっともこの論理だと、Javaもイラネってことになって、それも正しいわけで)
>>518 俺、Java嫌いだけど、それは勘弁してくれ。
JavaScriptよりはまだJavaのほうが・・・いや、そんなことはないか。
Java よりはまだ JavaScript のほうがマシか。うん、それでいってくれ。
JavaScriptってjava関係あったっけ?
文法似てるだけっていうのは迷信?
>>521 Javaが流行してるからってそれにあやかってそんな命名しただけ。
文法が似てる? 全然そんなことないよ。
無縁
似てないだろ
>>518 さすがにjavascriptはないやろ・・・
あれは、あれしかないからみんな使ってるわけで・・・次のバージョンだともっとマシになるんだっけか。
ちなみにサーバーサイドjavascriptはネスケ社でもMSでもオープンソースでも実装があるし
使われてるよ。
つかJAVAが嫌らしいのはあれだよ、今後FPGAみたいなコプロ系使えば
早くなるとか結局他に低レベルでCやC++、アセンブラに頼って影でコソコソ
やってるのがいらつく。言語設計でなんとかしろやって思う。
ダーティなコードを書くために存在するのではない。
VMが頑張って最適化するのがJava。
VMが頑張るってどうがんばるんだよw
がんばってあんなもんだろ?限界あるんだから引っ込んでろよって思う。
ハードウェアが高速になれば問題ないし、メモリ空間が広くなれば問題ないって
本質的に何も解決してないし。ビジネスプロセスとかいってなんか糞重い環境買
わせて速度出すためにチューニングっていって金絞り取ってる。
これって詐欺だよね?IT詐欺だよね?
メインのプロセッサがRISC主流になるからVMのコストが下がるという希望的憶測もあったが、やはりx86は堅かった
コンパイラががんばるのも詐欺なのか。
>>527 RTTIとかはJavaのほうが早い場合もあるよ。
チューニングはC++だろうがDBだろうがなんだってするだろう。
>>528 最近のやつは中身はほとんどRISCだけどね。
ま、IPv6とかCDMAみたいなもので、技術的に優れたものが市場を席巻するとは
限らないってこと。
Pen4の内部x86→RISCに分解 だけど
Core2はx86→もっと効率いいCISCに変換 らしいよ
532 :
デフォルトの名無しさん:2007/04/30(月) 03:37:01
javascriptってJavaじゃないしScriptじゃないよねo(^-^)o
ECMAScriptでもやってろ
535 :
デフォルトの名無しさん:2007/04/30(月) 21:58:28
はいはいC++厨の俺がやってきましたよ
玉石混交のプロジェクトチームでPG組むならともかく
一人でフリーソフトとかつくるならC++しかありえない
現代的な水準満たしてないとかいう椰子はBoostでも見てみろ
マルチパラダイムとtemplateのすばらしさがわかる
つーか、Javaで作るより、C++/Cで作った方が使い回しが聞く。
パソコンから組み込みまで。
C++はインターフェースと実装の分離が完全にできてないんだよな
privateメンバ一つ変えるだけでフルビルドとか起きたりして
実装の詳細を修正しただけなのにクライアントコードの再コンパイルが必要になる
いちいちpimplイディオム使うのもめんどいし・・・
と思っていた時期が俺にもありました。
template使うとヘッダに全部書いちゃうから関係ないね!
プリコンパイルドヘッダ使えばいいしね!
こうして車輪は再発明され、オナニーは加速していくのであった
終
日本放送
N・H・K
C++の性的結合好きは異常
まあ、C++/CLIなら動的に行けるけど…、でも、MSのみだしね。
542 :
デフォルトの名無しさん:2007/05/01(火) 02:28:03
関数型言語があと1ケタか2ケタ処理速度早くなれば
JAVAから乗り換えたい
544 :
デフォルトの名無しさん:2007/05/02(水) 00:41:35
早く出来ても、忙しくなるだけだもんな。
その分安くなるし。
いろんな物が便利になればなるほど忙しくなるのと同じでか。
546 :
デフォルトの名無しさん:2007/05/02(水) 09:34:37
後ろ向きだけど、それが現実なんだよな。。。
547 :
デフォルトの名無しさん:2007/05/02(水) 09:50:00
アセンブラ→C→C++世代にはJavaは遅すぎる
なんでいつまでたってもこんなに激遅なんだよ
しかもWeb系しか需要ないじゃねーか
TCLをやってみるといい
>>547 >Web系しか需要ない
ある意味で真実を突いているとは思うが
この点はかなり誤解あるんだよね
Javaにとって不幸なことだと思う
そんなことで喜んでるとTRONの二の舞に(ry
別に喜んでないが・・・
まぁBREWがアレなのかクァルコムとAUのせいなので安泰とはいえないのは事実
>>537 インタフェースと実装の分離が、設計段階できれいにできる人なら、C++とかJavaとか
関係無い。どっちでもいい設計するよね。
>>538 OOの人ってその単語好きだよね>車輪の再発明
みんな、車輪の再発明はして無いよ。必要に応じたタイヤを設計しているだけ。
設計対象の規模に合わせて実装を変えるのは普通だよ。
それを苦労呼ばわりしたり、「コスト」とか言って、過去ソースの下手な使い回ししてる奴が
設計に参加しているプロジェクトでは、ろくな目に合った事無い。
JavaとかC++とかはあんまり関係ないよ。
油売ってないで仕事でもするか
auもMNP対策とはいえ意図的にはずしたJavaを制限つきながら戻したことだし
いまとなっては携帯からJavaがなくなるのには相当時間がかかりそうだが
>>553 OOの人ってわけでもないんだが
規模に合わせて設計し直すとかどれだけ危ない事してるんだ?
パターンも使ってないのか?
>>556 言い方が悪かったかも。「使いまわすな」とは言わないけど、あえて使いまわさない事も
選択肢の一つってだけで。無理して使いまわすと碌な事無い。
> 規模に合わせて設計し直すとかどれだけ危ない事してるんだ?
> パターンも使ってないのか?
デザパタで最初から最後まで面倒見れる(それだけの人材が最後まで確保できる)
プロジェクトなんてそうそうお目にかかったこと無いし、同じ人間で最後まで通せる
プロジェクトも希だと思う。
「車輪の再発明禁止」とか言われても、プロジェクトが変わるんなら再設計した方が
綺麗&後々のメンテも上手く行く事の方が多いよ。
まあ、ただの経験則なんで、恵まれた環境に居る人は「設計しなおすなんて危険」と
思えるのかもしれないけど。
結局出荷前にテストするんだし、「使いまわす方が安全」とは思えないんだよね。
あんまり使いまわして、結局 DLL Hell みたいなことになるのもなんだかな
パターン使ってりゃ再設計が不要ってわけでもないしね。
560 :
デフォルトの名無しさん:2007/05/02(水) 15:27:26
>>547 10年後ぐらいにはCやC++を使うような開発は限られた人だけになるよ。
使えないっていみじゃなくて、セキュリティや安全性って意味でJavaやC#のように
管理されたエンジンの上で動くもの以外使用禁止になるだろうね。
561 :
デフォルトの名無しさん:2007/05/02(水) 15:28:20
Javaが普及し始めた頃もそんなこと言ってたよな
562 :
デフォルトの名無しさん:2007/05/02(水) 15:59:37
みんなJavaやめろ
そうすれば俺が日本一だ
>>553,557
車輪の再発明ってのはListやMapみたいなもんを自作したり
標準APIで済むのに知らないで自作したりするようなもんだろ。
そもそも使いまわすのは小さい部品であって
大きい部品が使いまわせないのは当たり前。
工業製品でも、いちいちネジから再設計していたらバカだ。
564 :
デフォルトの名無しさん:2007/05/02(水) 16:42:36
いい加減言語を統一してもらいたいものだ。言語が違う環境に行くたびに
やれあれがないこれがないとかの繰り返しだ。
565 :
デフォルトの名無しさん:2007/05/02(水) 17:02:55
まあ言語自体がCで作られたライブラリみたいなもんだから、
いちいち言語を作ること自体がmapの再実装みたいな車輪の再発明と
いうことになるな。
車輪のサイズが大きいとプラットフォームという名前になるわけだが。
お仕事でやってれば、「HashMapがあるから使えばいい」とはいかないけどね。
使っても仕様を満たせる&使ったほうが効率がよければ使うけど。
現行品に仕様を満たすネジが無い場合は、どっかに新規製造を発注するもんだし。
素材やネジ頭が特殊なネジとかあるしね。要求と予算の兼ね合いでしょ。
むしろ、
> 工業製品でも、いちいちネジから再設計していたらバカだ。
なんてのは、恵まれた職場だから言えるってだけ。
ネジに限らず、設計は「必要なら再度行う」もんだし。
567 :
デフォルトの名無しさん:2007/05/02(水) 17:09:59
現実は規格違っても無理やりネジ穴広げて同じネジ使ってるんだけどな
PythonをC風の構文で書けるようにしてくれよ。あとselfも無くしてくれよ。
Python568を作ったらいい
調子こいてJAVAってんじゃねーよ
572 :
デフォルトの名無しさん:2007/05/02(水) 20:18:23
573 :
564:2007/05/02(水) 21:04:52
いやコボルやったことないし。
PerlとかPHPとかRubyとか低脳言語がうじゃうじゃ出てきて
大変だなあと。
PHPは低脳だけど
PerlやRubyはそうでもないと思うよ
Rubyの連中は日夜CとかC++で低レベルモジュール作るのやめたほうがいいと思う。
なぜそこまでRubyに拘るのか解からん。
Sunの連中は日夜CとかC++でJava VM作るのやめたほうがいいと思う。
なぜそこまでJavaに拘るのか解からん。
だってSolarisでネイティブアプリ作るのめんどいもん
だなぁ、マゾリスちゃんは本当につらいもんなぁアプリ作るの
579 :
デフォルトの名無しさん:2007/05/02(水) 22:02:05
エラー処理ウザクね?
580 :
デフォルトの名無しさん:2007/05/02(水) 22:10:26
C++の次世代を目指したJavaがPerl/Rubyにも劣るとか言われちゃうんだもんな。
せちがらいもんだ。
581 :
デフォルトの名無しさん:2007/05/02(水) 22:13:20
Perl は論外だろうが、Ruby とはいい勝負じゃないか。
所詮、目糞鼻糞れべるだけどね。
582 :
デフォルトの名無しさん:2007/05/03(木) 00:18:48
俺も長年やってて、プログラムで一番困難なのは環境がころころ変わること
だと思うよ。WinはMFCが一応動くからまだましだけど、Macなんてほんと
悲惨だよ。Classicなんてみんなごみになった。誰がObjectiveCなんてやるんだよ。
583 :
デフォルトの名無しさん:2007/05/03(木) 00:23:25
屑の溜まり場っぽいスレを見つけたので覗いてみると
本当に屑だらけだった
きもい
c#やるとjavaはセピア色に見える。
Javaだと1ファイル1クラス(public)の制限とかがめんどくさい。
C#だと例外のクラス定義するのにある程度同じファイルにまとめられる。
586 :
デフォルトの名無しさん:2007/05/03(木) 00:37:10
>>583 覗きそしてついレスしてしまうのがお前の力量
587 :
デフォルトの名無しさん:2007/05/03(木) 00:44:22
あぁRubyを貶められて怒ってるのね
スルーしとけよ
589 :
デフォルトの名無しさん:2007/05/03(木) 00:46:31
はやw
さげでやって。クズドモ
592 :
デフォルトの名無しさん:2007/05/03(木) 02:44:55
「あげてやって」だって?
593 :
デフォルトの名無しさん:2007/05/03(木) 11:08:27
実際javaって中途半端で使いどころ多いようで、少ないんだよな。
言語的にもphp位魅力無いよ。
>>573 典型的コボラ2.0ですね。
Javaの最新版は結局C++みたいになってるよな
関数型言語のエッセンス入れて何がしたいんだろうなぁって気がするよ。
結局ver8ぐらいにはテンプレ実装してこれ何?C++じゃんwwwとかになりそうw
Java も C++ もセピア色に見えるけどね、どうでもいいや。
Dは流行る前から鉛色に見える。
だめだろ。
>596
今まで真っ白だったんだ、鉛色になっただけマシなんだよ…
今の状況を見てると言語っていうのはその言語の良し悪しなんかより
マーケティングやブランドイメージのほうがよっぽど重要なのがよくわかるな
そうか?
JavaとC++はどちらも実務でガチでやる機会を与えられるのがよい。
順番はJava→C++、その後は処理系依存判断、というのが理想。
■JavaVMの多くの仕事量の恩恵により、プログラマは庇護されつつ、
単純なプログラムでは躓かず結果をだせるので、自信がつく。
■C++をやると数々の危険に遭遇し、原因追求と対策検討を経て、
メモリ機構、パフォーマンス、設計そのものへの意識が改善される。
・C++と比較し、JVMの仕事の大きさをよりイメージできるようになる。
・Javaと比較し、C++で実装を最適化できることの価値がわかる。
だったらアセンブラで書け
>>602 なにげに初心者が最初に手をつける言語としてアセンブラって悪くない
チョイスだと思う。小難しい概念(オブジェクト指向だの、継承だの、
インターフェイスだの)も全然ないし、アセンブラでやってりゃポインタ
だって簡単に理解できる or できて当然。
>>601 一般に初めてのプログラミングをC++からするべきでない。
厄介な作法を学ぶ必要があるか理解できないし、わかったと勘違いする。
なんとなれば同じ学習をもう一度繰り返すはめになり、効率わるい。
>>602,603
プログラムのとっかかかりをアセンブラからとするのはあまりいけてない。
アセンブラは地味だし、それなりの処理をかくのにどれだけコードを書くのか。
本質に足を踏み入れる以前に、楽しさや意欲が沸くかが重大なテーマである。
>>605 アセンブラなら1日もあれば基本的なことは全部学習可能。
他の言語でアセンブラ並に短時間で学習可能な言語なんてないぞ。
>>606 じゃあSSEとかも1日で理解可能だというんだなコラ?
嘘ついてるんじゃねーよボケ
アセンブラを理解するなんて簡単だろ。ドキュメントを読めば機能はすべてわかる。
ま、下らないつっこみを置いといて、仮想マシンのアセンブリを書くのは
確かにコンピュータの本質を知りたい人にはいいと思う。ヘネ&パタ本を
買ってMIPSアセンブラをやった人も多かろう。
ただ、所詮アセンブリはアセンブリ。多くの初心者は別にコンピュータの本質
なんか知りたくないのよ。ウィンドウを出したいとか、テキスト処理がしたいとか
そういう具体的な目標を持ってる。そういう人に初歩の初歩からやらせるのはねえ・・・
609 :
デフォルトの名無しさん:2007/05/04(金) 17:14:21
そうなんだよな。
コンピュータを触ることそのものが目的だった時代とは違うんだよな。
じゃあ初心者が最初からデザパタを理解できてSwingを使いこなせるの
かって話ですよ。それならTcl/Tkから入ったほうが、目的へ到達するのは
早いんじゃないのって話ですよ。
だからVBが流行ってたわけか
目的が、「計算機言語の習得と学習」なのか、
それとも「計算機言語を使った結果」なのかでかわってくるな>最初にやる言語
昔の人間からしたら「基礎も出来ずに応用の結果を求めている」ように見えるけど、
結果だけ刈り取りたい場合がほとんどだもんな〜。
なんか、カメラの進化に似てるかも。プロ用とバカチョンに分かれるのかな?言語も。
コボルとその他みたいなノリが永遠に続いてるだろ。
結局ドカタ言語、標準言語、理想言語って感じなるだろうな。
ドカタ=コボル、JAVAって感じだろ?
Javaには馬鹿除け機能がいっぱいある点で高級
>>614 寧ろ、Javaは馬鹿ホイホイに見えるんだが。
>>612 すでに分かれてるっていうか昔からそんな感じで分かれてたような
>>616 例えば?
プロ用:C、アセンブリ
バカチョン:BASIC
ってこと?
>>617 プロ用とバカチョンの定義をはっきりしてくれ
でないとどう言っても後で好きなようにそれは違うと言い張れるから
定義厨キターw
621 :
619:2007/05/05(土) 00:04:22
>>621 正直
>>612の言うプロ用とバカチョンって
>>617が示した例みたいに思ってたんだけど、
>>617をみるとどうも違うみたいな書き方なんで、
ならプロ用とバカチョンってどういう意味で言ったのか聞いたんだけど、
プロ用とバカチョンに一般的な定義なんてあるわけがなく
後出して好きなように定義されるのであらかじめ聞いておこうと思っただけ。
それを定義厨っていわれるのは心外
認定資格制にすればよくね?
JAVAは業務として使用するために登録料30万+認定料5万
C#は業務として使用するために登録料15万+認定料5万
C/C++はセキュリティの問題もあるから、登録料100万+認定料15万かつ、4年制工学部卒業及びそれにそうとうする者
いずれも3年間の更新制
開発環境も指定以外のを利用するためには一律登録料を納める。こんな感じでガチガチに金とっていこうよ?
新たな天下り先を確保したい経産省関係者か?
いやーえらーい先生が提言してるよこれ。
格付けとかもして、技術者の斡旋も行うとかなんとか。
>>624 なんか、見るからに資格詐欺っぽいんだけど。
金払えば資格とれるけど、仕事はありません。とかそーゆー奴。
>>627 業務としてつかうのに金をとる、ってことで資格取得ではないでしょう。
>>624 で最終的に誰に得させたいの?
>>628 人材を管理したいっていうのが目的みたいだよ。医局とか建設業界とかみたいに
考え方が古いというかDQNだと思うけどねまぁ流石に60年も生きると老害が出たかなって感じだけどね。
C++もCPANみたいなのあればもっと使われるんだろうね。CGI.cppとかさ。
誰か作んねーかな。
パラメータをパースして辞書ツリーに入れるのと
Base64デコードするところまでやって挫折
>>622 すまん。荒らすつもりは無かったんだけど、荒れちゃったナ。このスレって病的な
奴が煽るから変に警戒しちゃうのは判るんだけど。
>>616 で「すでに分かれてる」感じに言ってるんで聞いただけなんだけど。
別に、揚げ足取ったりするんじゃなく、具体例を聞きたかっただけ。
>>617が正解とか間違いとかって問題じゃないと思うんだが・・。
(ってか、「俺は、こう思う」に正解とか無いでしょ。)
633 :
デフォルトの名無しさん:2007/05/05(土) 13:17:05
検索で、世界で最も多い単語を使って言語を作ったらどうなるんだろう。
言語名「free sex」
C#やるとJAVAが虹色に見える
635 :
デフォルトの名無しさん:2007/05/05(土) 18:58:04
RubyやTCLをやるとJAVAが光速にみえる。
言語名「fexsere」
637 :
デフォルトの名無しさん:2007/05/05(土) 20:26:50
言語名「sexfre」セフレ・・・?('A`)
Perlをやると、Javaってメモリ食わないなぁと思う。
喰わないっつーか
Perlの方でリークしてるんだろうな
Perlは20行以上のプログラムを書こうするとまぢ頭おかしくなりそうになる。
>>640 普通にっていうかC風に書いたらそうでもないんだけど
省略しまくりのPerlプログラムはパズルだな
>>635 Tcl/TkとJavaでGUIの起動時間を比べると・・・
>642
ウチの環境だとJavaの方が早い
Tclの起動自体が20秒以上かかる…
それはお前のところが異常
>>643 まじっすか。参考までに環境を教えてけれ
646 :
デフォルトの名無しさん:2007/05/06(日) 05:03:40
うちの学科は両方習うんですがどう思います?
別にどうも思いません。両方がんばってください。
そうそう、若いうちは浅く広くやっていろんな可能性を見たほうがいいね。
率直に言って学生なら両方やった方がいい
良い学校行けたことに感謝するべきだね
うちはJavaしか授業でやらなかったけど3年になって当然C++も知ってるよな?という雰囲気で当たり前のように使われるようになった。
>>646 学生なら基礎的なことをしっかり勉強しておいたほうが良いと思う。
OSやコンパイラなどはしっかり勉強しておいたほうが良い。
底辺ドカタはそういう知識が完全に欠如しているのが多い。
自分で簡単なコンパイラやVMを作ってみると世の中広がる。
■@JavaのVM実装の質をどう判断するか?
■AC++の言語レベルの制約はどう判断するか?
@:JavaのVMは非常に安定しているのだろう。
しかしパフォーマンス・クリティカルな局面では計算できないこともあるだろう。
SUNやIBM、Harmonyといった汎用VMの実装がすべてではない。
すべてNativeで実装されたマニアックな組み込み用特殊VMもあるだろう。
これら汎用VM/特殊VMのメリットやデメリットはなにか?
A:Nativeで実装する理由は処理系に最適化するためだ。
しかし高度な設計はオブジェクトサイズやパフォーマンスに影響する。
C++は、Cにプログラム設計美化機能を装薬した強化版であるので、
設計美を追求しないとメリットがひきだせないがパフォーマンスとの
トレードオフである以上、その境界線をひかねばならない。この指針は?
>>652 VMのソースを読んでからざれ事を言え
C++の使いかたもわかってねーSUNの連中が書いたVMなんて
つかねーよ。
IBMのはリバースしてみたけどきれいだった。でも緒戦はVMだ
654 :
デフォルトの名無しさん:2007/05/06(日) 15:20:59
私がクライアントサイドでJavaを選ばない理由は
1 依然C++との速度差は大きい
2 NativeAPIとの親和性
3 VMの再配布が必要
一方サーバサイドでJavaを選ぶ理由は
1 速度差はIOにより相殺
2 GUI不要のためNativeAPIをそれほど必要としない
3 VMのサーバへの設置は難がない
>>630 C++は標準コーディングスタイル決めなかったのが失敗だと思う。
誰かがライブラリ作る→別の誰かがヘッダと実装の最小単位で再利用しようとする
→命名規則が違ってキモい→適当に書き換える→亜種発生
みたいなパターンで、亜種が爆発する。
あと、バイナリインターフェイスが実装依存なのも痛い。
結局C++ライブラリはインハウスで作る/使うしかない気がする。
boostとかlokiぐらい気合入ってればできるんだとは思うけど。
>>653 >
>>652 おまえが適当なざれ事をいうな。
> VMのソースを読んでからざれ事を言え
652の内容はVMソース読んでないことで筋が通らなくなるものでもない。
そもそもVMソースを読んでないと勝手に決め付けるなよ。
> C++の使いかたもわかってねーSUNの連中が書いたVMなんて
> つかねーよ。
C++プログラマはC++使い方を知るべきだが、VM実装者は知る必要ない。
そもそもなぜおまえがC++の使い方をわかっていると判断できるか。
> IBMのはリバースしてみたけどきれいだった。でも緒戦はVMだ
ずいぶん適当な感慨だな。
日本語が少し不自由に見える。
お前ら落ち着いて議論しろ。
658 :
デフォルトの名無しさん:2007/05/06(日) 15:57:05
>> C++は標準コーディングスタイル決めなかったのが失敗だと思う。
というか言語が育った背景の違いじゃねーかなあ。OSSのオープンで、
ボランティアな雰囲気で育ったCPANと、商用でクローズドな環境で育ったC++の。
C++はソースを隠して隠して、自己の利益優先で進んできて、結局それが、
プラットフォームとしての自身の首を絞めることになったみたいな。
>>656 お前、SUNのソース読んでみろうへぇってなるから
>>657 自分こそ日本語大丈夫か?
なんら議論していない。
互いに一方的に意見を述べているだけだ。
「日本語が少し不自由に見える」ってなんだ?
「少し」とか「不自由」とか曖昧なんだよ。
主張が正しいかどうか、とか文章に正しく反映が及んでいるか、とか
などの視点からの判断であればよくわかる主張なのだが。
>>659 なぜSUNにこだわる?
確かに一般にJavaはSUNだが、もうそういうレベルじゃない。
それに考える価値があるのは実装の詳細ではなく言語仕様だろう。
>>661 言語仕様は糞っていう評価しかないだろ?
関数型言語の仕様とかC++っぽい仕様とかいれてめちゃくちゃになって
誰もまともに付いてきてないだろ。
わけわからんアノテーションとかで自動生成されて簡単だけどあれは糞だ
JavaにGeneric実装されたのが5からと聞いて愕然としました
>>662 自分の無能を言語仕様のせいにするなよ。
JavaのGenericとC++のtemplateをめちゃくちゃに混同してるおまえは、
ついてこれてないのだな。アノテーションの自動生成簡単とかいって
なぜそれがわけわからん、っていうんだよ。
Genericをついていってからめちゃくちゃか判断できるし、アノテーションを
わけわかってつかえてこそ簡単かどうか判断できるんだろが。
>>664 つか俺がいつ、templateがGeneric同等なんていった?
中途半端にGenericなんて実装しているJAVAなんか糞なんだよ。
ましてやtemplateなんて実装できるわけもなくw
アノテーションなんてコンポーネントにバグあったらまともに生成されねーぞ?
今どきそんなとんでもねーBUGあるのJAVAぐらいだぞ。
マクロなんかいらないよ
ソース修正するたびにいちいちビルド待つの馬鹿らしいし
ややこしいとか、難しいってのは本人のスキルに激しく依存するからな。
アホにとってはVBなんて難解なものはダメ言語ってことになるしな。
ただ、あんまりかしこいやつが、boost::lambdaとかboost::spiritとか作っても
一般人はもうついてこれない。
C++のTemplateは実質高機能マクロに過ぎないし
JavaのGenericはキャスト省略&型チェック機能付けてるだけだろ
どっちもどっちだよ
669 :
デフォルトの名無しさん:2007/05/06(日) 17:24:46
実際、少し色気出してテンプレート化しても、
結局そのプロジェクトで一発モノとしてしか使わないし、
使われない・・・ジェネリックとか現実的な現場では不要じゃね?
でもうちの現場、教育コストがかかるからって
ジェネリック禁止令がでてしまった。
ハハハ底辺なんてこんなもんですよ。
。。。リスト使うときくらい型指定したいなあ。。。
> C++のTemplateは実質高機能マクロに過ぎないし
アホ丸出しな発言だな。
高機能マクロとしてつかうのが一番。
TMPなんかやりはじめると収集がつかなくなる。
>>670は正しい。Genericは大規模開発でのバグ減らしのためのもの。
本質とは無関係。
教育コストって・・・
ジェネリックというからにはJavaだろ?
そんな難しいか?
本質的な部分を全く理解せずに、
ただコーディングしてるのが底辺だからな。
俺もやっぱりその場にいるわけだが…
古参の頭でっかちだと、コンパイラ賢いの古くさい長たらしいコードと
古いAPI使ってバグの温床作る。あとAPIの相性なんかもまったく考慮できない。
こう書くと速く書けるとかいうけど、吐かせたasmみたらおせーし。
一方新人は素直なんだが、Doc馬鹿でそれに従ったことしかできない。JDK1.4からJDK5に
上がって固まる。3回ぐらい机に頭たたきつけたぐらじゃ碇は収まりきらなかった。
なんか終わってる。この業界ドカタ未満のシナ未満多すぎだ
GWTの情報調べるつもりで検索してたら
日本語のは全然ヒットしないのに中文のが出て来たりする
もう追い越されてるのが現実だよ
おまえらいつまでも中共を馬鹿にするなよ
糞も多いけど優秀な香具師も多いんだよ
いや、シナ人はすごいヤツもいるけど
中共はバカだろ。
So, you do read documents in ENGLISH, but JAPANESE, CHINA.
OK?
本質的な部分理解してないコーダーの特徴として
どこかの例題からコピペしてきたソースを
作成中のシステム向けに合わせて適当に書き換えることは出来ても
何も無いところから書き起こすことは決して出来ない
書き興す
かな
>>680 ライブラリも使わないのかすごいハッカーだな。
生ソースコードをライブラリと呼ぶなんて・・・・・・・
>>668 >JavaのGenericはキャスト省略&型チェック機能付けてるだけだろ
Java の List はどちらかというと Container 的なもんで
なんでも放り込めるメリットがあったんだけど
わざわざそれに制限を付けるような機能を付けたんだよ
なぜだと思う?
>>670 >。。。リスト使うときくらい型指定したいなあ。。。
確かにそこだよな。
Java の設計思想的には型固定したいならただの Array 使ってろ
ってことなんだろうけど
それじゃ可変長に出来ないから ArrayList 使うことになる
そうすると 4 までは型フリーになってバグの温床になってしまった
安全な設計を謳うならこの機能が無いのはおかしい
やっと使い分けられるようになった
Java の設計思想の良いところと悪いところが同居している
決して Java は C++ の問題点をすべてクリアした訳ではない
しかし C++ より優れているのは確かだ
>しかし C++ より優れているのは確かだ
この手のJava厨の喧伝をさんざん聞いてたから、Javaに触れる前は、
Javaって結構理想を追求した言語なのかなぁと想像してたけど、
実際に触れてみた後の感想としては「なにこの糞言語?」って感じで
最近はJava厨をDelphi厨と同一視するようになってきた。
687 :
デフォルトの名無しさん:2007/05/06(日) 23:08:56
厨w
確かに糞だ
糞とか言うな。
情報工学発展のコヤシになる言語と言え。
肥だめ言語だろw
アレだな、中身がない文章って一発で分かるのな
で、そんなのが今目の前にある
セピア色と言えば、今あずきちゃん全話ニコニコ動画で見れるけど、
せつねえよな。
ものすごい暇ないと見れねえけど。
なんだよ全117話って……
違法オツ。
117話はガチで泣ける
Javaの言語仕様がC++よりすべてではないにしても優れてるというか
高機能なのは当然という認識なんだよなあ。ただそのぶん遅いと。
lambdaとかスクリプト言語にしか絶対できない機能とかがC++には当然
ないわけで、たまにJavaScriptとか書くとすげーなとか思うよ。
ただ、文字検索とかバイナリ一致とか比較関数みたいなのを柔軟性のある
設計でやろうと思うと仮想関数はちょっと遅いから、templateってことに
なるんだよなあ。てかJavaのコレクションフレームワークはstlと同等の
速度で設計するのは無理じゃねーかなとか思うんだが。
俺は33話。
僕は神山満月ちゃん!
C++のtemplateってどの段階で処理されているのでしょうか?
1)プリプロセッサ
2)コンパイル時
3)実行時
700 :
デフォルトの名無しさん:2007/05/07(月) 14:10:50
JavaerとC++erの喧嘩は以下のAAみたいです。
ト、 /ヽ /\ _
/|\ | ヽ 〈三ヽ /三/| / ! /!ヽ
| l ヽ | ヽ !\ / _| / | ,' / !
| ヘ ! ヽ ( )){ }( )) ,' !_/ / j ジャンケンしようぜ
', ヽ | l トイ`|i|⌒ Y=} ! ', / /
', ヽ!≡ l { ヽ || r‐'リ -i ! ≡ ! /
ヽ ≡ ! | ミ )!!= 彡-ノ_ l ≡ ! ,.'
\ ≡ | ,.-ノ / ! ト、トく `メ、_', = / /
\ ≡ ! /てノしイ_人人ノ、 ヽ /
\― |/ヽ ,イ- 、ヽ / イ´ ̄ ̄ヽ_/
\ ヽ/ l ヽi / ̄`!
\ ̄\ / ̄/
/l \ \ / / lヽ
| ヽ ヽ | | / / |
\ ` ‐ヽ ヽ ● ● / / ‐ /
\ __ l | ||___|| / l __ /
\ \/ \ /
/\| |/\ かかってこいや
//\| |/\\
//\| |/\\
finalの扱いとかは不満だけどJavaはそれなりにC++の
悪いところを改善してると個人的には思う。
これでネイティブバイナリ吐けたら文句はないんだが。
フォントの描画とかひどいけどJDK6でましになった?
Javaやりてーな。あー。いいなあ。Javaやりてーよ。やりてー
>>703ネイティブにこだわるならgcjでも使っとけ。
707 :
デフォルトの名無しさん:2007/05/09(水) 02:52:57
C#やるとJAVAがガキに見える件
ガキなJavaと下品なC#なんてどっちもどっちだけどなぁ。
C#ってVB2005のことだろ
JAVAもC++もドングリの背比べに見える。
今後普及するのはC#でしょう、どう考えても。
>>703 ネイティブ=速い、ってことならそれは一概には言えないと思う。
プログラムの実行速度は、ロジックはもちろんだけど、それに対する実行時の入力データでも
大きく変わるんで、実行時データの傾向を見ながら動的に、中間コードからネイティブコードに
落とした方が速くなる可能性はある。
とはいえ、デスクトップアプリの場合、そういうトップギアに入ったときのスピードというよりも、
機敏に動作することが重要なんで、中間コード→ネイティブコード変換の処理は気になりますね。
>フォントの描画とかひどいけどJDK6でましになった?
JDK6だと、ClearTypeもかかるし、ヒントみてAAかける/かけないを自動でやってくれるんで、
「普通」のアプリ並みにはなってます。けど、やっぱWindows LaFは違和感が残る感じ。
最後のドット単位の詰めができてないというか。
C#やC++は、WinForms(の下のコモンコントロール)のSendMessageがボトルネックになってて
非常にかったるい感じがします。特に、ListViewで大量のアイテム扱うときとか。
全てのコントロールをウィンドウシステムのウィンドウと対応するheavy weightなコントロールにするというのは、
そろそろ時代遅れなんじゃないかと思う。
WPFになるときに、一気に改善されるといいんだけど。
JavaもC++も、その手の人にとっては使いやすいはずなんだよ。
ただ、Java使いの中に(C++使いの中に)流行とか陳腐な理由でのってきた馬鹿が紛れ込んでいて
そいつらが言語のイメージを悪くしているだけなんだ。
規模の大きな、統制の取れているべきプロジェクトならオブジェクト指向を採用したJavaなどを使うべきだし、
柔軟性やよりハードウェアに近いレベル性(その他C++に付加してきたよく分からないものや若干のアスペクト思考性)が求められるなら、
C++を使えば良い。
言語なんて所詮道具なんだよ。
クレヨンが色を合成しにくいからって、水彩使いがクレヨン使いを馬鹿に出来る権利はない。
それぞれの事情があるんだ。
>>712 という正論を踏まえた上で、もっと不毛な議論のネタをお願いします。
714 :
デフォルトの名無しさん:2007/05/09(水) 17:06:38
C#が以外に拒絶されてない件
Javaは土方言語みたいでいやだなあ。現代版のCOBOLみたい。
716 :
デフォルトの名無しさん:2007/05/09(水) 17:11:47
C#は好きだが先行きが怪しすぎるからな……
>>715 Java使いを見るな!言語そのものを見ろ!
C++もJavaもやってるとハゲるよ
>>712はもっともらしいことを言っているし正論なんだけど、
実際の現場では理想どおりにないんじゃまいか…。
C++の場合は特に。
ディーブなライブラリを使わない、難しいことはしない、という前提で動く
ならともかく、C++なんて今や自称先鋭的ライブラリの宝庫だし
大規模開発の現場では、それは一度使ってしまえば後戻りできないものだし、
プログラマのレベルもピンキリで天才とアホが入り乱れている現場では
なかなか綺麗な管理などできないもんなんじゃないか?
そしてそれはC++では顕著に出るんだよ。
もうこの言語は、減価償却期間をとうに過ぎた言語だと思うよ。
720 :
デフォルトの名無しさん:2007/05/09(水) 17:58:59
Photoshopみたいな大規模かつ速度が要求されるようなソフトで
Javaで書かれてる例ってそうそうあるのか?
OpenOfficeあたりはJavaだったと思うが
遅いうえに不安定だった印象しかない
>>719 天才とアホが入り乱れているってのは全く同感
デバッガあるのにprintfでデバッグしてて
その上書式間違えてクラッシュしてる椰子がいるうちの職場wwwww
JavaはWriteOnce,RunAnyWhere…と理想通りには行かなくとも
移植性の高さを売りにしていくのが良いんだろうな
速度ではどうしても他の環境に一歩劣ることが多い
722 :
デフォルトの名無しさん:2007/05/09(水) 18:06:11
OOoはC++
723 :
デフォルトの名無しさん:2007/05/09(水) 18:42:19
win32apiにこだわらなくてもそこそこできる
web育ちでしがらみから耐えてきた
初心者にもできる
イイ
>>720 >Photoshopみたいな大規模かつ速度が要求されるようなソフトで
サーバサイドなら山ほど。クライアントサイドでは、パッケージものでは知らない。
通信装置とか測定装置の管理用クライアントソフトとしてならたくさんある。
C++って自由なんだよね。やっちゃだめなんことでも何でもできる。
やる、やらないを決めるのはプログラマの責任。馬鹿のための安全装置は全く無い。
MT車のクラッチみたいなもんか。
C++には、安全装置がないわけではないが、馬鹿には扱えない。
というより馬鹿のための安全装置ではないという雰囲気を漂わせている。
EffectiveC++の内容を理解して初めてまともに使える様になる位だからなぁ
そこからまた勉強が必要だし
727 :
デフォルトの名無しさん:2007/05/09(水) 21:50:14
だからJavaでまともなアプリなんて作れないの。ブラウザもメーラもエディタも
サーバもみーんなC/C++なの。もう結果は出ちゃったの。
Javaは受託開発専用ドカタツールなの。負け組み言語なの。それをがんばって
覚えた人は負け組みなの。
だがJava屋は3日でC♯屋になれる
729 :
デフォルトの名無しさん:2007/05/09(水) 22:10:41
>>728 逆も同じだろ
いや逆なら3日もかからんか
>>727 eclipseやNetBeansはまともなアプリじゃないの?
これらは重いけど、開発環境としては最高の部類、
エディタとしても良いソフトの部類に入るよね
あと最近はブラウザもメーラも結構有名なJavaのソフトは出てきてるよ
君が「まとも」と言うかどうかは知らないけど
開発環境最高でも生産されるアプリがウンコの雨あられ
それがJAVAクォリティ
733 :
732:2007/05/09(水) 22:43:45
ごめん、煽っといてアンカ間違ったわ。吊ってくる。
Javaはサーバサイドと携帯で頑張ってる
それでいいじゃないか
JAVAの携帯もそろそろ見捨てられるけどな
結局高機能になってきて、JAVAじゃ無理だってことで
LinuxベースのC/C++に移行しつつある。
それに携帯のJAVAはJAVAっていってるけどあんな汚いウンコ
JAVAじゃない
736 :
デフォルトの名無しさん:2007/05/09(水) 22:53:56
>>eclipseやNetBeansはまともなアプリじゃないの?
起動が遅すぎるけどeclipseはいいんじゃない。それでやっと2つ。他には?
>>あと最近はブラウザもメーラも結構有名なJavaのソフトは出てきてるよ
へー、やっと出てきそうなのかい?Javaできて10年以上たつけど。で、どれ?
>>君が「まとも」と言うかどうかは知らないけど
誰もまともなんて思ってないよ。Javaクオリティを。Java使ってるから
ひいきめに見ちゃってるだけでしょ?どう考えても遅いでしょ?使いづらい
でしょ?不安定でしょ?Swingダサいでしょ?もう認めちゃいなよ。
>>726 Javaも、まともなアプリを作ろうとしたら、effective Javaとかの内容の理解が不可欠なんだけど、
知らなくても、なまじ動くものができるだけに、動くには動くがまともには動かないソフトが乱造される。
Javaには低脳フィルターがない。
みなさんに聞きたいことが一つあります。
現在C#やっていて、将来C++やろうと思っていたのですが
このスレを見るとC++やるのはやめたほうがいいんですかね?
>>735 >結局高機能になってきて、JAVAじゃ無理だってことで
>LinuxベースのC/C++に移行しつつある。
意味不明。
速度的に厳しい要求をされる処理をしたり
低レイヤをいじったりしないならいいんじゃね
>>738 どっちかっつーと、このスレ見るのを止めた方が……
>>735 別レイヤの話を混同するなよ
Javaで携帯のOS書いてるとでも思ってるのか?
743 :
デフォルトの名無しさん:2007/05/09(水) 23:02:47
>>738 C++厨の俺が言うのもなんだが
現場でC++が使われる機会はますます減っていくだろうね
だから仕事で役立つかもしれないから始めるってのはメリット少ない
だけどただプログラム組むのが好きで
趣味の領域でやるというのならお勧めする
なにしろ狂信的なマニアが世界中にいるwww
そもそも開発者側の都合でJavaを擁護しても仕方ない。
ユーザーにそっぽをむかれてちゃどうしようもない。
言われたい放題なので、誰かJavaでキラーアプリを作ってください
趣味でフリーソフト作るならC++しか選択肢はないぞ。あ、VBでもいいか。
>>743 わざわざ回答をして頂き有難う御座いました。
参考にさせて頂きます。
748 :
デフォルトの名無しさん:2007/05/09(水) 23:09:07
Java必死で覚えた奴ってかわいそうだな
D言語はどうなの。枯れてないとかいうのは無しで。
750 :
デフォルトの名無しさん:2007/05/09(水) 23:22:38
DはC++に迫る勢いだな。なんでこんなに速いんだろ?
>>748 言語を覚えたとかなんとか、どんだけ低脳なんだっつの
このスレであがってるのなんざ全部手続き言語じゃねーかw代入すんのがそんな難しいか?w
ぶっちゃけC#の仕事なんてまだまだ一部なわけだが。
まあC#は悪くないと思うよ。Javaをよく研究してる。
ただあの[STAThread]とかstructとか下品な構文見ると
イヤになるんだよな。
ただランタイムが標準でインストールされていると仮定して
よいのはC#の武器だな。
754 :
デフォルトの名無しさん:2007/05/09(水) 23:40:06
>>752 > このスレであがってるのなんざ全部手続き言語じゃねーかw代入すんのがそんな難しいか?w
そうですかあなたは手続き型よりもっと難しい言語を知ってると自慢したいのですか
論理型か?関数型か?
そういえばLisp使いの知り合いにこういうやつ多いな
括弧書きまくるのがそんな難しいか?www
Lispの人は転職板に行ってください
Lispの方がよっぽど簡単だよなー
C++の方がちっともやりたいことができずにバグばっかりでさw
だめじゃんw
javaってなんであんなにわかりきったことをずらずら書かなきゃいけないんだろうなw
ものすごいプログラムが横に長いw
慣れるとそれが堪らなくなるんだよ。
ってか、慣習で長い名前推奨してるのもあるんだけど。
>>758 だって、Javaって本質的にCOBOLと同じなんだもん。
>>759 たしかにJavaは書く量が多いせいで、何か完成させたときの達成感が大きい。
だけど、その達成感が、単に無駄に時間がかかりまくったがためだけの達成感であると気付いたとき、俺はJavaを捨てた。
>>759 名前が長いのって、書くときはインテリセンス使えば良いからあんまし苦にならないんだけどね。
統合環境使ってれば名前の長さとかはどうでもいいというか
下手に省略して自動補完が働かなかったりする方がずっと面倒くさいと
20文字ぐらいの関数を量産している C++ ユーザーが独り言
>>761 そこはさすがC++を真似て作っただけのことはあるなw
C++だとちょっとした処理を簡単・簡潔に書く為、templateを駆使したコードをもっさりと
書いて、そんなコードを書く時間があったら素直にベタで書いたほうがよかったんじゃね?
ってなることがよくあるw そんな時はC++厨の俺もC++を捨てたくなる。
>>766 ほら、高校の数学の時間、問題演習であまりにも簡単な問題が出てくると
普通の問題の倍ぐらい時間かけていかにエレガントな解答を書くかに注力したじゃん
横に長すぎて画面をはみ出す
プログラム書くなら UXGA のモニタぐらい買いなよ
いやいや、補完があったって長い名前だと結局苦労するんだよ
AbstractListManagerなんて名前にしてみなさい
補完が聞くまで10文字はかかるし、矢印キー混ぜるにしても
かなりキーを押す回数がかかるよ
横に長すぎってのは単に画面が狭いのと、設計クソすぎて
インデントが深くなりすぎてるからだよ。
普通に作れば読みにくいほど長くはならない。
>>772 普通はAbstractクラスを直接使うようなことはないけど
言いたいことはわかったよ。
ALMって打って補完かければいんじゃね?NetBeansだと普段そうするが。
Eclipse最近使ってないなぁ・・・
NetBeansはリファクタリングが駄目すぎるからな
>>768 今時ワイドスクリーンも使ってないの?w
わざわざJavaごときのためにワイドスクリーンを買わないといけないのか。しんどい言語だな。
>>778 今時広いスクリーンなんて常識じゃないの?
まさか1024x768の貧乏人?
1024x768でもどんな言語使ったって読みにくいほど
横に長いソース書くのは無能の証明だよ。
Javaは文字数多すぎて、見た目に汚い。
補完がどうのこうのなんて問題じゃない。
画面が文字だらけで醜い。
もっとバランスよく記号が入ってないと、全然ダメ。
卑下する言葉をいっぱい並べてるわりに内容が無いのね。
ほらほらJavaはいつもこれさ。なんでも自分中心に回ってると思ってる。
ユーザーがJavaのクライアントソフトに不満を持ってても開発者側の
論理で押し通して聞く耳を持たない。
Java使いが、「今時」と「ワイド」をリンクさせるような莫迦ばかりってわけでもないんだろうけどなあ…
いやJavaのソースが文字だらけで読みにくいなんて
読んだこともないのに思いこみで語ってるかふかしか
どっちかでしょ。
コードの文字分布としてはほかの言語と比べてもさほど
変わらない。まあC++なんかに比べると記号は少ないな。
Set<Hoge> hogeSet = ((HogeFooBar)getFooBar((abc.getAllFooBarList().toArray(new HogeFooBar[0]), HogeFooBar.class)).get(random.nextInt(abc.length()));
こんな感じのコード書く奴、勘弁してよ><
>>785 それは明らかに言語仕様の問題ではなくコーディング規約の
問題。部下がそんなコード書いたら全部書き直させるぞ。
実際時代はJavaなんだからしょうがない
フリーソフトを使ってるだけの君たちにはわからんだろうけど
785ほどではないにしても、Genericがなかった時代に基底クラスを返していた大量のメソッドのせいで訳のわからんキャストがわんさかあったり、ArrayとCollectionの連携が微妙だったりで無駄なメソッド呼び出しがわんさかしてたりするのは、Javaに特徴的と言ってもよかろう。
790 :
デフォルトの名無しさん:2007/05/10(木) 01:22:08
>>784 C++でのコード中の記号率が高いのは
演算子オーバーロードの為が大きいのかもな
ところで演算子オーバーロードてどう思う?
俺は使い方次第でエレガントな機構だと思うんだが
一方で馬鹿みたいなオーバーロードしたがる椰子がいるのも事実
736=フリーソフトを使って喜んでるだけのやつ
Genericがなかった時代の可変長配列を使うコードは
確かに読みにくいな。
そこらへんは新しい言語に一日の長がある。
もっとも書かれたコード量も雲泥の開きがあるわけで、
Javaにはいいコードも悪いコードもたくさんあるだろう。
クラスへの参照を投げながら処理をするという同じ構造
をとる限り、Javaによくある難解なコードはC#でもやろう
と思えばできる。ただ、みんなもう学習してるからそんな
ことはやらなくなっただけの話。
まあ業務ではJava使うことが多いとは聞くね。
>>784 演算子オーバーロードはきちんと使えば便利なんだけど
悪用する奴が一人いるだけでプロジェクトがパニックになる
から基本的には反対。
きちんとした教育がない限り、使用禁止にしたほうが安全
ではあると思う。
大手だったらJava一色だよ、ほんと。
糞つまんねえけど。
C++はCとの互換性で手足縛られてるからな。特にクラスの
定義と実装を(多くの場合)分離しなければならないのは
作りにくい。
ヘッダが増えるし読みにくいしヘッダ修正でコンパイルする
ファイルが波及するしでいいとこなし。
たしかにJavaはコンパイル待たなくていいのが唯一の良い点だな。
799 :
デフォルトの名無しさん:2007/05/10(木) 02:05:12
Javaは、サーバで動くプログラムを作るのに使われるのが
ほとんどの今、VMで動く意味って、ほとんどなくね?
サーバでもVMで動いているわけだが。
JavaのリモートデバッグはVM様々だと思うが。
開発プロセス全体で見るとやたら作りやすいな。
C++難しいとかってどんだけ頭悪いんだよ
なんでこんな伸びてんのこのスレ
良スレじゃあるまいし・・・良スレだったのかな?
お前が来るまでは
>>802 C++自体は簡単でも無数にあるライブラリや開発者のレベルがもろに出る
言語体系のせいでソースのクオリティがピンキリになるとか、そういう
部分が「難しい」んだろ。
誰もがお前のように、世界中のライブラリを完全にコンプして理解し、
活用できるわけじゃないんだよ。
806 :
デフォルトの名無しさん:2007/05/10(木) 10:13:48
>>802 難しいよ。お前のそもそもの間違いは、世の中の奴が自分と
同じように賢くて理屈っぽいと誤解していること。
しかし、C++みたいなややこしい言語を理解できるからと
いってそれが何になるのさ?そんなに得意になれるもん
かね。この馬鹿は
C++の場合、自分が「俺完全にC++の文法覚えたな」
と思える様になってはじめて初心者レベル
>>802の文章からすると、コイツは賢くないと思うよ
809 :
デフォルトの名無しさん:2007/05/10(木) 20:36:22
>>807 同感だな。
EffectiveC++とかModernC++Designとか読むと
それこそ重箱の隅をつくようなルールやトリックが山と出てくる。
それを覚えて中級いくかどうか。
多分
>>802は「TMPすげぇwww」とか喜んでるくらいのレベル
C++の文法って2日で覚えるだろ?
Cは1日。
おいおい、お前ら俺のあおりに反応しすぎなんだよ。
>誰もがお前のように、世界中のライブラリを完全にコンプして理解し、
>活用できるわけじゃないんだよ。
そんなに褒め称えるなよ。コンプなんてしてねーよ。てかそんな奴いねーよ。
Win32/MFC/COMくらい知ってれば、普通にアプリ作れるって。しかも、それ位
できる奴いっぱいいるって。難しく考えすぎだよ。
>C++自体は簡単でも無数にあるライブラリや開発者のレベルがもろに出る
ライブラリであふれかえってるのはJavaだろ?Struts/Hibernate/Spring/JSFとか次から次へと
出てきてエンジニアを鬱病にしてるじゃねーか。
>難しいよ。お前のそもそもの間違いは、世の中の奴が自分と
>同じように賢くて理屈っぽいと誤解していること。
だから褒め称えすぎだろ。高3の微積の方が難しかったろ?C++の文法なんて、
数日で読書くらいはできるだろ?後は実践で磨いてくんだろ?そんなのどの世界でも
いっしょだろ?
>
>>802の文章からすると、コイツは賢くないと思うよ
けなし過ぎだろ。一文だけで判断すんなよ。
>ModernC++Designとか読むと・・それを覚えて中級いくかどうか。
背伸びした意見言うなよ。Modernなんて上級だよ。お前読破してんなら十分上級だよ。
いいんだよ、無理してboostとか使わなくたって。俺は使ってるけど、別に必須なんて全然
思ってねーよ。
>多分
>>802は「TMPすげぇwww」とか喜んでるくらいのレベル
TMPってなんだよ?templateのことか?意味わかんねーよ、しっかりしろよ。
釣れたなw
813 :
デフォルトの名無しさん:2007/05/10(木) 21:38:56
キムタクがアンチでも一位になるような話だな。
一番使われてるから一番批判もされる。
815 :
デフォルトの名無しさん:2007/05/10(木) 22:05:18
>>811 > TMPってなんだよ?templateのことか?意味わかんねーよ、しっかりしろよ
Template Meta Programming
Tempファイル
やっぱりどんな言語の使い手にも馬鹿はいるもんだな
TMPのくだりはきびいなあ。
よくできるつっこみにみせかけて天然かよ。
イメージだいなし。
ティムポ
少なくともSS/PS,DC/PS2/GCあたりのゲーム機は、Javaがあったとしても
言語仕様とハード仕様のミスマッチから品質高いコードがかけないので使えない。
しかしC++で書いても高品質なコードはほとんどできない。
たとえ大手のプログラマーでもかなりの奴らがC++を使いこなせず
低品質なコードを生産している。これは言語仕様的に複雑すぎるから。
なのでおれが責任持つタイトルではCを使わせている。これほんと。
821 :
デフォルトの名無しさん:2007/05/11(金) 00:19:51
あと10年ぐらいで完成するから
Javaはなにがいけないかっていうとクラスの基幹関数がコンストラクタ固定なってることだなw
class(class(class()))
こんくらいやってようやくほしい結果が出てくるw
c = a.hoge(b)
こういう表記がほとんど出来ない
だから横に名がーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーい
つまり、標準のクラスの設計が悪いってこと?