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

■ このスレッドは過去ログ倉庫に格納されています
2017/06/13(火) 08:54:07.99ID:O1HnBMDk
いざ、語ろうぞ。

スレタイ超過のため、一部省略。
その他もウェルカム。

前スレ
次世代言語議論スレ[Go Rust Kotlin Scala]第4世代
http://mevius.2ch.net/test/read.cgi/tech/1492631007/
2017/07/07(金) 12:01:01.33ID:GpMOtbcc
>>311
GUIの中で副作用のないところをhtmlに切り出せたなら
あとは副作用をどう上手く書くかだろ?
だったらHaskellみたいな純粋関数型は益々いらんって事にならんか?
2017/07/07(金) 12:31:39.94ID:qM4KnfoJ
GUIで書きたいのはただの副作用ではなく非同期な副作用
非同期とXMLを流行らせたJSの手柄をOOPの手柄にするのはアクロバティック過ぎる
314デフォルトの名無しさん
垢版 |
2017/07/07(金) 12:34:56.69ID:xvg52mfm
え、逆だろ?
HTMLやXAMLは副作用の排出口。
だからそれらに書き込むような表層部分に副作用部分を集める。

むしろ今だからこそHaskellがGUIで活きる可能性が出て来た。
例えばエディタ作るとして、CUIだと文字入力監視用のループがある。
GUIだと文字入力されたってイベントに対応すれば良いから、HaskellだとGUIのがエディタ書きやすいと予想してる。
んで、そっからは文字列処理得意なHaskellの独壇場。
普通のアプリなら文字列処理をロジックと読み替えて良い。

まあ実はHaskellだけでGUI書いてもJavaやC#みたいにIDEが整備されてる言語には劣るけど、整備されてない言語とならどっこいどっこいで、特にGUI苦手ってわけでも無いんだけども。
Haskellっぽくなくていやんな見た目なだけで。
2017/07/07(金) 13:09:15.86ID:24WGQrlF
>>311
うん、意味不明
独自のwidgetを作るのにOOPは必要
2017/07/07(金) 13:14:54.40ID:SZnapx63
>>314
そこまで構想(妄想?)ができたならもうそろそろいいだろ
続きはgithubで語れ
mfput(笑)みたいなサンプルじゃなく、ちゃんと実用性のあるGUI&DBアプリを作ってくれよ
期待してるぞ
2017/07/07(金) 13:39:25.73ID:kkdCXGBc
>>314
GUIアプリを画面を入力すると画面を出力するプロセスの集合体と見做すのはCOBOL時代には主流だった発想だよ(今でもWebには色濃く残っている)
自分でやってみりゃわかるけど、確かにスケールはさせやすいんだがくだらん単純作業とコピペを延々繰り返すような開発になるし
大きな手戻りが生じるともう悲惨
318デフォルトの名無しさん
垢版 |
2017/07/07(金) 14:05:26.16ID:C9MPrnMO
うい。
作れたら出してみる。
2017/07/07(金) 21:35:56.42ID:0YPYv3Ek
出すまで帰って来るなよ
320
垢版 |
2017/07/07(金) 22:07:41.70ID:TSmGX11I
ダム端の画面エンジン面倒見たことあるわ。

文字入力監視のループと、GUIのイベントのdispatchループがどう違うかわからんな。
WinMainとGetMessageとか、XlibのXNextEventからGUIアプリ作ったこと無くて知らないだけじゃねえの?

副作用の出口ではないような。
WM_PAINTの処理中に描画以外やるべきで無いのと同じように、画面周りは出力に徹しないと話がまとまらん。

