スレタイ以外の言語もok
前スレ
次世代言語11[Rust Swift TypeScript Dart]
https://mevius.5ch.net/test/read.cgi/tech/1528037607/
次世代言語12 Go Rust Swift Kotlin TypeScript
■ このスレッドは過去ログ倉庫に格納されています
2018/07/04(水) 09:38:15.76ID:qg2ggPtj
424デフォルトの名無しさん
2018/07/29(日) 10:01:04.81ID:Df5F+309 継続最強伝説からモナド最強伝説に移行するところで大多数が挫折しただけだろ
425デフォルトの名無しさん
2018/07/29(日) 10:07:44.75ID:HPChxVcI ライブラリは重要。はっきりわかんだね
426デフォルトの名無しさん
2018/07/29(日) 10:33:03.96ID:ESZBzPf9427デフォルトの名無しさん
2018/07/29(日) 10:40:49.33ID:4MUmFrCs C言語で書かれたpythonライブラリがイケてるのであって、言語としてのpythonは全然イケてないぞ
428デフォルトの名無しさん
2018/07/29(日) 10:51:54.17ID:HPChxVcI Python並みのライブラリがあるイケてる文法の言語が来たら乗り換えるわw
429デフォルトの名無しさん
2018/07/29(日) 11:05:56.06ID:gNiJKIOF はいJulia(AV)
430デフォルトの名無しさん
2018/07/29(日) 11:10:11.43ID:++hEM/7+431デフォルトの名無しさん
2018/07/29(日) 11:15:18.90ID:gNiJKIOF [JavaScript]
a.sort().reverse().map(x => x.toString()).join(“-“)
[Python]
'-'.join(map(lambda x: str(x), reversed(sorted(a))))
うーんこのウンPy
a.sort().reverse().map(x => x.toString()).join(“-“)
[Python]
'-'.join(map(lambda x: str(x), reversed(sorted(a))))
うーんこのウンPy
432デフォルトの名無しさん
2018/07/29(日) 11:17:50.59ID://sAdRxp 結局言語のしょうもないシンタックスについてあーだこーだ言っても意味ねーわって話だな。
インストールの容易さとか実行環境だったりモジュール管理の容易さだったり
そういったところの影響のがでかいってのがpythonが流行ってる理由だろ。
インストールの容易さとか実行環境だったりモジュール管理の容易さだったり
そういったところの影響のがでかいってのがpythonが流行ってる理由だろ。
433デフォルトの名無しさん
2018/07/29(日) 11:37:40.49ID:HPChxVcI でもPythonのシンタックスに満足してないのは事実なので、Pythonの良いところを全部持った上でシンタックスも良い言語が来たら嬉ぴい
434デフォルトの名無しさん
2018/07/29(日) 11:40:20.69ID:TvDsoeQn >>426
いつの時代の話かい?
いつの時代の話かい?
435デフォルトの名無しさん
2018/07/29(日) 11:47:17.92ID:gNiJKIOF __init__.py (笑い)
sys.path.append(木亥火暴)
実行環境だったりモジュール管理の容易さだったり藁藁藁藁藁藁藁藁
大草原か?
sys.path.append(木亥火暴)
実行環境だったりモジュール管理の容易さだったり藁藁藁藁藁藁藁藁
大草原か?
436デフォルトの名無しさん
2018/07/29(日) 11:51:28.16ID:lzRBxehA Pythonは好きだが、MercurialがGitに負けたのは正直Pythonのせいだと思う
Rubyもそうだけど広く使われるツールに使うもんじゃない
Rubyもそうだけど広く使われるツールに使うもんじゃない
437デフォルトの名無しさん
2018/07/29(日) 11:56:21.18ID:I6LJ2IHq438デフォルトの名無しさん
2018/07/29(日) 11:59:05.77ID://sAdRxp >MercurialがGitに負けたのは正直Pythonのせいだと思う
Mercurialの設計がまずかったとしか言いようがないがな。
コンフリクト修正のためのresolveの不自然さとかコミットツリーの修正ができないところだったり
使っていると普通に問題になる。
gitの設計はよくできてると思うよ。
>sys.path.append
こんなものを容易にソースに入れる奴はディレクトリ管理自体ど下手くそなだけで
どんな言語でもクソなことやり出すと思うがな。
Mercurialの設計がまずかったとしか言いようがないがな。
コンフリクト修正のためのresolveの不自然さとかコミットツリーの修正ができないところだったり
使っていると普通に問題になる。
gitの設計はよくできてると思うよ。
>sys.path.append
こんなものを容易にソースに入れる奴はディレクトリ管理自体ど下手くそなだけで
どんな言語でもクソなことやり出すと思うがな。
439デフォルトの名無しさん
2018/07/29(日) 12:09:18.71ID:ikK7Yp3X リスト内包表記とやらにしがみ付いてる悲しい連中ってイメージ
可読性w
可読性w
440デフォルトの名無しさん
2018/07/29(日) 12:12:42.59ID:gNiJKIOF リスト内糞包糞表記糞とかいう糞
441デフォルトの名無しさん
2018/07/29(日) 12:13:20.83ID:gNiJKIOF Py厨って要するにワンライナーおじさんだよな
442デフォルトの名無しさん
2018/07/29(日) 12:14:46.99ID:Gc+Obosx pythonでワンライナー志向はあり得んやろ
443デフォルトの名無しさん
2018/07/29(日) 12:19:06.63ID://sAdRxp リスト内包がクソなコード生みやすいってのは賛同するが
多分そういうクソコードを書くやつがruby、perlで書くともっととんでもないキメラコードを作成する。
多分そういうクソコードを書くやつがruby、perlで書くともっととんでもないキメラコードを作成する。
444デフォルトの名無しさん
2018/07/29(日) 12:25:32.62ID:ikK7Yp3X pythonの可読性に関わる幻想
445デフォルトの名無しさん
2018/07/29(日) 12:29:49.21ID:2jsBPgao ほとんどの言語の可読性はpython以下だけど
446デフォルトの名無しさん
2018/07/29(日) 12:30:59.85ID:OtuHAjKj pythonが流行ってるというかnumpyが流行ってるだけでしょ
447デフォルトの名無しさん
2018/07/29(日) 12:35:03.76ID:HPChxVcI448デフォルトの名無しさん
2018/07/29(日) 13:14:09.48ID:pFjYaTQt Python は、メソッドチェーンしにくい。
Ruby, JavaScript, jQuery では、a.b().c() みたいに書けるけど、
Python では、逆に書く
c( b(a) )
オブジェクト指向からすると、突っかかる。
自然に読めない。
思考が乱されるから、バグりやすい
a のインスタンスに、b を適用して、
その結果に、c を適用する
これが自然
Ruby, JavaScript, jQuery では、a.b().c() みたいに書けるけど、
Python では、逆に書く
c( b(a) )
オブジェクト指向からすると、突っかかる。
自然に読めない。
思考が乱されるから、バグりやすい
a のインスタンスに、b を適用して、
その結果に、c を適用する
これが自然
449デフォルトの名無しさん
2018/07/29(日) 13:19:55.26ID:2jsBPgao >>448
pythonでもそういうメソッドを作ればメソッドチェーンにできるけど、一行にだらだら書くべきじゃないという思想的な問題のせいで、そういうメソッドが用意されてないだけだよね。
pythonでもそういうメソッドを作ればメソッドチェーンにできるけど、一行にだらだら書くべきじゃないという思想的な問題のせいで、そういうメソッドが用意されてないだけだよね。
450デフォルトの名無しさん
2018/07/29(日) 13:48:42.85ID:UcWx6ddp 底辺のドカタにとってはメソッドチェーンが重要なんだね
451デフォルトの名無しさん
2018/07/29(日) 13:54:46.41ID:gNiJKIOF > 一行にだらだら書くべきじゃない
a = unko()
b_result = b(a)
c_result = c(b_result)
あっ、ふーん・・・
a = unko()
b_result = b(a)
c_result = c(b_result)
あっ、ふーん・・・
452デフォルトの名無しさん
2018/07/29(日) 13:55:33.44ID:HPChxVcI453デフォルトの名無しさん
2018/07/29(日) 13:55:46.89ID:gNiJKIOF 言うほど読みやすいか?
こんなの書いてくるやついたら草生やしてしばき倒すでフツウ
こんなの書いてくるやついたら草生やしてしばき倒すでフツウ
454デフォルトの名無しさん
2018/07/29(日) 14:00:10.27ID:ikK7Yp3X455デフォルトの名無しさん
2018/07/29(日) 14:05:24.19ID:UcWx6ddp 見当違いの批判をされてもAI分野で圧倒的に支持されてるのは変わらないから
ドカタが嫉妬してるだけに見えるんだよね
ドカタが嫉妬してるだけに見えるんだよね
456デフォルトの名無しさん
2018/07/29(日) 14:08:42.69ID:I6LJ2IHq 関数型言語の関数チェーンはともかく、メソッドチェーンは似て非なるゴミ。
457デフォルトの名無しさん
2018/07/29(日) 14:11:10.25ID:lzRBxehA Pythonだと、>>451の一行一行で扱うものがGBクラスのバッチだったりするからね
458デフォルトの名無しさん
2018/07/29(日) 14:20:05.39ID:gNiJKIOF [JavaScript]
a
.sort()
.reverse()
.map(x => x.toString())
.join(“-“)
[Python]
'-'.join(map(lambda x: str(x), reversed(sorted(a))))
下は書く気にもならん
補完も効かないし
パイソニップさあ・・・このウンコードはなんだい?
a
.sort()
.reverse()
.map(x => x.toString())
.join(“-“)
[Python]
'-'.join(map(lambda x: str(x), reversed(sorted(a))))
下は書く気にもならん
補完も効かないし
パイソニップさあ・・・このウンコードはなんだい?
459デフォルトの名無しさん
2018/07/29(日) 14:20:50.80ID:gNiJKIOF パイソニップさあ・・・
JavaScript以下、ウンポコペチプー並とか
恥ずかしくないのかい?
JavaScript以下、ウンポコペチプー並とか
恥ずかしくないのかい?
460デフォルトの名無しさん
2018/07/29(日) 14:22:50.50ID:Df5F+309 これは数学が悪い
関数はあるのにメソッドがない
ラムダやmapは教えないくせに内包表記は教える
関数はあるのにメソッドがない
ラムダやmapは教えないくせに内包表記は教える
461デフォルトの名無しさん
2018/07/29(日) 14:23:03.09ID:++hEM/7+ 冗長なコードを美徳として可読性の高さを謳っているのは
Python だけじゃなく、同じ手続き型言語の Cobol がある
たとえば >>455 を改変してみると:
見当違いの批判をされても業務アプリ開発の分野で
(Cobol が)圧倒的に支持されてるのは変わらないから
ドカタが嫉妬してるだけに見えるんだよね
仮にこんな感じでコボラが主張したとしても、なんら違和感がない
つまり現在に復権したコボラの正統後継者がフェイトニスタってこと
Python だけじゃなく、同じ手続き型言語の Cobol がある
たとえば >>455 を改変してみると:
見当違いの批判をされても業務アプリ開発の分野で
(Cobol が)圧倒的に支持されてるのは変わらないから
ドカタが嫉妬してるだけに見えるんだよね
仮にこんな感じでコボラが主張したとしても、なんら違和感がない
つまり現在に復権したコボラの正統後継者がフェイトニスタってこと
462デフォルトの名無しさん
2018/07/29(日) 14:25:24.26ID:gNiJKIOF 【悲報】パイソニップはウンポコペチプー以下のコボラーだった
463デフォルトの名無しさん
2018/07/29(日) 14:26:32.00ID:++hEM/7+465デフォルトの名無しさん
2018/07/29(日) 14:37:36.71ID:gNiJKIOF ワイはPB級だけど質問ある?
466デフォルトの名無しさん
2018/07/29(日) 15:01:45.76ID:zv0scSBW >>458
aに副作用生じさせといてなんとも思わんお前がカス。
aに副作用生じさせといてなんとも思わんお前がカス。
467デフォルトの名無しさん
2018/07/29(日) 15:04:42.51ID:gNiJKIOF468デフォルトの名無しさん
2018/07/29(日) 15:06:36.51ID:CvskUGg1 メソッドチェーンってそんないいもんかね?
可読性がいいとも思えないけど
可読性がいいとも思えないけど
469デフォルトの名無しさん
2018/07/29(日) 15:10:48.78ID:gNiJKIOF 糞糞糞糞包糞糞と糞関数ラップワンライナーおじさんのパイソニップ草w
470デフォルトの名無しさん
2018/07/29(日) 15:14:54.71ID:zv0scSBW これはやばい。。
やっぱシンタックス厨ってのは害悪でしかないな。
やっぱシンタックス厨ってのは害悪でしかないな。
471デフォルトの名無しさん
2018/07/29(日) 15:21:18.64ID:fLtN8lsN メソッドと関数が混ざって汚いと常々思ってた
472デフォルトの名無しさん
2018/07/29(日) 15:22:51.12ID:zv0scSBW var a = new Array(4, 11, 2, 10, 3, 1);
var b = a.sort();
//var b = a.sort().reverse();
これでaの結果が異なるってマジクソだろ。
var b = a.sort();
//var b = a.sort().reverse();
これでaの結果が異なるってマジクソだろ。
473デフォルトの名無しさん
2018/07/29(日) 15:28:17.30ID:gNiJKIOF お得意の糞糞糞糞包みで糞してみろカスwwwwwwwwwwwwww
474デフォルトの名無しさん
2018/07/29(日) 15:34:16.27ID:J+11rz8t >>467
バカすぎるので晒しとこw
バカすぎるので晒しとこw
475デフォルトの名無しさん
2018/07/29(日) 15:40:29.23ID:J+11rz8t 内包表記は数学由来だから文系のコンプレックスを刺激してしまうんだねw
476デフォルトの名無しさん
2018/07/29(日) 15:49:55.75ID:gNiJKIOF 副作用が糞
メソッドチェーンはフツウに良い
パイソニップ≒コボラー
これが結論
メソッドチェーンはフツウに良い
パイソニップ≒コボラー
これが結論
477デフォルトの名無しさん
2018/07/29(日) 15:57:59.37ID:J+11rz8t478デフォルトの名無しさん
2018/07/29(日) 16:09:52.04ID:EbPqex13 メソッドチェーンがぱっとわかりやすいのも分かるが
リスト内包はリスト内包で数学やってりゃわかる可読性がある
リスト内包がわからんってわめき散らすの無知晒してるだけだからやめた方がいい
それはそれとしてPythonはもっと関数を横に繋げられるようにしてくれ
Elixirのパイプ演算子みたいな感じでさあ
リスト内包はリスト内包で数学やってりゃわかる可読性がある
リスト内包がわからんってわめき散らすの無知晒してるだけだからやめた方がいい
それはそれとしてPythonはもっと関数を横に繋げられるようにしてくれ
Elixirのパイプ演算子みたいな感じでさあ
479デフォルトの名無しさん
2018/07/29(日) 16:10:48.21ID:EbPqex13 というかリスト内包とメソッドチェーン比較してる時点でただの無知だよね
480デフォルトの名無しさん
2018/07/29(日) 16:21:10.67ID:ikK7Yp3X 数学wwwwwwwwwwwwwwww
すwwwwwwすううっがくwwwwww
あれwwwwすうがくやったんけwwwww
すwwwwwwすううっがくwwwwww
あれwwwwすうがくやったんけwwwww
481デフォルトの名無しさん
2018/07/29(日) 16:33:06.78ID:/TApOH16 A = {2x + 5 | x ∈ N}
とかな。見たことあるだろ?
リスト内包はこの延長
こんなんもわからんで批判してたんかい
とかな。見たことあるだろ?
リスト内包はこの延長
こんなんもわからんで批判してたんかい
482デフォルトの名無しさん
2018/07/29(日) 16:48:00.78ID:gNiJKIOF 低学歴パイソニップ、Pythonで数学マウントを取る
483デフォルトの名無しさん
2018/07/29(日) 16:49:43.45ID:/TApOH16 低学歴なのに数学でマウント取る……?
484デフォルトの名無しさん
2018/07/29(日) 17:33:47.60ID:yV15yOGY あーもう
どこの板にもこういうキチガイ湧くんだよな
煽りカスでどっちにも有益にならないから放置安定よ
どこの板にもこういうキチガイ湧くんだよな
煽りカスでどっちにも有益にならないから放置安定よ
485デフォルトの名無しさん
2018/07/29(日) 19:13:52.55ID:Df5F+309 物欲はなくて支配欲だけがあるのが問題なんだろう
買いたい物がない人間が一体何のために利益を出すのか
益が少ない者を見下したり支配したりするためでしょ
買いたい物がない人間が一体何のために利益を出すのか
益が少ない者を見下したり支配したりするためでしょ
486デフォルトの名無しさん
2018/07/29(日) 19:22:52.13ID:eTX7oAdY お前ら次世代言語の話をしなさいよ
俺はRockstarをお勧めするぞ
プログラムであり自己表現でもある
俺はRockstarをお勧めするぞ
プログラムであり自己表現でもある
487デフォルトの名無しさん
2018/07/29(日) 19:42:52.49ID:eDBn37vJ 言語の内容は一切しらないが
名前が商品っぽくてギーク臭がしないから、その言語ははやらないだろう
名前が商品っぽくてギーク臭がしないから、その言語ははやらないだろう
488デフォルトの名無しさん
2018/07/29(日) 19:44:04.42ID:eDBn37vJ とおもったらネタ言語だった
489デフォルトの名無しさん
2018/07/29(日) 19:59:49.21ID:zeY5m7dD だからPonylangが真の次世代だっつってんだろ
490デフォルトの名無しさん
2018/07/29(日) 21:19:44.69ID:jHvVDWmn Haskellのエラーモナドかましたリスト内包表記は難解すぎる
491デフォルトの名無しさん
2018/07/29(日) 22:06:47.14ID:GVyD60rv 多言語を批判するならお互いが同じ例題でソース書き比べたらええやん
ずっとごちゃごちゃ言ってるやつってソースもごちゃごちゃしてそうw
ずっとごちゃごちゃ言ってるやつってソースもごちゃごちゃしてそうw
492デフォルトの名無しさん
2018/07/29(日) 22:09:18.66ID:9WGuah8C 言い出しっぺがまずやってみせて
493デフォルトの名無しさん
2018/07/29(日) 22:14:55.65ID:GVyD60rv >>492
多言語を批判なんてしてないから言い出しっぺではない傍観者だ
多言語を批判なんてしてないから言い出しっぺではない傍観者だ
494デフォルトの名無しさん
2018/07/29(日) 22:24:44.41ID:9WGuah8C いや君の提案でしょ?
495デフォルトの名無しさん
2018/07/29(日) 22:25:11.28ID:uE0dE1bw >>491
書き比べはそれはそれでもめるんよ
言語ごとの推し抽象化手法(有り体に言えば得意分野)が違うから同じの書かせつつ公平にはしにくいし
オーバーラップする領域ではライブラリーのAPI叩くだけのHelloWorldレベルのコード比較に終始してしまう
書き比べはそれはそれでもめるんよ
言語ごとの推し抽象化手法(有り体に言えば得意分野)が違うから同じの書かせつつ公平にはしにくいし
オーバーラップする領域ではライブラリーのAPI叩くだけのHelloWorldレベルのコード比較に終始してしまう
496デフォルトの名無しさん
2018/07/29(日) 22:29:16.57ID:gNiJKIOF つまりパイソニップお手上げ降参状態ですよっと
497デフォルトの名無しさん
2018/07/29(日) 22:50:48.50ID:HPChxVcI Python嫌いってどういう層だよ
498デフォルトの名無しさん
2018/07/29(日) 22:58:30.53ID:GVyD60rv499デフォルトの名無しさん
2018/07/29(日) 23:03:02.54ID:gNiJKIOF というわけで多言語とか言ってる馬鹿 ID:GVyD60rv はNGっと
500デフォルトの名無しさん
2018/07/30(月) 00:09:51.52ID:15o6QT6I なんでpythonの話になっとるんだ
rustの話が尽きたからか
rustの話が尽きたからか
501デフォルトの名無しさん
2018/07/30(月) 00:20:26.08ID:cSovQdPN 批判っていうか評論も一つの作品だよな
漫画や小説なら良いが評論は悪いという価値観を押し付けるから揉めてるんじゃないか
漫画や小説なら良いが評論は悪いという価値観を押し付けるから揉めてるんじゃないか
502デフォルトの名無しさん
2018/07/30(月) 00:42:35.61ID:BCmT78P/ 拡張子htaみたいな事出来る言語ねーかな
503デフォルトの名無しさん
2018/07/30(月) 21:32:39.35ID:9zA5gDfM >>478
「|」をオーバーロードしてるライブラリはある。
https://github.com/apache/beam/blob/master/sdks/python/apache_beam/examples/wordcount.py
俺は別に読みやすいと思わんが。
「|」をオーバーロードしてるライブラリはある。
https://github.com/apache/beam/blob/master/sdks/python/apache_beam/examples/wordcount.py
俺は別に読みやすいと思わんが。
504デフォルトの名無しさん
2018/07/30(月) 22:36:49.52ID:15o6QT6I 数学やってりゃ分かるってのは高級言語にとって正当性の担保にならんと思うんだけど
pythonはスクリプトを書くためにあってアプリケーションを書くには向いてないよ
pythonはスクリプトを書くためにあってアプリケーションを書くには向いてないよ
505デフォルトの名無しさん
2018/07/30(月) 23:30:08.44ID:BCmT78P/ pythonはスクリプトやアプリケーションとかじゃなくてapiとかライブラリとかじゃないか?
506デフォルトの名無しさん
2018/07/31(火) 02:24:31.97ID:6M1+k6px スクリプトは後で修正するためにある
正当性の担保ってのがなくても後で修正すればいいと思ってる
だからスクリプトはズル
本物のアプリケーションはズルをしない
正当性の担保ってのがなくても後で修正すればいいと思ってる
だからスクリプトはズル
本物のアプリケーションはズルをしない
507デフォルトの名無しさん
2018/07/31(火) 06:32:08.41ID:rMUR8HCB androidアプリ開発でGUデザインに拘りたいとしたら
どんな言語がいいでしょうか?
どんな言語がいいでしょうか?
508デフォルトの名無しさん
2018/07/31(火) 07:25:08.27ID:HSKVxhV4 ん?ユニクロをもっと安っぽくしたようなデザインにしたいってこと?
509デフォルトの名無しさん
2018/07/31(火) 07:33:09.79ID:UxY/lhlr510デフォルトの名無しさん
2018/07/31(火) 07:35:04.61ID:NvL3iNMe >>509
お前記事読んでないやろw
お前記事読んでないやろw
511デフォルトの名無しさん
2018/07/31(火) 07:59:40.57ID:ZEe/Gn0n >>507
Unity
Unity
512デフォルトの名無しさん
2018/07/31(火) 08:15:32.70ID:JoTrRiyA GUIライブラリに何を使うかによる
SDLってAndroidでもつかえたっけか?
SDLってAndroidでもつかえたっけか?
513デフォルトの名無しさん
2018/07/31(火) 12:04:21.71ID:wLuD0qiK In our survey of 16,000+ npm users in January 2018, 46% of them reported using TypeScript.
https://twitter.com/seldo/status/1024052940355526656
https://twitter.com/seldo/status/1024052940355526656
514デフォルトの名無しさん
2018/07/31(火) 12:16:30.29ID:MCiT+aJj515デフォルトの名無しさん
2018/07/31(火) 12:35:27.84ID:Y+ETzapn F#使いも生きてるぞ
516デフォルトの名無しさん
2018/07/31(火) 13:56:56.90ID:zoworXJJ >>504
たしかに、そのとおりです
たとえば数学でいう直積(direct product あるいは cartesian product)の
プログラミング言語上の表現を、一般的には「タプル」と呼んでいる
もちろん ML や Haskell に代表される厳格な型システムを前提に設計された
言語の代数的データ型を持ち出すまでもなく、直積と直和の概念は
計算における数学上の概念の中で基本中の基本です
それにもかかわらず Python では、単なる不変(immutable)な配列に対して
公式文書でこともあろうか「タプル」と命名し、驚くなかれ「1要素のタプル」
といふ数学の概念を超越したリテラル構文を定義しちゃいました
世界的に普及している/していた言語は数多くありますが、こんな命名や
リテラル定義が存在するのは、後にも先にも Python だけ、唯一無二の存在です
まさに Python の設計哲学とは;
スクリプト言語にとって数学なんてクソ
といふことなんでしょうね
たしかに、そのとおりです
たとえば数学でいう直積(direct product あるいは cartesian product)の
プログラミング言語上の表現を、一般的には「タプル」と呼んでいる
もちろん ML や Haskell に代表される厳格な型システムを前提に設計された
言語の代数的データ型を持ち出すまでもなく、直積と直和の概念は
計算における数学上の概念の中で基本中の基本です
それにもかかわらず Python では、単なる不変(immutable)な配列に対して
公式文書でこともあろうか「タプル」と命名し、驚くなかれ「1要素のタプル」
といふ数学の概念を超越したリテラル構文を定義しちゃいました
世界的に普及している/していた言語は数多くありますが、こんな命名や
リテラル定義が存在するのは、後にも先にも Python だけ、唯一無二の存在です
まさに Python の設計哲学とは;
スクリプト言語にとって数学なんてクソ
といふことなんでしょうね
517デフォルトの名無しさん
2018/07/31(火) 14:34:58.99ID:U3QRqLaV 直積集合がタプルじゃなくて直積集合の要素がタプルな
んでもってn個の集合の直積を考える場合普通n=1は除外しない
んでもってn個の集合の直積を考える場合普通n=1は除外しない
518デフォルトの名無しさん
2018/07/31(火) 15:00:19.27ID:zoworXJJ >>478
あのぅメソッドチェーンとは異なり、内包表記というのは
決して万能な道具ではないんですけど、ご存知ですか?
内包表記というのは、高階関数 map/filter とジェネレータという
三つの要素を簡潔に表現できる構文糖でしかありませんから、
内包表記では表現できない課題も数多く存在します
ですからたとえば Haskell では内包表記を提供する一方で、
ポイントフリーといふ関数を繋ぐ流れるようなスタイルでも書けます
つまり「メソッドチェーン vs. 内包表記」という対決の図式は成り立ちません
これでもまだ「リスト内包がわからんってわめき散らすの無知晒してるだけ」と
騒ぎたいなら、以下のお題(>>430-431)を内包表記だけで書いてみてください
'-'.join(map(lambda x: str(x), reversed(sorted(a))))
>>478氏が無知でなければ、内包表記でサラッとエレガントなコードを書けますよね?
ちなみに以下のような三重にカッコが入れ子になった醜いコードは勘弁してくださいね
'-'.join(str(x) for x in reveresed(sorted(a)))
あのぅメソッドチェーンとは異なり、内包表記というのは
決して万能な道具ではないんですけど、ご存知ですか?
内包表記というのは、高階関数 map/filter とジェネレータという
三つの要素を簡潔に表現できる構文糖でしかありませんから、
内包表記では表現できない課題も数多く存在します
ですからたとえば Haskell では内包表記を提供する一方で、
ポイントフリーといふ関数を繋ぐ流れるようなスタイルでも書けます
つまり「メソッドチェーン vs. 内包表記」という対決の図式は成り立ちません
これでもまだ「リスト内包がわからんってわめき散らすの無知晒してるだけ」と
騒ぎたいなら、以下のお題(>>430-431)を内包表記だけで書いてみてください
'-'.join(map(lambda x: str(x), reversed(sorted(a))))
>>478氏が無知でなければ、内包表記でサラッとエレガントなコードを書けますよね?
ちなみに以下のような三重にカッコが入れ子になった醜いコードは勘弁してくださいね
'-'.join(str(x) for x in reveresed(sorted(a)))
519デフォルトの名無しさん
2018/07/31(火) 15:33:57.86ID:zoworXJJ >>517
>n個の集合の直積を考える場合普通n=1は除外しない
ええ、それが Python 村の中では「普通」で常識なんですよね
でも Python 村から一歩外に出れば:
n個の集合の直積を考える、ここで n>=2
が「普通」なんですけど、ご存知でしたか?
たとえば手元の教科書(*1)だと、直積は以下のように定義されています
・2つの集合の直積 A × B = { <x, y> | x <- A, y <- B }
・3つの集合の直積 A × B × C = { <x, y, z> | x <- A, y <- B, z <- C }
・4つの集合の直積も同様に定義される
この本では n=1 は定義されていないし、個人としても定義のしようがないと考えます
で、ML/Haskell/Erlang/Prolog といったタプルというデータ構造が存在する言語でも、
「普通」n=1の直積を除外しており、これが世間の常識です
ちなみに「Python村の常識、世間の非常識」といふ格言、聞いたことありませぬか?
ところで、もちろん内包表記はご存知ですよね?
知らないと>>478氏に「無知晒してる」と嗤われちゃいますよ
*1:論理と計算のしくみ
https://www.amazon.co.jp/dp/4000061917/
>n個の集合の直積を考える場合普通n=1は除外しない
ええ、それが Python 村の中では「普通」で常識なんですよね
でも Python 村から一歩外に出れば:
n個の集合の直積を考える、ここで n>=2
が「普通」なんですけど、ご存知でしたか?
たとえば手元の教科書(*1)だと、直積は以下のように定義されています
・2つの集合の直積 A × B = { <x, y> | x <- A, y <- B }
・3つの集合の直積 A × B × C = { <x, y, z> | x <- A, y <- B, z <- C }
・4つの集合の直積も同様に定義される
この本では n=1 は定義されていないし、個人としても定義のしようがないと考えます
で、ML/Haskell/Erlang/Prolog といったタプルというデータ構造が存在する言語でも、
「普通」n=1の直積を除外しており、これが世間の常識です
ちなみに「Python村の常識、世間の非常識」といふ格言、聞いたことありませぬか?
ところで、もちろん内包表記はご存知ですよね?
知らないと>>478氏に「無知晒してる」と嗤われちゃいますよ
*1:論理と計算のしくみ
https://www.amazon.co.jp/dp/4000061917/
520デフォルトの名無しさん
2018/07/31(火) 16:01:29.91ID:6M1+k6px n=1もあるしn=0もある
n=0は直積の単位元いわゆるunit
直和の単位元はbottom
n=0は直積の単位元いわゆるunit
直和の単位元はbottom
521デフォルトの名無しさん
2018/07/31(火) 16:12:57.41ID:zoworXJJ522デフォルトの名無しさん
2018/07/31(火) 17:08:51.40ID:LX5aJa12 >>516
なんだか随分と力んでいるみたいだけれど
> それにもかかわらず Python では、単なる不変(immutable)な配列に対して
> 公式文書でこともあろうか「タプル」と命名し、驚くなかれ「1要素のタプル」
> といふ数学の概念を超越したリテラル構文を定義しちゃいました
> 世界的に普及している/していた言語は数多くありますが、こんな命名や
> リテラル定義が存在するのは、後にも先にも Python だけ、唯一無二の存在です
いや、そういうことを言い出せば同じ引数の値で呼び出しても返す値が同じになるとは限らないCなどの「関数」“function”は数学における関数の概念とは全く違う破廉恥極まりない命名だとなるよ
そもそも手続き型プログラミング言語やオブジェクト指向プログラミング言語での「変数」“variable”と呼ばれているものもも数学の変数とは全く異なる
(例えば、それらの言語で書かれたプログラムの検証を考えるとその問題があからさまになる)
つまりプログラミング言語での用語は数学の用語を借りて使ってはいるが数学でのその用語の表していた概念を尊重しているとは限らないということだ
そういう例、つまり数学用語を数学での概念を尊重しない形でプログラミング言語の世界で借用してしまっている例は探せばいくらでもあるだろう
なんだか随分と力んでいるみたいだけれど
> それにもかかわらず Python では、単なる不変(immutable)な配列に対して
> 公式文書でこともあろうか「タプル」と命名し、驚くなかれ「1要素のタプル」
> といふ数学の概念を超越したリテラル構文を定義しちゃいました
> 世界的に普及している/していた言語は数多くありますが、こんな命名や
> リテラル定義が存在するのは、後にも先にも Python だけ、唯一無二の存在です
いや、そういうことを言い出せば同じ引数の値で呼び出しても返す値が同じになるとは限らないCなどの「関数」“function”は数学における関数の概念とは全く違う破廉恥極まりない命名だとなるよ
そもそも手続き型プログラミング言語やオブジェクト指向プログラミング言語での「変数」“variable”と呼ばれているものもも数学の変数とは全く異なる
(例えば、それらの言語で書かれたプログラムの検証を考えるとその問題があからさまになる)
つまりプログラミング言語での用語は数学の用語を借りて使ってはいるが数学でのその用語の表していた概念を尊重しているとは限らないということだ
そういう例、つまり数学用語を数学での概念を尊重しない形でプログラミング言語の世界で借用してしまっている例は探せばいくらでもあるだろう
523デフォルトの名無しさん
2018/07/31(火) 17:40:46.67ID:vAluDZRs そもそも = が代入って時点で数学と違うんだから
いちいち「厳密な定義がー」いう方がどうかしてる。
いちいち「厳密な定義がー」いう方がどうかしてる。
■ このスレッドは過去ログ倉庫に格納されています
