【ビギナ】初心者が習うべき言語は? part3【必読】

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
プログラムの初心者は、
このスレからプログラミングの大海原に出帆しましょう。
前スレはおっさんばかりだったな。初心者がいきなり業務システム開発する訳じゃなし、
もっと柔軟に行こうよ。
前スレの話題抜粋

初心者にオブジェクト指向は難しすぎ。まずは手続き型言語で手を汚せ。
高度な型システムでは動的分類、多重分類も可能。動的言語逝ってよし。
Lisp 最強!
2の翻訳:

前スレはおっさんばかりだったな。 → 俺より物知りなのは、全て年上だ
もっと柔軟に行こうよ。 → 俺が分からない話をするな
初心者のみんなは間違ってもこのスレのお兄ちゃん達の言う事を聞いちゃ駄目だよ
Haskeller がプログラミング初心者に関数型言語のいろはを教えてくれるスレはここですか?
7デフォルトの名無しさん:04/02/19 02:30
> 初心者にオブジェクト指向は難しすぎ。まずは手続き型言語で手を汚せ。
このあたりは、たしかにおっさんだな。
いまどき手続き型からなんて混乱のもと。よけいなお世話、老害だっちゅうの。
初等教育の教材や方法論について大学教授が議論するようなものか
決してこのスレが初心者向けというわけではないと


