- 1 名前:デフォルトの名無しさん [2007/04/23(月) 08:47:13 ]
- これからプログラミングを始める初心者の人に言語を薦めるスッドレ
質問者の方へ どのプログラミング言語を最初に覚えるべきかは なぜプログラミングを始めたいのか、何を作りたいのかによってまったく変わってきます。 なんとなく、でもかまわないので動機、用途、使っているOSを明記しましょう。 Part3 pc11.2ch.net/test/read.cgi/tech/1152778344/ Part2 pc8.2ch.net/test/read.cgi/tech/1122205164/ Part1 pc8.2ch.net/test/read.cgi/tech/1034505166/
- 236 名前:デフォルトの名無しさん [2007/05/30(水) 02:55:22 ]
- 初心者がwindowsアプリを作るのにお勧めな言語として
ここでは、C#とVBがよく挙げられていますが、 JAVAがまったくと言っていいほど出てこないのは 何か理由があるんでしょうか(・_・)? 元々JAVAに興味がありまして、 アルゴリズムやデザインパターンの教本も充実しているようなので JAVAを学習してみようかと思ってるんですが あまり評判が良くないので躊躇してしまいます。 検索しても将来性に不安がある、なんて話も出てきますし・・・。 目的は主にwindowsアプリの作成です。 ここまで嫌われているのは何か理由があるんでしょうか? GUIや速度面での不安も無くなってきてるんですよね? ちらほらJAVA製のアプリを目にします。 .NETにも対応しているようですし。
- 237 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 02:58:07 ]
- MS がタダで開発環境提供してるからじゃね?
- 238 名前:デフォルトの名無しさん [2007/05/30(水) 07:43:15 ]
- >>236
>>JAVAがまったくと言っていいほど出てこないのは >>何か理由があるんでしょうか(・_・)? 「JavaからRubyへ」っていう本が、この4月に出ています。これを見ると、Javaの本を4冊も書いた著者が Javaに見切りをつけた理由について書かれています。自分の努力・経験を否定するわけですから、大変 な選択だったと思えます。 購入するほどではない気もしますが、立ち読みされれば、Javaが嫌われつつある理由がわかると思います。 簡単にいえば、「Javaは、複雑すぎる。学ぶのがたいへん。」ってことのようです。
- 239 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 08:11:25 ]
- >>236
Windowsが x86+Win32の事なら、現在この環境でアプリをネイテブに作れるのは 1, C++ (VC++ / BCB /その他) 2、Delphi ひと昔前なら VB6もあったけど、現在入手する事は出来ない。 JAVA/C#/VB.NET は全て中間言語方式。 ネイテブに対応してるわけではないので、 その中間言語の実行環境を用意してやらなければいけない そして、 GUIや速度面の不安はまだまだ残っている。 JAVAはちょっとしたツールを作るだけなら困らないという段階。 .NET は Vistaが.NETネイテブな環境なら別の見方もあったかもしれないが、現在はマイクロソフトが やってるだけあってWin32のラッピングを頑張ってるなという段階だ。 ただ、それぞれイメージ戦略で頑張ったおかげで、商業的にはそれぞれの分野で成功している。 自分を商品として消費させたいなら、その商品戦略に乗るのも悪くはないだろう。 JAVAだって立派に消費されてるよ。
- 240 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 08:27:44 ]
- >>236
一言で言うとMSの用意したAPI(主にWin32API)にアクセスしづらい為。 かつてMSがJavaをC++に変わる標準言語に位置づけようとしたとき問題になったのがこの点で MSはJ++として独自に拡張した言語で問題をクリアしようとした。 それを知ったSunが激怒して裁判に持ち込み実質J++を潰してしまった。 プラットフォーム非依存のJavaを汚染させ Windowsに囲い込もうとした意図は確かにあっただろうが 結果として生産性も高くWindowsと親和性の高い、いいとこ取りした言語は消え MSはCool(現C#)を独自開発することを余儀なくされてしまった。
- 241 名前:236 mailto:sage [2007/05/30(水) 14:22:08 ]
- >>237-240
たくさんの丁寧なレスありがとうございます<(_ _)> 感動してしまいました。 なるほど、検索してみてもC#に乗り換えてる人のコラムが いくつかありますしJAVAを取り巻く環境は厳しくなってるみたいですね。 JAVAはサンプルが豊富ですし、 デザインパターンやネットワークプログラグラミングの本が多いので これらを学ぶ為にもかじってみたいと思ったのですが、 よくよく考えてみます。 当方C#を使っているんですが、資料が少なくて。 特にデザパタとネットワークはダメですね。 洋書もなかなか翻訳されないし。 明確な回答が得られて嬉しかったです。 どうもありがとうございました。
- 242 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 14:30:54 ]
- まあでも、そのあたりの言語の差なんて プログラミング技術全体からしたら大きな差じゃない。
クロストレーニングで、メインにしたい道具以外の道具でも 手当たりしだい手を出した方がトータルの学習速度が上がる人の方が多いと思うよ。
- 243 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 16:04:06 ]
- Javaもそれ自体は悪くないが、
単にWindowsアプリケーションには向いていないというだけ > GUIや速度面での不安も無くなってきてるんですよね? 少なくともGUIに関してはだめ この点に関してはOSの機能を使うC#/VB/C++などのほうが WiondowsアプリケーションらしいUIになる
- 244 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 16:44:54 ]
- >>215
じゃ、まずはDelphiで 利用分野 Windowsアプリ全般を広範囲に簡単に作れる。 ・2CH専用ブラウザにもDelphi製は多い (SkypeもDelphi製) ・DBやサーバ側も有料バージョンで対応可能。 言語概要: 古式ゆかしい構造化言語であるPASCAL上位互換(現在もそのままコンパイル出来る下位互換) に、古式ゆかしいOOPを元にコンポーネント志向という言葉まで作った委譲を載せたもの さらに、ポインタ・インラインアセンブラも装備 利点 低レベルからOOPまでの基礎を学ぶには非常に良い。 言語仕様はコンパクト。 理解するのに苦労するような概念はない。 VCLは良いWin32APIのラッパであり、必要十分な上、直接API呼び出しも簡単。 コンパイルの速さは異常。 実行ファイルをクリックしてるのと錯覚するくらいコンパイル&goは速い。 実行ファイルだけ渡せば動く 欠点 流行のクロージャとかジェネリクスは学べない Windows以外の環境は(FreePascal/Lazarus)くらい メーカーのゴタゴタ(阪神みたいなもんか)
- 245 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 21:07:09 ]
- >>244
ここら辺も追加してはどうだろう? 利用分野: シェアウェア作家に利用者が多い傾向にある 利点: 登録が必要だが、フリーで開発環境が手に入る GUIを作り易い。 作りやすい割に、ほどほどの速度で動く。ネイティブアプリが作れる 欠点: windows以外の環境に、kylixも入れた方がいいのでは。 実行ファイルのサイズはやや大きめ。 細かい最適化などはできない。 メーカーの明日がわからない。 delphi作った人はどっかにいってしまった。 現在主流のC系列の言語体系ではない。 でも全部テンプレにしたら、このスレはぜんぜん進まなくなるんじゃないか?w
- 246 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 22:41:05 ]
- >でも全部テンプレにしたら、このスレはぜんぜん進まなくなるんじゃないか?w
意味不
- 247 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 23:39:41 ]
- PGの実務にWindowsアプリの占める割合なんて微々たるもんだと思うんだが……
- 248 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 06:43:47 ]
- PGってなんなん?
とりあえず初心者にとっては目の前のキカイをいじくれる言語が最適だと思われ
- 249 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 06:59:11 ]
- PG = Poor Guy
- 250 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 07:21:06 ]
- Windowsアプリに拘るのが2ch初心者の特徴。
- 251 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 07:24:07 ]
- C言語
利用分野 組込用 H8/M16C/PICなどの1チップマイコンの開発 携帯ゲーム用 Linuxなどのコンソールスタイルのアプリ 言語概要 ALGOL=>PASCALの構造化プログラミングは受け継ぐが、強い静的型付は弱められ、 少しでも短く書けるような工夫がされており、見た目は少し異なる。 古くさいプリプロセッサと分割コンパイルに対応。 ポインタを強く意識、参照は持たない 利点 商業的に過去成功した結果、現在でも多くのツールやライブラリ、コード例が豊富。 プログラミングを学ぶ上で必須の教養的存在。 欠点 弱い静的型付に慣れるのは良くない習慣をもたらす。(ポインタと配列の混乱など) 低レベルでの記述力は十分に強いが、高レベルでの記述力は低い 分割コンパイルが、ホントに単なるファイル分割であり分割方法について利用者任せ ガイド C言語は必須の教養だが、他の強い静的型付言語も平行して学ぶべき
- 252 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 08:19:09 ]
- C++
利用分野 C言語の利用分野に同じ。 一部Windowsアプリ開発にも使われる 言語概要 C言語上位互換で参照型、例外、名前空間、オブジェクト指向、ジェネリック、データ抽象、 など盛りだくさんに詰め込んだもので、言語仕様は非常に複雑。 利点 Cとは完全互換ではないが、他の見た目の似た言語がC++の商業的に成功した事を あざとく利用しようと似せてるだけのせいで混乱に拍車をかける状態に比べ、ほぼ互換といえる。 山盛りの言語仕様のおかげで、低レベルから高レベルまで使いこなせば非常に強力 欠点 あるレベルを超えない他人のとコードが理解出来ないのはどの言語も同じだが、その敷居値が高い。 それも作法を互いに守って書かれた場合に限られる。 C言語も柔軟である故に作り手に一定の作法を要求するものであったが、C++ではさらに状況が悪い。 互いに勝手に書いたコードが理解し辛いのだ。 名前空間などは盛り込まれているが、それがファイル名からの自動強制ではない故に混乱の元になる ガイド よくも悪くも使い方次第。使い手依存。
- 253 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 09:30:28 ]
- C++の利点に追加させてもらうと
エディタやプレイヤーとか音楽関係の プラグインのSDKがC++で提供されている事が多い事かな もっともC++が読めればDelphiで書く方が楽だけどね。 DLLを書いたりリンクするのにDelphiはコード内でその指定が出来るから便利。
- 254 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 13:52:18 ]
- >>251 C言語
利用分野: >Linuxなどのコンソールスタイルのアプリ 別にコンソールでなくてもCは使われている。またwindowsでもクラスライブラリが 使えないだけで、Cで問題なく組めるからこの部分は必要ないのでは。 あとOSの中心部にも使われている。処理速度が必要なもの全般に使われる。 利点: 非常に軽く、速いアプリが作れる。言語体系があまり大きくない。 Cで書いたライブラリは、大体の言語から呼び出すことができる。 欠点: 文法とは別に、いろいろな作法を知る必要がある。危険なコードが簡単に書ける。 プリプロセッサを駆使すると、わけのわからないコードも書けてしまう。
- 255 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 14:16:26 ]
- >>252
利点: 非常に速いアプリが作れる。細かいチューニング(最適化など)ができる。 強力なテンプレート機能がある。 欠点: ガベコレがないため、メモリの管理を自分でしなくてはいけない。 (ライブラリを使うことは可能)気をつけないと、簡単にメモリリークする。 コンパイルに時間がかかる。テンプレートを使うと、開発環境の補佐機能が ついていけないことが多い。言語仕様が大きいため、どこまで実装されているか 気をつける必要がある。 ガイド: なんでも自分でやらないと、気がすまない人向き。
- 256 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 22:35:42 ]
- このスレはウンチクを語り合う広場となりました
___ チンポ / || ̄ ̄|| ∧∧ | ||__|| (´・ω・`) 仲良く使ってね | ̄ ̄\三⊂/ ̄ ̄ ̄/ | | ( ./ /
- 257 名前:デフォルトの名無しさん [2007/06/01(金) 18:20:44 ]
- 安芸
- 258 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 01:18:37 ]
- windows上で起動するフリーソフトを作りたいのですが、
実行ファイル単体で起動できる(frameworkやランタイムを必要としない) 開発言語でお勧めなやつを教えてください
- 259 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 01:35:26 ]
- >>258
.hta
- 260 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 07:05:46 ]
- >>148ののVC++, Delphi
GUIはDelphiのが楽だな。
- 261 名前:デフォルトの名無しさん [2007/06/07(木) 08:21:55 ]
- >>258
Windows用の実行ファイル単体可能となるとD言語なんかもあるが・・・まあ C++かDelphi の2択。 C++は VC++/ C++Builder / GCC の3択 だが、ドレもお勧めは出来ない。 VC++はフリー版ではMFCが付いてなく、C++Builderは有償 残るのはDelphi。 >>244 のように古い言語仕様だけど、難しさが無く習得は簡単。 またフリーのBCC5でコンパイルすれば C のソースも利用出来る 無償版でもソコソコのアプリは作れる。 お金を出せばコンポーネントも沢山付いてくるし、フリーのコンポーネントも利用出来る
- 262 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 12:01:44 ]
- >>261
その明らかにdelphi贔屓の評価が臭い
- 263 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 12:15:16 ]
- でもさ、 >>258 の希望を満たす他の何かってあるか?
- 264 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 12:18:58 ]
- VC++、platform SDK
またはクロスプラットフォームなライブラリ
- 265 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 12:22:46 ]
- 古い windowsを捨てられるなら、
>>259の HTAなら ある程度の物は作れるけど・・・・ まあバージョン上がると動かなくなる可能性があるのはVBAの伝統だから 作り直しで儲けたい業務用には便利だけど・・・・ね
- 266 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 12:24:24 ]
- >>264
SDKで Windowsアプリって・・・・チョッ・・・初心者用にソレってどうなの?
- 267 名前:258 mailto:sage [2007/06/07(木) 12:51:05 ]
- レスありがとうございます
5年以上前にVC++(not MFC)でアプリを 作ったことがあるのですが、ほとんど忘れてしまい、 VC#に乗り替えたらFWが必用と言われたので、 現在ならもう少し作りやすい言語があるかなと思い 上のような質問をしました。
- 268 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 13:11:38 ]
- 作り易いとなると、
(frameworkやランタイムを必要としない) という条件を外すか、Delphiで我慢するか、どっちかだね
- 269 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 13:15:33 ]
- VBやっとけばおまけでVBSもすらすら書けるというのは以外においしい。
今から素のVBやるべきかどうかはかなり微妙だがw
- 270 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 15:36:35 ]
- だれかまとめWiki作ってみようぜ
|

|