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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2017/08/28(月) 21:53:37.12ID:5I+bTEeA
※前スレ
次世代言語議論スレ[Go Rust Scala Haskell]第5世代
http://mevius.2ch.net/test/read.cgi/tech/1497311647/
2017/09/22(金) 16:25:12.12ID:g4HdW9MF
>>635
だからそれfromInteger使ってんだろ
そしてIntとWordが例外なのに、さも他に定義されてるように言いやがるし
詭弁が多すぎ
2017/09/22(金) 16:30:27.19ID:g4HdW9MF
>>637
あらゆる型で変換が必要だからおかしいんだよ
比較的面倒くさいOCamlでさえ1キャストで済む
2017/09/22(金) 16:31:40.02ID:ig88NjIH
>>639
他にも色々な型の書き換え規則が定義されています。

ここで全て挙げるのはさすがに勘弁してほしいので、
興味がおありなら標準ライブラリを調べてみてください。
2017/09/22(金) 16:36:07.88ID:g4HdW9MF
>>641
いやお前が言い出したんだから、お前が挙げるんだよw
よくもまあこんな適当な事をw
2017/09/22(金) 16:37:20.96ID:g4HdW9MF
そしてこれが現実w
http://hackage.haskell.org/package/base-4.10.0.0/docs/src/GHC.Real.html#line-442
2017/09/22(金) 16:37:24.43ID:XD+YRvZx
そもそもIntとIntegerを混ぜて演算する時なんてそうあるか?
浅学非才な俺には設計が悪いとしか思えないんだけど。どういう時に必要なんだ……
2017/09/22(金) 16:42:22.60ID:g4HdW9MF
>>644
逆だぞ
そんな型揃えてまで速度欲しい具体的な演算を想定したら
Haskell自体を使わない
2017/09/22(金) 17:05:23.17ID:XD+YRvZx
>>645
いや、速度関係なく、取り敢えず型は揃えとかない?
関数作る時にわざわざ一つの引数はIntegerで一つはIntとかせんだろ?
俺は大体全部Intで作ってるから、Integerは即Intにしてるわ。みたいな
2017/09/22(金) 17:09:55.82ID:ig88NjIH
>>643
そのファイルだけではなく、他にもあります。
grepかけてみてください。
2017/09/22(金) 17:53:28.33ID:ZDWEQPwS
>>619
おっと、型クラスへの罵倒はそこまでだ!
2017/09/22(金) 20:04:54.06ID:yMB3txhD
そもそも人が
型とか、型クラスとか、
パブリック/プライベートとか
ポインタだとか
そういう言語側の都合を意識しちゃ
次世代言語として
ダメだと思うんだけどどう?
2017/09/22(金) 20:08:01.73ID:XD+YRvZx
HaskellやらOCamlやらの型は補助ツールであって言語の都合ではなかろ?
2017/09/22(金) 20:24:36.31ID:yMB3txhD
え〜、でも、そういうのも
言語側が裏で判断して処理してくれればいいじゃん
A.I.でもディープラーニングでもなんでも使ってさ
ハスケルでもエリクサーでも
古いコンピュータ言語の慣習にとらわれてて
全然、次世代って感じしないじゃん
2017/09/22(金) 20:26:22.11ID:eEMHecr4
型がない言語にろくなものはないな…
2017/09/22(金) 20:33:12.38ID:ZDWEQPwS
>>652
型がない言語って具体的に何?
2017/09/22(金) 20:37:05.38ID:b6yHr9//
車の自動ブレーキと一緒で
危険な操作をできなくする方向で言語は進化してきているから
別に古い習慣とかじゃなく、そういう方向へ進化していくものだから
2017/09/22(金) 20:40:16.61ID:b6yHr9//
危険な操作を禁止するといっても
やりたいことが出来なくなっては意味が無いので
その辺の制約の付け方が次世代で評価されるポイント
2017/09/22(金) 21:16:44.42ID:A2XKXMkJ
変な操作を禁止する方向と
変な現象を報告するだけの方向があるぞ

