【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?

どうもいつもお世話になります。

私はJavaを主に昔やっていた人間で、最近またプログラムを組んでいます。今はPHPをやっています。PHPまでくるとJavaScriptとそう変わらないと思い、プログラム言語の進化を感じています。

それはさておき、やはり、本格的なWindowsアプリケーションが作れたらなあという憧れがあります。で、ずばり、それを作るにはどの言語がいいのでしょうか?VC++ですか?VC#ですか?秀丸エディタや、EmEditorみたいな、すごい深く気がとどくソフトはどの言語を使っているのでしょうか?(アセンブリも使っているんでしょうか?)

私は、Microsoft社のプログラム環境はあまり使ったことがなく、いまいち、どの言語を本格的に勉強すればいいのかわかりません。

また、もうひとつの点として、やはりPerlにしろPHPにしろスクリプト言語には魅力を感じます。VB2005も簡単だとは聞くのですが、ちょっとしたお手軽GUIアプリケーションを作る場合、IronPythonとどっちがいいのでしょうか?

なお、知識がかなり浅いので、回答者様自ら、各プログラミング言語に関して、自由に語っていただけると、非常にありがたいです。どの言語でもいいです。

気の向くままによろしくお願いいたします。

A 回答 (4件)

個人的には、


(言語)Python (IronPythonでなく、本家CPython)
(GUI)wxPython
(DB)Firebird
の実装がお勧めです。

わたくしも、最近までPHPばかりやってたのですが、ある日Windowsアプリも作りたいなと思い
(ExcelやAccessのVBAとかじゃなくて)、
Javaか、C#かと考えて、参考書を買って触って見ましたが、
・Javaは、ピュアJavaのGUIが、awt、Swingの見栄えと描画がいまいち、SWTを使うにしても、コーディングが複雑。
DBは、H2やApache Derbyなど優秀な組み込み系のものが
あっていいのですが。。
・C#は、結構いいのですが、DBが。。。
SQLServer2005というのも重すぎですし、Accessのmdbや、
オープンソースのDBを使う方法もあまりスマートでない気がします。

Javaも、C#もビジネスとして本格的にやるならいいかもしれませんが。

そこへちょうど「みんなのPython※」という本がでたので、
買って読んでいろいろいじってみると、これはいけると。
(Pythonについては、その後いろいろ本がでてきました。)
競合としては、Rubyで、参考書もおおいので、好みの問題
かもしれません。

組み込み型のSQLデータベースをかませたいときは、
Gadfly、SQLiteと試しましたが、総合的判断から
Firebirdのembeded版を使うことにしました。
(kinterbasdbというライブラリを使って使います。)
また、Excelファイルの読み書きなどは、pyExceleratorを使ってます。

良いところ。
・とにかく簡単に、短く、美しく書ける。
・オブジェクト指向で書ける(「でも書ける」)。
・開発中にインタラクティブシェルで短いコードをテストできる。
・ライブラリもそこそこ充実している。
・wxPythonは、OSネイティブ(今の場合はWindows)のAPIを呼ぶので、
 GUIに違和感がない。
(拡張子を.pyでなく、.pywにすると、ダブルクリックで、
 コマンドプロンプトなしでGUIが起動します。)
・ファイル操作や、テキスト操作、正規表現などでけっこう
複雑なことができる。
・最近日本でも知名度がアップしてきた(?)
・・などなど

悪いところ。
・日本語の文字コード扱いが難しい。
・exe化が難しい。
・知名度がまだまだ低い。
・.NetFrameworkベースではない。

というところでしょうか。
Pythonを知っていると、(そして実行環境をインストールしておくと)
GUIだけでなく、ちょっとしたバッチ処理を書いたりするのに、
すごく便利なので、日々の業務が助かること間違いなしです。
現に会社のPCに、許可をとってインストールして使っています。

教えて!gooでも、Pythonのコーナー作ってくれないかな?と
思っている今日この頃です。

※柴田淳(著)ソフトバンククリエイティブ
(ただしこの本には、wxPythonやFirebirdの説明はないので、
Web上の情報や付属のサンプルコードで勉強しました。)
    • good
    • 0
この回答へのお礼

どうもありがとうございます。すごいですね。こんなに書いていただいて、”とっても”参考になりました。内容面でどこかの1万5千円くらいする講習会にでも参加したような気分です。ありがとうございます。

さて、copymaster様はPythonがお勧めなのですね。私も最近の本のでぐあいをみて、Pythonに下心を抱いておりました。これなら、楽してアプリをつくれそうだ!という下心です・・やはり、苦労はしたくありませんもんね。