入力の処理なんか、フォーカス持ってるやつにメッセージ投げるだけだろ。
2017/07/09(日) 05:20:26.84ID:iVqKXTPM
昨今の話題にのせられてKotlinの入門編読んでみたけど、なんかイマイチだった・・・
関数の引数は型推論してくれんの?カリー化して部分適用とか力ずくでやらんといかんの?パイプライン演算子は・・・
今のところ不安しか感じてない、次世代言語の劣化版でバカチョン言語ってのがKotlinの実像かな?
2017/07/09(日) 07:39:05.73ID:nT4jFya6
>>321
関数引数の型推論もカリー化もパイプライン演算子も
全部持ってるHaskellがゴミクソだったから、
それらは言語の生産性にとって特に重要じゃないって事だよ
2017/07/09(日) 09:40:04.24ID:15PsL+fn
括弧を省略しないカリー化はゴミクソだし
中置演算子を使わないのと括弧を省略しないのはLispとJavaの伝統じゃないか
2017/07/09(日) 09:45:29.15ID:zwxu6ZoN
なんだかんだカリー化は微妙だと思うなあ
部分適用の文法はClojureとかMathematicaがいい感じ
パイプライン演算子はLL的に使うときは便利やね
2017/07/10(月) 01:34:13.11ID:VQ9sifwz
>>322
HaskellがクソなのはDynamicBindingが言語的に駄目扱いされてる点だぞ
あとstatic初期化にunsafePerformIOが必要な点もクソ
デフォルトで静的型なカリー化とかあったほうが明らかに使いやすいだろ知ったか野郎
2017/07/10(月) 11:47:13.63ID:oyNYkVXL
そんなものは言語オタクが喜ぶだけで生産性と何の関係もない
2017/07/10(月) 12:33:52.51ID:NQXPB1lU
生産性(低産階級労働者にも扱えること)
328デフォルトの名無しさん
垢版 |
2017/07/10(月) 17:50:59.58ID:LYSrTSKk
Rustが実用言語になったぞ
DockerをオラクルがRustで実装した
2017/07/10(月) 20:00:12.08ID:d0flA58w
お、おう・・・
330デフォルトの名無しさん
垢版 |
2017/07/10(月) 20:04:51.52ID:LYSrTSKk
実用言語になったらもう次世代言語じゃないからこのスレとはお別れだな
じゃあな
2017/07/10(月) 21:04:24.59ID:Fha/eGoH
すげえ論理でワロタ
2017/07/10(月) 21:59:47.07ID:2kp3NGJ8
建物は完成した時点から崩壊が始まるのでわざと未完成の部分を残しておくとかいう話を思い出した。
2017/07/11(火) 11:36:48.66ID:5tKo2E+W
そもそもオラクルって時点でお察しだが、
業界ゴロのモジカスとOSSゴロのオラクルは相性が良かったんだろうな
2017/07/11(火) 15:49:53.62ID:Fwj1YTm5
>>332
誰がどう見ても未完成なら意見が対立しないからね
完成したら、一部の(自称)察しのいい奴が、まだ完成してないと主張し対立が始まる
335デフォルトの名無しさん
垢版 |
2017/07/11(火) 17:23:33.46ID:9uLf2kf9
>>333
マルポ
http://mevius.2ch.net/test/read.cgi/tech/1495343069/262
2017/07/11(火) 18:53:45.21ID:dSS1j36W
[][Tebla][]

}

000-"Yob*RtStrike"[%Kil\]MO,fla>%$9999VLTS

001-GYORLith"0\R"/"ESUBA"%$%

HADO-"EM","L","O","NU"###END
2017/07/12(水) 22:48:51.57ID:mlvPRLpa
実用言語になってないのが条件なら
Smalltalkも入れてくれよ
2017/07/12(水) 23:51:46.66ID:k6H5UqbS
Smalltalkは実用されてるだろ

