トップページ⇒tech
80コメント27KB

何を勉強すべきか・・・

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。 NGNG
☆ゲーム作るのに適してる
☆覚えとけば将来役に立つ
☆初心者がやるのに適してる

全てに当てはまる言語は?
初心者に愛の手を。
0002名無しさん@お腹いっぱい。 NGNG
オセロ程度でいいならJavaでいいよ
0003名無しさん NGNG
ないっぽい。
将来役に立つ<>初心者がやるのに適している
0004名無しさん@お腹いっぱい。 NGNG
Javaって。。。処理速度遅いんですか。。。?
0005名無しさん@魚喃キリコ萌え NGNG
>ないっぽい。
>将来役に立つ<>初心者がやるのに適している

うん、なかなかいいこと言うね。私もそう思う。

でもJavaはいろんな意味で中途半端という点で、
1の条件を満たしてるんじゃないかな?

☆グラフィックが比較的扱いやすい
☆オブジェクト指向
☆言語使用はC++より簡単
0006名無しさん@魚喃キリコ萌え NGNG
言語使用→言語仕様


>Javaって。。。処理速度遅いんですか。。。?

テトリスぐらいのゲームだったらネイティブとたいして差はない。
JBuilder や 一太郎Ark みたいなデカイソフトは重い。
0007名無しさん@お腹いっぱい。 NGNG
C++ + STL + DirectX
0008名無しさん@お腹いっぱい。 NGNG
>7
Winでスタンドアロンならそれがベストだろね。
でもネットワークアプリなら開発効率でJavaだよ。
0009名無しさん@お腹いっぱい。 NGNG
 
0010>8 NGNG
Javaの開発効率は最高クラスだが、動作効率は最低クラス
0011名無しさん@お腹いっぱい。 NGNG
>10
あと5年もすればそうでも無くなるでしょ。
0012>11 NGNG
でもやっぱり5年たっても速度は
C>>>>>>>>>>>>>>>>>>>>Java
0013名無しさん@お腹いっぱい。 NGNG
>12
あほ。当たり前のことかくな。
Javaの利点はスピードと引き換えだ。
それでもJava使うようになるよ。
問題にならないスピードになるんだから。

100GHzマシンで、10GBメモリで、1Gbps通信環境で、
そんなPCが一般的な社会で実行速度が今みたいに
問題になるとおもうか?
0014>13 NGNG
それは何年後の話ですか
0015名無しさん@お腹いっぱい。 NGNG
スピードと引き換えにしたJavaの利点て何ですか?(藁
0016名無しさん@お腹いっぱい。 NGNG
Java遅い遅いっちゅーけど、単純計算ならそんなに遅くないぞ。
こういうのが動いてしまうくらいだし。
http://www.brackeen.com/home/

だが、JDKやSwingは……腐ってやがるかも。
0017名無しさん@お腹いっぱい。 NGNG
>16

JDKが腐ってるんだったらJAVAはだめですね
0018名無しさん@お腹いっぱい。 NGNG
JDK無ではなにもできないモナ
0019名無しさん@お腹いっぱい。 NGNG
>>16
自前計算でこのくらいできるのであれば、結構いろいろできそうかも。
Java3Dなんて出来ないかなぁ。比較的気楽にプログラム作り出せるのが
Javaのいいとこだと思ってるんだけど。
0020阿呆 NGNG
JavaとC、どっちが難しい?
0021名無しさん@お腹いっぱい。 NGNG
>16
おれのIE5で、動かないぞ!!全然マルチプラットホームじゃない
0022どーでもいいことだが NGNG
>>20
Java。
0023>19 NGNG
>Java3Dなんて出来ないかなぁ。

??、Java3Dを知らないとか。
http://java.sun.com/products/java-media/3D/index.html
0024名無しさん@お腹いっぱい。 NGNG
レースゲーム結構うまく動くね。感心した。
0025阿呆 NGNG
CとDelphi、どっちが難しい?
C++とJavaは??
0026>25 NGNG
CとDelphi
文法:Cの方が単純だから何かのついでに教養として齧ればいい。
  しかし少し大きなソフトを作ろうとすると
  1@`オブジェクト指向を考慮してない
  2@`ネームスペースが無い
  3@`文字列の扱いがCは危険かつ難しい
 などなどからCの方が作るのが難しくなります

環境:Windowsのアプリを作る環境としては圧倒的にDelphiが簡単です

C++とJava
文法:Javaが少しだけ簡単です。ただオブジェクト指向に馴れないといけません

0027というか NGNG
Delphiの元はpascal
教育用言語として使われているくらいでcより元は簡単だった。
上位互換で拡張されてきてるから古いpascalコードもコンパイル出来るよ
0028陰陽 NGNG
CとDelphiってさあ、Cの開発環境はなにを想定してんの?
言語と開発環境じゃ比べられないよ。
初心者がとっつきやすいという意味ではDelphiかもしれないけど、
多くの参考書籍のサンプルにC/C++が載っている以上、
憶えておいて損はありません。厨房プログラマになりたくなければDelphiの前に
RAD使わずにC++(道具としてVC++使うのはいいけど)やって、ポインタ/クラスを
きっちり身につけることをおすすめ。理解するだけなら1日で出来るけど、
感覚的にイメージがわくようになるまでは時間かかると思う。

それをやらずにDelphi/VBすると、グローバル使いまくり&オブジェクトはじめから
生成しまくりの厨房プログラマになっちゃうよ。
0029>28 NGNG
25さんの質問の方があなたの回答よりマトモ。

>言語と開発環境じゃ比べられないよ。
Delphiにも言語ある。それに今は言語でなく開発環境を選ぶ時代。

>多くの参考書籍のサンプルにC/C++が載っている以上、
古い参考書の怪しいコードをパンチするより、
Delphiのコード付きクラスライブラリ使って勉強の方が現実的。
ネットにも沢山あるし。

>それをやらずにDelphi/VBすると、グローバル使いまくり&オブジェクトはじめから
DelphiとVB並べるな。
Delphiはフォームからクラスになってるから、クラス変数になり
グローバル変数無しになるだろう。(グローバルオブジェクトはあるが)
方やVBはオブジェクト指向で言うクラスは作れん。
0030陰陽 NGNG
はあ、Object PascalとCを比較して、なにか初心者に役立つのか?
デザインパターンの参考書がPascalで書かれたりするか?
グローバルオブジェクト?C++畑にいたからそれもグローバル変数の
つもりで書いてたわ。用語混乱してたらゴメソ。
グローバルオブジェクトが乱立してたら十分厨房。
0031陰陽 NGNG
> 開発環境を選ぶ時代。

だからこそ開発環境を書いてくれないと意味無いんじゃねーか。
C+BuilderとDelphiでの比較だとしたら回答がまるっきり的はずれだからな。
0032機嫌が悪いので厨房のあいてしていいですか NGNG
> 片やVBはオブジェクト指向で言うクラスは作れん。
~~
誰もVBでクラスなんて言ってない。DelphiとVBそのものを並べてるわけじゃない。
せっかくDelphiを使ってるのに、同じ画面を2枚開くのに2つのFormが宣言してあったり
2枚開けないようにModalにするバカがいる。標準でinterface部に生成される
var Form1;
になんの疑問も抱かないような厨房になっちゃいかん。数画面しかないアプリケーション
ならいいけど、普通のシステムで滅多に呼び出されない画面をすべて起動時に生成しておくな。
ProjectファイルのApplication.CreateFormから削る。1画面しか開かないことが
保証されている画面のみinterface部にフォーム変数を残す。リソースを無駄遣いしておいて
「Windowsはすぐ不安定になるから」とか禁止。NT向けであっても無駄にメモリを確保したまま
なんてプログラマとして恥ずかしい。オブジェクトを固定で持つと将来の変更への
対応も柔軟にできない。

いきなりDelphiから始めた場合に、こういう事に気付かない場合がある。
VBで気付けというのはそもそも無理なので、結果的にできあがったプログラマは
どちらもグローバル使いまくり、クラスとメモリ確保の概念があいまいな
アホグラマになるという点で共通。


0033>>32 NGNG
コボラーやVBから上がってきた人はそういう事多々あるな。
C/C++から移ってきた人はさすがに気をつけるけど。

よーは1つの言語にとらわれずに色々やれって事。

C++しか使わないって人もJavaなんか遅くて使えないって言う
前にやってみると色んな発見があるよ。
0034Delphi使い NGNG
DelphiメインでCはかじっただけです(厨房?)。
アルゴリズムとか探す時、大抵Cで書いてあるので
読むのに苦労しました。もう慣れましたが。
まともなプログラマを目指すならCは必須というか教養かも。
あ、pascal選んだことには満足しています。
Cでアルゴリズム勉強しながらDelphiで遊ぶ日々。
0035D使い NGNG
34とは別人ですが。

>はあ、Object PascalとCを比較して、なにか初心者に役立つのか?
>デザインパターンの参考書がPascalで書かれたりするか?

Delphi使ってたらデザインパターンに手を出す頃には
C++のコードぐらい理解できるんでは?

>32
Delphiからはじめても順調にスキルアップすれば解決する問題でしょう。
スキルアップする気がない場合は何使っても同じだが。
0036>32 NGNG
よほど機嫌が悪かったみたいね。ご苦労お察しします。
でも、そういうのに気づくのは「初心者」という冠が
取れてからで十分だと思うよ。
つーか気づいた時点で初心者でなくなるというか‥
0037名無しさん@お腹いっぱい。 NGNG
いや誰にレスって訳じゃないんだけど
逆にDelphiってCのような完全にグローバルな変数って定義出来なかったんじゃない?
グローバルでもモジュラだったかみたいにユニット単位で閉じてなかった?
C++のネームスペースが自動的にユニット単位で働いている感じ
あの仕掛けはいいと思うな。

で、Delphiのpascalの部分はCより簡単だからDelphiで入って
Cを齧ってから、Delphiに戻ってobject-pascal
Java/C++とも対比しながら勉強してゆくというのがいいんじゃないの?
0038名無しさん@お腹いっぱい。 NGNG
>Delphiのpascalの部分はCより簡単
そうかなぁ‥? pascalって結構難しくないですか?
文法とか‥。
0039名無しさん@お腹いっぱい。 NGNG
>38
いやいや、簡単簡単。
集合あたりで少し首ひねったが今じゃ便利に思う。
0040名無しさん@お腹いっぱい。 NGNG
>34
昔はアルゴリズムの教科書って大抵Pascalだったんだけどね。
今じゃさすがにC/C++かJavaだな。

でもPascalやっておくとOracleのPL/SQL書く時構文似てるから
楽よ。
0041名無しさん@お腹いっぱい。 NGNG
別のD使いですが
C/C++の教科書って2chみてると、「読んでも役に立たない」
とか、ボロボロに言われてません?

学んでも無意味に感じますよ。
普通にDelphi使って学んでるほうがよっぽどいいでしょ?
0042名無しさん@お腹いっぱい。 NGNG
>>C/C++の教科書って2chみてると、「読んでも役に立たない」
>>とか、ボロボロに言われてません?

言われてません。
0043名無しさん@お腹いっぱい。 NGNG
リン晴彦とか
Kカナ川とかほら?
0044名無しさん@お腹いっぱい。 NGNG
良著はくさるほどあるだろ?
0045陰陽 NGNG
> よほど機嫌が悪かったみたいね。

申し訳ないです。ちょっと自己嫌悪に陥っていたときに書き込んでしまって、
さらに自己嫌悪になってしまいました。了見の狭い意見を穏やかでない
表現で書いてしまってスマソ。

どんな学習方法が最適なのかは人それぞれだから、初心者には選択肢を
提示してあげて本人に選んでもらうのがいいかな。つきっきりで
面倒見てあげられる状況なら自分の得意なモノを押しつけてもいいけど。

とっかかりとしてDelphiは面白いと思うよ。いじったところが
視覚的に反映されていくので、コマンドラインで画面出力は全部printf
というのよりは飽きにくいんじゃないかな。C+Builderでも一緒だけど
インターネット上に情報量の多いDelphiのほうがいいかも。どれを
やるにしても参考書は一冊買ってね。
0046名無しさん@お腹いっぱい。 NGNG
さらに別のDelphi使いなんですが、ここんところしばらく
C++Builder使ってみたら、C(C++)のほうが文法的な
制約が少なくて使いやすく感じてます。
Dでのコンポーネントとかの資産も使いまわせるし。
ポインタもCでのほうが安全かつ理解しやすいと感じてます。
0047名無しさん@お腹いっぱい。 NGNG
あ、下げちゃった‥スマソ
0048>46 NGNG
私も同じこと思いました。
とうか、C(C++)はどんな書き方も出来ちゃうあたり、
恐いなーとも思いました。
0049名無しさん@お腹いっぱい。 NGNG
Delphiの方が制約が確かに多いね。自動で型変換とかしてくれないし
C++で10行ならDelphiで30行くらいかかる感じ。
でも、コンパイルの速さで全て許せる範囲。
0050名無しさん@お腹いっぱい。 NGNG
Pascalは元々アルゴリズム教育用なんだから、誰が同じ処理を書いても
同様のソースになることが望ましいの。「制約」ではなく「仕様」。
他人の書いたソースでも読みやすいね。
正反対はPerlかな。
0051>49 NGNG
言語が異なるんだから..

キャストが必要とならないようなデータ構造を定義するのが
定石。そのぶん、コンパイル時のエラーチェックが厳しく
働くから、大規模アプリケーションでも、コンパイルが通れば
とりあえずは動くようになるよ。
0052500h NGNG
>1
LINGOやりなさい。sageレスなのは気にするな(笑)
0053名無しさん@お腹いっぱい。 NGNG

0054ellega NGNG
>>52
せっかくだから突っ込んでおく。
>☆ゲーム作るのに適してる
スプライトが使えるという意味では、作りやすい言語ではあるかもしれない。
でも、LINGOって遅いんじゃないのか?
遅い言語は、ゲームを作るのには適さないのでは?

>☆覚えとけば将来役に立つ
将来性‥‥‥ものすごく低そうな気がする。
いや、あくまで気だけだけど。

>☆初心者がやるのに適してる
なんだかよく知らないけど、簡単な言語らしい。
ということは、適しているのか?よくわからんけど。
0055名無しさん@お腹いっぱい。 NGNG
LINGOって、金払うことなくできる?
0056名無しさん@お腹いっぱい。 NGNG
Javaにしときなさい。

>☆ゲーム作るのに適してる
インターネット越しのサバクラとか簡単に作れるので、ネットゲー開発
楽だよ。但し動作が遅いから、スタンドアロン環境でのリアルタイム
のゲームはあんまりむいてない。
Java2以降なら2Dや3DのAPIが揃ってくるから、将来は「あり」かも。

>☆覚えとけば将来役に立つ
しばらく大ジョブそう。

>☆初心者がやるのに適してる
言語は簡単。C覚えるのと同程度じゃないかな。
但しオブジェクト指向を考えてのプログラムは
奥が深いよ。
0057名無しさん@お腹いっぱい。 NGNG
最初にJavaはやめときなさい。
クセの強い挙動をするAPIや、"Write Once@` Debug Anywhere"など、
ゲーム作りとは関係ないことで延々悩まされるから。
特に、よりによってリアルタイムゲームなんか作り始めたら死ぬぞ。
Win32のcurrentTimeMillisの精度どーなってんねんとか、
誤作動しないキー押下状態検地とか、ガーベジコレクションの
ふんづまりの飼いならしとか、壁だらけだぜ。
はっきし言って言語はともかくJavaという環境全体は玄人向け。

HSPあたりでもやるか、大人しくC言語からステップアップしなさい。
0058鼻毛さん@お穴いっぱい。 NGNG
HSPってタダだし簡単だし、結構速度速かったりするっぽいよね。。
ゲーム作りならこれで充分?????
0059名無しさん@お腹いっぱい。 NGNG
「何を勉強すればよいでしょう」なんて言っているバカチンは
何を使っても一緒だ。
勉強と割り切ってJAVA使え。GUI使わなければナカナカの言語だ。

0060>57 NGNG
WinAPIやらMFCやら相手にするよりはまだだいぶマシと思う、、、
0061 NGNG

0062名無しさん@お腹いっぱい。 NGNG
なんらかのアセンブラやっとくと良いと思う。
MIPS R3000 とかやるとくいっぱぐれなさそうだけど、環境無いからだめかな?
すなおにx86で、DOS上でINT21とか叩いてみると楽しくなると思う。
まともな言語としてはC/C++だけど、勉強という意味で
PrologとかLispとかMLとか触っとくといいかも。いい刺激になるので。
0063名無しさん@お腹いっぱい。 NGNG
>62
おいらの予想

62は、そのうちの1個もやったことない
006462 NGNG
あ、レスついてうれしいっす。
Lispだけはやったこと無いです。ごめんなさい。
「いまさらアセンブラでどうする」って向きもあるかもしんないけど、
ゲーム屋めざすなら、かじっておいてほしい。
使いこなす必要は無いとおもうけど、知識として。
マジです。
0065>59 NGNG
同感。最近こういう主客転倒な奴が増えて困るよ。
自分が作りたいものがあるから作る、環境は何でも対応する、
だったんじゃないの?
0066名無しさん@お腹いっぱい。 NGNG
まず自分が何をしたいのかがわかるよう
自己分析能力を身につけてください。
話はそれからです。
0067名無番長 NGNG
>>62のアセンブラはゲーム屋という意味でなくてもソフトウェアの動作の
根底に流れるものが理解できるので必ず勉強することをおすすめします
これでけでコーディングの柔軟性や応用力が飛躍的にのびます
0068!67@`64@`etc NGNG
始めてCやった時
「Cの難関ポインタ」
「難しいポインタ」
とか言って色んなホームページで脅されたけど
(8086? or 386?)アセンブラやってから
mov ax@` [si] ; これ間違っているかも。
という感じでsiの値のアドレスをaxに転送とかいうコードで
あぁなるほどという気持ちになりました。

次はLisp系統の言語(Scheme)をやってみようと
思いますがなかなかやる気が出てきません。
これはCにどっぷりつかっているせいでしょうか。
0069名無しさん@お腹いっぱい。 NGNG
あれはインタープリターを設計したい人の実験材料というか
遊び場というか...動的スコープだの名前なし再帰だの、
エンドユーザーとして使うだけだと遊びきれない代物です。
0070ポインタさん@おCいっぱい。 NGNG
ポインタのどこが難しいの?(藁)
0071>70 NGNG
アセンブラを(つーか、マシンの動作原理つーか)知らん人
には理解しにくいとは思う。
0072名無しさん@お腹いっぱい。 NGNG
ポインタはその概念を理解できない人に教えるのが難しいです。
0073名無しさん@お腹いっぱい。 NGNG
ポインタに配列や参照が絡んでくると、ダメなやつにはどうしてもダメらしい。
向き、不向きの問題なのかもしれん。
頭が良いヒトでもダメな人は少なくないらしい。
0074名無しさん@お腹いっぱい。 NGNG
アセンブラがわかっててポインタがわかんないって
人はいるんでしょうか?
そんな人はいないような気がしますが‥
私の場合、先にアセンブラをやっていたせいか
ポインタでは最初から全然困ったことがないのですが‥
0075名無しさん@お腹いっぱい。 NGNG
ポインタがわかんないとか、オブジェクト指向がわかんないとか
簡単に言うやつ多いけど、理解するのがめんどくさがってるか、
または脳みそが向いてないってことでしょ。
前者は一生勉強のこの業界向いてないし、
後者はそもそもプログラム向いてない。

つうことで、どっちの場合も退職して別な道探す方が
幸せだとおもうよ。
0076名無しさん || die NGNG
自分的難易度
Lisp>デザインパターン>ポインタ>オブジェクト指向
Lisp使いって再帰で物を考えられるんでしょうか?
0077名無しさん@お腹いっぱい。 NGNG
正直な話、C言語使えない人はゲームプログラマは無理ですよ。ね?
最低限C言語で困ることないようにしておいてほしい。
アルゴで悩んでいるなら良いけど、
C言語と格闘しているようでは仕事にならないっすよ・・・
0078>76 NGNG
ポインタが一番難易度低くて良いんじゃないでしょうか?
まあ抽象度が高いポインタとかがあるなら(どんなポインタだ?)
事情は変わってくるかもしれませんが・・・
lispはまじめに触ったこと無いのでよくわかんないんですが、
lispの難しさ(面白さ?)はメタレベルのプログラムが書けることに
ある気がするのですが、どうでしょう・・・
あとカッコが異様に多いとか・・・
0079名無しさん || die NGNG
概念の習得難易度と実用の難易度をごちゃ混ぜてるのでよろしく。
それとあくまで個人的な難易度なので。
アップデート
Lisp>OO分析・設計=デザパタ>ポインタを駆使>OO概念>ポインタ概念>API使うだけのOOP

lispはその思想に慣れる前に挫折しちゃった。
プログラミングがパズルを設計するみたいで面白いんだけどね。
LISPのメタプログラミングってどういうことができるんだっけ?
008078 NGNG
>LISPのメタプログラミングってどういうことができるんだっけ?

うぐっ、、、、詳細は、わかんないっす。。。。
あはは、、、知ったかぶりはいけないっすね、、、
関数をデータとして扱えたりするんじゃなかった、かなぁ・・・?
ごめんなさい、厨房ですな。。。。最低。。。。
■ このスレッドは過去ログ倉庫に格納されています