パイソンの長所と短所も非常に細かく書いていただき、大変参考になりました。長所としてはやはりどこでもいわれているとおり一番目の「簡単・きれい・美しい」というのがすごい魅力だとおもいます。他にもいい面を色々あげていただいておりますが。短所はおっしゃるとおり、exeが作りにくいとありますが、IronPythonを使えばいいんじゃないかと安易に考えております。どのみち、スクリプト言語なので片手間に勉強してみようとおもいます。あと、データベースについても私もとっても知りたかったので、思わず、知識を教えていただいて大変感謝しております。埋め込み型のDBはaccessのmdbしかないのかな~?とおもっていたところ、Firebirdのembeddedというのがあるとしってとっても有益です。

今回は、本当にありがとうございました。とっても参考になりました。教えて!gooでもPythonコーナーができますように・・ その前に、AmazonでPHPコーナーができますように・・・ なんでないんでしょう。。

お礼日時:2007/05/04 13:43

K2も作者さんのサイトでソース公開してます。


# 私は環境を持っていないのでビルドしてみたことはないですが。

Pascalもネイティブ言語なので、速度的にはC/C++に匹敵しうるのかも知れませんが、
如何せん、C++に比べるとシェアがなく。
# 他にも、マイナーなネイティブ言語はD言語とか…いろいろありますね。

エディタのような、利用者がパワーユーザで反応速度を要求されるようなものは、
やはり現状はC/C++が強いのではないかと思います。

ただ、昨今はIDEなどを中心にJavaベースなものとかも出てますし、
・EclipseのIDEとか、BorlandのIDEとかはJava系。
「多少の速度差」は感じられても、慣れれば我慢できる範囲になってきてるのではないでしょうか。
# 単純な反応速度だけで言えばDOS版Vz以上に早いエディタはいまだ使ったことがありません。
この観点でいえば、開発効率とのトレードオフで非C/C++な開発は増えると思います。
# 「極限の実行性能が必要か否か」で、棲み分け/分化が進むと思います。

参考URL:http://k2top.jpn.org/index.php?K2Editor
    • good
    • 0
この回答へのお礼

どうもありがとうございます。

K2Editorもソース公開してるんですか。今度一度みてみようとおもいます。

私はまだプログラム暦がそれほどなく、DOS版のころの事とかよくわからないんですが、VZエディタとかまだ販売してますよね。これはすごいことですよね。

色々とちょっと難しめな文章をかいていただいたのですが、結構理解できました。これから先を見据えるとMrBanさんのおっしゃることを参考にしていけばいいんですね。一応、C++とC#と両方かじってみようとおもいます。

どうもありがとうございました。お礼が遅くなり、申し訳ございませんでした。

お礼日時:2007/05/07 21:02

歴史的にWin32を駆使して高い性能を出せるのは主にC/C++だけでしたので、


現状の著名なテキストエディタは大抵C++で書かれているのでは。
# Delphi製のK2editorのように全てがC/C++だとは言いませんが。

sakura editorという高性能エディタ(愛用してます)はソースを公開しています。参考までに。

やっとC#等もそれなりの速度で動くようになってきてますので、
.NETがもう少し浸透してくると他の選択肢も増えるのかもしれませんが、
あくまで現状では"ネイティブ(非.NET)"な言語の方が商用ソフトなどでも主流です。
# .NET frameworkもJavaライクなVMなので、Win32に速度が及ばないとか、
# 動作環境を選ぶ(.NETが必要)等、諸々ありますので。

参考URL:http://sakura-editor.sourceforge.net/
    • good
    • 0
この回答へのお礼

どうもありがとうございます。非常にお詳しいそうな方ですね。キャリアもすごいあるんでしょうか?とてもうらやましいです。

やはり、C/C++が今のところ主流ということでしょうか。これからはどうなんですかね??今からやるならC#とどっちがいいのかな?なんて勝手に想像してしまいます。両方とも本は買ってあるんですが、なかなか時間と根気が続かず、、中途半端で終わってしまっています。

私は以前、K2Editorを使っていたんですが、Delphi製とは驚きです。Delphiでもすごいものが作れるんですね。

いずれにしても、やはり本格的なエディタはC系ですね!私も、本格的にかつ気長にがんばってみようと思います。独習Cも3分の2までは終わったんですが・・

がんばってみます。とても、参考になりました。本当にありがとうございました。#サクラエディタのソースコードがあるとは知りませんでした。いつか役に立てたいとおもいます。夢はコンパイラ作成です。。

お礼日時:2007/05/04 13:49

★『Java』言語で良いのでは。


