トップページ > プログラム > 2016年01月06日 > wURx2dCr

書き込み順位&時間帯一覧

1 位/226 ID中時間01234567891011121314151617181920212223Total
書き込み数00000002159100011121241334



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
Perlについての質問箱 64箱目 [転載禁止]©2ch.net
【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止]©2ch.net
Git 13 [転載禁止]©2ch.net
パターンマッチを極限まで高めたら [無断転載禁止]©2ch.net
【最強CUI】PowerShell -Part 1

書き込みレス一覧

Perlについての質問箱 64箱目 [転載禁止]©2ch.net
838 :デフォルトの名無しさん[sage]:2016/01/06(水) 07:31:37.90 ID:wURx2dCr
ベタっていうなら、関数使うな。
【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止]©2ch.net
848 :デフォルトの名無しさん[sage]:2016/01/06(水) 07:35:05.09 ID:wURx2dCr
>>846
コードの複雑さっていうのは、そういうことじゃないからな。
少ない部品であっても、関連する機能をあちこちに
ばらまくとあっという間に複雑になる。

というか、部品が少ないほど、少ない部品を使って
あれこれ書かないといけないから、複雑になる。
【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止]©2ch.net
850 :デフォルトの名無しさん[sage]:2016/01/06(水) 08:00:46.11 ID:wURx2dCr
例えば、リストの中身は特定の条件で分けるという処理をしていた。
例えば偶数の値のリスト、奇数の値のリストみたいに。

forとifとリストのappendあたりを使えば、それは実現できる。
だけど、別の書き方、itertools.groupby()を使えば
もっとシンプルに実装できる。

いろんな道具が合ったほうがシンプルに書けるという例。
そしてPythonでもいろんなやり方があるという例
【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止]©2ch.net
855 :デフォルトの名無しさん[sage]:2016/01/06(水) 09:01:02.28 ID:wURx2dCr
俺としてはPythonであっても
「やり方は一つ」なんてことはありえないし、
「誰が書いても同じようなコードになる」なんてことはありえないし、
「複雑で分かりにくいコードにはならない」なんてこともない。

他の言語となんらかわらないって
同意を得られればOKさw
【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止]©2ch.net
858 :デフォルトの名無しさん[sage]:2016/01/06(水) 09:40:03.40 ID:wURx2dCr
>>857
構文を追加するのもライブラリを追加するのも
大差ないからね。

構文の話で言えば、デコレータとかあるね。デコレータは無くてもできる。
やり方は一つというならば、デコレータはなくていいはず。

Pythonも他の言語同じように構文を追加しているし
やり方は幾つもある。
【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止]©2ch.net
859 :デフォルトの名無しさん[sage]:2016/01/06(水) 09:47:02.53 ID:wURx2dCr
それから、構文がシンプルであれば、
その構文を使って作られたコードもシンプルになるか?

という問いを出せば、殆どの人が
NOと答えるのは明らかだろうしね。
【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止]©2ch.net
862 :デフォルトの名無しさん[sage]:2016/01/06(水) 09:53:09.92 ID:wURx2dCr
Pythonに慣れたプログラマならデコレータを使う
っていう所が矛盾してるって気づかない?w

じゃあPythonに慣れていない人は、
デコレータを使わないわけだ。

Pythonはいろんな書き方ができるっていう
例になってるよね。
【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止]©2ch.net
863 :デフォルトの名無しさん[sage]:2016/01/06(水) 09:54:37.09 ID:wURx2dCr
>>861
俺がいいたいことを勘違いしているから
どうしようもないなw

俺は、Pythonでもいろんな書き方できるって話をしてる。
Pythonを使ったらと言って、同じ書き方になるわけじゃないし
綺麗な書き方になるわけじゃない。
【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止]©2ch.net
866 :デフォルトの名無しさん[sage]:2016/01/06(水) 10:04:44.43 ID:wURx2dCr
>>865
Python以前の問題があるよね?

つまりコードの設計ね。クラス設計とか。
インターフェース設計とかこういう設計は人それぞれ違う。
別の人が同じジャンルのソフトを作ってもぜんぜん違うでしょ?

こういうのは言語以前の問題なんだけど、
Pythonを使うと、なんで言語以前の問題が解決するのか?

ソフトウェアが複雑になるかどうかっていうのは
結局作る人の技術による所が大部分を占めているわけだけど、
なんで「Pythonに慣れた人」限定にするんだ?

それはつまり、Pythonに慣れない人がPythonを使うと
同じようなコードになるわけではないと認めているようなものだろう?
Pythonは何も提供していない。
【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止]©2ch.net
867 :デフォルトの名無しさん[sage]:2016/01/06(水) 10:06:43.56 ID:wURx2dCr
>>865
よし、じゃあ問題を一つだそう。

リスト内包表記を10回使うことで
一行で書けるコードがあるとする。