そして両者の存在を認める方向と、相手の存在を禁止する方向がある
2017/09/23(土) 03:41:51.45ID:qWNtk5Ea
むしろ自動ブレーキじゃなくてオートマチック車が
マニュアル車より速くなったとき次世代だと思うな。
2017/09/23(土) 10:32:28.92ID:j6VCxv0o
具体的には?
2017/09/23(土) 10:47:51.80ID:qWNtk5Ea
アセンブラが人間が書くよりCの最適化のほうが速くなったときとか。
2017/09/23(土) 10:48:52.56ID:2jyO0MAw
ほぼもうなってんじゃん
2017/09/23(土) 16:51:55.93ID:sz6/Tcc0
車もDCTの登場でオートマのほうが速くなったな。
2017/09/23(土) 19:13:02.33ID:nrpIGIl5
禁止するだけだともっと糞な方向に行くだけだろう。
規則で禁止しまくった SIer の現状を見ろ。
そうじゃなくてより安全な方向を提示するほうが正しい。
2017/09/23(土) 19:54:26.15ID:2jyO0MAw
そりゃそうよ。次世代と言われてるやつは大抵方向まで提示してるっしょ
2017/09/23(土) 20:21:34.37ID:3qopZopL
米Appleが「Swift 4.0」を公開、以前のコードを修正無しに利用できる互換性モードを新たに導入
2017年9月22日17:10 末岡洋子
https://mag.osdn.jp/17/09/22/171000

Swift 5の目標が確定、新たな発展プロセスを定義
https://www.infoq.com/jp/news/2017/09/swift-5-development-plan
2017/09/23(土) 21:09:08.49ID:3CWlI3/Q
>>653
多分PHPのことを言ってるんじゃないかな。
結局動的言語ってテンプレート文字列使ってプログラミングするのと変わんないんじゃないかと思う。
2017/09/23(土) 23:08:02.02ID:z4fPY7jV
PHPとPerlはもはや門前払いだわ
2017/09/23(土) 23:30:11.90ID:2jyO0MAw
パールは多重ディスパッチ搭載されてるところが割と好き。使ったことないけど
2017/09/24(日) 00:17:35.00ID:ZBUgGWmA
>>647
まだ言ってるよw
2017/09/24(日) 00:33:10.78ID:sQZN3/qk
やけんペェ〜ルとプェチピィ使ってる公害はさっさと処分しましょうね〜
670
垢版 |
2017/09/24(日) 01:03:00.91ID:g+SOx1mh
まー、MT車でもニュートラルにしてブレーキペダル踏んでないとセルを回せない、なんて仕組みになったりしてるしな。
安全性としては進化しつつ、機能・機構としては複雑になったり踏切からの緊急脱出の手段を一つ捨てるといった退化してる。

結局、言語も何が正解かは使う人間と用途次第だろ。

「ポインタを捨てたりNullableとそうでない型すらもわけるのが正しい言語」「型なんて飾りです、キャストすりゃいいんです、電文?unionで解釈しましょう」みたいな言語が相容れうる訳がない。
2017/09/24(日) 09:15:54.71ID:XPNHEl2X
多重ディスパッチわりと好きなんだけど、搭載されてる言語少ないよなあ
2017/09/24(日) 09:18:19.02ID:L7/sMAP/
しかし時系列でみれば新しい言語ほど何かをするための専用の構文が追加される
傾向があって、その専用の構文では「それ」しか出来ない制限があることで
危険なことが出来なくなったり、読みやすくなったりしているのだから
次世代言語とはそういうものだろう
2017/09/24(日) 11:08:39.74ID:fyfssP0K
ちょっと議論が抽象的すぎんよぉ
具体的に行こうぜ具体的に
2017/09/24(日) 11:10:15.91ID:sQZN3/qk
バイナリで語れよ
2017/09/24(日) 15:15:34.52ID:FsQtGtar
>>672
それ自称シンプル言語()のGolangだろ
array、slice、map,chan。全てが専用構文
次世代言語は演算子もメソッド呼び出しだったりするから専用構文は少ないよ
2017/09/24(日) 15:20:28.63ID:0P71vbb3
関数型言語の時代が来る事なんて一生ないよ
2017/09/24(日) 16:49:57.99ID:tjbSkdrA
もうそこまで新しい言語上の概念もないしな。
2017/09/24(日) 18:21:51.74ID:y8Y2Gp0g
COBOL「私を殺すと言ってた言語は、みんな死んだよ」
http://www.nurs.or.jp/~ogochan/essay/archives/5033
2017/09/24(日) 18:23:00.77ID:fyfssP0K
LLVMって第一級関数ないんだよな……
HaskellとはバックエンドにLLVMあるんだけど、どうやって実装してるんだろ?
2017/09/24(日) 18:51:05.70ID:ueXBBIg3
新しい概念がなくても、古すぎて記憶にない概念を蒸し返すだけで十分たのしそうだな
2017/09/24(日) 18:53:11.57ID:fU9iGs3X
>>679
インタプリタで実装できるんだから、極端な話、インタプリタをそのまま埋め込んでしまえばいい。
それをいかに効率化するかは最適化次第だけど、基本的にはエミュレーションだよ。
CPU命令セットとの親和性の高い一部の低レベルな言語を除けば、
コンパイラというのは君が想像してるより非常に複雑でソースからかけ離れたコードを生成するもんなんだよ。
2017/09/24(日) 19:10:03.30ID:fyfssP0K
>>681
いやまあ、せやね。Haskell が吐くアセンブラ複雑すぎてビビったことあるわ
しっかしやっぱりインタプリタ埋め込みかあ。Haskellもそうしてるんだろうか?
2017/09/24(日) 23:54:19.09ID:tjbSkdrA
c/c++ のコンパイラしか知らんけどそんなに複雑なものが必要かね。
あんまりイメージできないな。
2017/09/25(月) 00:13:26.46ID:8jaeeQ+5
C++だってラムダはそれなりに複雑と思うな〜
2017/09/25(月) 00:29:03.12ID:10sBRTwD
ブラウザがDOM操作とかgetとかpostとかするのもインタプリタのように見える
JSをいくら最適化しても複雑なデータ構造はそのままだから
2017/09/25(月) 00:30:46.06ID:Kozaluvh
>>664
まだ仕変とかABIとか言ってるのかよこの言語。
いい加減枯れろよ
2017/09/25(月) 01:47:53.39ID:/lG4wgeA
ポストC++としてはD言語が最適だわ
やっぱnullは便利
2017/09/25(月) 10:51:28.03ID:8jaeeQ+5
Dは指針に欠けていて、書けるコードの種類が多すぎる。
最近はクラスは使わないとか言われた時はビックリしたわ。割と好きだけどさ

