次世代言語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/08/07(火) 06:13:33.64ID:o88xwRN/
>>614 がいいこと言った。
見通しが良いコードにするための宣言型言語のはずが
むしろ見通しを悪くしている。
2018/08/07(火) 07:56:24.18ID:c0zbvnlv
Scalaという見通しの悪い言語が関数型として世に知られてしまったのも不幸だったよね
意識高い系のオモチャに選ばれたのがScalaではなくF#だったら状況はだいぶ違っていたのではないか
2018/08/07(火) 07:59:10.87ID:6yZcjsMn
状態に依存する部分と純粋な部分を切り分けること自体は純粋関数型言語じゃなくてもできること

そもそもHaskell使える開発者が集まってるならHaskellじゃなくてもみんな極力そのように書くし、
強制されないと副作用ごちゃまぜコードを書くような土方はHaskellは使えない

純粋性を強制するメリットが禁止して柔軟性を失うデメリットに釣り合ってない
2018/08/07(火) 08:35:30.11ID:iXXZIPQ5
純粋性を強制するメリット、を考えてみた。
例えばエディタの設定ファイルをHaskell自身で書くことができる。
設定ファイルがSafeHaskellであることを要請して、かつ設定操作に限定された型のみを許すようにする。

これで設定ファイルに、勝手にビットコインを採掘するスクリプトを忍ばせるような悪さができなくなるし、
Haskellそのものの柔軟性を活かして好きなだけ設定を短く表現できる。
安全さと強力さが両立された。
2018/08/07(火) 08:38:42.25ID:FVK8LmPZ
Haskellは状態に依存するコードを書こうとすると途端に
可読性の低い冗長なコードになるのがダメなところだと思う
純粋な部分の構文に比べて手抜きすぎなんだよ
2018/08/07(火) 08:54:53.62ID:UMEYDAwp
手抜きではないだろ、むしろ逆
worldを隠しつつ宣言的に書くという変態技のために
モナド用の構文糖衣が多数あるせいで関数型の簡潔さが失われている
2018/08/07(火) 09:11:21.06ID:FVK8LmPZ
シンタックスシュガーを幾ら用意しても簡潔に書けるようにする工夫がないから
どう書いても冗長って話なんだけど?分かってないなぁ
2018/08/07(火) 10:46:00.40ID:rAZv+q4y
それは手抜きと表現すべきではない。わかってないなあ
2018/08/07(火) 10:58:16.01ID:hbLPpe/0
>>642
じゃあ例えばどういう工夫なの?
お前のHaskellの理解力が試されてるから慎重に答えてね
無理なら別に逃げてもいいよ
2018/08/07(火) 11:45:14.63ID:7ewfkb5/
工夫するたびに言語の差は大きくなって言葉が通じなくなる
逆に言語を一つにしたければチューリングマシンだとかラムダ計算だとか
人が手を加えないまるで手抜きのような方向に行けばいい
2018/08/07(火) 11:56:41.38ID:MwJ3Tuus
>>644
そうだなぁ。何でもいいんだけど、たとえば in-place quicksort をHaskellで可読性高く書けるかって話ですよ
いままでCにも劣る可読性のコードしか見たことないわ
だから、お前が可読性高い in-place quicksort を書いて見せたらこっちの意見は取り下げてもいいけどね

無理なら別に逃げてもいいよw
2018/08/07(火) 11:56:53.80ID:UdLWsfQc
関数型は実行モデルに由来する制約が少なくて言語設計の自由度が高い分、アイランドモンキー族にとって馴染みにくいものになってると思うんだよな
「結論から言え」なカルチャーが色濃く出すぎてる
2018/08/07(火) 12:42:49.18ID:hbLPpe/0
>>646
お前の可読性の基準なんかこっちはしらんがな
お前が言う工夫が例えば何かって聞いてんだよ
まさかノーアイデアで批判だけしてんの?
2018/08/07(火) 13:44:16.06ID:iXXZIPQ5
可読性が低く冗長なのが問題だ。簡潔に書ける工夫があればよい。
例えばどういう工夫が?
例えば in-place quicksort が問題だ。簡潔に書ける工夫はないだろ?

