- 1 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 00:13:54 ]
- これからプログラミングを始める初心者の人に言語を薦めるスッドレ
質問者の方へ どのプログラミング言語を最初に覚えるべきかは なぜプログラミングを始めたいのか、何を作りたいのかによってまったく変わってきます。 なんとなく、でもかまわないので動機、用途、使っているOSを明記しましょう。 各言語の特徴はこちらを参照 Wikipedia Category:プログラミング言語 ja.wikipedia.org/wiki/Category:%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E Part7 pc11.2ch.net/test/read.cgi/tech/1200807067/ Part6 pc11.2ch.net/test/read.cgi/tech/1193132235/ Part5 pc11.2ch.net/test/read.cgi/tech/1187886538/ Part4 pc11.2ch.net/test/read.cgi/tech/1177285633/ Part3 pc11.2ch.net/test/read.cgi/tech/1152778344/ Part2 pc8.2ch.net/test/read.cgi/tech/1122205164/ Part1 pc8.2ch.net/test/read.cgi/tech/1034505166/
- 152 名前:デフォルトの名無しさん [2008/04/19(土) 22:12:48 ]
- javaとjava scriptはなにか関連性があるのですか?
- 153 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 22:21:34 ]
- >>152
ググれカス
- 154 名前:デフォルトの名無しさん [2008/04/19(土) 22:55:05 ]
- tcl/tk
- 155 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 23:00:28 ]
- 話を聞いてるとC#ってのはだいぶ使い勝手が良さそうだね。
現在javaしか書けないのだが(歴4ヶ月のにわか)、デスクトップ用のソフト(日記帳とか)しか書かないし 知り合いにソフト配るのにjavaよりC#の方が実行環境整えてもらうのが楽そう。linuxでもおkみたいだし。 ただ、やるにあたって心配な点が3つ ・中学以来windows触ってない。(XP購入予定、vistaの方がいいのか?) ・C言語やったことない。 ・javaもまだ基本的な事しか分かってない。 特にwindowsの仕様が全く分からない事とC言語を全くやった事ないのが引っかかってる。 このままjava続けてた方がいいのかな? PGを目指してるわけでは無いので、シンプルで楽に書いていけるものであれば何でもいいんですけど。
- 156 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 23:23:38 ]
- >>155
windowsなんか捨てて、JAVAでいいじゃないか C#は、まだwindows専用と考えた方がいいよ JAVAが出来れば、Cもすぐ出来るようになるさ
- 157 名前:155 mailto:sage [2008/04/19(土) 23:38:21 ]
- >>156
いや、さすがにexcelの使い方も分からないじゃこの先困るかなって。 だからwindowsはやるつもり。 高校の頃初めてのバイト代で買ったPC。 兄に「これからの時代はlinux」だよと言われ「FedoraCore」を渡されwinXPを奪われたあの日の屈辱を俺は忘れない。 windowsだけは絶対に買う! ただC#の他OSへの移植性が低いなら、まだjavaを突き詰めていった方がたしかに勉強になりそうですね。 そもそも、よくよく考えればC#よりofficeソフトやwindowsに慣れるほうが大事な気がしてきました。
- 158 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 23:40:09 ]
- >>155 C#をかじってそれが気に入れば、JavaからC#に転向してもいいと思う。
- 159 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 00:01:30 ]
- C#は、CでいうBCCとBCC Developerみたいな完全フリーな環境は無いのか
- 160 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 00:02:45 ]
- >>157
ちょっと面白かった Vista SP1買ってC#でもVB.NETでもやればいい Officeも高いがパワポ付きの買ってやってくれ >>159 Visual C# EEは、ダメなの?BCCより緩いと思うんだが・・・釣り?
- 161 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 00:04:25 ]
- >>160
ごめん釣りじゃない EEって機能制限のイメージが強くて・・・ 平気なもん?
- 162 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 00:06:49 ]
- あるよ でも使いずらいよ VC#がいいよ
- 163 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 00:07:19 ]
- >>161
C#のEEは、ほぼ全機能に等しいレベルで、有償利用可じゃなかったの? C++だとMFCやリソースエディタが無いとかダメだった気もするが、問題はネイティブだけみたいだしね
- 164 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 01:24:29 ]
- >>157
それって兄貴は奪ったXPのライセンスを使っていたというオチだよな?
- 165 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 02:31:53 ]
- 電気制御などの電気製品関係のプログラムを作れるようになりたいのですが、言語は何から始めればいいのでしょうか?
教えてください。 ちなみに今までプログラミングの経験はほぼありません。
- 166 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 02:33:05 ]
- C言語
- 167 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 08:21:05 ]
- アセンブリ
- 168 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 08:24:06 ]
- >>165
ラダー
- 169 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 10:53:39 ]
- >>165
電気製品関係のプログラムを作ってる会社に就職する いやマジで それ以外に特段方法はない 君が学生なら新卒で入れ 君が既卒なら中途では採らないので諦めろ 入社前に何かを知っている必要はないし、仮に何か知ってたとしても役に立たない
- 170 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 10:54:12 ]
- あー、弱電の知識はあると便利かもしれん
- 171 名前:165 mailto:sage [2008/04/20(日) 15:22:41 ]
- みなさんありがとうございます。
自分は今大学生なのですが、その大学で使うのです。 まずはC言語あたりから勉強してみます。
- 172 名前:デフォルトの名無しさん [2008/04/20(日) 16:12:31 ]
- >>165
秋月 H8マイコン 組み込み 等でぐぐれ あとアマゾンでH8マイコンって検索すればマイコンでいろいろ制御する方法が載ってある技術本がたくさんでてくる 言語はCでおk
- 173 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 16:16:27 ]
- 大学でやるなら大学の流儀で習ってからにしたほうが…
- 174 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:59:22 ]
- ってか大学でやるから学びたいってまじめだな
自分でやりたいこととかねぇのかな
- 175 名前:デフォルトの名無しさん [2008/04/20(日) 20:35:51 ]
- perlで作った2chブラウザ見たい人いますか?
4時間ほどで作りました
- 176 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 21:48:04 ]
- GUIは何を使ったの?
- 177 名前:perl中毒 [2008/04/20(日) 21:51:52 ]
- widestudioだよ
- 178 名前:デフォルトの名無しさん [2008/04/20(日) 22:29:16 ]
- >>175
うp
- 179 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 23:22:25 ]
- 前にN速で見たなこういう奴
- 180 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 23:49:41 ]
- 株式板?に帰れよwwwww
- 181 名前:サイタマン ◆mYN3wsz7vE [2008/04/21(月) 01:58:13 ]
- perlで作った2chブラウザのSSです。
他のスレにコピペするのは辞めてください。 pict.or.tp/img/53200.jpg
- 182 名前:サイタマン ◆mYN3wsz7vE [2008/04/21(月) 01:59:14 ]
- 2chブラウザを作りたい人は質問に答えますよ。
- 183 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 02:06:27 ]
- 10万回コピペした!
- 184 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 02:29:16 ]
- 株やってる人には面白そうなブラウザだな。
- 185 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 02:32:36 ]
- スレの趣旨からは外れてる気がするが、
株やる人にとっては便利なのかね
- 186 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 06:10:50 ]
- スレ違いも甚だしい
- 187 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 06:54:38 ]
- >>186
株できない子供は黙ってろ
- 188 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 07:00:34 ]
- スレタイ読めないゆとりは死ね
- 189 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 08:30:51 ]
- >>188
株できない子供は黙ってろ
- 190 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 08:40:54 ]
- ほら見ろ構ってやったから調子乗っただろう
キチガイは放置が最善手
- 191 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 09:14:40 ]
- >>190
株できない屑野郎は黙ってろ
- 192 名前:サイタマン ◆mYN3wsz7vE [2008/04/21(月) 15:12:24 ]
- まあまあ、荒れないで下さい。
初心者にもこの程度は作れるよと言いたかっただけなので。
- 193 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 15:24:13 ]
- >>192
株できない屑野郎は黙ってろ
- 194 名前:デフォルトの名無しさん [2008/04/21(月) 20:48:01 ]
- cとc++の違い教えてくれ
- 195 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 20:55:15 ]
- つwisdom.sakura.ne.jp/programming/cpp/cpp3.html
- 196 名前:デフォルトの名無しさん [2008/04/21(月) 21:10:11 ]
- >>195
サンクス
- 197 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 14:08:41 ]
- すみません!
今、企業に面接に行ってきたのですが 一ヶ月後にプログラムを作ってきてください、また面接しましょうといわれました。 恥ずかしながら、全くの初心者なので、何からすれば良いのかわかりません。 誰かヒントを下さい!
- 198 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 14:17:15 ]
- >>197
君が本当にプログラミングを一度も作ったことがないということを 先方が理解していたなら、それはあちらの厄介払いだ 君が本当にプログラミングを一度も作ったことがないということを 先方が理解していなかったなら、それはあちらの勘違いだ どちらにしてもプログラムを作る必要はないと考える
- 199 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 14:19:32 ]
- >>198
まーな… PCを持ってるにもかかわらずプログラミングをしたことが全くないってのに そういう企業や職種に応募することが正直なとこ全く信じられないんだが
- 200 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 15:59:20 ]
- >>197
>>198の言うとおりだと思うのだが、具体的にどんなプログラムを作れって言われたの? 言語は何を指定されたとか、OSやハードウェアは何とか。
- 201 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 17:02:12 ]
- 博士取った新卒でも面接でソートプログラムの一つすら書けない、
そういうのは役に立たねーよとかいう話があったななんか。
- 202 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 17:28:45 ]
- それはソートプログラムなんて書かせるのが間違ってる
- 203 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 17:36:01 ]
- ソートプログラムは簡単なのの代表的だから俺がレスに書いただけで、
ちゃんとした理工学系のような履歴の人間にもプログラム全くできない、 触ったこともない奴が含まれているらしいということさ。
- 204 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 18:02:44 ]
- >>202
じゃあFizzBuzz
- 205 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 18:04:54 ]
- 単純ソートならなんとか書ける
- 206 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 21:51:44 ]
- フリーウェアを作りたいと考えているのですが
昔VBやPowerBuilderの開発経験があるので Basicでよいのがあればそちらを、無いなら Basicから移行しやすい言語でフリーウェア作成向きの 言語って何がありますか?
- 207 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 21:56:36 ]
- HSPとかBCBを進める
- 208 名前:サイタマン ◆mYN3wsz7vE [2008/04/23(水) 05:00:33 ]
- 言語を選ぶ選択肢としては、自分の性格を見極めたほうがいいかもしれません。
私の場合、2chに書き捨てるような文章を書くのが得意かつ好きで、 ブログのような、ある程度、きちんとした文章を書くのが面倒だと思うタイプなので、 一番、書き手にメリットのあるPerlを好んで使っています。 ブログを書くのが好きな人にとっては、もう少し、厳格な言語がいいかもしれません。 人それぞれの性格によって、一番能力の発揮しやすい言語があると思います。 ほとんどの言語で、ほとんどの事は出来ると思いますので、 自分に合う合わないで決める事が、一番大切だと思います。
- 209 名前:サイタマン ◆mYN3wsz7vE [2008/04/23(水) 05:02:54 ]
- ブログをやった事もあるのですが、
性格的に合わず3日持ちませんでした。 2chに書き込むのは好きで、何年もコテハンをやっています。
- 210 名前:サイタマン ◆mYN3wsz7vE [2008/04/23(水) 05:07:01 ]
- 書き手にとってメリットがあると言う事は、可読性を下げる要因になります。
逆に、可読性を上げるには、書き手にとっては自由を縛られる事になります。
- 211 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 05:40:04 ]
- >>208
書き手にとってPerlがメリットがあるという話、 具体例を出して書いていただけるとおもしろいですね。
- 212 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 05:43:58 ]
- 使ったこと無いけど型宣言とかしなくても勝手に処理してくれるって事じゃないか
- 213 名前:サイタマン ◆mYN3wsz7vE [2008/04/23(水) 06:43:10 ]
- >>211
例えば、ファイルを読み込んで出力するコードを書くとします。 Javaですと import java.io.*; class BufferedReaderTest { public static void main(String[] args) { try { FileReader in = new FileReader("file.txt"); BufferedReader br = new BufferedReader(in); String line; while ((line = br.readLine()) != null) { System.out.println(line); } br.close(); in.close(); } catch (IOException e) { System.out.println(e); } } } perlですと open(IN,"<file.txt")|| die "error"; while(<IN>){ print $_; } こうなります。 どちらが、人間の話す自然な言語に近いかと言う事を考えた場合 Perlがより近いのではないかと思います。
- 214 名前:サイタマン ◆mYN3wsz7vE [2008/04/23(水) 06:44:00 ]
- イメージとしては、
誰もが論文のように論理的文章を書く事も話す事も出来ますが、 日常的に話すように自然に話したり書いたほうが、 普通の人には楽だと思います。 日常会話では、主語が抜けたり、暗黙の了解で 省略している部分があって、 分かりにくい場合もあります。 ただ、そのおかげで普通の人間にとっては楽に話す事が出来ると思うのです。
- 215 名前:サイタマン ◆mYN3wsz7vE [2008/04/23(水) 06:45:05 ]
- close(IN);
を忘れてましたねw 適当なコードですいません。
- 216 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 06:53:09 ]
- 短い時間で、いい回答でしたね。
- 217 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 07:31:57 ]
- >>197
オリジナルなものを書いて持っていったら、本当に入社できる かもしれませんね。今日のプログラム開発はプロでもアマでも 多かれ少なかれ、何らかのプログラムの剽窃になってしまいます。 そう感じさせないことは大変に難しいと思いますが、自分の一番 好きなことで、こんなものあったらいいなという、日頃思っている ものがあったら、それを作ってみることに挑戦してみたらいかがですか。 オリジナリティが生まれるとしたら、そういうテーマ以外考えられません。
- 218 名前:サイタマン ◆mYN3wsz7vE [2008/04/23(水) 07:41:11 ]
- ちなみにpythonは制御文の最後に終わりを明示する},endなどの
マークが無いので制御文がどこで終わっているのか 分かりにくいと言う基本的な欠点があるので、 あまり好きではありません。 pythonだと if a == b : print '1' print '2' perlの場合 if($a==$b){ print '1'; } print '2'; こうなり、制御文はperlのほうが分かりやすいです。
- 219 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 07:44:00 ]
- perl やPHPはわかりにくいよ わざと書く人が難解にしてるのかもしれんが
- 220 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 07:59:04 ]
- >>218
サイタマンって言語あれこれきちんと使ってから 批評してるんだな、感心した
- 221 名前:サイタマン ◆mYN3wsz7vE [2008/04/23(水) 07:59:58 ]
- >>219
perlが分かりにくい面は否めないと思います。 どこに価値を置くかと言う点もありますね。 先ほどのpythonの制御文の欠点ですが、 自分は制御文で複雑な事をする癖があるので、 Pythonで制御文を書くと、どこまでがこの制御文の範囲なのか 訳が分からなくなってしまいます。
- 222 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 08:00:00 ]
- >>218
Python使いだが、特に分かりづらいということはないかな。 Perlは省略した表現ばっかりで本当に魂捧げないと リファレンス片手じゃないと打ち込めないw正規表現が使いやすいのはいいけどな
- 223 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 08:01:46 ]
- >>221
クラスを使って、メッソドを静的に扱う。関数を同じに扱う。 @staticmethod def hoge(x,y,z): とか。こうして細切れにすれば、問題ないと思う。 普段からルーチンを一機能につき一つ設ける癖をつければいいとおもうよ
- 224 名前:サイタマン ◆mYN3wsz7vE [2008/04/23(水) 08:07:48 ]
- >>223
そうすると、書き手にとっては非常に面倒になってしまいます。 先ほどから書いてありますが、自分は人間にとって書きやすい事を重要視していますので、 書きにくいと、生産性が落ち、面倒になってしまうんです。
- 225 名前:サイタマン ◆mYN3wsz7vE [2008/04/23(水) 08:11:11 ]
- 直感的に書きたい事を書きたいままに書くと言うのが、
一番、プログラムの楽しさを味わえると思います。 面倒な要素を出来るだけ排除する事で、人間はやる気や生産性が上がるんです。
- 226 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 08:14:05 ]
- なるべく短く簡潔にすることが大事と思う
いろいろと工夫するのは駄目で便利な機能は使うべきと思う
- 227 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 08:20:57 ]
- >>224
長々とした処理を書き続ける方が気苦労多いよ。 ローカルスコープの量は最小限に、 一度作った関数は再利用できるように、ってやらないと 後日自分が作ったもの読んだ時意味不明になるよ。
- 228 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 08:22:07 ]
- >>227については、
入力補完しまくってくれるIDE使ってくれるなら話が変わってくるか。 だけどPerlって長々とだらだらとしたものを書くようなことを 推奨してるとは思えないんだけどなあ。
- 229 名前:サイタマン ◆mYN3wsz7vE [2008/04/23(水) 08:28:24 ]
- >>227
自分は汎用以外のオブジェクトを多く作るのは 意味が無いと思ってます。 一つの処理に対しては、一つの流れとして書くほうが自然で 分かりやすいと思います。 一つ一つの処理にオブジェクトを呼び出すのは遅くなる原因となりますし、 何より、オブジェクトの数が多くなると管理も大変になります。 多く使う汎用処理のみオブジェクト化すればいいと思ってます。
- 230 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 08:40:59 ]
- >>229
分かった、俺の負けだ‥ いつの間にサイタマンはこんなに強化されたんだw キチンと自分の理念を持ってコーディングできてるってうらやましいな‥
- 231 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 09:14:40 ]
- 自演にしか見えないモレは心が病んでるのか・・・
Perlが書き捨て用に適していて、その用途の場合はわかりやすいように 関数とか作らなくてもいいんじゃね、ってのには賛成するが。
- 232 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 09:15:38 ]
- 数分置きに、だらだらとチラシの裏を書くやつ、どっかの掲示板でも見たおぼえあるぞ。
- 233 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 09:34:30 ]
- コテつけてる時点で病気なのでスルー推奨
- 234 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 09:40:36 ]
- サイタマンは昔から自作自演ばっかりだったよ、
株板で相手にされないからこっちに流れてきたんじゃないの
- 235 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 09:41:56 ]
- スルーできてない人がスルー推奨してもね。
ボクはキミを無視しちゃいますよ〜というのを、無視できずにアピールしちゃうことほど 「負け」属性の強いレスは無いな。
- 236 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 09:43:08 ]
- さっさと市況板にもどったら?
もう市場開いてるでしょ
- 237 名前:235 mailto:sage [2008/04/23(水) 09:43:45 ]
- は?俺コーディングテクニック最強なんですが?
>>236は負け宣言だと思って言いよね? バカジャネーノw
- 238 名前:サイタマン ◆mYN3wsz7vE [2008/04/23(水) 09:44:51 ]
- まあまあ、有益な情報交換しましょう。
自作自演はしてませんよ。
- 239 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 09:46:33 ]
- >>238
俺がレスしてるのを自演とか言ってる奴がいるんだが 別人なんだけどなあ、 ニュース速報でサイタマンが出たてのころと比べたら 本当に強化されてて感心したんだが。 2chブラウザ作るっての公言して本当に作ったしさ。すげーと思うわ。 というわけでサイタマン、さっさとソース出せ
- 240 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 09:51:39 ]
-
そ ら ま た 自 演 だ
- 241 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 09:54:57 ]
- >>223
初心者用のスレだから、質問します。 普段からルーチンを一機能につき一つ設ける、のルーチンの意味がわかりません。
- 242 名前:サイタマン ◆mYN3wsz7vE [2008/04/23(水) 10:08:28 ]
- >>239
あれから音声読み出し機能を付けたのですが、 視覚障害者の為の2chブラウザにして配布しようかな〜と思ってます。 今のブラウザは株のトレードとセットになっているので、 2chブラウザだけを取り出しての配布になると思います。 いろいろやる事があって、今すぐには配布できませんが、 配布するので、待ってくださいね。 >>241 サブルーチンです。 perlで書くと my $d=&call(1,2); print $d;#結果は3 sub call{ my($a,$b)=@_; my $c=$a+$b; return $c; }
- 243 名前:サイタマン ◆mYN3wsz7vE [2008/04/23(水) 10:20:13 ]
- 上の単純な計算までサブルーチンで行うのは
無駄だと思います。 my $c=1+2; print $c; で済むのですから。 こっちのほうが普通の人には分かりやすいと思います。 数多く、同じ関数を呼び出すのであれば、 関数化すればいいと思います。 それは、個人個人の判断になると思います。 一つ言えるのは、あまりに関数を作りすぎると、コーディングが面倒な事、スピードが遅くなる事、 この関数はどこにあるのか、何をしているのか訳が分からなくなる事です。管理上、不便だと思います。
- 244 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 10:33:09 ]
- 再利用できると感じたら関数化、程度でいいと思う。
- 245 名前:サイタマン ◆mYN3wsz7vE [2008/04/23(水) 11:10:28 ]
- >>244
そうだね。 一応、上に書いた呼び出し方は古いから oopでの呼び出し方も書いておきます。 use Test; my $obj = Test->new(); my $d=$obj->call(1,2); print $d;#結果は3 package Test; sub new { my $pkg = shift; bless {},$pkg; } sub call{ my $self = shift; my($a,$b)=@_; my $c=$a+$b; return $c; } 1;
- 246 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 11:24:13 ]
- test(A,B) :- test(A,B,C),write(C).
test(A,B,C) :- C is A+B. 非オブジェクト指向言語ですが、これで済むんだけどなぁ。
- 247 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 12:52:59 ]
- これは Prolog ですが、BASIC だって似たようなものでしょう。
>>245 があまりに厚化粧で、サイタマンさんが上の方で書いていた ご自分の好みとは随分と離れたコードを書くことも多いのだろうな と思ったから、敢えてシンプルなものを載せました。そこで質問 なのですが、Perl の使い手にとって、オブジェクト指向とはどう いう位置付けのものなのですか。
- 248 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 13:01:24 ]
- >>218
Pythonだと if a == b: print '1' print '2' Perlだと if($a == $b){ print '1'; } print '2'; この例じゃ、解りやすさに差があるようには思えん。 {}言語が好きか、 言語が好きか、好みの問題に過ぎないと思う。
- 249 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 13:15:13 ]
- perlってa,bって予約語だったっけ
- 250 名前:サイタマン ◆mYN3wsz7vE [2008/04/23(水) 17:57:38 ]
- >>247
OOPする時は、サブルーチンが重複するかもしれない、 大量のコードを利用する場合に使います。 変数の競合を防ぐには局所変数で対応できますが、 関数の競合を防ぐにはOOPでなければ出来ませんから。 サブルーチン競合を心配するようなプログラムになると、 自然と使うようになります。 >>248 perlの場合はコンパイルエラーを吐いてくれますが、 pythonの場合はインデントミスが生じた場合、 エラーを吐いてくれないので、どこでエラーが生じるのかの見極めが難しいのです。
- 251 名前:サイタマン ◆mYN3wsz7vE [2008/04/23(水) 18:00:23 ]
- エラーを吐いてくれないと、どこでミスしているのかが分からず、
プログラムが誤動作してしまい、バグ発見に時間が掛かります。
- 252 名前:サイタマン ◆mYN3wsz7vE [2008/04/23(水) 18:21:15 ]
- OOPは自分で作ったサブルーチンを、後で再利用したい場合にも使います。
自分は利用できそうなサブルーチンをまとめてあります。 package名を付けて、 そこにサブルーチン名を貼り付けるだけで、 簡単に出来ますし、関数の競合の心配がなくなります。
|

|