テンプレートとオーバーロードの充実っぷりはC++の比じゃないし、プロパティあるし、UFCSある所とか好きだけど、演算子の定義を構造体中に書かないといけない所だけは解せない
2017/09/25(月) 12:10:20.51ID:Vj0qyvjj
>>679
llvmのレベルでクロージャー定義されたらつぶし効かなくなるだろ
llvmにそれを期待するのが間違ってる
2017/09/25(月) 12:40:19.83ID:8jdzqYUG
>>689
期待はしてないぞ。ヒープに関数を展開する機能がないのに、どうやってヒープに関数を展開してるんだろう?って疑問を覚えているだけだぞ
2017/09/25(月) 12:54:44.69ID:Vj0qyvjj
>>690
llvmを持ち出す意味がわからん
cで実装されてる関数型言語はどうやってクロージャー実現してんだろ?とか
jitってどうやったら実現できんだろ?
という疑問の持ち方ならわかる
2017/09/25(月) 13:05:30.42ID:8jdzqYUG
>>691
「Cで実装されてる関数型言語はどうやってクロージャを実装してるんだろう」でもほとんど同じ意味だけど、別にLLVMでもいいじゃん。俺がLLVMの方を意識してるからLLVMって書いてるだけだが

Jitの方はよくわからん。関数型言語一般でJit使ってるの?
2017/09/25(月) 13:25:06.64ID:X0v0rcqt
すごい素朴には
class {
unsigned int eax;
...
void add();
...
}
みたいなアセンブラ実行クラス作ればできんじゃないの?
2017/09/25(月) 15:00:43.13ID:AJsPQEJa
そもそも関数を動的に生成する必要はない
クロージャは環境を引数に取る関数として実装するのが普通だ
2017/09/25(月) 15:37:00.33ID:C5otDHV+
動的に関数を作るのはコンビネーターで結合させるんだろ。
2017/09/25(月) 15:40:30.80ID:AszBb3kH
その前にまず再帰関数で100の階乗を計算すればいい
関数を100個作るやり方とは違うやり方がわかる
2017/09/25(月) 20:30:11.80ID:Vj0qyvjj
>>692
単なる疑問ということはわかった
物理cpuとそのabiを扱うことを前提にしてるllvmと
λ計算を理論的基礎にしてる関数型言語とでは
メモリモデルが全く違うんだからいきなりマッピングを考えるのは
無理があるとだけ
2017/09/26(火) 00:58:41.50ID:PCoWV6xx
ハスカルデスクトップソフト作れるようになった?
2017/09/26(火) 13:49:21.20ID:3DlL6rrx
だからそれは
データは制御フローに影響を与えるし
制御フローはデータに影響を与える
このように双方が影響しあってプログラムが展開していく
(まるで電磁波のようだ)
この複雑性はソフトウェアが有用であり続けるためには仕方が無い

