次世代言語Part7[Go Rust Swift Kotlin TypeScript]

レス数が900を超えています。1000を超えると表示できなくなるよ。
1デフォルトの名無しさん
垢版 |
2017/10/19(木) 17:51:38.66ID:EPSDvC75
文字数制限きついので改題
スレタイ以外の言語もok

前スレ
次世代言語議論スレ[Rust Kotlin Haskell]第6世代
http://mevius.5ch.net/test/read.cgi/tech/1503924817/
2017/11/26(日) 21:51:01.31ID:rNgJnhxq
まだ gcj の方が役に立つと思うのだが…openJDK に移行してしまったようだね
2017/11/26(日) 22:09:01.03ID:692DDN1+
Idrisの話でもする?
2017/11/26(日) 22:26:19.56ID:9HhrSf+y
TSやFlowtypeは明らかに救済だろ
地獄のごった煮なフロントエンドに一筋の光をもたらした
実案件でTS使ってるが、素のJSなら確実に破綻していた
2017/11/26(日) 22:30:22.25ID:2SXqucAT
>>824
おう、Idrisの話をしよう
827
垢版 |
2017/11/26(日) 23:23:32.48ID:9F+mQkF+
>>822
依存型が、いわゆる依存積みたいなものの事を言ってるなら、それこそ的外れ。

>>823
gcj、あんま良いところ無かったからな。
AOTぐらいだけど、パフォーマンスは落ちがちだったし。
2017/11/26(日) 23:24:09.06ID:WC95tXr9
>>811
確かに
829
垢版 |
2017/11/26(日) 23:33:46.45ID:9F+mQkF+
積だけじゃなくて、和もそうだな。
どーせTypeScriptのUnionTypesあたりの、直和型と見せかけて、undefinedなんかも入りうる気持ち悪いものをありがたがってるんだろうけど。

それこそ意識高いHaskeller様で、何かとても良い空論でも教えてくれるのかもしれんけどな。
2017/11/26(日) 23:36:35.81ID:jBgPnQyL
>>822 単に「型が無ければ解決できない問題は無いからなあ」という馬鹿発言を嘲笑してるだけだぞ
酒が抜けるまでレスすんな。酒飲んでないでそんなレスしかできないならトリップ付けてろ。NGに入れといてやるから
2017/11/26(日) 23:40:05.59ID:i1z8rFU6
>>821
標準ライブラリが充実してる。
httpサーバが簡単に作れる。各種プロトコルも標準ライブラリに入ってる。
例えばsshもopensshに頼らずに自前で実装してる。
結果として外部依存が少ないバイナリが作れる。
https://mattn.kaoriya.net/software/lang/go/20170111165324.htm

ってところが魅力。
あとオブジェクト指向的には継承の簡易さに対してデメリットがでかいことがわかってきたからgoの方向性はそんなに変でもないと思う。

後はコンパイルが早い。と言うかコンパイルの速さのために
言語仕様を妥協してるところがある。(継承がないのもコンパイルの速さを優先してる)
2017/11/27(月) 00:14:50.55ID:kgsU8O53
継承がない場合、GUIライブラリはどういう形に落ち着くんだろう?
833デフォルトの名無しさん
垢版 |
2017/11/27(月) 00:19:16.06ID:VTdrxhpK
>>832
インターフェイスじゃね
2017/11/27(月) 01:24:38.90ID:RuMmCyGV
E言語作ろうぜ
2017/11/27(月) 01:43:28.34ID:HZrBFFjJ
>>830
横からすまんが、
依存型を使ったことがないゆとりの俺に依存型がないと解決できない問題の例を教えてはくれないか……
2017/11/27(月) 04:02:10.71ID:UW/5w9w8
>>835
配列の静的な境界チェック
2017/11/27(月) 07:45:57.79ID:2gW8tPht
Rustの静的型チェックは確かに発見困難なバグを見つけてくれる感ある

