Windowsアプリを作るのに最適な言語を教えてください。

回答の条件
  • URL必須
  • 1人50回まで
  • 登録:
  • 終了:2008/04/04 23:10:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答19件)

id:arhbwastrh No.1

回答回数447ベストアンサー獲得回数23

ポイント13pt

どんなアプリを作るかによるのでなんとも言えません。

VBは比較的簡単なので作りやすいので初心者にはお勧めですけどね。


http://q.hatena.ne.jp/answer

id:garyo

ありがとうございます。

VBはVB6まで良く使っていたのですが、VB.net以降のVS2005, VS2008となるとまったく別言語と言っていいくらい変わってて、また改めて覚えるのも大変そうです。

簡単なツールなどは昔はVBで作っていましたが、今はvrubyで作ってます。

VS2005でMFCで組むのは面倒だし、フリー版のVC++はCLIでしか組めないし、微妙に拡張してあるみたいです。個人的にはC++Builderが好きだったのですが、会社でツールを作った場合、他の人がメンテできないという問題がありました。仕事の関係(組み込み)でc, c++が使えると助かるのでJavaやC#はちょっとという思いがあります。

そう考えると今、Windowsのアプリを作るのに最適な言語(覚えやすさ、開発環境の入手性、ユーザーの多さ、機能性など)は何だろうと知りたくなりました。

(あと最近はWindows mobileもやることがあります)

あえて細かな条件を書かなかったのは、一般的にどの言語が最適と思われているか知りたかったからです

VB 1

2008/04/03 07:20:58
id:haruo-31 No.2

回答回数80ベストアンサー獲得回数10

ポイント13pt

Windowsで開発する人は、選択肢がたくさんあるので色々悩めますよ。(笑)

目的を書いてらっしゃらないので月並みな意見ですが、

生産性を追求するなら、.net Frameworkを使ったVB.netが一番楽です。

プログラム作った~!という充実感がほしいなら、Visual C++でしょう。

両者共下記URLから開発ツールがダウンロードできます。

http://www.microsoft.com/japan/msdn/vstudio/express/


前者は両方とも「開発」という感じの堅苦しい雰囲気になりがちですが、テキスト処理とか小間使いなツールを作りたいなら、Perlです。グラフィカルな画面は作りこむのが大変ですが・・・

http://www.activestate.com/activeperl/

id:garyo

ありがとうございます

やっぱりVisual Studio の Express Editionが無料で入手できるので、入手性の点ではいいのでしょうか。VC++かVBですか。VBもまた一から覚えると考えると(N88->QB->VBとやってます)手間から考えると別な言語覚えてもいいかと考えてます。

>Windowsで開発する人は、選択肢がたくさんあるので色々悩めますよ。(笑)

まったくその通りです。

ツールなどの場合、他の人でもメンテ可能なことを考えるとある程度デファクトな言語がいいですね。

どんなに使いやすくてもDelphiのPASCALで書かれたツールのメンテを頼まれたら困ると思います。

VB 2

VC++ 1

Perl 1

2008/04/03 08:00:16
id:Kumappus No.3

回答回数3784ベストアンサー獲得回数185

ポイント13pt

提示条件が少なさ過ぎます。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) その割にみんな使ってないので(笑)、自慢できる(かもしれない)。

id:garyo

ありがとうございます。

>提示条件が少なさ過ぎます。

提示条件を詳しく書くと、かなり限定されてしまうので、あえて一般的にどの言語が良いと思われているのか知りたくてこのような質問にしました。

>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

2008/03/31 01:15:38
id:ymlab No.4

回答回数508ベストアンサー獲得回数34

ポイント13pt

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をインストールしてもらうことになるからです。

id:garyo

ありがとうございます。

VC++のMFCだとExpress Editionより上位の有料のEditionになりますね。2005のExpressは別途DLしてSDKまでしか使えなかったと思います。

VC++もMFCとCLIのどっちを使えばいいかというのが悩み所です。

MFCだとWindows mobileでも使えるのが悩ましい所です。

CLIだと開発環境が無料ですし。

VB 2

VC++ 2

Perl 1

C# 2

2008/03/31 01:29:05
id:ichigoperu No.5

回答回数11ベストアンサー獲得回数0

ポイント13pt

http://www.microsoft.com/japan/msdn/vstudio/products/vs08/overvi...

何のアプリを作るかやプログラミングスキルによって色々選択肢はあると思いますが本格的なアプリケーションを作成したいならVisual Studio 2008 Professional Edition上でC++を使用する事になると思います。13万くらいするので気軽に手が出る価格ではないですが本格的に開発されるのであればこれ以外の選択肢はあまり無いと思います。

もしフリーウェアやシェアウェアの開発等をされるのであれば無償版のVisual Studio 2008 Express Editionがありますのでそれをダウンロードして試されるのがいいかと思います。

id:garyo

ありがとうございます。

確かにVS PROは高くて個人では買えないですよね。

会社ではVS2005PRO使ってますが、家で使えないのでVS Express Edition を使うと、今度はMFCが使えないのでCLIとなりますよね。

使い方も大分変わっている(最初^は何かと思いました)気がします。

