トップページ⇒tech
48コメント16KB

C++の.NETはなんであんなに汚いの?

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2006/04/29(土) 14:57:59
名前空間の解決演算子が多すぎ。
関数を全部ヘッダにインラインで書くのも理解不能。
0002デフォルトの名無しさん2006/04/29(土) 14:59:40
5時丁度にさっさと帰るメリケン塵がゲイシに尻を叩かれ、ふてくされながら書いたコードだから
0003デフォルトの名無しさん2006/04/29(土) 15:10:51
ずっとMFCを使ってきたが、もうそろそろ切り替えの時期だと思って.NETをいじってみた。
しかしあまりの使い勝手の悪さに、またMFCに戻ってしまったよ。
C#やVBだと.NETももっと使いやすいのかね。
0004デフォルトの名無しさん2006/04/29(土) 15:16:29
>関数を全部ヘッダにインラインで書く

え?なんのこといってんの?
もしかしてフォーム・デザイナが生成するコードが
全部 Form.h なんかに書かれてるよってこと言ってんじゃねぇだろうな?
0005デフォルトの名無しさん2006/04/29(土) 15:16:45
こっちはMFCになじめないからネイティブで書いてるぜ
0006デフォルトの名無しさん2006/04/29(土) 15:19:44
MFCだってネイティブ。
0007デフォルトの名無しさん2006/04/29(土) 15:20:15
というか、「C++の.NET」って意味が分からん。
C++/CLI で .NET Framework を使うってことか?
0008デフォルトの名無しさん2006/04/29(土) 15:26:17
>>7
そだよ。マネジドC++だっポよ
0009デフォルトの名無しさん2006/04/29(土) 15:40:33
>>8 もし VC++7.1 (VC++.NET 2003) の Managed C++ のことを
いっているのなら VC++8 (VC++ 2005) の C++/CLI は
構文も少しはすっきりしていると思うが・・・
まぁ名前空間のことをいってるなら、
どの言語でも長ったらしくなるのは仕方ないと思うよ。
それは C++ に限ったことじゃなくて、 C# だってそうだろ。
そこは using をつかえってことで。
0010デフォルトの名無しさん2006/04/30(日) 01:44:14
いいかげんに.NETでC++使おうなんて夢捨てろよ
どう考えても新規に作るならC#の方がいいだろう
C++使わなければならない香具師は可哀想だけどな