他のしょーもない言語の型チェックは
ふつうにテスト書けば見つかるようなエラーしか見つからんので
正直、動的型付けとくらべて優位性が無いわ
2017/11/27(月) 08:00:20.85ID:lA4+sBYi
(一般的な)静的型が本領発揮するのは運用開始後に手を入れるときだろ
依存関係が完璧に把握できるからな
2017/11/27(月) 08:06:57.76ID:BLxyIU7+
GGG言語は熱い
2017/11/27(月) 08:17:35.26ID:Q9OySQec
MLまでいかなくてもPascalでも使ったことあれば>>837のような幼い感想は出てこないと思うので
なんだか微笑ましい
2017/11/27(月) 08:59:52.64ID:4bHQN/8n
静的型とちゃんとしたIDEならカーソル箇所のメンバを使ってる元とメンバが依存してる先が自動的に一瞬で全部表示される
grep(笑)
作りっぱなしで逃げられる開発なら型なんかいらないと思うよ
2017/11/27(月) 09:00:19.33ID:oelMhkLH
Rustでコード書けない低脳勢の嫉妬が心地よいわ
2017/11/27(月) 09:53:28.95ID:AnhEBxtH
>>835 「遅くて実用に耐えないが明快で仕様を満たしていることが分かる関数」と
「速いけど複雑で仕様を満たしているか分からない関数」が数学的に等価であることを示せる
あるいは求められている仕様を型として表現することで、その型を返す関数は仕様通りであることを示せる

証明駆動開発は依存型じゃないとできない
2017/11/27(月) 10:24:46.55ID:yqPvbQsf
>>842
RustをHaskellで置き換えたら数スレ前によく見たやつになる
2017/11/27(月) 10:27:49.38ID:yqPvbQsf
やっぱRustもHaskellも、強烈な選民思想を産み出すという点で、
この世に存在したらいけない言語だなほんと
2017/11/27(月) 10:33:41.71ID:Q9OySQec
他を使ったこともないやつがいきなり先進的なのを使うと
全てがそのひとつの手柄みたいに思えてしまうんだよな
C#のときもD言語のときもよく見た
2017/11/27(月) 10:46:19.87ID:kgsU8O53
そういえばhaskellの主張してた奴消えたな
2017/11/27(月) 11:17:42.08ID:qLynQL2e
話は聞かせてもらったぞ
静的型と動的型のうち選民思想が強い方が滅亡する
849
垢版 |
2017/11/27(月) 11:30:52.56ID:gxJYhWYL
>>830
酒飲んでないぞ。
>>836
レンジチェックとか静的解析で割となんとでもなるでしょ。安物の解析ツール使ってるならアレだけど。
850
垢版 |
2017/11/27(月) 11:31:28.76ID:gxJYhWYL
>>837
あれぐらい縛るなら俺は両手を上げて賛成する。
2017/11/27(月) 11:58:44.95ID:Q9OySQec
配列の境界チェックぐらいなら気の利いた処理系ならなんとでもなるが、
そういう類のをユーザー定義できると想像するといい
2017/11/27(月) 13:08:54.03ID:nLFkP6Tp
静的型づけと動的型づけのほかにも強い型づけと弱い型づけがあるぞ。
両方を合わせると4パターンあることを考えたほうがいいぞ。
853デフォルトの名無しさん
垢版 |
2017/11/27(月) 14:31:06.76ID:VTdrxhpK
>>852
弱い動的型付けは存在しないから3パターンだぞ
2017/11/27(月) 14:33:43.01ID:Q9OySQec
動的型付けでも、異なる型を混ぜた時に自動で変換されるのとエラーになるのがある
そういうやつのことじゃないの?
いや>>852に訊かないとわからないけど
855デフォルトの名無しさん
垢版 |
2017/11/27(月) 14:52:39.00ID:VTdrxhpK
>>854
弱い型付けってのはキャストはエラーはかずに出来るけどメモリぶっ壊して全く違う所でエラー起きたりするCとかC++みたいな奴の事だぞ
2017/11/27(月) 15:04:23.55ID:Q9OySQec
>>855
その定義だとreinterpret_castができるやつは全部弱型になるだろ
んで、その定義でもObjCのid型やOO風拡張付きアセンブラやForthなんかは動的弱型じゃね
まあ>>825にry
857デフォルトの名無しさん
垢版 |
2017/11/27(月) 15:06:30.80ID:VTdrxhpK
>>856
ObjCは分からんが
unsafeブロックとかで限定的に弱い型付け許してる言語もあるけどそういうのは基本的に弱い型付けとは言わないね
2017/11/27(月) 15:12:29.84ID:Q9OySQec
一般的にはnominalで暗黙の型変換を許さないやつがstring typeだと思うぜ
2017/11/27(月) 15:13:04.01ID:Q9OySQec
/string/strong/ (苦笑
2017/11/27(月) 15:19:26.38ID:RuMmCyGV
情弱言語
情強言語
861
垢版 |
2017/11/27(月) 17:59:38.96ID:gxJYhWYL
選民思想ってどういう意味なんだろう?
862デフォルトの名無しさん
垢版 |
2017/11/27(月) 20:05:56.25ID:ioN0hnnU
>>861
神に選ばれたとか生まれながらの血筋とか、
とにかく一部の選ばれた人間のみを良しとする思想。
白人至上主義みたいになのが代表的なものだろうな。
そのぐらいググれば出ると思うけど。
863
垢版 |
2017/11/27(月) 20:15:59.53ID:YD13FB3m
>>862
選民思想自体の意味はわかるよ。
言語に対して選民思想がある、ってのがわからん。
知れば選民なの?って感じ。
一見さんお断り、紹介制ね、セミナー・講習・試験受けてねー(笑)
でもあるまいし、なんか知ろうとする努力を放棄して便利な言葉でごまかしてるように見えるって事。
2017/11/27(月) 20:20:31.71ID:AFwfxdAR
くっさ
2017/11/27(月) 20:27:37.84ID:Q9OySQec
>>845のことなら強烈な自己肯定感と言い換えてもいいんじゃね
たかが2chの言葉遣いに厳密に意味を当てはめてもしょうがない
866
垢版 |
2017/11/27(月) 20:40:26.85ID:YD13FB3m
なるほど。自己肯定感を他者への否定で裏打ちしてるような人たち、か。
いるな。Ruby使いが全体的にそんな印象。
867デフォルトの名無しさん
垢版 |
2017/11/27(月) 21:24:06.34ID:HF1f2kGW
おまえらみんなそんな感じじゃんw
2017/11/27(月) 21:30:42.30ID:zgUQvI9i
自分が使ってる言語以外は覚えるの面倒だから滅べっていう奴だな。
わかりやすいし、正直だとは思うが恥ずかしい言い分だということも理解しておいた方がいい。
2017/11/27(月) 21:32:45.76ID:zgUQvI9i
>>818
go はそもそもシンタックスがパースしやすいようになってるから
実装が楽だって話だろ。
2017/11/27(月) 22:33:25.18ID:pxmyvyPz
そもそもgccのgoってメンテされてないのでは?1.2くらいで止まってなかったっけ?
2017/11/27(月) 22:35:11.55ID:pxmyvyPz
>>868
言語を2つくらい学ぶとそれ以降はソンナ手間でもなくなってくけどな?
最近は学習しやすいべ。
それよりエコシステムの使い勝手が大事。
nodejsは最近やっとまともになってきた
2017/11/27(月) 22:42:59.78ID:zgUQvI9i
>>871
まあ個人的な見解になるんだが
そういう奴のいうところの「覚える」ってのは機能だったりシンタックスについて
すみずみまで覚えるってことだったりするわけよ。
なんか周りにも自分にもハードル上げちゃって原理主義に走ってしまうって感じ。

言語を覚えるっつっても人によってとらえ方はだいぶ差はあるかもね。
2017/11/27(月) 23:03:54.83ID:BLxyIU7+
頭にウンポコピーのプェチピがつまった動的池沼型なしウンコマンがまた喚いてるようだね
うるさいゴミ虫だな!つぶれちゃえ、プチッw
2017/11/27(月) 23:17:01.33ID:b0u4s5jJ
>>872
>機能だったりシンタックスについてすみずみまで覚えるってこと
最近になって、当方主力のC/C++についても、これを諦めることにしました、楽になりました…
2017/11/27(月) 23:36:34.04ID:kgsU8O53
C++を「覚えて」いるやつなんて数えられる程度だろう
2017/11/28(火) 00:19:59.65ID:j/VePoOF
>>872
それこそ忘れたらググればいいし、
IDE連携でfixも出来る。
機能の存在を知ってることが重要だよね。
あと大概の概念は言語間で共有してる。
2017/11/28(火) 01:13:03.69ID:oL6iYiK7
共有してるが細かい違いがストレスになったりしない?特に「ぼくのかんがえたさいきょうのOO」は辛い
2017/11/28(火) 01:57:11.51ID:5aM4mai7
>>877
おいPHPの悪口はやめろ
2017/11/28(火) 09:52:26.16ID:LMrici0y
例のオライリーのrust本やっと出たようだな
2017/11/28(火) 10:47:18.80ID:oqWjNxDa
型システムの概念はC++とHaskellですら共有してる
一方、オブジェクト指向の概念は共有してないのでストレスになる
2017/11/28(火) 21:52:49.31ID:+Ls9Kpqr
昔はこの手のスレだと、補完が効くのは静的型だけだから動的型はダメだ!的な
無知丸出しのカキコミしてたJavaドカタを良く見たけど、
最近は流石に学習したのか、そういうの減ったね
2017/11/28(火) 22:32:58.71ID:XwHAt9fz
とはいえpythonの補完はpycharmでさえたまにしょっぱい結果になるがな
883デフォルトの名無しさん
垢版 |
2017/11/28(火) 23:57:11.98ID:S3oF2yyz
つうか補完って個人的にはうざいからいらない。
補完ってそんな有難いかねぇ。
2017/11/29(水) 00:01:06.36ID:Ro7m+vSG
>>883
ガイジかな?
2017/11/29(水) 00:28:23.95ID:LyP2QHxX
どのみちJavaScriptはクソなのは事実
886デフォルトの名無しさん
垢版 |
2017/11/29(水) 01:08:31.46ID:ZTL4r6Le
jsが糞だなんて世界の共通認識やろ
887デフォルトの名無しさん
垢版 |
2017/11/29(水) 01:32:48.31ID:/BpqyHHR
何でやjsは最高やろ
javascriptはうんこだけど
2017/11/29(水) 01:34:30.49ID:wq9Dycsx
jsはブラウザ標準だから広まってるけど実際かなりの変態言語だよね
大分マシになってきてるけど
889
垢版 |
2017/11/29(水) 08:18:33.62ID:fb/gmNyy
phpは、protectedとか何だかんだ大先生が要るって言うものはつけたけど、正直必要性がわからんね、みたいな事を作者が言ってるぐらいだからな。

JSはあの変態具合がじつに良い。
2017/11/29(水) 10:31:45.07ID:/xS4M0rU
>>881
ダメだろ。動的言語の言語仕様として正確な補完は不可能。
PHPとかPHPDocで追跡できるようにもできるけど、結局ドキュメント部分だから
信用できるとは限らないし
2017/11/29(水) 10:35:30.46ID:/xS4M0rU
>>889
ポリシーがない作者の言語は大体そう。
投票制で機能の実装を決めるって結局糞になる一方だと思うんだけど。
swiftも最近はそうだっけ?
2017/11/29(水) 11:19:53.91ID:ags1OwXJ
ハンバーガーとコーラとWindowsが多数派になったおかげで、少数派の自己肯定感が強い
893
垢版 |
2017/11/29(水) 12:52:13.36ID:fb/gmNyy
>>891
作者は、ポリシーがないのがポリシーみたいな人だしな。
たまに引数の順序とか違うけど、仕方ねえじゃん。積み重ねってあるんだから。それに便利さって尺度あるじゃん?とか、
自然言語だって言語学者が整理して作ったら英語なんかと全然違う整然としたもの出来るけど、それってホントに実用になるかはわからんよね。
って開き直ってるからな。
goto実装したときのやり取りとか滅茶苦茶面白かった。

譲れない部分以外は適当に決めろよ、俺使わねえし、みたいな方向性もアリだとは思う。
894
垢版 |
2017/11/29(水) 12:55:46.19ID:fb/gmNyy
>>890
補完が無いからダメ、を否定してるんでは?
「補完なんか無くても書ける」レベルのやつが書けばいいんだよ、っていう主張かと。
そんで、俺はそれでいいと思う。
補完が無くても大体間違いようがない、っていう使い方はあるもんだし。システムハンガリアンじゃない、本当の意味の方のハンガリアンとか。
2017/11/29(水) 13:46:28.77ID:N4X6syzD
>>894
その読解力でよく人に訂正できるな
間違ってるのはお前だよ
896
垢版 |
2017/11/29(水) 16:23:39.89ID:fb/gmNyy
>>895
是非説明して欲しい
2017/11/29(水) 17:20:07.57ID:0SzzSOSo
>>896
是非も糞もお前以外正しく解釈してるんだからかき混ぜんな
2017/11/29(水) 17:33:20.21ID:jE6TKqng
最近の言語なんて全部ポリシーないじゃん。
他の言語で流行ってる機能だからうちも入れよう
みたいな話ばっか。
899
垢版 |
2017/11/29(水) 18:31:36.52ID:fb/gmNyy
>>897
見えないすべての他人の代弁者ご苦労様。
2017/11/29(水) 18:51:31.66ID:/xS4M0rU
>>898
Go言語はポリシーあるけどね。と言うかGoogle社内で使うための言語として
進化してきたって感じ?
結局C++コードベースで作ってきたシステムがコンパイルするたびに40分とかかかるようになってきたから、Go言語でそこを改善した。
具体的には継承を使わないようにしたり
パッケージ間の依存関係を極力抑えるために敢えてDRY原則無視したり。
後プリプロセッサを削除してパッケージシステムをしっかりしたもの(未使用なパッケージをimportしたらコンパイルエラー)
にしたり。
2017/11/29(水) 22:33:45.37ID:0SzzSOSo
Goとか見るに、googleって意外と線形代数使わないのかなあ?
2017/11/29(水) 22:55:35.66ID:xEIA2DIf
tensorflowを作ってるんだぞ?使ってるに決まってるだろw
2017/11/29(水) 23:01:31.92ID:v9jZdRV7
そういうのはpython使ってんじゃないの?
2017/11/29(水) 23:38:03.94ID:0SzzSOSo
goは線形代数使わない用途向けか?
TensorFlow for goで全部やってるってわけでもなかろうし>>903の言う通りだろうか?
905
垢版 |
2017/11/30(木) 00:01:53.15ID:5c50KJX1
Grumpyも単純に書くと遅いしな。
速度を出したいならcとインラインアセンブラで書くだろうし、大規模に走らせるならHPC系に載せやすいfortranとかベンダのCだろうし、
気楽に書きたいならpythonで良いし、
その為に何か言語を、って手段と目的が入れ替わってる気がする。

既存の道具で目的が果たせるならそれで良い分野だろ、それ。
2017/11/30(木) 00:15:23.93ID:ZeZezy1g
Cとインラインアセンブラで書いた数学コードなんて今時見たことねえよ
2017/11/30(木) 00:21:22.97ID:ZeZezy1g
Cで数学コード書く奴いるけどあいつら凄いわ
俺なんかFortanの形状引き継ぎ配列使わない縛りでも発狂しそうになるのに、さらにサポート少ないCでよくやるわ
2017/11/30(木) 00:25:37.10ID:ZeZezy1g
いや、Cとインラインアセンブラって、もしかしてあれか。よく知らんけど、CPUベンダーが実装してるような何かか
2017/11/30(木) 00:25:51.08ID:6I05rtBK
>>907
ゲーム目的とかならCでやるんじゃないの。
と言っても今は優秀なゲームエンジンが無料の時代だから意味ないかもだけど。
2017/11/30(木) 00:27:36.54ID:4oSM3dIJ
Numerical Recipes in C にはお世話になりました
2017/11/30(木) 00:30:03.93ID:ZeZezy1g
>>909
しれっとC++にしてEigenかublasかなんか混ぜたりしない?そうでもない?
あれCで書いてる奴本当に凄いと思うわ
2017/11/30(木) 00:48:55.61ID:RJLQhcO3
いいニンクの日は過ごせましたか
2017/11/30(木) 02:40:07.39ID:3Jq96VTV
アドベントカレンダー見てたら地味にelmユーザ増えてる?
reduxきっかけで流れてきたユーザー居るのかね
2017/11/30(木) 02:43:19.27ID:3Jq96VTV
>>911
すげーかもしれんがそういう低レベルのコードを書くプログラマーっていま日本にどれだけいるんだろうな。もはや大手ゲームベンダーも他社のゲームエンジンに頼る時代だし
2017/11/30(木) 04:01:07.03ID:aR0OMF8n
みんなC言語が分ってるのが当たり前だと思ってたけど、
最近はC言語は知らないのが前提らしい
低レベルプログラミングという本が殆どC言語の解説書なのは驚いた。
2017/11/30(木) 06:58:09.24ID:DHC1c6S+
elmのアドベントカレンダー
2つめ全然埋まらなくてブチ凹む
2017/11/30(木) 08:03:32.96ID:uu2PxLG/
Cについて知っててもらわんと色々説明しづらい部分があると思うんだが
大丈夫なんかね。
918
垢版 |
2017/11/30(木) 08:34:13.82ID:pYUAd/ci
>>909
流体のシミュレーション書いたことある。
多分同業は同じように内製してるか、か今は外注するかしてるけど、ガチの方のシミュレーションでは結構使う。
2017/11/30(木) 09:05:16.03ID:6I05rtBK
>>916
ここで宣伝してよ。elmのメリット何?
使ってて気持ちいい?開発環境って使いやすい?
2017/11/30(木) 09:09:00.14ID:TiHNvA1L
>>914
あんなもんCで書いてて嫌にならないのは怠惰さの足りない奴でしょ
そういうのをやらされる/やる人が減るのは健全なことだと思う
921
垢版 |
2017/11/30(木) 11:03:50.95ID:pYUAd/ci
新しい言語を作ってそしてメンテしていくほうが面倒だと知ってるからな。
トランスパイラに近い闇マクロがCにはあるので、その辺で逃げるが勝ちの部分もある。
2017/11/30(木) 11:23:43.51ID:6I05rtBK
>>921
C11ってジェネリクスがあるの?
正直プリプロセッサで頑張れば何でもありな気もする。
ライナスがあんだけCだけ大好きっ子なのは何かあるんだろうね。
レス数が900を超えています。1000を超えると表示できなくなるよ。