君は、一行で書くのか?

人によってバラバラだと思うぞ。
【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止]©2ch.net
871 :デフォルトの名無しさん[sage]:2016/01/06(水) 10:15:09.34 ID:wURx2dCr
デコレータを使うにしても、

if なんとか
  return

なんてものは全部デコレータにできるわけだ。

おそらくほぼすべての関数は、デコレータを使って書き直せるし、
それにより行数を減らすことも可能だろう。


例 (これは行数は減ってないけどな)

@hello
def world():
  print "world"

出力結果
hello world
【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止]©2ch.net
872 :デフォルトの名無しさん[sage]:2016/01/06(水) 10:16:20.30 ID:wURx2dCr
>>869
だから、お前は、入れ子何回までやるのか?って
聞いてるんだが。

その回数がPythonに慣れた人全員が同じであれば、
誰が書いてもおなじになるだろうさw
【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止]©2ch.net
873 :デフォルトの名無しさん[sage]:2016/01/06(水) 10:17:17.02 ID:wURx2dCr
>>868
だからさ、コードが汚いっていうのは、
そういう細かい書き方が問題じゃないって言ってるの。

>>830で書いただろ

実際にやった上で言ってる。
初心者が書いたコードを修正したうえでな。

そいうのコードの何が悪かったか言ってやろうか?

・1関数のコードが長い
・Pythonらしいと言われる機能を何も使ってない。使わなくてもかけるからな。
・リスト内包表記を使っていない。使わなくても別のやり方でかけるからな。
・デコレータを使ってない。使わなくても同じ処理を重複して書けばできるからな。
・PEP8に準拠していない。準拠しなくても別の書き方できるからな。
・Djangoを使っていたがモデルを正しく使っていない。モデルではなくコントローラを太らせて同じことはできるからな
・コードのあちこちに接続サーバー情報などが直接埋め込まれていた。
・Django、TurboGeares、Pyramid、Flask、Bottleなどいろんなフレームワークがあって、書き方もそれぞれ違う。
【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止]©2ch.net
875 :デフォルトの名無しさん[sage]:2016/01/06(水) 10:20:28.83 ID:wURx2dCr
>>870
> 俺の理想を100%供給してくれるわけではないからpythonはなにも供給しない
> って言われてるようなものなのによくやるわ

少し違うね。

俺が求めているものを全く供給してくれていないから、
Pytyonが主張している誰が書いても同じコードになるとか
誰が書いても読みやすいコードになるというのは
幻想であるって話。


だからPythonが何かを供給してくれるというのなら、
何を供給してくれるのかを具体的に言ってくれと言ってるんだが。
「○○という機能を供給してくれるから同じようなコードになる」という形で言ってくれ。
【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止]©2ch.net
876 :デフォルトの名無しさん[sage]:2016/01/06(水) 10:21:23.70 ID:wURx2dCr
>>874
> じゃあ、その点、誰でもある一定のレベルで綺麗なコードが書けるLL言語って何か提示して欲しいわ。煽りではなく。

俺が主張をしているのは、Pythonを含めてそんなものはないって言ってるだけ。
【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止]©2ch.net
879 :デフォルトの名無しさん[sage]:2016/01/06(水) 10:32:06.14 ID:wURx2dCr
>>877
lintは言語じゃねーしw

言語ではコードスタイルの統一すら出来ないからlintが作られたんだろ?
そのlintも設定次第でいろんなスタイルに対応できる(=いろんなスタイルがある)
ということだし。

>>878
コードの複雑さっていうのは、言語で解決できる問題じゃないってわかりましたか?
Pythonを使ったからといって、誰でも同じようなコードになるわけじゃないし、
汚いコードが無くなるわけもない。

ほんの些細な点(インデントだけ)が統一される程度で
その程度のことだからコードの品質に大した影響を与えない。

Pythonだからって他の言語となんらかわらない。
結局はプログラマの技術力次第だって話を最初からしてるんだが。
【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止]©2ch.net
881 :デフォルトの名無しさん[sage]:2016/01/06(水) 10:56:01.45 ID:wURx2dCr
>>880
lintは他の言語でもあるんでPython特有の話じゃない。

lintの存在はPythonは他の言語と大差ない理由の一つだよ。
Git 13 [転載禁止]©2ch.net
514 :デフォルトの名無しさん[sage]:2016/01/06(水) 11:27:32.41 ID:wURx2dCr
削除すればいいやん
【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止]©2ch.net
892 :デフォルトの名無しさん[sage]:2016/01/06(水) 15:53:32.53 ID:wURx2dCr
>>891
じゃあ、その理由を具体的に言ってみて。
【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止]©2ch.net
893 :デフォルトの名無しさん[sage]:2016/01/06(水) 16:01:45.10 ID:wURx2dCr
レベルが10段階あったとして10が最高のコード、5が普通のコード、
3は汚いコードで2は使いものにならないコード。