スタートアップ界の異端児!産業機器 x IT x SmalltalkのSORABITO株式会社…人材採用のプロ・高野秀敏氏が厳選「いま最も旬なベンチャー」
https://thepedia.co/article/1068/
2017/07/13(木) 00:48:32.99ID:ZEMYQbKR
一生実用言語にならないような言語は次世代とは呼ばねえだろ池沼かガイジ豆腐で撲殺するぞ
2017/07/13(木) 00:52:26.73ID:6ivxTFOR
21世紀に生まれた言語限定でええやろ!
2017/07/13(木) 01:37:14.59ID:GmrDZ9ks
オブジェクト指向というだけで最低限の実用性はあるから純粋な世界に引きこもる
関数型は引きこもるとやばいから外に出る
2017/07/13(木) 07:10:16.60ID:uexVWLm1
純粋OOPLより純粋FPLの方がいろんな意味で引きこもっとるわ
Smalltalkのシンボルがなんで「気球」なのか、知らんのか?
http://lists.squeakfoundation.org/pipermail/squeak-dev/1998-October/022354.html
2017/07/13(木) 07:22:43.74ID:ZgBNlC8f
Smalltalkの引きこもり方は物理的っていうかなんというか
imageの世界に引きこもってるせいで外の世界で新しいツールとか流行ってても使えないし
2017/07/13(木) 07:29:54.34ID:uexVWLm1
>>340
20世紀生まれとかバカにしてるけどな
Traitsなんて言語機能は10年とちょっと前
21世紀になってからSmalltalkで考案されたのを
新しい言語がこぞってありがたがって使ってんだぞ

Scalaに至ってはただのMixinをかっこいいからってTraitって名前つけちゃったくらいなんだぞ
2017/07/13(木) 07:40:18.24ID:m3hQX1bI
>>343
いつの時代のSmalltalkの知識で止まっているんだよ
Pharo作ってる and/or 使っている人たちの話でも聞いて錆び付いたイメージをアップデートしてみたら?
2017/07/13(木) 11:47:59.75ID:LjH88DBT
intはオブジェクトにしない方がいい
他にもプロセスidとかファイルディスクリプタとかURI
オブジェクトの本体ではないものが必要
副作用が必要なのと同じ
2017/07/13(木) 13:19:58.91ID:equsxY/V
>>344
バカにしてないけど、次世代言語スレとしては21世紀生まれの子たちに絞ってええやろ
起源がなんであれそれを子どもたちが引き継いでるわけなんやし
2017/07/13(木) 13:28:33.65ID:xX1L5EAL
haskell(1990)
2017/07/13(木) 13:36:01.36ID:zQhEdRBN
よっしゃ!haskell離脱おめ!!
2017/07/13(木) 14:12:19.77ID:wYgqTfnm
>>347
そんなことが言いたいのではない
351デフォルトの名無しさん
垢版 |
2017/07/13(木) 15:05:49.91ID:0lD2vgRh
haskellというゴミが消えてくれるならなんでもいい
2017/07/13(木) 15:14:48.65ID:/C8bZ6+r
そういえばOcamlになったのって案外新しく(1996)てびっくりした
もちろんCamlさらにMLからの流れだけど
2017/07/13(木) 19:08:43.36ID:1nRnB/qa
昔2chのこの手のスレで、Smalltalkerがgitについて全くトンチンカンなコメントを連発してたので
Smalltalkは錆びついてなくてもSmalltalkerは錆びついてると思う
2017/07/13(木) 19:42:54.12ID:DmZAJA0R
>>353
なんかあったな
gitなんて業務じゃつかいもんになんねー、svnさいつよみたいなやつな
2017/07/13(木) 19:53:58.91ID:0/kHeJlt
それ文脈ぜんぜん違う話だしねつ造やめれっていうか錆び付いているのはアンチの脳ミソと記憶力
百歩譲ってそういう話だったとしても最近出没してる「おいら」がHaskellの典型的ユーザーちゃうのと同レベルの話だがや
2017/07/13(木) 20:21:10.35ID:LjH88DBT
オブジェクトっぽくないものの語尾にerをつけて無理やりオブジェクトにする現象
2017/07/13(木) 20:57:33.19ID:10yx+996
>>354
なんかsmalltalkにある独自vcsもどきがsvn程度の機能しかないのか知らんが
発想が完全にsvnだったよな
2017/07/13(木) 21:26:25.99ID:uexVWLm1
>>357
そのvcsもどきっていうのは80年代から組み込みの古典的ChaneSetのことか?
Gitと同時期に開発されたMonticelloがsvn程度ってことはさすがにないと思うんだが
2017/07/13(木) 21:44:41.50ID:XbAGpGn+
Manager
2017/07/13(木) 21:45:38.59ID:10yx+996
なんだ、やっぱり独自vcsは劣っててダメだから、ちゃんとgitに乗っかろうって動きあるんじゃん
他の言語ならフツーに出来てることに必死だなって感じだけど

