[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 05/09 19:54 / Filesize : 194 KB / Number-of Response : 889
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【Perl,PHP】LLバトルロワイヤル6【Ruby,Python】



1 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 10:48:30 ]
最強のLL=軽量プログラム言語は、どれよ?

エントリーは、
Perl、PHP、Python、Ruby、JavaScript・・・
さあ、死ぬまで語りやがれ!!!

■LLとは?
軽量プログラミング言語(Lightweight Language,LL)とは、取り回しに優れ、
コードの作成や修正が容易と見なされるプログラミング言語のことを指す。

ここでいう「軽さ」はプログラマの負担の軽重を指し、
実行速度に優れているという意味ではない。

現在の水準では
・インタプリタ
・動的型
・正規表現
・関数オブジェクト
などを利用できるものがLLと呼ばれることが多い。(Wikipediaより)

■過去スレ
【Perl,PHP】LLバトルロワイヤル5【Ruby,Python】
pc12.2ch.net/test/read.cgi/tech/1238720336/
【Perl,PHP】LLバトルロワイヤル4【Ruby,Python】
pc12.2ch.net/test/read.cgi/tech/1234635513/
【Perl,PHP】LLバトルロワイヤル3【Ruby,Python】
pc11.2ch.net/test/read.cgi/tech/1215319832/
【Perl,PHP】LLバトルロワイヤル2【Ruby,Python】
pc11.2ch.net/test/read.cgi/tech/1209289408/
【Perl,PHP】LLバトルロワイヤル【Ruby,Python】
pc11.2ch.net/test/read.cgi/tech/1188997302/

136 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 20:30:56 ]
Pythonのu'文字列'は歴史がそうさせるので仕方ないだろう。
r'文字列'は随分とコードが読みやすくなるのでいいと思う。

137 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 20:31:09 ]
気持ち悪い気持ち悪い言ってる人はこちらのスレで存分にどうぞ。

Pythonに見られるインデントによる制御構造の是非
pc12.2ch.net/test/read.cgi/tech/1169473442/l50

てか、数学の記法とか、普通の箇条書きとか、インデントを戻すことで
リストの終了を示してるけど、そういうものが全て気持ち悪いんだろうか?

138 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 20:47:34 ]
箇条書きの場合は、ネストを深くする毎に頭の記号を変えるとか、
番号の後ろに番号を加えるとかするから、違うん感じがする?
数学のは、どういう事か分からないけど、
関数型言語(ML系、Haskell)とか、Prolog のは、気持ち悪いな。

LISP は、括弧だから(・∀・)イイ!

139 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 20:51:05 ]
>>138 書き間違ったので修正します。

箇条書きの場合は、ネストを深くする毎に頭の記号を変えるとか、
番号の後ろに番号を加えるとかするから、違う感じがする。
数学のは、どういう事か分からないけど、
関数型言語(ML系、Haskell)とか、Prolog のは、気持ち悪いな。

LISP は、括弧だから(・∀・)イイ!
ブロックの閉じる記号がないから気持ち悪いという文脈で
LISP が出てくるのが、理解できなかった。
LISP は、全部きっちり括弧で括るから、 Python とは全然違うのに。

140 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 21:16:26 ]
end があっても、 Pascal は気持ち悪くて、 Ruby はいいんで、
ブロックだけの問題じゃない気がしてきた。

141 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 21:35:42 ]
歴史だから仕方ないっていいわけになってないけど

142 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 22:19:43 ]
>139
しかし閉じ記号をブロックの中身に書いちゃうのは、それはそれで…

143 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 23:28:04 ]
Cかschemeが最強だと信じている。LLは複雑怪奇すぎ

144 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 23:37:10 ]
一時期Scheme勉強して、Pythonに戻ったら
map の前と後ろのどっちに ( つけるか毎回迷って困ったw



145 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 03:06:16 ]
そういえばSchemeのmapとかCommon Lispのmapcarって、
何で関数引数が前なんだろう?
Rubyのブロック構文に慣れた身としては、
でかいlambdaを渡す時には非常に読みづらくなる気がするんだが・・・・・