なので
・制御フローがデータに何か書き込むタイミング
・制御フローがデータを読み取って分岐するタイミング
の二つをトラップして言語やシステムで何かサポートしてやろう
というのが基本的な考え方なんだよ
2017/09/26(火) 14:35:36.67ID:dFfa0kvi
制御フロー?は座標系や文字のエンコーディングに影響を与えるやつですか?
エンコーディングに依存しないデータが欲しいです
2017/09/26(火) 16:08:19.45ID:hWBvxAV0
つまり、いつ実行するか?今でしょ。
ということだな。
2017/09/26(火) 21:28:19.34ID:ghZl2iPU
マイクロソフト、量子コンピュータ向けプログラミング言語を発表 https://ndjust.in/t7GAzsXB

俺の予測したとおり次世代言語は機械学習に最適化された言語ってことだな
703デフォルトの名無しさん
垢版 |
2017/09/27(水) 05:16:13.47ID:phMqkxHz
どうせ博士クラスの研究者しか扱えない代物なんでしょ?
2017/09/27(水) 08:06:15.29ID:RgM5LnyS
この中に1人だけ、量子コンピューティングと機械学習を混同してドヤってるバカがいます。
2017/09/27(水) 08:58:09.74ID:iTQClNYA
>>704
相手にしてるお前なんなん?
恥ずかしいからやめて。

量子コンピュータの用途が何%機械学習を経由するであろうか、お前は全て見通しているとでもいうのか?
お前のその自己矛盾に気づかない頭の悪さよりよっぽどマシな発言だと思うが。
2017/09/27(水) 09:00:05.94ID:iTQClNYA
そして俺はそんなアホを相手にするアホ以上の何者でもないことは断っておこう。
2017/09/27(水) 09:43:14.65ID:VJzN3SRS
少なくとも今現役の量子コンピュータは機械学習専用ってくらい
それくらいしか使いみちがないと思うんだが。
他の用途で使えるの?
2017/09/27(水) 09:48:07.08ID:iTQClNYA
>>707
単独の最適化問題って機械学習関係あるの?
2017/09/27(水) 09:49:46.52ID:S3cenggq
別に今使ってるパソコンが量子コンピューターに置き代わっても
処理速度が向上してうれしいだろ。
2017/09/27(水) 10:00:45.88ID:ihq9cuYE
バイナリ変数の二次多項式の最小化しか解けないのだが。
2017/09/27(水) 10:36:08.63ID:S3cenggq
日本人は量子コンピューターのなかで機械学習をやってるように物事をみるが
西洋人は機械学習を量子コンピューターでやっているようにしか見えないらしい
2017/09/27(水) 13:42:52.32ID:t1YPNFYO
機械学習やりたいからやってるだけの人の気持ちがわからない
わからないなら真似しなければいいのに
量子力学上の理由で機械学習をやってるという設定で人の真似をするモンスターがいる
2017/09/27(水) 17:06:07.52ID:BP44oxnY
結局は大きい部屋を占領する量子コンピューター(冷却の都合で小型化困難)で
端末から2進数コンピューターのエミュレーションさせてそうw
2017/09/27(水) 18:07:06.65ID:7dA/9JOQ
これだけ過去の資産であふれかえってたら
そう簡単に移行できないね
2017/09/27(水) 21:35:28.14ID:Z//p6YWO
お前らずっと型型うるさいな。だまってSmalltalkかjsかRuby使ってろよ。
そんなんじゃrustで発狂するぞ。

>>649
>パブリック/プライベートとか
カプセル化が幻想だっていい加減気付いてほしい。
有用なのも抽象データ型だけだし。
2017/09/27(水) 21:39:54.28ID:t1YPNFYO
>>714
行きたいところがあれば大抵一人で行けるからみんなで移行はしないのであって
みんなで行けないから一人で行くのではない
717デフォルトの名無しさん
垢版 |
2017/09/27(水) 23:40:28.56ID:ECh+B8hR
>>715
> 有用なのも抽象データ型だけだし。

個人的にはデータと操作を一緒にして 型 としなくてもいいかもって思うことある。