VB 2

VC++ 3

Perl 1

C# 2

2008/03/31 01:39:58
id:shikaku No.6

回答回数12ベストアンサー獲得回数2

ポイント13pt

http://www.microsoft.com/japan/msdn/vstudio/

どんなアプリを作るのかにもよりますが

いまから覚えるならC#がオススメです。


理由はググって出てくる情報量が多いからです。


他の言語もいろいろ特徴がありますが、細かいところでわからなくなって詰まってしまう->やる気がなくなる

となりがちです。

id:garyo

ありがとうございます。

C#もVB.netもサンプルソースを見るとほとんど同じ(文法が違うだけで同じAPIを呼び出している)ような気がしてどちらがいいか迷います。

VB 2

VC++ 3

Perl 1

C# 3

2008/03/31 01:49:45
id:masanobuyo No.7

回答回数4617ベストアンサー獲得回数78

ポイント13pt

Windowsアプリを作成するための開発言語として、有名なものとしては、

VB、C#、Delphi、C++などがあります。

私としては、この中で、特にC#をお勧めいたします。


この理由としては、GCがついていること、デリゲードがついていること

があることです。

これらがついておりますので、開発、生産性の効率が高くなります。

特に、デリゲードはMVCを実装しやすく、複数画面への通知がInterface

のように使用できるからです。

色々な意見があると思いますが、私はC#をお勧めいたします。


URLはダミーです。

http://q.hatena.ne.jp/1206713348

id:garyo

ありがとうございます。

C#を押す方も多いですね。

ユーザーの方も大分増えているのでしょうか。

VB 2

VC++ 3

Perl 1

C# 4

2008/03/31 01:59:37
id:asami88 No.8

回答回数10ベストアンサー獲得回数0

ポイント13pt

http://d.hatena.ne.jp/asami88/

・あまり複雑でないアプリを即効で作るならVB

・プログラムの起動までに、多少のオーバーヘッドがかかるが複雑なことがしたいならC#

・複雑な処理を高速に処理させたい場合はC,C++

結局、作るアプリによりますが、後々のこと(仕様変更、保守、運用)を考えれば

個人的にお勧めはC,C++です。

また、C,C++はWindowsアプリに限らず、いろいろなプラットフォームで使えるので、覚えるにこしたことは

ありません。

id:garyo

ありがとうございます。

昔は即効で作るならVBだったのですが、今はVBもC#もあまり変わらない(VBの文法が大幅に変わったため)ような気がします。

基本の仕事はWindows以外のプラットフォームでの開発になるのでC,C++がメインです。

VB 2

VC++ 4

Perl 1

C# 4

2008/03/31 02:10:18
id:yukiwaka No.9

回答回数187ベストアンサー獲得回数2

ポイント13pt

C#が良いかと思います。

Visual Studio 2008 Express Edition は

無料で使う事が出来ます。

http://www.microsoft.com/japan/msdn/vstudio/express/

ネット上でのTipsなども割と豊富ですので

是非チャレンジして見て下さい。

http://uchukamen.com/

http://dobon.net/

id:garyo

ありがとうございます。

C#を押される方が多いですね。

参考URLありがとうございます。

C#でもWindows mobileの開発ができるんですね(VBの方は試そうかと思っていました)

おそらくExpress Editionより上が必要だと思いますが。

VB 2

VC++ 4

Perl 1

C# 5

2008/03/31 02:33:54
id:mr-80b No.10

回答回数1ベストアンサー獲得回数0

ポイント13pt

「なでしこ」

http://nadesi.com/

ちょっとしたGUIツールを作ることができる開発環境としてはなかなかお手軽かと思います。

「最適」と言われると腰が引けますが。。。

まあ、条件が全く提示されていないようですので。。。

id:garyo

なでしこですか。

簡単なGUIツールやOFFICEとの連携はruby(win32ole)やVBA,WSHでやることが多いです。

VB 2

VC++ 4

Perl 1

C# 5

なでしこ 1

2008/03/31 02:37:14
id:t_ishida No.11

回答回数18ベストアンサー獲得回数0

ポイント13pt

VB中心に考えるのが良いと思います。


http://homepage3.nifty.com/Tatsu_syo/Devroom/VBnet.html


まあ、.NET上では言語は、

「コーヒーが好きか、紅茶が好きか?」

のレベルの違いしか無くなっているので、C++以外だと、出来ることに差が有りません。

が、技術者の量から考えても、選択肢の答えはVBが中心になると思います。

画面を作る

VB.NET


Webを作る

VB.NET(ASP.NET)


Officeアプリを作る

VBA


ちょっとしたマクロを作る

VBScript(WSH)

エディタのマクロを作る(サクラエディタ他)

VBScript(WSH)


のように、よくも悪くも、

Windowsの世界はVBだらけです。

id:garyo

VB.netとVBA(WSH)では同じコードを動かしても互いにエラーになるくらい互換性がないですね。

同じCLIのAPIを呼び出しているのでVB.netとC#は書き方が似ていますが、C#の方が素直な実装のような気がしてきました。

VB 3

VC++ 4

Perl 1

C# 5

なでしこ 1

