次世代言語議論スレ[Go Rust Kotlin Scala]第4世代 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2017/04/20(木) 04:43:27.12ID:mNwXvrXv
いざ、語ろうぞ。

スレタイ超過のため、一部省略。
Go, Erlang, Kotlin, etcもウェルカム。
Haskellは協議により次世代失格になりました

前スレ
次世代言語議論スレ[Go Rust Haskell Scala]第3世代
http://echo.2ch.net/test/read.cgi/tech/1488608741/
378デフォルトの名無しさん
垢版 |
2017/05/12(金) 17:26:32.26ID:k//9Mr+f
>>368-369
でもCの地盤沈下は確実に進んでるわけで

まー2017にはさすがにCOBOL使ってるシステムも
リプレースされただろ?されてるよね?ってところ
2017/05/12(金) 20:20:28.20ID:H6Uk5vuw
>>377 の search3rd はもっとシンプルに書けたので差し替え

search3rd := [:str :kw |
 (str lines collectWithIndex: [:line :idx |
  (line allRangesOfSubstring: kw) collect: [:range | idx -> range first]
 ]) concatenation
].

http://ws.stfx.eu/A3HB6MT66GI5
2017/05/12(金) 22:43:42.90ID:y9SJMwIK
第4世代、4番目、英語で言えば、Forth
2017/05/12(金) 22:45:07.26ID:r6F8dCD7
残念、fourth でした。
2017/05/13(土) 00:01:55.41ID:hYOIVOdy
そんなの良いから。
実際問題キャットドアより簡単だから。
次世代言語以外が回答してるのがおかしいから。
2017/05/13(土) 01:15:28.36ID:VbJPsYiJ
終わった言語が必死にコード載せてアッピールしようとしててウケるw
2017/05/13(土) 01:52:43.37ID:7Z9U0QOC
pascalとかForceとかね。次世代言語だよ?
Fortunは77じゃないよね
2017/05/13(土) 04:50:33.84ID:j31cCXIw
数行のコードも書けぬ低脳に担がれ哀れな次世代()言語
2017/05/13(土) 08:16:21.72ID:2mf4fJqx
ぶっちゃけ新しい言語とか覚えるの面倒だから次世代とかいらねーって思ってるんだろ?
2017/05/13(土) 08:20:03.99ID:zCDOTfft
次世代言語を考えるなら古典に立ち戻ることが重要だな。
スレタイに挙げられた言語は局所最適の枝葉末節だらけで参考にならない。
2017/05/13(土) 08:26:47.84ID:pUHHN6Pq
じゃあ原点に立ち返って、Smalltalkのどこがゴミで死んだのか確認しようぜ
2017/05/13(土) 09:04:37.48ID:1FO9O0uX
さすがにそれはスレ違いだろう
2017/05/13(土) 09:12:34.64ID:4agJqfcC
いくらお題がアレとはいっても、
ここまで来てなんで一つもKotlinとかGoで書くやつがいないのか。
簡単だし時間かからないだろ?
Smalltalk馬鹿にしてる奴も意味不明。
2017/05/13(土) 10:51:00.22ID:Cn0XNRH7
お題が簡単すぎて面白くないからだろ
2017/05/13(土) 10:59:13.12ID:n2tLG6k9
ほんまそれ。Pythonの例で問題の糞さが示されたと思ったが
2017/05/13(土) 11:11:25.11ID:XdPYiSal
python がいかに読みやすいかが示されただけだな。
2017/05/13(土) 11:14:51.78ID:GlvX42FB
Pythonの第三形態マダー?
2017/05/13(土) 11:51:00.37ID:rBo1iP3S
Pythonから次世代言語に乗り換える意味が見当たらない
396
垢版 |
2017/05/13(土) 12:14:40.76ID:Mm9GiQ8r
>>390
夜か明日、書いてもいいけど、全く以って問題が悪すぎて、次世代もクソも無いと思うよ。
2017/05/13(土) 14:48:56.11ID:7U8nUyJb
>>394
現実、3.x だから第3形態じゃないのか?
0.9 もあったから第4形態かもしれんが。
2017/05/13(土) 16:19:26.54ID:XdPYiSal
プログラミングエアプ勢の一発逆転の可能性
それが次世代言語の意義なんだよ。
2017/05/13(土) 18:54:00.95ID:zCDOTfft
問題が悪いとふんぞり返っていれば次世代言語がどこからか降って湧いてくるのか。
便利なスレだな。
400
垢版 |
2017/05/13(土) 21:16:28.56ID:l2RlSRsK
また、「エアプ」か。どこで流行ってんだその言葉。。
問題が悪いからと言って次世代言語が降ってこないのは当たり前と言うか、
自動車が発明される前に人々にニーズ調査したら「すごく早くて馬が疲れにくい、壊れにくい馬車がほしい」って答えただろうってフォードのおっさんの名言に尽きるだろ。
2017/05/13(土) 21:56:48.51ID:QiNZfANm
>>384
英文は無理でも言語名の綴りぐらいはちゃんと書こうね
ForceじゃなくてForth
FortrunじゃなくてFortran
pascalはPascal
(固有名詞だから頭文字は大文字、なお全部を大文字で書く・・・PASCAL・・・か否かは趣味の問題だが
全部を大文字で書くのは小文字がディスプレイやプリンタで表示・印字できなかった古い時代の名前というニュアンスが加わる)
2017/05/14(日) 06:47:23.26ID:FpH7uWr+
>>397
すぐ手前の流れも読まないPython使いってなんかマヌケだね
2017/05/14(日) 11:16:19.57ID:g1XH9FW+
マジな話、いまだにショボいお題にご執心のハスケラの方がマヌケだけどね
2017/05/14(日) 12:32:07.52ID:1QHY+inp
ドア云々とかよりは実践向きだと思うけどな
2017/05/14(日) 12:40:55.67ID:ZZLeiCLl
まあドアよりはな
2017/05/14(日) 13:56:58.74ID:KHWozqTm
>>403
結局それか
何か叩いてないと安心できないだけ
2017/05/14(日) 14:23:56.19ID:tMuNfTLo
ドアは糞
だがしかしコードをちゃんと読めて(あるいは書けて)改めて糞だと言えてる奴がどのくらいいるかは怪しいな
ドア→実用なし→糞と短絡してるだけとか
実際、>>404>>405はドアのお題、何分ぐらいで書けるの?
408405
垢版 |
2017/05/14(日) 16:59:45.21ID:ZZLeiCLl
>>407
Juliaの書いて、書いた上でドア糞って言い始めたのは俺だぞ
あれ思い出しながら書いたから一時間くらいのかかったわ
なんか言語仕様変更してる所とかあったし
2017/05/14(日) 18:38:38.10ID:tMuNfTLo
>>408 それはお見それしました
>>404は?
2017/05/14(日) 19:19:30.14ID:oT3eSlat
キャットドア問題も解けないくせに
2017/05/14(日) 19:34:09.72ID:hXmCvLEt
>>408
Images のデータ構造また変えやがった。いい加減にしてくれ。
2017/05/14(日) 19:53:34.96ID:tMuNfTLo
>>410
あれはコンポジットで解決だろ
その前に問題点理解できてるのか?
2017/05/14(日) 22:19:02.85ID:USv6MFnh
Go: http://ideone.com/HpfQo5
Kotlin: http://ideone.com/9xPk7i
2017/05/15(月) 00:34:41.47ID:vRkjYJPr
次世代言語でも手続き型言語の呪縛からは解き放たれないのか。。。
既存言語の着せ替えでしか無いなら、プログラムの組み易さも大差無かろう。
2017/05/15(月) 00:54:38.55ID:vRkjYJPr
>>410
Haskellスレのおいらの過去の書き込みより。
341 名前:デフォルトの名無しさん [sage] :2017/04/29(土) 15:22:04.96 ID:nyANDfpK
デザパタみたいなの?
パターンって程実践で使われてないだろ。
んー。。。
使ってた感触だと、割と行き当たりばったりからの仕様変更でも何とかなるのが関数型言語の強み?と思わなくも無い。
ちょっとの変更にも関数経由するから、自然と既存の関数使い回せないか考えるし、関数型言語もそう言う風に進化して行ってるように感じる。