146 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 03:42:58 ]
>>145
map は引数として任意の数のリストを取れるので、
必須の引数である関数は必然的に一番最初になります。
あとまあ、その結果として apply と相性がいいとか部分適用しやすいとか。

でかい lamabda を直接書くと読みづらいのは確かだけど、
逆に読みづらくなるほどでかいなら適当にくくりだすかなあ。
さもなければ dolist 使うか。

147 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 04:50:16 ]
あーなるほど感謝。やっぱりそれなりの理由と作法があるのか

148 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 07:51:45 ]
Rubyのあの構文は、引数として渡す関数はたかだか1個、という前提に
最適化したものだからね。

149 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 20:44:07 ]
まあ、Pythonしか使わない人(もしくはRubyしか使わない人)にはそれが見やすいのかも知れないけど、仕事上いろんな言語を使う必要がある場合、PythonやRubyは特殊で非常に見づらい。

150 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 20:54:32 ]
色んなって…色んな、がどんな言語かによるだろうに

151 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 21:02:07 ]
map(lambda x,y:x+y,[1,2,3],[4,5,6])
PyhtonのmapはRubyとは違ってLispのと同じような感じだが

152 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 21:09:07 ]
C/C++ Java C# Perl PHP JavaScriptなどメジャーな言語。

153 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 21:36:37 ]
要はC系言語のことを指してるワケね。
個人的にはC系の記法は数ある言語の中でも読みにくい部類に入ると思ってるんだが…

154 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 21:45:27 ]
日本語は漢字があって読みにくい
英語は簡便でよみやすい
って言うようなもんだ
日本人に取っては難しい日本語の方が読みやすい
C系PGはC系言語が読みやすい



155 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 21:46:05 ]
Basicだけは何をどうやっても読みにくい

156 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 21:46:09 ]
Perl挙げてるあたり、自分の慣れてない言語が読めないってゴネてるだけだろ

157 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 22:04:23 ]
読めないって話しじゃなくて
Pythonは特に読みやすい言語ではないって話な

158 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 22:10:34 ]
メジャーな言語が読みやすくて、PythonとRubyはそれらと比較して非常に読みづらいとか
んなこと唐突に根拠もなく言われても

159 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 22:48:33 ]
だから、Pythonだけ使ってる人にはいいんだろうけど、世の中やC+Java+Per+PHPを使ってる割合の方が遙かに多いわけ。
ハングルは世界一読みやすいって言われても、世界中の人はハングルなんて読めないの。

160 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 23:05:19 ]
PythonやRubyしか使わないって人のほうが珍しいだろうし、
読みやすいってのはいろんな言語を使ってきた人たちが
比較して言ってるんでしょ?

161 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 23:12:57 ]
メジャーな言語は読みやすい
メジャーでない言語は非常に読みづらい
なぜならユーザが少ないから

みたいな論理展開する人がプログラム書いてるのか・・・

162 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 23:16:50 ]
読み辛いというか仕様やその言語特有の作法がよく分からない。探すのも面倒。
重箱の隅をつつくルールを覚える暇で、主要言語でやりたいことを模索する方が良さそう

163 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 23:17:46 ]
ちょっと粘着気味でしんどいな
もうちょっと楽しい切り口でよろしく

164 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 00:49:24 ]
既出すぎる話題ばかりだしな



165 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 01:09:11 ]
Pythonは他のメジャーな言語に比べて、より少ないルールで高い生産性を
実現できている言語だけどな。

166 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 01:15:19 ]
しかし根底にある概念が理解しにくい
手続き型って、かなりな部分の人間の思考過程に、
素直に馴染みやすい形態なのかもよ。その方向で
発展出来ないのかな
そう言う意味でもRubyはいいとこどりなんじゃね?

167 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 01:24:05 ]
「可読性」なるものの定量的な比較基準が欲しい所だが、
果たして存在するのかすら分からん
記号含有率・・・・はある面で悪くないが、じゃあCOBOLは読みやすいのかって話になる

