スレタイ以外の言語も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
438デフォルトの名無しさん
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 そもそも = が代入って時点で数学と違うんだから
いちいち「厳密な定義がー」いう方がどうかしてる。
いちいち「厳密な定義がー」いう方がどうかしてる。
524デフォルトの名無しさん
2018/07/31(火) 17:55:08.00ID:zfxDeDFf 普通にWikipediaでタプルをしらべたら一要素のタプルの事をシングルというと
書いてあるのだがwww
書いてあるのだがwww
525デフォルトの名無しさん
2018/07/31(火) 18:08:24.59ID:zoworXJJ >>522
数学の定義や数式を計算機上で実行するには、
必然的に「解釈」という(あるいは「評価」とも呼ばれる)プロセスを伴いますから、
数学の概念とプログラミング言語との間に乖離(かいり)が存在するのは一般論ですし、
その為に計算機工学という分野で研究成果が積み重ねられてきました
もちろんこうした乖離は一般論ですから、例を探せばいくらでも挙げられるでしょう
たとえば「n個の直積を考える」場合に数学では n=1 や n=0 を除外しないモデルを
構築することは可能ですが(>>517,521)、計算機工学の研究成果を元に設計された
言語だと「n個の集合の直積を考える、ここで n>=2」が暗黙のうちに認知されています
(なぜなら n=1 または n=2 の直積は、一般的には形式的に定義できない為)
ところが、こうした計算機工学の成果である n>=2 を無視し、
そんなのどうでもいいとばかりに「単なる不変な配列をタプルと命名する(>>516)」といふ
深淵の淵へ自ら飛び込んだ稀有な例が Python といふ次世代言語なんですよ
もしも「他のあらゆる言語では計算機工学の常識に沿って設計しているのに、
ある特定の言語ではそれを無視している」という具体例があれば、ご教示願います
たとえば「Python におけるタプルの命名」は、他の言語には見られない唯一無二の例です
数学の定義や数式を計算機上で実行するには、
必然的に「解釈」という(あるいは「評価」とも呼ばれる)プロセスを伴いますから、
数学の概念とプログラミング言語との間に乖離(かいり)が存在するのは一般論ですし、
その為に計算機工学という分野で研究成果が積み重ねられてきました
もちろんこうした乖離は一般論ですから、例を探せばいくらでも挙げられるでしょう
たとえば「n個の直積を考える」場合に数学では n=1 や n=0 を除外しないモデルを
構築することは可能ですが(>>517,521)、計算機工学の研究成果を元に設計された
言語だと「n個の集合の直積を考える、ここで n>=2」が暗黙のうちに認知されています
(なぜなら n=1 または n=2 の直積は、一般的には形式的に定義できない為)
ところが、こうした計算機工学の成果である n>=2 を無視し、
そんなのどうでもいいとばかりに「単なる不変な配列をタプルと命名する(>>516)」といふ
深淵の淵へ自ら飛び込んだ稀有な例が Python といふ次世代言語なんですよ
もしも「他のあらゆる言語では計算機工学の常識に沿って設計しているのに、
ある特定の言語ではそれを無視している」という具体例があれば、ご教示願います
たとえば「Python におけるタプルの命名」は、他の言語には見られない唯一無二の例です
526デフォルトの名無しさん
2018/07/31(火) 18:21:46.76ID:zfxDeDFf A = { x | x <- A}
A × B = { <x, y> | x <- A, y <- B }
普通に定義できるがwww
A × B = { <x, y> | x <- A, y <- B }
普通に定義できるがwww
527デフォルトの名無しさん
2018/07/31(火) 18:36:17.24ID:zoworXJJ >>478
>それはそれとしてPythonはもっと関数を横に繋げられるようにしてくれ
>Elixirのパイプ演算子みたいな感じでさあ
いや、新たにパイプ演算子みたいな構文を追加しなくても、
オブジェクト指向言語の Python であれば、メソッドチェーンで実現できるよ
だって、Python を除く今時のオブジェクト指向言語では実現できていますから
その具体例が >>430 のリンク先のブログ主様が書いた簡潔なライブラリです
問題は、「なぜこれをやろうとしないのか?」という点です
もちろんライブラリの後方互換性は失われますが、
python2 から python3 で致命的な「後方互換性の断絶」を断行したのが
Python ですから、一貫性のあるAPIを提供するライブラリへの刷新もできたはず
さらに根本原因にさかのぼれば、「なぜ最初から一貫性のあるAPIを設計しなかったのか」
といふ疑念に突き当たります
だって、Python を除く今時のオブジェクト指向言語では設計できていますから
最後に背景原因を考察すると、Python 作者のGuido氏が:
API の設計において一貫性などはクソ
と考えていたのか、それとも:
オブジェクト指向が流行っていたから行き当たりばったりに設計した、
今は後悔している
と考えているのか興味深い
>それはそれとしてPythonはもっと関数を横に繋げられるようにしてくれ
>Elixirのパイプ演算子みたいな感じでさあ
いや、新たにパイプ演算子みたいな構文を追加しなくても、
オブジェクト指向言語の Python であれば、メソッドチェーンで実現できるよ
だって、Python を除く今時のオブジェクト指向言語では実現できていますから
その具体例が >>430 のリンク先のブログ主様が書いた簡潔なライブラリです
問題は、「なぜこれをやろうとしないのか?」という点です
もちろんライブラリの後方互換性は失われますが、
python2 から python3 で致命的な「後方互換性の断絶」を断行したのが
Python ですから、一貫性のあるAPIを提供するライブラリへの刷新もできたはず
さらに根本原因にさかのぼれば、「なぜ最初から一貫性のあるAPIを設計しなかったのか」
といふ疑念に突き当たります
だって、Python を除く今時のオブジェクト指向言語では設計できていますから
最後に背景原因を考察すると、Python 作者のGuido氏が:
API の設計において一貫性などはクソ
と考えていたのか、それとも:
オブジェクト指向が流行っていたから行き当たりばったりに設計した、
今は後悔している
と考えているのか興味深い
528デフォルトの名無しさん
2018/07/31(火) 18:45:34.71ID:zoworXJJ >>526
>A = { x | x <- A}
えぇとぉ、{ x | x <- A} というのは単に集合 A を内包的に定義してるだけですから、
それは「1個の集合Aから構成される直積」ではなく単に「単純集合A」を定義してるだけです
あぁそうか、フェイトニスタには内包表記うんぬん以前に、数学の教養が欠けているのですね
ついうっかりしておりまして、大変失礼をば致しますた
>A = { x | x <- A}
えぇとぉ、{ x | x <- A} というのは単に集合 A を内包的に定義してるだけですから、
それは「1個の集合Aから構成される直積」ではなく単に「単純集合A」を定義してるだけです
あぁそうか、フェイトニスタには内包表記うんぬん以前に、数学の教養が欠けているのですね
ついうっかりしておりまして、大変失礼をば致しますた
529デフォルトの名無しさん
2018/07/31(火) 19:00:43.13ID:zoworXJJ うっかりミスを訂正:
>>525
X:>(なぜなら n=1 または n=2 の直積は、一般的には形式的に定義できない為)
O:>(なぜなら n=1 または n=0 の直積は、一般的には形式的に定義できない為)
>>525
X:>(なぜなら n=1 または n=2 の直積は、一般的には形式的に定義できない為)
O:>(なぜなら n=1 または n=0 の直積は、一般的には形式的に定義できない為)
530デフォルトの名無しさん
2018/07/31(火) 19:04:21.79ID:zfxDeDFf 定義するのに集合と同じ定義では同じでは駄目というルールはないから間違っては無いwww
ちなみにn=0の直積は1元集合として定義できるとWikipediaにかいてあるwww
ちなみにn=0の直積は1元集合として定義できるとWikipediaにかいてあるwww
531デフォルトの名無しさん
2018/07/31(火) 19:12:42.47ID:x816LWzK ウィキペに書いてあるとか言っちゃう人って・・・
532デフォルトの名無しさん
2018/07/31(火) 19:36:15.75ID:zfxDeDFf 正式な定義だと、直積の要素はペアの中にペアがある構造じゃないと駄目www
A × B × C = { <x, y, z> | x <- A, y <- B, z <- C }
↑の定義があってるのは日本のWikipediaだっけでしたwwww
これを使うにはn-fold Cartesian productという直積を拡張した奴じゃないとだめでした残念www
とくにn=1の時はそのままA=Aとちゃんとした本に書いてあるwwww
A × B × C = { <x, y, z> | x <- A, y <- B, z <- C }
↑の定義があってるのは日本のWikipediaだっけでしたwwww
これを使うにはn-fold Cartesian productという直積を拡張した奴じゃないとだめでした残念www
とくにn=1の時はそのままA=Aとちゃんとした本に書いてあるwwww
533デフォルトの名無しさん
2018/07/31(火) 19:38:51.12ID:xC1/ia91 今までの流れをまとめるとpythonはクソ。
TypeScriptが最強。という理解でよいでふか?
TypeScriptが最強。という理解でよいでふか?
534デフォルトの名無しさん
2018/07/31(火) 20:41:56.45ID:CfkG900T rustが最強
が正しい
が正しい
535デフォルトの名無しさん
2018/07/31(火) 21:51:57.40ID:vpErkqT1 メソッドチェーンでもリスト内包でも異常なまでのテンポラリ変数嫌悪を感じるのだが、
無理にそんな書き方するくらいならテンポラリ変数使えや。
無理にそんな書き方するくらいならテンポラリ変数使えや。
536デフォルトの名無しさん
2018/07/31(火) 22:05:54.62ID:CfkG900T メソッドチェーンは無理なく書けるでしょ
変数はバグの餌だから忌諱するのは当然
変数はバグの餌だから忌諱するのは当然
537デフォルトの名無しさん
2018/07/31(火) 22:09:04.65ID:4i5flEMB 変数があって嬉しいのはデバッガでステップイン実行するときだけだな
そろそろステップの概念を卒業した新発想のデバッガが必要な時期にきてると思う
そろそろステップの概念を卒業した新発想のデバッガが必要な時期にきてると思う
538デフォルトの名無しさん
2018/07/31(火) 22:10:09.78ID:/w6/tE8P 一時的な内部処理でまでステートを毛嫌いする純粋病の関数型信者と似ている
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 【大分】佐賀関で大規模火災、170棟以上が延焼中 70代男性1人と連絡取れず [ぐれ★]
- 【サッカー】日本代表MF 中村敬斗 ボリビア戦のスーパーゴールに「惚れるわ」「痺れる程のゴールこれでご飯何杯いけるのよ」 [阿弥陀ヶ峰★]
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 「クマはなるべく山に返す努力を」「クマと戦争は間違っている」動物保護活動家の主張 棲み分けと学習放獣でクマ被害なくなるのか?★7 [ぐれ★]
- アンケート調査で「高市発言は問題なし」 93.5%wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- 【悲報】大分市佐賀関の火事、20軒→170軒に延焼🔥 [481941988]
- 自閉症が「んなっしょい」と連呼するお🏡
- 日本人の海外旅行したきのマナーよくなったのはいつから
- へそグリグリ
- 結婚しないやつは異性は嫌いなの?