でも複数のデータをまとめる機能とオーバーロード・ジェネリクス可能な関数、それと名前空間は欲しい。
2017/09/27(水) 23:54:51.33ID:t1YPNFYO
最初の引数名をthisかselfするとデータと操作が一緒
それ以外の名前にするとデータと操作が一緒じゃない
これは幻想
2017/09/28(木) 04:02:34.66ID:y9L3Umrp
オブジェクト指向はスケールしないパターンマッチングとしか言いようがないな。
抽象データタイプの値コンストラクタの引数は評価されなくてもサンクの為の
メモリーを消費するかな。
2017/09/28(木) 04:11:56.16ID:y9L3Umrp
結局、言語なんて何使っても一緒というのが結論だな。Cを除いて
2017/09/28(木) 06:49:19.68ID:BQWTKxzA
じゃあCOBOLで
2017/09/28(木) 12:13:20.80ID:9BGh9eWC
>>720
結論なんてないさ
結論がないということはどれでも一緒なんだろうという推理は微妙に間違っている
2017/09/28(木) 14:09:34.89ID:Wk7uxpKF
>>719
それは君の理解が浅いからだな。ばーか
2017/09/28(木) 15:55:46.02ID:y9L3Umrp
要するに構文が単純になるとコンテキスト依存になってパースが
線型時間スペースで不可能になりコードを生成に向かないジレンマなんだよな。
2017/09/28(木) 21:56:38.55ID:QyC1nyMw
理解が浅い、じゃなくて変な理解をしているか使う言葉にオレオレ文脈を入れてるかだろう
1レス内に意味の通じない言葉や理屈が複数あると突っ込むことも面倒臭いから、よっぽど親切な人に出会わないと自覚できない
2017/09/29(金) 00:23:21.75ID:QjWIl+U1
幽霊には主体性がない
人を怖がらせるのも自由意志ではなく信賞必罰か何かのルールに従っているだけ
逆にルールを破るのも他人が言ったことを鵜呑みにする形で破る
727デフォルトの名無しさん
垢版 |
2017/09/29(金) 01:30:00.14ID:ppl3WHHK
%%%3%%%
000-DOK<NAZE-0.8112162>
001-3800%\73NMB/1,81,2,NB"IKKI"%
002-91.81%ML7"8.122231746668193,43@ML.4@"%^23.1444
003-1.33321444718%"YLD""SO"%{71.%{62.1339816{331.422231765%<<<NL6
004-LOOP%Go To"000"%

VCL
2017/09/29(金) 01:36:36.52ID:kiQUSPyl
まあ統一言語を欲するのは銀の弾丸を信じるのと同じくらい愚かだってことだよ。
2017/09/29(金) 03:47:22.75ID:UluMyDjB
一言語で何でもやろうとすると
C++みたいに複雑になり過ぎる
2017/09/29(金) 04:58:15.94ID:UyK8hEcX
自然科学の雄たる物理学のこれまでの試みを全否定でワロた。
そういう所謂愚かな天才たちのお陰で今がある訳だが。
2017/09/29(金) 08:27:55.49ID:RLeXl8wr
銀の弾丸を求める方がまだマシだね
2017/09/29(金) 08:29:27.12ID:SkRkhnTn
物理学はバカにはできないのと同様、いい言語はバカにはできないのでこの世にはPHPが存在するのです……
2017/09/29(金) 09:30:18.50ID:KptQPoVN
このスレってタイトルの割には中身カスだね
巡回やめ
2017/09/29(金) 11:04:49.63ID:Ge6Tlx2B
>>730
ニュートン力学で十分なところを相対性理論だの量子力学だので解こうとするのは
高度なアプリケーションをマシン語で書くようなものでは
原理的には単一の言語で書けるというのと
実際にそれで書くというのは違う
2017/09/29(金) 12:23:50.97ID:/3JVpH8G
なるほど、言葉という点からするとそりゃそうか。分かりやすい喩えだね。
2017/09/29(金) 18:13:13.46ID:Nb5uhyxU
プログラミング言語を手軽にプログラミングできる言語を開発すれば
あらゆる問題に対処できる言語になるんじゃないかな
2017/09/29(金) 18:20:21.61ID:LiYG09Uz
プログラム言語のシンタックスはスケールしないからな。
要するに一次元のストリングスをパースする実行性の限界なんだよな。
2017/09/29(金) 19:22:42.97ID:kiQUSPyl
「言語」がカバーしようとする範囲はある意味では「物理学」の範囲を超えてるしな。
文学だろうと心理学だろうと社会学だろうと記述しようとしているようなもんだよ。
2017/09/29(金) 19:53:59.09ID:K1n6MHEs
そんなことより世の中 車輪の再発明と移植がおおすぎるから
どんな言語で書かれたライブラリもどんな言語からでも呼び出せる
ライブラリの標準フォーマットと仕組みを作ってほしい
そしたら言語のシェアなどもう気にする必要ない
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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