某スレで話題になったキャットドアクラスも、変な縛りがなければ究極的には機能の組み合わせでドアが開くかどうかの問題なのだから、タプルにBoolを並べれば良い。
ただ、同じBool値ばかりだと違う機能を付いてる(付いてない)と表現しやすいので、適当な型を作ってコンパイラが順番間違えたらエラー出すようにする。
cd = (False,型Aの値)
値が欲しかったら
getA t = snd t
または引数の時点で直接欲しい値にアクセス。
getA (_,x) = x
仕様の拡張に関してはタプルを入れ子にする事とする。
継承というよりは委譲に近い。
理屈では(以前の機能,拡張機能)の形でいくらでも入れ子に出来る。
cdEx = (cd,型Cの値,型Dの値)
cdFX = (cdEx,型Eの値)
基本機能だけなら基本のタプル取り出して使う。
getA $ fst cdEx
拡張機能だけまたは、拡張機能と基本機能の組み合わせは引数の時点で(以下略)
getC (_,x,_) = x
getAD ((_,x),_,y) = x + y

ただ、関数型言語は元々多くの状態を管理するのに向かない。
例の通り、構造が複雑になると扱い難い。
HTMLなりXMLなりXAMLなりに状態管理は任せた方がいい。
んじゃ、おいら夜勤明けなんで寝るわ。
お休みzzz...
2017/05/15(月) 01:06:58.66ID:8Y8+/ZxP
結局関数型の雄はなんなの?
2017/05/15(月) 01:32:26.10ID:hQsWbFnv
既存の言語でやれってことだろ。
オブジェクト指向をむりやり c でやったように。
結局それが正解。
2017/05/15(月) 01:34:34.82ID:vRkjYJPr
何が関数型言語の雄になろうと次世代言語にはならないかなぁ。。。
私はただHaskellに惚れてるだけで、ここが良いって紹介もするけど、それって結局Lisperと同じ道を歩んでると思う。
2017/05/15(月) 01:36:41.34ID:vRkjYJPr
しまった。。。
一人称が真面目モードに。
x私
oおいら
2017/05/15(月) 06:38:31.61ID:k5wZeeQn
アテクシはScalaが最強だと思いましてよ、ホホ
2017/05/15(月) 09:32:58.17ID:G/N4Afa9
量子コンピュータ向けの言語じゃね?
言語なのかどうか知らんけど。
2017/05/15(月) 10:34:46.05ID:OVQU3b0Y
次世代と称される流れには2つの傾向があって
ひとつはScalaやSwiftのように従来のOOPLをベースにして(つまり機能は特に削らずに)
これまで関数型言語の独擅場だった型推論やオプショナル型といった型システムのサポートを手厚くしたもの
もうひとつは、さらに一歩進めていろいろな不都合の元凶であったクラス(もっというと継承)を外して言語機能を大胆にシンプルにしたもの
GoやRustがこれにあたる…ってところか