2008/04/02 00:30:51
id:ANSUKOEMU No.12

回答回数12ベストアンサー獲得回数0

ポイント13pt

http://hsp.tv/

http://hsp.tv/make/hsp3.html

お仕事でつかうカタめの言語は既出なので、HSPはどうでしょう。

・手軽に扱えるスクリプト言語システム。

・統合開発環境(IDE)に近いものが提供されている。

・ライセンスフリー。

個人や少人数の仲間内でフリーウェア(ゲーム等)を作るとか、

大掛かりな開発環境を持ち出すまでも無いようなケースに向きます。

id:garyo

昔のBASICライクで初心者や小学生には向いているかも知れませんが

なでしこと同じであえて使おうとは思わないです。

このくらいならvrubyを使います。

VB 3

VC++ 4

Perl 1

C# 5

なでしこ 1

HSP 1

2008/04/03 07:22:29
id:takuyarei No.13

回答回数17ベストアンサー獲得回数0

ポイント7pt

英語がおすすめです。

そうすれば、様々な人が見ることができるので。

http://www.live.com/

http://www.microsoft.com/japan/

id:qwerty0120 No.14

回答回数1ベストアンサー獲得回数0

ポイント13pt

ActiveBasicというBasicベースのものもありますが、どうでしょうか。

http://www.activebasic.com/

こちらもあまり大規模な開発には向かない気がします。

id:garyo

ありがとうございます

N88BASIC互換モードなどはなつかしいかも知れませんね

最新の技術にどこまで追従しているのかが気になります。

http://www.geocities.jp/bfrqf368/activebasic/abc/lesson-n88.html

VB 3

VC++ 4

Perl 1

C# 5

なでしこ 1

HSP 1

AB 1

2008/04/03 07:00:51
id:cybergene No.15

回答回数9ベストアンサー獲得回数0

ポイント13pt

C#をおすすめします。

http://www.microsoft.com/japan/msdn/vstudio/express/

・ExpressEditionが無償提供されている

・PCには.NET Framework、WindowsMobileには.NET Compact Frameworkがあるので、同じ言語でどちらの開発も可能

・VBよりも開発環境が優れている

(Microsoftは、VisualStudioの開発環境を、VBとC#で競争させて開発させており、現状ではC#の方が、自動補完機能が強力な点などで勝っていると言われる)

id:garyo

ありがとうございます。

ソースコードを比較してみると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

2008/04/03 07:42:08
id:ken33jp No.16

回答回数928ベストアンサー獲得回数13

ポイント13pt

Perl Dev Kit v6.0以降あたり。

http://d.hatena.ne.jp/keyword/Perl%20Dev%20Kit?kid=46838

id:garyo

ありがとうございます。

LLだとPerlよりRubyの方が好きです。

VB 3

VC++ 4

Perl 2

C# 6

なでしこ 1

HSP 1

AB 1

2008/04/03 07:41:12
id:tilfin No.17

回答回数8ベストアンサー獲得回数0

ポイント13pt

C# を押します。

http://www.microsoft.com/japan/msdn/vstudio/express/

VB6.0まで使ってきて、.NET になったとき VB.NET を使いましたが、

機能が増えて文法が変わり、キーワードが増えたため書く量が増えてました。

.NET では C# も VB と同様の生産性が期待できるので、私は以前 C# に乗り換えました。

unsafe オプションを使えば部分的ポインタが使えるようになるので、

WinAPI を使うことになったときなども対応も柔軟にできます。

ただ一つ遅延バインディングが使いたいなら VB がイイと思います。

そういった機能が必要ならそこだけ別プロジェクトでDLL化しますね。

メインはやはりC#です。

id:garyo

ありがとうございます。

マルチプラットフォームを考えず、Windowsに限定すれば、C#は良さそうですね。

VB 3

VC++ 4

Perl 2

C# 7

なでしこ 1

HSP 1

AB 1

2008/04/04 07:10:09
id:liquidlight No.18

回答回数1ベストアンサー獲得回数0

ポイント13pt

どんなアプリを開発するのか解らないので求めているのと答えが違うかもしれませんが・・・

「Windowsで」と言うことなので.NETからの選択になると思います。

誰も推薦していない IronPython はどうでしょうか?(注意:自分はLinuxな人なので使ったことありません)

(参考 @IT IronPython開発入門)

.NET FrameWorkが使えるし、膨大なオープンソースのコードから勉強できます。

.NET FrameWorkが使えることでPython本来の他OSでの動作はアプリによって

できないかと思いますがWindowsだけで使うのならば問題はないと思います。

C#も捨てがたいのですが・・・

id:garyo

ありがとございます。

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

2008/04/04 07:15:40
id:mituki_saku No.19

回答回数1ベストアンサー獲得回数0

ポイント12pt

私的にはVisual C++がお勧めなのですが、新たに言語を覚えるなら

C#がいち押しだと思います。

さすがにVSのProffesional Editionは高いので機能は少し落ちますが

Standard Editionなら安く手に入りますよ。

あとはPascalという事でTurbo Delphi(Delphi2007)もお勧めです。

http://www.turboexplorer.com/jp/

 

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません