初心者のためのプログ ..
264:サイタマン ◆mYN3wsz7vE
08/04/23 22:46:00
自分も新しい言語模索してるんですが、
なかなか、いい言語が無くて・・・
何か無いですかね・・・
265:デフォルトの名無しさん
08/04/23 22:56:14
自演までして「出来る人」アピールしても、言ってることがすごく浅い
比較になってない比較で啓蒙するくらいperl大好きみたいだから、perlだけやってればいいよ
266:サイタマン ◆mYN3wsz7vE
08/04/23 22:58:32
>>265
自演はしてませんよ。
そう言われるのなら、
あなたが具体的にレベルの高い議論してはどうでしょう?
267:デフォルトの名無しさん
08/04/23 23:07:14
>>260
ああ、一通りあるのね
あんたが「PerlでのOOP導入の利点とは、関数名の衝突を避けられること」
なんて微妙なことを書いてるもんだから
268:デフォルトの名無しさん
08/04/23 23:08:06
サイタマンの過去の発言からして
自演は良くあること
269:サイタマン ◆mYN3wsz7vE
08/04/23 23:15:17
>>267
自分がOOPを使う一番のメリットは、
関数の衝突を避ける事がメインですね。
動的束縛とポリモフィズムの利用や
デザインパターンの技法を使って
オブジェクトを細かくコマンド化したり
細分化する事には余りメリットを感じません。
270:サイタマン ◆mYN3wsz7vE
08/04/23 23:17:52
まあ、業務用の同じようなものばかり作ってる人にはデザインパターンは
効果的なんでしょうが。。。
271:デフォルトの名無しさん
08/04/23 23:19:44
サイタマンに同調する気はないが、
デザインパターン本を見てまねするのは末期な感じがする。
さすがにそこまでやっちゃうと考える力、判断する力がつかなくなるw
272:デフォルトの名無しさん
08/04/23 23:24:07
デザインパターン的発想ができるようになるってのが重要なわけだぁね。
273:デフォルトの名無しさん
08/04/23 23:30:12
あくまで参考として見ておいたほうがよくて、
やはり自分で設計できるようにしたほうがいいと思うよ。
大規模開発などに携わる場合は、必要な知識かもしれないけど
個人でやる場合は無視したほうがいい。
274:デフォルトの名無しさん
08/04/23 23:33:55
そうかねえ
例えば有名なGoFの23パターンだが、あれを全部とは言わずとも
大体を自力で発見できるかと言われると・・・・・・いくつか自信がない
何よりもまず、有名な手法に名前がつけられているって事が重要
名前さえあれば議論のまな板に乗せられる。伝達できる
275:デフォルトの名無しさん
08/04/23 23:54:10
>>250
いや、やはり同じこと。
if($a == $b){
print '1';
}
print '2';
を間違えて、
if($a == $b){
print '1';
print '2';
}
と書いた場合、Perlのコンパイラはエラーを吐かないだろう。
276:デフォルトの名無しさん
08/04/23 23:56:03
このサイタマンとやらがデザインパターン知ってたら
「ほら、Perlだったらこのパターン作るの簡単ですよ」
みたいな事ばっかり言うんだろうな・・
277:サイタマン ◆mYN3wsz7vE
08/04/24 00:53:00
>>275
その構文と比較するのはちょっと違います。
何故かと言うと、}の位置で一目で制御文の終了位置が分かるからです。
比較してpytyonではインデントしかありません。
>>276
デザインパターンくらい知ってますが
意味が無いので、使わないだけです。
278:デフォルトの名無しさん
08/04/24 00:54:33
つーか、Rubyじゃ駄目なのか?
perlより格段にマシだと思うんだが
279:デフォルトの名無しさん
08/04/24 00:58:30
>>277
思考の硬直化が見られるな。
デザパタに固執する事とデザパタを無碍にする事は
どちらも似たようなレベル。
280:サイタマン ◆mYN3wsz7vE
08/04/24 00:58:41
>>278
Rubyの構文自体に不満は無いですが、
遅すぎるのと、まだ枯れていないので、
バグがあるのではないかと言う事、
Perlでは検索して
やりたい事に合うモジュールを
直感的に見つけるられるのですが、
そのモジュールが少ない事がありますね。
Singleton Factory Template
辺りは良く使われてます。
Sladeにも使われてます。
281:サイタマン ◆mYN3wsz7vE
08/04/24 01:21:51
一応、Templateパターンもどきで書いてみました。
use Test;
my $obj = Test->new();
my $d=$obj->call(1,2);
#結果3
package Test;
sub new {
my $pkg = shift;
bless {},$pkg;
}
sub call{
my $self = shift;
my($a,$b)=@_;
my $c=$self->do_task($a,$b);
$self->do_print($c);
}
sub do_task{
my $self = shift;
my($a,$b)=@_;
my $c=$a+$b;
return $c;
}
sub do_print{
my $self = shift;
my($a)=@_;
print $a;
}
1;
282:デフォルトの名無しさん
08/04/24 01:33:53
$aとか$bとか使う時点でもうダメだな。
283:デフォルトの名無しさん
08/04/24 02:02:21
>>283
java,c,vc,basicくらいしか知らない学生だが
そのプログラムを見る限りperlって直感的に分かりずらいな。
あとsageろ
284:サイタマン ◆mYN3wsz7vE
08/04/24 02:16:00
まあ、perlは慣れないと難しいかもしれませんね。
ただ、慣れると非常に書き手にとってメリットのある言語です。
285:デフォルトの名無しさん
08/04/24 02:33:01
サイタマン独演会になってから初心者が来なくなったなw
286:サイタマン ◆mYN3wsz7vE
08/04/24 02:38:21
少し自重します・・・
287:デフォルトの名無しさん
08/04/24 05:47:20
>>283
>>283はsageているじゃん。
288:デフォルトの名無しさん
08/04/24 05:57:45
3年前にニュース速報でプログラムなら負けない自信があるとほざいているサイタマンが
初心者スレで書き込み&名無しで自画自賛の自演してて笑った
528 名前:埼玉mikky ◆jM/TIxxEd. :2005/04/25(月) 21:49:44 ID:A5d3v8LD ?##
2chはいろんな分野の博識者が多くて為になるなぁ。
おれもPCやプログラムの事なら負けない自信あるけど、
それ以外の専門的な知識がいろいろ手に入るから便利だわ。
↓↓そして3年後↓↓
初心者のためのプログラミング言語ガイド Part8
スレリンク(tech板)
192 名前:サイタマン ◆mYN3wsz7vE [] 投稿日:2008/04/21(月) 15:12:24
まあまあ、荒れないで下さい。
初心者にもこの程度は作れるよと言いたかっただけなので。
自分で初心者って言い切ってるwwwwwwwwwww
他にもいろいろ初心者スレに出入りwwwwワロス
負けない自信のある人間が初心者スレに出入りしている矛盾!
289:デフォルトの名無しさん
08/04/24 06:05:50
【頭隠して】虚言病のサイタマン【尻隠さず】
スレリンク(market板)
サイタマン発言まとめスレ
東京kittyに憧れ埼玉kittyというコテを名乗る、その後埼玉mikkyを経て現在サイタマン
ニート歴10年。ニート鈴木という名前でテレビ出演歴あり
株を始めて3年目で100万円を70万に減らす
自称月収200万円のIT企業だが睡眠時間以外は投資一般スレ、
ニュース速報、プログラム板に常駐
特徴は初心者のスレッドにいって別のスレで読んだことをあたかも自分の意見のように
コピペすることだけど、専門家につっこまれたら逃亡する。コテをつけはじめてから
この行動パターンは不変である。自作自演も得意
290:サイタマン ◆mYN3wsz7vE
08/04/24 06:06:44
ちょおおお
こんなところまで出張しないで
291:デフォルトの名無しさん
08/04/24 06:15:40
◆ここが変だよサイタマン
・自称年収4000万のIT企業社長のはずなのに起きてる時間は2chの
投資一般、ニュース速報、そして最近はプログラム板に常駐
・数億円ある両親の資産管理会社の社長の設定だったが、いつのまにか祖父の遺産を
相続して数億円は自分のものということになっている
・しかし3年間株をやって初期資金を70万以上入金できない
・MARCH卒といっていたのが最近東京六大学卒に変わってきている
・05年でプログラムは自信があるはずなのに06年にHTMLしかできないことが判明
・05年でプログラムに自信があると言い切っているのに最近初心者スレにだけ出入り
292:デフォルトの名無しさん
08/04/24 07:56:29
>>284
敗北宣言ktkr
慣れた言語が書きやすいのはあたりまえだろ。
293:デフォルトの名無しさん
08/04/24 07:57:59
あほのさいたまんに年金手帳の質問考えてきたんだけど
質問してもいいですか?
294:デフォルトの名無しさん
08/04/24 07:58:00
つい最近まで1ソースに何万行も書いてたサイタマンはどこいったの
295:キチガイ ◆Z4QrFDzwrY
08/04/24 08:26:25
>>182
>2chブラウザを作りたい人は質問に答えますよ。
では、サイタマンさんに質問します
はなもげらって何ですか?
知らないはずがないですよねえ?
2chブラウザを作ったんですからねえ
私も2chに自作プログラムで書き込むぐらいのことはやったことがあるんですよ
まさかまさか、SaitamanSpeedとかいう専ブラが実は画面しか作ってなくて、
機能は何も実装してないなんてことはないんですよねえ?
296:デフォルトの名無しさん
08/04/24 08:34:56
関数型言語初心者で、ちょっと書けるようにはなったんですが、最近
CとかC++のソースを見なきゃいけない事態になりました。こっちは
まったくやったことありません。
これって何でしょうか、何でこんなにあーでもない、こーでもない
って書き方してるんでしょうかね。あと、一つの変数に何回も
値を代入して、それによって関数の戻り値が変ったりするなど、
すごく分かりにくいです。
あと、ポインタってありますね。これとか全く意味不明というか、
混乱の元だと思うんですが。何でコーディングしながら、メモリ
の状態を考えないといけないんでしょうか。変数に値がbind
されるだけではなく、アドレスを指し示している変数が存在
する必要が分かりません。
正直、今の作業が終わったらCやC++みたいなのはずっと
やらないで済ましたいんですが、可能なんでしょうか。
297:デフォルトの名無しさん
08/04/24 08:39:05
>>296
今はサイタマンを糾弾している最中だ。
質問は禁止している。
298:デフォルトの名無しさん
08/04/24 08:52:42
>>296
可能性のお話なら、「可能」だろう
299:デフォルトの名無しさん
08/04/24 09:34:16
>>296
どこぞの表現を借りるなら、C系は「コンピュータがどう動くか」のモデル化を主目的としているのに対し、
関数型言語は「計算というものがどう振る舞うか」のモデル化を主目的としている。
マシン語は使いたくないが、しかしコンピュータの性能をそれなりに高い純度で引き出したい、という場合、
前者を使わないわけにはいかなくなる。
従って、君がCやC++を「やらないで済ます」ことができるかどうかは、たとえば、
君の作るものがコンピュータの性能をどれくらい引き出す必要のあるものか、に依ることになる。
あと、より「社会的な」問題としては、ユーザー人口の少ない言語は処理系のライブラリ、ドキュメント、
相談相手etc、色んな物の少なさで苦労するかもしれないから、それに耐えられるかどうか、なんてのも。
ただちょっと気になったんだけど、「関数型言語初心者」でC/C++を「まったくやったことない」ってことは、
つまり君の質問の「登場人物」のどれについても、まともに理解していない段階なわけだよね?
そういう段階にいるうちは、批判精神は胸の内にしまって、黙々と勉強を続けたほうがいいと思うよ。
それよりも、>>298が仄めかしているように、自分の立ち位置(作りたいものとか、業務内容とか)を
ハッキリ表明して、「こういう状況にあるのだが、CやC++をやらずに済むだろうか?」という適切な質問を書く、
ということができない自分への批判精神を磨くほうが大事だと思う。
300:デフォルトの名無しさん
08/04/24 09:47:50
>>277
Pythonの場合も、インデントで制御文の終了位置が分かる。
>>277の主張は、>>277にとっては「}」のほうが分かりやすいという感慨にのみ立脚している。
だから、「{」〜「}」よりも「 」のほうが分かりやすい人にとっては
無意味。
現実には、Pythonのコードを読みやすいと思っている人は少なくないから、>>277のような
感じ方をする人が多数派だとはいいきれない。
また、仮にインデントが分かりにくかったならば、{〜}言語や(〜)言語やbegin〜end言語で
プログラマーがコンパイラによって必要とされていないインデントを多用してコードを書く理由は
なんだろうか?
Basic系みたいに、
If a = b Then
Print '1'
EndIf
Print '2'
なんてやれると、これは「{」〜「}」よりも圧倒的に分かりやすい。「}」は
それ自体何の終わりかわからないが、「EndIf」が「If」制御文の終わりであることははっきりして
いる。しかし、Basic系でも実際のコードではインデントが多用されている。
つまり、インデントが一番分かりやすい。
Perlの美徳としてはっきりしているのは、読みやすさではなく、書く場合の労力が
小さいことだろう。
301:296
08/04/24 10:06:05
>>299
ちょっと分からないのは、僕等がやろうとしているのは計算処理であって、特定
コンピュータがどう動くかを云々することじゃないって認識なんですが、違う
ということですか?
コンピュータのメモリがどうのって話は、ハード屋とか、コンパイラ作ってる
人とか、OSのコア部分作ってる人たちの分野じゃないのですか?こういう
のはごく限られたその方面のエキスパート達がやればいいんじゃないかと
思います。
一般のプログラマってのは、そういう話とあまり関係なくやりたいことを記述
できればいいと思うんですよね。パフォーマンスがどうとか、そういうのは
コンパイラがやればいいと思っちゃう。そりゃ無理難題をコード化すれば
メモリオーバしちゃうでしょうけど。メモリのアドレスがどうとか考えるのは
やり過ぎじゃないですか?
関数型がマイナーだというのが僕は信じられません。Cなんかと比べて
段違いにわかりやすいと思うのですが。
302:デフォルトの名無しさん
08/04/24 10:14:44
>>301
俺らがやろうとしているのは計算処理ではないよ。
コンピュータに計算処理をさせることだ。
303:デフォルトの名無しさん
08/04/24 10:16:09
俺はCなどの手続き型言語で挫折して、
Lispを弄ってみた。するとどうだろう。
書き方も構文のあり方も、ルールも違う言語なのかわからんが
コーディングが楽しくなってきた。
そしてHaskellに手を出してみた。面白い。
そのついでに、Pythonに手出してみた。おお、理解できるぞ。
そして今はCに手出してる。
関数型言語の考え方(リスト再帰、cdr再帰、無名関数など)は
かなり有用であると思えた。
304:デフォルトの名無しさん
08/04/24 10:25:40
>>301
クルマでも、オートマの方がいいだろって人もいれば、マニュアル車じゃないとダメって人もいるんだよ。
305:296
08/04/24 10:52:11
>>302
計算処理をさせるんですけど、Cとかってズラズラと手順を長々と書いてて
面倒じゃないですか?
>>303
Cに戻って感想はいかがでしょうか?やっぱり面倒じゃないでしょうか?
>>304
マニュアル車はどんどん減ってきてますよね。コンピュータ言語も同じような
道を辿るべきじゃないかと思います。
306:デフォルトの名無しさん
08/04/24 10:56:27
爆釣ですね。
307:デフォルトの名無しさん
08/04/24 11:06:50
>>305
手続き型は、面倒だね。
(setf x 10) とか、式一つ書くだけでそれで終えられる
関数型に比べると、変数の宣言とか
パラメータの型指定とか
{}みたいなブレースとか戻り値とか。
指定するのは面倒くさいw
でも大半のLL言語及びLispなどの言語は
Cで実装されてるので学習中w
308:デフォルトの名無しさん
08/04/24 11:08:09
>>305
> コンピュータ言語も同じような道を辿るべきじゃないかと思います。
べきっていうか、現に辿ってるよ。
関数型は残念ながら未だマイナーだけど、いわゆるLLが元気なのは、そういう流れなわけで。
ただ、実行速度を要求される場面というのは、君が思っているほど少なくないし、
従って、一部のエキスパートが何とかすればいい、と言い切るところまでは、少なくともまだ行ってない。
たとえばゲームは、遥か未来ならともかく、しばらくは「その時代のマシンの最高のパフォーマンス」を
引き出すことと戦わなくちゃならないだろうし、
一般人に広く使われるようなGUIアプリの挙動も、「待ち時間をどこまでもゼロに近づける」ことを
あっけらかんと要求される以上、言語の実行速度の問題からはしばらく離れられないだろう。
309:デフォルトの名無しさん
08/04/24 11:11:38
>>307
最初の例、変じゃない? 手続き型でも、動的型付け言語なら x = 10; 的な記述で済むでしょ。
あとLLの後ろに「言語」は付けないほうが。
310:296
08/04/24 11:31:36
>>307
やはり、Lisp自体の実装レベルになると、Cなどが登場するって
ことですよね。コンパイラレベルというか。そこまでやる気には
ならないんですよ。
>>308
確かにゲームはそうですけど、一般のゲームプログラマってそれを
構成する基本部品のようなものまで自力で実装してるんでしょうか?
その辺のライブラリはやはり一部の人たちの手によって作られる
べきな気がしますが。
例えば、JavaなんかもVMが間に入って解釈するようなことやって
ますけど、広く使われてますよね。実際にCなんかよりずっと遅い
って言われてますし。関数型言語が遅いから広まらないっていう
理由がよく分かりません。Javaよりも遅いってことなんでしょうか?
311:デフォルトの名無しさん
08/04/24 11:35:21
>>309
確かにおかしいかも。
(defmacro)をつかったマクロのほうがよかったのかな。
L言語とすべきでした orz
>>310
pythonだとstructモジュール使って
キャストを行わせるとか、Cライクな書き方があったり、
またPython.hを使ってC内部にPythonのlistとかが使えるようになるとか
そういうことが書かれてて、分からないとかなりまずいなあと思ったので、
何となく学習を始めてみた。
312:デフォルトの名無しさん
08/04/24 11:55:48
>>310
> 確かにゲームはそうですけど、一般のゲームプログラマって〜
俺がゲームの話をしたのは、「最高のパフォーマンスを引き出すことと戦わなくちゃならない世界」
の例としてなんだから、高い速度が出るよう組まれたライブラリを、高い速度の出る言語から
呼び出さなきゃいけない状況のことを言ってるのはわかるでしょ?
基本部品も、基本部品を使う箇所も、どこも速度で妥協できない、そんな世界ではCやC++の出番になる、
そしてそれは一部のエキスパートの世界というわけではない、という話をしてるんだよ。
「その辺のライブラリはやはり一部の人たちの手によって作られるべきな気がしますが」
って、ライブラリが一部の凄腕の手で高性能を叩き出すよう書かれるべきなのは、関数型言語も同じだってばw
> 関数型言語が遅いから広まらないっていう理由がよく分かりません。
俺が書いてきたのはCやC++の存在理由であって、関数型言語が広まらない理由ではないから、
言ってないことをわかられても困るという意味で、わからなくて正解。
ちなみに、俺が趣味100%で長年ちまちま作ってるマイLispは、C++で書かれてるんだけど、
整数をインクリメントするだけの単純なコードで比較すると、Javaよりは遅いけど、Perlよりは倍くらい速い。
俺程度の人間の実装でこれだから、Lispはそんなに遅い言語ではないね。どうも世間には偏見があるけど。
313:296
08/04/24 12:06:10
>>311
なるほど、だけどPythonにポインタみたいなものが登場する
わけではないんですよね?Cで一番気になるのが、ある変数
の中身が一体どうなってんのか分からなくなることなのです。
>>312
ゲーム業界では、末端のプログラマでもCとかで書いちゃって
るんですか。自分はもっとツールみたいなものを操作している
だけなのかと思ってました。凄いというか、大丈夫なんでしょうかね、
そんな末端のプログラマにまかせちゃって。尊敬できます。
Javaより遅いってなると、今のプログラム業界ではいまいち
使い道無いんですかね。そのMyLispはスクリプト言語ですか?
コンパイラ作って最適化してもダメなんですかね。
314:デフォルトの名無しさん
08/04/24 12:10:56
>>313
> Javaより遅いってなると、今のプログラム業界ではいまいち使い道無いんですかね。
なんでそうなるの?
ところで君、関数型言語の初心者で、CとC++については、今回いじる以前は未経験だったんだよね?
つまり、どの言語をどのくらい経験してる人なん?
315:311
08/04/24 12:11:55
Cで書くといっても、ライブラリ全く使わないなんてことはあり得ないから、
よほどコマンドラインに特化したアプリ(viやらwcやら)じゃなければ
見た感じPythonと変わらないよ。
316:296
08/04/24 12:17:07
>>314
SchemeとHaskellを勉強中です。その他は概要をちょっと
聞いたことがあるぐらいですね。
今のところ、関数型がマイナなのは速度の問題だ、と仰って
いたと思うので、率直な疑問を書いただけです。
317:デフォルトの名無しさん
08/04/24 12:17:16
>>313
ちなみにCommon Lispは大抵の処理系がネイティブ吐けるし、
速度が出るように書かれたコードをコンパイルすれば、Javaよりずっと速いよ。
C/C++よりは遅いけど。
ただし、そこまで速度を重視したCommon Lispコードというのは、
関数型言語特有の書きやすさとか美しさとかからは、いー感じに離れてしまっている。
318:デフォルトの名無しさん
08/04/24 12:23:40
>>316
>>308で「いわゆるLLが元気」って書いた。LLがJavaより遅いことには、>>312でPerlの例を出してる。
なのになんで
> Javaより遅いってなると、今のプログラム業界ではいまいち使い道無いんですかね。
になっちゃうの? って話。
> 今のところ、関数型がマイナなのは速度の問題だ、と仰っていたと思うので、
いや、>>312で「俺が書いてきたのはCやC++の存在理由であって、関数型言語が広まらない理由ではない」
って書いてるのに、なんで次の>>313で「関数型がマイナなのは速度の問題だ、と仰っていた」前提の
レスを書くんだよ?
せめて人が書いたことは踏まえてくれよ。
> SchemeとHaskellを勉強中です。その他は概要をちょっと
つまり、まだ何かソフトウェアを「作り上げた」経験は無い、ってこと?
319:デフォルトの名無しさん
08/04/24 12:32:42
>>296
おもしろく読ませてもらったお礼に、関係ない話を書きます。
ある中堅企業が、Workstationを入れて、C/C++でシステムを
開発していました。それを見習った傘下の企業が同じシステムを
入れてLispではるかに気の利いたアプリを量産しました。
中小企業ってすばらしいですね。それとも、この企業には
4GBのメモリーは不要で512MBのWindowsXPにするべき
だと思いますか。
320:デフォルトの名無しさん
08/04/24 12:42:25
>>301
用途に応じて使用言語を変えるのが正解。HDDのデフラグやりたきゃCやC++、AIならLisp。
>>305
CやC++で手順をずらずら書くのは面倒なんだが、クソなアルゴリズムでも意外に速いことが
多い。
>>310
LispはCよりも古くからあるから、LispでLispを実装することもできるはず。
JavaのGUIの立ち上がりなどは見るからにもさーりだが、単純なことを反復させるのに
Javaはそう遅くない。
321:デフォルトの名無しさん
08/04/24 12:42:45
ジャパン語でおk
322:デフォルトの名無しさん
08/04/24 12:51:17
Lispって言語というより式だから、
うまく言ってたらパスカルの計算機が発明されていた
時代に合ってもおかしくなかったような気がするわ
323:デフォルトの名無しさん
08/04/24 12:56:06
演算も逆ポーランド記法みたいなもんだな
いかにも計算機にとって処理が得意そうなフォーマットなのに、何で遅いんだろ
324:323
08/04/24 12:59:05
Lispが遅いっていう認識がそもそも誤り?教えてエライ人
325:デフォルトの名無しさん
08/04/24 13:01:52
何とくらべて遅いのか、どういうコード・アルゴリズムで遅いのか
とか全く書いてないから意味が無い。
326:デフォルトの名無しさん
08/04/24 13:03:35
>>324
Lispで実装されたLispは遅い。
Cで実装されたLispは実行速度はC並みに早い。
モノによるんじゃないか?
SBCLとかCLISPとか色々あるから。
327:デフォルトの名無しさん
08/04/24 13:17:18
「一般のプログラマ」ってのが何を指しているのか分からないけど、
一般にはソフトウェアってのは工業製品もしくはその部品だ。
よって、その立場に開発環境も縛られることが多い。
家電や組み込み機器のソフトウェアを、C+アセンブラで書けばメモリ16MB・
200MHzのCPUでいけるけど、Javaで書けばメモリ64MB・300MHzのCPUが必要、
そのために1台あたりの製造コストは1200円上がる。3年で100万セット製造
するので、12億円のコスト増。
なんてときに、ソフトウェアの開発のしやすさの都合なんかが顧みられる
ことは、ほぼありえないよ。それによってOEM受注のコンペに負ける
かもしれないしね。
328:296
08/04/24 13:20:24
>>318
CやC++が存在しているのはパフォーマンスがよいからですよね。
だけど、コンパイラや必要部分だけの実装で使うだけでよいならば、
その他の領域では不要だということですね。
つまり、CやC++は通常のアプリ作成には基本的に不要だという
ことでしょうか。自分はああいうものが一般プログラマの使用言語
として蔓延ってる状況が全く理解不能なのです。関数型言語の
ほうが遥に労力が減るし、間違いも起きにくいと思うんですよね。
ちなみに自分は小さな練習程度のアプリぐらいしか組んだことは
ありません。大きなシステムみたいなものの開発は未体験です。
329:デフォルトの名無しさん
08/04/24 13:26:18
Cが受け入れられたのは機械語を否定しなかったから
C++が受け入れられたのはCを否定しなかったから
使ったことないけど、Luaなどはそういう空気を読めている
で、問題は、C/C++を否定する言語が受け入れられるかどうかだと思う
330:296
08/04/24 13:26:50
>>319
これは要するにメモリや計算速度が贅沢に使えるんだからLispでも
いいじゃないか?ってことでしょうか。
自分もそう思うんですよね。Javaも詳しくは知りませんが、登場したとき
同じようなことが言われていたそうですね。Cよりもずっと遅いけど、
マシンが早くなれば問題無いんだと。
CやC++なんかでちょっとくらい速度が早くなったって、関係無いアプリが
多いんじゃないかと思うんですが。だけど、関数型言語って何故かマイナ
だとされちゃってますね。凄く不思議ですよ。
331:296
08/04/24 13:36:31
>>329
そこが理解できない。
何で人間が機械語を分からないといけないんでしょうか?そんなの
分からなくて当然でしょ。人間が何したいかを書けば、勝手に機械語に
変換できればいいわけで、それはコンパイラとかの役目ですよね。
コンパイラやOS作るんじゃないのにどうしてそんな低レベルなことを
知らないといかんのか?ってのが分からない。
332:デフォルトの名無しさん
08/04/24 14:00:18
コンパイラ・OS・ゲーム・組み込み機器・・・と切り捨てていって、
最終的に何が残るのかな?
Webアプリも遅くてイライラすることが多いし
333:デフォルトの名無しさん
08/04/24 14:16:38
296の疑問ってのは、機械に任せれば自動でできることを、なぜ人間がやるのか、
という一般的な疑問だよね。一次二次産業一般にあてはまる疑問。
これは哲学や社会科学の問題ではないだろうか。
・人間がやったほうが安いから。
・人間がやったほうが精度が高いから。
・機械に任せちゃうと人間の仕事を奪うから。というか、そもそも社会とは
効率を指向して成り立っているわけではないから。
とか。
334:296
08/04/24 14:25:39
>>332
いや、無数の個別用途のアプリがあるじゃないですか。今ではそれは
Web系が多いのかも知れませんが。
>>333
面白い例えですね。仰る通りかも知れません。横で工業用ロボットが
バンバン処理している作業を、わざわざ間違いが出やすい手作業で
やってる気分、これがCやC++でポインタとかいじってコード書いてる
時の私の感覚ですよ。
335:デフォルトの名無しさん
08/04/24 14:27:32
>>331
知らなくて良いと思うよ
Cを使う分野もあるし、使わない分野もある
でもまぁ、他が同等なら、より速いソフトウェアの方がより良いソフトウェアだろうな
Cがアプリケーション開発に「向かない」、というのは良いんじゃないかね
リッチー自身、Limbo作ってるし
でも誰もCを使わない日が来るかと言うと…
どう頑張っても低レベルな層は残るから、低レベル・高レベルどちらにも使える便利な言語はそうそう無くならないだろうな
336:デフォルトの名無しさん
08/04/24 14:40:45
・実行速度は速ければ速いほどいい
・使用メモリは少なければ少ないほどいい
・プログラマの数は多ければ多いほどいいし、給料は安い方がいい
・過去のコードは可能な限り再利用したい
・何十年間蓄積してきたノウハウは、無駄にしたくない
・Cには30年以上実績があるのに対して、今流行りの言語はいつ
すたれるか分からんし、処理系実装の選択の余地が少ないリスクがある。
・CはどのCPUにも実装されるが、今時の高級言語は処理系自体の
ポータビリティに問題がある。
趣味のプログラマは、こんなことに縛られる理由がないのは確か。
337:デフォルトの名無しさん
08/04/24 14:43:58
>>336
COBOLはもうすぐ50年
338:296
08/04/24 15:00:01
>>336
いや、ですから工業機械がやってる作業を手作業でやる。
これも同じでしょ?過去の人々の経験的なノウハウを生かす
とかよりも、制限があるけど、機械入れちゃって限定した作業
を自動でやらせたほうがいいわけですよ。
プログラミングの仕事は効率上げて確実性を高めることが大事
ですよね。「俺たちCプログラマには代々続いてきた伝統的な
ノウハウがある」なんてこと言われても困るわけですよ。
339:デフォルトの名無しさん
08/04/24 15:17:40
関数型は全く知らないけど、どの辺がよいの?
生産性という観点でも。
エンドプログラミングがCじゃなくなってpythonで効率的に作ったら問題あり?
340:デフォルトの名無しさん
08/04/24 15:22:46
よくわからんけど、機械は自動で制御用のコード書いてくれるの?
341:デフォルトの名無しさん
08/04/24 15:24:18
>>339
とりあえずクロージャが使えれば他はあまり気にしなくていいよ
342:デフォルトの名無しさん
08/04/24 15:37:15
>>340
典型的な書生論を展開中の296に、そういう現実的な話は見えません。
てか、「機械に任せればいいじゃん」というのは関数型言語だって同じなんだが、
何故か「Cで書くものは機械にだってやらせられるが、関数型言語で書くものは人間にしか書けない」
という前提で話が展開してる不思議。
343:296
08/04/24 16:20:18
>>339
Cと比較した場合、一番自分が感じたのは代入に対する考え方です。
関数の中で何度も中身が入れ替わる変数や、自分の関数の外側で
定義されている変数がこれまた中身がその時々で変る。
こんな状態でよく確実な計算結果を求めるプログラムを書けるもの
だなあって感心しますよ。自分は自信が無い。関数型だからそういう
代入が禁止されてるとは限りませんが、基本的に危険だと感じつつ
それを行うし、殆どの場合には不要なのです。
>>340>>342
具体的なコンピュータのメモリの状態とか考えながらプログラミング
するってのがクレイジーだと思うわけです。CPUとメモリがどうやって
連携して、効率よく計算するか。こんなのコンパイラが考えりゃ
いいでしょ、ってことなんですが。
344:デフォルトの名無しさん
08/04/24 16:45:48
殆どの場合、って、いったいどれだけの場合を経験したんだろ。
345:デフォルトの名無しさん
08/04/24 17:15:36
専門学校に通う関係で、自宅でも学習がしたくプログラミングの環境を
整えたいのですが、不明な点がありますのでご教授お願いします。
Java言語とC++言語の両方を学びたいのですが、マイクロソフトの
「Visual Studio 2005 (アカデミーパック)」は両方の言語を学べる
みたいなのですが、本当ですか?
もしそうならアマゾンですぐに購入したいのですが。
346:デフォルトの名無しさん
08/04/24 17:27:48
>何でこんなにあーでもない、こーでもない
>って書き方してるんでしょうかね。
>あと、一つの変数に何回も
>値を代入して、それによって関数の戻り値が変ったりするなど、
>すごく分かりにくいです。
そりゃコード書いた人の書き方の問題
>変数に値がbindされるだけではなく、アドレスを
>指し示している変数が存在する必要が分かりません。
実行時に動的に自分自身のコードを書き換える時
など使い道は多いよ。
JAVAやC#などのJITだって、ポインタの賜物。
347:デフォルトの名無しさん
08/04/24 17:29:28
>>345
Amazonの商品説明読め。
348:デフォルトの名無しさん
08/04/24 17:33:35
>>345
まずは、JDKとEclipseをインストール、無料。EclipseとJavaのインストール
や使い方が載った入門書を買ってくるといいよ。
Javaについては、マイクロソフトのツールは無視して。Javaとは似て非なる
物だし、MSはもうJava開発をサポートする気は全然なさそうだから。
で、とりあえずC++のほうはいったん忘れて、Javaの勉強して。
そして、C++に手を出すときは、覚えなきゃいけない言語の概念は
あんまりない(まあポインタとかSTLとか面食らう可能性はあるが)ので、
クラスライブラリの使い方中心に学ぶことになると思う。たぶん
MFC(Microsoft Foundation Class)なので、その場合はVC++のアカデミック
買えばいいけど、専門学校のカリキュラム確認してからのほうがいいよ。
349:サイタマン ◆mYN3wsz7vE
08/04/24 17:40:05
>キチガイさん
2chへの書き込み時に
hana=mogera
と言うパラメタを付けてpostしてますよ。
350:サイタマン ◆mYN3wsz7vE
08/04/24 17:43:48
C言語の理解とアプリ作成技術はなにも関係ないですよ。
自分はwebサーバーやpopサーバー、SMTPサーバーなどを作った事もあるのですが、
それが何か役に立つかと言うと、何も役に立たないです。
351:デフォルトの名無しさん
08/04/24 17:44:29
>>348
アドバイスありがとうございます。
Javaについては、
グーグル検索した結果エクリプスは無料で配布されているみたいですね。
学校側からJava関連の書籍を渡されましたので、それを見本に言語の
勉強をしたいとおもいます。
C++については、
実は、2chで質問を投稿する前にネットで検索して、ボーランドの無料の
コンパイラと、きときと様が開発したCpadを落としたんですよ。
でも、落としてインストはまでは実行できたのにコンパイルするとエラーが
でてしまい有料のソフトを購入したほうが無難だと思い購入に関する
質問をさせていただきました。
また、専門学校の方でJavaと平行してプログラミングの実習をしているので
今からC++のソフトを購入して復習していきたいと思うので、やはり
C++開発ソフトは購入しておきたいです。
C++の開発ソフトで何かお勧めあるのでしょうか?
以上です。
長文と汚い文章でごめんなさい。
本当に困っているので、お力おかしください。
352:デフォルトの名無しさん
08/04/24 17:48:51
>>324
最近Lispを勉強し始めた人は、インタプリタから入る事が多いようだから
Lisp = インタプリタ言語 = 遅い、と勘違いするのも無理はない。
初期のLispはコンパイラ研究分野でもトップレベルだった。
昔のSF映画「TRON」はLispマシンで作成されている。
その後PCの性能が向上したおかげで、インタプリタでも実用的
な時間で動かせるようになった。
353:デフォルトの名無しさん
08/04/24 17:55:17
>>351
MFCは使ってる?使ってなくて、まだ言語の学習の段階だったら、
URLリンク(www.microsoft.com)
これで充分。無料。
354:デフォルトの名無しさん
08/04/24 18:01:17
>>353
おお!!
無料で学習環境が用意できるんですか?
助かります。
一人暮らしで、お金も無い状態で周りに教えてくれる人も
いなかったので、本当に助かりました!
アドバイスくれた方々、本当に助かりました。
頑張って勉強します!!
355:サイタマン ◆mYN3wsz7vE
08/04/24 18:09:39
C#のほうが、VB.netより簡単なのに
なんで、MSの説明でVB.netが入門者向けになってるんだろうか・・・
C系言語やってる人間からすると、VB.netは難しい。。。
356:デフォルトの名無しさん
08/04/24 18:16:23
>C系言語やってる人間からすると
CやってるならMSの言う所の初心者じゃねーだろw
357:デフォルトの名無しさん
08/04/24 18:30:27
逆もしかりだろ、VB人口は無視できない
というかC#とVB.NETは見てくれのわずかな違いなんだから、適当におぼえろよ。
概念が違うとか本質的違うとかそんなのないだろ
358:デフォルトの名無しさん
08/04/24 19:09:54
>>341>>343
>自分の関数の外側で定義されている変数がこれまた中身がその時々で変る。
クロージャってそう言うものじゃないの?
359:キチガイ ◆Z4QrFDzwrY
08/04/24 19:28:55
>>355
VBもC#も.Net Frameworkなんだから似たようなもんだ
同じC++でも、C++.net2005とC++.net2008ではマネージドとC++/CLIって違いがある
つーか、たかだか言語なんてよほど古いものや変わったものでなければ
言語習得と同時進行で開発できる
俺はある会社が作ったVBライクな言語を仕事で使ってる
マイナー言語すぎて書籍とかあるわけねーですよ
小さい会社なんで1つ1つの開発に時間かけてらんないからね
360:デフォルトの名無しさん
08/04/24 19:41:01
>>358
関数の外側の変数を参照できるだけでもいい。代入できるかどうかは別問題。
361:デフォルトの名無しさん
08/04/24 20:25:17
>>359
おいおい、自信満々で嘘教えちゃいかんぞ
vs2002 vs2003 ・・・ C++マネージ拡張
vs2005 vs2008 ・・・ C++/CLI
とりあえず、どっちも使った事がないという事は理解した。知らない事は書くな。
362:キチガイ ◆Z4QrFDzwrY
08/04/24 20:56:18
考えてみれば2005はないが、2003なら使ったことがある
マネージドなのに変数宣言で*つけてなくてコンパイルエラー出してたさ
C++もしばらく使ってなくて勘違いした
363:サイタマン ◆mYN3wsz7vE
08/04/24 21:47:13
>>359
やっぱり、作りながら勉強するのがいいんですかね・・・
自分の場合、めんどくさがり屋なので、
とりあえず一番Perlに慣れてるし、記述量も少ないし
クライアントアプリも
Webアプリケーションもリファレンスやモジュールの量が多くて、
手っ取り早く適当な物を直感的に作れれるのでPerl使ってるんですが、
突き詰めていくと、かっこいいデザインのGUI作るにはC#のほうがいいし、
HTML埋め込めて使えてDWのようなデザイン一体型IDEが揃ってるPHPのほうが
かっこいいデザイン作れるし、
スピード重視だとC++がいいし、
でも、少しの事で言語変えるのは面倒だし、結局Perlでいいやみたいな考えになっちゃいます。
364:サイタマン ◆mYN3wsz7vE
08/04/24 21:53:22
JavaもPerlに似て八方美人と言うか、
とりあえず、何をするにも困らないですけど、
突き詰めていくと中途半端というか・・・
365:サイタマン ◆mYN3wsz7vE
08/04/24 21:59:30
開発効率
Perl>>Java
保守性
Java>>Perl
小規模開発
Perl>>Java
大規模開発
Java>>Perl
みたいな。。。
366:デフォルトの名無しさん
08/04/24 22:11:30
一つの言語をきわめてしまうぐらい好きなら、
それでかまわないと思ってる。
367:キチガイ ◆Z4QrFDzwrY
08/04/24 22:18:13
うるせえよ
サイタマンはJavaに貼り付けにされましたっていうか、
サイタマンはPerlを採用しましたって見えるな
Hって呼んでやろうか
Perlなら俺も少しの間だが使っていた時期があるが
CP932ってなんだよUTF-8対応しろよ、とかで使いにくいんだよ
Perlはもうメジャーな言語じゃないだろが
もう2度とPerlを使うことは無い
368:キチガイ ◆Z4QrFDzwrY
08/04/24 22:25:58
聖書風にいうなら「Perl、Perl、ラマサバクタニ」というところか
必死にPerlを賛美して楽しい?
Perlしか使えないことを肯定するのが日課?
369:デフォルトの名無しさん
08/04/24 22:27:49
結論
Ruby
370:デフォルトの名無しさん
08/04/24 23:00:36
>>367
ちなみに、あなたのおすすめを1つあげるとしたら何?
371:デフォルトの名無しさん
08/04/24 23:08:16
>>370
国語
372:デフォルトの名無しさん
08/04/24 23:14:50
入門用学習用途ならDelphi
WEBアプリならPerlかPHP
効率重視ならC++
WinのみGUI重視ならC#
ホビーならHSP
373:デフォルトの名無しさん
08/04/24 23:26:10
個人的にHSPは薦めづらいというか
言語仕様が貧弱な割に、ウィンドウが一行で表示できたり妙なところで楽
あそこで得た知識ってのはあんまり役に立ちそうにない。まあだからこそのホビー向けか
374:デフォルトの名無しさん
08/04/24 23:37:53
他言語でほとんど役に立たないのは同意。
始めにアレ使うとへんなクセが付くきもするしねw
でもホビー用途だとHSPほど出だしの進み具合が速い
言語は他に無いんじゃない?
375:デフォルトの名無しさん
08/04/25 00:07:08
社会人です。作りたいプログラムがあるんですが、独学じゃ挫折しそうなので
4時以降にC言語が学べる学校を探しています。
おすすめがあればおしえてください
376:デフォルトの名無しさん
08/04/25 00:24:01
東京大学工学部
377:デフォルトの名無しさん
08/04/25 00:28:34
>>375
俺んちに来い。マンツーマンで教えてやる。
378:デフォルトの名無しさん
08/04/25 00:33:25
アッー!
379:デフォルトの名無しさん
08/04/25 00:41:44
チンツーチン
380:デフォルトの名無しさん
08/04/25 03:26:38
>>375
スレ違いすぎ
381:デフォルトの名無しさん
08/04/25 06:35:08
>>372
関数型の話は飛んじゃったか・・・
382:サイタマン ◆mYN3wsz7vE
08/04/25 06:43:22
関数系に限らずマイナー言語は
リファレンスも少ないし、モジュールも少ないから
生産性の観点から言うとメジャー言語に比べてかなり落ちると思いますよ。
部品の再生産は必要ない訳ですから、過去の遺産を使えるメジャー言語が
いいのではないでしょうか?
383:サイタマン ◆mYN3wsz7vE
08/04/25 06:46:50
枯れた言語、メジャー言語
この2つの要素を持ち合わせる言語が習得にも生産性にもいいと思います。
384:サイタマン ◆mYN3wsz7vE
08/04/25 06:53:00
>キチガイさん
Perlはスクリプトでは一番のメジャー言語です。
他を圧倒しています。
URLリンク(cgi.resourceindex.com)
この数を見れば一目瞭然です。
Perl (2538)
C and C++ (134)
AppleScript (1)
Python (13)
Unix Shell (14)
Visual Basic (37)
385:デフォルトの名無しさん
08/04/25 06:53:22
>>382
過去の遺産を使うためには何らかの
辞書引きが必要ですね。辞書引きの
技術と対象周辺の知識が。
初心者の場合は自前で書けてしまう方が
生産性が高いのではないでしょうか。
386:サイタマン ◆mYN3wsz7vE
08/04/25 06:59:03
>>385
初心者が自前で書くのは不可能だと思います。
例えば、
URLリンク(pict.or.tp)
はチャートを書くスクリプト+音声で株価を教えてくれるように作りましたが、
果たして初心者が、モジュール無しで作れるでしょうか?
387:デフォルトの名無しさん
08/04/25 07:16:27
>>386
サイタマンさんが考えるような対象を考慮していませんでしたが、そうでなくても
初心者が自前という設定はかなり閉じたものですね。撤回。
388:デフォルトの名無しさん
08/04/25 07:34:54
サイタマンいい加減うぜーよ。消えろよお前。
389:デフォルトの名無しさん
08/04/25 07:39:35
いいこといった そんな気がしてた
390:デフォルトの名無しさん
08/04/25 07:47:07
サイタマンのレスのせいで初心者が全く質問できない
というどうしようもない環境ができてるからな。
サイタマンは自分のスレッドをここに立てて勝手にやってろ。
いい加減うざい。消えてくれ。
391:デフォルトの名無しさん
08/04/25 07:48:23
>>388
いや、サイタマンはとてもすばらしい回答をしてると思うよ。
実際すごく頭いいらしいし。株で沢山儲けるってことは相当大変な努力が必要で、
その努力をプログラムができない初心者に分け与えようとしてるのだから
サイタマンは偉大だよ。ぜひこのスレッドでレス付け続けるべきだね。
>>390
お前が消えろ。お前は用無しなんだよ。
かあちゃんのおっぱいすってろw
392:デフォルトの名無しさん
08/04/25 08:10:14
またサイタマンの一人劇場が始まったか。
393:キチガイ ◆Z4QrFDzwrY
08/04/25 08:27:06
>>384
>この数を見れば一目瞭然です。
何の参考にもなんねーよ
Web開発してる会社で新規の開発でPerl使ってるところってほとんどないだろ
んで、CGI以外でPerlの用途といえば使い捨てスクリプトだろ
php の検索結果 約 8,980,000,000 件
perl の検索結果 約 104,000,000 件
Perlは今現在一番の暴落中の言語です。
他を圧倒しています。
俺ならPerlやるぐらいならDelphiを選ぶ、本気で
何が生産性だPerlしか使えないから必死によがってるだけじゃねえか
すっぱいぶどうの話を知ってるか?
>>386
>例えば、
>URLリンク(pict.or.tp)
>はチャートを書くスクリプト+音声で株価を教えてくれるように作りましたが、
>果たして初心者が、モジュール無しで作れるでしょうか?
作ってもないのに抜かすな
394:キチガイ ◆Z4QrFDzwrY
08/04/25 08:30:49
すっぱいぶどうは違ったなw
朝から長文レスしちまったぜ
395:サイタマン ◆mYN3wsz7vE
08/04/25 08:36:32
荒れてますね。。。
Perlだけに拘ってるんではないんですよ。
いろんな言語の中で、総合的に一番楽に、Web開発も、クライアントアプリも作れる
からメインで使ってるだけです。
他に、いい言語があればすぐにでも移行します。
欲を言えば、用途用途に一番適した言語を使い分けるのが一番ですが
時間対効率性の問題がありますし。
396:キチガイ ◆Z4QrFDzwrY
08/04/25 08:38:36
>>391
なあなあサイタマン
また今度、アッー や ら な い か
そのときまでションベン溜めておけよ
397:デフォルトの名無しさん
08/04/25 08:40:06
>>395
いっそPrologなどいかがでしょう。むかしメジャーでしたし、
これ以上不可能くらいに枯れてますよ。
398:キチガイ ◆Z4QrFDzwrY
08/04/25 08:40:35
>>395
無能の言い訳ですね
その手の言葉は聞き飽きました
399:サイタマン ◆mYN3wsz7vE
08/04/25 08:41:00
言語なんていうのは制御文をちょっと齧って
Javaで言うとAPI、Perlで言うとモジュール,PHPで言うとPEARを調べられるようになれば
使えます。
ただ、慣れという部分に時間が多少掛かります。
400:サイタマン ◆mYN3wsz7vE
08/04/25 08:42:18
>>397
メジャーではないので・・・
401:キチガイ ◆Z4QrFDzwrY
08/04/25 08:46:06
PHPでPEARは必須ではありません><
C++でSTLを使わなくても開発できるように…
402:デフォルトの名無しさん
08/04/25 08:46:13
>>399
モジュールいくら組み合わせても知識プログラミングは進まないなぁ。
403:サイタマン ◆mYN3wsz7vE
08/04/25 08:48:18
生産性を上げるには、他人が作ったモジュールを組み合わせる事で
車輪の再開発をしなくて済みますし、
ソースを見れば、知識は深まりますよ。
404:サイタマン ◆mYN3wsz7vE
08/04/25 08:50:22
何をしたいかが問題です。
自分は、手っ取り早く目標となるアプリケーションを作りたい。
と言う考えが根底にあります。
コンピューターの歴史を知りたいのであれば、低レベル処理から勉強すればいいのではないでしょうか
405:デフォルトの名無しさん
08/04/25 09:01:58
でも、$a, $bを指摘された意味はわかってないんだろ?
406:デフォルトの名無しさん
08/04/25 09:03:22
>>405
サイタマンを挑発してる馬鹿発見
407:デフォルトの名無しさん
08/04/25 09:10:57
>>404
初心者スレでないとこういう話が進まないのがム板の不思議なところだな。
でも、生産性というけれど、サイタマンさんのいうことは最終的には
オープンソースのプログラムを改変すればいいというだけのことに
なりませんか。何をしたいかが問題だとすると、そんな要求ださなければ
よいということかもしれない。本当にいまそれは必要?と。
自分の知恵、能力のすべてを絞っても書けない対象領域はある。
少しずつ、少しずつ、積み上げていくほかない技術が。
ソフトウェア生産の主戦場はそういう領域だと思うのだが。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5385日前に更新/251 KB
担当:undef