あと個人的には並行・並列処理のサポートを手厚くした言語、Clojureや前と重複するけどGoとかも
この調子でコアが増え続ければ重宝されると思う

Rubyは両方を狙っているけどたぶん失敗する
423
垢版 |
2017/05/15(月) 12:50:33.96ID:HDk+iNO5
Rust、今更もう一度触ってみたけど、割とまとまってきてるな。
風呂敷広げ過ぎた悲壮感減ってきてる。
ただ、それでもすごく安全なCとして使うほうが便利な気がするわ。
2017/05/15(月) 13:17:14.26ID:CnSqTz4B
Rustなんて木構造もまともに書けない言語が次世代とか飯食ってるときにわらかすなwwwwwww
425デフォルトの名無しさん
垢版 |
2017/05/15(月) 14:36:26.20ID:JAUTsopg
わらかす
2017/05/15(月) 14:45:26.78ID:CnSqTz4B
「笑かす」な。
2017/05/15(月) 15:08:17.40ID:hQsWbFnv
木構造もすべて配列で用意させる硬派な言語
2017/05/15(月) 15:50:28.38ID:CnSqTz4B
Rustって言わばCより低機能な言語だからな。

そりゃ何も出来なきゃ安全だよな。
429
垢版 |
2017/05/15(月) 17:18:40.45ID:HDk+iNO5
>>424
RcとRefCellで書けるんじゃないの?
2017/05/15(月) 17:20:05.97ID:ciuqqN4z
>>416
sml/nj
2017/05/15(月) 17:33:40.67ID:CnSqTz4B
>>429
教科書的に書くだけならな。Cのように実用に耐え得るものは書けない