Pythonは1を2にする程度
Pythonを使うだけで最低2という一定のレベルのコードが書ける。

この程度の話でしょw
【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止]©2ch.net
899 :デフォルトの名無しさん[sage]:2016/01/06(水) 17:20:17.16 ID:wURx2dCr
>>896
だから、その一節の根拠はなにか?って話だ。

Pythonはやり方が一つしかないっていうのが
ウソであることはすでに示した。
【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止]©2ch.net
902 :デフォルトの名無しさん[sage]:2016/01/06(水) 18:02:40.16 ID:wURx2dCr
>>901
> hour=(""+(10000+(h.replace(/\:/g,"")-0))).slice(1)
> みたいなのは悪手だよね。普通は。

それと同じコードをPythonで書くと?
【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止]©2ch.net
903 :デフォルトの名無しさん[sage]:2016/01/06(水) 18:03:32.43 ID:wURx2dCr
>>901
> 正しいと言われるシンプルなやり方はひとつになるべきだし、
それは理想であって、Pythonが実現していることではない

> 原義通りやってれば一つになる、って事。
一つになるものなんかない
【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止]©2ch.net
911 :デフォルトの名無しさん[sage]:2016/01/06(水) 19:41:32.98 ID:wURx2dCr
な? いろんな書き方があるだろ?
Pythonでは書き方一つではないという証拠。
パターンマッチを極限まで高めたら [無断転載禁止]©2ch.net
5 :デフォルトの名無しさん[sage]:2016/01/06(水) 20:45:00.31 ID:wURx2dCr
>>1
if-elseif-else 最強
【最強CUI】PowerShell -Part 1
613 :デフォルトの名無しさん[sage]:2016/01/06(水) 20:58:29.27 ID:wURx2dCr
PSHELLははやいのか?
【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止]©2ch.net
917 :デフォルトの名無しさん[sage]:2016/01/06(水) 21:05:11.91 ID:wURx2dCr
Pythonでもやり方が固定されていないのはすでになんども言ったとおりだが、
仮にやり方が固定されているとすると、それはデメリットでしか無いよ。

というのは、やり方が固定されているということは、
これ以上発展しないということを意味するから。

普通は言語は進化していくものなのだが、進化しても
新しい書き方ができるようにならないということになる。
やり方が固定されているのでそういうことである。

最初っから完璧な言語であれば、それでもいいと思うが、
そんなものはない。だからPythonは最善じゃない書き方で
やり方が固定されてしまう。Pythonは落ちていくだけの言語。

そして誰が書いても同じになるならば
著作権が発生しないということでもある。
【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止]©2ch.net
922 :デフォルトの名無しさん[sage]:2016/01/06(水) 21:42:29.38 ID:wURx2dCr
やり方が固定されているっていうのが
ファンタジーなんだよw

Pythonでもやり方はいくつもあるし、
悪い書き方もできる。
【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止]©2ch.net
923 :デフォルトの名無しさん[sage]:2016/01/06(水) 21:44:18.83 ID:wURx2dCr
例えばFizzBuzzは実用レベルとは程遠い
ものすごく小さいプログラムだけど
たったこれだけのものでもやり方は幾つもある。
Git 13 [転載禁止]©2ch.net
520 :デフォルトの名無しさん[sage]:2016/01/06(水) 21:47:51.60 ID:wURx2dCr
>>518
一行目は50文字以下。
だから改行なんぞあるわけがない
【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止]©2ch.net
927 :デフォルトの名無しさん[sage]:2016/01/06(水) 22:44:42.46 ID:wURx2dCr
最初からPythonは「やり方は一つ」とか「綺麗なコードが書ける」と言ってるが
別にそうなるような特別な機能を持っているわけでなく、
他の言語と何ら変わらないって話をしてるんだけどな。
【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止]©2ch.net
929 :デフォルトの名無しさん[sage]:2016/01/06(水) 23:00:49.31 ID:wURx2dCr
>>928
それは正確じゃないねw

ゴミみたいなコードを書くのはPythonでも可能
そして実際込みたいなコードを書いている奴がいる。

本当に書き方が一つしか無いのであれば、ゴミみたいなコードは存在しないはず。
ゴミみたいなコードを書くやつを排除する仕組みなんか
Pythonにないし、たとえインデントだけキチンと揃えても
ゴミコードはゴミコード

っていう話をしてる。
【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止]©2ch.net
931 :デフォルトの名無しさん[sage]:2016/01/06(水) 23:07:41.36 ID:wURx2dCr
な? 反論ではなく、馬鹿というだけw
つまり反論できないんだよね。
【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止]©2ch.net
934 :デフォルトの名無しさん[sage]:2016/01/06(水) 23:14:41.38 ID:wURx2dCr
>>932
そのとおりだね(笑)


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。