https://www.slideshare.net/mobile/newapplesho/pharo-smalltalk-source-code-management-with-pharo
2017/07/14(金) 01:48:02.98ID:07oaelZE
>>344
有り難がるどころか、まともにtraitsなんて採用してるのphpとperlくらいだぞ
smalltalkerだけが凄いと思ってるどうでも良い機能だぞ
362デフォルトの名無しさん
垢版 |
2017/07/14(金) 05:30:08.87ID:vxW3z/6K
>>360
へー、すごいねー。
普通の言語では、その言語で作ったアプリケーションの実行中にgitの複数のレポジトリから自己更新してきたり、実行時に構成を動的に変更したりが、とっくの昔からフツーにできているんだー?
さすが普通の言語ってすごいね。そこにシビレルね。
2017/07/14(金) 06:42:12.81ID:4JOJgkL6
そういうことをやりたいならJavaScriptに乗っかるのが普通だ
SmalltalkやJVMは普通になれなかった
2017/07/14(金) 07:09:16.72ID:iN4cnX21
>>361
じゃあなんでわざわざTraitsなんて名前つけてんの?ぷぷぷ
2017/07/14(金) 07:44:52.22ID:Rnz3lE+5
>>361
perlのtraitはtraitじゃない
roleがそうだけど中途半端
実質phpだけじゃねーの?
rubyもmixとして実装試みたけど致命的欠陥があって諦めたし
2017/07/14(金) 08:07:10.82ID:fA8HzWsU
rustにもtraitあるよ
2017/07/14(金) 08:27:52.66ID:Wh3H5+5v
Traitsを名乗るかどうかは別として
継承によらない(つまりフラット化による)合成が可能で
実装も持てるインターフェース様エンティティは
次世代以前に現世代の言語には欠かせないよね
2017/07/14(金) 09:03:14.28ID:HDhZQX71
実装を持った複数のインターフェースが衝突したら
(可能なら静的に)検知してエラーになるのが良い
だからフラット化も正直どうでも良いんだよね
2017/07/14(金) 09:30:19.13ID:Wh3H5+5v
継承パスなんかを持ち込んだ日にゃメソッド毎のオーバーライドの管理が面倒だろ?
それゆえにTraitsはフラット化がミソなわけよ
つーかフラット化どーでもいいとか言ってる前世代脳はミックスインで十分なんだからこっちくんな
未来永劫リニア化で疲弊してろ
2017/07/14(金) 09:41:35.70ID:16rSDABT
>>369
衝突したらエラーって言ってるのが読めないのかね文盲は
ユニークなんだからフラットだろーがリニアだろーが関係ないのが理解できない?
2017/07/14(金) 09:54:31.91ID:Wh3H5+5v
衝突→エラーは当たり前だボケ
その後の対処の話してんのわかんない前世代脳はあっちいってろよ
2017/07/14(金) 10:04:09.28ID:yYuDtDCJ
>>362
独自vcsがゴミでgitに乗り換えたって話の直後に
独自デプロイ機構を自慢するなんて学習能力なさ過ぎでしょ
たまにはsmalltalkの外の世界を学んで見ては?

