C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[41]: VC++.NETについて


(過去ログ 33 を表示中)

[トピック内 79 記事 (1 - 20 表示)]  << 0 | 1 | 2 | 3 >>

■16012 / inTopicNo.1)  VC++.NETについて
  
□投稿者/ 鶏唐揚 (3回)-(2008/03/26(Wed) 18:51:49)

分類:[雑談] 

どうもこんばんわ。素朴な疑問が浮かんだので書き込んでみます。

VC++といえば強力なネイティブアプリが作れるというイメージがありますが、
初期の.NETが発表された時、私は「ついにVC++がVB並に楽になる時代が来たか!?」と期待したことがあります。
後で調べてみて、その手法だとネイティブにならないことを知ってがっくりしましたが(^^;

ネイティブで高速なアプリを作りたければ従来どおりVC++を、
.NETクラスライブラリで簡単スマートに作りたければVB/VC#を選択する
というのが一般的になっていると思うんですが、
世の中探せばVC++で.NETアプリをバリバリ作ってる方もいると思うので、
あえてVC++で.NETアプリを作るメリットがあれば聞いてみたいと思います。

あと、VC++2005だったか2008だったかで、ネイティブで作っても.NETFrameworkが必要みたいな
噂を聞いたのですが、本当なんでしょうかね?バグ?


#ちなみに私のVC++レベルは、コンソールアプリかWin32DLLが限界…
引用返信 編集キー/
■16013 / inTopicNo.2)  Re[1]: VC++.NETについて
□投稿者/ シャノン (339回)-(2008/03/26(Wed) 19:03:10)
No16012 (鶏唐揚 さん) に返信
> あえてVC++で.NETアプリを作るメリットがあれば聞いてみたいと思います。

新規開発であれば「ない」と言っちゃっていいんじゃないかと。
既存の MFC アプリを保守している中で .NET Framework の機能を使いたいとか、ネイティブで作られている部品を C# から使うときにうまく橋渡しして欲しいとか、そんな感じじゃないですかね。

> あと、VC++2005だったか2008だったかで、ネイティブで作っても.NETFrameworkが必要みたいな
> 噂を聞いたのですが、本当なんでしょうかね?バグ?

嘘です。

> #ちなみに私のVC++レベルは、コンソールアプリかWin32DLLが限界…

俺も。
引用返信 編集キー/
■16014 / inTopicNo.3)  Re[1]: VC++.NETについて
□投稿者/ アキラ (15回)-(2008/03/26(Wed) 19:09:05)
アキラ さんの Web サイト
No16012 (鶏唐揚 さん) に返信

> あえてVC++で.NETアプリを作るメリットがあれば聞いてみたいと思います。

んー、私の場合C++/CLIはC++でどうしても.NET Frameworkを使いたい場合のみ使いますけどね
XMLとかは.NET使うとラクなので。

あとはC++/CLIもしくはC#でWindowsフォームで画面を簡単に作り
Native(MFCとか)で実装を書く、とか


> あと、VC++2005だったか2008だったかで、ネイティブで作っても.NETFrameworkが必要みたいな
> 噂を聞いたのですが、本当なんでしょうかね?バグ?