MFCよりSDKだよな。ATLとか分からないし…
0011デフォルトの名無しさん2006/05/07(日) 22:45:00
VS2005なら、Win32もMFCもATLもこれまで通りなんだが・・・
MFCとか言ってるやつは、またVC6を使おうとか思ってないだろうな?
0012 ◆Gv599Z9CwU 2006/08/03(木) 01:46:48
テス
0013デフォルトの名無しさん2006/08/05(土) 02:17:33
あう使いのスレじゃなかったのか。
0014デフォルトの名無しさん2006/08/05(土) 10:20:07
>>13
ここは10,11を見れば解るように低脳専用スレ(無論俺も低脳
0015デフォルトの名無しさん2006/09/16(土) 22:41:36
VisualStudioC++2003を使っています。
Windowsフォームアプリケーション(.NET)で
MessageBox::Show("1232");というコードを書いたところ
「d:\〜Form1.h(259): error C2653: 'MessageBoxA' : 識別子がクラス名でも名前空間名でもありません。」
となります。ご指導お願いします。
0016デフォルトの名無しさん2006/09/16(土) 23:09:21
>>15
手っ取り早く解決するには#undef MessageBoxを書け。

なんでこうなるかというと、Windows APIにもMessageBoxが存在し、
そっちはTCHAR絡みでMessageBoxA/Wへ置き換えるマクロであるのは周知のとおりだが、
.NET Frameworkのほうにはそんな仕組みがあるわけではないのに、
プリプロセッサはそんなことを知るわけもなく、根こそぎ置き換えていくため。
0017デフォルトの名無しさん2006/09/16(土) 23:30:38
うげっ。そんな問題があるのか。
MFCとCLRの混在は止めた方がよさそうだな。
0018デフォルトの名無しさん2006/09/21(木) 19:04:49
MFCってちょー汚いよね?
0019デフォルトの名無しさん2006/09/24(日) 03:58:05
超漢字
0020デフォルトの名無しさん2006/10/01(日) 04:11:48
久々にWinのプログラムでもしようと思った。
Vistaでは2005以降しか対応しないようなので(それ以前のbuildでも実行ファイルは動く)、
C++ 2005 Express Editionをインストールした。PlatformSDKもインストールした。
俺はWin32APIだけしか知らない(MFCも知らない)古い人間。
とりあえずDialogBoxベースでテストプログラムでも作ろうと思った。
リソースエディタが無い・・・freeなリソースエディタとかもあるらしいがメンドイので
ためしに.NETのWindowsフォーム?とかいうので作ってみた。
なんだ!この驚愕的な簡単さは!!!???
フォームエディタ上に配置したボタンをダブルクリックするだけでコードが書けるぞ!
これは何かの罠だ。絶対デメリットがあるはずだ!詳しい人指摘してくれ!
俺予想
1.使うPCに.NET Framework 2.0がインストールされてないと動かない
2.ちょっとしたプログラムでも大量にメモリを必要とする
3.C++で書いたのに実はネイティブコードではない>遅い
0021デフォルトの名無しさん2006/10/01(日) 10:08:37
>>20
1と3は正解。2もたぶんそうだろうが、あまり気にするほどでもないと俺は思っている。
3も起動し出せばそんなに遅くはない。ものによっては厳しいことがあるかもしれない。
ただしネイティブコードの混在もできる。

従来どおりWin APIを使ってプログラムを書けば、全てネイティブになるし、
.NET Frameworkも使わないプログラムが書ける。
Standard以上を買えばリソースエディタもある。
0022デフォルトの名無しさん2006/10/01(日) 12:18:34
PerlでCGIしか作ったことしかないのですが、>>20を読んだら自分でも簡単にGUIがを作れそうに
感じました。

本当に簡単に作れます?
それから今、メモリ512Mですが、どれくらいまで増やした方がいいですか?
あと、+1Gぐらい必要でしょうか?
0023デフォルトの名無しさん2006/10/01(日) 13:28:22
>>22
メモリ増やすのを検討するのは、とりあえず動かしてみて重いと感じてからでも遅くないと思う。
0024デフォルトの名無しさん2006/10/01(日) 17:18:03
>>20
VB6でも全部できるだろ。今更すぎ
C++やってるやつは馬鹿にしてないでVBもちょっとかじっとけばよかったんだ
0025デフォルトの名無しさん2006/10/01(日) 17:32:37
MFC以前の人間から見たらそりゃあ別世界でしょうなあ
0026デフォルトの名無しさん2006/10/02(月) 09:21:34
>>20
3も、JavaのVMと違って、別に中間言語そのままで実行される訳じゃなくて。
実行直前にJITでネイティブコードに変換されるから。そんなに遅くは無い。
0027デフォルトの名無しさん2006/10/02(月) 09:44:09
4.Borland C++ Builderで作る方が簡単
0028デフォルトの名無しさん2006/10/02(月) 19:52:41
>>23
サンクス。
「1Gじゃちょっと足りないな。」みたいなレスを見たのでちょっと不安になってました。
0029デフォルトの名無しさん2006/10/03(火) 02:32:44
>>27
それは嘘だな。
今は.NETでやった方がずっと簡単。
0030デフォルトの名無しさん2006/10/03(火) 08:38:50
真実

>C++の.NETはなんであんなに汚いの?

0031デフォルトの名無しさん2006/10/03(火) 09:22:02
>ttp://blog.livedoor.jp/dankogai/archives/50647659.html
>C#は確かにいいと思う。私自身はJavaよりずっとかっこいいと思う。
>でも使わない。「手元の環境」であるOS XやFreeBSDでは敷居が高いからだ。
>なぜ敷居が高いか?デフォルトで付いてこないからだ。

ドトネトってユーザの敷居を高くするだけだからヤなんだおね。
それから生産性がメチャ高いとか無くって、VCLのパチモン。
旧VBやMFCに比べて生産性がメチャ高いだけ。

失われたブビチュウの10年。
作り直しを迫られるV$厨の現在。
これから失われるドトネト厨の未来。
0032デフォルトの名無しさん2006/10/03(火) 19:00:12
Vistaで全部解決。
DOSとかアセンブラとかWin16とかMMXとか、もうね、
0033デフォルトの名無しさん2006/10/03(火) 19:07:39
>軽量XMLコンポーネント XMLLite リリース
>ttp://blogs.wankuma.com/naka/archive/2006/10/02/40447.aspx


速い















.NET Framework不要
C++に最適
スクリプト言語サポートせず
0034デフォルトの名無しさん2006/10/04(水) 09:57:05
>>32
>Vistaで全部解決。

ttp://furukawablog.spaces.live.com/Blog/cns!156823E649BD3714!6411.entry
そして最後にさらに絶句したのは、「古川さん、そんなことを問題にしないでくださいよ..
Windows Vistaの品質なんてRC1(出荷予定版の第1版)がレリースされたのに、
もっとヒドイんですから...
多分過去出荷したWindowsの各バージョンに比べて最低の品質だと思います。
だって、出荷版のビルドエラーを起こして、マスターソースがコンパイル・リンクができなくなっちゃたけど、
まぁ、良いかってノリでレリースしてしまってるんですから」なんて話を聞くにつけ、さらに寒いっ...

0035デフォルトの名無しさん2006/10/04(水) 18:37:07
C++.net(2002)アカデミーなんですが、参照設定するにはどうすればいいんですか
ソリューションエクスプローラーでプロジェクト名をクリックしてから
メニューのプロジェクトを開いても「参照の追加」「新規の参照」といった
メニュー項目は出てきません。
0036デフォルトの名無しさん2006/10/07(土) 02:36:50
C#:変な物覚えたくない。
J#:変な物覚えたくない。
Basic:今更、basicは嫌だ。
というわけで消去法でC++しか残りませんが?

++のクラスってゴミなのは同意するけどな。
C相当として使えれば十分です。
コンパイラで事前コンパイルしてCPUネイティブバイナリで爆速ですよ。
0037デフォルトの名無しさん2006/10/07(土) 09:44:24
>>36
.NET の C++ は「もっと変な物」だぞ。
0038デフォルトの名無しさん2006/10/07(土) 10:13:31
>>36
趣味のプログラミングならそれでもいいけど。
仕事では、そのプロジェクトで適切な言語を選定して使うから。
そんなえり好みはしてられないね。
0039デフォルトの名無しさん2006/10/08(日) 11:33:55
日本人なので日本語で通すよ。
CプログラマなのでCしか受け付けません。
0040デフォルトの名無しさん2006/10/08(日) 20:55:15
仕事ならなおさら数年後生き残ってるのを見込んで、歪んでもC++だろうな。

C#さえ数年後はあやすい。
0041デフォルトの名無しさん2006/10/08(日) 21:53:19
Windows Vista が大転けする要因抱え込み過ぎだしなぁ。
Vista が大転けすれば C# は .NET ごと灰燼に帰す可能性が大。
0042デフォルトの名無しさん2006/10/08(日) 22:27:34
なんでひとつの言語に絞らなければならないのか、それがわからん。
将来消え失せる言語をわざわざ予想して忌避する理由が分からん。
0043デフォルトの名無しさん2006/10/08(日) 23:57:42
誰も一つとか言ってないだろ。
Webプログラミングはスクリプトベースのほうが生産性高いし。
Java2 EE以外選択の余地がない分野も少なくないだろう。
要は適材適所で。

消える可能性が高い言語への投資は無駄になりがちだからなー。
趣味なら、どうでもいいが。
数年後に、OSの更新に伴って、プログラムも更新や移行が必要になったときに
ソースが読めなかったり、ソース読める人間集めるのに苦労するんじゃ困るだろうな。
0044デフォルトの名無しさん2006/10/09(月) 02:45:21
まず将来にわたっての安定稼働が主眼にあるわけだね
読める読めないの話は、よほど変な言語使わない限りは
問題はコードの書き方や内部資料のファクターじゃない?
0045デフォルトの名無しさん2006/10/09(月) 05:39:32
>>44
>読める読めないの話は、よほど変な言語使わない限りは
メジャーな言語でも Perl なんかの類いはその言語に慣れ親しんでいるヤツじゃなきゃ
読めたもんじゃねぇぞ、あんなの。
0046デフォルトの名無しさん2006/10/09(月) 14:37:03
Perlは「よほど変」に入るのかもw
0047デフォルトの名無しさん2006/10/09(月) 16:16:36
安定稼動は、会社やPM視点だが、
開発者視点なら、求人数と案件の豊富さも外せないかと。

バイト、派遣の募集つらつら眺めてると、C#とかは数えるほどだから。
しかも、条件はほとんど選べない。
C++:Java:Webスクリプト:その他=3.5:2.5:3:1くらいじゃないかなー
社内だと、C#,Java,Webスクリプトの割合も、もう少し大きいだろうけど。
0048デフォルトの名無しさん2006/11/17(金) 14:58:44
初めてVC.net2005のコードを見て、

インデクサうぜぇ!
まあ'98のアンシのときも同じ様なもんだったんだろう

これまでBCCで学んできたが、そろそろ[,]にも慣れなきゃなw
■ このスレッドは過去ログ倉庫に格納されています