168 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 01:24:05 ]
どのみち高級言語なんだしな
末尾再帰とかできて喜んでる人間ってなんなんだろう
それって、正直読みやすいのかな

169 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 01:29:24 ]
>>166
Python は高級な手続き指向言語じゃん。
Ruby に比べたら圧倒的に記号や特殊ルールが少ない分、
Pythonを知らない人でも推測しながら読むことが可能。

170 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 01:38:42 ]
Rubyがいいとこどりなんて言う人はもっといろんな言語を勉強するべき
全然いいとこどりでないぞ、むしろいろんな面で中途半端

171 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 01:49:04 ]
そんな抽象的なレスじゃ何も言えんよ・・・・・・
なるほど中途半端だ

172 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 01:58:08 ]
何も言えないなら「何も言えない」で終わっておかないとね。
後ろに捨て台詞付け足したら、それはもうしっかり言っちゃってることになる。

173 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 02:46:03 ]
Pythonはエスペラント語
志は高いがシェアは低い

174 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 03:05:15 ]
シェアが低いってww
日本で流行ってないだけだろ。
世界中では至る所で使われてるぞ。



175 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 04:07:40 ]
と日記には書いておこう。

176 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 06:30:21 ]
>>173
Ruby使っている人が自殺しそうな発言だな。

あれこそユーザー数は少ないしシェアはPythonと比べるのが可哀想なノリだが。

つかPython粘着ウゼェ。
アンチ専用スレあるんだからそっちで餌まいとけよ。

177 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 07:11:49 ]
日本っつーか、日本のWindowsでは、ってところじゃないかな。
MacやLinuxの大手ディストリなんかではPythonが最初から入ってたりして
「あんまり知らなくても、いつの間にか身近なところで使われてる」言語になってるんだよね。

178 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 07:27:27 ]
とりあえず日本のWindows環境でもRubyとPython比較するならば、
Pythonの方が恵まれた環境にあると感じるが。

Rubyのあのやる気の無さはなぁ。

とりあえずPythonがシェア低いなんて、モノを知らないにも限度がある発言だろうに。

179 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 09:50:30 ]
>>177
使われてないなんて誰も言ってない
シェアが低いだけ

180 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 09:52:20 ]
>>179
自分のまわりが世界なんですね、わかります。

181 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 11:29:45 ]
シェアという単語の定義から始めないといけないのか

182 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 16:11:51 ]
とりあえずpythonは3が普及したらがんばる。

183 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 23:02:43 ]
自分のまわりが世界な人はLinux環境でならRubyはいい言語だと思うよ。
どうせ仕事じゃないんだろうし。

しかし、C/C++って読みやすいか?
つか、***pとか(p++)やらint (*p)()とか組み合わさったら、キツいノリがある言語だと感じるが。
パーな#defineされていると殺意を覚えるし。

Pythonの関数ポインタもかなりアレなノリがあるので微妙だが。

184 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 23:31:40 ]
>>183
そんな程度で殺意わくようでは、
perlとかまともに読めない、書けない人かね?



185 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 23:50:02 ]
perlは別に最初から読みやすい言語でもないだろ。
個人が使い捨て殴り書きするには最適な言語だから、そこにケチつけるのはおかしいし。

C/C++は運が悪いと延々とメンテされる可能性が高いからアレなんだろ。

186 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 00:03:25 ]
誰もPerlが読みやすい言語だなんて言ってないだろうに
Pythonは特に読みやすい言語じゃないというのが肝であって
他の言語で特別読みやすい言語があるって話じゃない

187 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 00:10:34 ]
>Pythonは特に読みやすい言語じゃないというのが肝であって

さすがに、Pythonは特に読みやすい言語だし、コレが読みにくいと言うのは
プログラムをヤめた方がいい。

188 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 00:11:06 ]
>>183
その辺をある程度改良しようとしたらDになるんだろう
型変換はcast式、プリプロセッサは排除