そんな話は聞かないですね。
間違って/clrオプション付けたんじゃないでしょうか?
引用返信 編集キー/
■16017 / inTopicNo.4)  Re[1]: VC++.NETについて
□投稿者/ とっちゃん (261回)-(2008/03/26(Wed) 19:55:32)
とっちゃん さんの Web サイト
No16012 (鶏唐揚 さん) に返信
> VC++といえば強力なネイティブアプリが作れるというイメージがありますが、
> 初期の.NETが発表された時、私は「ついにVC++がVB並に楽になる時代が来たか!?」と期待したことがあります。
> 後で調べてみて、その手法だとネイティブにならないことを知ってがっくりしましたが(^^;
>
お、同じくw

> ネイティブで高速なアプリを作りたければ従来どおりVC++を、
> .NETクラスライブラリで簡単スマートに作りたければVB/VC#を選択する
> というのが一般的になっていると思うんですが、
> 世の中探せばVC++で.NETアプリをバリバリ作ってる方もいると思うので、
> あえてVC++で.NETアプリを作るメリットがあれば聞いてみたいと思います。
>
アキラさんも書いてますが、どうしてもC++じゃなければならなくて
なおかつ、.NET の機能も使いたいという場合だけでしょうね。
でも、その場合でも、大半は C# なりで書いておいて必要な部分だけ
薄皮のモナカの如くにラップしてやるというのが一番いいのではないかと。


> あと、VC++2005だったか2008だったかで、ネイティブで作っても.NETFrameworkが必要みたいな
> 噂を聞いたのですが、本当なんでしょうかね?バグ?
>
デマです。
Express Edition だと、そのままではConsoleしか作れませんが(DLLすら作れない...)
ちょっと設定してやれば、DLLでも、Win32 GUIでも作れます。

>
> #ちなみに私のVC++レベルは、コンソールアプリかWin32DLLが限界…
日常的に VC++ でNativeなGUIアプリ作ってますw

引用返信 編集キー/
■16031 / inTopicNo.5)  Re[2]: VC++.NETについて
□投稿者/ 鶏唐揚 (4回)-(2008/03/27(Thu) 10:56:42)
こんな雑談にも返信ありがとうございます。

皆さんの意見を聞いていると、VC++で.NETは流行ってないみたいですね(^^;

.NETクラスライブラリがネイティブコンパイルされたら
きっとWin開発言語界で最強になるんじゃないかと思うのですが、
それができない(しない)のにはやはり理由があるんでしょうか。

簡単にネイティブをっていうとDelphiが思いつくんですが、正直私には
Pascal文法がやりづらくてしょーがないです(とかいいながらTurboDelphi買っちゃったんですが)

多少遅くなったとしても、見慣れたC++文法&VB/C#と同じように扱える.NETクラス
でネイティブコンパイルできたら迷わず飛びつくんですけどねぇ。
そこまでネイティブに拘ってるのは私だけカナ(--;
引用返信 編集キー/
■16034 / inTopicNo.6)  Re[3]: VC++.NETについて
□投稿者/ myugaru (56回)-(2008/03/27(Thu) 13:04:39)
myugaru さんの Web サイト
No16031 (鶏唐揚 さん) に返信
> こんな雑談にも返信ありがとうございます。
>
> 皆さんの意見を聞いていると、VC++で.NETは流行ってないみたいですね(^^;
>
> .NETクラスライブラリがネイティブコンパイルされたら
> きっとWin開発言語界で最強になるんじゃないかと思うのですが、
> それができない(しない)のにはやはり理由があるんでしょうか。
>
> 簡単にネイティブをっていうとDelphiが思いつくんですが、正直私には
> Pascal文法がやりづらくてしょーがないです(とかいいながらTurboDelphi買っちゃったんですが)
>
> 多少遅くなったとしても、見慣れたC++文法&VB/C#と同じように扱える.NETクラス
> でネイティブコンパイルできたら迷わず飛びつくんですけどねぇ。
> そこまでネイティブに拘ってるのは私だけカナ(--;

考えていらっしゃる内容が相当古い概念だと思います。
まずVistaだと.NETを指してネイティブと呼べます。
おっしゃっているネイティブが遅いというのは旧OS達での話ですね。
それと実際にちゃんと速度比較なりされてますか?
検索だけで得た情報信じているとどこまでも井の中の蛙ですよ。
検索したページの日付とかちゃんと確認なさった方がよいです。
もう最先端はとっくに.NETになっています。

引用返信 編集キー/
■16035 / inTopicNo.7)  Re[4]: VC++.NETについて
□投稿者/ myugaru (57回)-(2008/03/27(Thu) 13:09:52)
myugaru さんの Web サイト
うーんここには書き込みしないでおこうと誓ったのに
.NETの悪口いうから衝動的に書いちゃったジャマイカ・・・。

引用返信 編集キー/
■16036 / inTopicNo.8)  Re[4]: VC++.NETについて
□投稿者/ シャノン (340回)-(2008/03/27(Thu) 13:10:49)
2008/03/27(Thu) 13:11:53 編集(投稿者)

No16034 (myugaru さん) に返信
> 考えていらっしゃる内容が相当古い概念だと思います。
> まずVistaだと.NETを指してネイティブと呼べます。
> おっしゃっているネイティブが遅いというのは旧OS達での話ですね。

「Vista だと .NET を指してネイティブと呼べる」というのはどういう意味でしょうか。
Vista においても .NET Framework は Windows API の上に実装されています。

昔は「Vista からは .NET Framework がネイティブになり、Windows API がエミュレートされる」って言われてましたが、ふたを開けてみたらそうはなりませんでした。
引用返信 編集キー/
■16037 / inTopicNo.9)  Re[4]: VC++.NETについて
□投稿者/ 組込系の人 (5回)-(2008/03/27(Thu) 13:21:52)
私はWinアプリ作る時はC#メインですが、あまり古いPCで使うアプリを
作る機会が無いせいか、