・『Java』を知っているのならば、それで Windows アプリケーションを作れますけど。
 PHP、JavaScript も分かるのならば、プログラムの組み方のコツは知っているため短時間で
 Windows アプリケーションの作成法を掴めるはずです。ただし、Win32 API の関数や仕組み
 などを理解しないと作れません。
・最近は、アセンブリ言語ですべてを作ったりしませんよ。処理のごく一部に高速化を望み
 それを実現するのにアセンブラで記述することもありますが、それを使うにはアルゴリズムや
 プログラムに精通していないと逆に性能の悪化に繋がります。最初は特に必要ないと思います。
 『Java』、『VC++』、『VC#』、『VB』、『Delphi』などの高級言語でプログラムを作成して
 管理する方が良い。可視性、可読性なども含めてね。
・『IronPython』は良く知りませんが、ちょっとしたお手軽 GUI アプリケーションを作るの
 ならば、VB2005 もお勧めです。VC++ よりも基本がしっかりと用意されていますので。
 ただし、VB ではきめ細かい処理は望めません。そこまで凝るのなら VC++、Java、C# などの
 方が良いでしょう。
・私は普段、VC++ 言語+SDK の組み合わせで Windows プログラムを作成しています。
 他に Windows プログラムの組み方で
 (1)C言語+Win32(SDK)
 (2)C++言語+Win32(SDK)
 (3)C++言語+Win32(MFC)
 などがあります。私は、今では(2)か(3)です。最初は(1)から Windows プログラムを始めました。
・どの言語でも重要になってくるのが Win32 API の知識とその仕組みです。
 これが分からないとどの言語でも Windows アプリケーションを作れません。
・言語の前に Windows アプリケーションの作成イメージをした方が良いかもしれません。
 下に参考文献を紹介します。→なお、C/C++、C# 言語です。

参考文献:
http://wisdom.sakura.ne.jp/system/winapi/win32/i …→『標準 Windows API』
http://www.geocities.jp/ky_webid/win32c/index.html→『Win32API(C言語)編 トップページ』
http://www.kumei.ne.jp/c_lang/index_sdk.html→『Windows SDK編 第1部』
http://www.kumei.ne.jp/c_lang/index_form.html→『C#フォーム編』
http://www.monmon-dance.com/→『独学プログラミング言語のページ』

最後に:
・一通り、上記のリンクを読んでみて Windows アプリケーションの作成手順のイメージを知って下さい。
 Windows アプリケーションの作成で使う言語の択び方は、ネットでたくさんの資料がある言語を
 選択した方が良い。私が普段ネット検索して気づいた点としては、VC++、VB、Delphi 言語での
 Windows アプリケーションの作成方法が結構多い事です。また、HSP というフリーの言語による
 Win32 API の資料もあります。普段、HSP は使いませんが、良い API 資料があるためお気に入りに
 保存しています。他の言語でも参考になるページは、どんどんお気に入りに登録しています。
 おかげで整理するのが大変になってしまった。今現在、お気に入りを整理するツールでも作ろうかと
 考えています。もちろん、使い慣れた VC++言語+Win32(SDK) の組み合わせで作る予定です。
・以上。今後の参考になればと思い回答しました。

参考URL:http://www.kumei.ne.jp/c_lang/sdk/sdk_00.htm
    • good
    • 0
この回答へのお礼

どうもありがとうございます。長文をとっても楽しく読ませていただきました。

>以上。今後の参考になればと思い回答しました。
とっても参考になりました。今後に生かせそうです。
やはり、VC++の需要が現在は多いみたいですね。私も、VC++は一番最初にVC++6.0を買ったんですが、コマンドラインコンパイルしかわからなくて、まだいまだにGUIアプリケーションは作ったことがありません。一度、本格的に作ってみたいとずっと思っていたんですが。

VB2005が基礎部分ではCより関数とかがそろっているというのは、驚きでした。以前、会社でVB6を使った際に、あんまり細かいところまで行き届かなかった覚えがあるものですから・・・

HSPもよさそうですね。とにかく、色々な言語を覗いてみるだけでも、かなり知識が深まりますよね。HSPもやってみようとおもいます。

参考URLまで、紹介していただきまして、大変感謝しております。もうすぐ、C系を本格的に勉強すると思いますので、そのとき、じっくり読みたいと思います。

ちなみに、JavaのGUIは結構、詳しいとおもうんですが、エディタ部分(エディタclass)で細かい制御ができないので、こりゃ駄目だ・・とおもいました。

どうもありがとうございました。とても参考になりました。

お礼日時:2007/05/04 13:58

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!