189 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 00:54:41 ]
実際仕事でやってると言語なんて「これメンテして」で選択肢ないからなあ。
いっそそんな言語知らないとでもシラをきり通せた方がいいな。

190 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 02:18:40 ]
C言語は、読みやすさを犠牲にして、書く量を減らした設計だろうから仕方ない気がする。
ただ、C言語が普及したせいで、C言語っぽい文法を採用する言語が多くなったから、
C言語っぽい文法の方が読みやすいと思われる事が多いかも知れない。

BASIC が読みにくいと言うのは、理解が出来ないな。
それで、 Python のソースは読めるのか?

Ruby は、「Perl の次」以上でも以下でもないと思う。

Ruby と Python では、明らかに Python の方がメジャーだな。
OS のインストーラのアナコンダ(だったっけ)が Python で書かれてるとか。
Python は、Google がよく使ってるんだっけ。
Perl は Yahoo がよく使ってるんだっけ。他にも、 はてな とか mixi とかいろんな所が Perl を使っていると聞く。
PHP は、ネット上の至る所で .php を見かける。
しかし、 Ruby を良く使っている所ってあまり聞かないな。
Twitter が使ってて話題になってたけど Scala に変えたんだっけ。

自分は、Python よりは Perl, PHP, Ruby が好きだな。

Python のは、読む気がしない。
Python のを読むくらいなら LISP の括弧を追っている方が、
いや、アセンブリ言語でレジスタの使われ方を追っている方が
よっぽどましだ。

191 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 02:26:50 ]
>>190
馬鹿じゃねーの?
氏ねよ!!!!
長文ウザイ

192 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 02:44:08 ]
2chで長文ウザイ言う人って、単に頭が悪い人なんだよね。
100個の1行レスは読むけど、1個の10行レスは嫌いな人種。要は根拠や例示を読めない人。
>>190なんて、>>191を書いて送信ボタン押してスレをリロードするより早く読めるのにね。

193 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 06:37:08 ]
190,192はいつもの粘着だと思うが。

194 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 11:27:49 ]
BASICっつーても方言によるが…
とりあえず規格は文法そのものは読みやすいが
命令によって微妙に書き方が違うのと
大きなコード書くと引数が多くなりがちなせいで慣れるほど限界を感じると思う
設計からしてプログラミング初心者向けだから仕方ないけど



195 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 14:01:28 ]
>>187
いやだからね
いくら読みやすくても、その文法が特殊だとみんな馴染めないわけよ
だからC言語派生やBASIC派生の方が流行るわけでさ
英語は読みづらいから、もっと簡単な言語つくったので
みんな読めるはず、って言われても無理なのと同じ

196 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 14:50:14 ]
後発のプログラミング言語はいろんなところから構文や機能をぱくってるから
自然言語で例えるのは微妙
日本語分かっててもハングル全く分からんけど
java分かってればpython5割ぐらいはだいたいこんな感じだろってわかるべ

ちがうパラダイムの言語じゃなければ
プログラミング言語でもっと簡単な言語を作った、みんな読めるはず
たぶん本当にみんな読めるんじゃないか?

197 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 14:59:51 ]
今は読める読めないでなく読みやすい読みにくいの話じゃないのか?

198 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 15:12:33 ]
みんなって誰だ。
コッチ・ミンナさん(AA略)か?

199 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 16:06:39 ]
>>195
>いやだからね
>いくら読みやすくても、その文法が特殊だとみんな馴染めないわけよ

HaskellやML系の文法ならまだしも、Python の文法になじめないとしたら、
さすがにそれは文法が特殊だからではなくておまえの頭が悪いだけ。
いくらなんでも、Pythonの文法が理解できないというのはおかしい。


200 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 16:07:53 ]
これがpy脳か…

201 名前:デフォルトの名無しさん [2009/06/24(水) 16:24:33 ]
>>187
書き手しだい。
Pythonに限らずインデントが深くて波打ってるようなコードとかあるだろ?
そういうのは例えPythonでも読み辛いもんだよ。