「.NETだから遅いのか!!!」

みたいな場面に出くわしたこと無いですね。


しいて言えば、コントロールを1画面に大量に張った時は重いですね・・・
多分、ネイティブで作っても重いでしょうけど^^;
古いシステムで使ってるPCに、新たに追加アプリを入れるとかじゃ無ければ、
そんなに気にしなくて大丈夫だと思いますよ
引用返信 編集キー/
■16038 / inTopicNo.10)  Re[3]: VC++.NETについて
□投稿者/ シャノン (341回)-(2008/03/27(Thu) 13:23:58)
No16031 (鶏唐揚 さん) に返信
> .NETクラスライブラリがネイティブコンパイルされたら
> きっとWin開発言語界で最強になるんじゃないかと思うのですが、
> それができない(しない)のにはやはり理由があるんでしょうか。

.NET で作ったアプリは中間コード(MSIL)にコンパイルされますが、MSIL は初めて実行されるときにネイティブコードにコンパイル(JIT(Just-In-Time)コンパイル)され、一度 JIT コンパイルされたコードは、次からはネイティブコードが実行されます。
毎回中間コードを解釈しているわけではありません。
ですから、JIT コンパイラの最適化能力が低いというのでない限り、MSIL が遅いのは初めて実行されるときだけです。
これは、プログラム中の多くのコードが一度しか実行されない場合は非常に遅くなりますが、多くのプログラムはいわゆる80:20の法則が成り立つため、問題になりません。

# 敢えてアレには言及しないでおく。
引用返信 編集キー/
■16039 / inTopicNo.11)  Re[4]: VC++.NETについて
□投稿者/ 渋木宏明(ひどり) (682回)-(2008/03/27(Thu) 13:24:25)
渋木宏明(ひどり) さんの Web サイト
> まずVistaだと.NETを指してネイティブと呼べます。

そんな慣習はなかったと思いますが。
なんか出典ありますか?

引用返信 編集キー/
■16040 / inTopicNo.12)  Re[4]: VC++.NETについて
□投稿者/ 鶏唐揚 (5回)-(2008/03/27(Thu) 14:02:46)
何か勘違いをしてらっしゃるようですね。
私は別に.NETの悪口を言ってるわけではありませんし、反対派でもありません。

単純に、趣味で開発するとき「ランタイム不要」とか「幅広いバージョンのWindowsで実行できる」とか
考えて開発することが多いので、Win32ネイティブに拘る傾向がある、といってるだけです。
.NET Frameworkが使える前提の場合なら迷わずVB.NETを選択しますよ。
ぶっちゃけC++はド素人でVBのほうが本職のようなもんです。

趣味開発のコンセプトがWin32ネイティブなので、より簡単に作れないものかと
VC++.NETの将来に期待を寄せていただけの話です。
それをどう捕らえたら「.NETは遅い!クソだ!Win32ネイティブマンセー!」な話になるんでしょうか。