----
まあ問題意識は判った。確かに可読性と速度の両立は課題だと思う。
2018/08/07(火) 13:56:33.53ID:7ewfkb5/
CとHaskellの両立ができないやつは二刀流を自粛している
これは自粛であって禁止ではない
2018/08/07(火) 14:11:05.26ID:iXXZIPQ5
あれっひょっとして >>642
「もっと状態方面を簡潔に書けるよう工夫しろよ」って非難してるのか。
だとしたら誤読だったすまん。
2018/08/07(火) 14:14:10.11ID:87aOzLJL
インプレースに書かなくてもインプレースにしてくれるのが stream fusion
2018/08/07(火) 14:20:07.94ID:7ewfkb5/
副作用を書かなくても書ける(副作用禁止とは言っていない)
2018/08/07(火) 16:25:52.99ID:1g1T9ybM
>>633
> そのラムダ計算には型があるのかないのか
> 副作用があるのかないのか

副作用を入れたものは本来はλ計算ではないよ
そういう変てこなバリエーションをデッチ上げて「何ちゃらλ-calculus」とか呼んで発表してるのは幾らでもあるがゴミばかり
状態などというものを考えず単純に構文的な置き換えだけで扱えるλ計算の長所を破壊し放棄する拡張をしても何もメリットはない
単にほとんど誰にも論文のカウント数を1増やすだけ
まあ御当人の学位取得や助教職のアプリケーションには有効なのかも知れないが
2018/08/07(火) 16:27:13.31ID:1g1T9ybM
>>654訂正
誤> 単にほとんど誰にも論文のカウント数を1増やすだけ
正> 単にほとんど誰にも読まれない論文のカウント数を1増やすだけ
2018/08/07(火) 16:59:37.73ID:7ewfkb5/
モナドクラスは副作用を入れたinstanceと入れないinstanceの見た目を同じにする
副作用を禁止しても見た目が美しくなったりしない
Haskellには副作用を禁止するモチベーションがない
2018/08/07(火) 17:10:14.56ID:ghIQqx1y
副作用あったら遅延評価できないじゃんwwwww
2018/08/07(火) 17:44:51.87ID:STmUhm8q
>>648
ここはHaskellスレじゃないんですよ?
ゴミ言語にはゴミである理由さえ説明すれば十分ですよ
2018/08/07(火) 21:56:56.28ID:rAZv+q4y
Inplaceが必要な時はHaskellを使うべきではない
Inplaceが不要な時に力を発揮する言語だし、Inplaceなんて避けておけというメッセージのこもった言語だ
2018/08/07(火) 22:38:15.68ID:ThdtCxHP
>>659
それって言い方を変えると
HaskellもPythonみたいにクリティカルな部分はCで書いてそれ呼び出せ
って解釈できる気がするんだが、そう解釈しておk?飛躍しすぎ?
2018/08/07(火) 23:17:08.03ID:rAZv+q4y
>>660
個人的には正直そうした方が良いと思う
2018/08/07(火) 23:57:01.73ID:z8E9h/cA
たかがin-placeが必要なだけでCの助けが必要って?
そんなウンコは次世代言語に相応しくないな
663デフォルトの名無しさん
垢版 |
2018/08/08(水) 00:39:35.00ID:MPyzl9Mf
結局C++で全部書けばいいじゃんってなる
2018/08/08(水) 00:41:13.08ID:wOobAAAA
>>662
なるべくin-placeは避けろという言語に対してin-placeがかけないなら云々とかもう思想が合ってないとしか言いようがないな
2018/08/08(水) 00:46:04.90ID:LvbSOyDD
Haskellは富豪プログラム専用。in-placeがどうしても必要になるような貧乏人の道具ではない
2018/08/08(水) 01:04:09.78ID:vRZZuWNv
副作とノー副作を合一合体して書けるScalaサイキョってことか?
2018/08/08(水) 01:05:18.29ID:vRZZuWNv
ちなInplaceって何ンゴ?
2018/08/08(水) 01:17:44.98ID:XKTLbEez
関数型言語に学ぶ価値はあるけど使う価値はないっ昔から言われてるじゃん
Monad勉強してへーうまくできてんなー(実行効率悪そうだけど)
って思っときゃいいの
そして最近の言語はOptionalとかいいとこだけうまく取り込んでるわけだ
2018/08/08(水) 01:33:19.58ID:x4iNladl
シンプルさと実用性を兼ね備えたF#が最強でいいよ
2018/08/08(水) 06:39:46.68ID:qzF7QRmg
>>669
F#って、何処で使われてるの?
2018/08/08(水) 07:11:01.72ID:NcOXcLna
既存の手続き型言語で培われてきたアルゴリズムは
ミュータブルなデータ構造に対して最大限の効果を発揮するものなんだから
イミュータブルなデータ構造が基本の言語で同じことをやろうとするのが誤り
2018/08/08(水) 07:27:54.72ID:wNvOXIQi
イミュータブルなデータ構造の方が速い、ってケースはあり得るのかしらん
2018/08/08(水) 08:23:57.11ID:IxvHxUWv
ミュータブルがイミュータブルを包含するなら無い。
2018/08/08(水) 08:26:42.80ID:XKTLbEez
速いってケースは思いつかないけど(ヒープを遠慮なく使う時点でたぶんアウト)
SSAとかは興味深い
2018/08/08(水) 08:42:20.41ID:Lg30iyda
なんか俺がいなくても結局誰かをガイジ呼ばわりして叩くスタンスには変わりないんだな
676デフォルトの名無しさん
垢版 |
2018/08/08(水) 09:16:15.89ID:HB5JDXH/
誰だよ
2018/08/08(水) 09:16:44.00ID:2sUSQVhy
いや?引き続きお前がガイジだけど?
2018/08/08(水) 09:24:26.65ID:vRZZuWNv
ビットコドンドコで大負けくらってる僕よりガイジーヌなやちゅなんておらんJARO草ァwwww
んでさでさ、Inplaceて何ンゴンゴ?_?
2018/08/08(水) 09:48:10.71ID:x4iNladl
宣言的に書くならC#のLinqよりF#で書いた方が速いね
もちろん速くするだけならC#の方が速いけど

>>670
金融、財務とかかね
stackoverflowのアンケでは給料の高い人が使ってる言語の1位になってるし
日本じゃほぼ使われてないのかもしれんけど
2018/08/08(水) 11:11:01.92ID:Lg30iyda
>>677
それが変わったとは言ってなかろうw
2018/08/08(水) 11:33:37.96ID:cLlG8mO/
https://prtimes.jp/main/html/rd/p/000000004.000034075.html
日本だとgoやな
2018/08/08(水) 11:39:50.23ID:cLlG8mO/
https://insights.stackoverflow.com/survey/2018/#top-paying-technologies
stackoverflowはこれやな
トップ3は関数型やのう
2018/08/08(水) 12:50:00.95ID:LvbSOyDD
Clojureたっかw
2018/08/08(水) 12:50:15.63ID:5wsfu3zt
GoもKotlinもTSももう次世代じゃなくて現世代だな
2018/08/08(水) 15:37:13.59ID:PIe5jilU
関数型言語が高いんじゃなくて関数型言語使えるような人は土方と違って生産性も収入も高い人が多いってだけなんだよな。
2018/08/08(水) 15:50:13.09ID:9m2ggoUL
なんでもそうだけど、役に立たない仕事ほど年収が高いんだよね。
2018/08/08(水) 16:11:31.17ID:Gn4Y43YU
役に立たない仕事で収入を得るのは特別な能力が必要だから当然
688デフォルトの名無しさん
垢版 |
2018/08/08(水) 18:42:53.59ID:MPyzl9Mf
Google社内では本当にDart使用していると言い張っているようだな
2018/08/08(水) 20:02:34.86ID:vRZZuWNv
俺を無視するな無能ども
2018/08/08(水) 20:32:13.33ID:R97WVBzv
多数派ほど年収コストカットの標的になる
2018/08/08(水) 20:48:54.98ID:8/KZCZf7
>>684
それな
ここは次世代スレだからそろそろ退場して欲しい
2018/08/09(木) 07:19:31.82ID:a08mMW70
最近の言語ってなんで文末のセミコロンを無くしたがるのかはホント理解できんね
2018/08/09(木) 07:35:24.04ID:RpjTpAg/
文末に。を付けないやつが言うな。
2018/08/09(木) 10:42:24.61ID:9RYWVA0H
うまいツッコミww
2018/08/09(木) 11:20:46.07ID:SPEbgWbN
文末は「w」を付けようw
2018/08/09(木) 11:32:06.24ID:nOv6o4Tk
正解が二個以上あっても正気を保てるのは言語オタクだけだ
だから改行を唯一の正解とする
改行の強制はインデントの強制でもある
697デフォルトの名無しさん
垢版 |
2018/08/09(木) 11:45:07.69ID:jYulBjzP
。文頭に。
2018/08/09(木) 11:48:54.95ID:tiCgQYzA
>>691
じゃあ次世代言語上げてくださいますか?
2018/08/09(木) 12:14:58.58ID:oYkmjdVE
次世代言語って、現世代では全く使われていない言語を指すの?
そうなると、ここでは書いたことの無い言語の話しか出来ないんじゃないかな。

もう少し冷静に、新しいか、成長の余地がある言語にすりゃ良いかと思うよ。

新しくもないし凝り固まってるしパラダイムも充分に理解されてるがメジャーではない言語、を入れるかに悩むならわかるけど。
2018/08/09(木) 12:30:39.38ID:bosClgwQ
Javaみたいなゲージ御用達スーパーゲージ変換じゃなけりゃなんでも良いだろ
2018/08/09(木) 12:41:46.37ID:3KvQpafX
みんなスルースキル高くて草
2018/08/09(木) 12:49:51.63ID:f0O6DFnI
>>699
業務でってのが一つの基準な気がするけど
2018/08/09(木) 13:56:19.73ID:SPEbgWbN
つまりw改行しなければwいいんだなwwww
704デフォルトの名無しさん
垢版 |
2018/08/09(木) 20:59:51.98ID:e5qVRRjG
スレタイの中だとrustかswiftくらいしか成長の余地なくない?
705デフォルトの名無しさん
垢版 |
2018/08/09(木) 21:20:23.73ID:VJPaXfwo
Kotlin もよろしく
706デフォルトの名無しさん
垢版 |
2018/08/09(木) 21:38:29.91ID:e5qVRRjG
kotlinは生まれながらにしてjavaの業を背負ったどん詰まり言語じゃん
2018/08/09(木) 22:30:00.52ID:/2nI6M2Z
だって必要ないじゃん;
意味ある?;
これ;
(;_;);
2018/08/09(木) 22:44:04.28ID:a08mMW70
てか何気にRustよりGoの方が古いってのは意外だったな
2018/08/09(木) 22:47:27.72ID:blnBsEZw
>>706
実行環境についての話でいいなら、Kotlin/Nativeが成長途中という状況だよ
2018/08/09(木) 22:48:35.50ID:/2nI6M2Z
>>708
ゆとりwwwww
711デフォルトの名無しさん
垢版 |
2018/08/09(木) 23:33:53.62ID:e5qVRRjG
>>709
kotlin nativeはjavaに足を引っ張られたkotlinに足を引っ張られるんじゃないかと勘ぐってるけどそんなことないのかな?
712デフォルトの名無しさん
垢版 |
2018/08/09(木) 23:40:49.80ID:7Swg8quk
それは逆コンパイルしたら中身jvmだったりしないの?
713デフォルトの名無しさん
垢版 |
2018/08/10(金) 01:01:42.40ID:ucX04wSR
しないと思うんだがなあ
2018/08/10(金) 01:04:16.11ID:ukxgHu4p
じゃあなんでScalaは死んでしまったの?
2018/08/10(金) 01:10:51.06ID:IRsv9zVw
不器用でScala…
2018/08/10(金) 02:00:19.91ID:HdgH4clE
>>681
これ見るとkotlinよりscalaの方が求人多くね?
kotlinも死んだ?
2018/08/10(金) 07:23:01.25ID:ukxgHu4p
>>715
クッソワロピオ
718デフォルトの名無しさん
垢版 |
2018/08/10(金) 09:40:19.54ID:I/2uhvV4
求人件数だけ見るなら ruby 一択だろう

