Windowsで開発する人は、選択肢がたくさんあるので色々悩めますよ。(笑)
目的を書いてらっしゃらないので月並みな意見ですが、
生産性を追求するなら、.net Frameworkを使ったVB.netが一番楽です。
プログラム作った~!という充実感がほしいなら、Visual C++でしょう。
両者共下記URLから開発ツールがダウンロードできます。
http://www.microsoft.com/japan/msdn/vstudio/express/
前者は両方とも「開発」という感じの堅苦しい雰囲気になりがちですが、テキスト処理とか小間使いなツールを作りたいなら、Perlです。グラフィカルな画面は作りこむのが大変ですが・・・
ありがとうございます
やっぱりVisual Studio の Express Editionが無料で入手できるので、入手性の点ではいいのでしょうか。VC++かVBですか。VBもまた一から覚えると考えると(N88->QB->VBとやってます)手間から考えると別な言語覚えてもいいかと考えてます。
>Windowsで開発する人は、選択肢がたくさんあるので色々悩めますよ。(笑)
まったくその通りです。
ツールなどの場合、他の人でもメンテ可能なことを考えるとある程度デファクトな言語がいいですね。
どんなに使いやすくてもDelphiのPASCALで書かれたツールのメンテを頼まれたら困ると思います。
VB 2
VC++ 1
Perl 1
提示条件が少なさ過ぎます。GUIなのかサーバアプリケーションなのか。
かけられる予算はどのぐらいなのか、質問者さんの経験値 など。
そのへんを勝手に想像してえいや、で答えるとC#かなあ。
http://www.microsoft.com/japan/msdn/vstudio/express/
理由:
1) Visual C# 2008 Express Edition だと登録さえすれば無料で開発環境が手に入る。自動補完機能が強力なのでまるで穴埋めクイズを解いているような錯覚さえ覚えます。
2) Cでもっとも初心者が躓きやすいポインタの概念がない。
3) メモリ管理はシステムが自動でやってくれる。
4) 言語仕様的にも関数プログラミング的要素も持っていて高度なことが割と簡単にできる。
5) GUIアプリケーションがきわめて簡単に作れる。Visual C++よりもVisual Basicに近いぐらい。
6) Microsoftの環境下で使うことを前提にすると、Webアプリケーションなどでも標準言語として使用でき、応用範囲が広い。
7) その割にみんな使ってないので(笑)、自慢できる(かもしれない)。
ありがとうございます。
>提示条件が少なさ過ぎます。
提示条件を詳しく書くと、かなり限定されてしまうので、あえて一般的にどの言語が良いと思われているのか知りたくてこのような質問にしました。
>GUIなのかサーバアプリケーションなのか。
GUIですね。通常のWindowsのアプリです。サーバー用ならrubyで書きます。
>かけられる予算はどのぐらいなのか、
予算は安い方がいいですね。無料で使えると嬉しいです。(会社のPCにはVS2005proが入っています)
>質問者さんの経験値 など。
組み込み系のソフト開発を10年以上やってます。
windowsアプリは会社でツールを作るのが主です。以前は簡単に作りたい時はVB6で、C++のコードが必要な時や組み込み用のプログラムをPC上でデバッグする時はVC++(とMFC)で作っていました。最近はVBの代わりにvrubyでツール作っていましたが、スクリプトをexe化しているのでネイティブにアプリを作れる言語を使いたい時があります。
c#とvb.netの方がVC++より簡単に作れそうですが、どっちも似ているので逆にどちらがいいか迷います。
VB 2
VC++ 1
Perl 1
C# 1
Microsoft Visual C++2005 もしくは、Microsoft Visual C++2008
http://www.microsoft.com/japan/msdn/visualc/
です。
一番汎用性があります。
開発は、C++の、MFCを利用するとよいと思います。
Microsoft Visual C#も個人的にはお薦めなのですが、
今現在は、Windows XPとWindows Vistaの両方ともよく使われている
ことを考慮すると、C++を推薦します。
Visual C#の場合、.net frameworkを必要とするので、
配布するときに、Windows XPの場合動かない可能性があります。
別途 .net frame workをインストールしてもらうことになるからです。
ありがとうございます。
VC++のMFCだとExpress Editionより上位の有料のEditionになりますね。2005のExpressは別途DLしてSDKまでしか使えなかったと思います。
VC++もMFCとCLIのどっちを使えばいいかというのが悩み所です。
MFCだとWindows mobileでも使えるのが悩ましい所です。
CLIだと開発環境が無料ですし。
VB 2
VC++ 2
Perl 1
C# 2
http://www.microsoft.com/japan/msdn/vstudio/products/vs08/overvi...
何のアプリを作るかやプログラミングスキルによって色々選択肢はあると思いますが本格的なアプリケーションを作成したいならVisual Studio 2008 Professional Edition上でC++を使用する事になると思います。13万くらいするので気軽に手が出る価格ではないですが本格的に開発されるのであればこれ以外の選択肢はあまり無いと思います。
もしフリーウェアやシェアウェアの開発等をされるのであれば無償版のVisual Studio 2008 Express Editionがありますのでそれをダウンロードして試されるのがいいかと思います。
ありがとうございます。
確かにVS PROは高くて個人では買えないですよね。
会社ではVS2005PRO使ってますが、家で使えないのでVS Express Edition を使うと、今度はMFCが使えないのでCLIとなりますよね。
使い方も大分変わっている(最初^は何かと思いました)気がします。
VB 2
VC++ 3
Perl 1
C# 2
http://www.microsoft.com/japan/msdn/vstudio/
どんなアプリを作るのかにもよりますが
いまから覚えるならC#がオススメです。
理由はググって出てくる情報量が多いからです。
他の言語もいろいろ特徴がありますが、細かいところでわからなくなって詰まってしまう->やる気がなくなる
となりがちです。
ありがとうございます。
C#もVB.netもサンプルソースを見るとほとんど同じ(文法が違うだけで同じAPIを呼び出している)ような気がしてどちらがいいか迷います。
VB 2
VC++ 3
Perl 1
C# 3
Windowsアプリを作成するための開発言語として、有名なものとしては、
VB、C#、Delphi、C++などがあります。
私としては、この中で、特にC#をお勧めいたします。
この理由としては、GCがついていること、デリゲードがついていること
があることです。
これらがついておりますので、開発、生産性の効率が高くなります。
特に、デリゲードはMVCを実装しやすく、複数画面への通知がInterface
のように使用できるからです。
色々な意見があると思いますが、私はC#をお勧めいたします。
URLはダミーです。
ありがとうございます。
C#を押す方も多いですね。
ユーザーの方も大分増えているのでしょうか。
VB 2
VC++ 3
Perl 1
C# 4
http://d.hatena.ne.jp/asami88/
・あまり複雑でないアプリを即効で作るならVB
・プログラムの起動までに、多少のオーバーヘッドがかかるが複雑なことがしたいならC#
・複雑な処理を高速に処理させたい場合はC,C++
結局、作るアプリによりますが、後々のこと(仕様変更、保守、運用)を考えれば
個人的にお勧めはC,C++です。
また、C,C++はWindowsアプリに限らず、いろいろなプラットフォームで使えるので、覚えるにこしたことは
ありません。
ありがとうございます。
昔は即効で作るならVBだったのですが、今はVBもC#もあまり変わらない(VBの文法が大幅に変わったため)ような気がします。
基本の仕事はWindows以外のプラットフォームでの開発になるのでC,C++がメインです。
VB 2
VC++ 4
Perl 1
C# 4
C#が良いかと思います。
Visual Studio 2008 Express Edition は
無料で使う事が出来ます。
http://www.microsoft.com/japan/msdn/vstudio/express/
ネット上でのTipsなども割と豊富ですので
是非チャレンジして見て下さい。
ありがとうございます。
C#を押される方が多いですね。
参考URLありがとうございます。
C#でもWindows mobileの開発ができるんですね(VBの方は試そうかと思っていました)
おそらくExpress Editionより上が必要だと思いますが。
VB 2
VC++ 4
Perl 1
C# 5
「なでしこ」
ちょっとしたGUIツールを作ることができる開発環境としてはなかなかお手軽かと思います。
「最適」と言われると腰が引けますが。。。
まあ、条件が全く提示されていないようですので。。。
なでしこですか。
簡単なGUIツールやOFFICEとの連携はruby(win32ole)やVBA,WSHでやることが多いです。
VB 2
VC++ 4
Perl 1
C# 5
なでしこ 1
VB中心に考えるのが良いと思います。
http://homepage3.nifty.com/Tatsu_syo/Devroom/VBnet.html
まあ、.NET上では言語は、
「コーヒーが好きか、紅茶が好きか?」
のレベルの違いしか無くなっているので、C++以外だと、出来ることに差が有りません。
が、技術者の量から考えても、選択肢の答えはVBが中心になると思います。
VB.NET
VB.NET(ASP.NET)
VBA
VBScript(WSH)
VBScript(WSH)
のように、よくも悪くも、
Windowsの世界はVBだらけです。
VB.netとVBA(WSH)では同じコードを動かしても互いにエラーになるくらい互換性がないですね。
同じCLIのAPIを呼び出しているのでVB.netとC#は書き方が似ていますが、C#の方が素直な実装のような気がしてきました。
VB 3
VC++ 4
Perl 1
C# 5
なでしこ 1
お仕事でつかうカタめの言語は既出なので、HSPはどうでしょう。
・手軽に扱えるスクリプト言語システム。
・統合開発環境(IDE)に近いものが提供されている。
・ライセンスフリー。
個人や少人数の仲間内でフリーウェア(ゲーム等)を作るとか、
大掛かりな開発環境を持ち出すまでも無いようなケースに向きます。
昔のBASICライクで初心者や小学生には向いているかも知れませんが
なでしこと同じであえて使おうとは思わないです。
このくらいならvrubyを使います。
VB 3
VC++ 4
Perl 1
C# 5
なでしこ 1
HSP 1
ありがとうございます
N88BASIC互換モードなどはなつかしいかも知れませんね
最新の技術にどこまで追従しているのかが気になります。
http://www.geocities.jp/bfrqf368/activebasic/abc/lesson-n88.html
VB 3
VC++ 4
Perl 1
C# 5
なでしこ 1
HSP 1
AB 1
C#をおすすめします。
http://www.microsoft.com/japan/msdn/vstudio/express/
・ExpressEditionが無償提供されている
・PCには.NET Framework、WindowsMobileには.NET Compact Frameworkがあるので、同じ言語でどちらの開発も可能
・VBよりも開発環境が優れている
(Microsoftは、VisualStudioの開発環境を、VBとC#で競争させて開発させており、現状ではC#の方が、自動補完機能が強力な点などで勝っていると言われる)
ありがとうございます。
ソースコードを比較してみるとCLIの場合はC#が一番素直な表記のようですね
まとめてみると
VB.net: VB6までの知識が使えない。新しく覚えなおすならC#でも同じ?
VC++: 仕事で必要なので必須。MFCとCLIのどちらを使うかで悩む
C#: 実装としてはCLIを使うなら一番素直そう。ツールに使った場合は他の人がメンテできるかが問題。MS社は良く方針転換するのでそれが不安
今の所VC++, C#を押す方が多いようですが
現状でのWindowsでアプリを作る場合のデファクトはVC++, C#になるのでしょうか。
VB 3
VC++ 4
Perl 1
C# 6
なでしこ 1
HSP 1
AB 1
ありがとうございます。
LLだとPerlよりRubyの方が好きです。
VB 3
VC++ 4
Perl 2
C# 6
なでしこ 1
HSP 1
AB 1
C# を押します。
http://www.microsoft.com/japan/msdn/vstudio/express/
VB6.0まで使ってきて、.NET になったとき VB.NET を使いましたが、
機能が増えて文法が変わり、キーワードが増えたため書く量が増えてました。
.NET では C# も VB と同様の生産性が期待できるので、私は以前 C# に乗り換えました。
unsafe オプションを使えば部分的ポインタが使えるようになるので、
WinAPI を使うことになったときなども対応も柔軟にできます。
ただ一つ遅延バインディングが使いたいなら VB がイイと思います。
そういった機能が必要ならそこだけ別プロジェクトでDLL化しますね。
メインはやはりC#です。
ありがとうございます。
マルチプラットフォームを考えず、Windowsに限定すれば、C#は良さそうですね。
VB 3
VC++ 4
Perl 2
C# 7
なでしこ 1
HSP 1
AB 1
どんなアプリを開発するのか解らないので求めているのと答えが違うかもしれませんが・・・
「Windowsで」と言うことなので.NETからの選択になると思います。
誰も推薦していない IronPython はどうでしょうか?(注意:自分はLinuxな人なので使ったことありません)
(参考 @IT IronPython開発入門)
.NET FrameWorkが使えるし、膨大なオープンソースのコードから勉強できます。
.NET FrameWorkが使えることでPython本来の他OSでの動作はアプリによって
できないかと思いますがWindowsだけで使うのならば問題はないと思います。
C#も捨てがたいのですが・・・
ありがとございます。
CLIが呼び出せれば言語は何でも良さそうですね。
RubyistなのでIronRubyに期待したいです。
http://www.atmarkit.co.jp/news/200707/24/msruby.html
VB 3
VC++ 4
Perl 2
C# 7
なでしこ 1
HSP 1
AB 1
IronPython 1
私的にはVisual C++がお勧めなのですが、新たに言語を覚えるなら
C#がいち押しだと思います。
さすがにVSのProffesional Editionは高いので機能は少し落ちますが
Standard Editionなら安く手に入りますよ。
あとはPascalという事でTurbo Delphi(Delphi2007)もお勧めです。
http://www.turboexplorer.com/jp/
ありがとうございます。
VBはVB6まで良く使っていたのですが、VB.net以降のVS2005, VS2008となるとまったく別言語と言っていいくらい変わってて、また改めて覚えるのも大変そうです。
簡単なツールなどは昔はVBで作っていましたが、今はvrubyで作ってます。
VS2005でMFCで組むのは面倒だし、フリー版のVC++はCLIでしか組めないし、微妙に拡張してあるみたいです。個人的にはC++Builderが好きだったのですが、会社でツールを作った場合、他の人がメンテできないという問題がありました。仕事の関係(組み込み)でc, c++が使えると助かるのでJavaやC#はちょっとという思いがあります。
そう考えると今、Windowsのアプリを作るのに最適な言語(覚えやすさ、開発環境の入手性、ユーザーの多さ、機能性など)は何だろうと知りたくなりました。
(あと最近はWindows mobileもやることがあります)
あえて細かな条件を書かなかったのは、一般的にどの言語が最適と思われているか知りたかったからです
VB 1