202 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 16:31:47 ]
>>201
今はそういう話じゃない。
195が、いくら読みやすくてもPythonの文法は特殊だから読みにくいという主張に対しての反論。
書き手次第とかは今は関係ない。


203 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 16:44:56 ]
特殊って言い方は変だと思うな。
プログラミング言語全体で「特殊」なんてのはあんまり無いと思う。
単に書き方の派閥があるだけで、その中に特殊なんてのは存在しないんじゃないかな。

つーかLLスレ的にはC風の書き方のほうがむしろ異端じゃなかろうか。

204 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 17:12:33 ]
主観の問題なので、実際にリサーチしてみないと判断は無理。
自分を中心にして、相対的に語ったところで意味はないだろう。



205 名前:デフォルトの名無しさん [2009/06/24(水) 17:14:29 ]
C風の書式のLL:
・Perl
・PHP
・Ruby
・JavaScript
・(Python)

C風でない書式のLL:
・(Python)


206 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 17:41:32 ]
>>202
読みにくいじゃなくて、他の言語に比べて特別読みやすいわけじゃない、だろ。
読みやすいか読みにくいかは、その言語に精通しているかどうかが大きな肝で、
Pythonが特別読みやすい言語仕様になっているから読みやすいわけじゃない。
インデントが綺麗かどうか程度の差でしかないから、
コーティング規約に従って書かれたJavaやPHPと、
可読性は殆ど変わらん。

207 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 17:43:36 ]
RubyのどこがC風なんだ

class SuperClass
end
class MyClass < SuperClass
    attr_reader :x
    def initialize(x)
        @x = x
    end
end
def func1
    MyClass.new 'Hello'
end
func1
puts func1

208 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 17:54:10 ]
>>206
>読みにくいじゃなくて、他の言語に比べて特別読みやすいわけじゃない、だろ。
まず>>195を読もうぜ。
おまえの意見なんか問題にしてない。

209 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 18:44:25 ]
>>207
キーワードがちょっと違うだけじゃん

210 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 18:45:45 ]
じゃあpythonも十分C風ってことで

211 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 19:05:35 ]
>>207
キーワードはAlgol風味だが、
メソッドとかの命名はC系の影響を受けてると思う
to_sとか、アンダーバー記法でギリギリ意味が取れる程度に短くする

212 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 19:42:56 ]
pythonは制御構造を作るのに end も { } も; も必要ない。
余計なものが少なくてシンプルに見えるんだがなー。

213 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 19:56:39 ]
だから見分けづらいんでしょ

214 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 19:59:28 ]
慣れかもしれんがdelphi触ってたときは
begin endの嵐でうへぇって感じだった
俺的にはシンプルのがいいわ
見分けづらいとも感じない



215 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 20:58:01 ]
俺はCやPerlの記号ごちゃごちゃ出す感じが嫌いなんだよなぁ
Rubyも書き方次第で記号ごちゃごちゃになるけど

216 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 21:27:27 ]
PerlはOne-linerが流行るような、出来るだけ縮めてしまえっていう文化だよね。
Rubyもその流れを汲んでいる。

217 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 21:49:25 ]
漏れの周りのPython知らなかった人もPythonの制御構造の仕組みは
解りやすいとコメントしていたな。

見分けづらい、と言う人は極少数だと思われ。

218 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 21:54:31 ]
会社とかのコーディング規約で「ifやforのブロックはインデントして見やすく」とか
している組織だとPythonのコードは読みやすく感じるだろうな。

それにPythonだとswitchやcase文がないところからしても、「覚えやすく、見やすく、シンプルに」って
哲学みたいなのがあるんだろ。

219 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 22:11:11 ]
pythonの制御構造に関していえば、別段、特殊でもないし、
括弧が、インデントが、begin-endがなんて、本質的な分かりにくさじゃないだろ
〜です、〜ゴザル、〜ニャとか、そのぐらいどうでもいい違いだよ
メモリ上でオブジェクトがどうなっているかとか、どうやってソートするのかとか、
スコープや数値、配列、文字列の扱いやライブラリの利用なんかの方が遥かに謎