http://qiita.com/tomooda/items/8685782c42f674307dfe
2017/07/14(金) 10:19:56.39ID:Rnz3lE+5
そういうトンチンカンな攻撃しないようにアンチもちゃんと学ぶべきと思うが
そもそもアンチはSmalltalkの閉じた世界の利便性なんてクソの役にも立たんと決めつけているから
永久に話が噛み合うことはなさそうだな
2017/07/14(金) 10:33:01.95ID:yYuDtDCJ
世の中の0.001%でしか使われてないマイナー言語側が外を学ぶべきなのは自明だと思うが
ていうか、学ばないから永遠にマイナー言語なんだよ
2017/07/14(金) 10:46:19.81ID:P4+8bNWB
前このスレにSmalltalk のコード書き散らしてた奴いたけどあのコード汚かったなあ
Smalltalk が汚いのかあのSmalltalkerが汚かったのか知らんけど
2017/07/14(金) 11:04:48.92ID:Rnz3lE+5
世の中の0.001%でしか使われてないって情報自体が不勉強なアンチ発の情報なんで定かでないんだけど
少なくとも本人はそういう認識でいる言語に丁寧にアンチ対応するのはつくづくヒマな御仁だなとは思う
2017/07/14(金) 11:19:42.57ID:Rnz3lE+5
いずれにしてもtraitはともかくsmalltalkの話はどうでもいいよ
アンチ情報が古くて役に立たないししつこくてウザイだけだよ
2017/07/14(金) 12:18:47.34ID:vxW3z/6K
>>372
SmalltalkでもJenkinsでCIできるっていうことだよね?
で、Smalltalkの何が問題?ばか?
2017/07/14(金) 12:20:08.63ID:vxW3z/6K
>>368
SmalltalkのTraitsも衝突を静的に検知できるけど、それがどうかした?
2017/07/14(金) 13:07:32.87ID:esHF/eTU
>>379
出来ないから嘘つくな
2017/07/14(金) 13:19:34.73ID:Wh3H5+5v
むしろなぜ出来ないと思うかが謎
2017/07/14(金) 14:20:15.48ID:ZjhjVc89
実行時にクラス定義の式に到達したときにエラーが出るのを「静的に検査してる」というのは頭悪過ぎない?
2017/07/14(金) 15:13:18.09ID:Rnz3lE+5
>>382
そのエラーがどうして出せるのか理解できてる?
2017/07/14(金) 15:13:38.24ID:vxW3z/6K
実行前から普通にチェックできるけど?
2017/07/14(金) 15:41:16.51ID:J9LHnyh2
アンチの頭の固さが露呈したな
2017/07/14(金) 17:25:07.85ID:5vDI46YP
>>384
出来なかったけど?
エアプ良くない
2017/07/14(金) 17:40:20.13ID:Rnz3lE+5
>>386
>>383
2017/07/14(金) 19:21:36.90ID:hAbkWWq2
え?
Smalltalkって動的にクラスを定義できない言語なの?
遅延結合の観点から言って出来損ないなんだね
2017/07/14(金) 21:11:13.40ID:Rnz3lE+5
かわいそうに…追い詰められてついに気が狂ったか
2017/07/14(金) 22:36:05.81ID:4JOJgkL6
承認欲求だか何だか知らないが
文章を正確に書きたいという欲求とは違うんだろ
むしろ書くことに興味ないから代わりに全部書いてくれる良き理解者が必要になる
2017/07/14(金) 23:24:30.71ID:MTLV3Z4y
Smalltalkerじゃ頭がSmallwwwww
2017/07/14(金) 23:34:39.08ID:ZsTFQY46
めでたくアンチも発狂したことだしsmalltalkの話はこれで終わりな
2017/07/15(土) 07:15:30.91ID:VZfdwjhs
根拠を書かずに勝利宣言か
いつもなら邪魔なくらいコード出してくるのにね
2017/07/15(土) 08:01:11.45ID:3lr1Ki6I
gitのときみたいに、深く突っ込まれるとボロが出るからSmalltalkerさんも速く話を畳みたいんだろ
もう逃げ出してんだから追い詰めんな
2017/07/15(土) 08:15:16.38ID:Ln37sbKY
根拠?>>383が解れば説明するまでもない話だよ
あと遅延結合が徹底されてて勘違いされがちなんで念のため言っとくと
Smalltalkは例えばJavaとかと同じ程度にはコンパイラ言語だよ
2017/07/15(土) 09:04:45.79ID:x9q1fKiK
アンチ頭悪すぎ
いつまで続けるんだこのスレ違い
2017/07/15(土) 10:18:51.32ID:UJtjfBLC
PHPのtraitsは実行時検査しか出来ないんだから383は説明になってないわな
ていうか頑なに言葉を濁すのはなぜ?
2017/07/15(土) 10:29:26.28ID:ztUW4ffu
自分も分かってないからだろ
2017/07/15(土) 10:59:23.57ID:Ura0OIUP
SmalltalkのTraitが実行前に衝突検知できるかどうかの議論で、PHPじゃできないじゃないかー!と駄々をこねるバカ(>>397)発見w
2017/07/15(土) 11:11:31.57ID:Xb/NLsOQ
>>383が解ってる人には>>382のどこがトンチンカンだか説明は不要だろってだけの話
「わかりません」って言ってくれればちゃんと説明するよ
2017/07/15(土) 11:27:36.40ID:qBi8wD3D
昔からWYSIWYGとかいう
ModelとViewの見分けがつかない謎のシステムがある
静的と動的の見分けがつかないシステムもそれに似ている
2017/07/15(土) 11:29:21.79ID:rZ7c1Y9a
屁臭いペチプァは寄ってくるな
臭いがうつる
2017/07/15(土) 11:36:09.13ID:jg2H7hGL
>>400
わかりません。説明して。
2017/07/15(土) 11:53:30.82ID:Xb/NLsOQ
>>403
ノーティファイアを見て明らかなように件の実行時エラーはself traitConflictが出している
じゃあこのスタブは誰が設置したか考えれば自ずとコンパイル時に既に衝突は検知できていることがわかるだろう?
2017/07/15(土) 12:03:03.34ID:UrVE89DJ
コンパイル時に衝突を検知出来ているならコンパイル時にエラーを出そうよ
2017/07/15(土) 13:27:15.35ID:Xb/NLsOQ
>>405
件のモック定義のタイミングにフックすれば出せるようにできるけどウザイだけだよ?(Pharo6で確認)