ttps://hackernoon.com/why-im-dropping-rust-fd1c32986c88
432
垢版 |
2017/05/15(月) 18:36:33.51ID:HDk+iNO5
>>431
この人が行き詰まってるのは、オブジェクト指向そのまま当てたからでは?
structのImplでもなく、traitの関数でもなく、
traitのImplで書けば何とかなりそうだけど。
あと、サイズを取得したいだけなら、lifetimeを明示してCopyちゃんとすれば良いのでは?
2017/05/15(月) 19:00:47.68ID:RWNXh8sg
書けると主張するなら書けばいいのに
434デフォルトの名無しさん
垢版 |
2017/05/15(月) 19:24:57.87ID:jxMhaoqU
笑かす
2017/05/15(月) 20:17:30.50ID:hQsWbFnv
実際書くと大変なことを無意識に理解してんでしょ。
そういう種類のごまかしをするやつはよくいる。
436
垢版 |
2017/05/15(月) 20:54:20.75ID:HDk+iNO5
書いたら面倒だって事は否定してないじゃん。
この人が行き詰まってるのは、借用とは割と関係ないオブジェクト指向脳ではって話してるんだけどなぁ。

CでもMISRA-C通そうと思うと木構造相当辛いし。
産業向けのC書いてる奴なら耐えられるレベルの話だと思うけどなぁ。

手軽さ的には俺はGoを押し続けるが、否定するもんでもないと思うようになったな。
2017/05/15(月) 21:00:18.80ID:zTfCWGM6
チューリング完全だからなw
2017/05/16(火) 00:41:59.04ID:HLEZgw56
なぜか C 書く人はみんな MISRA-Cを守ってるという話になってんな。。
2017/05/16(火) 01:26:25.84ID:YrF/ZMci
まあ当のMozillaがRustでDOM木の処理書くのに難儀してるとは聞くから簡単ではないんだろうな。

物が作れない最高の言語より、物がつくれる嫌われ言語の方が結局世の中に貢献するんだよな。この点ではPHPでさえRustより世の中に役に立ってる言語と言える。
2017/05/16(火) 01:30:45.27ID:/yslofcu
ようするに?
2017/05/16(火) 01:46:35.68ID:O9oAiYi/
firefoxの書き換えが成功したなら実用性では文句無しになるの?
2017/05/16(火) 02:00:35.86ID:PbASgT1d
というかまだ書き換えられてないのか…
2017/05/16(火) 11:18:02.03ID:PSQsih3e
>>441
成功するなんて妄想してるからChromeにシェア完全に奪われたんじゃねーの?
444
垢版 |
2017/05/16(火) 13:09:50.84ID:RIytWhRI
>>438
守ってない部分はGoやらなんやら、もっと手軽な物で書いたほうが楽じゃん。
あれは要は、ヒープやスタックの領域の担保やら、死んだポインタへのアクセスの回避やら、そういう部分に対して言語側から縛りかけて安全にしよう、ってスタンスなのでは?
本人らは推してるが、副次的にGCが無い言語になってるように見える。

>>439
歯ブラシ言語はマジで強い。PHPはdisる奴がわからんレベル。
遅いしまともじゃない動きしたりするけど「とにかく動くwebページ」は一瞬で作れる。
2017/05/16(火) 13:14:04.12ID:dZpCRHDk
また発狂してる……
446デフォルトの名無しさん
垢版 |
2017/05/16(火) 13:18:30.66ID:D7FkMXFe
次世代スマートポインタだけでよさそうな気がするけどそれをやったらC++の独壇場だな
Goやらなんやらの出る幕がなくなってしまう
2017/05/16(火) 13:43:07.20ID:PSQsih3e
Goの何がすごいって、言語の批評家にこんだけタコ殴りにされても、もの作る速さが圧倒的の一点でここまででかい言語になったことだよな。

RustはCを安全に倒しすぎた結果なにも作れなくなった言語って意味では対照的。
Servoは失敗するだろうが、そこで得られた知見でRust2.0(1.xと互換性なし)が出てからが本番と見てる。
448デフォルトの名無しさん
垢版 |
2017/05/16(火) 14:33:32.43ID:rFzXLZrQ
GUI付きのOSまで作られてるのに何も作れないとは
449デフォルトの名無しさん
垢版 |
2017/05/16(火) 14:47:31.26ID:D7FkMXFe
歯ブラシではなく弱者で同じことができれば尊敬されるだろうな
弱者を批判する批評家から弱者を守ってみろ
2017/05/16(火) 14:57:19.22ID:bxFACSIv
TiDBつーかTiKVに続報がないのがな。
対抗馬のゴキちゃんは1.0リリースしたのに。
2017/05/16(火) 20:55:08.15ID:szD5YOp7
MISRA ってそんなに厳しいのかい?
2017/05/16(火) 20:55:48.40ID:zxK8tMMg
phpはガチでないわ
php持て囃してるやつらって、php書いたことないやつらだろ
プロトタイピングならまだしも、phpをプロダクトに使うたら頭おかすなるで
453デフォルトの名無しさん
垢版 |
2017/05/16(火) 20:57:15.12ID:gJA+c77n
関数各々link時に再帰の有無て判別できるんだろうか?
454
垢版 |
2017/05/16(火) 22:59:06.93ID:RIytWhRI
>>451
めんどくさいけど、あれ通りに書いてたらバイナリパッチ作りやすい。
>>452
世の中、プロトタイプ程度の物で充分な事が多いって事でしょ。
2017/05/16(火) 23:37:19.01ID:q2BEchMh
>>454
ねーよガイジ
ペチプァは死ね
2017/05/17(水) 00:01:12.17ID:3IJ9wgg6
ペチパーへの強い憎しみを感じる……
457デフォルトの名無しさん
垢版 |
2017/05/17(水) 04:28:27.85ID:2wQy2LFh
Nimってどうなん?
次世代感は無い気もするけど
2017/05/17(水) 04:48:40.76ID:bqqNuZww
>>432
似た印象を持った
問題提起者が新しい型と型制約の逆転に気づいてないし、
RustをRubyか何かと勘違いしている感じだ
2017/05/17(水) 06:25:59.43ID:IyzcLayy
>>457
開発者が足りなくてライバル言語との開発競争に負けている。
それにこの用途ならNimという用途がない。

https://github.com/rust-lang/rust/graphs/contributors
https://github.com/JuliaLang/julia/graphs/contributors
https://github.com/nim-lang/Nim/graphs/contributors
2017/05/17(水) 07:38:00.11ID:sxUcFyDL
性的オッパイソンみたい
2017/05/17(水) 07:38:49.95ID:dkQOogT2
まともなプログラマならPHPなんて金積まれても書かないから、
PHPを書いたことがあるプログラマは全て無能のクズペチパーでFA
2017/05/17(水) 08:29:33.19ID:wJf0VzTx
>>460
何それ?楽しそう。
2017/05/17(水) 11:39:01.15ID:RUw3nkZO
EC-CUBEとかphpじゃん?
求人多いじゃん?
でも言語としてはダメってこと?
2017/05/17(水) 12:43:44.96ID:F+w5XH8T
>>463
PHPは言語ではない。まずそこからだ。
465デフォルトの名無しさん
垢版 |
2017/05/17(水) 13:07:19.59ID:rCny4GOf
>>464
え?