それに最先端がどうであれ、状況に応じた開発をするのがプロだと思うんですが。
何か間違ってますかね?

#検索だけで得た情報とか言ってますけど、一度も「検索した情報によると」なんて言ってませんよね?
 それに、鵜呑みにしてないからこそ有識者である皆様に真実を聞こうとしてるんですよ。
 あと私は自分でいうのもなんですが言語オタクなのでかなりの数の言語を触ってきました。
 .NETも2003/2005/2008それぞれVB/C#/C++/J#全部使ってます。
 厳密な速度比較はしてませんが、実際に触って最低1つはアプリ開発しているので
 体感的なものでも遅い・早いはわかっているつもりですし、端末や環境による
 向き不向きもそれなりに体験しているつもりですが。
引用返信 編集キー/
■16056 / inTopicNo.13)  Re[5]: VC++.NETについて
□投稿者/ 鶏唐揚 (6回)-(2008/03/27(Thu) 15:29:36)
なんかいろいろ失礼なこと言われたのでカッとなりましたが
冷静になると話が反れてしまっていますね。申し訳ありません。

最初に書いたように、強力なWin32ネイティブが特徴だったVC++で
.NET開発をする利点はあるのかなという単純な疑問をぶつけてみただけで、
利点がないからどうするとか言うわけでもなく、
「.NETクラスライブラリで楽チンに作ってランタイムいらず!Win98くらいでも動くよ!HDDも圧迫しないよ!」
的な形にVC++が進化したら個人的に狂喜乱舞しちゃいますが皆さんはドデスカ ってだけです。
引用返信 編集キー/
■16057 / inTopicNo.14)  Re[6]: VC++.NETについて
□投稿者/ シャノン (345回)-(2008/03/27(Thu) 15:45:26)
No16056 (鶏唐揚 さん) に返信
> 最初に書いたように、強力なWin32ネイティブが特徴だったVC++で
> .NET開発をする利点はあるのかなという単純な疑問をぶつけてみただけで、
> 利点がないからどうするとか言うわけでもなく、
> 「.NETクラスライブラリで楽チンに作ってランタイムいらず!Win98くらいでも動くよ!HDDも圧迫しないよ!」
> 的な形にVC++が進化したら個人的に狂喜乱舞しちゃいますが皆さんはドデスカ ってだけです。

ネイティブで書いてさえ Win98 でも動くように配慮するなんて面倒くさく、HDD の大容量化も著しい昨今、どちらも個人的に狂喜乱舞する理由になりません。

ところで、仮に、.NET Framework を使ったコードがランタイムなしで動くようにするとなると、.NET Framework のコードをスタティックリンクしなければならなくなって、それは共有ライブラリとしての .NET Framework の HDD 占有率、メモリ占有率を大きく上回ると思うんですが。
それはネイティブにおいても同様ですよね。MFC アプリでさえ MFC ランタイムがないと動きません。
引用返信 編集キー/
■16063 / inTopicNo.15)  Re[7]: VC++.NETについて
□投稿者/ 鶏唐揚 (7回)-(2008/03/27(Thu) 16:34:56)
>ネイティブで書いてさえ Win98 でも動くように配慮するなんて面倒くさく
私は本腰を入れて作る場合は面倒でも配慮するようにしてます(未だにWin98とかMEとか使ってる人いますからw)
VB6で開発してたころ、権限の関係でCOM登録できない端末があり、
そこでも実行できるようにOCX等を使わずWinAPIをバリバリ書いてたことがありました。

>.NET Framework のコードをスタティックリンクしなければならなくなって、それは共有ライブラリとしての.NET Framework の
>HDD 占有率、メモリ占有率を大きく上回ると思うんですが。
ありうる・ありえない は別にして話しますが、
コンパイラがメソッド単位で必要・不必要を切り分けて最適化してくれれば
なんとかなりそうな気がします(でもそれなら.NETクラスライブラリじゃなくてもいいじゃんって話)