220 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 22:13:13 ]
>>218
ifやforでインデントしない奴のソースなんか100人中98人までは読みたくねーよ
規約の遙か以前の問題で、またPythonのインデント強制とも次元が違いすぎる

switch〜caseなんかもifの構文糖衣だし、なんか的はずれすぎてワロタ

221 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 22:35:46 ]
>switch〜caseなんかもifの構文糖衣だし、なんか的はずれすぎてワロタ

ぶっちゃけ違う。

同じと思っているならソレは>>220のレベルが極限まで低い証拠。
そういう低レベルがPythonをどーこー言うのは的外れ。

222 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 22:44:36 ]
>>221
どう違うのを書かないと、>>221のレベル(笑)もわからんな
例えば、ifで代替できないシンプルなswitch文をあげてみるとか、
コンパイラ方面での話をしてみるとか

223 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 22:52:18 ]
ifでswitchの振り分け真似ると、orだらけになったりするコトも

後で指導するが、明らかにアレは見づらい

224 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 22:55:11 ]
ifとswitchは似ている様で違うだろ。

Pythonはswitchなくてもほとんど困らないが、その理由が解らない>>220
ちょっと頭が可哀想な人なんだと思う。



225 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 23:11:59 ]
>>220が攻撃される理由が分からん。

pythonのは、OOだ!OOを使え!ルーク!って教えでしょ。
Perlは、ライブラリだ!ライブラリを使え!ルーク!って教えだし。

しかし、switchはifのシンタックスシュガーじゃないのか?
ifで代替できない場面が分からない。
見易さだけなら、ただのシンタックスシュガーだし。

226 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 23:20:20 ]
Python教こえーな
異教徒排除が徹底しすぎ
敵がJavaだけのRuby信者より質悪いわ

227 名前:デフォルトの名無しさん [2009/06/24(水) 23:28:07 ]
ということにしたいのですね?

228 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 23:34:51 ]
一応考えてみたが、switchには、if〜else単独にはないラベルへのgotoも複合されている
C#みたいなものもある、とかいう点なのかな?
この場合は、switchってif〜else+gotoの糖衣構文じゃん、とか言ってみたらどんな反応が
来るんだろう。やっぱり同じ反応な気もするが。

あとはコンパイラの最適化でなにかあるのかな〜くらいしか思いつかないが、「違う」理由を、
純粋に勉強のためにせっかくだから誰か教えてくれないもんだろうか。気になる。

229 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 00:38:08 ]
正露丸糖衣A

230 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 00:38:58 ]
xがOまたはPまたはQのときは処理aと処理b
xがRまたはSのときは処理bのみ
それ以外のときは処理cを行なうってコードとか?

231 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 00:49:16 ]
C言語だと switch と if が違うというのはわかるが、LL だとどうなんだろ?
C言語は、コンパイラやコードによっては、テーブルを引いてジャンプするコードに変換される場合があるらしいが。

232 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 00:54:14 ]
>>230
switch( str )
{





233 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 00:59:53 ]
Enter押してしまった・・・ orz

>>230
switch( str )
{
 case 'O':
 case 'P':
 case 'Q':
  function_a();

 case 'R':
 case 'S':
  function_b();
  break;
}

こういうのはifよりswitchのほうが楽だね

234 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 01:10:30 ]
if s in 'OPQ': function_a()
elif s in 'RS': function_b()



235 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 01:12:21 ]
あ、function_aの後は下へ流れるのか

236 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 01:22:22 ]
Python には暗黙のルール、見た目から意味が推測できない記号が
少ないから、メタクラスとか駆使した一部分のコードをのぞき、Pythonに
それほど精通しなくても大体のコードは読める。

その反対は(非モダンな)Perlで、初心者どころか中級者になっても
他人のコードが読めなかったり、下手すると昔の自分の書いたコードが
読めないなんてことが起こる。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<194KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef