次世代言語12 Go Rust Swift Kotlin TypeScript

■ このスレッドは過去ログ倉庫に格納されています
2018/07/04(水) 09:38:15.76ID:qg2ggPtj
スレタイ以外の言語もok

前スレ
次世代言語11[Rust Swift TypeScript Dart]
https://mevius.5ch.net/test/read.cgi/tech/1528037607/
2018/07/29(日) 10:01:04.81ID:Df5F+309
継続最強伝説からモナド最強伝説に移行するところで大多数が挫折しただけだろ
2018/07/29(日) 10:07:44.75ID:HPChxVcI
ライブラリは重要。はっきりわかんだね
2018/07/29(日) 10:33:03.96ID:ESZBzPf9
>>415
MS一択
1馬身差で他二つが並ぶ
2018/07/29(日) 10:40:49.33ID:4MUmFrCs
C言語で書かれたpythonライブラリがイケてるのであって、言語としてのpythonは全然イケてないぞ
2018/07/29(日) 10:51:54.17ID:HPChxVcI
Python並みのライブラリがあるイケてる文法の言語が来たら乗り換えるわw
2018/07/29(日) 11:05:56.06ID:gNiJKIOF
はいJulia(AV)
430デフォルトの名無しさん
垢版 |
2018/07/29(日) 11:10:11.43ID:++hEM/7+
え、Python並みのライブラリィ?勘弁してください

http://mevius.2ch.net/test/read.cgi/tech/1491491123/43-47
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
2018/07/29(日) 11:17:50.59ID://sAdRxp
結局言語のしょうもないシンタックスについてあーだこーだ言っても意味ねーわって話だな。
インストールの容易さとか実行環境だったりモジュール管理の容易さだったり
そういったところの影響のがでかいってのがpythonが流行ってる理由だろ。
2018/07/29(日) 11:37:40.49ID:HPChxVcI
でもPythonのシンタックスに満足してないのは事実なので、Pythonの良いところを全部持った上でシンタックスも良い言語が来たら嬉ぴい
2018/07/29(日) 11:40:20.69ID:TvDsoeQn
>>426
いつの時代の話かい?
2018/07/29(日) 11:47:17.92ID:gNiJKIOF
__init__.py (笑い)
sys.path.append(木亥火暴)


実行環境だったりモジュール管理の容易さだったり藁藁藁藁藁藁藁藁

大草原か?
2018/07/29(日) 11:51:28.16ID:lzRBxehA
Pythonは好きだが、MercurialがGitに負けたのは正直Pythonのせいだと思う
Rubyもそうだけど広く使われるツールに使うもんじゃない
2018/07/29(日) 11:56:21.18ID:I6LJ2IHq
>>433
というか、(RoR以前に)rubyが受けた理由がそういう感じだったと思う。
pythonのシンタックス以上にrubyに気に入らない点があるなら仕方がないが。
2018/07/29(日) 11:59:05.77ID://sAdRxp
>MercurialがGitに負けたのは正直Pythonのせいだと思う
Mercurialの設計がまずかったとしか言いようがないがな。
コンフリクト修正のためのresolveの不自然さとかコミットツリーの修正ができないところだったり
使っていると普通に問題になる。
gitの設計はよくできてると思うよ。

>sys.path.append
こんなものを容易にソースに入れる奴はディレクトリ管理自体ど下手くそなだけで
どんな言語でもクソなことやり出すと思うがな。
2018/07/29(日) 12:09:18.71ID:ikK7Yp3X
リスト内包表記とやらにしがみ付いてる悲しい連中ってイメージ
可読性w
2018/07/29(日) 12:12:42.59ID:gNiJKIOF
リスト内糞包糞表記糞とかいう糞
2018/07/29(日) 12:13:20.83ID:gNiJKIOF
Py厨って要するにワンライナーおじさんだよな
2018/07/29(日) 12:14:46.99ID:Gc+Obosx
pythonでワンライナー志向はあり得んやろ
2018/07/29(日) 12:19:06.63ID://sAdRxp
リスト内包がクソなコード生みやすいってのは賛同するが
多分そういうクソコードを書くやつがruby、perlで書くともっととんでもないキメラコードを作成する。
2018/07/29(日) 12:25:32.62ID:ikK7Yp3X
pythonの可読性に関わる幻想
2018/07/29(日) 12:29:49.21ID:2jsBPgao
ほとんどの言語の可読性はpython以下だけど
446デフォルトの名無しさん
垢版 |
2018/07/29(日) 12:30:59.85ID:OtuHAjKj
pythonが流行ってるというかnumpyが流行ってるだけでしょ
2018/07/29(日) 12:35:03.76ID:HPChxVcI
>>446
せやな。numpyは神
でもscipyも良いぞ
2018/07/29(日) 13:14:09.48ID:pFjYaTQt
Python は、メソッドチェーンしにくい。
Ruby, JavaScript, jQuery では、a.b().c() みたいに書けるけど、
Python では、逆に書く

c( b(a) )

オブジェクト指向からすると、突っかかる。
自然に読めない。
思考が乱されるから、バグりやすい

a のインスタンスに、b を適用して、
その結果に、c を適用する

これが自然
2018/07/29(日) 13:19:55.26ID:2jsBPgao
>>448
pythonでもそういうメソッドを作ればメソッドチェーンにできるけど、一行にだらだら書くべきじゃないという思想的な問題のせいで、そういうメソッドが用意されてないだけだよね。
2018/07/29(日) 13:48:42.85ID:UcWx6ddp
底辺のドカタにとってはメソッドチェーンが重要なんだね
2018/07/29(日) 13:54:46.41ID:gNiJKIOF
> 一行にだらだら書くべきじゃない

a = unko()
b_result = b(a)
c_result = c(b_result)

あっ、ふーん・・・
2018/07/29(日) 13:55:33.44ID:HPChxVcI
>>448
オブジェクト指向というより、パイプラインじゃねえの?
Objective-Cにもそんなチェーンはなかったと思うが
2018/07/29(日) 13:55:46.89ID:gNiJKIOF
言うほど読みやすいか?
こんなの書いてくるやついたら草生やしてしばき倒すでフツウ
2018/07/29(日) 14:00:10.27ID:ikK7Yp3X
>>451

読みやすい!
pythonic!
pythonic!

こうですね
2018/07/29(日) 14:05:24.19ID:UcWx6ddp
見当違いの批判をされてもAI分野で圧倒的に支持されてるのは変わらないから
ドカタが嫉妬してるだけに見えるんだよね
2018/07/29(日) 14:08:42.69ID:I6LJ2IHq
関数型言語の関数チェーンはともかく、メソッドチェーンは似て非なるゴミ。
2018/07/29(日) 14:11:10.25ID:lzRBxehA
Pythonだと、>>451の一行一行で扱うものがGBクラスのバッチだったりするからね
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))))

下は書く気にもならん
補完も効かないし

パイソニップさあ・・・このウンコードはなんだい?
2018/07/29(日) 14:20:50.80ID:gNiJKIOF
パイソニップさあ・・・
JavaScript以下、ウンポコペチプー並とか
恥ずかしくないのかい?
2018/07/29(日) 14:22:50.50ID:Df5F+309
これは数学が悪い
関数はあるのにメソッドがない
ラムダやmapは教えないくせに内包表記は教える
461デフォルトの名無しさん
垢版 |
2018/07/29(日) 14:23:03.09ID:++hEM/7+
冗長なコードを美徳として可読性の高さを謳っているのは
Python だけじゃなく、同じ手続き型言語の Cobol がある

たとえば >>455 を改変してみると:
  見当違いの批判をされても業務アプリ開発の分野で
  (Cobol が)圧倒的に支持されてるのは変わらないから
  ドカタが嫉妬してるだけに見えるんだよね

仮にこんな感じでコボラが主張したとしても、なんら違和感がない

つまり現在に復権したコボラの正統後継者がフェイトニスタってこと
2018/07/29(日) 14:25:24.26ID:gNiJKIOF
【悲報】パイソニップはウンポコペチプー以下のコボラーだった
463デフォルトの名無しさん
垢版 |
2018/07/29(日) 14:26:32.00ID:++hEM/7+
>>456
COBOL では、まさしくそのとおりですね
まぁ実際には、GBどころかTB単位の夜間バッチですけど
464463
垢版 |
2018/07/29(日) 14:28:12.27ID:++hEM/7+
アンカを訂正:
  X:>>456
  O:>>457
2018/07/29(日) 14:37:36.71ID:gNiJKIOF
ワイはPB級だけど質問ある?
2018/07/29(日) 15:01:45.76ID:zv0scSBW
>>458
aに副作用生じさせといてなんとも思わんお前がカス。
2018/07/29(日) 15:04:42.51ID:gNiJKIOF
>>466
はいガイジ
全てのメソッドチェーンは副作用ないよ
くそパイソニップと違ってね

悔しかったら糞糞糞内包糞記で糞してみろよゴミw
2018/07/29(日) 15:06:36.51ID:CvskUGg1
メソッドチェーンってそんないいもんかね?
可読性がいいとも思えないけど
2018/07/29(日) 15:10:48.78ID:gNiJKIOF
糞糞糞糞包糞糞と糞関数ラップワンライナーおじさんのパイソニップ草w
2018/07/29(日) 15:14:54.71ID:zv0scSBW
これはやばい。。
やっぱシンタックス厨ってのは害悪でしかないな。
2018/07/29(日) 15:21:18.64ID:fLtN8lsN
メソッドと関数が混ざって汚いと常々思ってた
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の結果が異なるってマジクソだろ。
2018/07/29(日) 15:28:17.30ID:gNiJKIOF
お得意の糞糞糞糞包みで糞してみろカスwwwwwwwwwwwwww
2018/07/29(日) 15:34:16.27ID:J+11rz8t
>>467
バカすぎるので晒しとこw
2018/07/29(日) 15:40:29.23ID:J+11rz8t
内包表記は数学由来だから文系のコンプレックスを刺激してしまうんだねw
2018/07/29(日) 15:49:55.75ID:gNiJKIOF
副作用が糞
メソッドチェーンはフツウに良い
パイソニップ≒コボラー

これが結論
2018/07/29(日) 15:57:59.37ID:J+11rz8t
>>476
あれ?>>467の釈明まだ?w
無知晒したからって勝手に終わらせようとするなよw
2018/07/29(日) 16:09:52.04ID:EbPqex13
メソッドチェーンがぱっとわかりやすいのも分かるが
リスト内包はリスト内包で数学やってりゃわかる可読性がある

リスト内包がわからんってわめき散らすの無知晒してるだけだからやめた方がいい

それはそれとしてPythonはもっと関数を横に繋げられるようにしてくれ
Elixirのパイプ演算子みたいな感じでさあ
2018/07/29(日) 16:10:48.21ID:EbPqex13
というかリスト内包とメソッドチェーン比較してる時点でただの無知だよね
2018/07/29(日) 16:21:10.67ID:ikK7Yp3X
数学wwwwwwwwwwwwwwww
すwwwwwwすううっがくwwwwww
あれwwwwすうがくやったんけwwwww
2018/07/29(日) 16:33:06.78ID:/TApOH16
A = {2x + 5 | x ∈ N}
とかな。見たことあるだろ?

リスト内包はこの延長
こんなんもわからんで批判してたんかい
2018/07/29(日) 16:48:00.78ID:gNiJKIOF
低学歴パイソニップ、Pythonで数学マウントを取る
2018/07/29(日) 16:49:43.45ID:/TApOH16
低学歴なのに数学でマウント取る……?
2018/07/29(日) 17:33:47.60ID:yV15yOGY
あーもう
どこの板にもこういうキチガイ湧くんだよな
煽りカスでどっちにも有益にならないから放置安定よ
2018/07/29(日) 19:13:52.55ID:Df5F+309
物欲はなくて支配欲だけがあるのが問題なんだろう
買いたい物がない人間が一体何のために利益を出すのか
益が少ない者を見下したり支配したりするためでしょ
2018/07/29(日) 19:22:52.13ID:eTX7oAdY
お前ら次世代言語の話をしなさいよ
俺はRockstarをお勧めするぞ
プログラムであり自己表現でもある
2018/07/29(日) 19:42:52.49ID:eDBn37vJ
言語の内容は一切しらないが
名前が商品っぽくてギーク臭がしないから、その言語ははやらないだろう
2018/07/29(日) 19:44:04.42ID:eDBn37vJ
とおもったらネタ言語だった
2018/07/29(日) 19:59:49.21ID:zeY5m7dD
だからPonylangが真の次世代だっつってんだろ
2018/07/29(日) 21:19:44.69ID:jHvVDWmn
Haskellのエラーモナドかましたリスト内包表記は難解すぎる
2018/07/29(日) 22:06:47.14ID:GVyD60rv
多言語を批判するならお互いが同じ例題でソース書き比べたらええやん
ずっとごちゃごちゃ言ってるやつってソースもごちゃごちゃしてそうw
2018/07/29(日) 22:09:18.66ID:9WGuah8C
言い出しっぺがまずやってみせて
2018/07/29(日) 22:14:55.65ID:GVyD60rv
>>492
多言語を批判なんてしてないから言い出しっぺではない傍観者だ
2018/07/29(日) 22:24:44.41ID:9WGuah8C
いや君の提案でしょ?
2018/07/29(日) 22:25:11.28ID:uE0dE1bw
>>491
書き比べはそれはそれでもめるんよ
言語ごとの推し抽象化手法(有り体に言えば得意分野)が違うから同じの書かせつつ公平にはしにくいし
オーバーラップする領域ではライブラリーのAPI叩くだけのHelloWorldレベルのコード比較に終始してしまう
2018/07/29(日) 22:29:16.57ID:gNiJKIOF
つまりパイソニップお手上げ降参状態ですよっと
2018/07/29(日) 22:50:48.50ID:HPChxVcI
Python嫌いってどういう層だよ
2018/07/29(日) 22:58:30.53ID:GVyD60rv
>>495
なるほどね触れた俺がアホだったわすまんなw
NG入れて見ないようにすればいいだけだしなw
読解力のないIQ低すぎる奴とは会話が噛み合わないから仕方ないなw
2018/07/29(日) 23:03:02.54ID:gNiJKIOF
というわけで多言語とか言ってる馬鹿 ID:GVyD60rv はNGっと
500デフォルトの名無しさん
垢版 |
2018/07/30(月) 00:09:51.52ID:15o6QT6I
なんでpythonの話になっとるんだ
rustの話が尽きたからか
2018/07/30(月) 00:20:26.08ID:cSovQdPN
批判っていうか評論も一つの作品だよな
漫画や小説なら良いが評論は悪いという価値観を押し付けるから揉めてるんじゃないか
2018/07/30(月) 00:42:35.61ID:BCmT78P/
拡張子htaみたいな事出来る言語ねーかな
2018/07/30(月) 21:32:39.35ID:9zA5gDfM
>>478
「|」をオーバーロードしてるライブラリはある。
https://github.com/apache/beam/blob/master/sdks/python/apache_beam/examples/wordcount.py
俺は別に読みやすいと思わんが。
504デフォルトの名無しさん
垢版 |
2018/07/30(月) 22:36:49.52ID:15o6QT6I
数学やってりゃ分かるってのは高級言語にとって正当性の担保にならんと思うんだけど
pythonはスクリプトを書くためにあってアプリケーションを書くには向いてないよ
2018/07/30(月) 23:30:08.44ID:BCmT78P/
pythonはスクリプトやアプリケーションとかじゃなくてapiとかライブラリとかじゃないか?
2018/07/31(火) 02:24:31.97ID:6M1+k6px
スクリプトは後で修正するためにある
正当性の担保ってのがなくても後で修正すればいいと思ってる
だからスクリプトはズル
本物のアプリケーションはズルをしない
2018/07/31(火) 06:32:08.41ID:rMUR8HCB
androidアプリ開発でGUデザインに拘りたいとしたら
どんな言語がいいでしょうか?
2018/07/31(火) 07:25:08.27ID:HSKVxhV4
ん?ユニクロをもっと安っぽくしたようなデザインにしたいってこと?
2018/07/31(火) 07:33:09.79ID:UxY/lhlr
https://twitter.com/kskexx/status/1023719574846373889
githubの分析だそうだけども
.netどこに行ってしまったん
2018/07/31(火) 07:35:04.61ID:NvL3iNMe
>>509
お前記事読んでないやろw
2018/07/31(火) 07:59:40.57ID:ZEe/Gn0n
>>507
Unity
2018/07/31(火) 08:15:32.70ID:JoTrRiyA
GUIライブラリに何を使うかによる

SDLってAndroidでもつかえたっけか?
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
2018/07/31(火) 12:16:30.29ID:MCiT+aJj
>>509
.NetのC#以外は死んでるようなものだし
C#も半端な位置で留まってるから話題にならんのだろ
他バッサリ切ってC#に注力すればいいのにな
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 の設計哲学とは;
  スクリプト言語にとって数学なんてクソ
といふことなんでしょうね
2018/07/31(火) 14:34:58.99ID:U3QRqLaV
直積集合がタプルじゃなくて直積集合の要素がタプルな
んでもって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)))
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/
2018/07/31(火) 16:01:29.91ID:6M1+k6px
n=1もあるしn=0もある
n=0は直積の単位元いわゆるunit
直和の単位元はbottom
521デフォルトの名無しさん
垢版 |
2018/07/31(火) 16:12:57.41ID:zoworXJJ
>>520
>n=1もあるしn=0もある
>n=0は直積の単位元いわゆるunit

たしかに Python 村の中では、n=0 も除外しないのが「普通」ですね

で、静的型付け言語の ML/Haskell では単位型(unit)として定義され
タプル型とは明確に区別されていますし、動的型付け言語では
nil という特別なアトムで表現することが多く、これが世間の常識です
ちなみに「Python村の常識、世間の非常識」といふ格言、聞いたことありませぬか?

ところで、もちろん内包表記はご存知ですよね?
知らないと>>478氏に「無知晒してる」と嗤われちゃいますよ
2018/07/31(火) 17:08:51.40ID:LX5aJa12
>>516
なんだか随分と力んでいるみたいだけれど

> それにもかかわらず Python では、単なる不変(immutable)な配列に対して
> 公式文書でこともあろうか「タプル」と命名し、驚くなかれ「1要素のタプル」
> といふ数学の概念を超越したリテラル構文を定義しちゃいました
> 世界的に普及している/していた言語は数多くありますが、こんな命名や
> リテラル定義が存在するのは、後にも先にも Python だけ、唯一無二の存在です

いや、そういうことを言い出せば同じ引数の値で呼び出しても返す値が同じになるとは限らないCなどの「関数」“function”は数学における関数の概念とは全く違う破廉恥極まりない命名だとなるよ
そもそも手続き型プログラミング言語やオブジェクト指向プログラミング言語での「変数」“variable”と呼ばれているものもも数学の変数とは全く異なる
(例えば、それらの言語で書かれたプログラムの検証を考えるとその問題があからさまになる)

つまりプログラミング言語での用語は数学の用語を借りて使ってはいるが数学でのその用語の表していた概念を尊重しているとは限らないということだ
そういう例、つまり数学用語を数学での概念を尊重しない形でプログラミング言語の世界で借用してしまっている例は探せばいくらでもあるだろう
2018/07/31(火) 17:40:46.67ID:vAluDZRs
そもそも = が代入って時点で数学と違うんだから
いちいち「厳密な定義がー」いう方がどうかしてる。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。