effectiveMethod
   "Return the effective compiled method of this method description."
   | method |
   method := self providedMethod.
   method isNil ifFalse: [^ method].
   method := self conflictMethod.
   method isNil ifFalse: [self error: 'Methods confliction: ', method selector. ^ method].
   ^ self requiredMethod.
2017/07/15(土) 13:56:49.93ID:LQwIX/Wh
そのフックが実行時に呼ばれてエラー吐くだけじゃん
馬鹿すぎて頭痛いわ
2017/07/15(土) 15:18:27.64ID:Xb/NLsOQ
このアンチ、レベル低すぎ
2017/07/15(土) 15:59:41.17ID:Ura0OIUP
アンチがレベル低いのではない。
レベルが低いからアンチなのだ。
2017/07/15(土) 16:53:57.90ID:Xb/NLsOQ
>>401
WYSIWYGがどうなのかは知らんけど
ViewとControllerの境界が不確かとかならともかくModelとViewの見分けが付かないのはもはやいろんな意味でMVCではないよ

Smalltalkにはランタイムしかないと考える人には今回の「コンパイル時に」を「静的に」と表現することには抵抗があるかもね
2017/07/15(土) 22:01:58.64ID:rZ7c1Y9a
MVCは死産だった
今ナウいカレントトレンドな最先端の設計は、クリーンアーキテクチャ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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