まあ、EC-CUBEは開発当初流行ってたからPHPで作った
というだけで今一から同じもの作るとしたらPHPという
選択肢は無いんじゃないかなぁ。
PHPが流行ったのは歴史的な経緯が大きいと思うし。
2017/05/17(水) 13:16:25.89ID:l7mhfXJ7
>>447
つーかああいう馬鹿な批評家みたいなやつが生産性を落としてるんじゃねーかっていうことを
証明したのが go という印象。
467
垢版 |
2017/05/17(水) 14:32:20.84ID:FjYdmJm+
>>455
夏休みの工作をフライス盤で作るような事したくないじゃんww
悪いもの使ってるから悪いものしか作れないと言う意味じゃなくてな。
俺の字が汚く見えるから鉛筆は使わない、みたいな情けない字が下手なやつの言い訳に聞こえる。

>>458
この辺思想だから、移植物だと仕方ないっちゃ仕方ないんだよね。
2017/05/17(水) 17:32:30.07ID:0Ygr9k03
PHPはテンプレートエンジンであって、それを使って無理矢理プログラミングしてるのが異常事態っていうテンプレは置いといても、
誰がが言ってたが生産性が高いんじゃなくて生産性を前借りしてるっていうのは言い得て妙だと思った。Rubyに対しての話だがPHPにもしっかり当てはまるな。

Goは「前借り」感が少ない。少ないだけでまだあるがRubyやPHPよりはるかにマシ
2017/05/17(水) 17:33:55.88ID:0Ygr9k03
借りて返さなくていいプロダクトなら確かに一つの選択肢になり得るってのは否定しようがないけどな
2017/05/17(水) 23:33:27.42ID:NA6XP0ND
今出てきてる次世代言語はどれも外れ臭い

洗練されてない
くどい
従来の物のほうがなじみやすい
目立った成果をあげていない
2017/05/17(水) 23:56:52.27ID:MByoVwD6
>従来の物のほうがなじみやすい
これはさすがにアホだろ
2017/05/18(木) 01:36:26.16ID:ahqmwSBr
>目立った成果をあげていない
新興言語が既存言語の積み上げた資産ぶち抜く成果上げたらびびるわ。

コンテナオーケストレーション領域やNewSQL領域みたいなそもそも新しい分野ではGoが結構強い。
2017/05/18(木) 03:34:10.58ID:DKg0Na73
AndroidでKotlinサポート!
2017/05/18(木) 06:06:25.90ID:TSzqrQQ0
HaskellはClojureよりは実用的。。。らしい。

【Lisp】プログラミング言語 Clojure #4【JVM】 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1483498849/

>>37
>facebook傘下のwitaiが基盤実装をclojureからc++かhaskellに移行する予定だったらしく、haskellにしたとのこと。
>移行したら読みやすいみたいな話もちょっとだけ。

>clojureの場合、ライブラリは一度作るまでいろいろいじって、一回出来るとあまりいじらないイメージもあるけど、実装を多人数でよくいじるみたいなのだと、難しいのかな?
>IDE上手く使えばそういう開発もできるのだけど、最初からなんでも決まってるほうがいいってのはgo見るとわかる気もする。
https://wit.ai/blog/2017/05/01/new-duckling
475
垢版 |
2017/05/18(木) 08:04:06.63ID:j3O3T+hJ
>>468
それはその通りだろうな。
まぁ、使い捨てるためのものであって、確かにあれでバッチ処理とか書いてたのは直させたことある。
>>472
新しい概念に新しい言語はマッチするし、やっぱ効率的だと思う。
PCODEとパスカルとか。
資産活用なら、すごい親和性のKotlinかな。JavaのクラスのgetXXXとsetXXXが、勝手にクラスのプロパティになるとかすげえなって思う。
2017/05/18(木) 10:38:06.37ID:CUeY4+YJ
>>475
そこらへんのKotlinの機能はただのGroovyのパクリ
というか静的型以外は大体Groovyのパクリ
2017/05/18(木) 11:37:49.17ID:sfBdYfQZ
過去の資産を自然に利用できるってのは次世代言語にとってでかいってことかね。
そういう意味じゃ c++ は先見性のある言語だったんだろうな。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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