しかしなんだかとても嫌な予感がしないか?w
2018/08/10(金) 10:45:00.73ID:VgXmKm4y
そんな数字の話をするだけなら靴磨きの少年でもできるからな
2018/08/10(金) 15:35:01.51ID:ukxgHu4p
>>718
クッソゴミみたいな保守やらされそう
今やRubyもPHPに匹敵するレベルの糞になりつつあるな
2018/08/10(金) 15:51:54.46ID:zgyAwqJP
rubyは散々馬鹿にしてきたPHPと席を分け合うポジションに収まったのが笑える
2018/08/10(金) 15:59:34.87ID:ndPpyRQZ
rubyが笑えるのは散々バカにしてきたjavascriptの後塵を拝してるどころか3周差くらいつけられてなお離されてる最中なところ。
2018/08/10(金) 19:16:31.89ID:JIBbU2kk
rubyやたらディスられてるけどphpみたいにapiに一貫性がない感じになってるの?
2018/08/10(金) 19:20:49.70ID:3XHWU+Ek
>>704
Rustは既に方向性失敗して、2018editionとやらで互換性壊してなんとかしようとしてるらしい
成長の余地どころかぱいてょん(爆)の後追いで死にに行ってる

Swiftも似た感じだが、圧倒的なプラットフォームパワーでなんとかなってる
2018/08/10(金) 19:35:13.28ID:JIBbU2kk
elmはどうなん?別なチームが社内ツールで使おうとしてるけど
2018/08/10(金) 19:39:33.47ID:H9lF8aPc
>>719
靴磨き!
すばらしい喩えですね
727デフォルトの名無しさん
垢版 |
2018/08/10(金) 19:56:48.45ID:RwvSx+PQ
>>724
ぱいちょんと違って何も変えなければ動くんだから事情は違うでろ

コンパイラ言語なら互換性を無理に維持しなくていいと思うけどな
2018/08/10(金) 20:11:20.18ID:gUyFIU0u
pythonはよく2 -> 3 を生き延びたな
2018/08/10(金) 20:33:00.69ID:ky1dXwBu
2にしがみついてる老ガイどもを皆殺しにするウイルスでも仕込めばいいのにな
2018/08/10(金) 20:52:57.93ID:USnz8/j9
>>723
Rails全盛期の頃に比べると開発端末としてWinが復権してきたのが大きいんじゃないかな
Python をはじめとして Node, Go, TypeScript, VSCode など、比較的Winと相性のいいツールが全体的に伸びてる
2018/08/10(金) 21:03:08.30ID:U4E1U51M
>>729
こういうカス発言してる奴がクソコード残して逃げてくんだよな。
2018/08/10(金) 21:13:17.21ID:ky1dXwBu
>>731
おっ 2にしがみついてワイに殺される予定の老ガイか?
2018/08/10(金) 21:19:54.02ID:SUY6gjUJ
>>728
いやぁ生き延びとらんだろ
2018/08/10(金) 22:07:09.99ID:32dlghG4
そういやRubyってRPGツクールの拡張スクリプト枠JavaScriptに取られたんだったっけ?
2018/08/10(金) 22:08:44.06ID:32dlghG4
Kivyのクロスプラットホームで未だにPython2しか対応してないのがガッカリだな
2018/08/11(土) 09:11:36.35ID:HU3kTBNR
>>733
明日から2が動かなくなってもnumpy, scipy, matplotlibを使ってる連中は全く困らないし、
その辺のユーザを掴んでる限りPythonは安泰だよ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況