【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止]©5ch.io
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001デフォルトの名無しさん
2015/09/30(水) 10:56:12.10ID:U+dh/xlD【JavaScript】スクリプト バトルロワイヤル51【php,py,pl,rb】(c)2ch.net
http://peace.2ch.net/test/read.cgi/tech/1438094104/
0809デフォルトの名無しさん
2016/01/05(火) 15:18:26.97ID:lQs38V4nBlenderだけではない
主要な3DCGのスクリプトはこぞってPythonを採用してるよ
0810デフォルトの名無しさん
2016/01/05(火) 15:52:16.53ID:d6zZ4+2jそれでPythonが書き方がバラバラになるけど、
それでも見やすい理由は?
答えは「ない」
0811デフォルトの名無しさん
2016/01/05(火) 17:40:07.89ID:7WGTfX60iocccみたいなコードが、原理的に書けない、ってだけでも違うよ。
見てくれがある程度強制されるって事は、≒問題になるのは内容、ってこと。
異なるコード、アルゴリズムを書くから見てくれが変わる。
幻想じゃないよ。
読みにくいコードは、≒難しいことを難しいまま実装してるか、簡単なことを難しく実装してるだけ。
そうしていくと、同じ事をするためのやり方はどんどん淘汰されて同じ形になってくでしょ。
将棋の定石みたいなもの。
バラバラのコードの時点、他人とは違うやり方をしている時点で、画期的か、バカな事してるんだよ。
そして画期的何てことは滅多にない。
それが、「バラバラにならない」の真意だけど、読み取れなかったかな?
izipとzipみたいな細かいけど大きい違いは、python3で無くなるしね。
0812デフォルトの名無しさん
2016/01/05(火) 18:03:36.51ID:faHG3B9o0813デフォルトの名無しさん
2016/01/05(火) 18:09:52.90ID:Q0bmXsT3方向性はみんなわかってるし認めてるから繰り返す必要無いかもね
ただ、ベクトルの大きさが問題なのであってw
「書き方が一つ」ってのはやっぱ対象が小さいんじゃないかな
局所的にはそれでいい、たしかにそれは正しく見える
ただプログラミングの大変さは複雑さの大変さであって
我々の挑む敵はどうしようもなくでかくて複雑なんであって…
フェイスブックの実装は一つ?っていう話
0814デフォルトの名無しさん
2016/01/05(火) 18:15:32.56ID:XFe6MEAW0815813
2016/01/05(火) 18:16:38.12ID:Q0bmXsT3ツイッターのバックエンドがscalaで書かれてる話を
フェイスブックがpythonで書かれてると謎の勘違いをしてしまっておりました
0816デフォルトの名無しさん
2016/01/05(火) 18:28:13.20ID:7WGTfX60局所的に正しいの塊で、全体が正しいんだし、良いんじゃないかなーって思うけどね。
やってて面白いのはjs。
0817デフォルトの名無しさん
2016/01/05(火) 18:43:14.39ID:mUunVOk1例えばJSだと非同期処理の接続のスタンダードがなかなか決まらなくて、
第一引数にエラーハンドラ、第二引数に成功ハンドラ渡すとか、
いやonerrorとonsuccessプロパティに定義しておくんだとかバラけていたのが、
Promiseが入ったので引き締まった。
当然古いコードだったり、今からでも自由にコードを書いてもいいが、
そういう標準があるというのとないのでは全然違う。
0818デフォルトの名無しさん
2016/01/05(火) 18:49:24.17ID:mUunVOk1JSだって少し前まではプロトタイプベースといいながら、
実際はそれには触れられず、言語が用意したクラスもどきシステムに縛られて
標準ライブラリも構文も少なく、仕様が小さいような言語だったが、
自由な言語と言われていた。
実際には自由なのではなくプロトタイプベースの上に成り立っている
クラスもどきシステムをハックして、プロトタイプベースの振る舞いを利用して
クラスシステムを立て直そうともがいていただけなのだが、
そういう取り組みすらも自由と言われていたね。
0819デフォルトの名無しさん
2016/01/05(火) 19:13:30.58ID:d6zZ4+2jPythonでも汚いコードは書ける。
(他の言語でも)汚いコードっていうのは、インデントの位置が
ずれてるとか言うレベルじゃなくて、コードの場所が違う。
汚いコードをそのまま移植したらPythonでも同じように汚くなる。
移植できないコードなんて無いよ。
0820デフォルトの名無しさん
2016/01/05(火) 19:19:08.80ID:d6zZ4+2j> iocccみたいなコードが、原理的に書けない、ってだけでも違うよ。
書くことはできる。
Pythonでも変数や関数を一文字にすることはできるし、
lambdaやリスト内包表記を使って、長々と一行で書くことだってできる。
汚いコードを書くことが原理的に出来ないのであれば、
コーディング規約なんて無いはずだし、
可読性や複雑度を調べるradonなんてツールも無いはずなんだよ。
0821デフォルトの名無しさん
2016/01/05(火) 19:25:02.24ID:dBHzF9wR0822デフォルトの名無しさん
2016/01/05(火) 19:27:45.23ID:d6zZ4+2j0823デフォルトの名無しさん
2016/01/05(火) 19:30:03.34ID:d6zZ4+2jまるでiocccみたいなコードが全てだと思っているようだ。
汚いコードっていうのは、iocccには全くなっていないが汚い。
故にiocccが書けなくても、汚いコードはあるし、
そういう汚いコードをPythonでもかける。
Pythonでは汚いコードを書けないと勘違いしているのは、
よっぽど短いコードしか書いてない証拠だろう。
0824デフォルトの名無しさん
2016/01/05(火) 19:59:14.50ID:2hRfN9SSそれだけでプログラマー人生は安泰だ
0825デフォルトの名無しさん
2016/01/05(火) 20:04:23.17ID:Nzvsp30Aそりゃ書こうと思えば書けるだろ
pythonのが他より綺麗なコードが出来るようにバイアスがかかってるだけで
0826デフォルトの名無しさん
2016/01/05(火) 20:19:38.31ID:tTU6gw0upythonだから書けるようになるとは思えないんよね
プログラミングなんて結局はインタフェース設計だから
0827デフォルトの名無しさん
2016/01/05(火) 20:34:53.08ID:Nzvsp30A0828デフォルトの名無しさん
2016/01/05(火) 20:36:05.87ID:d6zZ4+2j> pythonのが他より綺麗なコードが出来るようにバイアスがかかってるだけで
だからそんなもんねぇって、
Python派がそういう主張しているだけで、
事実だと認められたことはない。
0829デフォルトの名無しさん
2016/01/05(火) 20:39:05.54ID:Nzvsp30Aすまん、その「認められことはない」って誰に「認められたことはない」の?
まさかID:d6zZ4+2jに「認められたことはない」じゃないよな?
0830デフォルトの名無しさん
2016/01/05(火) 20:49:35.85ID:d6zZ4+2j> 思えないとかいってるレスってエアプだからこういう書き方してるのか、実際やった上で言っているのか
実際にやった上で言ってる。
初心者が書いたコードを修正したうえでな。
そいうのコードの何が悪かったか言ってやろうか?
・1関数のコードが長い
・Pythonらしいと言われる機能を何も使ってない。使わなくてもかけるからな。
・リスト内包表記を使っていない。使わなくても別のやり方でかけるからな。
・デコレータを使ってない。使わなくても同じ処理を重複して書けばできるからな。
・PEP8に準拠していない。準拠しなくても別の書き方できるからな。
・Djangoを使っていたがモデルを正しく使っていない。モデルではなくコントローラを太らせて同じことはできるからな
・コードのあちこちに接続サーバー情報などが直接埋め込まれていた。
・Django、TurboGeares、Pyramid、Flask、Bottleなどいろんなフレームワークがあって、書き方もそれぞれ違う。
細かい指摘をすればいくらでもあげられるよ。
こういった所が、汚いコードの原因であって、それを防ぐ機能なんてPythonに備わっていない。
Pythonだっていろんなやり方があるし、誰が書いても同じコードになったりなんかしない。
インデントを強制することぐらいだろ。そのインデントだってインデントがブロックを示すってだけで
改行の位置までは強制してないから、コード度の書き方だけでもいろんな書き方ができる。
Pythonの主張を過大評価しすぎ。
0831デフォルトの名無しさん
2016/01/05(火) 21:05:39.42ID:dBHzF9wR0832デフォルトの名無しさん
2016/01/05(火) 21:11:56.59ID:Nzvsp30Aなるほど疑って悪かったな
PEP8準拠に関してはPylint使えよとしか言いようがないが、他のは確かに出来るな
確かに出来るけどpythonでそれをやるとPEP8との兼ね合いとかで息苦しくなってきて初心者の側もうすうすこれはダメなんじゃないかと思うようなコードが出来上がらないか?
例えば入れ子にしすぎたらすぐに80文字規制に掛かるとか
ってかなんでpep8に違反してると警告でるように設定してないの?
0833デフォルトの名無しさん
2016/01/05(火) 21:14:04.19ID:azra2M1eその言語らしさもあるコードでも複数の書き方があるんだよね
ここで「らしさ」っていうのは、その言語の文化や標準的なコーディング規約に沿ってるって事ね
でもpythonだと、読みやすく綺麗でpythonらしいコードってなると
あまりブレがなくなる感じ
0834デフォルトの名無しさん
2016/01/05(火) 21:18:01.50ID:tTU6gw0uある人がperlのコード片をブログに書いてるのみて
驚くほど見やすく書かれているのに驚いた
とかく糞コード乱発しがちなあの言語で、である
その人はわりと技術者としては有名で
さすがというか噂に違わぬ力量が透けて見えた
0835デフォルトの名無しさん
2016/01/05(火) 21:23:07.09ID:d6zZ4+2j> PEP8準拠に関してはPylint使えよとしか言いようがないが
使わなくてもできるからね。
>初心者の側もうすうすこれはダメなんじゃないかと思うようなコードが出来上がらないか?
初心者だから、それがだめだとわからない。
だめだとわかるには、もっといいものが何かを教えてやらないといけない。
結局良いコードを書くにはPythonを使うだけでは駄目だし、
Pythonが良いコードを強制してくれるわけでもないという当たり前の話
> ってかなんでpep8に違反してると警告でるように設定してないの?
俺に言うな。そいつはpep8なんてものがあることを知らなかった。
俺に言わせれば、なんでPythonはデフォルトでpep8違反をコンパイルエラーにしないんだ?って言いたいぐらいだ。
俺はコーディングスタイルはいろんなスタイルがあるものだから、コンパイルエラーにするべきではないと思うが、
Pythonの文化では書き方は一つなのだろう? なら(俺の考えとは違うが)Pythonはコーディングスタイルも
一つに決めて、それ以外はエラーにするべきじゃないのか?
それをしないことからも、結局書き方は色々あると認めているようなものだよ。
初心者っていうのは、無知だから初心者なわけで初心者が汚いコードを書くのはどうしようもない。
無知という前提のやつにPythonを使わせるだけで矯正などできない。
初心者はPythonらしいコードっていうのも知らないからな。
0836デフォルトの名無しさん
2016/01/05(火) 21:31:20.69ID:QVqdPGfoそれって身の回りに誰も教える人がいなくて完全に独力でプログラムを習い始めたやつでしかも情報収集能力もまだないような完全なる初心者じゃないか?
そこまでの初心者にいいコードを強制することを求めてるのか
流石にそれはpythonに多くを求めすぎだろ……
0837デフォルトの名無しさん
2016/01/05(火) 21:59:10.91ID:d6zZ4+2jだから完全なる初心者にPythonを使わせても
まともなコードが書けるわけじゃないって事を言ってる。
ある程度の力を持ったプログラマであれば、
インデント矯正なんかしなくても、正しくインデントできるし、
どの言語にもあるLintツールやコーディングスタイルチェックツールを使っている。
さてPythonは何を持って、誰が書いてもわかりやすいコードになるとか
同じようなコードになると言ってるのだろうか?
初心者には何も与えない。ある程度のプログラマなら自分でできる。
Pythonが与えてくれるものでコードに質に関して役に立つ物は何もないではないか。
0838デフォルトの名無しさん
2016/01/05(火) 22:01:54.58ID:dBHzF9wR0839デフォルトの名無しさん
2016/01/05(火) 22:03:27.70ID:QVqdPGfoそんなこの世のプログラマのレベルは0が100かみたいな……
完全なる初心者よりはもうちょっとレベル高いけどまだrubyとかで読みやすく書けるわけでもないレベルのプログラマのことも考慮に入れてあげてください
0840デフォルトの名無しさん
2016/01/05(火) 22:06:46.18ID:d6zZ4+2jに、Pythonはなにを与えてくれるの?
0841デフォルトの名無しさん
2016/01/05(火) 22:11:50.64ID:tTU6gw0u0842デフォルトの名無しさん
2016/01/05(火) 22:14:32.29ID:C6KtcH2Lnumpy, scipy, sklearnだよ
他は幻想
0843デフォルトの名無しさん
2016/01/05(火) 22:16:25.25ID:QVqdPGfoもうこれでいいや
0844デフォルトの名無しさん
2016/01/05(火) 22:17:49.74ID:d6zZ4+2jコードの品質が保たれるわけじゃないし、
いろんな書き方だってできるということさ。
0845デフォルトの名無しさん
2016/01/05(火) 22:59:29.93ID:ee+BcJ4r初心者がググって、何でもかんでもこうするには決まった方法はありませんから
イマジネーションを働かせて楽しく作りましょうと書かれていたら、
どこもかしこもお祭りのようなコードであふれるだろうし、
ある程度節度を持った上級者でも沢山の派閥に分かれることだろう。
それに近い・近かったのがJavaScriptだ。
それが別に0になる必要はない。少しでも少なければ少ないほうが良いと考えるのは自然。
0846デフォルトの名無しさん
2016/01/06(水) 00:52:27.74ID:ABmaGhoQ少なくともrubyほど多種多様で複雑ではないよ
0847uy ◆Qawu9.2l1E
2016/01/06(水) 05:11:00.39ID:NwAUbAKq0848デフォルトの名無しさん
2016/01/06(水) 07:35:05.09ID:wURx2dCrコードの複雑さっていうのは、そういうことじゃないからな。
少ない部品であっても、関連する機能をあちこちに
ばらまくとあっという間に複雑になる。
というか、部品が少ないほど、少ない部品を使って
あれこれ書かないといけないから、複雑になる。
0849デフォルトの名無しさん
2016/01/06(水) 07:39:11.57ID:cCUVpF+b0850デフォルトの名無しさん
2016/01/06(水) 08:00:46.11ID:wURx2dCr例えば偶数の値のリスト、奇数の値のリストみたいに。
forとifとリストのappendあたりを使えば、それは実現できる。
だけど、別の書き方、itertools.groupby()を使えば
もっとシンプルに実装できる。
いろんな道具が合ったほうがシンプルに書けるという例。
そしてPythonでもいろんなやり方があるという例
0851デフォルトの名無しさん
2016/01/06(水) 08:08:14.97ID:JLSdyPgF朝だからって寝ぼけた事言ってんじゃねーぞタコ野郎が
0852デフォルトの名無しさん
2016/01/06(水) 08:30:54.45ID:4Z5wN3vFそして「大きい」ということは比較的「多く」ならざるをえない。
ミニマムだから良いコードが書けるというものではない。
むしろ状況に合ったものが沢山用意されていれば工夫する余地は無いというのが
本当のPythonの原則であり目標。
0853デフォルトの名無しさん
2016/01/06(水) 08:39:58.68ID:glbrcw7Gシンプルに書ける方が正しいコード、なんだよ。
0854デフォルトの名無しさん
2016/01/06(水) 08:44:19.78ID:4Z5wN3vFシンプルと複雑は紙一重だし
例えば
Number(str)
と暗黙の型変換を利用した
+str
はどちらがシンプルか?
自分は後者だと思い後者を使うけど
世の中の大多数がそうというわけでもない
0855デフォルトの名無しさん
2016/01/06(水) 09:01:02.28ID:wURx2dCr「やり方は一つ」なんてことはありえないし、
「誰が書いても同じようなコードになる」なんてことはありえないし、
「複雑で分かりにくいコードにはならない」なんてこともない。
他の言語となんらかわらないって
同意を得られればOKさw
0856デフォルトの名無しさん
2016/01/06(水) 09:12:26.66ID:9dwHBHIuシンプル = 正しいコード
ではないよw
0857デフォルトの名無しさん
2016/01/06(水) 09:36:26.93ID:Nanl9e4Uみたいな争いかと思ったら、ライブラリ使ったら短く書けるみたいな話だったw
0858デフォルトの名無しさん
2016/01/06(水) 09:40:03.40ID:wURx2dCr構文を追加するのもライブラリを追加するのも
大差ないからね。
構文の話で言えば、デコレータとかあるね。デコレータは無くてもできる。
やり方は一つというならば、デコレータはなくていいはず。
Pythonも他の言語同じように構文を追加しているし
やり方は幾つもある。
0859デフォルトの名無しさん
2016/01/06(水) 09:47:02.53ID:wURx2dCrその構文を使って作られたコードもシンプルになるか?
という問いを出せば、殆どの人が
NOと答えるのは明らかだろうしね。
0860デフォルトの名無しさん
2016/01/06(水) 09:48:59.27ID:Nanl9e4U>>833あたりにも書いてあるけど、汚い冗長なコードの話じゃないんだよ
可読性の高いコードは大体似た形に収束するってこと
例えば、デコレータ使うべきコードは使ってないコードよりシンプルで読みやすいよ
だからPythonに慣れたプログラマならデコレータを使う
0861デフォルトの名無しさん
2016/01/06(水) 09:51:35.61ID:Nanl9e4U同程度に可読性の高いコードを用意してから反論してね
自分でデコレータを言い出したんだから出来るでしょ?
0862デフォルトの名無しさん
2016/01/06(水) 09:53:09.92ID:wURx2dCrっていう所が矛盾してるって気づかない?w
じゃあPythonに慣れていない人は、
デコレータを使わないわけだ。
Pythonはいろんな書き方ができるっていう
例になってるよね。
0863デフォルトの名無しさん
2016/01/06(水) 09:54:37.09ID:wURx2dCr俺がいいたいことを勘違いしているから
どうしようもないなw
俺は、Pythonでもいろんな書き方できるって話をしてる。
Pythonを使ったらと言って、同じ書き方になるわけじゃないし
綺麗な書き方になるわけじゃない。
0864デフォルトの名無しさん
2016/01/06(水) 09:54:57.63ID:NeF0se+20865デフォルトの名無しさん
2016/01/06(水) 09:59:29.68ID:Nanl9e4Uあ、Pythonに慣れたプログラマのコードは似てくるって処に反論出来ないんだ?w
じゃあ次。シロウトは上手い人達のコード見て学ぶから、
上手い人達のコードが大体似ていたら
似た感じのコードを書くように上達するよね?
0866デフォルトの名無しさん
2016/01/06(水) 10:04:44.43ID:wURx2dCrPython以前の問題があるよね?
つまりコードの設計ね。クラス設計とか。
インターフェース設計とかこういう設計は人それぞれ違う。
別の人が同じジャンルのソフトを作ってもぜんぜん違うでしょ?
こういうのは言語以前の問題なんだけど、
Pythonを使うと、なんで言語以前の問題が解決するのか?
ソフトウェアが複雑になるかどうかっていうのは
結局作る人の技術による所が大部分を占めているわけだけど、
なんで「Pythonに慣れた人」限定にするんだ?
それはつまり、Pythonに慣れない人がPythonを使うと
同じようなコードになるわけではないと認めているようなものだろう?
Pythonは何も提供していない。
0867デフォルトの名無しさん
2016/01/06(水) 10:06:43.56ID:wURx2dCrよし、じゃあ問題を一つだそう。
リスト内包表記を10回使うことで
一行で書けるコードがあるとする。
君は、一行で書くのか?
人によってバラバラだと思うぞ。
0868デフォルトの名無しさん
2016/01/06(水) 10:08:09.16ID:Nanl9e4UPythonを使えば設計まで一つに収束するなんて
君以外に誰も言ってないよ?あったらソース出して知りたいから
で?上手い人達のコードの書き方が大体似てると
初学者が学ぶときに迷いや混乱が少ないことへの
反論は無いの?
0869デフォルトの名無しさん
2016/01/06(水) 10:10:18.25ID:Nanl9e4Uループ10回を入れ子にした内包表記?そんなの使わないよ
で、人によってバラバラと言うくらいだから、それを1行で書いたオープンソースのコードくらい出せるんだよね
リンク貼ってよ
0870デフォルトの名無しさん
2016/01/06(水) 10:12:41.03ID:sSeYtXZaって言われてるようなものなのによくやるわ
0871デフォルトの名無しさん
2016/01/06(水) 10:15:09.34ID:wURx2dCrif なんとか
return
なんてものは全部デコレータにできるわけだ。
おそらくほぼすべての関数は、デコレータを使って書き直せるし、
それにより行数を減らすことも可能だろう。
例 (これは行数は減ってないけどな)
@hello
def world():
print "world"
出力結果
hello world
0872デフォルトの名無しさん
2016/01/06(水) 10:16:20.30ID:wURx2dCrだから、お前は、入れ子何回までやるのか?って
聞いてるんだが。
その回数がPythonに慣れた人全員が同じであれば、
誰が書いてもおなじになるだろうさw
0873デフォルトの名無しさん
2016/01/06(水) 10:17:17.02ID:wURx2dCrだからさ、コードが汚いっていうのは、
そういう細かい書き方が問題じゃないって言ってるの。
>>830で書いただろ
実際にやった上で言ってる。
初心者が書いたコードを修正したうえでな。
そいうのコードの何が悪かったか言ってやろうか?
・1関数のコードが長い
・Pythonらしいと言われる機能を何も使ってない。使わなくてもかけるからな。
・リスト内包表記を使っていない。使わなくても別のやり方でかけるからな。
・デコレータを使ってない。使わなくても同じ処理を重複して書けばできるからな。
・PEP8に準拠していない。準拠しなくても別の書き方できるからな。
・Djangoを使っていたがモデルを正しく使っていない。モデルではなくコントローラを太らせて同じことはできるからな
・コードのあちこちに接続サーバー情報などが直接埋め込まれていた。
・Django、TurboGeares、Pyramid、Flask、Bottleなどいろんなフレームワークがあって、書き方もそれぞれ違う。
0874デフォルトの名無しさん
2016/01/06(水) 10:18:40.35ID:glbrcw7G喧嘩が出来ないというより、バトルロワイヤルになってなくないか?
Pythonでも汚いコードが書ける、と言う方は。
じゃあ、その点、誰でもある一定のレベルで綺麗なコードが書けるLL言語って何か提示して欲しいわ。煽りではなく。
0875デフォルトの名無しさん
2016/01/06(水) 10:20:28.83ID:wURx2dCr> 俺の理想を100%供給してくれるわけではないからpythonはなにも供給しない
> って言われてるようなものなのによくやるわ
少し違うね。
俺が求めているものを全く供給してくれていないから、
Pytyonが主張している誰が書いても同じコードになるとか
誰が書いても読みやすいコードになるというのは
幻想であるって話。
だからPythonが何かを供給してくれるというのなら、
何を供給してくれるのかを具体的に言ってくれと言ってるんだが。
「○○という機能を供給してくれるから同じようなコードになる」という形で言ってくれ。
0876デフォルトの名無しさん
2016/01/06(水) 10:21:23.70ID:wURx2dCr> じゃあ、その点、誰でもある一定のレベルで綺麗なコードが書けるLL言語って何か提示して欲しいわ。煽りではなく。
俺が主張をしているのは、Pythonを含めてそんなものはないって言ってるだけ。
0877デフォルトの名無しさん
2016/01/06(水) 10:25:46.91ID:glbrcw7Glintがどうの、って言ってたんじゃないの?
では、そんな物は無いのであれば、それに一番近い言語は何なんだろう?
もしくは、色々な書き方が出来るメリットのある言語って何?
0878デフォルトの名無しさん
2016/01/06(水) 10:26:27.22ID:sSeYtXZaはいはいpythonはゴミゴミ
0879デフォルトの名無しさん
2016/01/06(水) 10:32:06.14ID:wURx2dCrlintは言語じゃねーしw
言語ではコードスタイルの統一すら出来ないからlintが作られたんだろ?
そのlintも設定次第でいろんなスタイルに対応できる(=いろんなスタイルがある)
ということだし。
>>878
コードの複雑さっていうのは、言語で解決できる問題じゃないってわかりましたか?
Pythonを使ったからといって、誰でも同じようなコードになるわけじゃないし、
汚いコードが無くなるわけもない。
ほんの些細な点(インデントだけ)が統一される程度で
その程度のことだからコードの品質に大した影響を与えない。
Pythonだからって他の言語となんらかわらない。
結局はプログラマの技術力次第だって話を最初からしてるんだが。
0880デフォルトの名無しさん
2016/01/06(水) 10:43:34.30ID:ERXHKPxy言語だと言ってないでしょ。
読みづらいならlintを掛ければ平準化されるだろ、って話を挙げてた上で、
コードスタイルを仕様として統一出来るのであれば要らないんじゃないの?って疑問だよ。
ってか、コードスタイルを平準化するニーズがあってlintがあるんだから、
コードスタイルの強制のメリットを否定するなら、lintの存在意義が無意味になるんだし、
あなたの話は破綻するんだけど。
揚げ足取って論破したつもりになって楽しいなら、そういう小さな事で満足してくれてたらいいけどね。
技術力次第、なんてのは当たり前じゃん。
ねじ回し使っても、ナイフで抉ってもネジは締まるのと同じ。
ただ、バカが居たり、効率的にやるためにも、ネジのサイズに規格があって、プラスネジとプラスドライバーがあるようなもんでしょ。
0881デフォルトの名無しさん
2016/01/06(水) 10:56:01.45ID:wURx2dCrlintは他の言語でもあるんでPython特有の話じゃない。
lintの存在はPythonは他の言語と大差ない理由の一つだよ。
0882デフォルトの名無しさん
2016/01/06(水) 11:03:25.32ID:ERXHKPxy言い方を変えてみたらどうだろう。
他の言語ではツールを使ってまでするべき作業が、Pythonでは言語仕様として定義されてる、
って感じではないの?
あるツールを使えば同じ結果になるから、特有の話ではない、
って、あるツール無しでは違う結果になるから、特有の話でなんじゃねーの?
0883デフォルトの名無しさん
2016/01/06(水) 11:08:00.48ID:XPVKsuq1相手はキミを「論破」しようとしてるのではないっぽいぞ
彼の主張は一貫してるだけであって
キミがそれに無理な筋を通そうと頑張ってるように見える
0884デフォルトの名無しさん
2016/01/06(水) 11:20:03.02ID:ERXHKPxy俺も一貫してると思うけどね。
無理な筋って?
0885デフォルトの名無しさん
2016/01/06(水) 11:33:54.78ID:dAXQ+tnq開発者に言え
0886デフォルトの名無しさん
2016/01/06(水) 11:49:48.43ID:BCBq5bpEとってもいい言語だとわかった気がするなw
0887デフォルトの名無しさん
2016/01/06(水) 13:02:39.28ID:AEkwzNmA複数のコードを出すことは出来なかったね
自分が初心者だから、初心者でも上級者と同レベルのコード書ける言語が欲しいと喚くばかりで
0888デフォルトの名無しさん
2016/01/06(水) 13:04:44.74ID:Wkg8JRlT> 無理な筋って?
無いものを有ると言い張るならそれは無理でしょ?
>>876
> Pythonを含めてそんなものはない
これに反論してるから有ると言いたいんでしょ?
それとも、そうじゃなくて、やっぱり無いでいいの?
0889デフォルトの名無しさん
2016/01/06(水) 14:02:55.56ID:dPMBxPpqなんだそりゃ。
既にあるのに、それは無意味だと言い続ける事こそが「無理」じゃないのか?
「Pythonを含めてそんな物は無い」に対してだけど、
ネジの喩え話は理解できたのかな。
ある一定の不自由さを使ってのポカヨケってあるあるなんだけど、心当たりが無いというのは実務経験無いの?
そういう意味では、割と初心者向けだと思うよ。
有る、無いの二択ではなく、間違ったコードを書いてしまう度、みたいな尺度て考えてみたら?
ぶら下げifに一行足して死ぬパターンとかが起こりえない、とか実にうまく出来てるよ。
0890デフォルトの名無しさん
2016/01/06(水) 14:27:16.27ID:Wkg8JRlT> 既にある
では「誰でもある一定のレベルで綺麗なコードが書けるLL言語」
とやらを示してみせてほしい
0891デフォルトの名無しさん
2016/01/06(水) 15:18:13.97ID:dPMBxPpqPythonじゃん。あなたが認めないだけで。
0892デフォルトの名無しさん
2016/01/06(水) 15:53:32.53ID:wURx2dCrじゃあ、その理由を具体的に言ってみて。
0893デフォルトの名無しさん
2016/01/06(水) 16:01:45.10ID:wURx2dCr3は汚いコードで2は使いものにならないコード。
Pythonは1を2にする程度
Pythonを使うだけで最低2という一定のレベルのコードが書ける。
この程度の話でしょw
0894デフォルトの名無しさん
2016/01/06(水) 16:12:12.14ID:Wkg8JRlTその断言を聞いてあらためて驚いてる
認めないんじゃなくて、驚いているんだ
「Pythonが、誰でもある一定のレベルで綺麗なコードが書けるLL言語」
などという主張は生まれて初めて耳にしたから
0895デフォルトの名無しさん
2016/01/06(水) 16:29:04.30ID:w/Ep0I7Y何年か前に書いたPerlやrbは何やりたいのか自分でも分からないから
0896デフォルトの名無しさん
2016/01/06(水) 16:34:33.31ID:dPMBxPpq何度も言ってるだろ。
>>894
The Zen of Pythonにある。
「There should be one―and preferably only one―obvious way to do it」の一節。
0897デフォルトの名無しさん
2016/01/06(水) 17:03:39.73ID:BCBq5bpE0898デフォルトの名無しさん
2016/01/06(水) 17:16:35.78ID:3taoJABm現在のPythonがその思想を実現可能か否かとは違う
0899デフォルトの名無しさん
2016/01/06(水) 17:20:17.16ID:wURx2dCrだから、その一節の根拠はなにか?って話だ。
Pythonはやり方が一つしかないっていうのが
ウソであることはすでに示した。
0900デフォルトの名無しさん
2016/01/06(水) 17:22:53.10ID:Wkg8JRlT?
そのZenは既に知っている
>>895
Proc乱用してたら意外と見難くなるよねrubyは
0901デフォルトの名無しさん
2016/01/06(水) 17:48:48.96ID:dPMBxPpqそれはあんたが恣意的に誤解してるよ。
間違ったやり方であれば、複数あるかもしれないが、
正しいと言われるシンプルなやり方はひとつになるべきだし、
原義通りやってれば一つになる、って事。
「悪いやり方」まで数えてたらおかしいのよ。
python嫌いみたいだからjsで書くと、
hour=(""+(10000+(h.replace(/\:/g,"")-0))).slice(1)
みたいなのは悪手だよね。普通は。
0902デフォルトの名無しさん
2016/01/06(水) 18:02:40.16ID:wURx2dCr> hour=(""+(10000+(h.replace(/\:/g,"")-0))).slice(1)
> みたいなのは悪手だよね。普通は。
それと同じコードをPythonで書くと?
0903デフォルトの名無しさん
2016/01/06(水) 18:03:32.43ID:wURx2dCr> 正しいと言われるシンプルなやり方はひとつになるべきだし、
それは理想であって、Pythonが実現していることではない
> 原義通りやってれば一つになる、って事。
一つになるものなんかない
0904デフォルトの名無しさん
2016/01/06(水) 18:11:58.84ID:Fr+RqGzn一般論としてそういう風潮を作っておくのは有用だとは思う
0905デフォルトの名無しさん
2016/01/06(水) 18:12:43.59ID:BCBq5bpE確かにそれがpythonの目指してるものだよね
実際に使われてるとこみてもかなり成功してるといえる
0906デフォルトの名無しさん
2016/01/06(水) 18:29:34.89ID:dPMBxPpqどういう絡み方なんだよ。
t=time.strptime(h, "%H:%M")
hour="{0:02d}{1:02d}".format(t.tm_hour ,t.tm_min)
くらいになるんじゃないの?
コメント無しでも理解できるレベルで書けば良いんだよ。
>>903
お前は文盲か。
0907デフォルトの名無しさん
2016/01/06(水) 18:35:51.16ID:dPMBxPpqこれを、
h=str(10000+int(h.replace(":","")))[1:]
と書いても結果はおおよそ同じだけど、
正攻法とは言えないし、冴えてもない。
これは、答えは同じだけど、間違ってるに等しいコード。
0908デフォルトの名無しさん
2016/01/06(水) 18:43:29.31ID:lmDMYYEi教育機関で情報科学を学んだことがある人は自然に教科書らしい書き方に誘導されてしまう
レス数が900を超えています。1000を超えると表示できなくなるよ。