初心者の漏れいは関係のないスレだったようだ:-)
> 高度な型システムでは動的分類
これは間違いっぽいが?
>>8
いいえ、ビギナ必読スレです。
老害をまき散らすおっさんたちを粉砕してください。
教育向け言語って幾つか ( Smalltalk, Scheme, ABC, Pascal, etc. ) あったけど、それぞれ
どんな感じでしょうか。今の初学者にもお勧め出来ますか?
現役なのはSchemeと、一応Smalltalkぐらいだね。
教育向けかどうかあれだけど。
SchemeでSICPが最強コースかも知れないけど、
世の中考えると主流のOOPL(クラスベース、強い型付け Java,C#)をやるべき。
13デフォルトの名無しさん:04/02/19 02:45
各言語のリンク誰か張ってくれないかな。

純粋関数型言語の Haskell と純粋オブジェクト指向言語の Smalltalk と
クラスベース&強い型付けの主流オブジェクト指向言語の Java を勉強すれば無問題?

で、全部ただで手に入るの?
Java は入ると思うけど。
C# はアラン・ケイも少し誉めてたね。でも、最近の商業ベースの言語はプログラミングの
楽しさが伝わるかな。
>>13
勉強用なら大抵の言語はただ。当然Haskellも。
実用でも大抵の言語はただでも可能。
前スレで面白かったこれを張っておこう。

技術野郎の復讐---Revenge of the Nerds--- [Paul Graham]
ttp://www.shiro.dreamhost.com/scheme/trans/icad-j.html

PythonとLispの関係について [Paul Prescod]
ttp://www.shiro.dreamhost.com/scheme/trans/IsPythonLisp-j.html

オブジェクト指向は本当に「オブジェクト」指向か?(動的分類、多重分類の説明あり)
ttp://www.ogis-ri.co.jp/otc/hiroba/technical/Classification/index.html
>>14
アラン・ケイがC#を? どんな内容?おせーて☆

初心者の楽しさは、まず思ったものが動くことと思う。
そういう意味では商用もアカ系もフリー系も関係ないと思われ。
なんかここ最近とんでもなくレベルが高くてまったくついて行けないよ 。・゚・(ノД`)・゚・。
馬鹿だとか叩かれているヤツの話でさえまったく解らない。

だれか、動的分類と多重分類を解りやすく教えてくれYO
多重分類と多重継承って違うのか?
もう、泣くぞ。
>>17
ttp://itpro.nikkeibp.co.jp/free/ITPro/NEWS/20030415/1/

C# じゃなくて .net だったよ。
>>18
自分も解らない。
ここの人たちレベル高いけど説明ヘタなのかも。
多重分類は複数のクラスから一つのオブジェクトを作れることだと思うんだけど違うかな。
多重継承は複数のクラスから継承した一つのクラスからオブジェクトを作るのでまた別のような。
何に役に立つのかは皆目検討つかないけどね。
21ほぼ初心者:04/02/19 03:01
このスレの存在意義ってなんなんでしょうかね?
http://pc2.2ch.net/test/read.cgi/tech/1053091019/58
おおむねこの発言の通りだと思うのですが。
>>21
前スレのインテリ氏に言ってやれ。
おそらく学生だと思うがあのままプログラマになったら挫折して立ち直れなくなるぞ。
だいたい xp が実践できる職場などほぼ無い。
> 多重分類と多重継承って違うのか?
いいとこついてるよ。実のとこ、前スレはその辺きちんとしてないかも。
元記事では、クラスじゃなくて、
オブジェクト(インスタンス)ごとに多重のパターンがあることを言ってると思うよ。
Aさんは管理職でスタッフとして、Aさんだけの多重継承クラスをつくるのか?ってことかと。
職業プログラマだけがプログラミングする訳じゃないんだけどね。
>>21
残念ながらそれは間違い。
たしかに実践なくして上達はあり得ないが、プログラミングは奥が深くそして広い。
広くアンテナを張り、武器をどんどん仕入れなくては、井の中の蛙になる。
オブジェクトの管理単位をクラスに設定すると上手く行かない場合って他にもあるのかなぁ。
>>24
インテリ氏?
まぁ、確かにその通りだが職業プログラマが圧倒的に多いのも事実だろ。
キミが今後プログラムをするかどうかは知らないが。
>>19
サンクス。
でも肝心なところが読めない(´Д⊂グスン
多重分類
■\
■―□
■/

多重継承
■\
■―■―□
■/

*■がクラスで□がインスタンス

これでOK?
30905:04/02/19 03:20
>>27
>まぁ、確かにその通りだが職業プログラマが圧倒的に多いのも事実だろ。
事実なのか?
それにインテリやハッカーがいるからドカタが何とかやっていけるんだろ。
>>29
元記事が言いたいのはそれであってると思われ。
ただし、元記事がまったく正しいかどうか不明、という前スレの訃音期を感じた。
動的分類や多重分類なんて必要か?
実際には使いどころが全くないような気がするが。
このスレでも使っているヤツなんていないだろ。
インテリ := 研究者プログラマ.
ハッカー := 企業プログラマ(大抵はね).
初心者 := 上のどちらでもない.
RubyかJavaScriptなら熱く使ってる奴がいても良いと思うが、
動的分類や多重分類するもの?
おいおい。。。
インテリ := 研究者.
ハッカー := ヒッピー、プー.
ドカタ := 企業プログラマ(大抵はね).
初心者 := まともな人間.
だろ。
前スレのインテリ君が言っていたアナリシスパターンって本どんな感じ?
動的分類や多重分類がちゃんと説明されているなら学校の図書館で注文してみようと思うのだが。
Java厨は氏ね
奇妙なクラスと実世界
ttp://www.ogis-ri.co.jp/otc/hiroba/technical/StrangeClass/index.html

言われてみれば確かに。
>>31
s/ふいんき/ふんいき/
訃音期も味わい深い物があるが。
技術者にありがちな罠。
>>11
今からなら、

Smalltalk -> Squark
Scheme -> Guile
ABC -> Python
Pascal -> Delphi

てな感じで後継言語(処理系)があるからそっちにした方がいいかも。
>>13
即時に仕事で使うというのでもないなら Java は 1.5 以降にするか、
代わりに C# にするかした方がいいと思う。

そこらへんとは別に Java, C/C++ あたりを、ソースを読めるくらいの基礎
だけでも押さえておくと、Cマガジンとかの記事を理解出来るので有用。
ビギナビキニヴァギナ
>>42
それは言えてる。大抵の雑誌はサンプルコードがJava, C/C++
あたりだもんね。
>>38
なるべく現実世界に即したモデリングをするべき、みたいな考えを
ソフトウェア設計でかまされると、恐ろしい事になりそうだな。
基礎技術を知らない設計者の脳内整合性とか脳内基準とかガクガクブルブル
設計者たるもの最低限のソフトウェア技術は身につけておいて欲しいよな
>>41
皆分かってると思うけど、Squark --> Squeak ね
それと Guile だったら Gauche のが良い様な

HyperTalk みたいな Lang in Widget な環境があれば、誰にでも勧められるんだけど。
Squeak ちょっと弄くってみたけど、このクラスブラウザと言うか何というかすごいな。
hierarchyで継承ツリー展開したり、メッセージ名入れただけで全クラスの同名メッセージをリストしたり。
IDEってみんなこんな感じなのか?

しかし、本当に if や while などの制御構文が無いのなw
全部オブジェクトのポリモーフィズムで実現してるぞ。
ちょっとやり過ぎでは。
これじゃ流行らんだろ。
48 :04/02/20 01:49
オブジェクト指向を学ぶのであれば、VisualWorks
Cを学びたいのであれば、BCCでいいんじゃない?
>>47
> しかし、本当に if や while などの制御構文が無いのなw
> 全部オブジェクトのポリモーフィズムで実現してるぞ。
なんか馬鹿みたい。
インテリが喜びそうな言語だな。
>>47
見た目メッセージ送信だけど、バイトコードレベルでは、
実はメッセージ送信じゃない、って話もある。

つまり、見た目が大事。
何を満たしているとメッセージ送信として十分なのでしょうか。
リテラルとしてメソッド名を渡せる事?
オブジェクトに対してメッセージを送ってると解釈できればなんでもそうかも、
と適当なこと言ってみる。

そうすると、
 if(flag){...} も、
 特別なオブジェクトifに、flagと{...}(クロージャ(?))をパラメタとして、
 無名のメッセージを送ってるんだ、
と言えて、とても幸せになれる。
なんかだめなとこある?
>>52
{...}にはいるものがファーストクラス(関数、オブジェクト)ならそうだが、
C++やJavaみたいな言語では駄目。
>47
Smallltalk/Sqeakはなれてくるとあれがたまらん。
Collectionを使って for (int i=0; i++; i<MAX) とはおさらばだ。

とりあえずオブジェクト指向って何だろうって考えるのにはいいと思う。
5554:04/02/20 08:24
おさらばしすぎてほんとうにforのイディオム忘れてた。参ったな
for (int i=0; i<MAX; i++)
>>53
"{...}"自体をクロージャと捉えれば?
Javaだ、Javaをもってこい。
Javaさえありゃあプログラマとしてあと10年はやっていけるよ。
手続き型言語なんてもうダサい。そのうち死滅する言語だよ、ありゃあ。
CやってJavaやってC++やって…なんていう風にたくさんやるから時間がかかるんだよ。
男は黙ってJavacさえしていればよい。
Javaだけを完璧マスターすりゃあいいんだよ。たった一年で標準的な
プログラマーになれるぞ
標準的な土方。随分高い理想をお持ちですね。
>>56
関数としての性質をもたないものをクロージャと呼ぶのは間違い。
つかいまわせないし、他の関数やデータ構造にもわたせない。
メタプログラミングなら知らんが。
つか、クロージャは純粋な関数の定義からは外れてるだろ。
>>60
Schemeではそうだな。いずれにせよファーストクラスだし、
Schemeで一般に関数と呼ばれるものが常に純粋な関数なのかどうか疑問だが。

それに、schemeでも環境がmutableでない
(define (f) (lambda (x) (+ x 1)))
こういうものもクロージャというと思っていたんだが。
>>57
だから Java も「手続き型言語」なんだってば。

基本は同じなんだから Java やって Delphi やって C# やって Ruby やった
ところで大した手間じゃないし。
>>59
0引数で常にnilを返すとでも考えればいいじゃん。
>>63
全然よくない。>>59の2行目はどうするんだ。
ファーストクラスの意味がわかってないのかなにかしらんが、
話にならないようなきがするのでおれは退散。
遅レスですが……。

>>27 >職業プログラマが圧倒的に多いのも事実だろ。
絶対そんなことはないと思うな。
パソコンで仕事していて何らかのプログラム……ソフトウェアのプラグインでもマクロ
でもいいや……を書くって程度でもプログラミングというなら、素人の方が圧倒的に
多いと思うぞ。一見開発と関係なさそうな会社でも業務に必要なプログラムをガリガリ
書いている人はいるもんでしょう。
で、例えばさ、業務で何か新しい言語を覚える必要があっても、何らかの言語の基礎が
できていれば、早いわけでしょ? それにはどの言語がいい?……というレベルの話には
ならないのかな? このスレは。

それとも、その程度のレベルの話は、お呼びじゃない?
バーチャファイターの1つも実装出来ない香具師がプログラマ名乗っちゃ
マズイでしょ。

だからそれ以前の初心者がどうやったらそこまで行けるか、というレベル
での話ならネタは何でもいいんじゃないの。
「バーチャファイター」
よりにもよってバーチャファイターですか
69デフォルトの名無しさん:04/02/21 00:29
バーチャファイター晒しage
>>65
>で、例えばさ、業務で何か新しい言語を覚える必要があっても、何らかの言語の基礎が
>できていれば、早いわけでしょ? それにはどの言語がいい?……というレベルの話には
>ならないのかな? このスレは。

論旨には大賛成なので、あとは具体的なケースが見えれば議論になると思う。
業務でプログラムするといって、エクセルのマクロとかの話になるなら有益な議論には
ならないかもしれないけど。
>>65
それでも職業プログラマが多そう。
まぁ、こればっかりは答えが出ないと思うけどね。
バーチャファイターの『実装』ってのが頭悪すぎで良い感じだな
俺は職業プログラマじゃないけど、今ウィザード本を読んでます。
こういう人は結構居ると思う。
ここ、初心者関連のスレだよね?
とりあえず、ちょっと話に出てきたファーストクラスとやらを教えてください。
初心者お断り
>>75
ヽ(`Д´)ノ
>>74
ファーストクラスというのは、言語の中で第一級の存在であり取り扱いに制限が無い事。
引数や返り値としても渡せる必要がある。メソッドがファーストクラスなら、メソッドの
返り値としてメソッドを設定する事が出来る。
>>74
ファーストクラス 関数
あたりでぐぐれ
>>77
説明どうも感謝です。
変数と同等に扱えるものをファーストクラスと言うのかな?
それって代入も出来るんですか?
>>78
ググったら一発目にこのページがヒットした。

ttp://sumim.no-ip.com:8080/wiki/770
これだとSmalltalkのブロックとやらはファーストクラスって言ってるけどこのスレの意見とは違う感じ?
>>79
>それって代入も出来るんですか?

変数に束縛出来るかという事なら、出来るよ。
>>81
ごめんなさい。
そういう意味では無くて左辺に使えるのかな?と言う意味でした。
つーか、なんかとんでもなく変なこと聞いてるような・・・
>>80
だれもSmalltaklのブロックがファーストクラスでないとは言ってないぞ。
>>82
例えば無名関数を考えてみると分かり易いかも。↓こういうの。

http://merd.sourceforge.net/pixel/language-study/syntax-across-languages/Fnctn.html#FnctnnnmsFnct

これらがファーストクラスなら、引数にも返り値にも出来るし、変数に束縛も出来る。
逆に、関数を左辺(ラベル)に置くのは変でしょう。
>>82
変数の型が関数であるという意味では左辺におけるよ。
>>83
読み違えてました。

>>84
そのサイト面白いですね。
いろんな言語の比較があって。
とりあえず、ブックマークしました。
しかし、訳の解らない質問でしたね。
申し訳ないです。

>>85
多分それは>>84さんが言っている変数への束縛ですよね。

でオブジェクト指向言語の Smalltalkのブロックとやらは関数でしかもオブジェクトなんでしょうか。
もうわけワカメ・・・
>>86
>でオブジェクト指向言語の Smalltalkのブロックとやらは関数で
>しかもオブジェクトなんでしょうか。

そこでクロージャの登場です。
クロージャと、メソッド一つのクラスと、何が違うの?
ローカルスコープの変数をクラスのフィールドに持てばいいだけじゃん?
8988:04/02/21 12:51
あ、クラスじゃなくてオブジェクトね。
>>87
実はクロージャもよく解ってなかったりしますw
その関数のスコープから見える情報を保持する仕組みってのであっているでしょうか?
>>87
クロージャは継承や self 相当の物は自分で作ってあげる必要があるよ。
それから、クロージャでも複数メソッドを持っているような振る舞いをさせる事は
可能だよ。よくあるクロージャでオブジェクトを実現する例では "クロージャ ==
オブジェクト"、"クロージャに渡す引数 == メソッド" な感じで、引数によって、実行
する処理(メソッドの実装)を変えます。どの処理をディスパッチするかは switch
させるか、内部にテーブルを持たせてそこから選びます。
結局、クロージャはJavaのオブジェクトでこと足りるものということ?
Java のクラスは定義出来る場所が決まっているでしょう。
Smalltalkでクロージャをメッセージのパラメータとして引き渡したり受け取ったりするのは、
Javaでもリファクタリングでいうところのメソッドオブジェクトの導入でだいたい実現できるが、
設計・実装のシンプルさ、ソースの可読性がまるでちがってくる
Smalltalk のブロッククロージャってレキシカルクロージャなの?
Squeak のブロックコンテキストとの違いは何でしょうか。
やっぱ機能的には変わらんのね。
可読性があがるっつのはどんなもんかよくわかんね。
>>93どゆこと?
a.hoge( new Puge(){ Muge gege(){..メソッド定義..} } );
ってできるけど、そうじゃなくて?
ついでにgege内ではこの式(hoge呼び)式がおかれた場所のスコープでものが見れるよ(finalいるけど)

>>96>>94,>>93へのレス
Smalltalkクラスもオブジェクトってのがよく解らない。
>>96
ごめん。インナークラスか。
Javaだって
Object o = obj.getClass(); Puge p=(Puge)o.newInstance(); とか
Puge p2 = Puge.class.newInstance();
とかできるじゃん。こういうことじゃないの?しらんけど。
101100:04/02/21 15:54
あ、o -> ((Class)o)だ。ゆるせ。
>>100
それって取得したクラスのオブジェクト書き換えてインスタンス作り直したら
動的にメソッドやフィールド追加できるの?
Javaで。
103100:04/02/21 16:08
Javaでは、Classオブジェクトはimutableなオブジェクトです。
前スレ終盤へループの予感!
イントロスペクションとインターセッションがJavaでどの程度対応しているかだな。
Smalltalkでは対応しているみたい。

イントロスペクション
ttp://www.ogis-ri.co.jp/otc/hiroba/technical/Squeak4/S4-2.html
インターセッション
ttp://www.ogis-ri.co.jp/otc/hiroba/technical/Squeak4/S4-4-2.html
>>96
>可読性があがるっつのはどんなもんかよくわかんね。

http://www.unixuser.org/~euske/doc/python/python-lisp-j.html

Lisp, Smalltalk では簡単に書けるのにね(Lisp プログラマが Python を
学ぶときの要点 10 参照)って事じゃない?
こういう話に Java は向いてないよね。
>>106
まんまじゃん。
もっと全然大変な例があるかと思った。
Javaだといくらか長くなるのはわかりきってるよ。
オブジェクトに対する記法の統一という点もあるからトレードオフという気もするけどね。
>>107
そういう発言は>>16

> 技術野郎の復讐---Revenge of the Nerds--- [Paul Graham]
> ttp://www.shiro.dreamhost.com/scheme/trans/icad-j.html

を熟読してから言いに来な。
>>107
全然大変じゃない例でも冗長になるのは鬱陶しいね。
Lisp, Smalltalk でも記法は当然統一されている訳だから。

Java は初心者にはお勧めしたくない言語だな。
>>105
void dopyu(Object o) throws Exception { o.getClass().getDeclaredMethod("shusshu",{RightHand.class}).invoke(); }
じゃだめ?(ローマ字で末尾の撥音てどう書くのだろう?)
なんかヒートしてるみたいだけどマターリ逝こうや。
それに言語のパワーと初心者へのおすすめ度は必ずしもイコールではないでしょ。
そもそもLispやSmalltalkがうんこなんて一言も言ってないよ。
Lisp、Smalltalkはウンコ
虚栄心の強いインテリの為の実用性のない言語の代表。
実際にこれらの言語で食べているヤツを見たことがない。
>>111
簡潔で見通しの良い言語こそ初心者に推奨されるべきだと思うけど。
そうじゃないって事?
>>112
マ板池
Q大病院のシステムが結局VBになったのはどうして?
煽りじゃなくて、言語の実用と言う問題を考えたい。
>>108
16にそれに対する完膚無きまでの反論があるだろ。
オブジェクトの方が使いやすい。

>PythonとLispの関係について [Paul Prescod]
ttp://www.shiro.dreamhost.com/scheme/trans/IsPythonLisp-j.html
>>115
関係者が居たとしてもこんな所で答えてくれる訳が無いだろうに。
初心者とも関係ないし。煽りとしては直球コースだな。
>>116
Prescod タンは ruby-list でも言い訳してたな(w
思うに、初心者が習うには、
・習得の容易性
・習得によって満足される要件
があると思うが、いずれにも複数の側面がある。
前者でも、学習が必要な事項の量、難易度といった言語自体の話以外に、
入門者向けの資料の入手性とか、日本語コミュニティの性質とか。
後者でも、ネイティブGUIアプリが書けるとか、仕事が見つかるとか、いろいろ。
実用アプリやゲーム等が書けないという点を除けばJavaは完璧なのにな
サーバ側の実用アプリはJavaで書かれまくりだけど、
初心者の要件の大半はまさに>>120なんだよなぁ。
>>120
…それって非実用的なアプリしか書けなく、遊びにも使えないという事?

それじゃ研究用言語じゃない。
Java はデスクトップ GUI アプリ向けではないってこと。
>>120
JavaはGUIの速度が今イチなのと、アプリの起動が遅い、ということ。
DirectXも使えんが、それでもゲームを書くのは勝手だ。
…初心者が誤解すると逝かんので一応補足。
3Dブンブンバリバリでなければ非実用というものでもないよ。起動も改善されつつあるし。
大体初心者が3Dブンブンバリバリなゲームなんて作るのか?
>>125
六面体回せるだけで喜べるのが初心者。
あとバーチャファイターとか。w
>>125
初心者ほど無謀なことしたがるから・・・
LispもSmalltalkも糞。
C++が実質的にNO.1
関数型言語でプログラム組む場合、ユニットテストやリファクタリングはどうやっているの?
まぁ、リファクタリングは今のところJavaでも Eclipse と IDEA、Emacsの XRefactory 位しかないけど。
>>129
Haskellの場合。
ユニットテスト: QuickCheck がメジャーか。
    http://www.cs.chalmers.se/~rjmh/QuickCheck/manual.html
    テスト用のデータをランダムに自動で生成し、条件を満たすかチェック。
リファクタリング: ?
    HaReというon Emacs/Vimのツールが開発中だが、これというものはないと思う。
    処理内容を変えず、見通しや拡張性を目的としたリファクタリングだと
    型チェックでほとんどのエラーが捕まえられるので、ツールの強い必要性を感じない。
    「Haskellには優れた型チェックがあるんだからコードの書き換えを恐れるな」
    とMLで誰かが言っていたな。
>>130
リファクタリングツールは使うと楽だよ。
エラーチェック云々じゃなくてね。
132130:04/02/21 22:42
>>130
それはそのとおり。あったほうがいい。
もっと使う人が増えれば何か作られるのは確かだとは思う。

ただ、メジャーなものが無い理由として、単にまだできてないというだけではなくて、
ほとんどの関数が数行しかなく容易に見通せる、ボトムアップで書く、強力なエラーチェック、
といったプログラミングスタイルや言語機能の違いが影響しているのではないか
ということ。
>>132 再帰してるぞ!
>>133
左再帰だからlazyでもだめか…ってs/>>130/>>131/ね。
>>130
レスサンクス。
でも、結構すごいね。
テスト用のデータ自動生成って便利そう。

リファクタリングツールはまぁ、あったら便利という程度のものだから確かに
無くてもそれほど支障ないかも知れないね。

LispやSchemeなどの他の関数型言語ではどうなんだろ。
136デフォルトの名無しさん:04/02/22 00:36
なにが、【ビギナ】【必読】だよ。
お前らの言っていること何一つ解らないじゃないか。
何の説明もない専門用語の羅列でそんなもので言語紹介されてもまったく参考にならない。
ふざけるな!!
>>136 その通り。
単に自分たちの物知りさを自慢してるスレになってますな。
プログラマなんてそんなヤツばかり。
人一倍虚栄心が大きくて、社会性無し。
自己中心的で、子供。
139デフォルトの名無しさん:04/02/22 00:56
VB.NetとVC++.Netではどちらが初心者にお勧めでしょうか?
>>139
どう考えてもVB.NET
ただ、この世界で食っていきたかったらC++なんだけど・・・
初心者にはつらいよなぁ
141デフォルトの名無しさん:04/02/22 01:14
おまいら何いってるのかさっぱりわかんねぇよ。 チンカス
もっと根本的なことから教えてくれよ!!
まず、プろグラムて何?
142Part3の>>1:04/02/22 01:21
>>136
このスレタイはこうなることが分かっててわざとですw
>>1に書いたとおりプログラミングは大海原にも例えられる幅と奥の深いモノです。
砂浜で波と戯れるもよし、船団を組んで延縄漁をするもよし、ヨットで世界一周するもよし。
底の浅い企業の宣伝やその延長の記事に隠されてしまう、
ちょっとつっこんだ議論を眺めることもそれを知るために無駄ではないと思いますよ。
そんなレスより動機を添えて何がいいかを訪ねてみてはいかが?

>>137 この議論がそんな風に見えるとは寂しい人生ですね。。。
>>141
難しいことを訊きやがるぜ。
>>141
コンピュータによるなんらかの処理を期待して、
コンピュータに分かる言語で書かれた記述。
所詮2chの技術板なんて物知り自慢だけじゃん。
そこから何を引き出せるかは読み手次第
書き方にはいくつか違う種類ある。
あーしろこーしろとやって欲しいことを直接手順で書くタイプの言語。
関数を書いてその結果を求めさせるタイプの言語。
論理式を書いて当てはまるパターンを探させるタイプの言語。
そのほかはいろいろあろうがしらん。
エロゲ(ノベル主体)作成スクリプトとその開発環境を作りたいんだが何が良いか。
下みたいなヤツ。

吉里吉里
ttp://kikyou.info/tvp/
>>141
何かのやり方が順を追って書かれているもの。

「運動会のプログラム」とか。
>>148
やり方を書く言語は多いが、
そうじゃないモノを書く言語もある。>>146
>>147
答え持ってるんならなにを答えれば?
ノベルゲーだけが目的でツールとスクリプトで満足ならそもそも板違い。
ゲ製板へ。
そうでないならなにか書け。
おお、すまん。ツールを作りたいのか。
ならSchemeだな。FFのCGツールSchemeだし。
>>151
Schemeってのはなんかとても難しそうなんだけどプログラム経験ゼロでも使える?
また、DirectXとかWindowsに特化した機能にアクセスする手段、資料が沢山ある?
このスレでプラグマティックな質問してまともな返事が返って来ると思ってるのか?
154!= 151:04/02/22 02:14
>>152
言語(スクリプト)の処理系をつくるのが楽かどうかが重要だとすると、
関数型言語(Scheme, Haskell等)がよさそう。

> また、DirectXとかWindowsに特化した機能にアクセスする手段、資料が沢山ある?
この辺のことなら、MSやBorlandの売り物(Windows用)の言語がいいだろうね。
Scheme,Haskellでそういうことをやるのは初心者には難しい。

JavaはJavaCC(ぐぐれ)という言語をつくるための有名なツールがあるし、
GUIも楽だから、総合的に悪くないんじゃないか(といってみるJavaを知らない人)。
>>151
エロゲエンジン開発にSchemeが使えるわけねーだろタコ。
これだから関数型言語厨はいやだ。

答えはC++かDelphi。
この二つはネイティブで高速に動きマルチメディア関係もバッチリ。
もちろんDirectX関係の資料も豊富。
>>154
> 言語(スクリプト)の処理系をつくるのが楽かどうかが重要だとすると、
> 関数型言語(Scheme, Haskell等)がよさそう。
別にアドバンテージなんぞ無いだろ。
yacc/lexとかそこら辺使っていればCでも十分作れる。
Concurrent Clean。DirectXもOK。Pen4のHHTも活用しまくり。
>>154
>Scheme,Haskellでそういうことをやるのは初心者には難しい。
初心者には難しいじゃ無くて、まともに出来ないの間違いでは。
こんな言語でゲームなんて作れないよ。
>>157
スピードでるのか?
DirectX以外でWindowsに特化するに値するモノってある?
>>157
最近のノベルエロゲは、そんなにスピード早いのか?
おっとり属性で遅漏の俺にはつかえんな。
スクリプトという時点ですべてが遅い。
163161:04/02/22 02:26
>>157じゃなくて>>159だ。
エロゲユーザーは洋ゲーユーザーと違って、マシンスペック異常に低いのがいるからね。
400MHz以下が結構いる。
たしかに安直に言えば>>155が一般的な答えだろう。
しかし、スクリプトを設計するとなれば、
べたべたの手続き型から離れる経験はかけがえのないものであるのは間違いない。
ノベルゲーなら400MHzあれば大抵の言語は問題ねぇだろ。
486SXとかなら話は分かるが。
低スペックについてはCPUよりメモリが問題だな。
>>166
それがそうでもない。
147が上げている吉里吉里を入れてみれば解るよ。
ちなみにこのエンジンは企業が売るエロゲにも採用されている。
最近では Fate/stay night など。
まぁ、155が正解だな。
>>167
そりゃそのエンジンがとろいんじゃねーの?
効率の悪い独自インタプリタで。
企業ったって、エロゲメーカなんてサークルレベルと変わらないとこだろ。
Schemeならスクリプト解釈自体を処理系に任せてびゅんびゅん。
>>158
3DFPSじゃあるまいし。ノベルゲー程度のグラフィックスが扱える
ライブラリはあるけどな。
>>169
ユーザーがScheme書くのか?さすがにそれは無理があるだろ。
DirectX の資料もノウハウも蓄積されてないスクリプト言語を初心者に使えと。
>>170
あまく見過ぎ。
でもさ、初心者が 吉里吉里 書こうってのはかなり無謀だとおもうんだが。
できたころには全然初心者じゃなくなってる。
>>171
別にプログラム書かせなくたっていいんだよ。
簡単なS式(かそれに変換できる形式)でいろんな定義を書かせていけば。
PS2 の 3D ゲームでも Scheme を使ってたらしいから、実装次第じゃないの。
>>170
そのライブラリC++やDelphiに比べて劇遅だろ?
低スペックの嵐であるエロゲユーザーには使えない代物だと思うんだが。
使ったことはあるんだろう?
なら初心者じゃなくてすでに初級者以上だ。
> できたころには全然初心者じゃなくなってる。
できあがるまで初心者じゃなくちゃいけないのかよw
>>173
こういうのでは不足?
http://conal.net/fran/tutorial.htm
> including sound, smooth flip-book animation, and cropping.
ってのもできるらしいし。
まあ使ってみたら困ることってのがなにかしらあるんだろうがね。
>>176
全てのスペック、環境がそろったPS2とWindowsを一緒にされてもな。
181154==179:04/02/22 03:02
一応言っとくが彼が関数型言語でやるべきだとは思ってないよ。
>>179
な、生首がーーー!
>>175
具体的にはどんな感じ?
>>179
かなりしょぼいことしかできない割には記述がプログラムまんまなのな。
スペック的にもどのくらいで動くのやら。
エロゲだと独自形式のグラフィックや、ogg、mp3などの再生、ムービーの再生なんかが重要なのかもね。
C++, Delphi, Scheme, Haskell, 挙げ句の果てには Clean までもが、どれがエロゲ
作成用言語として相応しいか競い合うなんて・・・。それにしてもなんで PC の
プログラミング初心者はエロゲを作りたがるんだろうかねぇ。
>>186
VHS (=エロビデオ)、インターネット (=エロサイト)、CD-ROM (=エロ画像) ...

技術の進歩つーか普及には、欠かせないんだよ。
>>186
趣味でプログラミングはじめるとゲーム作りが目標になりがち
ゲームの中で比較的簡単そうなのはAVG用のスクリプター(エロゲエンジン)

"Javaやるなら先にCをやれ"だとか、
"いや、Javaが先"だとか、
"C++やるなら先にJava/Cをやれ"とか、
"とりあえずスクリプト言語をやれ"とか、

皆、多様な主張をしているが、こんな議論とは別の所で
初心者達は様々なプログラム言語を覚えていく。

結局のところ、このスレはプログラム言語を既に習得した奴らが
直観で語るスレにしかなっていないんじゃないか?

ただ、この多様な主張から得られた結論があるとすれば、
それは"ある程度プログラミングの経験がある奴は別の言語を覚えるのが速い"という程度だろう。
自分の作ったプログラムを人に見せる・…ってのも大事だよもんな。
インターネットとかで自分がつくったプログラムを訪問者に見せたりすると、
嬉しい。
それが嬉しくて、人に見せたいから貢献したいから、
プログラムを書きたくて仕方がなくなってくる…って人も多いだろう。
初心者はまずサイトをもってそこで自分の作った稚拙なプログラムを披露することだな。
まずはそこから。他人に貢献したい!という純粋な愛情から人はプログラムを
覚えていく ← ロマンチスト(w
関数型言語厨房がSchemeが速いと思い込んでいるのが痛い。
ネィティブコンパイルすれば速いだろうが、ノベルゲーエンジン
のようにそもそもスクリプトとして解釈する場合、大方のSchemeは
ノロい。亀のように。
>169
あれの要求スペックが高いのはエフェクトを全部CPU演算してるからで。
その代わり環境依存の問題はかなり少ない。
>大方のSchemeはノロい。
そりゃまあ、schemeのコンパイラに限らず大方のコンパイラはのろくて、
速いコンパイラはわずかだよな。
漏れも、始めた動機はゲームを作りたいだったが、選択肢はBASICしかなかった。
でも当時はアイデア勝負って感じでファミコンを後目に
コンパクトだがバラエティに富んだゲームが作られていた。
いまは言語は選び放題で、マシンスペックも桁違い、
市販ゲームもアイデア性の高いのも多いのに
C++/Delphiでノベルゲーってのは、プログラム的にはちょっとさびしいな。
いや、企業でも使われてるようなフリーのがあるのに、
なぜわざわざ自分で作りたいか、だ。
砂浜でバシャバシャから、一歩踏み出したがっているのではないか。
>>191
もうあきらめろって。
まあ速いという基準をどう決めるかによるけど、
ネイティブコードコンパイラのbiglooとかcmuclは健闘してるんじゃないかなぁ。

参考までに
http://www.bagley.org/~doug/shootout/craps.shtml
ここでの速度は、画像エフェクトの処理速度じゃないのか?
DirectXの使用とかが主問題では?
(゚Д゚)ハァ?
初耳だな。

画像処理スレにでも行きなされ。
冷静に考えればノベルゲー程度のスクリプト解釈そのものが
体感的な遅さを発生させるとは思えんのだが。8bit時代じゃあるまいし。
>>200
かなり適当に書いても所詮テキスト処理だからな。
それでも時々ものすごいスペックを要求する紙芝居もどきのゲームもあるがな。
あれはいったいどういう作りになっているんだろう?
>>202
リアルタイムトゥーンレンダリング
204名無し@沢村:04/02/22 20:04
>>190
どれ、おまいのつくったプログラムを見せてみろ?
おまいのサイトを見せてみろ?
おれが監査してやるよ。
>>202
トゥーンは輪郭の抽出がパワーを食う。
>>197
S式厨キタ━━━━━━(゚∀゚)━━━━━━!!
guileが糞遅いことを言ってるんだよ、ボケ。
ネイティブコンパイルして速いのは当たり前。
そもそもクロージャ作りまくって、リソース
食いまくるような言語は、速度にシビアな
用途には向かないんだよ。
意味が分からん...
ネイティブコンパイルすると速いことを認めたんだから、

>そもそもクロージャ作りまくって、リソース
>食いまくるような言語は、速度にシビアな
>用途には向かないんだよ。

は単なる捨て台詞か?
>>207
昨日から粘着してるただの関数型言語叩き厨だろ。
>>207
ネイティブコンパイルしてもクロージャ作りまくりなら、
リソース食うわGCが遅いわで結局、遅い。って事でしょう?
>>209
だから、参考としてベンチマークを持ち出したのだが...
>>210
んで、SchemeはCに勝ったのか?w
>>211
負けてるよ。
でも、bigloo,cmuclは全体的に見れば上位にいるし、
「亀のようにのろい」という発言に対する反論にはなっていると思わないかね?

↓で、何か言いたいことがあるならどうぞ
あと言い忘れたことがあった。

俺の>>207の発言は無視なのか?
Schemeの位置はネイティブコンパイラ同士の比較なら下の方。
インタプリタ同士の比較の場合も下の方。
つまり、遅い。

Schemerさんは、動的な変更に強いことを美点の一つに
数えるけれども、コンパイルしてしまえばその美点も失われる。

結局、君らS式厨が使うのは糞のように遅いGuileかEmacLispだろ。
もっと現実をみろ。
Bigloo だけでいいだろう。CMUCL を引き合いに出さないでくれ。
この手の不毛な論争に巻き込まれたくない。Scheme を勧めるなら
CMUCL は言語違いだし。

その手の用途なら実際 C/C++ がいいと思うよ。
216141:04/02/22 21:39
プログラムってのはなんなのかわかった。
じゃぁ、まず最初に何をすればいいのだ?
c言語からはじめるのか、ジャバからはじめるのか。
必要なソフト、覚える事とかとかとか・・・
>>214
すげえ侮辱だなw

誤解1 S式厨(by>>214)はGuile,Emacslisp
俺が使うのはcmuclだし、common lispでnewsgroupを見る限り一番使われてるのはcmucl。

誤解2 コンパイルすると動的な変更ができない
出来ます。君は何も知らないだけ。
コンパイルしたコードとインタープリタのコードは動作がまったく変わらないことが要求されてるから、それはありえない。

要するに、お前は何も理解してないんだよ。
出直してこい。
追記:
clのcompiled-function-pの動作のみ違う
219141:04/02/22 21:45
>>217
出直してこいもくそも、ここってビギナーさんに優しいスレッドではなかったのでつか
乱暴な口を聞いていることから考えて、ビギナー扱いするのは失礼だろ。
221141:04/02/22 21:52
失礼。
222218:04/02/22 21:54
明日までこのスレ見れない。
それじゃ
何をどれくらいやりたいのかによるんだな。目的別ガイド
1. Windows でゲームを作りたい。→ なんだかんだで C/C++ が基本
2. コンパイラその他が作りたい。→ やっぱり C/C++ + ツール
3. 流行の Servlet とか… → Java
4. 計算機科学を→ 関数型とか Scheme/Lisp
5. 述語論理大好き→ Prolog
6. 数学の道具がホスィ→ Mathmatica
7. マイコン制御、電子工作→ C
8. UNIX 系 OS 使ってるんだけど…→シェル、スクリプト言語、C をやれ
9. 並列計算が… → Sisal
普通こんなもんだろ。VB、Delphi とかは将来性を考えるとイマイチ。
.NET とか D とか新しいのはもちっと枯れてからでいいんじゃねーかな。
たまに出てくる Lisp 系とかは身近に導師がいる場合のみオススメだな。
>>217 も CMUCL 使ってんのか…。使ってる奴全員が狂信者じゃないんだ。
ゴメンよぅ。
224141:04/02/22 22:02
ふぅむ・・・・
オブジェクトって何だろう・・・→Smalltalk, C++, Java, Eiffel, self, CLOS, etc. を一通りかじってみて好みを探す
マイコン制御、電子工作ならアセンブラも要るんじゃねーのと思いつつ、
大体そんなとこだろうな。目的が違えば言語も違う。ただ「プログラム」
っていってもね。キャリアアップが目的とか言うなら、情報処理試験に
出る言語でも選べば良いんじゃないの。今は C/Java/CASL だっけ?
>>225
言語オタはビキナーじゃないと思われ。自称言語オタ向けの Ruby が入ってないし。
>227 Rubyはわざと外してみました。漏れRuby知らんし
>>224
本当に「何をやっていいのか分からない」状態なら、Cマガジンを買って来て
そこの入門記事に載っているサンプルを一通り動かしてみる事から初めては?

大体は C/C++ と Java のコードだから、フリーの処理系で間に合うし。
今更ながら。。。
前スレ http://pc2.2ch.net/test/read.cgi/tech/1074621538/ (Dat落ち。早っ!)
cabbage collection をサポートしてて初心者にお勧めの言語
ってありますか?
>>231
nanisore?
きゃべつ これくしょん
for (キャベツ = キャベツ畑.収穫(オラ).getIterator(); キャベツ != キャベツ畑.最後(); キャベツ++)
____箱.詰め込み(*キャベツ);
トラック.荷積み(箱);
トラック.行く(農協);
>>231
Please tell us what that cabbage collection is, 
hopefully with some references.
It's not so common that many of the programmers reading 
this thread would not know about it.
236デフォルトの名無しさん:04/02/23 18:52
language ファイルの書き換え方って
外国語の部分を書き換えるだけでよいのでしょうか?
237147:04/02/24 01:03
エロゲ開発ツールを作るには何が良いかと質問した初心者です。
結局VC++にすることにしますた。
色々本探したんだがVC++の本しか見つからなかった・・・
Scheme とやらはゲームどころか入門書すら見つけられず。
DelphiもSchemeほどでは無いけど情報が少なかったので断念。

ノベルゲームなら多分簡単に出来ると思うのでその分色々凝ってみようと思います。
でわ。
>>237
いや、簡単じゃないような・・・
しかもキミってプログラムまったくしたこと無いんでしょ?
あんまり舐めたこと言わない方が良いよ。
239デフォルトの名無しさん:04/02/24 01:21
まったく何も知らない人がC++ってだけで、もうかなり挫折率高そう。
全く言語に触れた事の無いプログラム入門者が
まがりなりにもDirectXを使うWinアプリを簡単と仰るか・・・
実は、>>147は吉里吉里の作者。
...と言うネタはおいといて、吉里吉里も一応普通のスクリプトみたいだから
完全な初心者というわけではないだろう。
といってもC++のようなマゾ用言語に耐えられるかどうか。。。
243147:04/02/24 01:35
うーん、普通にテキスト書いて一枚の背景書いて、キャラクタ表示して音ならせばいいだけ
だから、簡単な部類になると思うけどなぁ
スプライト表示したり、スクロールさせたり、ポリゴングリグリだったりするわけじゃないし
リアルタイムで当たり判定されるわけでもないし。

条件ジャンプとフラグさえ扱えればプログラムってみんな一緒でしょ。
本屋で立ち読みした限りじゃ、その域を出ている言語って無かったと思うけどなぁ
244デフォルトの名無しさん:04/02/24 01:37
簡単な部類というものが初心者にとって簡単であるかという問題だろう
実際のところ147氏の経験や実力の程も知らんので・・・
(´-`).。oO(スクリプト作れるのだろうか・・・構文解析、意味解析、オートマトン・・・ドラゴンブックくらい読まないと・・・
吉里吉里はKAGパーサにyacc使ってなかったっけ。
どちらにせよ式木作るまでに挫折率が高し
247147:04/02/24 01:44
プログラムはしたことは無いけど馬鹿じゃないと思う。
ノベル系スクリプトはちょっとだけ弄ったことがある。
フラグ同士を計算してそれで処理を分岐させるのがプログラムなら身構えるほどでもないかなと。

スクリプトの解釈だって条件分岐のつながりだと思うしね。
これは条件分岐を沢山書いていけば良いだけだと思うから大丈夫だと思う。
それよりDirectXの方が命令を覚えるのが大変そう。
(´-`).。oO(あぁ、本気の初心者さんだ・・・フラグって何だろ・・・変数のことかなw
>>247
まーそういう方法で作れなくもないが、まっとうなものを作るなら >>245 あたりを
勉強しないとダメだよ。
flog
とりあえずC++を勉強する段階で挫折しないようにね
>>235
Please tell us what the "cabbage collection" is, とした方が良いと思われ
エロゲってスクリプトも作らなくちゃならないから思ったよりも大変そうだな。
>スクリプトの解釈だって条件分岐のつながりだと思うしね。
>これは条件分岐を沢山書いていけば良いだけだと思うから大丈夫だと思う。

一つの糞長い関数の中に死ぬほどネストした if switch の嵐の予感
>>247
ノベルゲーをつくるのは面倒なだけでそう難しくないが、
ノベルゲー系「スクリプトをつくるのは難しい」。
>>254
それでも経験無から簡単に動くものを作れたとしたら
たいしたものだと思うよ、正直
動いてなんぼだからな
>>254
ちょっとしたスクリプトなら、それで十分だよ。
まあ一度でもチャレンジしてみれば吉里吉里とかの有りものの
スクリプトエンジンがいかに手をかけられてるか実感出来るだろ
うからいい経験じゃないか?
はじめましてぺ<(_ _)>
スレ違いかもしれませんが・・・
プログラミングのプの字もわからない「ド素人」です。
実はプログラミングを覚えたくて、ご質問させていただきます。
みなさまが、初めて(全く初めて)手にした本は何ですか?
もし宜しければ、どうか教えていただけませんか?
駄文、スレ汚しお許しください。
・・・ベーマガ
>>260
> みなさまが、初めて(全く初めて)手にした本は何ですか?
絵本だと思う。ちょっと憶えてない。

プログラミングの本限定なら、アスキーラーニングシステムから出ていた
三田本だった。俺がくじ運が悪いのは認める。
263260:04/02/24 09:42
>>261 >>262 申し訳ありません^^;言葉足らずで<(_ _)>
プログラミングの本限定です^^;失礼しました。
一応ググってみたのですが・・・。

質問を変更させていただいて、
この本からはじめろ、と言った物ありますでしょうか?
どうか教えてください^^何度も申し訳ありません。
>>263
K&Rあたりでいいんじゃないの。
でも頭が悪そう(顔文字・スレッド違い・文意が明らかでない)だから、
難しいと感じるかもしれないね。
265263:04/02/24 10:49
どうもありがとうございました。参考にさせていただきます。
>>264
顔文字で頭悪いと判断=短絡思考
文意が明らかでない=言語不問でプログラミング最初の一冊を求めてると解る
正確な日本語でないと文意を読み取れない方が国語力不足だな
スレ違いだが

>>263
何読んでも大差なし。本屋行って初心者向けのを立ち読みして
自分に合うかなと思う奴を買いなされ
>>266
> 顔文字で頭悪いと判断=短絡思考
相関性がある。

> 文意が明らかでない=言語不問でプログラミング最初の一冊を求めてると解る
そうではなく、日本語の問題。

> 何読んでも大差なし。本屋行って初心者向けのを立ち読みして
> 自分に合うかなと思う奴を買いなされ
そんなわけないだろ。
だいたい自分で判断出来ないから聞いてるんだし。
>>263
BLUE BACKSのこれならわかるC++オススメ。
自分も始めたばっかりだけど、わかりやすくて入門には
いいですよ。

お互いにがんばろうなー
なんつっーか、どんな初心者向けの本でも
それなりの内容は必ずあるものなんだよな。
だって、入門書として認められるためにはある一定の内容を
収録していないと入門書として正式には認められないんだよ。
どんな入門書だってなんかの認定はうけている筈だろ、
だから入門書なんてにはどれも大差なし。
それがわからないのは、ホントに何もしらない証拠だよな。
1P分の内容さえわからないんだろーなー 
>>269
義務教育の教科書じゃないんだから認定なんていりません
>>269
「入門書」にもいろいろあるんだが…。

「C を分かっている人向けの Java 入門書」とか
「コンピュータを分かっている人向けの VB 入門書」とか

>>263
ブルーバックスの「Visual Basicで始めるプログラミング」がお勧め。
http://www.amazon.co.jp/exec/obidos/ASIN/406257179X/qid=1077624374/sr=1-5/ref=sr_1_10_5/249-2459514-7942750
おすすめはと聞かれるとK&Rか、あるいは独習Cか、だな。
Javaやりたいんだったらよく知らないが(ASCIIの何かだったと思う)
とりあえずどんなことしたいのかぐらい語ってくれない
となー。釣りか?
274263:04/02/25 03:52
みなさん、ありがとうございます。
こんなにレスいただけるとは、思ってなかったです^^:
本当に、ありがとうございました。
参考にさせてもらいます。
明日書店にいって来ます。
本当にありがとうございました<(_ _)>

頑張ります!!
275デフォルトの名無しさん:04/02/25 19:27
さいきんCASL2を極めました。プログラマとして転職できますか?
Commet2 を搭載したマシンを開発して下さい
277147:04/02/26 02:22
C++ 思ったより難しいな。
型とか結構じゃまくさい。
苦戦しそう。
147はネ初心者の釣りに255SEGV。
でもネタの続きキボン。

というか、型がうざいならschemeはどうだ?(と糸を垂れるテスポ
147の良い燃料投下に期待する
>>272
独習C、「推薦図書/必読書のためのスレッド PART 16」で
叩かれてるな。確かにあんなコード載せてるようじゃやばいと
思うが。
http://pc2.2ch.net/test/read.cgi/tech/1076851442/
ネ初
ネ刀

実際俺は一番初めにStroustrup買ってきてプログラミング始めた人間だけど、
今思うとあまり効率は良くなかったな。
>>281
まさかARMか?
283デフォルトの名無しさん:04/02/26 16:43
今日からプログラミング始めようと思うのですが、言語はなにを選ぶべきでしょうか?
将来的に幅広いプログラムを書けるようになりたいです。
Cをやろうかと思っていたのですが、友人がわかる人に聞いた方がいいとアドバイスしてきたもので・・・
実際どうなのでしょうか?
言語別に詳しい説明とかしていただきたいです。
質問房ですいません・・・
>>283
C。
「プログラミング言語C 第2版」いわゆる「K&R」がお勧め。
関数型の言語については286以降に。
>>283
>将来的に幅広いプログラムを書けるようになりたいです。

Cマガジンに連載のある言語を片端から。

初心者はサンプルが無いと一歩も進めないし、現状で初心者向きの
「幅広いプログラム」のサンプルを載せるのはCマガだけだから。
287283:04/02/26 20:04
>>284
非常に参考になりました。ありがとうございます。

>>286
Cマガジン購読してみようと思います。アドバイスどうもです。
>>280
独習Cは結構トンデモなこと書いてあったりするし
初学者だと混乱するかも
でも、演習問題の多い構成とかは悪くないと思う
Cの入門、柴田ボーヨーの「明解C言語入門編」は良かったけどな。
K&Rはまったくの初心者にはつらい。。。
Cから離れると、ブルーバックスの小林健一郎の「これならわかる Java」
って初心者に対する書き方が分かってるという印象がある。安いし。

二冊とも、ほんの入口にしかならないけど、それでもいいのでは?
あ、小林健一郎の本、C++ のが既出だな。
わかりやすく書くのが本当に巧い人だよね。

ところでしつこいようだけど、K&R勧める人って、
変数という言葉さえ聞いたことない初心者が、
他に一緒に学べる人がいない環境にいる場合も、
いきなりこの本、勧めるんでしょうか?
K&RはCの初心者にはお勧めだけどプログラム自体の初心者には
お勧めできないな。個人的には。

言語仕様は1から説明してくれてるから、知識がなくても別に問題
ないと思うけど、どんどん高度な話題に移ってくから、自分でプロ
グラム書いたり、他人のコードを読んだ経験がないとつらいと思う。

実際自分は最初にこの本選んで挫折したけど、1年ぐらい他の言語
やってから読み直してみたら、この本の素晴しさに気付いた。プロ
グラム初めてで、Cを選んだなら「明解」「やさしいC」あたりがいい
んじゃないかな。
292281:04/02/27 09:05
>>282
プログラミング言語C++の方。そんなに古い時代の人間じゃない(w
あまりにそのまんまなタイトルだから、何も知らずに買ってしまった。
金無かったからそれ一冊で何度も挫折しかけながら勉強。
でも本当に内容を理解したのは、何かの有名なソフトのソースを読んだ時。(それもC言語の)
俺の場合本が入門向きでなかったというのはあるだろうけど、
C++は少しでも現実的なコードに触れた経験がある方が理解しやすいと思う。
ttp://cruel.org/freeware/hacker.html
を読んでPythonに手をつけようと思ったが、このスレ的にPythonどうなの?
>>293
いいんじゃないの?
俺はコンストラクタの名前に腹が立って途中で投げ出したが。
Ruby のほうが断然イイ。純粋オブジェクト指向だし。
純粋オブジェクト指向と言うなら Smalltalk では?
>296 そういう事言うとSelfの人が黙っていないだろう
結局
perl , python , rubyは宗教戦争ですね。
Pythonは誰が書いても綺麗なソースになるのがすばらしいと思った
インデントだけじゃん
Ruby は誰が書いても純粋オブジェクト指向になるのが素晴らしいと思った。
遅いしメモリ食うよね
>>298
perl  誰も褒めないが普及率最大
python 使ってる人は黙々と使う
ruby  言語オタの巣窟


というイメージがある。
perl ポンコツ。読み難い。Ruby にお株を取られてくやしがってる。
python 後付けのオブジェクト指向。インデントうざい。Ruby にお株を取られてくやしがってる。
ruby 純粋オブジェクト指向。読みやすく使いやすい。マンセー。

と Ruby 厨は思ってるらしいからな。
Ruby 使えるサーバーあるの?
それに今の perl は早いよ。
Ruby で勝てる?
Rubyで>>16の例題の解ってどんな感じ?

> 技術野郎の復讐---Revenge of the Nerds--- [Paul Graham]
> ttp://www.shiro.dreamhost.com/scheme/trans/icad-j.html
>>305
いや、そもそも Ruby 厨は自前でサーバー立てる所からやらないと気がすまないから。
効率なんて最初から度外視。
お願いだから Ruby 厨を煽るのは止めてください。
Delphiと違ってRubyはマイナーって言われないのはうらやましい
マイナーって言われるほど知名度ないからな。
311デフォルトの名無しさん:04/02/28 23:24
>>306
例題の意図が分からんがこんな感じでいいのか?
def foo (n)
 lambda { | i | n += i }
end
>>305
無料系だと xrea かね。
Perl は Apache::Registry 使うと結構速いからねえ。
まあ、Ruby 厨として、Ruby は早いと言っとこう。
AAA!Cafe も Ruby、使えますな。自分は Perl しか使ってないけどね。
IISに簡単に組み込める
メモリーをあまり食わない
レスポンスが良い
導入コストが低い
素人のアホなソースでもリークしにくい
socketを簡単に利用できる
COMを簡単に利用できる
バグが少なくある程度良い意味で枯れている

上記のようなWeb系の言語のオススメはありませんか。
今はASPを使っていますがいろいろと問題がありまして違う言語にしようと思っています。
.NETはまだつらそうです。
315デフォルトの名無しさん:04/03/01 00:32
>>314
PHP
これがCの次に早い
316St ◆DQNRRRdhVs :04/03/01 16:57
 言語としてDelphiがよく挙げられています。
DelphiはPascalプログラミング用ツールであって、言語ではないと思うのですが、
Delphiを言語と言う人が非常に多いからには、やはりPascalと比べて文法が変わっているということなのでしょうか。
>>316
DelphiはTurbo Pascalの正当な後継開発環境ですが
言語として標準PASCALと比較した場合
これはもう拡張しまくりなわけです。
そもそもTurbo Pascalの開発者自身
「標準PASCALなど気にしたこともない」
と言ってたようですし。

現在では某自身がDelphi言語と呼ぶようになりましたので
Delphiは言語としてあつかっても間違いとはいえません。
(「KylixはDelphi言語を使う」という言い方をします)
Delphiって言語自体はObject Pascalだと思ってたけど違ったのか?
>>318
以前は某もそう呼んでたけど
Obect Pascalというのが他にもあったりした(っけ?)とか
Pascal=マイナー というイメージを嫌ったとか
理由はともかく、今はDelphi言語と某自身が呼んでる。
320デフォルトの名無しさん:04/03/01 19:16
>>316
その前にお前、トリップが「DQNRRRdhVs」って……
ワロタ
つーか、Delphiは拡張しまくりでObject Pascalとは違いすぎるからだろ?
結局知ったかぶって恥をかいた316乙
>>322
何が知ったかぶってると言えるんだ?
俺わかんないやー。
>>322が馬鹿だということを知ったかぶってる。
なんかこういう事には食い付きがいいのなw
326デフォルトの名無しさん:04/03/01 21:09
('A`)ヴァー
そういえばDel厨ここには来ないね。
Haskell厨が居座っているから怖くて喧嘩売れないのかな(藁
VB厨あたりと戦っているのがちょうど良いか。
>>327
実際にこれ作れという戦いになった場合Del圧勝と思われ。
Haskell使っているヤシは言語ヲタだから実際にアプリを作るとなると負ける。
今までこのての戦いでお題が出されてDelが負けたこと無し。
>>328
なんかお題を出してみたら(無責任)。
GUI開発環境があるかどうかで決まるようなものだと当然結果はDelだが。
Delはいいが、Delしか出来ないのはよくない。
Delに限らず単一言語しかできないのはよくない。
Haskellで2chブラウザ作ってみろよ(ニヤニヤ
Haskellでmp3の音量を一定にそろえるツールを作ってください。
Haskellでリソースハッカー作れ
HaskellでIrvineのようなダウンロードソフトをおながいします
Haskellであるアプリのイベントをフックするようなソフトなんて出来ますか?
Haskellでファイアーウォールなどを
Haskellって作った有名ソフトって何かある?
>>332
じゃあDelphiでウェブサーバ作ってみろよ(ニヤニヤ
…って面白いか?

>>333
mpegを扱うライブラリが多分ないのは残念なことだ。
そういうライブラリが無いのが一般に普及してない原因だろう。
(米)軍とか金融ではつかわれているんだけど、
一般向けアプリではGUI/multimediaライブラリが必要だし、そうでないと
なかなかプログラマーの数が増えないだろうな。
…一体日本では仕事があるのだろうか?

>>334 なにそれ? >>335 一朝一夕にはできないよさそうなソフトだね。
>>336 API呼ぶだけではないの?
>>337 Delphiで書かれたファイアウォールがあるの?

>>338
知らない。GHCが一番有名なんじゃないか:-)
だれかがGUIの便利なツールを作ったらもっと流行るんかね。
> じゃあDelphiでウェブサーバ作ってみろよ(ニヤニヤ
おらよっ。使ったことないけど。
SourceForge.net: Project Info - HFS, Http File Server
http://sourceforge.net/projects/hfs/

341339:04/03/02 01:15
>>340
> HTTP server designed for file transfer. 
> Very easy to use, just drag&drop your files in it. 
こういう発想はなかったよ。チャットなんかでファイルを
受け渡すのにつかうらしいね。この用途ならDelphiもありだな。面白い。
>Flashからやってみそ、初心者は挫折しにくいよ。
ちょっと特殊かもしれんが、絵とか描けるなら、
わりと簡単に絵とか動かせるから、おもしろいよ。
んで、いいかげん重いとか、右クリックできんとか
限界感じはじめたら、C/C++勉強して、APIとかやって
DIRECTXへ。
 あ、でもゲームとはかぎらんのか。
 まあ、フラッシュはそれなに面白いと思うよ。
結局実用的なソフトなど何一つ作れないのなHaskellって。
能率悪そうだし。
344デフォルトの名無しさん:04/03/02 22:07
Flashからc/c++に改宗ってのはずいぶん飛躍している風と感じる。
Flashは触ったことないけどさ、用途が全然違うんじゃないかな。
>>341
この用途ならってのが?だが。
Delphiは用途限定しませんよ。
スクリプト言語であるHaskellの方がよっぽど用途を限定すると思うのだけど。
346最凶VB厨房:04/03/02 22:33
わるいこっちゃいわん。
VBにしておきなさい。
>>339
アンタみっともないね。
正直な話、Haskellで実際に使い物になるアプリなんて作れないだろ。
本人は気付いてなかろうが、傍から見てると
低能Del厨が、育ちのいいHaskellに嫉妬して
恥ずかしいちょっかい出してるようにしか見えん。
Haskellが育ちがいいのかどうかは知らないけれど
Heskellの適所ってどこだろ
しかし実用出来るものが作れないなら同じ土俵にすら上がれないわけで・・・
Delはどの分野でも素早く、しかも高速で動くアプリが作れるけどHaskellは違うでしょ。
しかも関数型言語は直感的じゃないからソースが少なくても思考時間で差が付きそう。
プログラム自体が元々、「手続き」だからそれを式に変換するというリファクタリングがネックだね。
関数型言語が普及しない最大の要因はそこでしょ。
かたっぽは企業が存亡をかけて宣伝し、
かたっぽはアカコミュニティで作りっぱなし。
今ソフトがどれだけあるかは、ユーザの数の問題でないかい?
> 関数型言語は直感的じゃないから
ここが味噌だろね。
大抵の人は最初に手続き型脳にさせられて、
そこから抜けなくてもやっていけるからわざわざ抜ける人は少ない。
使い手が限られちゃうのも仕方ない。
洗脳とかじゃなくて世の中のものはほとんど「手順」で成り立っているから、それを一つの「式」
に直すという行為はかなりのコストを払うと思うんだよね実際。
出来上がった式は短く見通しが良いかもしれないがそこに至るまでのコストが問題だと言うこと。
そして式にした場合に得られるメリットが全体的な生産性を大きく変えるほどのものでは無いから普及しないんじゃなかろうか。
356デフォルトの名無しさん:04/03/03 00:16
Ruby最強説急浮上
>>356
どこに浮上しががけ?十和田湖け?
関数型言語って何が便利なんだろう。

関数型言語の利点を魅力的に語っているサイトって
どっかにないですか?読んでみたい。
しっかしさー、ぜってーjavaっていいよな。
例外処理とかさ、厳しい型チェックとかさいこーだよ、スレッドもついてるしさ。
クラスなんかもおもしろいしよ。
C言語とかさー、なんか機能がショボくて…あんな低機能言語で
開発しているなんて信じらんない、ほとんどが趣味の延長でやってんじゃね?
仕事と趣味の区別はつけてよね。
ちゃんとオブジェクト至高っていうビジネス用の言語で開発してよ〜
だからエラーばっかりだしてみずほのSEみたいにジサツしちゃうんじゃない〜
うーん、どこのコピペか知らないけど20点。
もうちょっと頭悪そうにしないとなぁ

> ちゃんとオブジェクト至高っていうビジネス用の言語で開発してよ〜
まぁここは結構ポイント高いと思うけど。
人間は日常的に式を使わないから、考えをそのまま形に出来ない関数型言語はコストが高いってことでFA?
確かに世の中は料理の仕方から、運転の方法、一日の予定など全部手続き。
ん?
つまり手続き型言語のほうがコストパフェーマンスが良いということ?
>>345
> スクリプト言語であるHaskellの方がよっぽど用途を限定すると思うのだけど。

Haskellはスクリプト言語ではないぞ。ghc,nhcはコンパイラ。
hugsはインタプリタ。
速度的なネックはいかんともしがたい。
Delって最速でしょ。
>>362
そう言うことでしょ。
もちろんこの場合の手続き型とはJavaやDelphiやC++などの所謂オブジェクト指向言語も含まれるけどね。
大きく言語を分類すると

・手続き型
・関数型
・論理型

って感じだっけ?
確かにRADなPascal系言語ではDelphiが最速
>>363
なんか簡単なアプリでも作ってうpしてくれないか?
Winで。
テキストファイルビューワーでいいや。
これなら簡単でしょ。
368363:04/03/03 02:45
>>367
Haskellはよく知らん。ただ間違いを指摘しただけだ。
>366
ん?Winなら最速だろ?
C++より速いぜ。
C++より速いってのはどうかと思うぞ。
C++のコンパイラはたくさんあるのに。

VC++とbccとDelphiとで素数を求めるプログラム書いことがあるんだが
Delphiが一番遅かったぞ。
>>370
ttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1050452299
これってDelの方が早かったんじゃないの?
Haskellコンパイラって言うし371で勝負してみようよ。
GUIも無いし数式だからHaskell大得意だろ。
Haskell使い是非チャレンジしてくれ。
>>372
>>371みてみたけど、アルゴリズムの元がわからないと、
Haskellらしく書きなおせない(面倒)ので俺はパス。

その「勝負」が速度のことなら、まずHaskellは勝てないよ。
速度だけを問題にするときにつかう言語じゃない。
CやDelphiの2,3倍の時間がかかっても全然不思議じゃないし、
それが問題になるときは使わないだけのこと。
# 大体1.5-2倍ぐらいかな。
# ただしテキスト処理だけは比較するととても(二桁)遅い。
# 実はそれでもほとんどの場合は十分な速さなんだが。
374373:04/03/03 23:01
時間がかからない場合は数値計算にも俺はつかうけどね。
実行速度が速いからじゃなくて書くのが楽だから。

ルンゲクッタ・ホイン法による常微分方程式の数値計算:
ttp://www-solid.eps.s.u-tokyo.ac.jp/~ataru/edu/runge.html
-- Example: y' = f y where f(x) = - 2 x. y = 5 e^(- 2 t).
-- ys ~= [5 e^(- 2 * (n * dt)) | n <- [0..(t/dt)]]

module Main where
f = ((- 2.0)*); ini = 5.0; dt = 0.01; t = 3.0
ys = ini:[ y + (dt * (f y + f (y + dt * f y))) / 2.0 | y <- ys ]
main = do print $ take (floor $ t / dt) ys
やっぱり関数型言語は式を使うような用途に向いているんだろうな。
でも、速度を求めるようなシミュレートには向いてないか・・・
微妙な位置づけだ。
>>373
何しているかなんてソース見れば解るような気もするが。
>>376
なにをしてる(手続き)かはわかるけど、
なにをしようとしてる(目的)のかはソースを見て判断するのは
必ずしも簡単じゃない。この場合は第一に面倒なだけだけど。

なんらかの問題を解くためにプログラミングをするわけだけど、
問題を手続きにしてしまってから、それを関数に直すのは無駄だよ。
問題を関数として理解して書き下すのは簡単だけれど。

>>361
> 人間は日常的に式を使わないから、考えをそのまま形に出来ない関数型言語はコストが高いってことでFA?
人間は日常的に手続きだってつかわないよ。
買いものをするとして、考えるのは
「このリストにあるものを全部買おう」ことであって、
「リストの一番上からひとつづつ一番下の項目まで買おう」ことじゃない。
もし順番をつけるとしたら特別な理由がある場合(たとえば同じ売り場に戻りたくない)だけで、
その場合はちゃんと考えないといけない。

これが手続き型の言語だと、そういう考えなしでも、
一番上から一つづつと書いて余計な意味をもたせてしまう。
順序によって結果が違うことがありうるならなおさらだ。
そして読む人はこれが意図されたものなのかどうか考える羽目になる。
# なんらかの(例えばmapみたいな)抽象化をすればいいけれど。
>>377
> 「このリストにあるものを全部買おう」ことであって、
「という」が抜けてた。その下の行も。
やっぱり、上にあった、みんな最初に手続き型脳にされてしまうってのはあると思うな。
ただ、現実のプログラムの需要は、計算よりもズバリ副作用が目的の方が圧倒的で、
複雑な論理的処理なんかほとんどないってのも、ベタな手続き型のシェアを説明しそう。
一般には手続き型言語にされている C にしろ Delphi にしろ半端に関数が
使えるからそれで程ほどにこなせてしまう、というのもあるかも。

FORTH みたいな純粋手続き型言語との比較だと特徴が際立つと思うけどね。
全部式で書かされたらたまったもんじゃない。
美しかろうが非効率的。
>>377
買ってきた本棚の組み立て方は手続きだ。
料理の仕方も手続きだ。
目的地への電車の乗り継ぎも手続きだ。
朝起きてから会社行くまでの行動も手続きだ。
開発プロセスも手続きだ。

式ではない。
まぁ式すら手続きなんだけどね。
分解すれば解る。

式は手続きをコンパクトに出来る道具って感じか。
なので向いている部分は式、それ以外は手続きってのが人間的に一番やりやすい。
手続き型言語がまさにそれだな。
>>377
> これが手続き型の言語だと、そういう考えなしでも、
> 一番上から一つづつと書いて余計な意味をもたせてしまう。
> 順序によって結果が違うことがありうるならなおさらだ。
ほぼ言いがかり。
ほとんどの場合それほどの問題にならない。
全部式で書くことの多大なコストに比べれば美味たるもの。
実際にあんたはHaskellで371を書き直せていないのはそのコストのため。
手続きを式に変換するのは面倒だろ?
プログラムのほとんどは手続きだぞ?
Del厨によってたかって叩かれるHaskell厨の巻
>377
>なにをしてる(手続き)かはわかるけど、
>なにをしようとしてる(目的)のかはソースを見て判断するのは
>必ずしも簡単じゃない。この場合は第一に面倒なだけだけど。
あんな短い簡単なソース造作もなく何をしたいかなど解るが。
プログラムは経験浅いのか。
>>382-383
それはどれもコンパイル済のコードだ。
その方法の製作者が人間という機械になんらかの結果を生じせしめるためのね。

プログラマは計算機じゃなくてプログラマ。手続きに直すのはコンパイラの仕事でいい。

例えば料理。
「だれか作り方も実物も知らない人(計算機)にカレー(結果)を作らせる」
ためのプログラムを作る。これがプログラマの仕事だ。
頭を使わず手順に従って労働してカレーをつくることじゃ「ない」。
成果物はもちろん手順だが、その手順に変換することこそがコンパイラの仕事。
カレー = 煮る(切ったジャガイモ、切ったニンジン、炒めた玉葱、焼いた肉、カレー粉...)
切ったジャガイモ = 切る(ジャガイモ)
切ったニンジン = 切る(ニンジン)
炒めた玉葱 = 炒める(玉葱)
...

これを
ジャガイモを切る -> ニンジンを切る -> 玉葱を切る -> 炒める -> 
ジャガイモを鍋にいれる ->ニンジン…を鍋にいれる -> 煮る
と、馬鹿でもできるようにコンパイラが直すんだ。
# 料理の場合には(人間は少し賢いので)ジャガイモとニンジンの
# どっちを先に切るように指定する必要はないだろう。

コンパイラが賢かったら、
玉葱を切る の後、
-> 玉葱を炒める
-> ジャガイモ、ニンジンを切る
の二つを並列化してくれるかもしれない。
なんとかをしながら、っていうのは料理のレシピにもあるね。

もし同時にオニオンサラダを作るのなら玉葱を切るのを一度にするかもしれない。
もし既に切ったジャガイモが冷蔵庫にあれば、
わざわざ「手続き」に従って最初っから切り始める必要もない。
問題を手続きとして表現することもできれば、
式として表現することもできるんだよ。

プログラマにとって、問題に近い表現形式を選べばいい。
おれは関数的に物事を理解するほうが容易いことが多いけれど、
もちろん、手続き型のほうが楽だというひともいるだろう。
それに応じて好みの言語は変わってくる。

まあ、手続きとしてしか物事を理解できない人がいるのは良く分かったよ。

少し話はかわるが、世の中には言語でしかものを考えられない人というのが
いてね、もちろんそういう人達の中にも優秀な人がたくさんいるわけだが、
彼らは、非言語的にものを考える人(が存在するということ)を全く理解できない
そうなんだ。そういう人達は、非言語的な思考があると(おれにとっては自明だ)
主張した人達を極めて手厳しく批判したそうだ。
蛇足かも知れないが、
カレー = 煮る(切ったジャガイモ、切ったニンジン、炒めた玉葱、焼いた肉、カレー粉...)
切ったジャガイモ = 切る(ジャガイモ)
...
ってのは、
「<カレー>とは、<切ったジャガイモと切ったニンジンと、…を煮たもの>である」
「<切ったジャガイモ>とは、<ジャガイモを切ったもの>である」
...
という宣言の省略記法だよ。
>>384
> 全部式で書くことの多大なコストに比べれば美味たるもの。
美味たるもの?馬鹿ですか?
>>391
>>384 はその後で料理のたとえが出てくることを予見していたのではないか。
>>380
>FORTH みたいな純粋手続き型言語

Forthって純粋手続き型言語なのか?
根拠キボンヌ。
>>392
自分で作った料理は美味しいってやつか。
395デフォルトの名無しさん:04/03/04 11:56
純粋な手続き型言語っていうと、gosub,returnしかない
太古のBASICみたいな奴のことじゃないのかなぁ。
純粋な手続き型はアセンブラ。最強。
美味たるものは音がある。
>>393
単に「式」が存在しないというだけの話。
399デフォルトの名無しさん:04/03/04 19:44
>>398
逆ポーランド式という立派な式なのだが。
妙な誤解を招く表現を流布しないでホスイ。
美味たる違いじゃないか。
Lispが前置記法だから式がない、「純粋手続き型言語」だ。
と、言ったらLisperにタコ殴りにされると思うのだが。
>>388
馬鹿だなぁコンパイラなんて関係ないだろ。
人間の日常生活が手続きでその延長線上で考えた方がコストが低いことなど自明の理。

何故挙げたものがコンパイル済みのものなのかも不明すぎる。
もし言うとしたらそれは、設計済みと言うことだ。
ブラックボックスであるコンパイル後のものなど関係ない。
抽象化して物事を論じれないのかねぇ

どちらにしろ、日常生活で式を使い物事を考える人間は少ない。
>>401
Lisp は構文的には全部式だろ。悪名高い S 式。ユーザビリティを考えない
駄目な式だ。Java なんかもゴミ。無様。純粋じゃないし。
やっぱ純粋オブジェクト指向。これ。最強。特に Ruby。
ユーザビリティとは、
イイ := Ruby が取り込んだもの
イクナイ := Ruby が取り込まなかったもの
だから、つまり Ruby 最強。
凄い決め付けだな、ヲイ。
405404:04/03/04 21:40
>>402 の事ね。これは洗脳というより、生き方なんだろうな・・・。
>>402
ざんねんながらプログラミングやコンピュータは日常生活の延長線上の
考え方とはちょっと違う原理でうごいているからな。
> 人間の日常生活が手続きでその延長線上で考えた方がコストが
> 低いことなど自明の理。
考える対象が日常生活ならそれでいいかもしれんがね。まぁ、あれだ、
つまり Ruby がマジオススメ。ぶっちゃけオブジェクト指向的な思考
は自然で Ruby を使うのが思考のコストが低い事など自明の理。
>>405
なら、まず既存の業務をアプリにする場合を考えてみろ。
手続きなら形をなぞるように実装すれば良いだけだ。
>>402
カレーの話を読んでも何もわからないんだよね…
悪いけど、おれには君がものすごく…にみえる。他の面でどうかは知らないが。
わからない人が本当に多いのならもっとclarifyしたいところだけれど、
そうでもなさそうだし。
>>406
OOPLも手続き型ですが。
関数型言語の信者は何故自分の愛する関数型言語が流行らないのかどう分析するか聞いてみたいな。
で、いつになったらHaskell厨は>>371をHaskellで書いてくれるんだ?
Del厨の前ではみんな逃げ腰になるな(藁
> >>327
> 実際にこれ作れという戦いになった場合Del圧勝と思われ。
> Haskell使っているヤシは言語ヲタだから実際にアプリを作るとなると負ける。
> 今までこのての戦いでお題が出されてDelが負けたこと無し。
まぁ、どちらでも言い訳だが君たちスレタイ読んだことある?
>>387-390 を読んで関数型言語にちょっと興味が湧いた。
適当になんかやってみよ。

>>404
403は多分笑うところだと思う……。
Haskellも身近でよく使うソフト出せば注目浴びるのに。
ダウンロードソフトとか巡回ソフトとかタブブラウザとか。
ここなら2chブラウザかな。
何も出さないから口だけって言われるんだろうに。
いくらすごいと言っても実績出さなきゃ相手にされないよ。
Delphiみたいに色々出したら良いと思うんだが。
>>409
>OOPLも手続き型ですが。

そこに identity は無いだろ。
だから、お前らスレタイ嫁って言っているだろうが。
頭イカれているんじゃねぇか?
プログラマってこんなのばかりなのか?
>>417
ここが雑談スレだと知っての暴言ですか?
結局Haskell厨はあれほどの短いプログラムすら移植できずそのまま逃げると見た。
>>417
散々スルーされてきた理由を考えれ。
>417
ここにいるのは虚栄心旺盛な気違いだけですよ。
実生活でもいるでしょ、唾飛ばして一人でヒートして相手にされないヲタが。
ああいうのがたむろしています、ハイ。
>>419
しつこいなぁ:-)だから機械的に翻訳しても面白くないのおれは。
アルゴリズムの原本: www.cecm.sfu.ca/projects/pihex/p123.pdf の、
S = \sum_{k=0}^\infty \frac{p(k)}{b^{ck}q(k)}
これのn桁目をもとめる、っていう問題なら挑戦してもいいよ。
ただし、君もその素晴らしいDelphiを使ったものを書くってことでね。

第一言語の評価は同一の個人がどちらをつかったときに効率がいいかで
するべきだよ。天才Delphiプログラマーの生産性が無能Haskellプログラマー
の生産性より勝っていたとしても、だからってその無能Haskellプログラマーが
Delphiを使うべきだってことにはならない。彼はDelphiならもっとできない
だけかもしれないのだから。
 
言語の表現能力や形式を見たいならありだし、数日中に上のpaper印刷して
理解できたらやってみるよ。
純粋手続き型言語と名乗る要件は何だろう。計算順序に依存したコードを記述出来れば良い?
式の返り値をそのまま使う様なスタイルは避けるべき?
スコープとかアクセス記述子とか制約とかフックとか多態とか並列化とかも避けるべき?
>422
だからお前スレタイ嫁っての。
>>425
だからお前こそ消えろって。
>426
はぁ?
いつからここは最強スレになったんだ?
初心者にとってどうして良いのか説明がなけりゃこんなの最強スレとかわらんだろ。
お前氏ねよ。
>>427
本気でここが初心者スレだとお考えでいらっしゃるのですか?
馬鹿ですか?
429422:04/03/04 23:26
>>425
それはHaskell叩こうと粘着してる奴に言ってくれ。

>>387-390はそれなりに面白く関数型言語の考え方を説明
できたんじゃないかおもうけど。自分でいうのはなんだが。
プログラムが副作用の利用を前提にして書かれるのが
「純粋手続き型」
副作用を避け関数から関数への受け渡しだけで書くのが
「関数型」
じゃないのかな。
で、Cなんかでも「関数的」に書くことは出来るわけなので、
「純粋手続き型」なんて呼べるのは、関数を定義できず、
グローバルな変数に値を代入してサブルーチンを呼び出す
しかないような昔のBASICとか一部だけの悪寒。
逆に「純粋関数型」は副作用を全く利用しないスタイルで
書くことなので、それはそれで限られてるんではないかと。

オレ的にはただ長いだけで要点を掴んでない糞文。
そう言うと理解できないお前がアホだという典型的なパターンになっていくわけだが。
自分を盲信しているヤツに良くあるタイプだな。
純粋と名の付くものはいつの時代も使いづらい。
433430:04/03/05 00:05
>>431
私はHaskell君とは別人ですが。。。
オブジェクト指向言語と手続き型言語の境界線上にあるのは何かな。オブジェクト指向も
副作用バリバリだけど、逐次的な手続きの記述が中心と言う感じじゃないよね。
もうさ、日常に手続きが溢れているとか、確かにそうかも知れないが、そんなのどうでも良いんだよ。
もっと解りやすく言おうぜ。

関数型言語は効率が良くすばらしい言語だが、頭が良いヤツが使って初めて真価を発揮する。
でも、世の中アフォの割合の方が多い。
だから流行らない。
これで良いじゃねぇか。
>>434
C++、VB
>>436
それは見たけど、手続き型マンセーじゃない人の意見も聞いてみたい。
こことか似たようなこと話してる。
ttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/5261
>>439
Ruby ってクラス変数が無いんだ。
なんか辛そう。
>>440
あるよ
最近は命令型/宣言型(言語)という呼び方は使わないのか?
読みはじめたら面白くなってつい書いてしまった。しかも徹夜…。

一般的な
> S = \sum_{k=0}^\infty \frac{p(k)}{b^{ck}q(k)}
に対してn桁をもとめられるプログラムを書いて、
特殊な場合として「Pi, 800桁まで全て計算」でベンチマークしてみた。
ghc -O2 : 5.103 total
gcc -O2 : 5.658 total
でなんとCに勝ってしまった。

ソースは>>371のリンク先に張っておいたので、興味があるひとはみてくれ。
# bnS が b^n * S の計算。
# 細かいことは気にしていないのでもっと速くできるでしょう。
>>443
> に対してn桁をもとめられるプログラムを書いて、
任意のn桁目ね。
checkprecisionが機能してないことに気づいた…orzそのうち直します。
Del厨とHaskelの人のやりとり見てるとなんだかなーと思う。

Haskelの人は別にdelphiのことけなしたりしてないのにね。
たぶん適材適所とか、個人の好みの問題ってことをちゃんと
理解してるんだろう。Del厨はなにが気にくわないんだか。

Del厨が自分で書いたコードを晒してdelphiのすばらしさを
アピールしてくれればまだいいけど。どっちみち人間性は
最悪だね。ひさびさに気分悪くなった。
>>443
どこだい? 見あたらないよ。
>>447
>>371
ttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1050452299
ここの最後に張ってあるよ。Cのソースは1のリンク先のもの。

でもそれは精度チェックにバグがあって、直したら(答えはあってても)
ぎりぎりだということに気づいて、いろいろと修正(それでもどうもいまいち)。
結果、手元では400桁で、
ghc -O2 : 3.203
gcc -O2 : 0.832
という状態になっています。
# baseさえも可変にしてるし速度的には順当なところだとおもう。
>>430
>「純粋手続き型」なんて呼べるのは、関数を定義できず、
>グローバルな変数に値を代入してサブルーチンを呼び出す
>しかないような昔のBASICとか一部だけの悪寒。

昔のBASICだって DEF FN とかで関数を定義できたから
関数型入ってますね。
450414:04/03/05 16:50
>>448
お、thx。

> ghc -O2 : 3.203
> gcc -O2 : 0.832

443の結果を見て、難癖付けてやろうと思ってたんだが……えらく順当に
なっちゃったな(笑)
>>450
> 443の結果を見て、難癖付けてやろうと思ってたんだが……えらく順当に
そうだね。最初の結果にはおれが驚いた:-)
今(>>6)にはってあるので、800桁で、
    ghc -O2 : 13.505 total. CのPi専用版の約2.5倍。
ってとこです。
# 雑談すまん。
>>451
exe添付して欲しかった…
環境そろえるのたるいし。
見たがHaskelのソース激しく可読性が悪いな。
Schemeよりマシだが。
他の言語に眼が慣れてるだけでしょう。
371のスレの1を実行してみたけど確かにdelの方が早いな。
cより早いってどういう事だ?
>>455
別に、ネイティブコンパイラ同士なんだから、おかしくないだろ?コンパイラのコード生成の癖もあるし。
このケースではたまたまDelの方が速いコードを生成しただけ。
それともC言語に幻想でも?
まるで鬼の首でも取った様だな
>>164
> エロゲユーザーは洋ゲーユーザーと違って、マシンスペック異常に低いのがいるからね。

実際に調べてみるとそれほどでもない。なんだかんだでPCのコアユーザ層とダブるし。

ただし、ジャンルの性質上プレイヤーにキチガイが多く、
連中の粘着クレームは少人数のエロゲー会社の業務に支障を招くので、
不必要なまでに安全サイドに振らねばならんのですよ。触らぬオタに祟りなし。
>>458
どやって調べたの?
雑誌のアンケートか何かでは異常に低かったような・・・
Haskellってこんなに遅いのか。
ソース見る限りたいして能率良さそうにも思えないし使い道無いな。
3倍遅いOFFICEとか使いたくないし。
どうせ、GUIとうまく連携したRADとかも無いんだろ。
総合的にみると開発おそいに決まっている。
各種分野に特化したツールやライブラリもどうせ無いだろうし。
可読性が悪い、開発環境がそろっていない、遅い、資料がないの駄目言語だな。
>>460
しつこい。
>>460
書いてて恥ずかしくないんだろうか。
読んでるこっちが赤面してくるよ。。。
>>461-462
約1名のHaskell厨の方、ジエンお疲れ様。
具体的な反論が無いところがまたアレだと思うけどね。
460は現実でもあると思うけど
>>463
おれじゃないんだが…同じことを何度も書く気はないし
もう彼はどうでもいいよ。

おれの技術的知識、能力(底辺だ)やコミュニケーション能力の
不足によって潜在的なHaskellerを減らしてしまったとすれば残念だ。
英語圏には(確実に日本にも)もっと優れたHaskellプログラマーが
たくさんいる…

>>460がソースを見て開発効率を判断できるほどなら別の(謎)
速度に関しては、
Pi専用とそうでないのでは大きく事情が変わって来る、
ということを一応書いとく。

例えばCであれを書こうとすると、
なにかいいアルゴリズムを考えない限り、かなり面倒なことになるはず。
他言語で書いたものも見てみたい。
初心者スレ的に得られた教訓は、
 Delphiをやると人間が厨房になるからやめとけ、
と。
結論厨が唐突に出現
まあ>>467には同意する
でも、使えるフリーウェア、シェアウェアの中にはDel製のものが多い。
思ったものに簡単に形を加え、実際に役立つツールを作れるという意味において初心者の
モチベーションを維持することが出来る数少ない言語だと思うよ。
Javaや関数型言語などではGUI関係の開発がつたないのでそうはいかない。
C++は難解すぎる。
>>470
VBはあかんの?
つたないの意味分って使ってんの?
おまいら!
Del厨だって、ガンガッて生きてんだよ!!
Del厨がどれだけ焦りまくってるか、どれだけ必死なのか、
このスレ見てわかんないのかよ!
人間なら、人の心を持っているんなら、せめてそっとしておいてやれよ。
それが滅び行くDel厨へのせめてもの手向けだろ。
でも、使えるソフトウェアの中には Ruby 製のものが多い。
思ったものに簡単に形を加え、実際に役立つツールを作れるという意味において初心者の
モチベーションを維持することが出来る数少ない言語だと思うよ。
Javaや関数型言語などではGUI関係の開発がつたないのでそうはいかない。
C++は問題外。
>>474
RubyでGUIの開発環境あるの?
ちゃんとグラフィカルなまともなヤツ。
せめてVBレベル。
Haskell厨は結局具体性の無い煽りだけになったね。
反論できないからだと思うけど。

>>471
ランタイムが必要なので配布に問題がある。
バージョンの差や作成環境よるインストーラ問題などもある。
あとは、やれることが縛られるのも頂けない。
当然スピードもあるけどね。
>GUIの開発環境
>>475の基準でいくとVC#、BC#、Delphi、VB、BCBがグラフィカルなまともなヤツか?
>>477
Java系IDEも当然ながらすばらしいのが多い。
RubyやSchemeやHaskellはどう?
まともに使えるものがある?
>>478
Emacs
昔、Motifをviでへこへこテキストで打って仕事していたときがあったがそんなのは勘弁w
まさかそこまで非道いとは思わないが仕事で使えるレベルのものがあるのか疑問。
>>479
勘弁してくれw
漏れ>>473だけど、Haskellなんて読みも書けもしねぇし義理もないよ。
噂に聞くDel厨ってのが、ほんまもんの真性なのに感動してキーを叩いた次第。
>>475
Delphi ってちゃんとクロスプラットフォームに対応してるの?
せめて Windows/MacOS/UNIX くらいのメジャーな環境くらいは動かないとね。
実質的に Windows ヒッキー専用じゃ道具としては失格。GUI なんてツールキット付属の GUI ビルダで十分。
>>483
あの・・・スレタイちゃんと読めてるか?w
>>481
ばかいうな、Emacsは最強なんだよ!
…とはいっても、やっぱ専門のIDEにはまけるな。特に手軽さの面で。
漏れは、EclipseからMeadowしてる。
>>478
Java系IDEって、IDEとしてはいいけど、GUIでもいけてる?
JBuilderならいけるのかな?
>>485
お前もスレタイ読めよw
初心者が言語と同時にEmacsも覚えるのか?
しかも、IDEには激負けだろw

と、明日の仕事もあることだし寝るか。
>>487
漏れは実際Nemacsとgccから始めましたが何か?
>>486
Eclipseだけじゃ無くて商用のヤツを使ってみな。
無かったら怒られるよw

んじゃ。
>>488
ハイハイ、良かったね。
>>484
オマエこそバカか? Windows しか使えない人生負け組みド厨房になるための
言語が習うべき言語なのか?
>>485
Ruby >>> Lisp つまり Emacs は駄目なんだよ。
>>484
非Windows環境対応は確かに初心者に必須とは言わないが、
それがない言語で始めると、M$の掌の上しか世界が見えない哀れなM$厨に陥る危険がある。
>>491
> Ruby >>> Lisp 

> Emacs は駄目
のつながりが輪下欄のだが。
>>491
Web以外のRubyのソフトなんてほぼ無いじゃんw
便利なツールのほとんどが C++ か Delphi 製。
現実を見ろよ。

それに最初に習う言語がクロスプラットフォームである必要はない。
手軽で簡単に形に出来るものが良い。
Rubyではそれは不可能。
全ての分野で使えIDEがただで手に入るDelphiが最適。
いま、あんたの使っている2chブラウザもDelphi製じゃないの?
それとも、Emacs + navi2ch もしくは Vim + Chalice かな?
でも、シェア&性能がどちらが優れているかは比べるまでもないよね。
はっきり言って時代はオブジェクト指向でつまり
ポンコツ Lisp は駄目言語なわけ。Delphi 以下。
駄目言語を採用したエディタはつまり駄目なわけ。
もう寝るわ。
おやすみ。
さあ、香ばしくなって参りました!!
Del厨本領発揮。自分のレスの意味は全く分かっていないご様子。
でもRubyは…
つまるところ、>>467でFAですな。おやすみ。
>>494
ホント救い用が無いね。
> 便利なツールのほとんどが C++ か Delphi 製。
ほとんど、の前に「自分の使ってる」って形容詞が抜けてるんじゃないの。w
> 現実を見ろよ。
どうやら自分の目に見えているものを現実と呼んでいるようだが、
目の前以外に世間ってものを見たほうが良いぞ。w
Delphiがいい点もってるのは認めるけど、それに固執するのは
どうかと思う。1つの言語しか使えない、しかもDelphiだけで
どれだけ仕事が出来るのやら。ってことでここで活躍してる
Del厨は趣味でハニーポット作ってるだけの真正厨房ってことだ。
502471:04/03/08 09:53
>>476
> Haskell厨は結局具体性の無い煽りだけになったね。
> 反論できないからだと思うけど。

Haskellの人はアホらしくなって書いてないと思う……(残念です)。

> ランタイムが必要なので配布に問題がある。
> バージョンの差や作成環境よるインストーラ問題などもある。

これはDelphiと同じじゃないかな? あれも確かランタイムライブラリが
いるんじゃなかったっけ。
それに問題があるなら、ネイティブコンパイルしてスタティックリンクし
ちゃえばいいわけし。

> あとは、やれることが縛られるのも頂けない。

ちょっと思いつかない。どういう縛りだろう。

> 当然スピードもあるけどね。

そんなに遅いのか > VB
いつの VB の話をしているんだ?

今売ってるやつなら C# と変わらないぞ。

実行環境だって Windows Update で簡単にインストゥルールされるし。
>>503
.NET Framework 入れてないヤツ多いよ。
オレも入れてない。
>>502
勉強してから書き込もうな。
502はちょっと・・・まぁあれだ、ガンガレ
初心者が Haskell, ML, Scheme なんかをやってる世界って何か恐ろしいな。
Del 辺りなら、ふーんて感じだけど。
>>507
MITの初心者はSchemeからやってるぞ。
初心者でもレベルが違いすぎるだろw
そいつら知らないだけで天才って言われる部類の人間だぞ。
Del厨と揉めてるRuby厨とHaskell厨はどうしてそれが初心者に良いと思ったわけ?
なんか、最強スレと勘違いしているような。
>>508
SICP は知ってるよ。でも MIT ならではって気がするね。
このスレで想定している「初心者」って Windows しか触った事なくて、計算機科学
になんか全く興味の無い、コンピュータ初心者なんだよね。このスレの住人の一部も
そうでしょ。そういう人たちに Scheme が良いよって言っても何の意味も無いんじゃ
ないかなって。むしろ流行に乗っかった方が彼らは幸せなんじゃないかな。
Haskellの人は、真性Del厨がわめいて泣いてるのをかまってやっただけかと。
スレ違いは最初にわめいたDel厨ではないの?Rubyの人はしらん。
初心者にはプログラムを楽しいと感じることできるというが重要だ。
そういう面では比較的簡単に動くものが作れるPerlやグラフィカルなものを
作りやすいVBなんかをお勧めする。
なーんて場合も無きにしも非ず。
それなら、なぜ誰も熱烈にVB6を推さないんだい?
本当は君たちも分かっているんだろう?
Windowsはプログラミングの大海原に浮かぶ生け簀に過ぎないと言うことを。
>>513
両方の条件を満たすのがDelphi。
しかもIDEがただで手に入る。
初心者用言語とか、教育用言語って幾つかあると思うけど、それらの要件って
何だろうね。思いつくのはこんな感じかな(多くは言語外の要素 -- ライブラリ
とか開発環境とかな訳だけど)。個人的には LISP 好きです。

・作業の成果が見え易い
   GUI が簡単に作れるなど
・処理系に制限が少ない
  日本語が使えないとか
・記述が容易
  複雑な文法要素が少ない
・抽象的な概念が少ない
  参照透明性とか気にしなくて良い
・便利な構文糖が沢山
  再帰だけで繰り返しを書けとかは言われない
・対話的開発環境がある
  repl, stepper, debuger
・開発環境のセットアップが簡単
・コードサンプルが充実している
・ドキュメントが整備されている
・処理系の入手コストが小さい

やはり Squeak で Smalltalk やるのが良いかな。
.exe 作れないと嫌? 日本語もちょっと不自由か。
>>516
Delphiって確かVBをパクって作ったんだよな。
>>517
Delphiだな。
やっぱDelphiすげえよな。最強だよ!すごいよ。すごすぎ!!
世の中、Delphiさえあれば、コンパイラの癖にトロくさいCも、
馬鹿みたいにインタプリタしてるジャバもパールもパイソンも
いまどきオブジェクト指向じゃないポンコツ言語リスプも、
偉そうなハスケルもみんないらねえよ。Delphiまんせー。
他のいらないウンコ言語は逝ってよし。
> 便利な構文糖が沢山
初心者にこれは馬鹿の元かと。
実際に>>371でC++どころかCにも速度でも勝っているし。
速度、開発効率、開発環境、どれを取ってもすばらしい。
半端に言語の美しさを求めて、現実的でない言語なんかとは訳が違う。
>>519, 521
他に初心者向け言語に必要な要件は無いでしょうか。

>>519
些末な事だけど、Delphi って REPL あるの?
del厨は置いておいて、delは悪い選択じゃないな。
初心者が作りたくなるような、タブブラウザとか簡単に作れるし、そう言ったたぐいのソース
死ぬほど転がっているし。
OpenJane弄くるだけでも楽しいんじゃないの、初心者は。
Lisp が太古の昔からオブジェクト指向をサポートしているっていうのは禁句?
いや、まじで良くできたおもちゃだと思うよ。
それは客観的に評価できると思う。
>>525
禁句に決まってんだろ。
生け簀で無邪気に遊ぶ子供達につまらん事吹き込むな。
>>525
Smalltalk が CLOS ぱくったんだっけ?
529521:04/03/09 00:25
>>523
初心者向け言語ってのがあれだな。
タカラのおままごとセットを与えるか、
ひとりでできるもん包丁を買い与えるか。
>>510
スレタイ読め
CLOS 糞じゃん
>>531
殺す
>>528
以前 Lisper に聞いたら両者は無関係みたい。CLOS の方が Smalltalk より後だそうな。
CLOS のメソッドは総称関数だから、実装上も異なります。
似非関数型言語で無理矢理作った汚ねぇ似非オブジェクト指向パッケージだからな。
Lisp はマルチパラダイム言語だから、似非××というのは当たらないな。強いて言えば、
Lisp は Lisp であるって感じ。CLOS が気に入らない(何処が?)なら Lisp で自分流の
オブジェクト指向システムを作れば良いよ。
CLOSって只で手にはいるの?
> Lisp はマルチパラダイム言語だから
さぁ、次はマルチパラダイム言語だそうですよw
>>536
フリーの Common Lisp 処理系にも入ってます。
>>538
売り物だと思ってた。
サンクス
これ面白い。

ある OOPL な会話
ttp://sumim.no-ip.com:8080/wiki/748
>>540
黙ってにやにや眺めている「ぴちょん」とかも入れて欲しい。w
>>540
コンポーネント指向な「ぶいび」も入れてやってください。
>540
じゃばがワラタ
こういうヤツいるなw

で、そのページで見つけた「リスパー脳」とやら凄いなw
ttp://sumim.no-ip.com:8080/wiki/822
おれはC -> Java -> sh -> SML -> ruby -> scheme
の順にやってきたけど、最初にC言語をやるのはお勧めできない。
schemeは単純明解なんだけど、最初にやるとプログラムが嫌になる
かもしれん。Javaのオブジェクト指向も最初はきついかも。おれは
SMLがいいと思う。
Haskellの次はMLか。
初心者にSMLを推すそのこころは?
ツクールにも採用された Ruby にきまってるじゃん。
構文がすっきりしていて(構文ルールに例外が少ない)シンプルな(難解な概念の少ない)
言語を探しているのですが、お勧めありませんか? 出来ればクロージャを作れる言語が
良いです。

自作アプリの設定言語の参考にしたいと考えています。初心者が馴染み易い言語を探して
いるので、このスレに書かせて頂きました。

Smalltalk, Haskell, Scheme, Forth 辺りが良いのかなぁ。もっととんがっていない言語が
良いのですが。ECMAScript とかかな。
Dylanできまり。
>>547
Ruby しかないじゃん。
>>548 こういうやつ?

sub How_many(str question) {
return("blowin' in the wind");
}

print How_many("roads must a man walk down Before you call him a man?");
551デフォルトの名無しさん:04/03/13 17:45
初心者に関数型言語勧めているヤツ気違いだな。
オレもDelphiで良いと思う。
やっぱり、作る楽しみを実感できない言語だとすぐ飽きちゃうだろ初心者は。
CとC++って違うの?
同じだったら別の名前付けたりしません、大抵は。
またDel中華よ。
Delが絶対悪とは言わんが、
自分の低能を一般にまで勝手に押し広げるな。
>>553
隣の国は逮捕されて報道される名前は本名じゃないらしいですが
>>555
面白そう。
凶悪犯罪には一般から名前を公募したりして。
>>551
懲りないやつだな。同じ事何度も書き込んで嬉しいか?
Delのどこが悪いのかサッパリ解らん
>>558
使ってる奴の頭が
>>558
Borland が潰れたら跡形も無く消え去ってしまう所。
ただ煽りたいだけか
根拠無しはいつものアンチDel厨のやり口。
完全初心者の若輩です。
C#を最終的にはやりたい(職としてではなくあくまでも趣味)と思っているのですが
いきなりC#をやっていいものなのですか?
それともHTMLとか簡単なやつをちょっとかじってからやるべきでしょうか?
好きなようにしろ。
スレ違い
>>563
「Visual C#」を買ってやるなら無問題。

入門書も多いので良い選択じゃないかな。
(・∀・)カエレ!!
>>563
いやいや、全然問題ないよ。
やりたいっていうそのパトスが全て。ガンガン逝け。
このスレは初心者お断りだが。
とっとと出てけ!!
>>570
じゃあ、おまいがお断りじゃ。
プッ
572デフォルトの名無しさん:04/03/14 02:33
>>570
自分で自分をお断りですか?
573デフォルトの名無しさん:04/03/14 02:35
やるならまずはC#、それも無料の Borland C#Builder ですね。
お約束のようにCから学ぶよりはずっと楽に進められると思います。

で、もしこれの入手や設定でつまずくようなことがあるなら
「プログラミングよりも先にやるべきことがあるでしょう?」
ということになりますね。
初心者から入門者にとっては、HTML+VBScriptがいいんじゃないの?
挫折しても潰しが効くしね。
VBScriptはプログラミング言語(広い意味での)としては、決して
敷居が低いものじゃなく寧ろ難解な部類だとは思うが、下手に簡単な
言語を最初に習うと後々とてつもなく困ったことになることを考えると
これくらいの難しさがあってもいいと思う。
(JavaScriptはよりAdvancedで慣れた人が対象だろな。)
>>575
結果が一意でないものを初心者に勧めると混乱する
VBScriptのどこが難解なんだか。
クラス変数、クラスメソッドを作れない、コンストラクタにパラメータも渡せない
継承もない、オーバーライドも無い、ライブラリが貧弱すぎてcom使わないと何も出来ない。
半端すぎて変な癖が付くのが目に見えている。
駄目言語と難しい言語の区別ができない人がいるスレはここですか?
まあ客観的な駄目言語ってのはそんなにはないかと。
>>577
windows update で .NET 入れるだけで vbc.exe がおまけで入ってくるこの御時世に、
今更 VBScript も無いもんだよね。
...ってゆーかさ、なぜBASIC?
どこぞの自閉症のおっさんは、BASICから初めて億万ドル長者だし。

。。。まあ使う方でなくて作る方だが。
保守age
 マジレスすると、よっぽど悪いもんでもない限り、
好きなもの、もしくは自分の用途にちなんだものを選べばいいと思う。
じゃあ用途別に仕切り直すか
事務処理にはCOBOL!
>>584
いや、最初にHSPに染まるのと、schemeにはまるのとでは、
おのずと一生の違いが出る可能性が高いと思われるが。
思われないって。その後の好奇心、判断力の問題。
HSPに染まった人 => ひまわりへ
Schemeに染まった人 => Haskell へ
でも本屋に入門書が並んでいるやつと限定すると、
初心者向け順に並べて

FLASH
JavaScript
VB/VBA
C#
Perl
Java
C/C++

くらいに限定されるよね。

Delphi
HSP
Ruby
Python

あたりも本は一応あるけど。
>>590
あげあしとりかもしれないけど JavaScript はそんないい書籍なくないか?
サンプルコード集は大量に発売されてるけど、ちゃんと言語として学べる本
ってオライリー本ぐらいしかしらない。これ買って読んだけどとても初心者
に勧められるようなもんじゃないよ。リテラルって単語をいきなり持ち出さ
れても初心者はサッパリでしょ。
Rubyは言語自体は初心者でもそこそこ使えるはずだが
初心者が読みやすい書籍がないな。
>>591
ホームページを飾るJavaScript入門
とかも一応言語として学べるよ。
>>593
> ホームページを飾るJavaScript入門

・ホームページ
・飾る
この辺で既にやばそうな香りが漂ってるな……。
>>594
良書云々は言ってないだろ。
サンプルプログラム集なのかJavascriptの教科書なのかが問題なのだから。
>>595
「一応言語として学べるよ」に対して書いているんだが。
たとえ「一応」でも学べるのか疑問だ。
一応は学べるよ。
つーか、中身も見ないで"たとえ「一応」でも学べるのか疑問だ。"なんて言うのは不可能。
題名が何であってもね。
"題名からして「しっかり」学べるのか疑問だ。"というのならまあ予想としては分かるが。
プログラミング☆簡単レシピ
http://www.microsoft.com/japan/users/recipe/
>>589
>Schemeに染まった人 => Haskell へ

何故?

C, Scheme, ASM, Smalltalk やって、その後でオレ言語作るのが個人的理想型。
>>598
ユーザ人口しか取り柄がないだけに、M$もVB厨の増産に必死だな。
JavaScript は ECMAScript でググるとまともなページがたんまり出てくる。
自分的にはかなりいけてる言語。
Javaより好き。
プロトタイプベースの入門としてうってつけだろう。
ちょっと読むならこことかオススメ。

Effective JavaScript
ttp://www.interq.or.jp/student/exeal/dss/ejs/
602デフォルトの名無しさん:04/03/17 20:40
JavaScriptは素直にいい言語だと思うよ。Javaとは別物。
> Javaとは別物。
いちいちこう言わなきゃいけないところが悲しい。
何で ECMAScript なんて名前を付けたんだろ。ASCIIScript とか ISOScript とか JISScript
とか IEEEScript とか変だべ。LiveScript のままだったら良かったのに。
>>602
いや、クラスベースで一番今流行っている言語と比較しただけ。
つーか、せめてクロージャくらい欲しいもんだよな。
その点 JavaScript なら動的分類も多重分類もOK
Web サイト作ってるヤシのプログラミングのとっかかりとしては、
JavaScript、良いかも。ほとんどの人に実行環境があるし、
使うメリットがある。
こういうことが始まりのキッカケには、いちばん大事かもね。
JavaScript の言語としての入門ならここが一番。

・ECMAScriptチュートリアル
ttp://www.axis.t.u-tokyo.ac.jp/~shunak/ecmascript/

・ECMAScript Language Specification (3rd edition, December 1999) 日本語訳
ttp://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/
これも

・JavaScriptのオブジェクト指向言語としての側面研究
ttp://www.parkcity.ne.jp/~chaichan/src/2ndthema.htm
609プロレスラーになろう:04/03/20 21:40
>>3 >>6 >>7
初歩的な質問なんですが、
オブジェクト指向言語
手続き型言語
構造化言語
関数型言語
って、それぞれどういうもので、どんな用途・目的なんですか。
現在主流なのはどれとどれで、今後主流になりそうなのはどれとどれですか。
また、Java、C#、デルファイ、VB、C++、Cは、それぞれ上記の何型言語になるんですか。
例えばデルファイはオブジェクト・パスカルとよばれてるみたいだから、オブジェクト指向言語というのに分類されるんですか。
パスカルは教育用をも意識して設計されてて、素晴らしいと聞いたことがあるんですが、実際はどうなんですか。
>>609
Java、C#、デルファイ、VB、C++

オブジェクト指向言語
手続き型言語
構造化言語
関数型言語


C

手続き型言語
構造化言語
関数型言語


「純粋」とか付くとまた話が違ってくるけれども、初心者レベルでの話なら上記の理解でOK。

>それぞれどういうもので、どんな用途・目的なんですか。
>現在主流なのはどれとどれで、今後主流になりそうなのはどれとどれですか。

どれもそれなりに汎用に使えてそれなりに主流。
今後もいきなり死滅したりはしないのでどれでもどうぞ。
612最凶VB厨房:04/03/21 00:43
へぇ。関数型言語だったのか。
>>611
関数型言語って・・・
恥ずかしいからそのくらいにしておいてくれ。
> パスカルは教育用をも意識して設計されてて、素晴らしいと聞いたことがあるんですが
どんな化石に聞いたんだろう。。。
前半は、作者がなんかの本に書いてたから事実だろうし、後半はそう言った奴の感想だから今でもそう思ってる奴はいると思うよ。
> 今でもそう思ってる奴はいる
それが化石だっちゅーの。
自分の「宗教」に合わなきゃ化石扱いか。
まいったねどうも。
Niklaus Wirth 自身 Oberon に走っちゃってるから、
Pascal が今となっては化石なのは確かだけどね。

もちろん現在のデルファイとは、
もはや関係の無い話だけど。
619偽物のプログラマ:04/03/21 12:10
本物のプログラマはPascalを使わない。(さらに化石)
620プロレスラーになろう:04/03/21 12:41
>>610 >>611
昨日 >>609 で書いた分類は、同じ次元での分け方じゃなく違う次元の分け方がゴチャ混ぜになってたんですね。

Java、C#、デルファイ、VB、C++、そしてCも、複数の分類に同時に当てはまるんだったんですね。

用語の意味を知るために、ウィキペディア、さまよってました。
ところどころ未完成だけどおもしろかったです。

>どれもそれなりに汎用に使えてそれなりに主流。
>今後もいきなり死滅したりはしないのでどれでもどうぞ。
上にあげた言語はどれもそれなりにOKな言語だったというのはすごくうれしいです。
621プロレスラーになろう:04/03/21 13:03
今まで聞いてた話を概略まとめると、
パスカルを改良したオブジェクトパスカル(デルファイ)は、大抵のことはできるし言語体系が洗練されてる…。
もしデルファイがマイクロソフトの製品だったなら、マイクロソフトはVBでもVC++でもなくデルファイにダントツで力を入れてただろう…。
C#の開発ではボーランドからデルファイの開発者を引き抜いてるようだし。

「デルファイって、そんなにスゴい言語なのか…」って思いました。
Del厨が香ばしく再光臨!
>>621
人の話や、Web の情報を集めてる暇あったら、何でもいいから処理系手に入れてプログラム組んだ方がいいと思う。
>>621
オブジェクトパスカル≠デルファイ
Del厨のジエンだろ?
初心者でもなく、Delから抜け出す気もなく、
こういうむなしいジエンをして現実から逃避してるんだよ。
626デフォルトの名無しさん:04/03/21 14:21
>>624
デルファイとオブジェクトパスカルは同じじゃなかったんですね。
まあ、少し関心があったのはデルファイのほうだったんで。
627デフォルトの名無しさん :04/03/21 14:26
vbだけは最初はやめとけ、C++ぐらいか、C言語できればよい。
628プロレスラーになろう:04/03/21 14:36
>>623
ありがとうございます。
鋭い指摘ですね。
言われてみて、確かに自分でもそう思いました。
近日中に何か処理系をインストールしてみます。

でも自分が購入する予定地の芝生よりも、今回は自分が購入を見送るほうの予定地の芝生のほうが、日増しにだんだん青く見え出してしまってて…。
「ひょっとして、俺、選択ミス、判断ミスしてないかな…」って(^^;
かわいそうに。。。
目の前の芝は、客観的にもう茶色だろと、なぜ誰も指摘しない。
630プロレスラーになろう:04/03/21 14:59
>>627
VBは最初にやるには良くなくて、C++やCのほうが最初は優れてるんだったの?
どんな理由で?
風俗で筆卸しするか、彼女を捕まえてするかの違い。
どっちも、妖精になるよりはまし。か?
男は魔法使いじゃないっけ。
どうでも良いが妖精と言われると真っ先に
アラシヤマの友達を思い出すのは俺だけか。
633Age.P.Hukai ◆hsp/8n/.as :04/03/21 17:14
>>589
>HSPに染まった人 => ひまわりへ

それは有り得ない。
HSP => C/C++へ逝くって言うのが一番多い気がする。
>>629
目の前の芝は茶色だろうけど、刈っておけば次の芝刈りが楽になるよ。
青い芝を探してうろうろしてるだけよりなんぼかましだよ。
>>633
他の言語をつかう様になっても、すでに脳味噌が侵されててもう駄目歩。
636デフォルトの名無しさん:04/03/21 17:45
>>634
ありがとうございます。>>623 にも通じる考えですね。
この板の別のスレッドで
「僕はVBしか使ったことがないけども、ゲームを作ったりするのが楽しい。
クソゲーかもしれないけども、友達が使って喜んでくれる。
それがものすごく嬉しい。
他の言語にも興味はあるけども、それはもう一つ別の言語が必要になってから覚えることにします…。」
こんな感じの発言(上記は原文とは違います)がありました。
どのスレッドの何番の発言だったか、探してもどうしても見つからないんだけど、なるほどと思ったし、感動しました。
>>609の中だったらどれでも同じだと思う。
Del厨ジエンはもういいっちゅうのに。
639デフォルトの名無しさん:04/03/21 18:14
>>637
あまり他の言語に目移りしないで、>>609 の候補の中から、自分に合いそうなもの、自分が気に入りそうなもの、すぐに飽きずに長続きしそうなものを自由に選んでみます。
ありがとうございました。
>>621
>「デルファイって、そんなにスゴい言語なのか…」って思いました。

正確に言うとスゴい言語"だった”。

>C#の開発ではボーランドからデルファイの開発者を引き抜いてるようだし。

なので、今ではその C# が後継みたいになってしまっている。
でもC#には未来と呼べるものが全く無いからね。
大量の時間と苦労を無駄にする人生をあえて送ってみたい人が選ぶには
ピッタリの言語かもしれないけど。
642デフォルトの名無しさん:04/03/21 18:24
>>640
なるほど、そういうわけだったんですね。
ところで、『640』なんて縁起のいい数、おめでとう(^^)v
>>641
また、どんな言語でもけなして優越感に浸る厨がきたよ...。
644Age.P.Hukai ◆hsp/8n/.as :04/03/21 18:34
と、とにかく、HSPは手軽だ。
未来を考えたら下手するとアセンブリぐらいしか残らないかも。
たしかに。
どの言語にするか悩んでるくらいなら、
HSPをさっさと始めた方が為になるかも。
647デフォルトの名無しさん:04/03/21 19:52
>>646
 とりあえずならCやPerl。HSPを否定したくはないが、ゲーム作成に重点を置いたHSPでは、
「プログラミング」というものが余り理解できない。
8ビットCPUのマシンで機械語を扱うことから入るのがマジでお薦め。
最初はニーモニック表見ながらハンドアセンブル、これ。
多分アドレスの計算で四苦八苦する。
だが、それがいい。

で、V-RAMに直接データを書き込んでリアルタイムに画面が変わって
いく様子を眺めたりとか、システムコールで妙な音が鳴ったりとか
そういうことをしてるうちに、パソコンを体で覚えるみたいになってくる。

まぁ何というか、文系プログラマではなくて、本格派の技術系・理系
プログラマを目指したい人向け。
649デフォルトの名無しさん:04/03/21 21:34
その感動の発言は、「VBばかりやっていると馬鹿になる Part2」スレッドの >>563 で見つけました。
あと同スレッドの >>577 も読ませてくれる内容でした。
(この「【ビギナ】初心者が習うべき言語は? part3【必読】」スレッドの >>648 も別の視点から見た考えという意味でちょっと気にはなりますが…)
>>648
こんなやつ?
http://akizukidenshi.com/catalog/items2.php?c=h8kit&s=popularity&p=1&r=1&page=#K-00182
アセンブラに挫折したらコンパイラも付いてるから安心かも。
これでロボットを動かす本も出てたな。

初心者用かどうかは不明だけど。
いい加減に結論だせや クズ
じゃあPLMで
PLM って何 ?
PL/M のこと ?
Ruby って結論が出てるだろ。なにしろ Perl と比較してコードサイズで半分、
開発期間で 1/4 になるそうだからな。スゲェ!
はいはい。
>>653
そうそう
懐かしいなぁ PL/M
オブジェクト指向にすれば、今でも通用するような気がするよ。
まあ、C++ とかともろにバッティングするから、はやらんと思うけど。
俺が作った言語、初心者を育てるにはもってこいだし、
上級者のニーズにも応えてくれるし、かなりいいよ。

ニュアンスとしては関数型プログラミングちっくな
オブジェクト指向言語。

ただいい名前が思いつかないから>>334さんに名付け親
になってほしいな。おねがい。
>>658
そうだな・・・『メキシコに吹く熱風!』という意味の「サンタナ」というのはどうかな!
660デフォルトの名無しさん:04/03/22 00:08
別のスレで話題沸騰中の次世代言語『織田信長』なんかはどんな評価なんだろう。
このスレにもついにキタか。
信長以前に、論理型、並列型、いずれも全然出てこないな。
前スレ?でPrologは出てた気がする。
主流言語しか知らない人ばかりなんでせう。
>>663
で、織田信長ってどんな言語なの?
ついでに、OzやGHCとその違いも。
>>664
Prolog にほとんど近い。並列論理型言語。
論理型言語はマッチングさせて収束するときに非決定性が
生じることがあるんだけど、それを優先度をつけることで解決するって感じ。
なんだか後ろ向きな解決法にしか思えない。
Oz はよくしらん。
GHC って Glasgow Haskell Compiler だよね?どう比べろと。
>初心者が習うべき言語は?

    /ノ 0ヽ       
   _|___|_   ベーシック  
   ヽ( # ゚Д゚)ノ   パスカル   
     | 个 |      リスプ   
    ノ| ̄ ̄ヽ     スクィーク
     ∪⌒∪    
    /ノ 0ヽ       
   _|___|_     やっぱりリスプをはずして
   ヽ(*´д`* )ノ     スキームを追加
     | 个 |          
    ノ| ̄ ̄ヽ       
     ∪⌒∪
>>665
優先度って、なにに優先度つけるの?具体的に。
ポイントらしい非決定性との関係もよくわかんないっす。

> GHC って Glasgow Haskell Compiler だよね?どう比べろと。
この文脈でGHCというと、Guarded Horn Clauseでしょ。
>>668
PDF 消えてるし俺もよく分からん。節かなんかにでない。
670デフォルトの名無しさん:04/03/22 03:13
Cがいいよ。
実際問題、ここで色々ウンチクを披露している人たちもCから入ってるから。
(ピクンッ♪←アタリの予感)
>>670
N8の方が多い。明らかに。絶対。多分。
>>671
初めての相手はMSX-Basic。
EPSON Disk-BASIC
初めては、BASICだった。
N88かどうかは知らないが、センター試験でやってるやつ。
675デフォルトの名無しさん:04/03/22 15:01
 C!CCCCCCCCCCぃー!!
昔はC言語なんて気軽に入手できるもんじゃなかったよ
BASICのほうが速かったしアセンブラで十分把握できる規模だった
個人で手が出せて実数を扱えるのはBASICくらいだったね。
さすがにBASICのほうが速かったという記憶は無いが。
昔はBASIC+マシン語というのが多かったよね。
市販のゲームソフトを買ってきては改造して遊んだ思い出がある。
最初のうちはもちろんBASIC部分を改造するのだけど
そのうちマシン語部分にも手を出すようになって(w
679デフォルトの名無しさん:04/03/22 21:29
最近、手持ちのオフィスにVBA以外にVBSとJscriptが
憑いてるのを発見したので、趣味グラマーとして始めようかと
思ってるのですが、上↑の方でVBSは散々に叩かれているようなので
Jscriptをやってみようと思うのですが、初心者向きでしょうか?
NotePadやEclipseなどを使わなくてもオフィスにエディタまで
ついてるので、取りかかりやすい所がウマーと思いまして。
>>679
別にVBScriptが悪いって事はないよ。
ただ、VBとVBAの参考書は山ほどあるけどVBScriptの参考書はほとんどないから苦労すると思う。

JScriptだとJavaScriptとほとんど同じなので参考書には困らないと思うからそれでいいんじゃないかな。
クラスベースのOOPもサポートされたので応用も効くし。
VBA,VBScript,WSH の違いが分かりません
>>680
ありがとう。
JavaScript と Java の参考書は手元にあるので、
取っ掛かりやすいJScriptから勉強します。
結局どれがいいのさ!
このスレ、初心者スレだと思ったら上級者しかわかんねーじゃねーか!

ヽ(`Д´)ノ ウワァァン!!
685デフォルトの名無しさん:04/04/16 23:51
JavaかC#で結論は出ていますよ。
686デフォルトの名無しさん:04/04/17 10:29
マジな話、英語の原書を読め。

俺、今必死こいて何百ページも有るC++の英語の本読んでんだけど。
今までは、日本語の中にプログラムのコードが書いてあって、それが難解
だったが、英語のプログラム本を辞書を片手に読んでると、簡単なコード
の部分に来ると逆にほっとするくらい簡単に思える。英語の原書を読むの
が一番だと実感してる毎日です。
687デフォルトの名無しさん:04/04/17 15:52
>>685
C#はあり得ない。
先がなさ過ぎ。
Javaで決まりでしょ。
それこそありえないw
689デフォルトの名無しさん:04/04/17 16:51
C#なんていつM$が捨てるか解らない、仕事自体少ない。
Javaはすぐになくなる事はまず無い、資料たんまり、仕事たんまり、
周りに経験者も豊富な場合が多い。
無料でIDEまで手に入り、しかもそのIDEがXP開発の補助機能を搭載
した優れものでM$の有料IDEよりも数段使える。

>>688
で、あり得ない理由は?
690デフォルトの名無しさん:04/04/17 17:41
>>689
お前を見てると良くわかるんだが・・・
お前には見えないんだろうな・・・
691デフォルトの名無しさん:04/04/17 18:03
まあ、無償化されたVC++でまずはCとC++を覚えなさいってこった。
http://www.microsoft.com/downloads/details.aspx?FamilyID=272be09d-40bb-49fd-9cb0-4bfa122fa91b&DisplayLang=en
Java Delphi C#

結局どれよ?
693デフォルトの名無しさん:04/04/17 19:37
>>690
具体性が乏しい事w
694デフォルトの名無しさん:04/04/17 20:14
>>689
俺は688でも690でもないけど。

エンタープライズ用途なら、次第にC#(というか.NET)に移るだろう。
だってJ2EE遅いんだもの。このへん参照。
http://www.microsoft.com/japan/msdn/net/compare/petshopperf.asp
これはMSの資料だけど、内容はかなりまとも。
でもまぁ、今までの投資や「新しいこと憶えたくないよ」症候群の人たちの抵抗で、
まだまだJavaで食っていけるだろうけどね。それにSunが逝ってJavaがIBMに渡れば
Javaの逆転もありうる。
696デフォルトの名無しさん:04/04/17 20:43
ありえん
697デフォルトの名無しさん:04/04/17 20:43
ゔ〲〰言語
あゆあゆ言語は
YES=はちみつくまさん
NO=ぽんぽこたぬきさん
実行=了承
>>697
ワロタ
>>695
ベンダの出したベンチマーク結果なんかにマジになっちゃってどうするの。
>>695
どの世界に自社製品を貶す会社があるのかと小一時間問いt(ry
>>700 >>701
内容みれ。
>>702
本格的におめでたい奴だな。見事に乗せられてる。
ちなみにそのページは見たけど、完全なる第三者の測定があるわけでもなし。
>>703
Pet Store知らんのか?
>>689
いや、君が今までCOBOLしか使ってこなかった人なら、
同じ地位の言語に乗り換えるのは妥当な判断だが…。

今更初心者に勧めるのは止めとこうよ。
不幸を再生産してどうするんよ。
706デフォルトの名無しさん:04/04/17 23:28
>>695
現実的な開発として、Windows系のサーバを利用する会社がどれほどいるんだろうねw
プラットフォームが固定されたものを覚えるよりJava勉強した方が良いと思うが。
遅いと言っても差はほとんど無し、アプリケーションサーバのベンダーも信頼できる各社から
選べる、サーバーOSも選べる、開発もXP関係のツールやモデリングツールなどJavaの方が
圧倒的に多く、既に多く運用され揉まれている。
どっちが良いか歴然だろ。

>>705
えーと、議論のすり替えですか?
これでも読んで勉強し直してくださいねw
ttp://homepage1.nifty.com/fujiwo/develop/oo/dscsnptn.html
707695:04/04/17 23:42
>>706
> 現実的な開発として、Windows系のサーバを利用する会社がどれほどいるんだろうねw

そうなんだよね。それが問題。
個人的には絶対イヤなんだけど、これが導入してる会社結構あるんだ。
その辺は今後のmonoに期待というところか。一応MSのサンプルは動くし。
パフォーマンスはまだチェックしてないが。

> 遅いと言っても差はほとんど無し、

本気か? JavaとC#の比較してみた? 手元のデータは出せないが、一度試して
みるといい。適当に作っても歴然とした差がつくから。
> 個人的には絶対イヤなんだけど、これが導入してる会社結構あるんだ。
いや、どう考えても圧倒的に少ないと思うがw
恐らく似たような系列の会社としか仕事してないから(解ってない会社)だろうけど。
その経験で「Windowsサーバーが結構多い」と勘違いしない方が良いよw
709デフォルトの名無しさん:04/04/18 00:13
仕事で使うときは何でも遅く感じるよね。
少しでも早いほうがいい。
710695:04/04/18 00:27
>>708
俺の見聞きした感じでは2割くらいMSが混じってる。
これを「圧倒的に少ない」と評するか「結構多い」と評するか、だ。

>>709
元々はC/C++でやってたんだよね。だからJavaでやるようになって、めちゃくちゃ
リソース食うのに辟易してる。いくらなんでもこれはひどいだろうと。
C#(.NET)はそのストレスが無い。.NETが提供するものに対し、要求するものが
「順当」という感がある。個人的な感想に終始してしまって申し訳ないが。
VM起動はとろいけど、処理自体でそんなに遅さ感じる?
サーバサイドで、そんなにCPUかかるプログラムをやってるの?
712デフォルトの名無しさん:04/04/18 00:32
>>771
出来ないからやらないって言うのはある。
もっと速ければ出来る事は多い。
C#はまだ環境がそろってないよ。
Javaと同じ立場になるのは難しい。
>>706の指摘を速度以外スルーしているけどこれだけのアドバンテージがあれば十分。
MSはC#捨てて次の言語に移行するって話もチラチラ噂されているしね。
遅いと言っているヤツは実際にソースを出さないとそれこそ感想の域を出ないんだが。
一部分だけ切り取れば、早いかも知れないがシステム作ってしまえば変わらないだろ。
>>707
monoはMSの物に比べるとJITコンパイラの能力はかなり低い。
残念ながらなんとか動く物を作るのがやっとですと言った感じだ。
.NETはWindows以外では使えない。これを忘れると痛い目に遭うよ。
716デフォルトの名無しさん:04/04/18 00:37
>>714
単なる感想だから。
信じる信じないは見る人の勝手だよ。
使ってみた人はみんなわかってることだから。
717デフォルトの名無しさん:04/04/18 00:46
>>714
C++よりJavaのほうが速いって言う資料はあるし、
C#よりJavaのほうが速いって言う資料もあるよね。
でも、その逆はない。
そんなもんなんだよ。
自分で体験するしかない。
アホかw
ここまで読んできたが、やっぱりJavaの利点の説明の方が説得力があるな。
C#は「Javaより早い」という一点だけに集約していて、それも結局主観でしかないし。
Javaはそれ以外の要素で全てC#を上回っている感じ。
ま、現時点ではJavaってのは妥当だろうな。
ポリゴングルングルンのゲームとか作るんでなければ。
位置づけ的にCOBOLとの対比は大局的には切り捨てられないが、
C#も、所詮MS独自マイナー改良版Javaにすぎない。
>>719
あのね、誰も「今すぐ.NETに乗り換えよう」なんて言ってないでしょ。
トータルで見て、今のところJavaの方が安くあがるのは分かってるの。
ただ、上であがってる短所を覆すものをMSが出してきたとき(というか
まさに今作ってるだろう。勝つために)、要求リソースの大きいJavaは
じり貧になっちゃうわけ。

俺としてはSunがさっさとIBMにJavaを渡して、IBMがなんとかしてくれ
るのを望んでいたが、MSの援助で生き長らえちゃったしなー。
しかも半端な差じゃなくて、根本的に何かが違うレベルの差が
あるからな。ちょっとやそっとのチューニングじゃどうにもならないと
思うよ。
ドトネト厨は具体性ねぇな
>>722とかもう馬鹿丸出しw

しかも、スレタイ読めてないしw
なんか695が一人でドトネトマンセーしているな。
書き方で丸わかり。
725デフォルトの名無しさん:04/04/18 04:15
正直.NETもJavaもどっちもどっち。
ただ初心者にはJavaがお勧めだわ。
入門サイトもいっぱいあるしね。
C#はちょっとめんどくせー感じがするし。
ま、Javaやって合わなかったらC系列の言語やればいいと思うけど。
それならC#よりC++を進めるね。
726デフォルトの名無しさん:04/04/18 04:20
>>725
Javaを使うと頭が悪くなるんじゃないかと危惧しています。
鸚鵡返しレス量産しそうで怖いです。
Java初めても大丈夫なんでしょうか?
eclipseの存在だけでC#よりJavaがオススメできる。
ただでしかも最新技術のつまったIDEが手に入る。
リファクタリングツールとUnitTestのシームレス連動で
最初からテストドリブンな開発方法を身につける事が出来る。
C#だとここら辺が身に付かないような気がする。
リファクタリングツールとUnitTestあったっけ?
728デフォルトの名無しさん:04/04/18 04:31
>>727
ありますが・・・
無いと言う事にしたいのですか?
729デフォルトの名無しさん:04/04/18 04:33
>>727は、無料にこだわりたいってことですか?
ポインタキボンヌ
それってちゃんとIDEと融合した形になるの?
初心者に使いやすい?
日本語?
>>729
こだわりたいも何も入りやすいでしょ。
みんな金持ちじゃないんだからポンポン数万もするソフト買えないって。
>>730はVSを何だと思っているのだろう・・・
>>732
VSにリファクタリングツールとUnitTestが付いているという話は聞いた事がないが。
>>733
>それってちゃんとIDEと融合した形になるの?
この部分ね。
それと、聞いた話で煽り吹っかけてくるのやめてくれる?
>>734
ちゃんと流れ読めていますか〜
リファクタリングツールとUnitTestがIDEと融合した形になっているかという話ですよ〜w
VS.NETでそんな事出来てないでしょ
で、ポインタはまだなの?w
>>735
煽りはやめてほしいよね。
教えてくださいって言ってるわけじゃないよね?
>>737
いいよ、出来ないのは知っているから
いつもこの話題は逃げるからねw
>>736は、本当にないと信じてるのですか?
>>738
あおりに負けるようで悔しいのですが、
このスレ見た人が本当にないと信じるのも嫌なので・・

http://dotnetrefactoring.com/
http://www.xtreme-simplicity.net/CSharpRefactory.html
http://nunit.org/

あと、IDEと融合とかカスタマイズとか便利なMacroって言うのは
VSの十八番で有って・・・・
いまさらそんなこと聞くのも恥ずかしいくらいなんですが・・・
一応スレの性質考慮して、充分整っていますって書いときますね。
あと、何当たり前のこといってんのって笑われそうですが・・・
普通にVBA使えますし、ウィザードも自作することが出来ますし・・・
ほとんどなんでも出来るのがVSなわけで・・・
って・・・俺なにいってんだろ・・・
こんなあたりまえのことを・・
放置されるか、釣れたって言われるかなんだろうなぁ・・・
そんなたいした金額じゃないんだし使ってみればいいのに・・・
えーと、リファクタリングの対応が只のEclipseより少ないんですがw
これで、金を取るんでしょうかw
あと、UnitTestも全然組み込まれてないんですがw

それから、このスレタイの対象である初心者がこれを見つけて日本語化もされていない
これらのツールを使う事がありえるんでしょうか?w
使い方を効く人間が周りにいるんでしょうか?w

Eclipseは最初から一式揃ってますし、書籍やサイト情報も満載ですが?w
それでも初心者にこれらを薦めるメリットはなんでしょうか?w

はぁ、参ったねw
>>742
まぁ、正直言ってそこらへんはJavaがうらやましいですよね。
C#を薦める理由ってうまく説明できないんですが、
すぐに使えるものを作り始められるんですよ。
Javaの場合、初心者は長い間コンソールに出力するようなプログラミングをしなければならないでしょう?
どうせ挫折するんだから無料のものをって言うのも考えかたとしてわかるんですけど、
挫折しないものを手に入れるためにお金を払うっていうのもあると思うんですよ。
オープンソースの場合インストールが目的になっちゃうこと多いですよね。
説明が下手で申し訳ない。
一度使えばわかることなんだけど・・・
>>742なんかは、さいしょからリファクタリングやUnitTestやってたんだろうなぁ・・・
自分が初心者のころはそんなもの必要じゃなかったけど・・・
Javaやる人って何かが違うよね・・・
ずれているって言うか・・・
耳年よりって言うか・・・
745デフォルトの名無しさん:04/04/18 06:22
初心者にEclipse勧める人もどうかと思うけどね。
どっちがいいかといえばVSのほうがいいでしょ。
Eclipseは良いIDEだよ。起動に少々時間がかかるのが難点だけど、
CVSとの連携もすばらしいし。その点Visual Studio(.NET 2003)は
いけてない。Jalindi Igloo入れて使ってるけど、なんだか怪しいし。
# VSS使えって? ご冗談を。

でもその辺って大した問題じゃないんだよな。MSが気合い入れて
Whidbey(次のVisual Studio)作りゃいいことだし、EclipseのC#
プラグインの完成度が上がれば、EclipseとVSの比較自体意味が
なくなる。

問題はパフォーマンスだよ。このせいでハードウェアのコストにかなりの
差が出てしまう。具体的に言うと、1000万のSunのブレードサーバを
入れるか400万のIAサーバ入れるか、ということ。
>>745
で、アホプログラマ量産と
まあeclipseなら本屋で、CD付き書籍を一冊買ってきてしまえば、全て環境が整い
しかもその本で勉強進められるから、初心者には今一番やりやすいかも。
749デフォルトの名無しさん:04/04/18 06:44
>>748
インストールで終わると思う。
750デフォルトの名無しさん:04/04/18 06:49
Javaの最大の欠点ってなんだかわかる?
きれいに設計されてることだよ。
C#薦めるときにJavaより劣ってるって言われると
合理的な反論しにくいのはこの点に有るんだよね。
.NETって汚いけど、とりあえず使えるものが作れる。
自分なら迷わずC#薦めるね。
理論的に優れているものより、実際に使えるものの方がいいからね。
>>750

実際に使えるというなら、まずはスクリプト言語がいいな
それと対極という意味でJavaは身に付けていいんじゃないかね なんだかんだいっても
752デフォルトの名無しさん:04/04/18 06:56
http://pc5.2ch.net/test/read.cgi/tech/1062310183
これ参考リンクね。

議論するだけならJavaのほうがいいよ。
妄想膨らますことが出来るしね。
1行も書かずに大きなことを成し遂げた気分に浸れる。

速く前にすすみたいならまよわずC#だ。

つまり目的によって良い言語が変わる。
Javaは今や基礎知識だからなあ
読めないとヤヴァイし、oo関連書籍も最新のヤツはみんなJavaだし。
C#読めなくても別に困らないけど。
754デフォルトの名無しさん:04/04/18 06:57
>>751
お前いいこといいすぎだよ・・・
まったくそのとおりなんだけどさ、
俺が煽ってるときに書かないでくれる?
C#の方が妄想前面に押し出していると思うが。
実際にきれい事言っているが仕事無いし。
ホントに前に進みたかったらC++&Javaが一番現実的。
756デフォルトの名無しさん:04/04/18 06:58
まぁそんなわけで本当はVBAが一番お勧めなんだよ。
>>756

VBAはちょっとねぇ・・・
これからプログラミング学ぼうってときにOOが身につかない言語選んでどうすんの
758757:04/04/18 08:16
ネタにマジなトーンで答えてしまったスマソ
EclipseはたしかにいいIDEだけど初心者に勧めるならNetBeansかな
GUIエディタが標準であるおかげでフォームぺたぺた作る場合やりやすい

Eclipseはguiエディタ選べるのが利点なんだろうけど、俺の環境で
まともに動いたのはVEだけだったし、そのVEもまだまだ遠い
GUIはNetBeansで整形してコードはEclipseという手もあることはある

自動生成コード部分が保護されるってのは初心者に優しいような気もする

どっちにしろIDEを自由に選べるのがjavaの利点かも
商用ならJBuilderがUMLとの連携でかなり安くて強いしStrutsコンバータは便利
敷居はEclipseやNetBeansより大幅に低い
まぁ、初心者の俺から言わせてもらえれば

>>136
今からCかC++やるならどっちがいい?
>>759
最初はコマンドラインやったほうが近道だと思うよ
GUIは地道にコツコツ入力しながらやってくほうが身につく
IDEのGUIエディタで汚いコード吐き出されても何にもならん
UMLは役立たずだしStrutsはさらにウンコなので要らない
UMLが役立たずなのは使う場面によるが(小規模だとウザイだけ)、Strutsがウンコなのは同意
そもそも「JavaかC#か」なんてところで論議している事自体が
COBOLerの発想なんだが。

JavaScript + IE がいいか Squeak がいいか、あたりで考える
べき事なんじゃないの? > スレタイ
新入社員教育の議論したいんでしょ。
>>764
Squeakなんて本自体無いだろw
かろうじてサクサクSmalltalkがボーダーだが入手かなり困難だし。
JavaScript + IE は先が見えちまっていて単体じゃ教育には適さない。
>>764
まったくだ。普通は、仕様を読んだらどんな言語でも使えるべきだ。
前スレッドあたりで出てたように、性格の違う言語を6つくらいやって
おくべきだろう。

しかし、「その言語で食っていけるかどうか」って観点で論じてる人が
いるんだよな。近視眼的だと思うが。そういう人は「Javaしかない」と
いう結論ありきで話を進めているみたいだが、そろそろC#(というか.NET)
あたりもやっておかないと厳しくなってくるよ。
>>766
>Squeakなんて本自体無いだろw

何冊か出てるよ。教育向けの本もあるみたい。

>JavaScript + IE は先が見えちまっていて単体じゃ教育には適さない。

ECMA で標準化されてるし、JavaScript 自体が無くなるとは思えない。

もう少し勉強しろよ。
>>768
> 何冊か出てるよ。教育向けの本もあるみたい。
無い無いw
オレ一通り目を通しているし何冊か持っているが初心者に適したものはほとんど無いよ。

> ECMA で標準化されてるし、JavaScript 自体が無くなるとは思えない。
無くなるって意味で先がないと言ったんじゃないってw
それにECMAの文章ぐらい目を通しているよ。
先がないと言ったのは守備範囲が狭くて、例えばC/S関係、マルチメディア関
係などやろうとするととたんに手詰まりだろ。
だから単体じゃつらいと言ったわけ。

Javaを薦める意味はスレ読めばで色々出ているからわかるだろ?
Smalltalkだぁ、JavaScript + IE なんてのを本気で言っているとしたらそれこそ
初心者を相手にしていないと言う事だよ。
>>768
> ECMA で標準化されてるし、JavaScript 自体が無くなるとは思えない。

COBOL も ANSI で標準化されてるからって、勧めるか ?
最初はHSPぐらいでプログラムに親しんで
使いこなせるようになったら一気にC++かJavaか

VBは趣味、自己満足に使うならいいと思うけど。
俺はベクターとかでソフトを落としたとして
VB製とわかった時点でインストールする気がなくなるな。
VB.NETはもちろんの事VB6も悪くないよ
IDEが良くできているし、仕様も結構コンパクトだと思うから初心者に向いている
継承を使わないのでコンポジションを使った結びつきの弱いOOが身に付くし
inheritでインターフェースもどきも出来る

まぁ言うほど使ってないんだけどねw
C、C++、C♯の違いについて教えて。
やっぱ今やるならC♯がいいの?
C++だよ。
でもC++を使うにはCができないとだめ。
Cはスタンダード。C++は変態向け。C#は今どきの言語。
とりあえず、最初に変態向けからはいるのははやめとけ。
スカトロで筆卸しするようなものだ。
>>775
こんなこと書く奴って、たいていC++で関数オブジェクトを書いたり、
ストリーム自作したりしてるんだよな……。
JavaやってからC++でいいんじゃねーの
C#は就職活動で売りにならんから学生は嫌がるだろ
Javaで結論でてるじゃん
779773:04/04/25 17:24
個人的にはMS嫌いなのでJavaがいいのですが、
私個人の問題を言わせていただくと、ソフトウェア開発だけでなく科学技術演算も必須なので
演算速度やコンピューターの問題からC/C++とFortranを身に付けなければならないんです。
ならC#なんて論外だろ
答え出てるじゃねぇかC/C++やってろカス
科学技術計算ならFortran95だ。
FORTRAN77は構造化以前の言語なので、初心者の学習用にはお勧めできん。
F95なら構造化構文はもちろん、ポインタ、配列演算、モジュール化、ユーザー演算子定義など
近代的な言語に必須の要素は粗方揃っている。

ただし、GUIは絶望的なので(最近は処理系依存で色々出来るようにはなってるけどどれも今一…)
そこら辺はJavaを使うなりVBででっち上げるなりする方向で。
マジレスすんな、どう考えても778≠773だ。
マジレスすんな、どう考えても779≠773だ。..です多。
784デフォルトの名無しさん:04/04/27 23:14
自分がやりたいと思った言語からはじめればいい
なにが向いてるか、将来何が必要になるかを調べたり考えたりするのも生きるための業だよ
ttp://tubo.kakiko.com/database/index.html
こんな感じのプログラム版比較サイトってないでしょうか?
結局Javaか
順当でつまらん
787デフォルトの名無しさん:04/05/23 06:43
Javaは廃れるよ、つーか普及してないし
そういえば47氏もJavaは使い物にならないと言っていたなぁ
Javaの長所は、nyを作れないところ。
>787
ソースは?
>>787
ソースは?
791デフォルトの名無しさん:04/05/23 09:08
>>789-790
ttp://www.google.co.jp/search?q=cache:M1NvHSB2z18J:www.nan.sakura.ne.jp/winny/honke/ny.html+%E7%A7%81%E3%81%AFJava%E4%BF%A1%E3%81%98%E3%81%AA%E3%81%84%E6%B4%BE&hl=ja&lr=lang_ja
> まぁそう考えて2ちゃんの某スレで書いたは良いが、冷静に考えるとJavaで書かれている
> Freenetそれ自体はどうやっても実用的でなく、一般に広まらないだろうということで、衝動的に
> 設計部分から煮詰めなおしてWinny作ってしまいましたが(私はJava信じない派)

あとここをJavaで検索しなされ
ttp://winny.info/2ch/47.html
Java信じない派ってのは47が3Dプログラマだからじゃねーの?
どうでもいいけど
47信者必死すぎ
なんだかんだ言って初心者は作ったプログラムが動くことがなによりも楽しい


オレモナー
795デフォルトの名無しさん:04/05/23 13:36
>>792
そんな理由な訳ねぇだろ、低脳w
サーバーサイドしか組めない時点でJavaが(現時点では)天下取れないのは明白
796デフォルトの名無しさん:04/05/23 14:33
>>794
それならDelphiだろ
Javaなんかすぐに動かねぇし、配布も出来ねぇぞ
いずれにしろ .NET 上の何かか。
798デフォルトの名無しさん:04/05/23 15:28
47信者はどうしてこんなに頭が悪いのかなぁ(^_^;
>>796
static void mainが書けなかった低脳。
800デフォルトの名無しさん:04/05/23 15:43
>>799
アフォ
クライアントにランタイム要求したり、環境変数設定させたりする言語がすぐに動くかよ
氏ね
>>800
> クライアントにランタイム要求したり

VB?
802デフォルトの名無しさん:04/05/23 16:56
>>801
Javaの話をしていてどうしてVBが出てくるんだ?
人の話は良く聞きましょうねぇボクw

まぁVBのランタイムなんぞ今ならどこにでも入っているからこっちの方がマシだな
帳簿系や業務系のアプリなんかVB製が多いし、一般的にフリーなどで流れているのも
悪い物ばかりじゃない
Live2chとかもVBで出来ているが良くできているだろ?
開発コストも低いしな

Javaにはそういうクライアントソフトがねぇ
クライアントへの環境要求、速度、リソース、開発コスト、プラットフォーム依存コードの
書き辛さ、ここら辺がネックでどうにもならんよ

初心者にサーバーサイドで入門させるきか?
初心者に限らずこんな活用の幅の狭い言語なぞ天下取れないのは明白
>>802
話の流れは理解できるが、
> 開発コスト
ここだけは異論がある。

> こんな活用の幅の狭い言語なぞ天下取れないのは明白

C#?
804デフォルトの名無しさん:04/05/23 17:19
>>803
> 開発コスト
GUI関係は非常に弱い、それを補うために時間がかかるという事
あとはマルチプラットフォームにありがちな痒いところに手が届かない部分を
どうにかする場合の、スパイクが結構長い

> C#?
C#はCLRの普及具合と速度にかかっているだろうな
pc関係詳しい方!
ぜひこの暗号解けないものでしょうか!?

325argf493rdtr521styh075artg625agfa113ller041fsre.2122ffj7343qer7813fda
>>805
"ただいまの決まり手は寄り切り、寄り切って朝青龍の勝ち"
807デフォルトの名無しさん:04/05/26 22:10
最初にlispとかsmalltalkやると屁理屈だけの実践では使えないヤツが量産されるな
実際に言語自体使えない言語だし
VBが一番適している
それは使えない奴がlispとsmalltalkを使ってしまった結果に過ぎ為い。
807=実践では使えないヤツ
810デフォルトの名無しさん:04/05/27 00:55
>>808
オレはこれらの使って仕事をしているヤツを見た事がない。
以前、Smalltalkスレに仕事で使っているヤツいるかと聞いたら皆無だった。
Lisp、Schemeも同様。
哀れなゲイソの犬共が沸いてきたな。
誇らしげに「VB」なんて書いてて恥ずかしくないの?
>>810
鯨の肉食ってるやつをみたことがないから鯨の肉は必要ないって言ってるバカと同じですね。
813デフォルトの名無しさん:04/05/27 03:36
>>811
具体性がないねぇ
VBのどこが悪いか言ってみたら?

>>812
いくらでも代用の効くものと鯨肉を同等に扱われてもねぇ
また、その的はずれな例えに乗ったとしても、板前修業にいきなり鯨肉の捌き方や
料理法を覚えるかい?
調理法の資料も少ない、周りに料理した人もいない、そんな状態で?
814デフォルトの名無しさん:04/05/27 05:18
public static void main(String args[])の意味を教えてください。
>>813
ThenだのAsだのと言語自体に全く品が無い。
実行環境がWinのみのくせにやたらと遅い。
結局のところメリットが「お手軽」というだけなので
寄ってくる香具師がアホばかり。高確率でVBerは無能。
昨日までプログラムなどやった事も無いアホ共が入門書
片手に粗悪品を量産。業界全体の単価を無闇に下げた。
かつ、工期日数を減らし、ソフトウエアの信頼性を損なう
ことにも貢献した。
サムスン、ヒュンダイ=VB
>>813
特殊用途の言語を、それとは全然関係ない仕事している場所で使っているやつを見たことがない(から不要)といってるわけだろ。
そりゃ、鯨の肉を食う文化がないところでは鯨の肉の調理法の資料も少ないし、周りに料理した人もいないだろ。
817デフォルトの名無しさん:04/05/27 06:11
ビギナがまず覚える事はヴァギナ


臭いけどおいしい。
スクリプト含めてC系統でメジャーな言語ならどれでも好きなので良いけどな。

VBはどうしても小手先のtipsに走りがちだと思う。
コンポーネントのパラメータをどう弄るかとか、変にGUIに凝ったりとか。

で、やってる時は技術力が上がってる気になるんだけど
実はほとんど成長してないし、他言語習得時にも役に立たないから
C/C++、Javaなんかに乗り換えることも出来なくなって
>>815あたりに馬鹿にされるヤツになると。

C#も似た感じかも。
Basicって、小学生とか一般のヘビー*ユーザ*用の言語だろ?
VBと聞くとM女史を思い出す…
>>818

生々しい体験談ありがと。

C# と旧 VB とは全く違うぞ。
822デフォルトの名無しさん:04/05/28 17:16
c/c++とphp。
これで一生安泰だYO
俺にはThenとかAsとか書き方にしかケチをつけられない
>>815がアフォに見えるがw
VBが遅いのは過去の話だってのを知らない見たいだし。
824デフォルトの名無しさん:04/05/29 15:37
VB、DelphiあたりはC系統じゃないので
言語仕様的に混乱するからな。
ツール的にはどちらも良質ですが。。
>>824 VBとDelphiを一緒にするん(r
信者ですので、つられてみます
826最凶VB厨房:04/05/29 16:20
VBは良質
ツールとしては。
うらにうごめく巨大な力がいやなだけだ。
828デフォルトの名無しさん:04/05/30 01:51
なにが、【ビギナ】【必読】だよ。
お前らの言っていること何一つ解らないじゃないか。
何の説明もない専門用語の羅列でそんなもので言語紹介されてもまったく参考にならない。
ふざけるな!!
>>828
定期的に付くな。このレス。
>>828
Javaやっとけ。
831デフォルトの名無しさん:04/05/30 02:12
なんでお前らはこんな賞味期限の切れたコピペに反応するんですか?
832デフォルトの名無しさん:04/05/30 02:59
>>830
確かに、うだうだスレがどう進行しても、
結論はJavaというのはすでに決まってる訳で。
833デフォルトの名無しさん:04/05/30 03:56
普通に,プログラミング勉強するときにJavaを薦める理由ってなにか知りたいんだけど.
仕事があるんだったら,Javaやるのはしかたないけど,プログラミングを学ぶときにJavaをやるメリットがわからない.

個人的には,WinだったらVB,UnixだったらRubyを薦めるな.
どっちもとっつきやすくていいと思う.
それでプログラミングの楽しさをつかんでくれたら,そのあと,Scheme(Lisp),ML(OCaml),C/C++,Ruby(Winの人な)とかを薦める.
特にWinの人は,VBに脳を破壊されないように早めに次のステップへの移行を薦める.
Javaのメリット
・直接的にはそのままでもメシの種になる。
・トピック的にもおもろいプロダクトがたくさん(jakarta系、Eclipse、Hibernate、SpringF.W.、AspectJ etc)
・間接的にも、クラスベースのOO言語という意味で、
 当面はメジャーなパラダイムを身につけられる。
 コミュニティの性質などから行儀もよくなる。

Javaのデメリット
・Windowsが世界のすべてと思ってる人は嫌う。配布が面倒かも。
・GUIはとろい。
・泥臭いことが好きな人には向かない。
・タイプが遅くて嫌いな人にはうざいかも。
>>833
Javaのメリットは、勉強の環境がととのっていること。
オブジェクト指向にしたがって設計されているので、オブジェクト指向の良い勉強になる。
環境が無料で整えられる。
資料が豊富。
低レベル以外では、なんでも一応つくれる。勉強であれば、まず問題ない。
つまり、作りたいものに従って他のものに移行しなくても良い。

泥臭いことが好きな人にも向いてると思うよ。
Jakarta Commonsのライブラリを、ただ使うだけでも楽しい。
BeanUtilsとかDigesterとかDbUtilとか。
GUIがとろい、といっても、勉強用のプログラム作る分には、問題ないし。
タイプが遅くて嫌いな人でも、ツールが自動補完してくれるから問題ない。

ちなみに、学習には必ずEclipseかNetBeansを使うこと。
NetBeansの方がインストールの容易さとGUI・Webアプリケーションに最初から対応しているのでお勧め。

Rubyは、資料・環境が不足している。
HelloWorld位はエディタとjavacでやるべきかと。

> Rubyは、資料・環境が不足している。
「初心者向けの」が抜けていると思われ。
>>835
Javaに不慣れな最初こそ、NetBeansのようなツールを使う必要がある。
javacだと、コマンドプロンプトの難しさをJavaの難しさだと思ってしまう。
「Javaってpathとかの設定しないといけないから難しい」
とか。

Java自体がわかってから、コマンドプロンプトをやればいい。
エディタとjavacで組むことは、今後まずないだろうから、その必要もほとんどないと思う。
「あればいい知識」程度で、必須ではない。

> 「初心者向けの」が抜けていると思われ。

デザインパターンの発展やら、サーバー構築のノウハウといった上級者向けの本もあまりない気が。
838デフォルトの名無しさん:04/05/30 09:04
>>836
全てのレベルに対する資料が少ないだろ
各分野に特化した物なんて皆無
839デフォルトの名無しさん:04/05/30 10:21
> javacだと、コマンドプロンプトの難しさをJavaの難しさだと思ってしまう。
とか、
> エディタとjavacで組むことは、今後まずないだろうから、その必要もほとんどないと思う。
とか、
> デザインパターンの発展やら、サーバー構築のノウハウといった上級者向けの本もあまりない気が。
とか、
ニューエイジャーだな。。。
おっさんの漏れには正直理解不能な思考だわ。。。
840デフォルトの名無しさん:04/05/30 10:28
オレ的には839が教育という物をまったく解ってないようにしか見えないが
まぁプログラムヲタって言うのはえてしてそう言うものだがな
841デフォルトの名無しさん:04/05/30 10:46
そういう問題かなぁ?
でも、「東京深川三代目」とか読むと実際そんなもんなのかな?
「PGは、中国などの安価なアジアパワーを活用して」なんて日経ネタに通じるものがあるな。
842デフォルトの名無しさん:04/05/30 15:48
>>815
なんだよ、期待していたらこんなショボイ答えしか返ってこないのか?

> ThenだのAsだのと言語自体に全く品が無い。
なんだ?その小学生みたいな感想はw
それは言語の欠点じゃなくてお前の好みだろw
品なんて物はコードの組み方に現れるものだよ

> 結局のところメリットが「お手軽」というだけなので
どこがお手軽さ「だけ」なんだ?
手続き型からオブジェクト指向までいくらでも出来るぞ
お陰で段階を踏んだコーディングが出来る

大体今のクラスベースOOPLが主流な現在、最初に理解すべきは
OOでは無く手続きでプログラムが動くその仕組み
関数型と違いOOPLは所詮その最小構成物は手続きなんだからな
843!=815:04/05/30 16:02
> 大体今のクラスベースOOPLが主流な現在、最初に理解すべきは
> OOでは無く手続きでプログラムが動くその仕組み

OOが主流と言っててOOの理解が不要ってのもすごいが、
VBで「プログラムが動くその仕組み」とか言ってるのは感動的ですらあるな。
844デフォルトの名無しさん:04/05/30 16:07
>>843
誰が不要なんて書いてるよw
ちゃんと読めないのか?

> VBで「プログラムが動くその仕組み」とか言ってるのは感動的ですらあるな。
昔はCからその課程を踏んだが、今では流石に辛いだろう
モチベーションが持たない
コマンドプロンプトが現れてHello,worldって出て面白いかい?
手続き型で、簡単にGUIを扱えるのは今のところVB位しかない
> 誰が不要なんて書いてるよw
> ちゃんと読めないのか?
誰が全く不要と言ってるなんて書いてるよw
ちゃんと読めないのか?

つうより、自分の書いてることの意味が分かってないんだろうな。

> 昔は(以下ry
言い訳ご苦労。VBで最先端を気取ってるつもりかい?禿藁
846デフォルトの名無しさん:04/05/30 16:15
まったく具体的な反論がないな
ただの厨だったか
もうキミの相手はしないよ
ぷ。
自分で墓穴ほっといて、突っ込まれたら拗ねてこれか。
まったく、これだからVB厨って言われるんだな。
まさに、VBはやっちゃいけないという証左だな。
848デフォルトの名無しさん:04/05/30 16:26
>>847
じゃあ具体的な反論ヨロ
そして、キミが薦める言語と環境もね
>>844
VBも一応オブジェクト指向ですが、なにか?
オブジェクト指向対応が不完全とはいえ、もはや、手続き型とはいわんだろ。
それにアレが手続き型なら、DelphiもC++Builderも手続き型でいいじゃないのか。
>>841
教育、してみればわかるよ。
プログラムを組むためだけにコマンドプロンプトを覚えるのは、はっきりいって時間の無駄。
コマンドプロンプト覚えても、プログラム組むときくらいしか使わないし。
コマンドプロンプト知らなくてもプログラム組めるし。

という時代。
851デフォルトの名無しさん:04/05/30 16:34
>>849
その通り、VBもOOPL
しかし、フォームにコンポーネント貼り付けてプログラムする限りは
イベントに手続きプログラムをするだけの物
最初はそう言うプログラムで基本的なプログラムを学ぶ

> それにアレが手続き型なら、DelphiもC++Builderも手続き型でいいじゃないのか。
確かに上記のような方法ならDelphiもC++Builderも対して変わらない
しかし、C++は使用が巨大すぎて最初に持ってくるには向かないだろう
それに比べれば Delphi は非常に良いと言える
しかし、経験者の少なさ書籍などの情報の少なさがネックになる可能性がある

それでも Delphi は悪い選択じゃないね
>>848
相手はしないと言ってこれか。
ただの厨だったか。
853デフォルトの名無しさん:04/05/30 16:39
>>852
結局具体的な事は何一つ言わず逃げるんだねw
>>851
C++は仕様が巨大というよりは、古臭くてつぎはぎだらけなだけだ。
それにVBの方が仕様は巨大だ。

で、

> しかし、フォームにコンポーネント貼り付けてプログラムする限りは
> イベントに手続きプログラムをするだけの物

ならJavaでもいいじゃん。
>>850
墨壺はもちろん,ノコも鉋も見たこともないようなイラン人を掻き集めて
家を建てるのが、今どきのリーズナブルで現実的な解。プログラムも同じ事。
そういうことですね?
>>855
いいや。
コマンドプロンプトが通常のパソコンの利用では必要なくなったから、コマンドプロンプトを覚える必要がない、ということ。
>>851
>>854も言ってるが、それならJavaでよいわけで、
悲惨なVBを勧める理由になってない。
858デフォルトの名無しさん:04/05/30 16:46
>>854
Javaではネイティブを出力できない
これは作成した物を他の環境で動かす時にランタイムや環境設定
などの問題がはらんでくるので簡単に配布物を配れない
初心者と手出来れば実用的な物を作って配布したいという気持ちがあるがJavaでは無理だろ

VBも同じだがVBのランタイムは今ほとんどの環境で揃っている
Delphi はネイティブを吐ける
解るでしょ?
>>856
家に住むのに、墨壺もノコも要りませんよ?
860デフォルトの名無しさん:04/05/30 16:49
コマンドプロンプトの話にも割り込むかw

結論から言えば出力などCUIでもGUIでもかまわない
printf か textbox1.text かの差だけ
それなら理解しやすく表現力の高いGUIの方が良いでしょ
コマンドプロンプト覚えたからって、いいプログラム書けるようになるわけでもないしね。
最初にコマンドプロンプトの勉強が必要だというのは、昔自分がとおった道を通らせたいだけにすぎない。
>>858
ならばC#で良かろうが。

>>860
話の流れ読んでから割り込んでくれ。
>>859
墨壺やノコは家を建てるときに必要。
コマンドプロンプトはプログラム組むときに必要というわけではない。
>>858
作ること自体を楽しんでもらうのと、最初は「未熟な自分の作ったものを人に使わせるなんて」という考えもあるので、配布は次の段階。
>>861
コマンドからGUIへ「進化」した,という勘違いに侵されているようですね。
だいたい、自分が通った道を通らせるなら、ハニリイト しろと言うわいw
>>865
別に。
必要ない道具を覚える必要がないというだけ。
867デフォルトの名無しさん:04/05/30 16:58
>>862
> ならばC#で良かろうが。
CLRは入れていない人間はかなり多い
また、必ずついて回るクラスが初心者には手間
そして、初起動の遅さにイラつきを感じる人も多いだろう

> 話の流れ読んでから割り込んでくれ。
コマンドプロンプトが必要かという話か?
それなら必要だと答えておこう
>>842
>OOPLは所詮その最小構成物は手続きなんだからな

OOPL で重要なのは手続きの記述じゃないからなぁ。
まだこんな事言ってる人がいるのは意外。
>>863
イラン人は墨壺もノコも使わず家を建てるんだYO!それでも建てれるんだよ!
コマンドプロンプトでソースファイルやコマンドを理解しなくてもプログラムが出来るのと同様に。
きみの意見は、PGの立場をイラン人レベルに低めていることに気付かない?
870デフォルトの名無しさん:04/05/30 17:00
>>864
そうでもない
目的のためにプログラムを覚えようと言う人はかなり多い
871デフォルトの名無しさん:04/05/30 17:02
>>868
OOPLで重要なのではなくプログラムの基本として必要
変数、制御構文、関数といった基本的な物を覚えてからだよ
OOを勉強するのは
OOPLだからって最初からOOをする必要はない
>>866
コマンドが「必要ない道具」かぁ。
そりゃ一般利用者には必要ないかもしれんがね。
ノコも家に住む人間には要らないモノだし。
>>870
目的があったり興味があったりといった、モチベーションの高い人だけを相手にしてたら教育にならない。
やはり、モチベーションの低い人の方が圧倒的に多いから、そういう人に興味をもたせることが教育には必要。
>>868に同意。
>>871は、OOでOOが基本でないとのたまうか。
>>872
一般利用者にプログラムを勉強させることも多いんだよ。
彼らは別に、専門のプログラマになるわけではない。
>>873
そうか。あなたの仕事自体が、使い捨てイラン人掻き集め係ということなのね。
877デフォルトの名無しさん:04/05/30 17:07
>>873
初心者と言ってもいろいろなタイプがいる
プロになろうと思っている初心者
自分で便利ツールを作って配布したり、趣味の一環で野郎とする初心者
878デフォルトの名無しさん:04/05/30 17:07
>>874
キミは OOPL と OO の区別が付いていない
>>875

積極的モチベーションもなく、飯の種にするでもないのに
プログラムを習うって、どういう連中よ?
880デフォルトの名無しさん:04/05/30 17:10
>>879
障害は少なければ少ない方が良い
またそこまでしてCUIにこだわる意味合いもない
>>878
OOPLでOOをしないのが基本だとのたまうか?
構造化を指向しているCでも、基本はGOTOでパスタを茹でる事だとのたまうか?
>>880
それは、>>875は嘘でした、ということか?
>>871
OOPL でオブジェクト指向的な仕組みと切り離してそれらを教える意味が分からない。
オブジェクトのプロパティ、制御構造、メソッドとして十分学べるでしょう。
手続きよりも、オブジェクト同士の関係性の定義をしっかり教える方が役に立つと
思います。
あ、別の奴か、失礼。
885デフォルトの名無しさん:04/05/30 17:12
>>881
誰もしないなどとは言っていない
良く読んでみろ

Cでもいきなり構造化から始めないだろ?
>>876
別に。
まずモチベーションを高める、ということの大切さをしらないの?

なんか、一切コマンドプロンプトが必要ないといわせたいようだから一応、もう一回書いておくよ。
プログラムを始めるときに、まず最初にコマンドプロンプトの勉強の勉強をする必要はない。
プログラムを組むときに、コマンドプロンプトが必要というわけではない。
ウィンドウシステムがあたりまえの現状でコマンドプロンプトを使うことはあまりないから、プログラムを組むためだけにコマンドプロンプトを勉強するのもばかしい。
プログラムをある程度覚えてから、必要であれば勉強すればいい。
887デフォルトの名無しさん:04/05/30 17:14
>>883
リファクタリングをした事があるか?
最初に重要な単位はメソッドだよ
段階は必要
>>871
>OOPLで重要なのではなくプログラムの基本として必要
じゃあOOPL使うなよ。。OOの後ろのOの意味解ってる?
それを手続きが基本というのは、自分が通った道を通らせたいだけじゃないの?
あるいは、自分がOO出来てないとか。
889デフォルトの名無しさん:04/05/30 17:15
>>882
意味解らんw
890デフォルトの名無しさん:04/05/30 17:16
>>888
あのな、いま手続き型の言語ってCしかないだろw
それに途中で言語を切り替えるコストを初心者が喜ぶと思うか?
891デフォルトの名無しさん:04/05/30 17:17
>>888
あと、激しく勘違いしているがOOが必要ないなどとは一言も言ってないだろw
段階って知っているか?
>>884
でも、おれも同じことを書こうとした。
プログラムを始めるときの壁は低いにこしたことはない。

プログラムに興味があるからプログラムの会社に入るやつのほうが、いまや少ない。
そういったやつらに、仕事だからとプログラムやらせるよりは、少しでも興味をもってもらったほうがいい。
>>885
いってるだろが。そりゃ最後までしないと言ってないが、
OOPLでも、OOは基本ではない、ということは端的に言えばOOは別に必要でもないということだろう。
>>892の「そういったやつら」はプログラムに興味をもたずにプログラムの会社に入ったやつらってことで。
>>893
最初の段階では、ということだろ。
896デフォルトの名無しさん:04/05/30 17:21
>>893
> OOPLでも、OOは基本ではない、ということは端的に言えばOOは別に必要でもないということだろう。
どうしてそうなるんだよw
お前は基本以外は必要ないのかw
OOはプログラムをより良くするためのパラダイムだ
プログラムの基本とは別
ちなみに、プログラムを習いにくる人にどういう人が多いかというと
「プログラムが組めると、就職できるらしいよ」
という人。
プログラムに興味をもってる人は、習いに来ずに自力でできる。
っていうか、正直な話、習いに来ないとプログラムの勉強できない人は、素質という点ではあまり高くない。
>>895
そりゃわかってる。最初の段階でなぜOOしない?っていってる。
それが、OOPLでろくでもないコードを吐く糞PGを作る原因だっての。
いまやOOは基本なの。基本は手続きじゃないの、OOなの。

じゃあ逆に聴くが、Cで、HelloWorldの次にGOTO教えますか?
899デフォルトの名無しさん:04/05/30 17:25
>>898
なぜ、Goto と手続き型が同等なんだよw
その例えからしてもうおかしいだろ
>>898
その、OOに入る前に、forとかifとか変数とか、やっぱり必要になるでそ。
>>898
なんか、誤解があるようだけど、ここで話してるのは、その「最初の段階」のさらに最初のはなしだよ。
>>897
なるほどね。
そういう連中には、きみの言う通りにお茶を濁すのが得策だろうね。
イラン人にすらなってないのね。
903デフォルトの名無しさん:04/05/30 17:27
>>898
リファクタリングをある程度勉強していれば解ると思うが
最初に必要なのはメソッドを分割し、必要なスコープにわける事だ
>>899
おかしくないよ。
OOPLではオブジェクトを指向した言語。それでOOをしないというのは、
構造化を指向した言語で、構造化をほっぽってGOTOでコードを書くことに相当する。
>>902
それに、できるやつは、コマンドプロンプトぐらい教えなくてもわかる。

いまの話のレベルは、コマンドプロンプトの前にVectorの使いかた教えたほうがいい、というそういう話。
Vectorの使い方わからないやつに、コマンドプロンプト教えてどうなる、と。
906デフォルトの名無しさん:04/05/30 17:30
>>904
構造化とGotoに何の関係があるんだよw
おれが良書と思ってるのは、最初の頃にでたJava本だ。「インターネットプログラミングの深き味わい」、とかいう副題の奴。(今は情報が古くて使えんが)
この本は、一番最初にクラスを作る。その後にメソッドを埋めていく。
これが今どきの正しい導入だ。
>>887
>>903
OO 分かってない初心者がいきなりリファクタリングするわけか。
あと、女の人は空間把握能力が低いから、コマンドプロンプトだとディレクトリツリーがイメージできない傾向がある。
だから、カレントディレクトリとかも男の人にくらべると理解しにくいようだ。
906 :デフォルトの名無しさん :04/05/30 17:30
>>904
構造化とGotoに何の関係があるんだよw
911デフォルトの名無しさん:04/05/30 17:34
>>908
リファクタリングと言うから難しく聞こえるだけ
メソッドを機能別に分割するぐらいは OO 何かよりも敷居がぐっと狭いし
当然の事 OO にも役に立つ
>>905
都合の悪くなったときに自分を守るために話をごまかしてる
ようにしか見えないのだが。
>>909
ああ、それはイメージ付くなぁ。
そういう女の子がホントにこの業界に入ってくるのは可哀想だし迷惑。
まあ、職場の華になってくれればいいが。
914デフォルトの名無しさん:04/05/30 17:35
>>911
自己レス
敷居が狭いってなんだよ・・・
敷居が低いね
>>907
そのやり方で教えたけど、やっぱり無理があった。
プログラムの概念自体がわかってないやつにOOの概念おしえても、馬の耳に念仏。
まず、forとかifとかメソッドとか、そういうのはせめて教えないと。
>>913
逆に女の子は、テストやエラーチェック、インターフェイスの細かいコードに向いている。
おおざっぱな楽しい部分はオレら男がやって、こまかいめんどくさいおもしろくない部分は女の子にやらせるのがいい。

ところが、女の子は逆にそういった細かい部分の方がおもしろいというから不思議だ。
>>911
誰も難しいとは言ってませんが。
多態とか継承とか、オブジェクト指向の作法を理解していないのにメソッドの
分類をさせるのはナンセンスだと思っただけ。
918デフォルトの名無しさん:04/05/30 17:39
>>917
おぃおぃw
メソッドの分割は多態や継承の為だけじゃないぞw
スコープを狭める事、責任を切り分ける事これはCの時代でも基本だった
むしろOOの助けを借りれない分、Cの方がリファクタリング大切かも。
とくに関数名。
>>915
それはイラン人養成講座では、でしょ?
もちろん、対象に合わせた教え方は否定しないよ。
ただ、ちゃんとやるには、ちゃんとした導入が望ましい。
>>918
>メソッドの分割は多態や継承の為だけじゃないぞw

誰もそんな事は言ってない。
背景にあるフレームが見えていないのに、分類なんて出来ないと言っている。
922デフォルトの名無しさん:04/05/30 17:43
>>919
そうそう
オレも今年の新人に教えていることで重要視しているのは命名
どれだけ、汎化された名前を付けれるか、また汎化した名前に持って行く
為にリファクタリングをするという行為が良いソースを作る
923デフォルトの名無しさん:04/05/30 17:44
>>921
キミは基礎からやり直した方が良いな
フレームを考えて分割するんじゃない
分割し、移動した結果フレームが出来るんだよ
>>916
テストを喜んでやってくれるなら大歓迎だなw
しかし、
> インターフェイスの細かいコードに向いている。
は、任せておくと、とんでもないコードが出来上がる悪寒。
>>922
Cの関数は、クラスに守られてないから、変に組むと名前が衝突しまくり。
あと、object->method(var)がmethod(object,var)のように引数に入るわけだから、method(var,object)となってしまってないように注意が必要
926デフォルトの名無しさん:04/05/30 17:47
確かにかわいいテスター欲しいなぁw
トラッカも欲しい・・・
927デフォルトの名無しさん:04/05/30 17:49
>>925
そうだね
名前空間が無いぶん、汎化させると衝突する可能性が高い
それがCの悩みどころか
>>920
forもメソッドも教えずに、クラスとはっていう話を始めるのはどうかねぇ。
そのやりかたは、激しく教える人のレベルに依存してしまう。
単なるオブジェクト指向オタクがそのやりかたで話してしまうとだれもついてこれない。
うまく教えれるのなら、もちろんクラスから先にやったほうがいいのだが。
そう思って、クラスから先にやったこともあるのだが。

やっぱり、まずはプログラムが動くところを見せたい。
制御構造とかをデバッガで追わせて、プログラムが動いている、というところをまず見せたい。
>>923
何か勘違いしているみたいだけど、言語の持つ機能も知らないで、何を基準に分割する気?
なんでもOO薦めようとするOO厨って本当に馬鹿だな
そういうヤシは基礎がなってないから凄いコードに違いない(藁
931デフォルトの名無しさん:04/05/30 17:58
>>929
じゃあ、キミの言うフレームを意識した分割とやらの例を出してくれよ
>>928
あんたが教えるのが下手なだけだろ。
>>932
あんたは上手いのか?
>>930
あんたが OO 以前で足踏みしてるだけ。
>>930
プゲラ。基礎ってなんだよw
OOPLで教えるって前提でなに寝ぼけてるんだか。
936デフォルトの名無しさん:04/05/30 18:01
>>929
> 何を基準に分割する気
有効範囲、責任、重複、可読性のためのメソッドのコメント化
>>936
それを OOPL でクラスシステムの理解無しにやらせる訳だ。凄いね。
>>926
かわいい女の子にテストされると思うと、わざとバグ出してみたり・・・






そしたら部長がテスト
>>928
いや、だから、イラン人養成講座では、それにあった教え方があると思うよ。
クラスを先にしたほうが、掴みが弱いのは解ってるよ。でもそれはすこしじっくり教える必要はあるだろうけど、有用なこと。
ダイエット目的でジムに通うねーちゃんに、プロ養成と同じ苦痛を与える必要はないからね。
940デフォルトの名無しさん:04/05/30 18:06
>>937
出来るよ
クラスシステムなんて理解しなくても
これは非常に汎用性の高い技術だからね
ほとんど全ての言語で適用可能だ
941デフォルトの名無しさん:04/05/30 18:07
>>938
> そしたら部長がテスト
工エエェェ(´д`)ェェエエ工


でもUnitTest通しているからわざとバグ出すの難しそうw
>>939
> イラン人養成講座

この言葉だけはやめてくれ。彼らも一生懸命勉強している。
>>941
いや、だからわざとなのさ。
そしたら部長が
      ,; ⌒  ⌒  ⌒ ヽ 
     (     _____ )
    (   /        ヽ
   (   l   ⌒     ⌒ヽ
   (   ヽ , ―― 、  , ―‐‐、  
    (   〉=| ( ・ ) |⌒| ( ・ ) |
    (  |  ー―‐'  ヽ ―‐'
     ヾ(6 ヽ    (  :::::) 、)   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
       l     _____) < ユニットテストもしてないのかね
        l   ( ___ヾ'    \_________
       | ヽ _____ノ
   __/ヽ\      | l\_
  ̄   \ λヽ     / .|     ̄

とくるのさ。
>>942
それは人種に対する差別的偏見だな。
彼らも自分の人生を一生懸命生きようとしている。ただ、使う側からは使い捨てにされるだけ。
>>940
出来る出来ないじゃなくて凄いなぁと思っただけ。新人君が可哀想・・・。
946デフォルトの名無しさん:04/05/30 18:13
>>939
いきなりクラス教えるのってスポーツで例えると、基礎体力作りしないでいきなり技術を教える
のと一緒だよ
947デフォルトの名無しさん:04/05/30 18:17
>>945
いや、凄くない凄くないw
至って普通
最初はもう、一つの関数に全ての処理全部入れちゃうでしょ?
うちの新人もそうだった
でも、それで良いんだよ
まずは動かす事
その後、分割が始まるわけだ
ここは出力だからまとめた方が良いよとか、ここは重複しているから、一つの関数に出来るよとか
教えてあげるわけだ
当然ある程度はヒントで自分で考えさせるけどね
>>946
全員が基礎体力あればいいんだけどね。
実際には20人中ひとりでも基礎体力が低いやつがいれば、基礎体力作りから始めないといけない。
それに基礎体力ありそうに見えても、実は上半身だけで下半身まるでだめ、とかそういうやつもいる。
スタートラインをあわせる、という作業も必要なんだよね。
>>946
それは全くの間違い。きみの言ってるのは、スポーツに例えると、
マラソン選手に「基本」と称して短距離走のフォームを身につけさせようとしている。
OOで、手続きが基礎だなんてなんの根拠があって言ってるんだ?
君の会社が、「クラス作成は禁止」みたいな規約があるなら別だが(実際にCobolerを抱える会社ではあるらしい)。
950デフォルトの名無しさん:04/05/30 18:20
>>943
こんな面白部長ならそれもいいかもw
究極のプログラムとかさせられるのだろうか・・・
>>950
でも彼は副部長だった。
>>950
それは係長では?
953デフォルトの名無しさん:04/05/30 18:23
>>949
基礎体力作りの意味解ってないなぁ
まぁいいや

> OOで、手続きが基礎だなんてなんの根拠があって言ってるんだ?
何回も言っているが最小構成単位が手続きだから

> 君の会社が、「クラス作成は禁止」みたいな規約があるなら別だが(実際にCobolerを抱える会社ではあるらしい)。
そんなルールあるかよw
次の段階で教えるってのw
それにCobol使っているだけでその技術を低いと見るのは如何なものかねぇ
使用言語=技術な訳?
>>949
OOというか、プログラムの構造ではなく、コンピュータの動きが基礎なのだよ。
コンピュータが動くとはどういうことか、ということをまず教える必要がある。
というか、現実をみる必要のないやつの理想論って最強だな。
>>947
そんなアホにはついぞ遭遇した事なかったけど、世間ってそんなもんな訳?
凄いね。
957デフォルトの名無しさん:04/05/30 18:29
>>956
大学出で、プログラマになる事が目的じゃなく入ってきた新人なんてこんなもの
あと、メソッドは結構奥が深いよ
リファクタリングの教育も兼ねているから結構時間を食う
>>955
あなたにとっての理想が実現している場所があるだけの事。
> > OOで、手続きが基礎だなんてなんの根拠があって言ってるんだ?
> 何回も言っているが最小構成単位が手続きだから
最小構成単位がなぜ基礎になるのかわからん。
第一、最小構成単位は文と式だろ。

> OOというか、プログラムの構造ではなく、コンピュータの動きが基礎なのだよ。
> コンピュータが動くとはどういうことか、ということをまず教える必要がある。
プログラミングを、OSなしのマシンでアセンブラからやれと?
オレ的結論。

プログラムというのは、コンピュータを動かすためのものだ。
ということでやはり、最初は、プログラムでコンピュータを動かす、ということを体感しておく必要がある。

オブジェクト指向というのは、プログラムをいかに組み立てるか、という話だから、プログラムでコンピュータを動かすというイメージができてないと話にならない。
条件分岐・繰り返し・メソッド・例外処理などで、プログラムが動くとはどういうことか、ということを見せるのが大切。
もちろん、構文の説明だけではなく、ちゃんと動くプログラムを見せる。デバッガでステップ実行させて処理を追わせる。

そうやって、プログラムでコンピュータを動かすというイメージができてから、それではそのプログラムをいかに組み立てるかという話をする。
それがオブジェクト指向とか、そういう話。
961デフォルトの名無しさん:04/05/30 18:44
>>959
> 最小構成単位がなぜ基礎になるのかわからん。
そりゃ、それが土台になるからだろ

> 第一、最小構成単位は文と式だろ。
まぁ、そうだな
しかしメソッドは教える必要がある
それこそ一つの関数に全ての処理をぶち込む事になるだろ?
>>953
>何回も言っているが最小構成単位が手続きだから

多分この言い回しがいけないんだと思うけど。オブジェクト指向的なプログラムは
単に手続きを書き下しただけの物とは違うから、この表現には違和感がある。
オブジェクト指向を理解する事がそれ程難しくないってのもあるでしょう。
> プログラムでコンピュータを動かす、ということを体感しておく必要がある。
それならHelloWorldで十分。

>> 最小構成単位がなぜ基礎になるのかわからん。
> そりゃ、それが土台になるからだろ
それは違うだろ。土台になるのは考え方であり、
構成単位は、それを実現する手段に過ぎない。
ついでに、
>> 第一、最小構成単位は文と式だろ。
>まぁ、そうだな
文と式は、メソッドを実現するための手段だろう。
最小構成単位が基礎でも土台でもないのは、自分でも認めてるということだ。
965デフォルトの名無しさん:04/05/30 18:59
>>963
それと同じ事を言いたかったわけだけどw
JavaなどのOOPLは考え方が強制される可能性が高い
初心者が最初にそこまで頭が回ると思う?

VBのポトペタプログラムで十分なんだよ
そこから徐々にリファクタリングなどの段階を踏んで OO へ移行できる
最初にクラスを意識する必要はない
966デフォルトの名無しさん:04/05/30 19:01
>>962
> 単に手続きを書き下しただけの物とは違うから、この表現には違和感がある。
その違いがわかるのは俯瞰した時だけでしょ?
>>965
初心者だからこそ、最初に「そんなもん」と思わせればいいわけで。
重要な考えを「おまけ」としか教えられずに戦場に投入されればどうなることか。
HelloWorldは、開発環境の使い方の練習のためのものだよ。
っていうか、おまえの周りは、HelloWorldでプログラムの処理のイメージができるのか。
すごいな。
っていうか、そのHelloWorldが長いのか?それともまわりに人がいないのか?

それとも、条件分岐とか繰り返しとかのイメージもできてないやつに、クラスの話をするのか?
> それとも、条件分岐とか繰り返しとかのイメージもできてないやつに、クラスの話をするのか?
当たり前。
おまいさんの頭が手続き型から離れてないんじゃないの?
>>967
さいしょに「そんなもん」と思わせればいいだけの教え方で重要な考えが伝わるとは思わないのだが。
どこにも、最後までおまけとしてしか教えないとは書いてないと思うのだが。
あくまで、最初にどうするかという話なのだが。
>>969
すごいなぁ。理想の世界だけで話ができるというのは。
きれい事とほざく奴が居るので、恥を晒しておくとだな、
俺は手続き型から入ってあとからOOをやった。
そのせいで、しばらくはメンバをどのクラスに属させるかに頭を悩ませ、気付けばほとんどfriendになっていた。
それは、「動かしたい」からだ。
当時は学生だったからその後十分に矯正することができたが、
これが戦場だったらと思うと恐ろしい。
973デフォルトの名無しさん:04/05/30 19:13
>>967
強制の OO は初心者に煩わしさしか感じさせない
それに「そんなもん」で書いているクラスは基本的に必要のない物だ
必要になったら拡張していくリファクタリングの流れに反する
>>972
だからね、ここでやってる話は、そんな凝り固まるまでクラスを「教えない」という話じゃないの。
最初の導入で、クラスの話をするために、メソッドやら条件分岐やらを教えておくの。
っていうか、ほんとどうやって条件分岐もメソッドも教えずにクラスの話をするんだろうか。
> それに「そんなもん」で書いているクラスは
「そんなもん」てのは、そういう意味じゃなくて、
『「最初にどういうクラスが必要かを考える」もんだ』というのを「そういうもの」と思わせる。
そりゃ初心者のクラス構成は稚拙だろうが、それこそあとでリファクタリングすればよい。
976デフォルトの名無しさん:04/05/30 19:16
>>972
それは、OOPLとか手続き型とか以前の問題
どちらでも起こりうる
そろそろ次スレたててくれ。
978デフォルトの名無しさん:04/05/30 19:18
>>975
> 『「最初にどういうクラスが必要かを考える」もんだ』というのを「そういうもの」と思わせる。
どういうクラスが必要かを考えるのは駄目
メソッド抽出をした結果、その責任が一括管理できるようになった時自然とクラスに出来る
これはリファクタリングの基礎だろ
>>972
OO以前でも、ちゃんとメソッドの分類とかができてれば、クラスっていうかオブジェクト指向は
「あぁ、いままでおれがやってたのはこれだったんだ」
となるんだけどね。
>>978
それはリファクタリングの誤用、ないしは偏重しすぎ。
っていうか、受講者じゃなくておまいが、ほんとにクラスを何も考えないで書き下してから
クラスを分けてるのか?
あ、初心者にプログラム教えてるオレは、リファクタリングの話には参加してないよ。
982981:04/05/30 19:23
それに、何も考えなくても、クラスの構成なんて結構なるようになってるしなぁ。
>>971
俺は OO から入ったけど、そんなに非現実的な話でもないと思うよ。
HelloWorld でメソッドの呼び出し方が分かったら、次はメソッドの定義の仕方が
知りたくなるでしょ。自分でメソッド作るにはクラス定義やらインスタンスの
初期化とかが必要な訳で、さらっと教えてあげればいい。
どの入門書でもこんな感じだと思うけど。
984デフォルトの名無しさん:04/05/30 19:26
>>980
誤用ではない
設計を先にしてしまうのは賢い方法とは言えない
本当にそれが必要なのか?そんなことは最初には解らない

それこそどういう時にどういうクラスが出来るのか
必要になってくるのかが体感できるリファクタリングこそ
教育に向いている

馴れたら、ある程度大まかに枠を作るのも良いだろう
しかし、初心者にやらせる物じゃない
>>982
いやいやそれが重要だということを書いてるつもりなんだが。
>>983
別にメソッド作るためにはクラス定義必要ないと思うのだが。
それに、HelloWorldだけでほんとにメソッドの呼び出し方がわかってると思うか?


あ、センスのあるやつは、教える必要すらないから、考えから省いてね。
987デフォルトの名無しさん:04/05/30 19:29
プログラミング初心者は垂れ餡スクリプトがよし。
はじめて作る種類のプログラムって、想像で設計しても無意味だよねぇ。
はじめてのフレームワークとか、はじめてのライブラリとか、はじめてのアプリケーション分野とか。
すべてがはじめてというバカなことはやらないから、はじめてじゃない部分はもちろんちゃんと設計するんだけど、それは再利用で。
その設計やったときも、その前には実装やってた。
989デフォルトの名無しさん:04/05/30 19:32
【ビギナ】初心者が習うべき言語は? part4【必読】
http://pc5.2ch.net/test/read.cgi/tech/1085913127/
おつー。
>>984
リファクタリングって主に設計に対するリアクションでしょ。最初のうちは
シレッとクラス作らせてみれば良いと思うけど。
みんな立場が違うから、ぜんぜんちぐはぐな議論だったけど、いい日曜日だったな、おい。
>>984
おまいのリファクタリング主義を尊重したとしてもだ。
適切なクラスの構成に洗練させていくという発想の原点、
つまり、クラス構成の考え方こそがもっとも大事であって、まさに最初に擦り込むべき。
そうでなかったら、適切な単位に洗練されたstaticメソッドが100個ならんだクラスが出来上がる。
994デフォルトの名無しさん:04/05/30 19:38
>>991
> シレッとクラス作らせてみれば良いと思うけど。
しれっと作らせる意味がない
もちろんクラスという物を教える時にはしれっと作らせるがw

>>993
> そうでなかったら、適切な単位に洗練されたstaticメソッドが100個ならんだクラスが出来上がる。
キミは本当にリファクタリングしっているのか?w
>>994
ほんとに自分で積極的にクラスを作ったりせず、
カタログにそった結果でしかクラスができないのか?
カタログはみんなが良い設計のためにやってることを明文化した程度にしか思ってなかったが、
いるもんだな。
996デフォルトの名無しさん:04/05/30 19:50
>>995
別にリファクタリングをベックやファウラーが上げてあるものだけにする必要もない
結果として似たような事になるが
コーディングだけではなくメタをルール化するのもありだ

闇雲に最初の段階で OO をする必然性はない
段階を踏んで学習するべき
997デフォルトの名無しさん:04/05/30 19:58
火の鳥オワタw
おまえらのせいで、火の鳥みそびれたじゃねぇか。
クラスはリファクタリングの時に作るモノ、という信念なら仕方ない。
当然、メソッドもリファクタリングの時に作るモノなんだよな?
クラス構成に目的意識なしで、新人にはかなり遠回りな方法を強いているように思えるが。
>>997
早く教えろよ。
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。