>HDD の大容量化も著しい昨今
確かにサイズだけで言えば、HDD大容量化している今気にする必要なんてないですが、
ちょっとしたツールで何十MBという.NET Frameworksが必要なのか!?と
文句言われたことがあったので個人的に意識してしまいます。
MFCはあまり詳しくないです…。

#というか、軽い気持ちで書き込んだらここまで大きな話になるとは…(^^;
引用返信 編集キー/
■16065 / inTopicNo.16)  Re[8]: VC++.NETについて
□投稿者/ myugaru (58回)-(2008/03/27(Thu) 17:02:44)
myugaru さんの Web サイト
No16063 (鶏唐揚 さん) に返信
私も軽はずみで失礼な言動がありました。お許しください。
私もさんざん言語ヲタクで利用してきました。
「言語」というカテゴリーで速度とか流通してるかどうかとか度外視したら
私はDelphiが一番素晴らしいと思います。
では私は傍観者になりますm(_)m
引用返信 編集キー/
■16067 / inTopicNo.17)  Re[5]: VC++.NETについて
□投稿者/ myugaru (59回)-(2008/03/27(Thu) 17:18:50)
myugaru さんの Web サイト
No16039 (渋木宏明(ひどり) さん) に返信
>>まずVistaだと.NETを指してネイティブと呼べます。
>
> そんな慣習はなかったと思いますが。
> なんか出典ありますか?
>

すみませんシャノンさんに解説いただいたとおりです。
私の勘違いです。知識が不足して発言しました。申し訳ありません。
引用返信 編集キー/
■16070 / inTopicNo.18)  Re[9]: VC++.NETについて
□投稿者/ 鶏唐揚 (8回)-(2008/03/27(Thu) 17:31:33)
>では私は傍観者になりますm(_)m
いろんな人の様々な意見を聞きたいのでコレという情報があれば
是非教えてください(^^

#私も似たような経験あるので人のこといえませんしね(--;

そういえばDelphiもGUIアプリ作るとやたらでかいEXEになりますね…
引用返信 編集キー/
■16100 / inTopicNo.19)  Re[10]: VC++.NETについて
□投稿者/ Azulean (42回)-(2008/03/28(Fri) 00:11:58)
> そういえばDelphiもGUIアプリ作るとやたらでかいEXEになりますね…
VCLをexeの中に持たせているからでは?
(VCL: http://ja.wikipedia.org/wiki/Visual_Component_Library )

ちなみにVC++でVCLに相当するのはMFCと言えるかと。
#厳密には役割・目的がずいぶん違いますが、イメージとして近いという意図で書いています。
(MFC: http://ja.wikipedia.org/wiki/Microsoft_Foundation_Class )
-----
>コンパイラがメソッド単位で必要・不必要を切り分けて最適化してくれれば なんとかなりそうな気がします
理想状況という前提で無粋かもしれませんが…。

.NETのクラスライブラリはCLRが前提の部分も多いのでは?(ガベージコレクションとか)
それらを含めて、使っている部分だけ切り出すのは大変そうだなぁ。
#.NETのクラスライブラリの中でWin32APIとかばりばり呼んでいたりするので、Win98にないAPIを使っているメソッドなんてどうしようもない…。


将来的な展望として、Windowsにバンドル or Windows Updateで提供ってスタンスになると思うので、フルネイティブコンパイル(=ランタイム不要)の実現はないかなぁと考えています。
引用返信 編集キー/
■16102 / inTopicNo.20)  Re[11]: VC++.NETについて
 
□投稿者/ 中博俊 (1259回)-(2008/03/28(Fri) 00:44:19)
中博俊 さんの Web サイト
>将来的な展望として、Windowsにバンドル or Windows Updateで提供って

これってどこにかかってる?
.NET 2.0という意味ではServer 2008から
.NET 2.0, 3.0という意味ではVistaから

入ってるけど
引用返信 編集キー/

次の20件>
トピック内ページ移動 / << 0 | 1 | 2 | 3 >>

管理者用

- Child Tree -