5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  
レス数が950を超えています。1000を超えると表示できなくなるよ。

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

1 :デフォルトの名無しさん:2017/04/20(木) 04:43:27.12 ID:mNwXvrXv
いざ、語ろうぞ。

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

前スレ
次世代言語議論スレ[Go Rust Haskell Scala]第3世代
http://echo.2ch.net/test/read.cgi/tech/1488608741/

2 ::2017/04/20(木) 07:32:05.38 ID:AyFGgpwk


3 :デフォルトの名無しさん:2017/04/20(木) 08:19:51.38 ID:zhxiAG0o
TypeScriptも次世代言語に入れてくれ。

https://trends.google.co.jp/trends/explore?q=Golang,Typescript,Kotlin
Google社内の標準言語としてTypeScriptが承認される。ng-conf 2017
http://www.publickey1.jp/blog/17/googletypescriptng-conf_2017.html
TypeScriptが標準言語になっても、Dartのことは忘れてませんよとGoogle担当者がフォロー
http://www.publickey1.jp/blog/17/typescriptdartgoogle.html

4 :デフォルトの名無しさん:2017/04/20(木) 08:44:47.83 ID:jeWo4Dft
208 デフォルトの名無しさん[sage] 2017/04/19(水) 12:20:37.70 ID:rIlDsUIc

継承もカプセル化もオブジェクト指向には必要ない
クラスを作る、つまり型を定義する事こそがオブジェクト指向

265 デフォルトの名無しさん[sage] 2017/04/19(水) 23:10:42.57 ID:2dTlCsss

>>208
代数的データ型で型を定義できるHaskellはオブジェクト志向言語だった……?

266 デフォルトの名無しさん[sage] 2017/04/19(水) 23:12:01.85 ID:qOdNs+TP

>>265
代数的データ型とはなんぞや?

269 デフォルトの名無しさん[sage] 2017/04/19(水) 23:19:37.80 ID:qOdNs+TP

type c = a or b
みたいな?

270 デフォルトの名無しさん[sage] 2017/04/19(水) 23:20:37.20 ID:qOdNs+TP

これもオブジェクト指向と言ってもいいでしょう!


こんなん草生える

5 :デフォルトの名無しさん:2017/04/20(木) 12:21:47.82 ID:yNBy9eOM
TypeScriptはJavaScriptのクソな点をまともに直しただけで
次世代というものを感じないのだがなんかあるの?

6 :デフォルトの名無しさん:2017/04/20(木) 19:50:17.61 ID:VIiPRj9u
TypeScriptは次世代を担うってよりも
旧世代の資産をなんとか次世代まで持ちこたえさせるつなぎって感じ

7 :デフォルトの名無しさん:2017/04/21(金) 00:32:39.17 ID:TpnuMFUz
別に便利ならそれでいいと思うけど。

8 :デフォルトの名無しさん:2017/04/21(金) 13:54:11.80 ID:cmecYv9F
>>5
とはいえ次世代は次世代でしょ

9 ::2017/04/21(金) 16:45:28.52 ID:KFYgHFHL
TypeScriptは手段が目的化してきてるからな。
構文は嫌いじゃないけど。

10 :デフォルトの名無しさん:2017/04/21(金) 23:38:23.47 ID:F8Tq/dHs
なんでHaskell無くなってるの?もう学ぶの諦めたの?

11 :デフォルトの名無しさん:2017/04/21(金) 23:42:05.24 ID:1EW2mi9U
うん
Haskell学ぶなんて時間の無駄だってことに気づいたの

12 :デフォルトの名無しさん:2017/04/21(金) 23:59:18.37 ID:9S9WRWBb
>>10
前スレでHaskellは次世代言語ではなく遅延評価に問題があるとされた。
でもHaskellの考え方を学んで他の言語で活かすならありだと思う。

13 :デフォルトの名無しさん:2017/04/22(土) 00:57:02.64 ID:Kjd2lTg6
問題とされたのは遅延することではなく何秒遅れるか予測不可能なことだと思う
タイミングを何秒後と指定して評価するのは問題ないとされる
現にそういう問題が出題されたしね

14 :デフォルトの名無しさん:2017/04/22(土) 02:36:22.27 ID:gXJYMt+Q
いやHaskellを声高にプッシュしていた奴が例題のコードも出さずに逃亡して、Haskellそんなに詳しくない人が替わりに書くという事態になったからだよ
Haskellに詳しい人もHaskellについて議論できる人もいなかったんで対象として取り上げるには不適切になった(このスレでは)
Haskell上げの意見は説得力が無いしHaskell下げの意見はただのレッテル貼りにしかならない

15 :デフォルトの名無しさん:2017/04/22(土) 07:18:18.45 ID:yb9XO/RM
で、Haskellよりも劣った言語が次世代言語候補として残ったわけか
おもしれーw

16 :デフォルトの名無しさん:2017/04/22(土) 07:49:13.55 ID:9MR2WQGe
次世代言語なんだから、現行の言語を語っても意味ないよね。

17 :デフォルトの名無しさん:2017/04/22(土) 09:34:02.47 ID:Kjd2lTg6
>>14
逃亡というレッテル貼りをおそれて多くの人が努力したんだな
レッテル貼りには人を努力させる効果があった
レッテル貼りは悪という意見にはあまり説得力がない
この場合、逃亡は悪ではかったと考える方が説得力がある

18 :デフォルトの名無しさん:2017/04/22(土) 09:54:38.02 ID:69jc9pki
>>17
最後の1行がそれより前とつながらないんだが

19 :デフォルトの名無しさん:2017/04/22(土) 10:24:05.10 ID:69jc9pki
糞問題、糞設計、糞実装だの言うわりにどれ一つ代替案は出てこなかった(つまりパラダイムは変えない)
加えて、正直な感想として現行言語の方が次世代と称される言語よりずっとすっきり書けていた
という現状をふまえると次世代の「売り」って何なのだろう

クラスや付随する言語機能を捨ててシンプルさを求めたこと(継承のデメリットの排除と学習コストの軽減)と
それで生じる表現力・抽象度の低下を型チェックや型推論機構の充実で補ってバランスをとったところ?

20 :デフォルトの名無しさん:2017/04/22(土) 10:33:00.05 ID:d4ODGBV8
HaskellとDが最底辺であることに変わりはない。
実用性皆無なプログラム言語は存在価値無し。

21 :デフォルトの名無しさん:2017/04/22(土) 10:40:11.00 ID:Kjd2lTg6
訂正
逃亡は悪ではかった→逃亡は悪ではなかった

>>18
レッテル貼りは悪とは限らないし、そもそも悪と戦うことが目的ではない
戦いが目的でないなら逃亡は合理的だ

22 :デフォルトの名無しさん:2017/04/22(土) 11:00:51.13 ID:69jc9pki
>>21
そこじゃない!www>訂正

逃亡というレッテル張りを恐れて他の善意のファンが努力
→レッテル張り自体は悪だが結果はそう悪いものでもなかった

という流れからどうして逃亡自体が悪でないという帰結が導かれるのか?
ひたすら机上の空論を展開し、他を貶め、蔑み、悪態をつくだけついて
じゃあ動くコードやよりよい設計を出せというと逃げるのはどうみても身勝手だろう

23 :デフォルトの名無しさん:2017/04/22(土) 11:14:59.00 ID:Kjd2lTg6
悪口を言われたから賠償してほしいって?
そんな出題者の意図があるとは知らなかった

24 :デフォルトの名無しさん:2017/04/22(土) 11:36:19.62 ID:69jc9pki
>>23
この場合、出題者は関係ないだろう
「他を」は「他言語(あるいはその使い手、ファン、コミュニティ)を」だ

25 :デフォルトの名無しさん:2017/04/22(土) 11:53:17.53 ID:69jc9pki
なんかいちいち噛み合わないな
もしかしてHaskell儲がまだいるのか?
なら逃亡行為を好意的に解釈したがるのも頷ける

26 :デフォルトの名無しさん:2017/04/22(土) 12:24:45.77 ID:VCLbyEjA
あんまり荒らしたくはないが、できるかできないかで言えばできたんだから問題ないだろ
それにType Classのコード理解できるやつ何人いた?
単なる継承だと勘違いしてるっぽい奴はいたが

27 :デフォルトの名無しさん:2017/04/22(土) 12:38:09.97 ID:yb9XO/RM
そもそも単価の高いHaskellerにタダでコード書けというほうが間違っている

28 :デフォルトの名無しさん:2017/04/22(土) 13:11:14.86 ID:69jc9pki
>>27
旧世代言語なら実質50行程度せいぜい10分で書けるコードにいくら請求するつもりだよww

それに単価ならカンブリア言語のSmalltalkerの方がよほど高いわ
奴ら呼べばきっと頼まれなくてもホイホイ書くぞ
Rust使いに次いで自分言語大好きだからな
https://developers.srad.jp/story/17/03/31/0448232/

29 :デフォルトの名無しさん:2017/04/22(土) 13:55:32.78 ID:/fxOrStV
どうせお前ら、フレームワークに用意されたメソッドを
サンプル通りに呼び出すだけのドカタだろ?
次世代言語なんて要らんだろ

30 :デフォルトの名無しさん:2017/04/22(土) 14:38:27.32 ID:XG8YtWUq
そういう言語こそ切望されている。

31 :デフォルトの名無しさん:2017/04/22(土) 19:55:27.63 ID:2QNaIclJ
次世代言語ならおっさんにマウントされずに
仕事できると思ってるバカが多いってだけなんだよ結局。

32 :デフォルトの名無しさん:2017/04/23(日) 13:37:29.12 ID:mKAZq6VZ
新スレ

abc系でみんなで人工知能を作ろう!
http://echo.2ch.net/test/read.cgi/tech/1488681839/

33 :デフォルトの名無しさん:2017/04/23(日) 14:04:42.00 ID:NE9/Voyw
個人的にはスレタイからRustも抜いてほしい。まともに物が作れないのにクソモジラのステマだけで話題になってる、言語未満のクソの塊。

34 :デフォルトの名無しさん:2017/04/23(日) 14:08:54.35 ID:HdKb/Sdq
このスレは何を目指してるの?

35 :デフォルトの名無しさん:2017/04/23(日) 15:35:02.72 ID:zop66JA+
よく分からんよね
いつか知らないけど、次に主流になる言語が何かを決めたいんだろう

36 :デフォルトの名無しさん:2017/04/23(日) 15:41:50.81 ID:OBcWFFpc
もう全部C++でいいんじゃないかな
これから100年先までずっとC++だ

37 :デフォルトの名無しさん:2017/04/23(日) 16:07:52.01 ID:UJAzDyB2
>>36
それでいいそれで。他を圧倒的に突き放して一番早くて実用的な言語だ。

38 :デフォルトの名無しさん:2017/04/23(日) 16:10:21.34 ID:svTWBXfu
多次元配列弱いC++はFortran以下
まず配列アクセス演算子が引数一つしか取れない時点で終わってる

39 :デフォルトの名無しさん:2017/04/23(日) 16:16:54.85 ID:dVBaHUf3
そりゃ、関数で十分だからな。テンプレートとオーバーロードと参照があれば
配列アクセス演算子なんて最初から必要なかった。

40 :デフォルトの名無しさん:2017/04/23(日) 16:20:47.89 ID:svTWBXfu
まあ確かにEigenなんかは関数呼び出し演算子で代用してるな
そのEigenでさえ3次元以上には対応してないっていうのがC++の自由度の低さを物語ってるが

41 :デフォルトの名無しさん:2017/04/23(日) 16:24:19.41 ID:UJAzDyB2
逆に聞くけどそれなくて何か実用的なプログラミングで困るの?

42 :デフォルトの名無しさん:2017/04/23(日) 16:29:32.67 ID:mKAZq6VZ
C++++あくしろよ

43 :デフォルトの名無しさん:2017/04/23(日) 17:38:01.40 ID:svTWBXfu
>>41
深層学習とか統計処理とかには必須だぞ
量子化学にもあれば便利だな
データ整理一般にも使うしな

44 :デフォルトの名無しさん:2017/04/23(日) 19:47:31.29 ID:zjYzndui
いや、そんな要素一つ一つに対して別個の処理をするようなコードは
あんまいらんだろ。
本当に必要な場合は結局、配列レベルで高速化が望まれる場合だけだし。
誰かが用意した python のライブラリでも使ってなさいってこった。
カスが個人的に作ったものよりもよっぽど速くて正確なものがあるんだから。

45 :デフォルトの名無しさん:2017/04/23(日) 20:12:53.69 ID:svTWBXfu
Python >>>> C++が証明されたな
速度においてもCython擁するPythonが負ける要素はないし

46 :デフォルトの名無しさん:2017/04/23(日) 20:19:34.87 ID:PCQQgnKm
C++er「もう全部C++でいい」
配列マン「多次元配列需要あるのにC++にはないやん」
C++er「そんなもんあんまいらんだろ。Pythonでも使ってなさいカス」

C++erってやっぱダブルスタンダードのカスだわ

47 :デフォルトの名無しさん:2017/04/23(日) 20:36:30.78 ID:zjYzndui
用途によって使い分けるという当たり前の発送のないバカと一緒にされたくないんだけど。。

48 :デフォルトの名無しさん:2017/04/23(日) 21:11:17.67 ID:OBcWFFpc
皮肉なのにマジで取られても

49 :デフォルトの名無しさん:2017/04/23(日) 21:15:41.28 ID:PCQQgnKm
あとはID:UJAzDyB2だけか

50 :デフォルトの名無しさん:2017/04/23(日) 21:50:20.49 ID:bkkcl6Xn
多次元配列とはいえ結局は仮想メモリ上に一次元に乗るデータになるんだから、多次元→一次元マッピングを最初から最適にデータ設計出来てればいらんだろそんなもん。
そこを処理系任せにしてメモリ上のデータ構造チューニングできないようなものが次世代言語なのか?

51 :デフォルトの名無しさん:2017/04/23(日) 21:51:12.16 ID:bkkcl6Xn
あ、ID変わったけどID:UJAzDyB2。

52 :デフォルトの名無しさん:2017/04/23(日) 22:10:15.66 ID:bkkcl6Xn
最先端のアルゴリズムで実用ライブラリを書く言語としてのC++はこの先100年安泰で、
ラッパ用スクリプトのPythonとはそもそも言語としての立ち位置が違うって話。

53 :デフォルトの名無しさん:2017/04/23(日) 22:22:19.93 ID:mKAZq6VZ
100年後の言語ってどうなってんだろな
頭にチンポ型の伝送デバイスハメるだけでプログラミングできたりする?

54 :デフォルトの名無しさん:2017/04/23(日) 22:24:04.51 ID:NBHRohTD
そりゃもう感応入力で思考の速度でプログラミングできてるだろう
言語はなくなってるかもしれん

55 :デフォルトの名無しさん:2017/04/23(日) 23:40:41.71 ID:OBcWFFpc
C++を今の地位から引きずり下ろすためにもRustには頑張って欲しいものだ

56 :デフォルトの名無しさん:2017/04/24(月) 00:14:14.60 ID:Hq5/eqGq
言語がなくなる
科学がなくなる
数学がなくなる
こういう無数の可能性から一個選んで的中させるのはほぼ不可能だよな

57 :デフォルトの名無しさん:2017/04/24(月) 00:21:20.12 ID:lffXTkps
ID:bkkcl6Xnの発言は一番気が狂っていた頃のエンジニアガイジと似てるな

58 :デフォルトの名無しさん:2017/04/24(月) 00:26:31.35 ID:6h5JoTUe
>>36
早くネットワーク系のライブラリを標準で入れてくれぃ

59 :デフォルトの名無しさん:2017/04/24(月) 00:33:57.43 ID:6NGlh03T
ID:UJAzDyB2「C++は実用的な言語である。多次元配列がなくても実用的なプログラムでは困らない」
ID:bkkcl6Xn「私はID:UJAzDyB2である。C++は実用ライブラリを書くための言語だ」

なにこれ

60 :デフォルトの名無しさん:2017/04/24(月) 00:40:56.94 ID:zwhieng4
>>50
多次元配列でチューニングすべきところなんかあるか?せいぜい格納方向が2通りあるくらいだろ。チューニング出来るものは一切搭載してないFortranにすらデフォルトで搭載されてる機能だぜ?
それにそれ言っちゃあSTLなんてどうなるんだよ? まさかSTLは使うけど多次元配列は自分で作るなんて言わないよなあ?

61 :デフォルトの名無しさん:2017/04/24(月) 00:56:56.87 ID:FOMNUfbf
>>60
ガチ用途でSTL使わねえだろバカも休み休み言えよ……
STL使うC++なんてちょっと速いPythonやらRubyじゃねえか。

62 :デフォルトの名無しさん:2017/04/24(月) 00:58:00.30 ID:zwhieng4
>>61
ほーんSTLより速いの書いてあげてみ?
絶対無理だろ

63 :デフォルトの名無しさん:2017/04/24(月) 01:04:22.49 ID:FOMNUfbf
>>62
そりゃ自分の書くものに一番合うように書くから、あらゆるベンチを通すように丸く作られたSTLに全分野で勝てるわけないだろ。

64 :デフォルトの名無しさん:2017/04/24(月) 01:10:06.24 ID:zwhieng4
>>63
この用途ならこれが一番速くて信頼性が高くて拡張性も優れていて、自分で書いてSTLを使わないコストという面でも釣り合いが取れるっていうのがあるってことだよな?
用途から自分で設定していいから書いてみろよ。

65 :デフォルトの名無しさん:2017/04/24(月) 01:16:51.68 ID:lffXTkps
いや、そもそも多次元配列の話してたんだし、numpyを超えるスピード、信頼性の多次元配列を書いてもらうべきだな

66 :デフォルトの名無しさん:2017/04/24(月) 01:19:28.66 ID:p282pyvh
疎行列

67 :デフォルトの名無しさん:2017/04/24(月) 01:22:28.66 ID:zwhieng4
ああ、そもそもSTLで出来ないことを書いて「勝った」っていうのはなしだぞ。それこそ疎行列とかな

68 :デフォルトの名無しさん:2017/04/24(月) 01:30:31.10 ID:p282pyvh
ハッシュマップ

69 :デフォルトの名無しさん:2017/04/24(月) 01:36:23.44 ID:zwhieng4
ってか割と真面目にC++上で動く多次元配列欲しいんだけど
1〜5次元くらいまで同じインターフェースで動く奴作ろうとして、思いの外面倒だったから辞めてFortranに乗り換えたことあるんだよな

70 :デフォルトの名無しさん:2017/04/24(月) 06:51:30.21 ID:wCWPirmZ
>>42
亀だけど、C#って、C++++という意味を込めてるんだよ。

71 :デフォルトの名無しさん:2017/04/24(月) 20:17:17.36 ID:zyXx2ugF
>>65
だよねぇ、多次元配列の操作で Python に勝るのは Fortran くらいしか思いつかないや
純粋手続き型言語の始祖である Fortran と、同じく純粋手続き型スクリプト言語である
Python、誰にも否定できない当然の結果だよね

もう、このスレでは次世代 Fortran は Python で決まり!!ってこと結論が出たね

72 :デフォルトの名無しさん:2017/04/24(月) 21:50:54.50 ID:CyDBAtYH
その結論は何を表すの?

73 :デフォルトの名無しさん:2017/04/24(月) 23:19:46.46 ID:H47kwRKj
>>71
多次元配列操作で次世代言語を選ぶならJuliaだろう。

Python使いをJuliaに引き込むサンプル集
http://www.mwsoft.jp/programming/julia/python_to_julia.html
RユーザのためのJulia入門(行列編)
http://rishida.hatenablog.com/entry/2013/11/30/194733

74 :デフォルトの名無しさん:2017/04/24(月) 23:52:45.18 ID:lffXTkps
Juliaのステマ貼るならせめて最新版の解説貼れよ
ないけどさ

75 :デフォルトの名無しさん:2017/04/25(火) 00:38:05.23 ID:O6VBfE9R
>>74
Qiitaで検索するかAdvent Calendarsを読め。
普及が始まっている次世代言語は
たいていAdvent Calendars 2016がある。

76 :デフォルトの名無しさん:2017/04/25(火) 02:23:12.66 ID:wELv0O7d
言語オタクが重視する言語間の細かいシンタックスの差なんてどうでも良くて、
次世代言語に必要だったのは高速で便利な多次元配列だったってオチか

77 :デフォルトの名無しさん:2017/04/25(火) 08:40:21.09 ID:fJvGo7FT
>>75
Julia0.3の化石みたいな記事貼るなって意味だよ

78 :デフォルトの名無しさん:2017/04/25(火) 10:54:45.65 ID:niXLk7Hx
Juliaって化石なの?

79 :デフォルトの名無しさん:2017/04/25(火) 10:55:45.34 ID:cMLOigtr
0.3はね
そろそろ0.6

80 :デフォルトの名無しさん:2017/04/25(火) 11:10:54.53 ID:x9Sc69FW
>>76
多次元配列が必要な人間は一部だけど文法が全員に影響があるから、多数決で文法優先
オタクではなく多数決です

81 :デフォルトの名無しさん:2017/04/25(火) 11:51:27.86 ID:DZfkzF9H
RubyとPythonとか観てると文法より多次元配列やライブラリのが重要だと実感するが。
C#やJavaScriptにしても、簡潔に書けるとかじゃなくて何を作れる(サポートするプラットフォームの多さ)で選ばれてるし。

82 :デフォルトの名無しさん:2017/04/25(火) 12:35:16.20 ID:0RXyPjWo
利用者が多い・ライブラリが豊富って現在流行っているものの話でしょ

83 :デフォルトの名無しさん:2017/04/25(火) 12:35:23.60 ID:KAzBuoYA
多次元配列が重要って感覚がわからないんだけど、
どういう分野の人が使うの?

84 ::2017/04/25(火) 12:49:25.85 ID:m9LocPpZ
多次元配列ってジャグじゃないものの事だよな?
マクロ書いちゃえばいいんでないの?
アクセス演算子と大仰な言い方するが、要は単に掛け算なんだし。アライメントも揃えられるしさ。

適当な並べ方してるとメモリアクセスで悲しい思いをする気がする。特にどーんとクラスタに投げるときとか。
Fortranでもメモリマップ的には後ろの列からの順番になるから思い付きで並べると重いよ。

85 ::2017/04/25(火) 12:51:38.43 ID:m9LocPpZ
>>83
テンソルに係数を掛けたり、テンソルとベクトルを掛けたりすると、欲しくなるのは確か。
unionって思ってたより随分便利だなーって思うやつ。

86 :デフォルトの名無しさん:2017/04/25(火) 12:56:48.67 ID:DZfkzF9H
>>82
Rubyが流行りそうになった時、RoRの登場で一躍有名になった。
Pythonにはそれに相当するものが無かった。
後に同じようなの出来たけど、Rubyを引き離すほどじゃ無かった。
Ruby1.9の時、互換性切り捨てでRuby自滅が決定打だった。
結果としてディープラーニング向けライブラリの登場で揺るぎない地位を得た。

文法はRuby1.9以降のが好きだし理に適ってる。
でも、世界的には終わった言語。

87 ::2017/04/25(火) 13:06:52.92 ID:m9LocPpZ
Rubyは理想を追いかけ過ぎ。
自然言語で言えば、エッセイストは言語学者じゃないのに形態素に基づくなんとかかんとか、こういうしきたり、こういうルールってのを並べられてもって感じで、
しかも、言語学者側はそれを素晴らしいと絶賛してると言う狂った状態に近い。

英語なんかあんな破綻した闇仕様に溢れた言語
(例えば、Shipの口語の代名詞に失われた性を補完してsheを使う)なのに、
あんなに全世界で使われてるんだから。

言語なんて歯ブラシなんや、ってPHPの方が随分スタンスとして好き。

88 :デフォルトの名無しさん:2017/04/25(火) 13:39:27.32 ID:9lYWlQQl
次世代の定義と合わなくね?って書き込みになんでそんなレスがつくんだろ

89 :デフォルトの名無しさん:2017/04/25(火) 13:59:47.20 ID:DZfkzF9H
かつて次世代だった言語の栄枯盛衰から、次世代言語に何が必要かが分かると思って投下した。

90 :デフォルトの名無しさん:2017/04/25(火) 14:18:46.85 ID:x9Sc69FW
文法は繁栄の原因にはならないけど互換性云々で衰退の原因になるんだ

91 ::2017/04/25(火) 14:31:36.92 ID:m9LocPpZ
>>88
あんまり原理主義的な事話してると怒られるから。。

92 :デフォルトの名無しさん:2017/04/25(火) 14:54:40.56 ID:3KXt8ND/
文法は繁栄の原因にもなり得たよ。
Rubyも注目された当初は簡単でなんでも出来る言語としてsmalltalk作ったけど、真のsmalltalkはRubyだったとかアラン・ケイも絶賛してたし、RoRもRubyの文法に惚れて作られた。
その後の保守戦略家で差が付いた。

93 :デフォルトの名無しさん:2017/04/25(火) 14:55:18.59 ID:3KXt8ND/
x保守戦略家
o保守戦略

94 :デフォルトの名無しさん:2017/04/25(火) 18:40:55.97 ID:x9Sc69FW
戦略ってなんだろう
どうやって決めたかは教えないけど、成功とか失敗とか成果だけ教えてやるよって感じ
成果だけが重要と思っているからなのか

95 :デフォルトの名無しさん:2017/04/25(火) 18:52:57.84 ID:e9WI/SQ5
>>86
>Ruby1.9の時、互換性切り捨てでRuby自滅が決定打だった。

互換性切り捨てってのは、これのこと?

http://echo.2ch.net/test/read.cgi/tech/1413113999/128

うーみゅ、確かに Hello world レベルのお題ですら動かなくなるようでは、
互換性切り捨てと批判されるのも仕方ないよね

96 :デフォルトの名無しさん:2017/04/25(火) 19:19:36.86 ID:gy+i7xO9
>>94
戦略って言っても、私が結果だけ見てそう判定しただけだがね。
結局、言語の開発管理側が業務で使われているって事実を重要と見たかどうかってだけ。
どっちも互換性切り捨ててるんだけど、Pythonはまだ旧バージョン系列サポート切ってないし、長々とアナウンスしてる。

97 :デフォルトの名無しさん:2017/04/25(火) 19:40:02.70 ID:e9WI/SQ5
訂正してあげるね

X:Pythonはまだ旧バージョン系列サポート切ってないし
O:Pythonはまだ旧バージョン系列サポート切れないし

Pythonはまだ新旧バージョンでの後方互換性切り捨てが災いして、
未だに旧バージョン系列から新バージョン系列へ移行できていないだけの話
だから旧バージョン系列サポートを切りたくても切れないってのが現実

http://blog-imgs-82.fc2.com/n/o/r/noriaki3/201508310726369c2.jpg

98 :デフォルトの名無しさん:2017/04/25(火) 20:00:00.53 ID:DCpQVXaD
それが企業に好感持たれてる現実。
強行したRubyはどうなったよ。

99 :デフォルトの名無しさん:2017/04/25(火) 20:09:39.00 ID:e9WI/SQ5
こうなった
http://echo.2ch.net/test/read.cgi/tech/1486026729/900

ところで、Rubyの互換性切り捨てとは具体的には何を指しているのかな?
少なくとも Hello world レベルであれば、RoR登場以前の 1.6 から最新の 2.2 に至るまで、
Ruby であれば Syntax Error にならず正常動作するから互換性は維持されているけどね

100 : ◆QZaw55cn4c :2017/04/25(火) 20:17:10.34 ID:Vqnsayjn
>>87
うーん,LL(1)に徹している pascal が古今東西素晴らしいとおもっているんだが‥ruby ってそんなにすごいの?

101 :デフォルトの名無しさん:2017/04/25(火) 20:37:45.43 ID:KIIhfRh7
Rubyが理想を追いかけてるとか、苦笑しか出てこない。

102 :デフォルトの名無しさん:2017/04/25(火) 20:45:57.84 ID:MvOKB5m4
>>100

低機能パーザー使うと何ですごいの?

103 : ◆QZaw55cn4c :2017/04/25(火) 21:06:43.69 ID:Vqnsayjn
>>102
>自然言語で言えば、エッセイストは言語学者じゃないのに形態素に基づくなんとかかんとか、こういうしきたり、こういうルールってのを並べられてもって感じで、
だろうね

104 :デフォルトの名無しさん:2017/04/25(火) 21:16:47.80 ID:qd1hD0YR
結局、キャットドア問題解決できなかったしね

105 :デフォルトの名無しさん:2017/04/25(火) 22:43:32.29 ID:lEn+EjQK
python3 とか好きじゃないんだよな。。
1/ 2 = 0.5
とか型が弱くなる方向に修正したんだか。。
明示的に書かせるのが python の良さなのにそれと逆行しようとしてるのが好きになれん。

106 ::2017/04/25(火) 23:45:33.40 ID:RguWTiRy
>>100
pascalは素晴らしいと思うよ。俺も。
いつの間にか呼ばれてるto_intみたいな馬鹿な仕様もないし。
あれは理想ではなくて現実。
>>101
追いかけてるだろー。
「Objectには不要なものが多すぎる、好ましくない。でも、互換性失いたくない。
 そうだ、Objectの親にBasicObjectを作って白紙のオブジェクトとしよう」
なんてまともな神経してたらちょっと思いついたけど敢えて忘れるレベルの実装をマジでやった上に、
一番やめてほしい==の実装をBasicObjectに持ってったんだぞ。
気が狂ってる。
わざわざtrueClassやらnilClass作ってたのが原理主義っぽくて良かったのに。
n = true if false
で、nがnilになるのもおかしい。
n = n+1でnilに+はねえよってメッセージの原因だけど、こればっかりは異常。

107 :デフォルトの名無しさん:2017/04/25(火) 23:47:17.89 ID:qd1hD0YR
>>106
言葉に気をつけろよ
キャットドア問題の前にお前らはボロ雑巾のように敗れ去っているのだから

108 ::2017/04/25(火) 23:50:40.24 ID:RguWTiRy
メッセージパッシングで大枠作ったのにな

そもそも、クラスを破壊せずに機能追加せよ、って矛盾した設問がおかしい事にまだ気づかんのかなぁ。

109 :デフォルトの名無しさん:2017/04/26(水) 00:00:43.82 ID:T5a4wmc6
>>100
俺もpascalはシンプルで好きな方。
だけどブロックは波括弧が好きなんだよなぁ。

110 :デフォルトの名無しさん:2017/04/26(水) 00:34:00.42 ID:Boe/ixbX
>>99
うろ覚えだが、文字列から文字を取り出すのが思い切り変わった。
これは阿鼻叫喚になるなって印象はあった。

111 :デフォルトの名無しさん:2017/04/26(水) 00:43:56.99 ID:9BTWZVlt
>>110
>うろ覚え
正しくは。うる覚え。な
学がないやつはこれだから

112 :デフォルトの名無しさん:2017/04/26(水) 03:53:03.15 ID:2ISuU/qN
スレタイからElixir抜いた奴俺の許可とったの?

113 :101:2017/04/26(水) 04:48:11.60 ID:gEnKLRTK
>>106
Objectクラスの親クラスにProtoObjectクラスがあるのも、
==をProtoObjectで実装するのも、
TrueクラスやUndefinedObjectクラスがあるのも、
false ifTrue: [true]がnilになるのも、
みんなSmalltalkでは理想どころじゃない、
ProtoObjectは90年代のOO普及期からずっと当たり前のこと、
それ以外は80年代のOO黎明期からずっと当たり前のことだが、
どこがどう理想なのか、どこがどう次世代なのか、教えてくれよ。

114 :ich1:2017/04/26(水) 07:20:16.12 ID:KcpaNie5
https://goo.gl/Y4tSAe
これは嘘でしょ?
本当なら落ち込むわ。。

115 :デフォルトの名無しさん:2017/04/26(水) 07:22:08.94 ID:xY5d2zmE
「うろ覚え」の誤り。「うろ覚え」は、はっきりと覚えていない様子を意味する語。空洞を意味する「うろ」が、文字や音の似た「うる」に置き換わって生じたといわれている。ネットスラングとしては、「ふいんき」と同様に、誤記を承知で敢えて用いられる例が見られる。

ネットスラングとしては、「ふいんき」と同様に、誤記を承知で敢えて用いられる例が見られる。
ネットスラングとしては、「ふいんき」と同様に、誤記を承知で敢えて用いられる例が見られる。

116 :デフォルトの名無しさん:2017/04/26(水) 08:01:30.06 ID:70MJdvvC
>>111

117 :デフォルトの名無しさん:2017/04/26(水) 08:02:47.44 ID:GreYiU3v
>>71
Python の配列って、list でしょ?

118 ::2017/04/26(水) 08:27:05.94 ID:aLqmc7M7
>>113
だから、理想に走りすぎで現実見えてないって言ってるの。その論調だとsmailltalkが自然で目指すべきだと聞こえるが?俺はそうは思わないけど。
泥の中の蓮的な理想感はあるが、実際にはそんな物が必要ならそれこそRubyなんか使ったら劣化コピーで気持ち悪いものをこねくり回して満足してる学者大先生と同じ。
エスペラント語を素晴らしいと言いはって、エスペラント語でエッセイ書くようなもんだ。書いてみりゃわかるが、無謀だよ。
正しくしか書けないし、元の発想が比喩で作られてるようなもんだから、比喩表現は比喩の比喩になってもう意味がわからない姿になる。
永遠に次世代になりたくて、実は永遠に次世代ではない。

119 :デフォルトの名無しさん:2017/04/26(水) 09:01:42.16 ID:uVr9LBvI
エッセイなら正しく書けばいいだろ。
ポエムは難しいけど。

120 :デフォルトの名無しさん:2017/04/26(水) 09:43:39.33 ID:A4NmaPdj
>>111
思い出したよ。
Stringクラスからeachメソッド無くなって、each_lineとかeach_charsになったんだ。
お陰で配列と同じように扱ってたのが、文字列だけ別扱いになったから、ダックタイピング出来なくなった。

あと文字コードの扱いとか。

詳細はこっち。
https://www.oreilly.co.jp/community/blog/2009/05/changes-on-ruby-1-9.html

121 :デフォルトの名無しさん:2017/04/26(水) 10:59:41.81 ID:pV6k193k
スクリプトは純粋仮想関数が無意味だからクラスの意味をこじつけるのが大変
Pythonのクラスは演算子を定義する機能のような印象

122 ::2017/04/26(水) 12:47:25.64 ID:aLqmc7M7
>>119
小論文の意味のエッセイなら割とそうだろうけど、それでも主観の表現方法を無理やり曲げられる時点でダメだろ。
グーグルをラ行五段活用する事を無理に実現するために他の名詞が巻き沿い食う感じ。

123 :デフォルトの名無しさん:2017/04/26(水) 13:48:30.98 ID:pV6k193k
経験則
表音文字に依存するな、記号に依存しろ

124 :デフォルトの名無しさん:2017/04/26(水) 15:44:49.66 ID:TQfkYYQc
(みんなあってもよくね?と思ってたはずなのに)
ずっとクラスベースを拒否し続けたJavaScriptも
ある意味プロトタイプベースの理想を追い続けてるような

125 ::2017/04/26(水) 16:06:30.69 ID:aLqmc7M7
>>123
まぁ、恐ろしいほどに無意識に使ってるスペースなんて記号も英語ベースだしな。
コアダンプが漢詩のように見える事もあるけど。

>>124
あれはあれで、リストをああいう形で実現した時点で割と言語としては完成してた。冗長だけど。

126 :デフォルトの名無しさん:2017/04/26(水) 21:50:24.12 ID:SZlYFMhx
>>98
>それが企業に好感持たれてる現実。

Hello world すら Syntax Error になってしまう(>>95)ほどの壊滅的な
後方互換性切り捨てを強行してなお旧バージョンのサポート打ち切りなんて、
常識的な企業倫理からはありえないだろ
そんな対応を指して「好感」という言葉は冷酷な皮肉でしかない

あるいは、過去に Hello world がバージョンアップで動かなくなったメジャー言語が存在するの?

print が文なのか関数なのかという言語とライブラリ設計における根源的な決定、
言い換えると入出力処理は構文で実現すべきなのか(すなわち文)、それとも
ライブラリで提供すべきなのか(すなわち関数または手続き)という言語設計の哲学、
そんな初歩的な判断すらできない人物によって行き当たりばったりに設計されたのが
Python だろ

127 :デフォルトの名無しさん:2017/04/26(水) 22:30:36.25 ID:SZlYFMhx
>>120
$ irb1.9
irb(main):001:0> "abc".each { |x| p x }
NoMethodError: undefined method `each' for "abc":String
from (irb):1
from /usr/bin/irb:12:in `<main>'

うん、確かに実行時エラーになった
では、ここで呪文を唱えてみよう

irb(main):002:0> class String; alias :each :each_char; end
=> nil
irb(main):003:0> "abc".each { |x| p x }
"a"
"b"
"c"
=> "abc"
irb(main):004:0>

あれ、おかしいなあ、Ruby 1.9 の String クラスなのに、Ruby 1.8 と同じく
配列と同じように扱えるようになったぞ、しかも元のコードは一切改変されていない
いったいどうなってるんだあ…

128 ::2017/04/26(水) 23:16:03.93 ID:WASTpqE2
メソッド生やしてしまえる事自体がオブジェクト指向でも何でもない気持ち悪さ。

129 :デフォルトの名無しさん:2017/04/27(木) 00:01:25.31 ID:GJNrvvrA
Open Class だろ。モンキーパッチ

130 :デフォルトの名無しさん:2017/04/27(木) 00:31:22.08 ID:1+VMbtmi
>>128
その理屈だとSmalltalkはオブジェクト指向じゃなくてなんだったんだ?

131 :デフォルトの名無しさん:2017/04/27(木) 00:39:07.48 ID:NvHKpotz
Stringは定数ではなくグローバル変数のように改変される
全ての関数をクラスという箱に入れた結果全てが事実上のグローバル変数になった

132 :デフォルトの名無しさん:2017/04/27(木) 00:55:55.98 ID:jbk1ehAe
>>131
見方によってはそう(グローバル変数)なんだよね。
スコープは狭い方が良い。
正直オープクラスはイマイチと思うのだが、でもjavascript はそのおかげでpolyfillとかできるんだよな。

133 ::2017/04/27(木) 01:20:41.99 ID:S1ERYEjc
>>130
Smalltalkはレシーバだろ

134 :デフォルトの名無しさん:2017/04/27(木) 02:05:35.72 ID:XheCn2mn
>>133
記法の問題ってこと?

135 :デフォルトの名無しさん:2017/04/27(木) 07:23:11.77 ID:1+VMbtmi
>>134
ビヤーネ・ストラウストラップらの抽象データ型のOOP(カプセル化、継承、多態性)と
アラン・ケイの遅延結合徹底のOOP(オブジェクトにメッセージを送る)は別物だって事をいいたいのかな

136 :デフォルトの名無しさん:2017/04/27(木) 07:38:57.38 ID:0Df9bF2U
Smalltalkがウンコ過ぎて世間からそっぽ向かれて死滅したんだから
後追いのRubyも死滅するのは歴史が証明している

137 ::2017/04/27(木) 08:15:10.34 ID:YQ2WW8c/
>>135
そう。パッシングの口でしかない。

138 :デフォルトの名無しさん:2017/04/27(木) 08:28:33.27 ID:/s/zy9NN
まさか、rubyがADT拡張としてのOOPLだと思ってる?

139 :デフォルトの名無しさん:2017/04/27(木) 08:44:30.71 ID:N3r3uYtr
>>136
死滅したとか記憶から消し去りたいロートルがいる一方でスタートアップで勝負をかける奇特な人もいる
http://pharo.org/success/AllStocker
スタートアップ界の異端児!産業機器 x IT x SmalltalkのSORABITO株式会社
https://thepedia.co/article/1068/

Smalltalkのとらえ方は人それぞれやね

140 :デフォルトの名無しさん:2017/04/27(木) 08:58:08.10 ID:/s/zy9NN
Smalltalkはうんこすぎて死滅したと2ちゃんでクダ巻いてるだけの爺さんを横目に、
今日もSmalltalkが世界の海上コンテナ輸送の30%を捌いているわけだが。

141 :デフォルトの名無しさん:2017/04/27(木) 09:17:39.03 ID:N3r3uYtr
>>140
OOCLのことを言っているんなら、あれってJavaに置き換えられたんじゃないの?

Who uses Smalltalk? : programming - Reddit
https://www.reddit.com/r/programming/comments/3wv7ik/who_uses_smalltalk/cxzzhkp/

142 :デフォルトの名無しさん:2017/04/27(木) 09:25:15.12 ID:wBdpEusi
>>140
もしかしてOOCLのこと言ってんの?
とっくにそんなシェア無くなって、今年に入って買収の噂が出るくらい落ちぶれてるぞ

143 :デフォルトの名無しさん:2017/04/27(木) 10:07:04.57 ID:Cz6WFEXA
爺さん批判してる奴の知識が爺さんだったか

144 :デフォルトの名無しさん:2017/04/27(木) 10:10:47.76 ID:sNquU9cU
Smalltalkがどうこう以前にファンやアンチがうんこすぎてわらた

145 :デフォルトの名無しさん:2017/04/27(木) 10:12:00.41 ID:/ppzzK1q
Smalltalk信者とHaskell信者はよく似てる

146 :デフォルトの名無しさん:2017/04/27(木) 12:35:13.63 ID:/s/zy9NN
>>141
よく読め。再実装されたのはUIだけだ。あほか?

147 :デフォルトの名無しさん:2017/04/27(木) 13:02:15.04 ID:jfFmbm9g
>>146
なんでとても素晴らしいsmalltalkで再実装されなかったの?

148 :デフォルトの名無しさん:2017/04/27(木) 13:17:16.51 ID:+ggBtOYn
おそらく同じ言語で再実装するとeachをeach_charに変えたくなるから
そんなことするなら言語ごと変えた方が良い

149 :デフォルトの名無しさん:2017/04/27(木) 14:09:11.99 ID:Yjb8fh0C
>>147
Smalltalk は開発環境含めてあまりにオールインワン過ぎるから。

150 :デフォルトの名無しさん:2017/04/27(木) 17:05:36.01 ID:sNquU9cU
>>146
そんなどーでもいいことより30%シェア撤回マダー

151 :デフォルトの名無しさん:2017/04/27(木) 20:07:13.14 ID:PwOPvcNg
どーでもいいな、クソくだらねえ。

152 :デフォルトの名無しさん:2017/04/27(木) 20:28:54.10 ID:zXLo9cW8
もう死んでる言語を追い詰めても仕方ないよな
死体蹴りは良くない

153 :デフォルトの名無しさん:2017/04/27(木) 22:14:26.81 ID:McKGSVbG
もう風化してて蹴るものもないと思ったのに

154 :デフォルトの名無しさん:2017/04/27(木) 22:36:43.95 ID:+ggBtOYn
風化すればまた再発明される
過去に同じことがあったと口で言っても証拠が残ってなければ同じことが繰り返される

155 :デフォルトの名無しさん:2017/04/27(木) 23:26:29.59 ID:Yjb8fh0C
死んだ言語の死んだ理由ってのは新しい言語の糞機能アピールよりかは勉強にはなる。

156 :デフォルトの名無しさん:2017/04/28(金) 08:28:08.68 ID:WPyfQjET
死んだ言語ねえ…
死んでるのはおめーの脳みそだろ?

http://pharo.org/success

157 :デフォルトの名無しさん:2017/04/28(金) 08:55:25.45 ID:j+L8+G8p
SmallTalkガイジって一番ガイジだった頃のエンジニアガイジとちょっと似てるな

158 ::2017/04/28(金) 17:12:11.94 ID:Yq+yDopp
>>157
いつでも同じクオリティじゃないか

159 :デフォルトの名無しさん:2017/04/28(金) 20:19:57.31 ID:j+L8+G8p
>>158
最近文読みやすくなってきてるしちょっとええ感じやで

160 ::2017/04/28(金) 20:29:25.20 ID:0gV62uUk
>>159
まぁ具体的に「パラグラフが長い」「言い回しがくどい」と言われたら、
なるほどと思うし、ちょっと気を付けられるからな。
読みにくい、ガイジか!とだけ言われたら、読みにくいだけならしっかり読めとしか言いたくなくなる。

161 :デフォルトの名無しさん:2017/04/29(土) 02:55:48.56 ID:R+WhfS42
シミュレーションをより簡略に作成するための新言語開発を。

「ロボットは東大に入れるか」成果報告会 in 2016(11/14)レポート
http://blog.livedoor.jp/dg_law/archives/52354118.html

これからはシミュレーションシステムの構築が簡略化されるので、来年のセンター物理は大きく得点が伸びるに違いない。

 スーパーコンピュータでの計算に必要となるプログラムはときに数十万行にも及び、作成やチューニングは大変困難です。
一方で、原理的にはシミュレーションしたい自然現象とその離散化法(注2)を指定すれば、プログラムは機械的に生成できます。
しかし、プログラミングはシミュレーションとコンピュータ双方に深い知識が必要となる非常に高度な作業であり、多数の計算機を
協調して動作させるスーパーコンピュータの性能を引き出す高度なプログラムを、自動かつ汎用的に生成することは不可能でした。
 そこで共同研究グループは、方程式がプログラムに変換されるまでの一連の段階に対応する数学的定義を作りました。
スーパーコンピュータが持つ階層のすべての段階において、自然が元来備えている「並列性」と「局所性」(注3)を保持する変換
を厳密に定めることで、新たなプログラミング言語「Formura」を開発しました。これによって、これまで不可能だったプログラミング
の機械化に成功しました。さらにFormuraは、同じアプリケーションに対して何万通りものプログラムを試し、最も速かったものを自動的に選択します。
 Formuraを開発したことで、規則格子シミュレーション(注4)分野においては、自然科学者が慣れ親しんだ方程式の記法を使ってシミュレーション
したい対象を記述することで、スーパーコンピュータの性能を引き出すための高度なプログラムが自動的に作成できるようになりました。
気象、地震、宇宙、生態ネットワークの研究など、規則格子シミュレーションを用いる分野の研究の加速が期待できます。
http://pr.fujitsu.com/jp/news/2016/12/2.html

162 ::2017/04/29(土) 12:11:59.50 ID:R/nsoadB
投機ベースは確かに分野限られるし、実用例と先端の研究者が解離してる典型だわなぁ。
「5%の不良率で100個発注したら当たり前のように105個納品されてくるようなどっかのおおざっぱな国の発想だ」
と、日本の会社だと反発されるやつ。
ナップサックとか問題持ち出して、モノによっては泥臭く計算せなあかんのやと言うのと、
次は百万台でやっても一つのタスクの不可分な時間以下にはならんのだよ、
を説明して説得して導入するようなものだから。

トポロジ解析と図面生成か何かで原始的なそれやった事ある。

163 :デフォルトの名無しさん:2017/04/29(土) 13:21:11.09 ID:rB0Fvmgg
>>161
多くの深層学習フレームワークはNN構造をPythonなどで記述すると
それをテンソルの計算グラフに変換してGPUで高速計算してくれる。
NN構造や規則格子をさらに簡略に記述したければJuliaがある。
Fomuraの20行のシミュレーション記述も既存の言語でできるはずだ。

つまりシミュレーションをより簡略に作成するために新言語は必要ない。
必要なのは用途毎のフレームワークだ。

164 :デフォルトの名無しさん:2017/04/29(土) 18:34:55.63 ID:n+S+CElE
発展し続ける言語とゴミ屑同然に忘れ去られる言語、何が違うんだろうなぁ

165 :デフォルトの名無しさん:2017/04/29(土) 19:09:01.68 ID:0nTkChzC
言語の良さを理解して使い続けられる人と、ゴミ屑同然の脳みそですぐに忘れ去ってしまう人、何が違うんだろうなぁ

166 :デフォルトの名無しさん:2017/04/30(日) 00:13:09.75 ID:feM/rwNV
>>164
覚えやすさとチューニングのしやすさ。
以上。

167 :デフォルトの名無しさん:2017/04/30(日) 01:03:20.38 ID:E30HxT2S
>>164
いろんなプログラム言語を開発しておいて、その上で『良いとこ取り』で新言語を開発する。

168 :デフォルトの名無しさん:2017/04/30(日) 01:49:39.39 ID:9UtCfcRf
>>164 バックでしょ
Goはグーグル発じゃなかったら「今どき継承もない言語作ったのかよ?w」で即死

169 :デフォルトの名無しさん:2017/04/30(日) 01:50:36.87 ID:2awuHSHC
>>167
なおScala

170 :デフォルトの名無しさん:2017/04/30(日) 09:42:21.85 ID:QitJ8eBZ
>>168
実際死んでね?言語としては。
言語として死んでるのをGoogle謹製の周辺ツールで無理やりカバーしてゾンビ化してる感じ。
ゾンビなので一周回って死ににくい。

171 :デフォルトの名無しさん:2017/04/30(日) 10:18:39.25 ID:H2bTIgd1
どんだけバックが大きくてゴリ押ししても
死ぬときは死ぬ
Dartとか

172 :デフォルトの名無しさん:2017/04/30(日) 12:02:29.80 ID:kLDfBj4F
>>168 >>170
Goは文法が簡単で高性能という特徴がある。
おかげで文法は簡単だが低性能な言語から移行しやすい。
だから難しい言語が選ばれない所で活躍している。

Gopherの道を歩む – Node.jsからGo言語への移行
http://postd.cc/the-way-of-the-gopher/
Go言語の低レイテンシGC実現のための取り組み
http://postd.cc/gos-march-to-low-latency-gc/

173 :デフォルトの名無しさん:2017/04/30(日) 15:36:43.63 ID:4Q8qZxsi
Goって手続き型だろ?
Mainに集中して必要な機能呼び出すだけでいいんだから設計書なしで良さそう

174 :デフォルトの名無しさん:2017/05/02(火) 06:00:14.79 ID:IDWdkJdY
Mathematica 11.1 | 2017年4月(日本語版) 詳細 ≫
バージョン11.1では,機械学習,ニューラルネットワーク, 音声処理,ロバストな記述統計等の分野における
MathematicaおよびWolfram言語の最先端機能が拡張されています.
広範な応用分野に加わった,130を超える新関数
ニューラルネットワークの新しい20種類の層の追加,および再帰型ネットワークと可変長シーケンスのシームレスなサポート
NetModelにより,増加し続ける完全なニューラルネットワーク(訓練されたものとされていないものを含む)のリポジトリにアクセス
データ,画像,テキスト等の空間を機械学習ベースで可視化するFeatureSpacePlot
SequencePredict,ActiveClassification,ActivePredictionを含む,新しい機械学習関数
AudioCaptureを使って音声を直接ノートブック内で録音することによって,すぐに処理・解析することが可能に
2Dおよび3D画像に対する,*,-等を使った計算が可能に
計算写真学と計算顕微鏡学に対するサポートの拡張
ImageGraphicsを使って,ビットマップのベクトルグラフィックスによる近似を求める
HilbertCurveやSierpinskiMesh等の空間充填およびフラクタル領域コンストラクタ
WinsorizedMean, SpatialMedianを含む,新しいロバスト統計と空間統計
新しいGeoBubbleChartと,Callout,ScalingFunctions等のサポートの拡張
記号次数を持つ導関数のサポート
解像度が高くなった標高データ
シームレスに統合されたWeb検索,Web画像検索,テキスト翻訳のための外部サービス
セッション間の値をローカル,あるいはクラウド等に保存するための,幅広いPersistentValueシステム
クラウド内で個別に編集できるノートブックをシームレスに配布するためのAutoCopy
ノートブックベースのスクリプトエディタを使ったWolframScriptの.wlsファイルの生成
Wolfram言語スクリプトの自動実行がWindowsでも可能に
ドキュメントセンターおよびオンラインの例題すべてが新しくレスポンシブデザインに
https://www.wolfram.com/mathematica/quick-revision-history.ja.html?footer=lang

175 :デフォルトの名無しさん:2017/05/02(火) 06:54:00.89 ID:hkg4cpdn
回転放物面の方程式と東大の問題
http://mathtrain.jp/kaitenhobutsu

「放物線 y = 3/4 - x^2」

「y軸の回りに回転させる」

・・・例えば、こういう操作ができる3次元CADって開発されてないんですか?

統計的機械翻訳では自然言語処理は無理という話も聞いているけれど、高校数学でやることは内容が限られており、
一般的な機械翻訳よりは難易度は低いと思われます。

176 :デフォルトの名無しさん:2017/05/02(火) 07:13:28.68 ID:iysKcMgd
3次元CADを名乗っていて回転体を作れないもののほうが珍しいと思うが、
その問題を解けるCADは多くないだろうな。
近似的な数値解が求まることと、解を方程式で表して数式処理できることは全くの別物。

177 :デフォルトの名無しさん:2017/05/02(火) 07:39:13.20 ID:IDWdkJdY
>>176
>その問題を解けるCADは多くないだろうな。

そのための新プログラム言語開発ってことだよな。

178 ::2017/05/02(火) 11:18:08.85 ID:Ua7wVMyf
>>175
ごく当たり前の機能として存在する。
面で切り取る事もできる(面に対する押し出しで、相手方を削り取る感じ)
体積も求められるよ。
拘束条件は厳密だし、カーブを式で入れることもできるから。

ただ、それのために1License300万出す?

179 :デフォルトの名無しさん:2017/05/02(火) 14:54:44.43 ID:iysKcMgd
ああ、高精度な数値解を導出することと、任意の拘束条件から方程式を導出することの区別がつかない人がいるようだ。

180 :デフォルトの名無しさん:2017/05/02(火) 14:57:14.02 ID:Q2w+FZwb
解析解が必要な場面なのか?これは

181 ::2017/05/02(火) 17:06:18.52 ID:Ua7wVMyf
>>179
うちでつかってるのは数値解じゃなくて方程式まで自由じゃないけど変数の式でも出たはず。あれ内製だったかな。
AutoCADのMASSPROPとかくらいだと、悲しいかな数値解しか出ないけど、カーネルに手を出せる会社ならだいたいその辺持ってると思うよ。

182 ::2017/05/02(火) 17:07:00.26 ID:Ua7wVMyf
もし内製だったら、当たり前の機能として、とは言えんな。
それはすまん。

183 :デフォルトの名無しさん:2017/05/02(火) 17:33:48.15 ID:iysKcMgd
任意の方程式を扱えないと、>>175 の問題は解けないよね?

184 ::2017/05/02(火) 22:27:44.92 ID:Ua7wVMyf
>>183
押出する元の図形をプロシージャルではなくて、曲線定義で描く。
曲線への拘束条件で何を取るか次第だけど、問題文通り入れればそれで良いと思うよ。
ゴールデンウイークは試せないのがもどかしいな。

185 :デフォルトの名無しさん:2017/05/03(水) 16:11:10.64 ID:dCKp/m7W
Smalltalkって名前だけ変えて次世代言語って紹介されたら
殆どの人は信じてしまうくらい先進的だよね
進歩しすぎてて理解されない不幸な言語

186 :デフォルトの名無しさん:2017/05/03(水) 16:33:31.70 ID:RICjVVNj
比較的新しい言語ってvar t : Type形式が多い気がするけどType t形式を利用しなくなった理由ってあるのかね

187 :デフォルトの名無しさん:2017/05/03(水) 16:46:20.28 ID:MC+KZ03m
>>186
型推論の問題じゃない?多分

188 :デフォルトの名無しさん:2017/05/03(水) 16:53:47.90 ID:jNZhewdQ
型を書いたり書かなかったりする場合に記述を大きく変える必要がなくて都合がいいんだろう。
型推論を使う言語とか、動的型言語に型ヒントを追加する場合とか。

189 :デフォルトの名無しさん:2017/05/03(水) 17:10:47.34 ID:UME+lawj
たとえばC#だと基本はType tで後から型推論var t(: typeはない)を追加した
だったら最初から統一的な記法で良くね?ってなる

190 :デフォルトの名無しさん:2017/05/03(水) 19:11:09.93 ID:RICjVVNj
なるほど
型推論が流行ってる(のかはわからないが)から型推論の書き方+αで書けるようにしたってことか

191 :デフォルトの名無しさん:2017/05/03(水) 20:37:23.26 ID:21J3ISub
デニス・リッチーも型前置にしたことを後悔していたんじゃなかったっけ?
たぶん型後置の方が合理的という点には大方の一致があって、あとは合理性を取るか、Cの語順に近づけることを取るかっていう感じなんじゃないかな?

192 :デフォルトの名無しさん:2017/05/03(水) 22:01:20.86 ID:mJ/QVcTI
>>186
pascalがそういう記法だけど、コンパイル速いのはpascalがコンパイラの都合に合わせた文法だからって読んだことある。
何かしらコンパイラが解釈し易い記法なんじゃね?

193 :デフォルトの名無しさん:2017/05/03(水) 23:27:43.76 ID:AGrCBSz0
>>192
Pascalの構文は再帰的パーサを簡単に書けるLL(1)文法なんじゃなかったかな
LL(1)ならトップダウンで構文解析できるからパーサは書きやすいしパーサの効率も多分だけど高い

Cの場合は、例えば

  atype;

という宣言があった場合、"atype"という識別子が

1.typedefで型の名前として既に定義済であれば「変数が指定されてない構文エラー」となるし

2.そうでない場合、"atype"という名前のint型の変数の宣言として扱われ
  2―1."atype"という変数が既に宣言済であれば2重宣言のエラー、
  2―2.そうでなければ正しい変数宣言

となるので、構文解析の際にsymbol tableを参照する必要がある(つまり本質的なレベルで文脈依存文法)ケースが存在するので
当然ながらコンパイラの効率が下がるだろうね

194 :デフォルトの名無しさん:2017/05/04(木) 00:37:37.35 ID:lJ9s6a1R
昔のpascalは1パスコンパイラだった。コンパイルの速さはそれもあったかもね。
今のobject pascalはジェネリクスもあるしどうだろう?

195 :デフォルトの名無しさん:2017/05/04(木) 05:29:59.66 ID:TpHQvZsj
>>186
v: Type形式なら変数の型だけでなく、式に型をつける構文としてもそのまま使えるから。

196 :デフォルトの名無しさん:2017/05/04(木) 09:04:54.52 ID:IvFxbTrW
値の演算だけでなく型の演算として同じ記号を使うのがCのポインタや配列
これは評判が悪かった
悪いのはポインタだけだというのがJava
全部悪いから全部変えるのが次世代

197 :デフォルトの名無しさん:2017/05/04(木) 09:34:14.90 ID:L3vkrSi7
まあポインタの宣言と参照のための記号に同じ * 使ってんのは今でもなんでなんとは思う。

198 :デフォルトの名無しさん:2017/05/04(木) 09:51:37.05 ID:l8/ufUYV
関数の戻り値型の指定はPython,TypeScriptが=>、Swiftだと->が混ざって
いまいち統一感がないんだよな。:のままだと構文的にうまくない部分があるんだろうか。

199 :デフォルトの名無しさん:2017/05/04(木) 10:09:01.14 ID:g5LPBSe2
>>186
C方式に慣らされてるからそう感じるだけであって
あれはパースしづらいクソ構文だよ

struct S s;
を捨てたのは何でだろうと問うべきだよ

200 :デフォルトの名無しさん:2017/05/04(木) 10:44:22.27 ID:IvFxbTrW
そもそも静的型が悪いと思えば単純明快だな

静的型は悪くない、だがジェネリクスは不要、ただし Array<T> 等はこっそり入れておく
こんな状態で統一感(笑)を期待する方がおかしい

201 ::2017/05/04(木) 11:53:43.54 ID:iOTKQL/7
>>200
思いっきりGoだな。
まぁ、Goに統一感なんか無いし、期待してはいかんw
あれは誰でもかける便利な言語だよ。

一切の原理原則以外を排除する崇高な思想で作られた芸術品ではなくて、
「その辺にある便利そうなものを誤謬矛盾なく突っ込めるようにそれなりにルール作りました。
 とりあえずこのルール破ると突っ込めなくなるからやめてね。コンパイルさせないよ。」
という、実用のためのルールが細かいのがGoだよ。
電動ドリルのチャックとビットの規格みたいなもん。

「対称性がなくなるからこのメソッドを実装する」という発想ではない。

202 :デフォルトの名無しさん:2017/05/04(木) 12:29:38.64 ID:IvFxbTrW
原理原則というのは崇高な思想じゃなくて無駄な仕様変更の防止という実用の技術だ

203 :デフォルトの名無しさん:2017/05/04(木) 12:53:07.54 ID:g5LPBSe2
なんだ PHP だったのか

204 ::2017/05/04(木) 13:45:55.83 ID:iOTKQL/7
>>202
口実やね。
専用品と汎用品なら、圧倒的に前者の方か仕様変更の回数は少ない。
無理に延命したり使いましたりしたいからこそ、よくわからん仕様変更するハメになる。
無駄な仕様変更なら、最初からしなけりゃいいんだよ。
無駄なんでしょ。
使い捨てを使い捨てと認識する事こそがスタート地点。
歯が折れたら取り替えたいし、違う歯を使いたいからチャックがあるんだから。
歯の代わりにバフ付けることも出来るけど、それに対して仕様変更なんか要らないでしょ。バフを新規に作るだけじゃん。
置換原則出してきて証明する必要も無い。

>>203
そうだ、と言う認識だなぁ、俺は。
PHPも同じ理由で、いろんな意味でとても潔い言語だと思うよ。

205 :デフォルトの名無しさん:2017/05/04(木) 15:09:17.79 ID:TpHQvZsj
言語設計とドリルチャックを一緒くたとか…完全に呆れた

206 ::2017/05/04(木) 17:00:05.42 ID:iOTKQL/7
呆れるなら簡単だからな。
どう違うかをきっちり教えて欲しいわ。
本当に勉強になったら素直に勉強になったと言うことにしてるし、実際何度もそうレスしてるよ。

言語なんて外から見たときに一意に呼び出し規約や入出力が決まってりゃそれでいいんだよ。
これでも素晴らしい言語とやらを5個10個と多数見てから言ってるんだけどな。

それ以上の、実用性以上の思想の旗を振りたいなら、何故その思想が必要か語ってほしい。

207 ::2017/05/04(木) 17:07:42.27 ID:iOTKQL/7
しかし、式に型をつける構文が後置だから出来るのは本当なのかな。
キャストの前置や後置と何か違うのかなぁ。

って考えたら「宣言文 名前 型」の方が遥かに簡単にパースできるなって思わんのかな。
式に型をつけるってのも、コンパイラに教える意味での型か、キャストの型か2つの意味あるけど、どっちの事かな。
疑問。

208 :デフォルトの名無しさん:2017/05/04(木) 21:21:01.22 ID:IvFxbTrW
>>204
多分それは使い捨てではなく交換
これを捨てる代わりにあれが欲しい
見返りがあれば捨てるが無条件に捨てられそうになったら使い捨てに反対するだろう

209 :デフォルトの名無しさん:2017/05/04(木) 22:18:26.60 ID:L3vkrSi7
むしろ変な原理原則に縛られてる方が糞仕様の増加を招くのだが。
haskell みたいにな。

210 :デフォルトの名無しさん:2017/05/04(木) 22:34:29.63 ID:IvFxbTrW
確かに、関数型とかいう変な原理でHaskellを理解しようとしてるならやめた方がいい
静的型の原理だけで理解できるから

211 ::2017/05/04(木) 22:35:23.26 ID:iOTKQL/7
>>208
「交換できる、交換出来ない」と「使い捨てである、改良を加えて連用する」は同時にどの組み合わせも成り立つのでは?
これを捨てる代わりに、これと同じ機能プラスαの新ライブラリを作る、みたいな話で、
完全に前方後方互換の代替品であるかもしれないし、そうではないものかもしれない。

そういう意味では、無条件に捨てる事ができるってのは立派な見返りだよ。

212 :デフォルトの名無しさん:2017/05/04(木) 22:36:44.00 ID:hGwzsYkf
良いんだよ。
Haskellは美しさが売りなんだから。
むしろ美しさを保ったまま、どこまで実用的なの作れるかが楽しいんだよ。

そう言う意味じゃsmalltalkと同じ、純粋xx言語でxxの真髄理解するなら〜って言語であって、次世代言語じゃあない。

213 ::2017/05/04(木) 22:36:44.02 ID:iOTKQL/7
>>210
ならPrologの方が賢いし、Scalaの方がまともだし、Lispの方が最低限の原理から出来てるから、Haskellは要らない子だな。

214 ::2017/05/04(木) 22:39:24.44 ID:iOTKQL/7
>>212
それそれ。エスペラント語とかロジバンみたいなもん。
実用的ではないけど面白いのは認める。

215 :デフォルトの名無しさん:2017/05/05(金) 01:26:49.15 ID:xfO5LNpr
Haskellは代数的データ型が便利
何気にあのレベルに便利な型システム他に見ない

216 ::2017/05/05(金) 03:41:35.36 ID:05XvGSte
>>215
OCamlの方がシンプルかな。
Haxeの方が記法はきれい。
Kotlinはいささか冗長で使い物になるのかな?みたいな羊感出てるけど、when使うときに逆に便利になる。

217 :デフォルトの名無しさん:2017/05/05(金) 05:49:16.66 ID:IB1/E975
SmalltalkとHaskellは使ってみるとゴミと分かる二大巨頭
信者が煩いとこもソックリ

218 :デフォルトの名無しさん:2017/05/05(金) 07:09:34.37 ID:+77JIYq6
>>217
アンチがウザいのもそっくりだよね

219 :デフォルトの名無しさん:2017/05/05(金) 07:18:58.13 ID:IB1/E975
>>218
どっちの信者?

220 :デフォルトの名無しさん:2017/05/05(金) 07:39:38.28 ID:dc5WkLcd
>>217
アンチが無知なのもそっくりだよね

221 :デフォルトの名無しさん:2017/05/05(金) 08:48:03.35 ID:2f8pCQ29
IntelliJとかのマトモなIDEを使った後に
Smalltalkの時代遅れのIDEモドキ?を使ってみると、
終わった言語の進化に取り残されてる感がよく分かるし
こんな出来損ないを使うの強制されるSmalltalkerって哀れだなーって優しい気持ちになれるよ

222 :デフォルトの名無しさん:2017/05/05(金) 09:20:19.67 ID:7NmAzLlS
>>221
言語としてはどこらへんがゴミなの?

223 :デフォルトの名無しさん:2017/05/05(金) 09:39:59.96 ID:2f8pCQ29
>>222
動的型言語の中ではぶっちぎりで冗長なコードになるところ

224 :デフォルトの名無しさん:2017/05/05(金) 09:54:56.24 ID:WrAdTxbV
文字列クラスを改変したら元に戻せないという話はSmalltalkにも当てはまるのかな
文字列クラスクラスがあれば壊れたクラスを使い捨てて新品のクラスに交換できるのに

225 :デフォルトの名無しさん:2017/05/05(金) 10:13:52.40 ID:b5hiFaeg
>>224
クラスが壊れるという事自体が糞めんどくさい

226 :デフォルトの名無しさん:2017/05/05(金) 13:00:01.57 ID:tVaTXT91
Smalltalkっていうか遅延結合の徹底ってスタイルは人類には早すぎたんだな

227 :デフォルトの名無しさん:2017/05/05(金) 16:27:38.21 ID:lho11o7a
RESTful API等でサービス間を遅延結合するのは流行ってるしメリットがあるけど
ひとつのプロセス内で遅延結合しても意味が無い

アホは適切な抽象化レベルってものが分からないから
やりすぎてナンセンスになっちゃうんだよね
Smalltalkはアホがナンセンスなデザインした結果死ぬべくして死んだ言語

228 :デフォルトの名無しさん:2017/05/05(金) 17:23:18.30 ID:9atsKcF/
Haskellは遅延評価が本当に苦痛すぎる
あの辛さはやってみるまで想像もつかなかった

229 :デフォルトの名無しさん:2017/05/05(金) 17:51:23.35 ID:tVaTXT91
Smalltalkにおいて「遅延結合の徹底」に期待されるのは通常の言語で想定されるそれとは違って
システム構築中に得られた新たな知見を、既に構築済みだったり運用中の部分へ適用できたり
オブジェクトとそのストアを長期にわたって運用し続けるために細胞の新陳代謝を模した試みだから
http://metatoys.org/oxymoron/oxymoron.html
'70年代からほんの数回の再起動で動き続けている同システムは狙いとしては成功しているんだよね

230 :デフォルトの名無しさん:2017/05/05(金) 17:51:28.56 ID:RNJ7gaAH
無限リスト扱えるし便利でもあり、バグ取りで厄介でもあるね。
RWHにその辺の解決策載ってるから手元に置いとくと良い。

231 :デフォルトの名無しさん:2017/05/05(金) 17:51:33.32 ID:xTb1W+Ca
馬鹿は抽象化することがなんでもえらいと思ってるからね。。

232 ::2017/05/05(金) 19:50:22.56 ID:05XvGSte
>>227
意味無いとは言わんがなぁ。
プロセス内でもプロトコル決めてやっとくと、あとでスケールするとか、
固まりへのインアウトが自ずと決まるから可換だと言いやすいとは思う。
やりすぎると自分の重さで死ぬだけで。

233 :デフォルトの名無しさん:2017/05/05(金) 20:29:10.87 ID:RNJ7gaAH
FacebookでHaskell採用されたね。

234 :デフォルトの名無しさん:2017/05/05(金) 20:49:47.45 ID:JET5JsI8
>>216
Haskellと比べてOCamlがシンプルって
SMLと勘違いしてない?

235 ::2017/05/05(金) 20:51:14.85 ID:05XvGSte
>>234
してないよw
シンプルってのは字数が少ないって意味じゃないぞ。

236 :デフォルトの名無しさん:2017/05/05(金) 21:21:35.63 ID:JET5JsI8
>>235
そんなら勘違いしてるね

237 :デフォルトの名無しさん:2017/05/05(金) 21:31:07.05 ID:n4hNDFR+
全然関係ないけど、字数が少ないコードって一目で取れる情報が多くて読みやすくて好きだわ

238 :デフォルトの名無しさん:2017/05/05(金) 21:42:23.21 ID:RNJ7gaAH
>>231
時代によって変わる程度問題だけどね。
C++だって、昔はクラスってなんだよ。Cより遅くなるじゃねーかって言われてたらしい。
昔よりも抽象度の高さが問題になる場面は少ない。

239 :デフォルトの名無しさん:2017/05/05(金) 22:47:31.33 ID:PGBNZ8Aw
いつの間にかHaskellがスレタイから抜けててワロた。

240 :デフォルトの名無しさん:2017/05/05(金) 23:29:21.86 ID:RNJ7gaAH
取り敢えず拡張性比べるんならプログラム組むべ。
まずはファイル名とキーワードを受け取って、ファイルの中にキーワードがあったらTrue。無かったらFalseと表示するコマンド。

プログラミング自体から離れてだいぶ経ったので、錆びた頭だったがHaskellでどうにか書いてみた。

search部分を拡張してくから、各自searchは自前で書いてくれ。

import System.Environment

search _ [] = False
search s ns | take (length s) ns == s = True
search s (_:ns) = search s ns

main = do
arga <- getArgs
content <- readFile $ args!!0
print $ search (args!!1) content

241 :デフォルトの名無しさん:2017/05/05(金) 23:31:16.17 ID:tVaTXT91
前スレのドアのお題をPharo Smalltalkでも書いてみた
http://ws.stfx.eu/JD8JH4XF3I3U

Go版ももう少しマシな感じにしてみた
http://ideone.com/aFqKsd

242 :デフォルトの名無しさん:2017/05/05(金) 23:36:43.64 ID:RNJ7gaAH
だから、使い所不明なクラス書いてどうしろと。
プログラム組みたいのであってクラス作りたいんじゃ無いんだぞ?

243 :デフォルトの名無しさん:2017/05/05(金) 23:59:41.96 ID:tVaTXT91
>>242
いや別に>>240へのレスというわけではないのだが…

これでいいか?(Squeak Smalltalk、もしくはPharo)

| search |
search := [:fname :keywd |
 FileStream oldFileNamed: fname do: [:file |
  (file findString: keywd) > 0
 ]
].
search value: 'test.txt' value: 'something' "=> true "


http://ws.stfx.eu/1UQT4K8GSVHU

244 :デフォルトの名無しさん:2017/05/06(土) 00:04:14.20 ID:nikLe03p
>>240
それだとコンパイル通らないよ

import System.Environment (getArgs)
import System.IO (readFile)
import Data.List (isInfixOf)

search :: String -> String -> Bool
search = isInfixOf

main :: IO ()
main = do
 (word:file:_) <- getArgs
 putStrLn . show =<< search word <$> readFile file

245 :デフォルトの名無しさん:2017/05/06(土) 00:23:53.40 ID:9tv813Aq
え。。。
通ったけど。。。

246 :デフォルトの名無しさん:2017/05/06(土) 00:29:01.13 ID:gXvlLccW
うん、普通のデータ処理の比較は面白そうだ。

247 :デフォルトの名無しさん:2017/05/06(土) 00:29:23.53 ID:9tv813Aq
>>243
おk。
強いて言えば、この後拡張する時、どこまで今のコードから書き換えないで済ませられるかが仕様変更に強い基準になると思う。

248 :デフォルトの名無しさん:2017/05/06(土) 00:33:03.34 ID:nikLe03p
>>245
そのままじゃ通らなかった
けどごめんね、詳しく見てなかったけど駄目だったのはタイポだけだったみたいだね

249 :デフォルトの名無しさん:2017/05/06(土) 00:35:03.84 ID:9tv813Aq
あ、argsをargaってタイポしてた。。。
LinuxにHaskell入れたばかりなのでPCで実行確認してiPhoneで書き込んでるんで、コピペでコンパイル出来ない時はどこかタイポあると思う。

250 :デフォルトの名無しさん:2017/05/06(土) 00:50:29.93 ID:9tv813Aq
次世代言語勢に参戦して貰わんとだから、第二形態は明日の夜発表って感じで良いかな。
一応、第三形態までの予定。
明後日から夜勤なんで、第三形態どうすっかな。

251 ::2017/05/06(土) 02:06:36.33 ID:BE072L/9
>>236
そうなのかなぁ。
例えばそれぞれのどんな例からシンプルさがわかる?
後学のため教えて欲しい

252 ::2017/05/06(土) 02:11:17.59 ID:BE072L/9
>>241
Go版、マシどころか疎にしておいたところ密にされてしまったな。
ノブのないドア、ノブはあるけどラッチのないドア
実現する術がなくなったね。

With Withなんて気色悪い無理に継承関係を作ったような型作るくらいならもう継承とか全部捨てたほうがマシ。
もうちょっと真面目にやって。

253 :デフォルトの名無しさん:2017/05/06(土) 03:50:07.06 ID:oP2bFz9u
Kotlinになれるためにアプリを作ってるんだけど、久しぶりにc++触るとセミコロンがうっとおしくなるね
参照、ポインタ、値を自由に扱えてかつ新しい言語の特徴を捉えてるような言語が出てほしい

254 :デフォルトの名無しさん:2017/05/06(土) 06:35:37.73 ID:7HgaeBZn
勝手にHaskellをスレタイから省くな。

255 :デフォルトの名無しさん:2017/05/06(土) 07:19:08.10 ID:gBi5/Vqg
>>252
前スレの埋め込みを使った再帰型の試みとして、主要なメソッドを再定義しなければならない版より「マシ」と言ったまでで
君のチャンネル版よりマシという意味ではない

それは他言語版と同じ設計で比較しやすくしたって程度だから気にしないで

256 :デフォルトの名無しさん:2017/05/06(土) 07:23:37.59 ID:gXvlLccW
各自、次世代言語に求めるものが違うのだろうけど、
気を悪くしないで欲しいがHaskell外してKotlinは個人的にはないかな。
敢えて外すなら次世代感満載のAgdaを入れて欲しい。
が、呼び水としての趣旨からしたらHaskellを敢えて外す理由が分からない、個人的な怨嗟?

257 :デフォルトの名無しさん:2017/05/06(土) 08:00:28.21 ID:Yu22orOs
実用性が乏しすぎるので次世代にふさわしくないとの事
あと前スレでまともなコードを掲示しなかったので、そもそもHaskellerが居ない事が分かった

258 :デフォルトの名無しさん:2017/05/06(土) 08:15:37.40 ID:JdaZnrFf
>>256
Javaより古いHaskellを次世代言語に混ぜた初代スレの>>1がどうかしている。
初代スレはHaskellの美しさを語るエアプログラマーが多かったが
次世代言語の実用性を語るスレに変わってよかったと思うよ。

259 :デフォルトの名無しさん:2017/05/06(土) 08:35:08.14 ID:9tv813Aq
Haskell推しだが、次世代取れるほどライブラリ充実してないし、速くもないからsmalltalk的な立ち位置だと思ってる。
次世代じゃ無いけど、学ぶべき価値ある言語。

260 :デフォルトの名無しさん:2017/05/06(土) 08:41:48.81 ID:gBi5/Vqg
>>255
参考まで、ほぼ同じ設計にした場合の
Ruby版 http://ideone.com/7VnOfe
Python版 http://ideone.com/UngSO8
Scala版 http://scastie.org/30851
Swift版 http://swift.sandbox.bluemix.net/#/repl/59032b64ebfba02b8d274320

261 :デフォルトの名無しさん:2017/05/06(土) 08:43:22.81 ID:9tv813Aq
>>257
Mix-inとか言われては書けなかったね。
普通のクラス代りなら何とかなったが。
そもそも目的のプログラム作るアプローチとして関数かクラスかなのに、クラス作れは問題としてオブジェクト指向に有利過ぎ。
実際に動くプログラムで拡張勝負のが公平っしょ。
だから>>240提案した。

262 ::2017/05/06(土) 08:50:48.08 ID:BE072L/9
>>255
なるほど。申し訳ない絡み方したな。
smalltalkでもパッシングに徹すればひたすらコーディング量はあるけど割りと文句無いのできそう。
>>256
Kotlinなしなの?使いやすいのに。実用性あるから?

263 :デフォルトの名無しさん:2017/05/06(土) 08:56:13.51 ID:VviFbgmi
各言語、得意分野あるからな。
証明付きでプログラム書けとかなったら、Coqなどの証明支援系の独壇場で、
他言語の入り込む余地がないように思われるが如何?

264 :デフォルトの名無しさん:2017/05/06(土) 08:58:57.84 ID:ye19IDAy
Bertrand MeyerがEiffelを大事そうに抱えながら>>263を睨んでいるぞ。

265 :デフォルトの名無しさん:2017/05/06(土) 09:31:45.79 ID:nikLe03p
自分もRubyやGroovy使ってたせいかもしれないが
Kotlinは言語としては悪くないけど次世代感は感じない
golangぐらい簡素な仕様にしてくれればまた違ったとは思うけどJVM言語だしなあ

266 :デフォルトの名無しさん:2017/05/06(土) 10:21:48.72 ID:BwUsBv8i
言語が次世代でありさえすればライブラリはJVMでもなんでもいいぞ
ライブラリ関係ないなら、ライブラリがない言語でも参加しやすい

267 :デフォルトの名無しさん:2017/05/06(土) 10:22:29.07 ID:ubF1nelW
>>262
> smalltalkでもパッシングに徹すればひたすらコーディング量はあるけど割りと文句無いのできそう

具体的にはどこらへんにその「量」を感じた?
ドアの振る舞いを記述してるコード自体はGoで書くよりずっと簡潔でステップ数も少ないはずだけど

念のため補足すると件のSmalltalk版では、通常はGUIやIDE任せにするクラスやメソッドの定義
(ちなみにGNU Smalltalkなどを除き、IDE前提のSmalltalkにはクラスやメソッド定義の構文が無い)
をあえてクラスへのメッセージングでやっているのでそのぶん冗長にみえるかもしれないけど

268 :デフォルトの名無しさん:2017/05/06(土) 12:29:53.45 ID:64kzmcng
何でSmalltalkerさんは劣った設計で比較する事に拘ってんの?
Goが得意な技法はダメ、Smalltalkで書きやすい技法だけ使って書くっていう縛りでもあるの?

269 :デフォルトの名無しさん:2017/05/06(土) 12:43:22.47 ID:xfCUj8G0
>>259
同意

270 :デフォルトの名無しさん:2017/05/06(土) 12:46:26.00 ID:ye19IDAy
>>268
どうしてそういう発想になるのか全く不明。
人間の言葉でしゃべって。

>>267 を補足すると、
compile:とかがやたら続いているコードブロックがクラスやトレイトの定義に相当する部分で、
それ以外がドアやストッパーを操作するサンプルコードな。

271 :デフォルトの名無しさん:2017/05/06(土) 12:52:37.52 ID:ubF1nelW
>>268
いや別に拘ってないですよ

そもそも誤解があるようなので断わっておくとGoを貶めるつもりは全然なくて
Smalltalkに難癖を付けてるID:BE072L/9が前スレからGoが詳しそうなんで
その方がわかりやすかろうとGoを引き合いに出したまでです

Goの得意な技法を駆使した優れた設計ってどんなのですか?ぜひ教えてください
今のところ埋め込みスタイル以外で出ているのだとこういうのでしょうか?→http://ideone.com/yvttId
このお題自体では設計を工夫しにくいと言うことであれば、新たにGoに有利なお題をご提供いただければと

272 :デフォルトの名無しさん:2017/05/06(土) 12:58:55.97 ID:ubF1nelW
>>268
あと、

> Smalltalkで書きやすい技法だけ使って書くっていう縛り

とのご指摘ですが、少なくとも Ruby、Python、Scala、Swift では Go よりすんなり書けています>>260 から
旧世代言語で書きやすい…ならともかく、Smalltalkで書きやすい技法だけって縛りにはならないですよね?

273 :デフォルトの名無しさん:2017/05/06(土) 13:05:23.06 ID:BwUsBv8i
愚問という便利な言葉がある
答える側には間違えるリスクがあるのに問う側を無リスクで無謬とするのは不公平

274 :デフォルトの名無しさん:2017/05/06(土) 13:51:25.64 ID:dM6SBXFL
その言語特有の機能で書いた方が優劣分かりやすくね?

275 :デフォルトの名無しさん:2017/05/06(土) 14:24:42.57 ID:wNWjHlrM
>Goの得意な技法を駆使した優れた設計

chan と select 使ったサーバープログラムなんでねーの。
ああいうふうにチャンネルに放り込んだものを適当に一列に並べてくれるのはかなり楽。

276 :デフォルトの名無しさん:2017/05/06(土) 15:30:08.75 ID:TldMS9JZ
ここまで次世代言語から>>240のコードが出てない件。
単純な力押し検索だから、難しいアルゴリズムでも無いんだが。。。
おいらも頭悪いんよ。

>>244の書き方でargs書き換えと、nsをcontentから取ってcsへ変更。sも折角だからwordから取ってwへ。

import System.Environment

search _ [] = False
search w cs | take (length w) cs == w = True
search w (_:cs) = search w cs

main = do
(file:word:_) <- getArgs
content <- readFile file
print $ search word content

277 :デフォルトの名無しさん:2017/05/06(土) 15:43:50.78 ID:TldMS9JZ
仕様変更への耐性だから、基準となる第一形態のコードの長さは問わない。
どんな変更があるか事前準備したクラスがあってもおk。
第三形態までの変更箇所の少なさが言語の優劣とする。

278 ::2017/05/06(土) 16:40:50.57 ID:BE072L/9
意見≒難癖とは生きづらいな

279 :デフォルトの名無しさん:2017/05/06(土) 18:13:57.91 ID:ye19IDAy
事実に基づかない悪評価は難癖だわな

280 :デフォルトの名無しさん:2017/05/06(土) 20:12:56.46 ID:XqR1goBE
エンジニアガイジのGo版ってあのなぜか最初から並列化を意識して書かれてたやつだっけ?

281 ::2017/05/06(土) 23:05:01.66 ID:BE072L/9
>>279
主観としての悪評価と客観としての悪評価を混同すんなよ…。
採点してる訳じゃないんだから。そこまで傲慢でも無いよ。

俺Rubyボロクソに言ってるけど、主観としてだよ。

>>280
並列化を意識してるんじゃないよ。
コンポーネントとして存在し得るかを考えただけ。
ノブがノブだけで存在できないなんておかしいじゃん。何にも繋がってない地面に転がったノブさえ定義できないのに、突然ドアについてる突起をノブだと言うくらい不自然じゃないの?
オブジェクト指向ってなんなの?
地面に転がってるのも、ドアについててもノブであって、ノブとしての役割を果たしているか否かでしかないのでは?
確かにそのノブがノブとして成立するのはドアについたときだろうけど、それ以前からそいつ自身の存在が変わったわけじゃないじゃん。

282 :デフォルトの名無しさん:2017/05/06(土) 23:09:30.32 ID:bKqO2+sL
>>281
んー。クローザーついてないドアにもスレッド使ってなかったっけ?

283 ::2017/05/06(土) 23:16:33.79 ID:BE072L/9
>>282
スレッドと言うかまあマイクロスレッド使ってるけど。
キューイングしてる所で同期をGoにやってもらった形に近い。
イベントやらメッセージパッシングと変わらんつもりだけど、キュー抜いて中もgoroutineなのは確かに悪手は悪手か。
それは確かにそうだな。

284 :デフォルトの名無しさん:2017/05/07(日) 02:09:25.68 ID:bNWzpChq
まだHaskell信者が暴れてるのか
ラッチの開閉すら実装出来ないと前スレで判明してのによく再登場出来るな

285 :デフォルトの名無しさん:2017/05/07(日) 02:38:17.71 ID:zdh+Rbcj
いやあの問題が糞だと思ったHaskellerが問題出してる流れじゃないの?

286 :デフォルトの名無しさん:2017/05/07(日) 02:59:03.65 ID:JOXD31Or
>>284
実装はできてたでしょ?

287 :デフォルトの名無しさん:2017/05/07(日) 04:54:40.21 ID:ehHyxLGM
久しぶりに覗いてみたけど、お前らまだやってたの?
良く飽きないな

288 :デフォルトの名無しさん:2017/05/07(日) 08:02:58.35 ID:M/7nygcc
Smalltalkerはお題で使って良い言語機能に縛りを入れようとするからクソ

289 :デフォルトの名無しさん:2017/05/07(日) 08:26:48.70 ID:HF1KyfYe
まぁここであーだこーだ言ったところで、大手の採用が多くなった言語が次世代扱いになるだけだからな
主に決めるのは外人だ

290 :デフォルトの名無しさん:2017/05/07(日) 09:55:32.27 ID:6O1o1Sih
>>289
まるでトクホや世界遺産に採用されるみたいな
官僚主義だな

291 :デフォルトの名無しさん:2017/05/07(日) 10:05:54.32 ID:4Tfm86M3
>>281
主観で悪評価しているなら、それこそ難癖以外の要素ゼロじゃないか。

292 :デフォルトの名無しさん:2017/05/07(日) 10:48:31.07 ID:6O1o1Sih
嘘ニュースを野放しにして個人の感想を問題視するのは本末転倒

293 :デフォルトの名無しさん:2017/05/07(日) 10:56:51.74 ID:U5ljnRqU
Haskell 難しすぎて叩きたくなるのもわかる。

294 :デフォルトの名無しさん:2017/05/07(日) 11:24:25.93 ID:PZmLVVS1
ほんと難しいよ
物を作る道具としては失格だな

295 :デフォルトの名無しさん:2017/05/07(日) 11:25:56.17 ID:6O1o1Sih
静的型が難しすぎて失格なんだよ
叩きたいことと叩くべきことが一致してない

296 :デフォルトの名無しさん:2017/05/07(日) 11:29:53.16 ID:Kq+qtoGk
microsoft word の動作が難しいって意味での難しさだわな。
無意味なむずかしさだわ。

297 :デフォルトの名無しさん:2017/05/07(日) 11:56:43.37 ID:uANj4DVJ
性的型が難しいって。。。
自分で正しくプログラム組めてませんって言ってるようなもんじゃん。。。

298 :デフォルトの名無しさん:2017/05/07(日) 12:01:01.50 ID:uANj4DVJ
溜まってんのかな。。。
x性的型が
o静的型が

299 :デフォルトの名無しさん:2017/05/07(日) 14:33:06.42 ID:2RFcNsFZ
お前らのゆう次世代言語って、キャットドア問題を解けるのか?

300 :デフォルトの名無しさん:2017/05/07(日) 14:53:43.84 ID:38Z51qvh
>>299
キャットドア問題って言いたいだけだろお前
すでに答えは出てるし、そもそも問題の把握すら出来てないじゃないか?

301 :デフォルトの名無しさん:2017/05/07(日) 14:58:24.43 ID:EXP2lJkU
>>240
>>276
ライブラリ使うのとかはありかな?
主旨から外れるかもしれないが、こんなのどうだろう

import System.Environment
import Data.Conduit
import qualified Data.Conduit.Text as CT
import qualified Data.Conduit.Binary as CB
import Control.Monad.Trans.Resource
import qualified Data.Text as T
import Control.Monad.IO.Class (MonadIO)

searchSink :: (Monad m, MonadIO m) => T.Text -> Sink T.Text m Bool
searchSink w = do
n <- await
return $ case n of
Nothing -> False
Just s -> T.isInfixOf w s

main :: IO ()
main = do
(file:word:_) <- getArgs
x <- runResourceT
$ CB.sourceFile file
$= CT.decode CT.utf8
$$ searchSink (T.pack word)
print x

302 :デフォルトの名無しさん:2017/05/07(日) 15:03:42.15 ID:zdh+Rbcj
キャットドアが解けて何かいいことがあるんですかね?

303 :デフォルトの名無しさん:2017/05/07(日) 16:13:25.59 ID:m17h7+4k
>>301
仕様変更への耐性を競うだけなので、まあライブラリ使ってもそれで仕様変更に強いなら構わないけど。。。

Haskellとsmalltalkしか回答寄せて貰えてない。。。
キャットドアのクラス作るだけの問題よりも、客からこんな機能付けてって要望に応える形で仕様変更されたのを如何にコード変えずに対応するかって問題は実践向きで良いと思ったんだが。。。

304 :デフォルトの名無しさん:2017/05/07(日) 16:18:52.35 ID:m17h7+4k
あと3時間もすれば会社行くからコードは明日。。。も出かける予定で無理か。。。
明後日には書くので、第二形態の問題だけ出しとく。

ファイル中に検索するキーワード見つかったら、見つかった数も表示するように機能追加。
見つからなかった時は表示しなくても良いし、表示を分けるの面倒臭かったら0個って表示で見つかった時と表示機能を共有しても良い。

305 :デフォルトの名無しさん:2017/05/07(日) 16:26:36.91 ID:EXP2lJkU
>>303
なるほどね
ならConduit使った方が処理簡単に挟めるから、仕様変更には強いと思う
あとはストリーム処理だから読み込むファイルが巨大になっても一定のメモリしか使わないってのも考えてみた

306 :デフォルトの名無しさん:2017/05/07(日) 17:24:00.66 ID:zdh+Rbcj
>>303
多分実戦向きの問題でいい感じなんだと思うんだけど、出題レスがとっちらかってて全部探すのめんどくさくてやる気起きなくてすまん
綺麗に纏まったレスどれ?

307 :デフォルトの名無しさん:2017/05/07(日) 17:30:40.95 ID:m17h7+4k
>>240>>277だけ見てくれればおkかと。

308 :デフォルトの名無しさん:2017/05/07(日) 17:57:04.14 ID:zdh+Rbcj
>>307
意図が良く分からないんだけど、Pythonで言えば

from sys import argv


def search(path, word):
____with open(path) as f:
________for l in f:
____________if word in l:
________________return True
________else:
____________return False


if __name__ == '__main__':
____print(search(argv[1], argv[2]))

みたいなのでいいの? とりあえず書き捨ての簡単なプログラムから初めて拡張していく感じで
多分これ拡張しろって言われたらsearch関数まるっと書き直しちゃうけど

309 :デフォルトの名無しさん:2017/05/07(日) 18:08:49.23 ID:m17h7+4k
>>308
オブジェクト指向も関数型言語も、仕様変更に強いって言われて広まったり注目されてるから、次世代言語も仕様変更に強くないと使える言語と言えないと思って。

だから、書き捨てでも良いし、どんな変更が来るか事前に予測した設計でも良いけど、設計変更に強いと言うのを示せるか?って感じ。
ちなみに私のHaskellは何にも考えてはいない。
自信があるとかじゃなくて、デザパタとか知らない。
関数型言語が設計変更に強いなら、まあ何とかなるだろうってノリ。

全体の趣旨
>>277

第一形態
>>240

第二形態<-今ここ
>>304

310 :デフォルトの名無しさん:2017/05/07(日) 18:14:46.33 ID:zdh+Rbcj
おっと2問目もあったか
Pythonで言えば

def count(path, word):
____with open(path) as f:
________return sum(l.count(word) for l in f)

でも追加しておけばOKだな。うん。searchの内容一切使ってないけど変更は3行やね
つーかsearchももっと短くできたな

311 :デフォルトの名無しさん:2017/05/07(日) 18:18:38.81 ID:zdh+Rbcj
>>309
仕様変更に強いっていってもこのお題の長さなら仕様変更というより新たに書き上げる短さを競うことになるな
一切再利用考えなくても三行だし

312 :デフォルトの名無しさん:2017/05/07(日) 18:23:23.71 ID:/lTp1FVO
>>304 Squeak/Pharo Smalltalk

| search |
search := [:fname :keywd |
 FileStream oldFileNamed: fname do: [:file |
  | count |
  count := 0.
  [file match: keywd] whileTrue: [
   count := count + 1.
   file atEnd ifFalse: [file skip: 1 - keywd size]].
  count
 ]
].
search value: 'test.txt' value: 'something'

http://ws.stfx.eu/RU59LGEMKG9G

313 :デフォルトの名無しさん:2017/05/07(日) 18:23:58.94 ID:m17h7+4k
そこをどうにか機能追加で
search test.txt hoge
Ture 4

みたいな感じに表示項目増えるように第一形態のコードを育てる様にして欲しいんだが。。。
関数名以外は中身が丸っと変わっても良いけどさ。

314 :デフォルトの名無しさん:2017/05/07(日) 18:27:46.84 ID:zdh+Rbcj
え、関数名変えたらいかんの?
それはおかしいやろ
一回作った関数の振る舞いを変更するのはおかしい。別の関数を作るべき

315 :デフォルトの名無しさん:2017/05/07(日) 18:28:27.76 ID:m17h7+4k
Haskellではタプルをそのまま表示して

search test.txt hoge
(True,4)

ってする予定。

316 :デフォルトの名無しさん:2017/05/07(日) 18:29:37.82 ID:m17h7+4k
>>314
そう言う問題も第二弾として考えてる。

317 :デフォルトの名無しさん:2017/05/07(日) 18:32:35.47 ID:zdh+Rbcj
うーん。この程度の量で無理に機能追加で育てていくこと自体が設計ミスだと思うけどなあ

318 :デフォルトの名無しさん:2017/05/07(日) 18:42:25.99 ID:m17h7+4k
そこは承知の上で、まだ次世代言語入門したばかりでも参入しやすい様にってのと、過去のコードに影響あるよね?って事で第二弾に持って行きたい。

319 :デフォルトの名無しさん:2017/05/07(日) 18:47:14.19 ID:zdh+Rbcj
はいPythonまとめ
searchはもっと短い実装思いついたから短くした。

from sys import argv


def search(path, word): # 1st
____with open(path) as f: # 1st
________return any(word in l for l in f) # 1st


def count(path, word): # 2nd
____with open(path) as f: # 2nd
________return sum(l.count(word) for l in f) # 2nd


if __name__ == '__main__':
# print(search(argv[1], argv[2])) # 1st
print(count(argv[1], argv[2])) # 2nd

変更は2ndって書いてある4行。一切再利用とかしてないけど、このお題に関して分かりやすさ、変更の少なさ、安全さでこれ超えるのは無理でしょ

320 :デフォルトの名無しさん:2017/05/07(日) 18:51:13.41 ID:zdh+Rbcj
>>318
やりたいことは了解したけど、回答者としては適切な設計でいきたいから、再利用したほうがいいと判断するまで再利用しないからな
まあいい具合に短いし気が向いたら次世代っぽい言語でもやってみるか

321 :デフォルトの名無しさん:2017/05/07(日) 19:24:12.22 ID:m17h7+4k
(しぶしぶ)了解。

322 :デフォルトの名無しさん:2017/05/07(日) 19:36:18.70 ID:4ZC1qsBr
再利用しないほうが少ない変更でいけるものに再利用を強制して、その分量で言語の優劣を測るというのは理不尽な話だ

323 :デフォルトの名無しさん:2017/05/07(日) 20:18:32.73 ID:zdh+Rbcj
Pythonのコードで再利用せずに済んでるのはバッテリー付き言語であるのが大きいな。もし次世代言語でmatchとかcountすらないようなのがあるとしたらその言語にとってはそこそこいい課題になるかもな

324 :デフォルトの名無しさん:2017/05/07(日) 20:59:47.13 ID:/lTp1FVO
>>304
ファイルの行ごとの内容はメモリに収まる程度なのか、とか
例えば 'xxxoooxxx' という文字列内に 'oo' は1個なのか2個なのか、とかは
回答側の都合がいいように自由に決めていい?

325 :デフォルトの名無しさん:2017/05/07(日) 21:31:50.41 ID:6O1o1Sih
仕様変更というから仕様バグをデバッグするのかと思ったら

バグのない完成品に機能追加して多機能化すれば優秀さを示せるって発想か
嫌な予感がする

326 ::2017/05/07(日) 21:34:41.10 ID:tachXp58
>>322
可換であるべき理由を殺しに来てるよね。

327 :デフォルトの名無しさん:2017/05/07(日) 23:11:40.56 ID:4ZC1qsBr
>>326
どういう意味?

328 :デフォルトの名無しさん:2017/05/08(月) 01:06:43.83 ID:F16X/4LX
Ocamlって型クラスないのか

329 ::2017/05/08(月) 06:18:15.11 ID:FkyLZnez
>>327
再利用せずに入れ替えたいから、その部品が使われるときのインターフェイスを定義して、関係ないものをカプセル化するんじゃん?
再利用して無理に機能追加してると、割りと早めにインターフェイスは形骸化するよ。
引き戸である、とか、このドアは回転扉で開けると反対が閉まる、とか、エアロックみたく、どちらかしか開かない制限をかけたいとか、そういう要件で安易に
扉だったものを魔改造するハメになる。
そうすると、インターフェイスってものや、カプセル化ってものが、完全に無意味になる。
魔改造されてて、本来の意味を失ったインターフェイスの「ドアを押す」メソッドとか怖すぎるじゃん。

330 :デフォルトの名無しさん:2017/05/08(月) 06:39:47.64 ID:pk8djPQr
>>329
横レスだけど
ざっくり言うとインターフェイスや型クラスの存在理由を殺しにかかってるって意味だよね
元の言い方だとちょっとわからなかったよ

331 ::2017/05/08(月) 06:45:50.09 ID:FkyLZnez
>>330
インターフェイス、型、あとはクラス構造自体の意義、もうちょっと広くとっても良いかなって思って。
Cでもアセンブラでも可換な作り方って出来るから、あまりに具体例にするのも話が矮小化しそうだなぁって思ったんよ。
申し訳ない。
「も、含めて」とかちょっと言い方考えるわ。

332 :デフォルトの名無しさん:2017/05/08(月) 06:53:05.16 ID:pk8djPQr
>>331
言いたいことはわかるよ
ただ可換なって言うだけだと
上の問題例もアリになっちゃうかなと…

333 :デフォルトの名無しさん:2017/05/08(月) 06:57:25.03 ID:Ya4nTupG
アルゴリズムなんてどれで書いても同じなんだから
もっとUI作りやすい言語くれよ。

334 ::2017/05/08(月) 07:22:21.17 ID:FkyLZnez
>>332
あーなるほど。
難しいもんだな。表現ってのは。
ありがとう、勉強になる。ちょっともう少し練ってから話すわ。

335 :デフォルトの名無しさん:2017/05/08(月) 18:51:10.68 ID:nU60kBJx
>>324
行は基本メモリに収まる程度だよ。
小説とか、常識的なテキストで問題無ければおk。
行に一個二個を回答側の都合ってのは普通駄目だろう。。。
でも、あんまりにも回答者いないんでもう良いよ。。。

336 :デフォルトの名無しさん:2017/05/08(月) 18:54:25.80 ID:nU60kBJx
>>329
あー。。。
あんま考えずに提案してたわ。。。
うーん。。。
インターフェースは変えずにって条件付ける?
実際に引数増やさないと駄目な時は補助関数作って、実際の処理はそっちに丸投げみたいな形で。
一応第二弾ではそう言うのも考慮して、既存の関数に手を加えないで機能拡張ってテーマで行く予定だけど。

337 :デフォルトの名無しさん:2017/05/08(月) 21:10:34.76 ID:nbca9qQS
>>335
> 行に一個二個を回答側の都合ってのは普通駄目だろう。。。

であれば、正規表現に丸投げするのでもなければ処理内容にも影響するので
例えば 'xxxoooxxx' 内に 'oo' は1個と数えるか2個と数えるかとかは出題側で事前にきちんと決めてください

338 :デフォルトの名無しさん:2017/05/09(火) 00:31:37.08 ID:fIUN0UPL
ああ!
勘違いしてた。
そう言うことね。
ラッキー7(777)検索してて7777ってなってたら1個と数えるか2個と数えるかって事か。
私の方法だと2個に数えてるので2個にしましょう。

339 ::2017/05/09(火) 02:14:34.77 ID:w3DidVUp
メモリをジャブジャブ使えて1個で考えて良いなら殆どの言語で一行なんだけどなぁ。
jsで言うと(content+'').split(delimiter).length-1だから。

340 :デフォルトの名無しさん:2017/05/09(火) 07:18:26.65 ID:83wQykSi
>>335
「小説とか」ということは、日本語の可能性もあるの?その場合に想定してるエンコードは?

とにかくideone.comとかで参加者が気軽に動作を確認でき、かつ仕様を満たした回答例を先に出しといてください
実戦向きとか言うわりに細かな仕様がまったくわからんし、動くコードでもなければエスパーするにも限界があるよ

341 :デフォルトの名無しさん:2017/05/09(火) 08:36:02.65 ID:YN7Krfta
言語が次世代になっても要件定義(笑)などが旧世代だと
どうにもならんね

342 :デフォルトの名無しさん:2017/05/09(火) 09:22:59.82 ID:7e9h09Aa
>>339
+'' ってなんかのおまじない?

343 ::2017/05/09(火) 10:56:31.08 ID:b+ihuqXk
>>342
splitがundefにならんように、文字列とコンカチしてる。

344 ::2017/05/09(火) 11:59:38.90 ID:b+ihuqXk
言葉足らずだったな。文字列と見せかけて数値にどっかで化けさせた奴対策だったり、そもそも引数来なかったとかそういうやつ。

345 :デフォルトの名無しさん:2017/05/09(火) 13:13:43.62 ID:7e9h09Aa
>>344
なるほど
ただ、それでエラーは出なくなるだろうけどバグが見つかりにくくなる悪寒しかしない

346 ::2017/05/09(火) 15:17:46.56 ID:tzdZ6ACH
>>345
数数えるんだから、数えられないものが来たらゼロになっていいんよ。

347 :デフォルトの名無しさん:2017/05/09(火) 16:14:33.37 ID:PEK3Ov/R
>>339
そうなんだ。。。
じゃあ、両方のを書くのでどっちもおkにします。

>>340
長さは?とか聞かれて小説とかって書いたけど、今回は適当なソース読ませる程度しか想定してないし、参入障壁にしたくないからアスキー文字だけしか想定してない。
本当、思い付きで申し訳ない。
そんな訳で下のコードをコピペして検索にかけると

>search search.hs search
(True,16)

ってなるはず。

んで、777を検索して7777を1個と数える版はsearch2として書いてみた。
最早Pythonよりも修正箇所多そうだけど気にしない。
do形式よりモナド形式が好きなのでdo形式コメントアウトしてるのは気にしないで欲しい。
(ちょうど良かったんで7777を確認用にdoの後ろに追加してる)

348 :デフォルトの名無しさん:2017/05/09(火) 16:15:07.28 ID:PEK3Ov/R
import System.Environment

search w cts = search' (False,0) w cts
where
search' (b,n) _ [] = (b,n)
search' (_,n) w (c:cs) | take (length w) (c:cs) == w = search' (True,n + 1) w cs
search' t w (_,cs) = search' t w cs

search2 w cts = search' (False,0) w cts
where
search' (b,n) _ [] = (b,n)
search' (_,n) w cts | take (length w) cts == w = search' (True,n + 1) w $ drop (length w) cts
search' t w (_:cs) = search' t w cs

-- main = do 7777
-- (file:word:_) <- getArgs
-- content <- readFile file
-- print $ search word content

main = getArgs >>= \(file:word) -> readFile file >>= print.search word

349 :デフォルトの名無しさん:2017/05/09(火) 16:29:20.54 ID:7e9h09Aa
>>346
contentがundefinedでdelimiterが'e'とかだったら?

350 ::2017/05/09(火) 20:01:48.57 ID:Qrp6KBdW
>>349
undefinedと空文字列かー、jsdoだと空になったけど、文字列化してしまうなら辛いな。

351 :デフォルトの名無しさん:2017/05/11(木) 14:33:48.35 ID:xTl8MRgt
第三形態とやらはどうなった?

352 :デフォルトの名無しさん:2017/05/11(木) 14:41:22.16 ID:+i4P6kRh
第一第二形態で次世代言語の回答もないのに出して良いものか。。。

353 :デフォルトの名無しさん:2017/05/11(木) 14:47:49.71 ID:+i4P6kRh
まとめとこう。
>>309で一旦まとめて

インターフェース(引数)固定縛り。
(補助関数可)
英数字のみのファイル前提。
行やファイル全体もメモリに収まる程度を想定。
777で検索した際、7777は検索結果1個とカウントしても2個とカウントしてもおk。

354 :デフォルトの名無しさん:2017/05/11(木) 17:06:04.00 ID:xTl8MRgt
そういうのいらないから第三形態と回答例はよ

355 :デフォルトの名無しさん:2017/05/11(木) 17:14:36.14 ID:+i4P6kRh
はいはい・・・。
んじゃ、検索で見つけた位置も追加で表示するように拡張。

import System.Environment

search w = search' (False,0,[],(1,0)) w
where
search' (b,n,ps,_) _ [] = (b,n,reverse ps)
search' (b,n,ps,(y,_)) w (c:cs) | c == '\n' = search' (b,n,ps,(y + 1,0)) w cs
search' (_,n,ps,(y,x)) w (c:cs) | take (length w) (c:cs) == w = search' (True,n + 1,(y,x + 1):ps,(y,x + 1)) w cs
search' (b,n,ps,(y,x)) w (_:cs) = search' (b,n,ps,(y, x + 1)) w cs

search2 w = search' (False,0,[],(1,0)) w
where
search' (b,n,ps,_) _ [] = (b,n,reverse ps)
search' (b,n,ps,(y,_)) w (c:cs) | c == '\n' = search' (b,n,ps,(y + 1,0)) w cs
search' (_,n,ps,(y, x)) w cts | take (length w) cts == w = search' (True,n + 1,(y, x + 1):ps,(y, x + 1)) w $ drop (length w) cts
search' (b,n,ps,(y,x)) w (_:cs) = search' (b,n,ps,(y, x + 1)) w cs

-- main = do 7777
-- (file:word:_) <- getArgs
-- content <- readFile file
-- print $ search word content

main = getArgs >>= \(file:word:_) -> readFile file >>= print.search2 word

356 :デフォルトの名無しさん:2017/05/11(木) 17:32:30.86 ID:+i4P6kRh
>>348のコードをコピペしたテスト用テキストだとこう表示されるはず。

>search test.txt search
(True,16,[(3,1),(3,11),(5,1),(6,1),(6,51),(7,1),(7,17),(9,1),(9,12),(11,1),(12,1),(12,45),(13,1),(13,17),(18,12),(20,60)])

357 :デフォルトの名無しさん:2017/05/11(木) 17:35:54.43 ID:/dUENRjT
結局俺たちの次世代言語はハスケルとスモールトークだったということか。

358 :デフォルトの名無しさん:2017/05/11(木) 17:41:01.83 ID:+i4P6kRh
んな訳ないと思うんだが。。。
第三形態まで出たんだから、次世代言語勢たのんますよ。
本当。

359 :デフォルトの名無しさん:2017/05/11(木) 18:01:32.36 ID:+i4P6kRh
要約

英数字のみのテキストファイルと検索文字列を受け取るコマンド。
行の長さや、ファイル自体の大きさは常識の範囲内。(メモリに収まる大きさ)
関数のインターフェース(引数)固定縛り。
第一形態からなるべく大きな変更無しで拡張して行くルール。

第一形態
検索文字列が存在するかどうかのみ表示

第二形態
検索文字列の存在と何個あるか表示

第三形態
検索文字列の存在、個数、見つかった位置を表示

Haskell
第一形態
>>276

第二形態
>>348

第三形態
>>355

360 :デフォルトの名無しさん:2017/05/11(木) 18:04:33.44 ID:+i4P6kRh
あ、777検索してて7777は一個二個どっちで数えてもおk。

361 ::2017/05/11(木) 18:41:45.50 ID:lLJXISKu
>>359
ガバガバでは?

type LookupResult struct {
//略
}
func (lr LookupResult) foundAsBool Bool{
return lr.found
}
func Lookup(needle,haystack String) LookupResult{
//検索処理
return LookupResult{found:結果}
}

って第一形態書いとけば、LookupResultが超リッチになってくだけでインターフェイスもへったくれもない石器時代の発想で書けちゃうよ。
そして往々にして業務アプリ屋ならちょっと気がおかしいレベルで、こんな形で結果をラップする事を徹底してる。
大きな変更は無いけど、いい事も無い。

362 ::2017/05/11(木) 18:42:31.33 ID:lLJXISKu
>>361
あ、ごめん。foundAsBoolの後ろに()無いな。

363 :デフォルトの名無しさん:2017/05/11(木) 18:46:17.93 ID:TwpHLB2C
しもた。。。
7777を一個と数える版(search2)でバグあった。
見つけたらdrop (length w)してるんだから、リストに追加する発見位置はそのままだけど、現在位置は検索文字列の長さ分足さなきゃだった。
適当に修正お願いします。(おい)

364 :デフォルトの名無しさん:2017/05/11(木) 20:01:32.06 ID:o2lqEhku
第三形態も1から書いたほうが早いな
そう、バッテリー付き言語ならね

365 :デフォルトの名無しさん:2017/05/11(木) 20:43:01.26 ID:pualqazL
ていうか何のスレ?
次世代言語議論してないよな

366 :デフォルトの名無しさん:2017/05/11(木) 21:12:13.28 ID:w7aTa8S+
次世代言語での>>359への回答待ち。

367 :デフォルトの名無しさん:2017/05/11(木) 21:28:25.35 ID:w7aTa8S+
って事は実行結果の例も修正せなな。。。

>>348のコードをコピペしたテスト用テキストだとこう表示されるはず。

>search test.txt search
(True,16,[(3,1),(3,16),(5,1),(6,1),(6,56),(7,1),(7,22),(9,1),(9,17),(11,1),(12,1),(12,50),(13,1),(13,22),(18,12),(20,60)])

368 :デフォルトの名無しさん:2017/05/11(木) 22:14:35.58 ID:pualqazL
久しぶりにコードみたけどHaskellちゃんキモイな〜

10年前から主要言語TOP10は変わってないという事実をお忘れなきように

369 :デフォルトの名無しさん:2017/05/11(木) 23:32:16.09 ID:5z6DmCSe
10年間スマホを世界中で売りまくっても何も変わらなかったのは意外だな

370 :デフォルトの名無しさん:2017/05/12(金) 00:30:03.06 ID:3oRK7AIr
それは今後も主要言語は変わらないから次世代言語について考えることは無意味ってことかな

371 :259=359:2017/05/12(金) 02:24:49.85 ID:QHw9MbYN
>>368

>>259

372 :デフォルトの名無しさん:2017/05/12(金) 06:43:44.99 ID:4vGyFDSj
実装基準がよくわからない。

import System.Environment(getArgs)
import Data.List(isInfixOf,isPrefixOf,tails,findIndices)

search1 = isInfixOf
search2 word = length . filter (isPrefixOf word) . tails
search3 word content = (ps /= [], length ps, ps)
 where ps = concat . zipWith indices [0..] $ lines content
    indices l = zip (repeat l) . findIndices (isPrefixOf word) . tails

main = do
 (file:word:_) <- getArgs
 print =<< search1 word <$> readFile file
 print =<< search2 word <$> readFile file
 print =<< search3 word <$> readFile file

373 :デフォルトの名無しさん:2017/05/12(金) 08:36:47.18 ID:u9nYGLh2
そもそもこのスレからHaskellはスレ違いになったんだが

374 ::2017/05/12(金) 08:40:43.26 ID:6RnAOpKz
>>364
第二形態書いた時点で第一形態は、第二形態を中で呼ぶ様に書き換えないと悲劇だし、第三形態も同じ。
レビューで辛辣な第一形態を安易に書いたdisりを受けたあと、直交性が失われるために、それより前の形態をAPIとしてobsoluteにしてライブラリ関数とかマクロに降格するレベルだよね。

375 :デフォルトの名無しさん:2017/05/12(金) 10:34:41.20 ID:nQbZenvu
>>372
Data.Listの関数はisInfixOfとisPrefixOf、tailsを本で読んだだけで使った事ないな。。。
それ以外は見た事すらない。
ちゃんと使うと、ここまで書けるのね。

そう言う意味じゃ、おいらのは入門書前半の知識だけでも書けるって感じやね。

おいらがHaskell好きなのは美しさもだけど、ひたすらミニマムな知識だけでも何とかなっちゃうのが良い。
数学と同じで便利な関数知ってれば、強力な武器だし周りからは難しそうに見えるけど、基本はとても簡単で、少ない武器でもどうにかこうにか自力でも解ける。

これこそ初心者向け言語だって思ってるんだけどねぇ。。。

376 :デフォルトの名無しさん:2017/05/12(金) 10:35:36.50 ID:nQbZenvu
>>373
Haskell追い出せるだけの次世代言語の立派な回答求む。

377 :デフォルトの名無しさん:2017/05/12(金) 13:24:07.84 ID:H6Uk5vuw
"Pharo Smalltalk"

search1st := [:str :kw | str includesSubstring: kw].

search2nd := [:str :kw | (str splitOn: kw) size - 1 ].

search3rd := [:str :kw |
 Array streamContents: [:ss |
  (str lines collect: #readStream) doWithIndex: [:strm :idx |
   [strm match: kw] whileTrue: [ss nextPut: idx -> (strm position - kw size + 1)].
  ]
 ]
].

http://ws.stfx.eu/DQART2BS6GYF

378 :デフォルトの名無しさん:2017/05/12(金) 17:26:32.26 ID:k//9Mr+f
>>368-369
でもCの地盤沈下は確実に進んでるわけで

まー2017にはさすがにCOBOL使ってるシステムも
リプレースされただろ?されてるよね?ってところ

379 :デフォルトの名無しさん:2017/05/12(金) 20:20:28.20 ID: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

380 :デフォルトの名無しさん:2017/05/12(金) 22:43:42.90 ID:y9SJMwIK
第4世代、4番目、英語で言えば、Forth

381 :片山博文MZ ◆T6xkBnTXz7B0 :2017/05/12(金) 22:45:07.26 ID:r6F8dCD7
残念、fourth でした。

382 :デフォルトの名無しさん:2017/05/13(土) 00:01:55.41 ID:hYOIVOdy
そんなの良いから。
実際問題キャットドアより簡単だから。
次世代言語以外が回答してるのがおかしいから。

383 :デフォルトの名無しさん:2017/05/13(土) 01:15:28.36 ID:VbJPsYiJ
終わった言語が必死にコード載せてアッピールしようとしててウケるw

384 :デフォルトの名無しさん:2017/05/13(土) 01:52:43.37 ID:7Z9U0QOC
pascalとかForceとかね。次世代言語だよ?
Fortunは77じゃないよね

385 :デフォルトの名無しさん:2017/05/13(土) 04:50:33.84 ID:j31cCXIw
数行のコードも書けぬ低脳に担がれ哀れな次世代()言語

386 :デフォルトの名無しさん:2017/05/13(土) 08:16:21.72 ID:2mf4fJqx
ぶっちゃけ新しい言語とか覚えるの面倒だから次世代とかいらねーって思ってるんだろ?

387 :デフォルトの名無しさん:2017/05/13(土) 08:20:03.99 ID:zCDOTfft
次世代言語を考えるなら古典に立ち戻ることが重要だな。
スレタイに挙げられた言語は局所最適の枝葉末節だらけで参考にならない。

388 :デフォルトの名無しさん:2017/05/13(土) 08:26:47.84 ID:pUHHN6Pq
じゃあ原点に立ち返って、Smalltalkのどこがゴミで死んだのか確認しようぜ

389 :デフォルトの名無しさん:2017/05/13(土) 09:04:37.48 ID:1FO9O0uX
さすがにそれはスレ違いだろう

390 :デフォルトの名無しさん:2017/05/13(土) 09:12:34.64 ID:4agJqfcC
いくらお題がアレとはいっても、
ここまで来てなんで一つもKotlinとかGoで書くやつがいないのか。
簡単だし時間かからないだろ?
Smalltalk馬鹿にしてる奴も意味不明。

391 :デフォルトの名無しさん:2017/05/13(土) 10:51:00.22 ID:Cn0XNRH7
お題が簡単すぎて面白くないからだろ

392 :デフォルトの名無しさん:2017/05/13(土) 10:59:13.12 ID:n2tLG6k9
ほんまそれ。Pythonの例で問題の糞さが示されたと思ったが

393 :デフォルトの名無しさん:2017/05/13(土) 11:11:25.11 ID:XdPYiSal
python がいかに読みやすいかが示されただけだな。

394 :デフォルトの名無しさん:2017/05/13(土) 11:14:51.78 ID:GlvX42FB
Pythonの第三形態マダー?

395 :デフォルトの名無しさん:2017/05/13(土) 11:51:00.37 ID:rBo1iP3S
Pythonから次世代言語に乗り換える意味が見当たらない

396 ::2017/05/13(土) 12:14:40.76 ID:Mm9GiQ8r
>>390
夜か明日、書いてもいいけど、全く以って問題が悪すぎて、次世代もクソも無いと思うよ。

397 :デフォルトの名無しさん:2017/05/13(土) 14:48:56.11 ID:7U8nUyJb
>>394
現実、3.x だから第3形態じゃないのか?
0.9 もあったから第4形態かもしれんが。

398 :デフォルトの名無しさん:2017/05/13(土) 16:19:26.54 ID:XdPYiSal
プログラミングエアプ勢の一発逆転の可能性
それが次世代言語の意義なんだよ。

399 :デフォルトの名無しさん:2017/05/13(土) 18:54:00.95 ID:zCDOTfft
問題が悪いとふんぞり返っていれば次世代言語がどこからか降って湧いてくるのか。
便利なスレだな。

400 ::2017/05/13(土) 21:16:28.56 ID:l2RlSRsK
また、「エアプ」か。どこで流行ってんだその言葉。。
問題が悪いからと言って次世代言語が降ってこないのは当たり前と言うか、
自動車が発明される前に人々にニーズ調査したら「すごく早くて馬が疲れにくい、壊れにくい馬車がほしい」って答えただろうってフォードのおっさんの名言に尽きるだろ。

401 :デフォルトの名無しさん:2017/05/13(土) 21:56:48.51 ID:QiNZfANm
>>384
英文は無理でも言語名の綴りぐらいはちゃんと書こうね
ForceじゃなくてForth
FortrunじゃなくてFortran
pascalはPascal
(固有名詞だから頭文字は大文字、なお全部を大文字で書く・・・PASCAL・・・か否かは趣味の問題だが
全部を大文字で書くのは小文字がディスプレイやプリンタで表示・印字できなかった古い時代の名前というニュアンスが加わる)

402 :デフォルトの名無しさん:2017/05/14(日) 06:47:23.26 ID:FpH7uWr+
>>397
すぐ手前の流れも読まないPython使いってなんかマヌケだね

403 :デフォルトの名無しさん:2017/05/14(日) 11:16:19.57 ID:g1XH9FW+
マジな話、いまだにショボいお題にご執心のハスケラの方がマヌケだけどね

404 :デフォルトの名無しさん:2017/05/14(日) 12:32:07.52 ID:1QHY+inp
ドア云々とかよりは実践向きだと思うけどな

405 :デフォルトの名無しさん:2017/05/14(日) 12:40:55.67 ID:ZZLeiCLl
まあドアよりはな

406 :デフォルトの名無しさん:2017/05/14(日) 13:56:58.74 ID:KHWozqTm
>>403
結局それか
何か叩いてないと安心できないだけ

407 :デフォルトの名無しさん:2017/05/14(日) 14:23:56.19 ID:tMuNfTLo
ドアは糞
だがしかしコードをちゃんと読めて(あるいは書けて)改めて糞だと言えてる奴がどのくらいいるかは怪しいな
ドア→実用なし→糞と短絡してるだけとか
実際、>>404>>405はドアのお題、何分ぐらいで書けるの?

408 :405:2017/05/14(日) 16:59:45.21 ID:ZZLeiCLl
>>407
Juliaの書いて、書いた上でドア糞って言い始めたのは俺だぞ
あれ思い出しながら書いたから一時間くらいのかかったわ
なんか言語仕様変更してる所とかあったし

409 :デフォルトの名無しさん:2017/05/14(日) 18:38:38.10 ID:tMuNfTLo
>>408 それはお見それしました
>>404は?

410 :デフォルトの名無しさん:2017/05/14(日) 19:19:30.14 ID:oT3eSlat
キャットドア問題も解けないくせに

411 :デフォルトの名無しさん:2017/05/14(日) 19:34:09.72 ID:hXmCvLEt
>>408
Images のデータ構造また変えやがった。いい加減にしてくれ。

412 :デフォルトの名無しさん:2017/05/14(日) 19:53:34.96 ID:tMuNfTLo
>>410
あれはコンポジットで解決だろ
その前に問題点理解できてるのか?

413 :デフォルトの名無しさん:2017/05/14(日) 22:19:02.85 ID:USv6MFnh
Go: http://ideone.com/HpfQo5
Kotlin: http://ideone.com/9xPk7i

414 :デフォルトの名無しさん:2017/05/15(月) 00:34:41.47 ID:vRkjYJPr
次世代言語でも手続き型言語の呪縛からは解き放たれないのか。。。
既存言語の着せ替えでしか無いなら、プログラムの組み易さも大差無かろう。

415 :デフォルトの名無しさん:2017/05/15(月) 00:54:38.55 ID: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...

416 :デフォルトの名無しさん:2017/05/15(月) 01:06:58.66 ID:8Y8+/ZxP
結局関数型の雄はなんなの?

417 :デフォルトの名無しさん:2017/05/15(月) 01:32:26.10 ID:hQsWbFnv
既存の言語でやれってことだろ。
オブジェクト指向をむりやり c でやったように。
結局それが正解。

418 :デフォルトの名無しさん:2017/05/15(月) 01:34:34.82 ID:vRkjYJPr
何が関数型言語の雄になろうと次世代言語にはならないかなぁ。。。
私はただHaskellに惚れてるだけで、ここが良いって紹介もするけど、それって結局Lisperと同じ道を歩んでると思う。

419 :デフォルトの名無しさん:2017/05/15(月) 01:36:41.34 ID:vRkjYJPr
しまった。。。
一人称が真面目モードに。
x私
oおいら

420 :デフォルトの名無しさん:2017/05/15(月) 06:38:31.61 ID:k5wZeeQn
アテクシはScalaが最強だと思いましてよ、ホホ

421 :デフォルトの名無しさん:2017/05/15(月) 09:32:58.17 ID:G/N4Afa9
量子コンピュータ向けの言語じゃね?
言語なのかどうか知らんけど。

422 :デフォルトの名無しさん:2017/05/15(月) 10:34:46.05 ID:OVQU3b0Y
次世代と称される流れには2つの傾向があって
ひとつはScalaやSwiftのように従来のOOPLをベースにして(つまり機能は特に削らずに)
これまで関数型言語の独擅場だった型推論やオプショナル型といった型システムのサポートを手厚くしたもの
もうひとつは、さらに一歩進めていろいろな不都合の元凶であったクラス(もっというと継承)を外して言語機能を大胆にシンプルにしたもの
GoやRustがこれにあたる…ってところか

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

Rubyは両方を狙っているけどたぶん失敗する

423 ::2017/05/15(月) 12:50:33.96 ID:HDk+iNO5
Rust、今更もう一度触ってみたけど、割とまとまってきてるな。
風呂敷広げ過ぎた悲壮感減ってきてる。
ただ、それでもすごく安全なCとして使うほうが便利な気がするわ。

424 :デフォルトの名無しさん:2017/05/15(月) 13:17:14.26 ID:CnSqTz4B
Rustなんて木構造もまともに書けない言語が次世代とか飯食ってるときにわらかすなwwwwwww

425 :デフォルトの名無しさん:2017/05/15(月) 14:36:26.20 ID:JAUTsopg
わらかす

426 :デフォルトの名無しさん:2017/05/15(月) 14:45:26.78 ID:CnSqTz4B
「笑かす」な。

427 :デフォルトの名無しさん:2017/05/15(月) 15:08:17.40 ID:hQsWbFnv
木構造もすべて配列で用意させる硬派な言語

428 :デフォルトの名無しさん:2017/05/15(月) 15:50:28.38 ID:CnSqTz4B
Rustって言わばCより低機能な言語だからな。

そりゃ何も出来なきゃ安全だよな。

429 ::2017/05/15(月) 17:18:40.45 ID:HDk+iNO5
>>424
RcとRefCellで書けるんじゃないの?

430 :デフォルトの名無しさん:2017/05/15(月) 17:20:05.97 ID:ciuqqN4z
>>416
sml/nj

431 :デフォルトの名無しさん:2017/05/15(月) 17:33:40.67 ID:CnSqTz4B
>>429
教科書的に書くだけならな。Cのように実用に耐え得るものは書けない

ttps://hackernoon.com/why-im-dropping-rust-fd1c32986c88

432 ::2017/05/15(月) 18:36:33.51 ID:HDk+iNO5
>>431
この人が行き詰まってるのは、オブジェクト指向そのまま当てたからでは?
structのImplでもなく、traitの関数でもなく、
traitのImplで書けば何とかなりそうだけど。
あと、サイズを取得したいだけなら、lifetimeを明示してCopyちゃんとすれば良いのでは?

433 :デフォルトの名無しさん:2017/05/15(月) 19:00:47.68 ID:RWNXh8sg
書けると主張するなら書けばいいのに

434 :デフォルトの名無しさん:2017/05/15(月) 19:24:57.87 ID:jxMhaoqU
笑かす

435 :デフォルトの名無しさん:2017/05/15(月) 20:17:30.50 ID:hQsWbFnv
実際書くと大変なことを無意識に理解してんでしょ。
そういう種類のごまかしをするやつはよくいる。

436 ::2017/05/15(月) 20:54:20.75 ID:HDk+iNO5
書いたら面倒だって事は否定してないじゃん。
この人が行き詰まってるのは、借用とは割と関係ないオブジェクト指向脳ではって話してるんだけどなぁ。

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

手軽さ的には俺はGoを押し続けるが、否定するもんでもないと思うようになったな。

437 :デフォルトの名無しさん:2017/05/15(月) 21:00:18.80 ID:zTfCWGM6
チューリング完全だからなw

438 :デフォルトの名無しさん:2017/05/16(火) 00:41:59.04 ID:HLEZgw56
なぜか C 書く人はみんな MISRA-Cを守ってるという話になってんな。。

439 :デフォルトの名無しさん:2017/05/16(火) 01:26:25.84 ID:YrF/ZMci
まあ当のMozillaがRustでDOM木の処理書くのに難儀してるとは聞くから簡単ではないんだろうな。

物が作れない最高の言語より、物がつくれる嫌われ言語の方が結局世の中に貢献するんだよな。この点ではPHPでさえRustより世の中に役に立ってる言語と言える。

440 :デフォルトの名無しさん:2017/05/16(火) 01:30:45.27 ID:/yslofcu
ようするに?

441 :デフォルトの名無しさん:2017/05/16(火) 01:46:35.68 ID:O9oAiYi/
firefoxの書き換えが成功したなら実用性では文句無しになるの?

442 :デフォルトの名無しさん:2017/05/16(火) 02:00:35.86 ID:PbASgT1d
というかまだ書き換えられてないのか…

443 :デフォルトの名無しさん:2017/05/16(火) 11:18:02.03 ID:PSQsih3e
>>441
成功するなんて妄想してるからChromeにシェア完全に奪われたんじゃねーの?

444 ::2017/05/16(火) 13:09:50.84 ID:RIytWhRI
>>438
守ってない部分はGoやらなんやら、もっと手軽な物で書いたほうが楽じゃん。
あれは要は、ヒープやスタックの領域の担保やら、死んだポインタへのアクセスの回避やら、そういう部分に対して言語側から縛りかけて安全にしよう、ってスタンスなのでは?
本人らは推してるが、副次的にGCが無い言語になってるように見える。

>>439
歯ブラシ言語はマジで強い。PHPはdisる奴がわからんレベル。
遅いしまともじゃない動きしたりするけど「とにかく動くwebページ」は一瞬で作れる。

445 :デフォルトの名無しさん:2017/05/16(火) 13:14:04.12 ID:dZpCRHDk
また発狂してる……

446 :デフォルトの名無しさん:2017/05/16(火) 13:18:30.66 ID:D7FkMXFe
次世代スマートポインタだけでよさそうな気がするけどそれをやったらC++の独壇場だな
Goやらなんやらの出る幕がなくなってしまう

447 :デフォルトの名無しさん:2017/05/16(火) 13:43:07.20 ID:PSQsih3e
Goの何がすごいって、言語の批評家にこんだけタコ殴りにされても、もの作る速さが圧倒的の一点でここまででかい言語になったことだよな。

RustはCを安全に倒しすぎた結果なにも作れなくなった言語って意味では対照的。
Servoは失敗するだろうが、そこで得られた知見でRust2.0(1.xと互換性なし)が出てからが本番と見てる。

448 :デフォルトの名無しさん:2017/05/16(火) 14:33:32.43 ID:rFzXLZrQ
GUI付きのOSまで作られてるのに何も作れないとは

449 :デフォルトの名無しさん:2017/05/16(火) 14:47:31.26 ID:D7FkMXFe
歯ブラシではなく弱者で同じことができれば尊敬されるだろうな
弱者を批判する批評家から弱者を守ってみろ

450 :デフォルトの名無しさん:2017/05/16(火) 14:57:19.22 ID:bxFACSIv
TiDBつーかTiKVに続報がないのがな。
対抗馬のゴキちゃんは1.0リリースしたのに。

451 : ◆QZaw55cn4c :2017/05/16(火) 20:55:08.15 ID:szD5YOp7
MISRA ってそんなに厳しいのかい?

452 :デフォルトの名無しさん:2017/05/16(火) 20:55:48.40 ID:zxK8tMMg
phpはガチでないわ
php持て囃してるやつらって、php書いたことないやつらだろ
プロトタイピングならまだしも、phpをプロダクトに使うたら頭おかすなるで

453 :デフォルトの名無しさん:2017/05/16(火) 20:57:15.12 ID:gJA+c77n
関数各々link時に再帰の有無て判別できるんだろうか?

454 ::2017/05/16(火) 22:59:06.93 ID:RIytWhRI
>>451
めんどくさいけど、あれ通りに書いてたらバイナリパッチ作りやすい。
>>452
世の中、プロトタイプ程度の物で充分な事が多いって事でしょ。

455 :デフォルトの名無しさん:2017/05/16(火) 23:37:19.01 ID:q2BEchMh
>>454
ねーよガイジ
ペチプァは死ね

456 :デフォルトの名無しさん:2017/05/17(水) 00:01:12.17 ID:3IJ9wgg6
ペチパーへの強い憎しみを感じる……

457 :デフォルトの名無しさん:2017/05/17(水) 04:28:27.85 ID:2wQy2LFh
Nimってどうなん?
次世代感は無い気もするけど

458 :デフォルトの名無しさん:2017/05/17(水) 04:48:40.76 ID:bqqNuZww
>>432
似た印象を持った
問題提起者が新しい型と型制約の逆転に気づいてないし、
RustをRubyか何かと勘違いしている感じだ

459 :デフォルトの名無しさん:2017/05/17(水) 06:25:59.43 ID: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

460 :デフォルトの名無しさん:2017/05/17(水) 07:38:00.11 ID:sxUcFyDL
性的オッパイソンみたい

461 :デフォルトの名無しさん:2017/05/17(水) 07:38:49.95 ID:dkQOogT2
まともなプログラマならPHPなんて金積まれても書かないから、
PHPを書いたことがあるプログラマは全て無能のクズペチパーでFA

462 :デフォルトの名無しさん:2017/05/17(水) 08:29:33.19 ID:wJf0VzTx
>>460
何それ?楽しそう。

463 :デフォルトの名無しさん:2017/05/17(水) 11:39:01.15 ID:RUw3nkZO
EC-CUBEとかphpじゃん?
求人多いじゃん?
でも言語としてはダメってこと?

464 :デフォルトの名無しさん:2017/05/17(水) 12:43:44.96 ID:F+w5XH8T
>>463
PHPは言語ではない。まずそこからだ。

465 :デフォルトの名無しさん:2017/05/17(水) 13:07:19.59 ID:rCny4GOf
>>464
え?

まあ、EC-CUBEは開発当初流行ってたからPHPで作った
というだけで今一から同じもの作るとしたらPHPという
選択肢は無いんじゃないかなぁ。
PHPが流行ったのは歴史的な経緯が大きいと思うし。

466 :デフォルトの名無しさん:2017/05/17(水) 13:16:25.89 ID:l7mhfXJ7
>>447
つーかああいう馬鹿な批評家みたいなやつが生産性を落としてるんじゃねーかっていうことを
証明したのが go という印象。

467 ::2017/05/17(水) 14:32:20.84 ID:FjYdmJm+
>>455
夏休みの工作をフライス盤で作るような事したくないじゃんww
悪いもの使ってるから悪いものしか作れないと言う意味じゃなくてな。
俺の字が汚く見えるから鉛筆は使わない、みたいな情けない字が下手なやつの言い訳に聞こえる。

>>458
この辺思想だから、移植物だと仕方ないっちゃ仕方ないんだよね。

468 :デフォルトの名無しさん:2017/05/17(水) 17:32:30.07 ID:0Ygr9k03
PHPはテンプレートエンジンであって、それを使って無理矢理プログラミングしてるのが異常事態っていうテンプレは置いといても、
誰がが言ってたが生産性が高いんじゃなくて生産性を前借りしてるっていうのは言い得て妙だと思った。Rubyに対しての話だがPHPにもしっかり当てはまるな。

Goは「前借り」感が少ない。少ないだけでまだあるがRubyやPHPよりはるかにマシ

469 :デフォルトの名無しさん:2017/05/17(水) 17:33:55.88 ID:0Ygr9k03
借りて返さなくていいプロダクトなら確かに一つの選択肢になり得るってのは否定しようがないけどな

470 :デフォルトの名無しさん:2017/05/17(水) 23:33:27.42 ID:NA6XP0ND
今出てきてる次世代言語はどれも外れ臭い

洗練されてない
くどい
従来の物のほうがなじみやすい
目立った成果をあげていない

471 :デフォルトの名無しさん:2017/05/17(水) 23:56:52.27 ID:MByoVwD6
>従来の物のほうがなじみやすい
これはさすがにアホだろ

472 :デフォルトの名無しさん:2017/05/18(木) 01:36:26.16 ID:ahqmwSBr
>目立った成果をあげていない
新興言語が既存言語の積み上げた資産ぶち抜く成果上げたらびびるわ。

コンテナオーケストレーション領域やNewSQL領域みたいなそもそも新しい分野ではGoが結構強い。

473 :デフォルトの名無しさん:2017/05/18(木) 03:34:10.58 ID:DKg0Na73
AndroidでKotlinサポート!

474 :デフォルトの名無しさん:2017/05/18(木) 06:06:25.90 ID: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.63 ID:j3O3T+hJ
>>468
それはその通りだろうな。
まぁ、使い捨てるためのものであって、確かにあれでバッチ処理とか書いてたのは直させたことある。
>>472
新しい概念に新しい言語はマッチするし、やっぱ効率的だと思う。
PCODEとパスカルとか。
資産活用なら、すごい親和性のKotlinかな。JavaのクラスのgetXXXとsetXXXが、勝手にクラスのプロパティになるとかすげえなって思う。

476 :デフォルトの名無しさん:2017/05/18(木) 10:38:06.37 ID:CUeY4+YJ
>>475
そこらへんのKotlinの機能はただのGroovyのパクリ
というか静的型以外は大体Groovyのパクリ

477 :デフォルトの名無しさん:2017/05/18(木) 11:37:49.17 ID:sfBdYfQZ
過去の資産を自然に利用できるってのは次世代言語にとってでかいってことかね。
そういう意味じゃ c++ は先見性のある言語だったんだろうな。

478 :デフォルトの名無しさん:2017/05/18(木) 11:58:01.78 ID:Ueu9cV6M
Rustもbindgenとかで頑張ろうという姿勢はなくはないな。
肝心の言語がアレだが。

一方GoはGoogleの暴力で全部自前で資産を構築した。

479 ::2017/05/18(木) 12:37:01.30 ID:j3O3T+hJ
>>476
当時の次世代だったじゃん、Groovy。
まぁ、KotlinもAndroidの一級言語になったし、暴力かどうかはおいといてこれからどうなるかはわからんが。

480 :デフォルトの名無しさん:2017/05/18(木) 13:10:22.49 ID:Ueu9cV6M
あ、暴力っていうのは恐怖政治って意味じゃなくて、圧倒的な自前リソースで叩き上げたって意味ね。数の暴力のニュアンスに近い

481 :デフォルトの名無しさん:2017/05/18(木) 13:17:24.91 ID:XKDAC558
Kotlinは無事次世代から現世代に格上げされたようだな
さようなら次世代言語ことりん

482 :デフォルトの名無しさん:2017/05/18(木) 13:31:05.44 ID:twTr7KgU
>>459
まぁそれ言うとRoR出る前のRubyとか・・・って話に
なっちゃうしなぁ。
別に推したい訳じゃないけど、サラサラッと見た感じ
ツボは押さえてて悪くなさそうなので、今まで俺は全然
聞いたことなかったし何故かなーと思った次第。

483 :デフォルトの名無しさん:2017/05/18(木) 13:54:46.39 ID:V9vRGfQu
Google、KotlinをAndroidアプリ開発言語に選定―I/O会場から大喝采

http://jp.techcrunch.com/2017/05/18/20170517google-makes-kotlin-a-first-class-language-for-writing-android-apps/

484 :デフォルトの名無しさん:2017/05/18(木) 14:02:21.88 ID:Ueu9cV6M
Nimの競合はCrystalやJuliaって気がする。
この中ではJuliaがリードしてる。

485 :デフォルトの名無しさん:2017/05/18(木) 14:50:52.71 ID:TSzqrQQ0
>>359書いたものだけど、今これを複数ファイル対応させたくてコマンド引数の奇数グループと偶数グループに分けてzipするプログラム試作してみた。

import System.Environment

makeList cs f = take (length cs `div` 2) [cs!!x | x <- [0..], f x]

zipArgs args = zip (makeList args even) (makeList args odd)

main = getAtgs >>= print.zipArgs

何が言いたいかと言うと、次世代言語で>>359の第4形態作りませんか?

486 :デフォルトの名無しさん:2017/05/18(木) 14:54:47.81 ID:TSzqrQQ0
動かすとこんな感じ

>zipArgs hello world good by
[("hello","world"),("good","by")]

487 :デフォルトの名無しさん:2017/05/18(木) 15:53:54.50 ID:XatVFB8/
コテになってくれればNGにぶちこめるのになあ

488 :名前は開発中のものです。:2017/05/18(木) 16:14:27.77 ID:ymL7Ro8a
GoogleはJVM捨てたいと思ってたからKotlin採用したの意外だな
というかGoに自信ないの?

489 :デフォルトの名無しさん:2017/05/18(木) 17:11:11.24 ID:ZGxkwhYz
>>486
言語組み込みの1メソッドで対処できる程度のつまんないお題しか出せてないってそろそろ気付けよ

490 :デフォルトの名無しさん:2017/05/18(木) 18:22:51.27 ID:5cH1kli9
>>488
Goは文系土方を集めて開発する時の言語じゃない?
Google社員は優秀な人多そうだからGo使うより別の言語使った方が効率良いんだろ

491 :デフォルトの名無しさん:2017/05/18(木) 18:27:00.09 ID:f8y2NPBR
いや単純にGoのバイナリがモノリシックでバカでかすぎるからじゃねえの?
JVMとKotlinランタイム積んだ方が総合的にスマホでは得なんだろ。

492 :デフォルトの名無しさん:2017/05/18(木) 18:45:04.78 ID:XAZP4kgQ
>>489
1メソッドで対応出来るの見せてもらえれば、流石次世代言語と思うけど。

じゃあ何かお題出してくださいな。
クラス作れとかじゃなくて何か実際に動くものの。
出来れば高卒のおっさんでも解けるレベルなら有難いw

>>359をより実用的にするアイデア浮かんでて、まず上の通り複数ファイル対応の後、見つけた場所と同じ行の文章を表示させたいって思ってる。
これを一行丸々か、前後を何十文字ずつ切り取るってするか考え中だが。

493 :デフォルトの名無しさん:2017/05/18(木) 19:09:30.79 ID:oGyoSyzb
Haskell使いって変なのしかいないよな
なんでかしらんけど

インターフェースって書いたり文末に。つけたり
おじいちゃんなんだろうか?

494 :デフォルトの名無しさん:2017/05/18(木) 19:19:39.20 ID:XAZP4kgQ
多いと言うか、おいらだけかと。
若くはない。
そう歳でもないつもりだったが、おっさん言われる歳になっちまった。

次世代言語にも興味あるのに、言葉ばかりでコードがあんまり出てこないから問題出せば見られるかと思ったんだが、上手くいかないね。

495 :デフォルトの名無しさん:2017/05/18(木) 19:22:15.02 ID:oGyoSyzb
sed ,grep

awk

perl

ruby

496 :デフォルトの名無しさん:2017/05/18(木) 19:58:51.19 ID:twTr7KgU
句点打つとおじいちゃんて何か非常に新鮮だな。
これで俺もおじいちゃんの仲間入り。

497 :デフォルトの名無しさん:2017/05/18(木) 20:03:00.27 ID:XAZP4kgQ
まー何にせよ、お話ばかりで全然コード出ないのにウンザリなのよ。
簡単なので良いから次世代言語のコード見て見たいのよ。

498 :デフォルトの名無しさん:2017/05/18(木) 20:19:35.82 ID:PWYbvK6z
githubでも漁ってれば良いのでは

499 :デフォルトの名無しさん:2017/05/18(木) 20:45:13.68 ID:lDLOBuVe
インタフェース?
インタネット?

500 :デフォルトの名無しさん:2017/05/18(木) 21:19:37.89 ID:CUeY4+YJ
>>493
いつも本題と別のとこに難癖つけて荒らしてるのお前だろ
なんか明らかに引っ掻き回してる奴いるなと思ってたが、今回ので確信した

501 :デフォルトの名無しさん:2017/05/18(木) 21:22:49.46 ID:oGyoSyzb
別人だろ
昨日から見始めたんだから

502 :デフォルトの名無しさん:2017/05/18(木) 22:13:42.45 ID:CUeY4+YJ
>>479
そうか次世代ではあったか
しかし動的で静的にも使えるGroovyのが書いてて楽しかった
普通のJavaコードをそのままコンパイルできたし敷居も低かった

KotlInは今使ってはいるが、優等生過ぎて自分には合わない感じがするな

503 :デフォルトの名無しさん:2017/05/18(木) 22:17:31.87 ID:CUeY4+YJ
>>501
ほんとかよw

504 :デフォルトの名無しさん:2017/05/18(木) 22:32:46.48 ID:L+z+Rh5o
>>501
半年ROMってから書き込めよクソザコナメクジ

505 :デフォルトの名無しさん:2017/05/18(木) 23:37:06.81 ID:oGyoSyzb
>>503

多分こいつが犯人だろw
>>504

506 :デフォルトの名無しさん:2017/05/19(金) 01:22:16.89 ID:NMLOtQ5J
今回みたいにGoogleとかその他大企業が採用するかどうかが全てだな
ここでこれは次世代、そうじゃないとか言っててもチラシの裏だな

ともかく、GoogleはJVM捨てる方向に行くかと思ったけど、このタイミングで捨てなかったらずっと使われるだろうな

507 :デフォルトの名無しさん:2017/05/19(金) 01:29:41.16 ID:PoZXo8Ro
別にビジネスにするわけでもなし、酒の肴にあーでもない
こーでもない言って楽しむスレでしょ?
もっとマイナーな奴発掘してみても面白いんじゃないかな

508 :デフォルトの名無しさん:2017/05/19(金) 06:03:36.39 ID:a+VoRKlA
kotlinてネイティブでも動かす方向みたいだけど
やっぱjvm嫌なんかね

https://blog.jetbrains.com/kotlin/2017/05/kotlinnative-v0-2-is-out/

509 :デフォルトの名無しさん:2017/05/19(金) 07:21:55.50 ID:VJmnxTyM
>>506
それは製品を選ぶ消費者が全てだと言っているようなものだな
消費者の気持ちが全てだから作者の気持ちなどは無意味だと

510 ::2017/05/19(金) 08:11:43.65 ID:3tW0/dbk
JackとJillがいまいちだった、ってので、なんとかしたかったんだろうな。
JVMはARTの時点でほぼ捨ててるのでは?LLVMベースのAOTに近い動きしてたと思う。

511 :デフォルトの名無しさん:2017/05/19(金) 09:33:01.74 ID:Ig6oJN7I
Google的にはとりあえずOracleに訴状は勝ったしな
そのうちJetBrain買収して全権掌握、kotlinもやりたい放題弄りだすんじゃね
androidがjavaもどきである必要性は世界的に皆無だしみんなハッピー

512 :デフォルトの名無しさん:2017/05/19(金) 10:05:13.89 ID:PoZXo8Ro
元々は上物の開発しやすいようにJavaなんだよね?
でもパフォーマンスとかに問題があったからなんやかんや
していた感じで。
一時期UIというか上位層にJavaって流行ってたしナァ。

513 :デフォルトの名無しさん:2017/05/19(金) 10:15:34.60 ID:VJmnxTyM
Oracleは大企業の中で最弱・・・みたいな設定を後出しするやつは無能
最初から大企業の強さを疑問視していた方が正しい

514 :デフォルトの名無しさん:2017/05/19(金) 11:05:24.31 ID:oL/PZTz9
webkitをblinkにフォークしたgoogleのことだ
そのうちコトリンもポロリンとかにフォークされる

515 :デフォルトの名無しさん:2017/05/19(金) 11:16:40.28 ID:+diyR2T6
Kotlinとやらは今のScalaよりも良いものなのかね?

516 :デフォルトの名無しさん:2017/05/19(金) 11:42:51.86 ID:DP36oPkJ
kotlinのニュース聞いて調べてみたけど、なんだよOOP(笑)か。
ここで関数型の言語指名してればGoogleもまだやるなぁと感心したけれど。

517 :デフォルトの名無しさん:2017/05/19(金) 11:59:32.63 ID:Jt2Le5fJ
>>498
2ch住民がどんなコード書くのか見たかってん。。。
例えば>>485のコードRubyで書いて見たけど、イマイチ命令的で宣言的にはならんのよな。
次世代言語ならもっと宣言的に書けないかなとか。

518 ::2017/05/19(金) 12:05:33.38 ID:3tW0/dbk
>>516
書いてみ。
クラス宣言は必ずしも要らんし、データの定義だけが出来たり
クラスみたいだけど、ブロック始まって即関数ではなく束縛とか宣言できたり処理できたり関数書いたりできて、それがメソッドやプロパティになったり、
割と無茶できる言語だよ。

519 :デフォルトの名無しさん:2017/05/19(金) 13:23:54.29 ID:2r0FKFiQ
今のScalaはランタイムの大きさとかコンパイル時間とかでモバイルに適合しないってのは理解できるんだが、
Googleともあろう企業がScalaのランタイム改良ではなく言語としては劣化ScalaのKotlin採用って方針にしてるのは違和感あるんだよな。

520 :デフォルトの名無しさん:2017/05/19(金) 14:09:46.57 ID:A3h0WO1I
わかりやすいってのは重要なポイントでしょ。
次世代ヲタからすれば、SwiftとかKotlinとかGoが憎くて憎くて仕方ないんだろうな。

521 :デフォルトの名無しさん:2017/05/19(金) 14:15:46.20 ID:rZS5Oczq
わかりやすいのは大事だな
低機能言語が読みやすいとは思わんけど

522 :デフォルトの名無しさん:2017/05/19(金) 14:20:00.44 ID:kmqi8gbh
可読性の観点から言うと、Kotlinが読みにくいというよりはScalaのimplicit嫌ったか。
それなら納得できるわ。

523 :デフォルトの名無しさん:2017/05/19(金) 14:26:16.91 ID:6kOz+D1v
あまり次世代っぽくはないけど、Goが並行処理を得意そうなのでこんなお題はどうでしょう?

お題
1) 1から1000までの整数からなる要素数1000の配列を作ってそれをランダムに並び替え
2) 当該配列の各要素nについて、sleep等でnミリ秒後にnを返す処理を別スレッドで起動し
3) 各スレッド終了順に配列等に結果を収めそれが昇順になっているかを真偽値で返すコードを書け。
4) 念のため (2)〜(3)にかかった時間を計測しこれも同時に提示せよ(1秒を大きく越えていないことを確認)
5) (3)が偽なら、(2)を「n*mミリ秒(mは2以上の整数)」に変えてmがいくつ以上なら真を返すかも示せ。

要はスリープソートですが…

524 :デフォルトの名無しさん:2017/05/19(金) 14:37:07.10 ID:v/FcS/dJ
おいらのPCがAtomなんだが。。。
Haskellで並列化は今一理解出来てないのか逆に遅くなる。。。
本の通りなら速くもなるんだろうが、使いこなせてない。
途中からシングルスレッド処理に切り替えるのが肝っぽい。
上手く行ったら参戦するけど、期待しないでね。

525 :デフォルトの名無しさん:2017/05/19(金) 14:41:06.27 ID:rZS5Oczq
俺もお題考えたぞ!!
ハートリーフォック方程式を解くコードを書け
基底はガウス基底。6-31G**でのベンゼンの計算結果を示すこと!!
分子積分は並列化して下さい!!

526 :デフォルトの名無しさん:2017/05/19(金) 15:38:16.89 ID:6kOz+D1v
>>523
回答例を兼ねてRubyで書いたのを晒します
手元の環境ではスレッド数的に厳しかったので100にしてmは5でした

$ ruby sleepsort.rb
m = 1; time(sec) = 0.129255; sorted? = false
m = 2; time(sec) = 0.3634174; sorted? = false
m = 3; time(sec) = 0.7056763; sorted? = false
m = 4; time(sec) = 1.1430185; sorted? = false
m = 5; time(sec) = 1.6765738; sorted? = true

http://ideone.com/RhQXqq
※ideone.comには制限があるようなのでスレッド数は更に減らして10にしています

527 :デフォルトの名無しさん:2017/05/19(金) 15:43:19.44 ID:v/FcS/dJ
>>525
高卒のおいらには、そもそもその方程式が分からない。。。

528 :デフォルトの名無しさん:2017/05/19(金) 18:37:46.78 ID:co8auLJ+
次世代言語は物理や数学が扱いやすいことが必須ってわけじゃないから
数学を必要とするのはほんの一部

次世代でも手続型言語が主流なのは変わらないだろう

529 :デフォルトの名無しさん:2017/05/19(金) 18:42:47.68 ID:co8auLJ+
同じ処理をするにしても
より記述量が少なく
間違いが起こりにくく
学習時間が少ないものが今後も好まれるのではないか

530 :デフォルトの名無しさん:2017/05/19(金) 18:44:19.31 ID:co8auLJ+
あとはwebとの親和性かな…

531 :デフォルトの名無しさん:2017/05/19(金) 18:47:42.86 ID:EInD1neL
手続き型言語が主流なのは分かるけど、オブジェクト指向も宣言的なプログラミングを目指してるはずで、メソッドチェーンとかで済むように進化していくはずなんだ。

samlltalkやrubyはかなり宣言的に書ける場合がある。
pythonも>>485をリスト内包表記有るからHaskellみたいに宣言的に書けるはずだし。

次世代言語が過去の言語に宣言的プログラミングで劣ったら元も子もないよ。

532 :デフォルトの名無しさん:2017/05/19(金) 18:53:11.32 ID:co8auLJ+
宣言的プログラミング"も" 書けるのであって

宣言的プログラミングに近づけば優秀というわけじゃないから

533 :デフォルトの名無しさん:2017/05/19(金) 18:57:49.08 ID:EInD1neL
"も"で良いよ。
でも、手続き型言語でどこまで宣言的になったか見てみたい。

ifもforもここまで使わないで済むって。

534 :デフォルトの名無しさん:2017/05/19(金) 19:24:24.98 ID:rQS0QApr
>>529
一般にやれることがおおければそれだけ記述量は増える。
まあよく使われる書き方については短くかけるように符号を割り当てるってのは
あるのかもだが。

535 :デフォルトの名無しさん:2017/05/19(金) 20:17:34.42 ID:0YWm4zQf
そこそこ高学歴の学生としては数学扱いやすい言語以外はそもそも学ぶ気にならないなあ
だからPythonとか大好きだし、もし自分が言語を決める立場になったら、Pythonで出来ることは全部慣れてるPythonでやると思う

536 :デフォルトの名無しさん:2017/05/19(金) 20:57:32.26 ID:EInD1neL
>>485をHaskell(読みやすくしてみた)、Ruby、Pythonで書いてみた。
Haskell
import System.Environment

makeList cs f = take (length cs `div` 2) [cs!!x | x <- [0..], f x]
zipArgs args = zip evenList oddList
where
evenList = makeList args even
oddList = makeList args odd
main = getArgs >>= print.zipArgs

Ruby
evenarry,oddarry = [],[]
ARGV.each_with_index{|line, i|
evenarry.push line if i.even?
oddarry.push line if i.odd?
}
evenarry.zip(oddarry){|x,y| print [x,y] } if evenarry.size < oddarry.size
oddarry.zip(evenarry){|y,x| print [x,y] } if evenarry.size >= oddarry.size
puts

Python
import sys

evenList = [arg for i, arg in zip(range(len(sys.argv[1:])),sys.argv[1:]) if i % 2 == 0]
oddList = [arg for i, arg in zip(range(len(sys.argv[1:])),sys.argv[1:]) if i % 2 == 1]
for (x,y) in zip(evenList,oddList):
____print((x,y), end = '')
print()

537 :デフォルトの名無しさん:2017/05/19(金) 22:15:21.36 ID:20gWsnkC
>>536
例えばRubyで

ARGV.each_slice(2){ |e| print e }; puts

と書くのと何が違うの?

538 :デフォルトの名無しさん:2017/05/19(金) 22:22:13.75 ID:E3Xd/U2i
今飲み屋なので明日確認するけど、おいらは(へっぽこ)Haskellerであって、RubyもPythonもそこまで得意じゃない。
あんたみたいな精通してる人のがずっと良いコード書けると思う。
ただ、オブジェクト指向も結局、宣言的プログラミングが理想の形なのは確か。

539 :デフォルトの名無しさん:2017/05/19(金) 23:08:50.45 ID:R52jpALp
>>535
数学好きならJulia使ってみようぜ。今年1.0出る予定だそうだ。

540 :デフォルトの名無しさん:2017/05/19(金) 23:26:54.55 ID:EInD1neL
>>537
クソが!!
コマンド引数が奇数の時にエラー出るじゃねーか!!!!
ちゃんとテストしやがれ!!!!!!

541 :デフォルトの名無しさん:2017/05/19(金) 23:35:57.31 ID:EInD1neL
>>539
ここで興味持って見て見たけど、文法がHaskellよりごちゃごちゃしてるんよ。。。
やっぱおいらはHaskellが好きやねん。

542 :デフォルトの名無しさん:2017/05/19(金) 23:45:26.92 ID:0YWm4zQf
>>539
別に数学好きってわけでもないけど、もちろんJuliaは使えるよ
最新の文法を全部追ってはいないから最新のをちゃんと使える自信はないが

543 :デフォルトの名無しさん:2017/05/19(金) 23:48:20.94 ID:R52jpALp
>>541
そりゃHaskellやLispと比べりゃどんな言語もごちゃごちゃしてるわ。
Juliaが狙撃対象にしてるのはRやPython(つーかNumpy)だから、Haskellはそもそも意識してないはず。

おまいさんに八つ当たりしてもしょうがないんだが、個人的にHaskellは二項演算子のググラビリティが死ぬほど低いのが困る。

544 :デフォルトの名無しさん:2017/05/19(金) 23:54:27.07 ID:co8auLJ+
pythonは言語的に優れてるとはおもわんけど簡素だよね全体的に
学習コストが低い

そこが高学歴wの人に好かれるとは思わなかったけど

545 :デフォルトの名無しさん:2017/05/19(金) 23:59:47.82 ID:0YWm4zQf
>>544
俺がPython好きなのは簡素だからではないけど、たしかに物理や数学の勉強で忙しくって、あんまり難しい言語は流行らないなあ

546 :デフォルトの名無しさん:2017/05/20(土) 00:04:40.55 ID:HfZ9LPLj
Pythonは教科書に載ってる模擬言語にそっくりだ
昔はpascal風のが多かったけど

547 :デフォルトの名無しさん:2017/05/20(土) 00:05:47.77 ID:ntB1AqSN
>>543
自分で書いたコードはどうやって検索してるんだ
もしかして全部オープンソースにしてからぐぐるのか

548 :デフォルトの名無しさん:2017/05/20(土) 00:14:11.99 ID:Mj4DXfyk
>>523
Haskell
http://ideone.com/affD4l

549 :デフォルトの名無しさん:2017/05/20(土) 00:25:17.41 ID:Mj4DXfyk
>>543
なぜHoogleを使わないんだ?
あと今のGoogleは記号検索も対応しているぞ。

550 :デフォルトの名無しさん:2017/05/20(土) 01:38:29.31 ID:l+OpXRNf
学歴たけーからこの言語は使えませんとかなんなんw
普通に言ってきたら馬鹿だとしか思えなくなるわw

551 :デフォルトの名無しさん:2017/05/20(土) 08:02:40.56 ID:1yTY6BxE
大学生と中学生って3年ちょっとの差しかないからな

552 :デフォルトの名無しさん:2017/05/20(土) 08:20:32.04 ID:4ZGrm/1B
>>523
Go
http://ideone.com/Uv5UOC

553 :デフォルトの名無しさん:2017/05/20(土) 08:56:41.66 ID:Ykf9CvnE
>>543
すまん。
ググラビリティって何だ?
って調べたらググり易さ?
そんなに記号多かったっけ。。。
モナドとファンクタ以外は普通の言語にもある記号だろ?
本一冊持ってれば十分だし、Hoogle有るから。
それ言ったら2引数の関数全て二項演算子になるし、二項演算子も全て2引数の関数になる。
かえって(*)とかのセクション(2引数の関数)としてググれば見つかりやすいかもな。

554 :デフォルトの名無しさん:2017/05/20(土) 09:03:31.15 ID:Ykf9CvnE
>>544
プログラミングが本分じゃ無い人にとっては言語学習はコストだわな。
オブジェクト指向にどのくらい純粋かとか、そんなのどーでも良いんだろう。
おいらは言語オタだから純粋さにこだわって行き着いたのがHaskellだったが。
そのHaskellも実装が関数型言語ならこんな最適化が出来るって本に書いてたことをあんまり実現出来てない、理想から程遠い実装なんだが。

555 :デフォルトの名無しさん:2017/05/20(土) 09:04:28.62 ID:SQ1bJtqA
>>550
そんなん言ってる奴おる?

556 :デフォルトの名無しさん:2017/05/20(土) 09:15:34.10 ID:1yTY6BxE
言ってる奴はいるが、ちょろっと検索した程度では見つからないな
検索は万能じゃないというかむしろ無能である

557 :デフォルトの名無しさん:2017/05/20(土) 10:10:53.27 ID:/WJez+wG
>>519
Googleは開発言語に関しては保守的
社内で関数型言語使うの禁止されてるし

558 :デフォルトの名無しさん:2017/05/20(土) 10:34:26.74 ID:oEL0pKOn
Kotlinが晴れて現世代になったから
次スレからHaskellはスレタイに復帰ですね
永遠の次世代言語として

559 :デフォルトの名無しさん:2017/05/20(土) 10:36:59.62 ID:Ykf9CvnE
へ〜

Haskellは、サーバサイド・ソフトウェアを構築する際の“秘密兵器に最も相応しい”とCarl Baatz氏(Better社の共同設立者)は述べている。
https://www.infoq.com/jp/news/2016/08/haskell-production-retrospective

サーバーサイドで実行するソフトウェアの構築を行う場合は、Haskellは今日探し得る中で最も秘密兵器に近いと言っていいかもしれません。
http://postd.cc/haskell-in-a-startup/

560 :デフォルトの名無しさん:2017/05/20(土) 10:38:31.13 ID:oEL0pKOn
永遠の秘密兵器

561 :デフォルトの名無しさん:2017/05/20(土) 10:47:37.49 ID:K5B4Hn4Z
twitterに捨てられ
採用したchatw○rksは運気が下がり
Kotlinにすら負けた

Scalaよ、どうしてこうなった?

562 :デフォルトの名無しさん:2017/05/20(土) 11:34:53.45 ID:PlVXA0LD
>>553
コードリーディングしてるとき、例えば<$>とか<*>とかが出てきて、さてこの二項演算子の意味はなんだ?って調べたいとする。
Googleの検索窓に突っ込む。記号しかないので検索結果がまともに出てこない。

Hoogleはしらんかったな。

563 :デフォルトの名無しさん:2017/05/20(土) 11:40:19.93 ID:Ykf9CvnE
まずHaskell入門書なりサイトなり読めよ。
真っ先に紹介されるぞ->Hoogle

564 :デフォルトの名無しさん:2017/05/20(土) 11:58:59.27 ID:1yTY6BxE
厳格なクラスベースOOPから撤退して手続き型に戻りたいだけじゃないか本音は
しかし撤退しただけというのを秘密にするための兵器が必要だった

565 :デフォルトの名無しさん:2017/05/20(土) 12:00:53.27 ID:Mj4DXfyk
>>562
<$>とかはGoogleで検索できるよ

566 :デフォルトの名無しさん:2017/05/20(土) 12:07:06.01 ID:Mj4DXfyk
>>559
現状では、その記事にあるStackの守備範囲はそう大きくない。
誇張しすぎだろう。

567 :デフォルトの名無しさん:2017/05/20(土) 12:15:26.38 ID:Mj4DXfyk
>>561
記号が多すぎたな。
あと簡単に暗黙型変換ができるのはやりすぎだった。
F#にも機能としてはあるが、幸運にもあまり使われていないように思う。

568 :デフォルトの名無しさん:2017/05/20(土) 12:50:31.59 ID:jUCOTPFR
>>539
数学より工学よりだよね。配列扱うには便利。
今年中に1.0になるかな?
毎回のパッケージのコンパイルが不要にならないものか。

569 :デフォルトの名無しさん:2017/05/20(土) 15:28:37.32 ID:SgRoQNx5
>>543
そう言えば、おいらは数学が好きと言ってもHaskell切っ掛けに好きになっただけだし、数学で何か解析したいわけじゃ無いんよ。
どっちかっつーと、数そのものの研究?みたいな事は趣味でしてる。
チャーチ数に符号付けてチャーチ数版整数作ったり、少数作ろうとしてチャーチ数って無限進数なんだと気付いて、まず10進数から作らなきゃとか。

570 :デフォルトの名無しさん:2017/05/20(土) 15:52:34.74 ID:UvQrCH4D
Haskell で扱えるなんて、ずいぶん狭い数学だな。

571 :デフォルトの名無しさん:2017/05/20(土) 16:50:49.32 ID:l+OpXRNf
haskell はモナドとか圏論あつかってる、すげードヤ
くらいの数学観だろどうせ。

572 :デフォルトの名無しさん:2017/05/20(土) 17:11:03.97 ID:SgRoQNx5
高卒の趣味グラマーに何求めてるか知らんが。。。
Haskellを切っ掛けに数学好きになったんだから、大した数学知識は無いよ。

573 :デフォルトの名無しさん:2017/05/20(土) 20:58:11.85 ID:RDFlCbPz
Mathematica使わせたらしっこちびるんじゃねーの?

574 :デフォルトの名無しさん:2017/05/20(土) 21:04:31.14 ID:SQ1bJtqA
Mathematica 買えない雑魚に対するマウンティングが発生しました?

575 :デフォルトの名無しさん:2017/05/20(土) 21:06:38.85 ID:dTi7LQL4
高いンゴ
http://i.imgur.com/Dk9bC75.png

576 :デフォルトの名無しさん:2017/05/20(土) 21:09:17.84 ID:RDFlCbPz
Mathematicaは研究室にあったけど貧乏研究室で2ライセンスしかなく
口頭で使ってるやつに早く終われとか言ってた…

577 :デフォルトの名無しさん:2017/05/20(土) 21:27:42.49 ID:l+OpXRNf
RaspberryPi
になぜか入ってるという。たぶんこれが一番安い入手方法かと。

578 :デフォルトの名無しさん:2017/05/20(土) 21:28:00.05 ID:dfia18z7
Raspberry Pi買えば

579 :デフォルトの名無しさん:2017/05/20(土) 22:48:46.22 ID:5jKPuKGf
>>577
脇道的話題にレスして済まないのだが正直感謝だ。
エイプリルフールか夢かと思ったがマジだった。数万円が無料って… 意味がわからねえ。

580 :デフォルトの名無しさん:2017/05/20(土) 22:53:38.13 ID:jUCOTPFR
>>575
ホームエディションはアカデミックと同じくらいじゃなかったか?
Wolfram Alpha なら無料だし。

581 :デフォルトの名無しさん:2017/05/21(日) 00:12:07.55 ID:X++SkHvT
Mathematicaなんて使って何するんだよ
時代遅れもいいとこ

582 :デフォルトの名無しさん:2017/05/21(日) 00:15:45.94 ID:tsOaukBL
微分積分

583 :デフォルトの名無しさん:2017/05/21(日) 00:24:03.86 ID:T2XhzD4X
アルゴリズムとかの可視化においてMathematica より手軽なものを知らない

584 :デフォルトの名無しさん:2017/05/21(日) 04:22:10.79 ID:YZtqITyu
>>573-583
言語試したいだけでハード買えって。。。
興味はあるよ。
手続きも書けるのがちょっと引っかかるけど。
純粋じゃ無いんかいって思うけど。
本読んだ限りじゃ悪い印象はそんな無かった。

Haskellみたいな汎用性無いのと導入のハードル(値段だったりハード購入だったり)がね。。。

585 :デフォルトの名無しさん:2017/05/21(日) 09:17:42.41 ID:Gn+6D2wr
ラズパイも買えないとか
お前は次世代にふさわしくないね

586 :デフォルトの名無しさん:2017/05/21(日) 09:30:18.20 ID:bYtGqajI
>>584
試したいならお試し版使えばいいだろ。

587 :デフォルトの名無しさん:2017/05/21(日) 09:30:54.35 ID:fDsf7qWs
いあ、買えるけどさぁ。。。
買ってまで触りたいものじゃなし。
ノートじゃ無いから場所固定されるじゃん。
手軽じゃないなぁと。

588 :デフォルトの名無しさん:2017/05/21(日) 09:33:24.18 ID:fDsf7qWs
>>586
せやね。
試すだけならそれで良いか。
ちびるような使い方出来る数学知識は無いし。

589 :デフォルトの名無しさん:2017/05/21(日) 09:33:34.85 ID:aAAAG14z
純粋関数型とかモナドとかのワードに惹かれただけの
ショボいコードしか書けないゴミhaskellerモドキはこんなもんだよ

590 :デフォルトの名無しさん:2017/05/21(日) 09:46:52.19 ID:fDsf7qWs
うん。
最初はそう言うワードに惹かれた。
でも今はシンプルな仕様と言うか仕組みが好き。
少ない知識で書いて行けるのが。
そう言う意味じゃCも好きだけどね。

そのショボいコードすら出てこない次世代言語は言語オタに支持されてるだけで、言語オタは実際に役立つコード書いてないんじゃ無い?

少なくとも、おいらのは最終的にはテキストで探したい文の大まかな文脈は表示出来る、文献を参照するのに便利なコマンドになる予定だよ。>>492

591 ::2017/05/21(日) 09:51:06.00 ID:SzG2p8Pq
そういやラズパイにmathematica入ったな、いつか。
俺ずっとMaximaで済ませてたからあれだが。

数学が好きなら、数学を処理する言語使ったほうがいいのは俺も同意する。

592 :デフォルトの名無しさん:2017/05/21(日) 10:11:58.67 ID:GQ3S98if
ついにMathematicaまで貶し始めたな…
ちなみにRaspPi のはZeroでも使えるはず
流石にこれぐらいなら出せるだろ

593 :デフォルトの名無しさん:2017/05/21(日) 10:28:30.98 ID:fDsf7qWs
え、貶してないよ?
次世代言語のここが良いあれがダメって言うだけでコード出さない言語オタは貶したけど。

まあ、おいらもHaskellに出会う前はRubyで"Hello World!!".length.displayとかやるだけで満足してたりする言語オタだったから、人の事言えないんだけどね。

何でもいいから一個の言語を使いこなせるようにまずならないと。
うん。お前が言うなだけど。

594 :デフォルトの名無しさん:2017/05/21(日) 10:36:03.72 ID:GQ3S98if
>>593
お前の事じゃない
自己主張強い自覚あるなら控えとけ

595 :デフォルトの名無しさん:2017/05/21(日) 10:39:16.44 ID:fDsf7qWs
おおう。。。
すまぬ。
しばらくROMるわ。

596 :デフォルトの名無しさん:2017/05/21(日) 11:04:40.31 ID:NrSnEm53
>>523
"Pharo Smalltalk"

| queue array ans msToRun sorted |

queue := SharedQueue new.
array := (1 to: 1e3) asArray shuffled.
ans := OrderedCollection new.

(1 to: 100) detect: [:m |
   msToRun := [array do: [:n | [(n * m) milliSeconds asDelay wait. queue nextPut: n] fork].
   sorted := (queue next: array size) isSorted] timeToRun asMilliSeconds.
   (ans add: {#m->m. #msToRun->msToRun. #sorted->sorted}) last value.
] ifNone: [].
^ans asArray

"=> {
   {#m->1. #msToRun->1003. #sorted->false}.
   {#m->2. #msToRun->2004. #sorted->false}.
   {#m->3. #msToRun->3004. #sorted->false}.
   {#m->4. #msToRun->4016. #sorted->true}}
"

http://ws.stfx.eu/8W36PYP2PQ1G

597 :デフォルトの名無しさん:2017/05/21(日) 11:07:22.37 ID:bYtGqajI
>>593
最低でもフィボナッチはやらないとな。

598 :デフォルトの名無しさん:2017/05/22(月) 19:21:13.10 ID:MtDspqBa
>>523
Python3
http://ideone.com/9um4ku

599 :デフォルトの名無しさん:2017/05/22(月) 21:49:08.94 ID:uTnQjVde
Javaドカタでも使える次世代言語は何?

600 :デフォルトの名無しさん:2017/05/22(月) 21:53:40.25 ID:np8fDJ8H
>>599
Java 9

601 :デフォルトの名無しさん:2017/05/22(月) 21:54:21.22 ID:sdGytzhA
Kotlin
間違ってもScalaには手を出すなよ

602 :デフォルトの名無しさん:2017/05/22(月) 21:55:44.97 ID:t4wHpx3M
コトィンだろ

603 :デフォルトの名無しさん:2017/05/22(月) 21:59:52.84 ID:uTnQjVde
ペチパーでも使える次世代言語はある?

604 :デフォルトの名無しさん:2017/05/22(月) 22:08:33.54 ID:k8jtGWEX
>>603
Go(笑)だな
VB以下の低脳言語よ

605 :デフォルトの名無しさん:2017/05/22(月) 22:28:10.80 ID:o+YzRX7H
小岩井Kotlin

606 :デフォルトの名無しさん:2017/05/22(月) 22:31:28.97 ID:t4wHpx3M
>>603
ペチプァ土方に次などない
糞ゴミ連想配列のドブに沈むか首吊って死ね

607 :デフォルトの名無しさん:2017/05/22(月) 22:53:09.79 ID:NUyV/iNa
ペチパー馬鹿にすんな
トレイトあるんやぞ
Scalaの優れたヤツじゃなくSmalltalk式の劣った方だが

608 :デフォルトの名無しさん:2017/05/22(月) 23:04:48.46 ID:ydRKGq7n
ペチパーってPHPerの事か

WEBならKotlinよりScalaじゃない?

609 :デフォルトの名無しさん:2017/05/22(月) 23:13:47.67 ID:npbAin+o
用途の違う言語並べてなにを比べるんだ、、、

610 :デフォルトの名無しさん:2017/05/22(月) 23:30:44.58 ID:8HqyDksp
>>607
scalaのほうってトレイトと呼んでるけど、実態はmixinじゃないの?
そっちの方が優れてるの?

611 :デフォルトの名無しさん:2017/05/23(火) 00:08:59.76 ID:Cmetwh8S
ちまちま金出し渋るんだったら
10万程度でpc組め

612 :デフォルトの名無しさん:2017/05/23(火) 00:44:31.76 ID:PZYq3vzy
ペチプァ〜のプァ〜は頭がくるくるプァ〜
よくあんな汚物吐瀉物糞尿下痢で踊り狂えるな
狂気の沙汰だわホンマ

スレが臭くなるから近寄るなよ疫病神
早く死ね

613 :デフォルトの名無しさん:2017/05/23(火) 01:15:17.85 ID:Ut2KtnOs
今更mapとかfilterとかをforで書く言語のどこが次世代だよ

614 :デフォルトの名無しさん:2017/05/23(火) 01:21:27.28 ID:JnTuEITt
なんなのその for 書いたら負けみたいな無意味な思想は

615 :デフォルトの名無しさん:2017/05/23(火) 01:24:34.96 ID:Ut2KtnOs
Goは開発がGoogleじゃなかったら絶対流行らなかった
趣味で言語作りました。試しに作っただけなので複雑な事は出来ません
こんな言語をシンプルだから分かりやすいよ!ってGoogleの知名度使ってゴリ押ししてるだけ

616 :デフォルトの名無しさん:2017/05/23(火) 01:26:38.72 ID:Ut2KtnOs
>>614
forだと無駄な行が多すぎてパッと見て何をしているのか分からない
コメント書かなくても読めるのが良いソースだろ?

617 :デフォルトの名無しさん:2017/05/23(火) 01:50:10.95 ID:6XWqRRso
>>615
複雑なことっつーか抽象度の高いことが出来ないな。汎用ライブラリ書こうとするとinterface地獄になって悪夢見る。

でも不思議なことに手なりで動くもん量産するのにはものすごく向いてる。
マクロがないかわりにgo generateとかいうクソキモい(誉め言葉)機能があることと、
あとはPHPみたいな言語未満の何かで物書いた時のような負債に陥る危険性が、言語としての幅が狭いお陰である程度緩和されてるってのが案外バランス取れてるのよな。
汎用ライブラリ書くのには全然向かないけどね。

618 :デフォルトの名無しさん:2017/05/23(火) 01:54:36.33 ID:6XWqRRso
Googleが作らなかったら流行らなかったってのは大いに同意するが、正確に言うと「Googleじゃないとこんないかれた言語を完成品と言い張れなかった」だと思うね。
周辺ツールの異常な拡充もごり押し戦略の一環だろうしな。

619 :デフォルトの名無しさん:2017/05/23(火) 01:56:50.35 ID:6XWqRRso
総合して、Goは次世代のドカタ言語っていうのが一番しっくりくるわな。
あくまでドカタ言語。

620 :デフォルトの名無しさん:2017/05/23(火) 07:27:48.45 ID:JnTuEITt
>>616
いや、ワンライナーで無理やり書いたソースのが読みにくいよ。
てかそこまで行数使う複雑なコードなら関数で切り出せ。
そういうのは使ってる言語の問題じゃなくて書いてる奴の問題だから。

621 :デフォルトの名無しさん:2017/05/23(火) 07:50:29.19 ID:PZYq3vzy
>>620
でもペチプァ〜のあなたは、テンプレートにSQLのfor string連結書いちゃうんでしょう?
死ね?

622 :デフォルトの名無しさん:2017/05/23(火) 08:14:57.33 ID:w55PtzH/
いや内包表記もしくはmap reduceがあるのは大事でしょ
関数として切り出す時にループの中で行うことだけ書けばいいのがmapないとループそのものを行うサブルーチンもかかなくちゃいけなくなるじゃん
map不要とか言う奴絶対Lispすら触ったことないハイパーエアプマンだろ

623 :デフォルトの名無しさん:2017/05/23(火) 08:22:40.89 ID:B87mZx5r
内包表記かmapに関数一つだけ渡すのが一番読みやすいな

624 :デフォルトの名無しさん:2017/05/23(火) 09:04:41.99 ID:PZYq3vzy
ペチプァ〜さん・・・w

625 :デフォルトの名無しさん:2017/05/23(火) 09:55:36.88 ID:djHV+jRv
>>617
汎用ライブラリ書けないっていうのはかなり大問題だと思うんだが
ジェネリクスないのが原因でコレクションとかは特別扱いしないといけない
Setとか普通に使えないのは不便すぎるし、SortedSetとか追加しようと思ったらそれも言語で特別扱いするのかってなる
型ごとにコード書くのか?コピペは最も基本的なアンチパターンだよね?それをGoogleは推奨してるのか?

>>618
周辺ツールをこれだけ作ったのに言語がこれじゃもったいない
もう少し機能入れていれば間違えなくもっと流行ってた

626 :デフォルトの名無しさん:2017/05/23(火) 10:09:21.11 ID:6XWqRRso
>>625
ジェネリクスについてはさすがにいれようぜって議論はあるな。
今はそういうのをコピペなしに書くならinterface地獄で、自分もそこは嫌いなとこだ

ちなみにgoの汎用sorted setくらいならgithubに既にある上にめっちゃコード短いから、見てみるのも面白いかもしれんね。

627 :デフォルトの名無しさん:2017/05/23(火) 10:30:08.82 ID:+Srr1GFp
内包表記!ワンライナー!読みにくい!って普段どんな糞コード書いてたらそういう発想に陥るんだろう

628 :デフォルトの名無しさん:2017/05/23(火) 11:30:14.87 ID:3W0XlzKr
まあ長過ぎるワンライナーが読み難いのは分からなくは無い。
でも書くし、読むけど。

昔何かのJavaの本でJavaでも宣言的に書くべきだ。みたいな事が書いてあって、メソッドチェーンされたインスタンスが二行でちょっとした処理してた。

最近C#6実践入門とか言うの買ったけど、それに載ってるコードもifは出るけどforがほとんど無い宣言的なコードだった。
C#6の新機能紹介はほとんどオマケで、タイトル詐欺だけど。
いあ。。。詐欺じゃ無いけど、紹介された新機能が全然頭に入って来ない位、(ドロドロの)実務的な内容。。。

629 :デフォルトの名無しさん:2017/05/23(火) 11:47:39.23 ID:nY7S90+T
Javaは8になって一気に流れ変わった。
なお日本のドカタ現場はJava6をつかっていればましな方なのは内緒な。

ドカタ現場から見ればObj-Cすら次世代言語ってな。

630 :デフォルトの名無しさん:2017/05/23(火) 13:10:57.22 ID:fxr47P4A
Pythonは内包表記でもforって書くんだな
手続きが透けて見える
見えない奴はエアプ

631 :デフォルトの名無しさん:2017/05/23(火) 13:14:25.27 ID:hsNp2Xw3
その辺はhaskellのモナド内包表記も同じことよ

632 :デフォルトの名無しさん:2017/05/23(火) 13:58:34.02 ID:LlhYvOQ7
>>630
まあ透けて見えるのはその通りなんだが、逆に聞くが手続き型が透けてたらいかんのか?
機能としてPythonの内包になんか欠けてるのか?

633 :デフォルトの名無しさん:2017/05/23(火) 17:59:05.36 ID:JnTuEITt
やべーな。。
内包表記、map, reduce 使えるとだいぶ偉いプログラマーになった気分なのかね。。
別にあれば使うけれど、それで読みやすさが格段にあがるなんてことはないわ。
まさに枝葉としか言いようがない。
てかなんでこんなに php 嫌われてるのか使ったことないからわからんのだが。
perl には相当神経やられたってのは個人的にはあるけれど、
php ってそんな嫌なもんなんかね。

634 :デフォルトの名無しさん:2017/05/23(火) 18:08:35.09 ID:PJIONmxy
Haskell的には状態を持たないから、将来並列動作しても良い。
内部動作が実際はどうなってるか気にしなくて良い。
記述上は単純に一行になる。
書きかたによるけど、関数より意味が通じやすいかも。

リストの長さ求める関数length
再帰
length [] = 0
length (_:xs) = 1 + length xs

再帰はスタック消費するので末尾再帰
length cs = length' 0 cs
......................where
..……...................length' n [] = n
..……...................length' n (_:xs) = length (n + 1) xs

末尾再帰を一般化したfoldlで置き換え
length = foldl 0

リスト内包表記
length xs = sum [1 | _ <- xs]

過程を知ってればfoldlも意味分かるけど、リスト内包表記はHaskeller以外にも分かりやすいかも。

635 :デフォルトの名無しさん:2017/05/23(火) 18:18:05.38 ID:PJIONmxy
x length = foldl 0
端折り過ぎた。
length = foldl (/x _ -> x +1) 0

636 :デフォルトの名無しさん:2017/05/23(火) 18:32:56.72 ID:FtK5T5KY
>>633
単純にカテゴライズして蔑視したいだけだと思う。
そういうのを除いてPHPが嫌われるのは言語仕様が綺麗とか
汚いとかそういうのではなく、互換性とか環境問題で
無駄なエネルギー使うからだと思ってる。

同じような理由で俺はrubyとかはもう手を出したくないと
思うし。俺が好んで使ってたのは256倍本とか出てた頃で
パッケージやら何やらで随分と改善されてるのは
知ってるけどトラウマなんだよな。

637 :デフォルトの名無しさん:2017/05/23(火) 18:40:57.13 ID:IFQGAtt4
>内包表記、map, reduce 使えるとだいぶ偉いプログラマーになった気分なのかね。。
このレス痛々しくて面白いな

638 ::2017/05/23(火) 19:15:59.04 ID:9OGdTOvp
少なくとも嫌い好きではないわな、仕事なら。
パソコンの大先生なら孤高の言語でオナニーしてくれりゃいいけど。
次世代ってのは、未来の現世代なんだから。
夢ばっか見ても意味ない。

639 : ◆QZaw55cn4c :2017/05/23(火) 19:43:11.53 ID:F0rvxaiH
となると、C++ 一本でいくのがいいのでは?

640 :デフォルトの名無しさん:2017/05/23(火) 19:51:46.81 ID:ns4joxA3
結構な大企業でもLispとかHaskell 使ってるあたり自分で書ける能力あるなら採用言語なんか趣味だろ

641 :デフォルトの名無しさん:2017/05/23(火) 21:37:46.03 ID:qYVXIZT5
>>640
という楽観を華麗にぶち壊すRustとかいうクソ言語

642 :デフォルトの名無しさん:2017/05/23(火) 23:00:33.25 ID:ns4joxA3
>>641
どゆこと?

643 :デフォルトの名無しさん:2017/05/24(水) 00:07:47.20 ID:8Z1z+g0P
>>642
どんな優秀な人材でもまともに物がつくれない破綻した言語ってこと。

644 :デフォルトの名無しさん:2017/05/24(水) 07:21:12.88 ID:5yXboscj
>>630
forという単語を見ると手続きが透けて見えるほうがよほど手続き型に脳が汚染されてるだろ。
述語論理の for all は手続きか?

645 ::2017/05/24(水) 07:39:36.26 ID:IPP9nXuk
>>640
自分がかけたら使う、それじゃそいつがやめたら困るわ。
ある程度は浸透してくれたものでないと困る。

646 :デフォルトの名無しさん:2017/05/24(水) 08:08:46.24 ID:MYIIDec9
>>645
知らんがな。人材に逃げられないようにせいぜい厚遇するんだな

647 ::2017/05/24(水) 08:23:16.84 ID:IPP9nXuk
>>646
どういう事?
逃げる訳じゃなくて辞めるんだよ。定年とか、寿あるじゃん。それは仕方ないよ。
教育コストとその言語から得られるメリットのバランス次第じゃないのかな。

新しい人入れるときの問題で、その時に誰でも知ってる言語で地頭があって、そこに自社の資産とか話すのは簡単だし、教育に出しやすいじゃん。自社でもやるし。
書けるから雇うことも無ければ、雇ったからそいつの思うように書かせるわけでも無いんじゃないの?

648 :デフォルトの名無しさん:2017/05/24(水) 09:11:12.33 ID:5yXboscj
知らない言語だからってコードメンテできなくなるようなら
Javaで書いたってろくにメンテできないだろうよ。

649 :デフォルトの名無しさん:2017/05/24(水) 09:24:15.88 ID:ttKQmf2U
>>647
C、C++、C#、Java、Ruby、Python、Scala、Haskellくらいかけろって話だけどね

650 :デフォルトの名無しさん:2017/05/24(水) 09:26:11.81 ID:tRDqGMNF
言語文法だけじゃなく実行環境の構築が面倒な言語も保守性悪いよな

651 :デフォルトの名無しさん:2017/05/24(水) 09:34:21.93 ID:MYIIDec9
新人研修の事でもいいたいのか?
チームに組み込まれた新人はそのチームで先輩が使ってる言語と技術はどっちみち勉強するだろ
それすらできん屑新人しかこない企業に勤めてるんなら学校で教えてる言語しか使えなくなるなwww

652 :デフォルトの名無しさん:2017/05/24(水) 09:37:50.21 ID:ztUMEvdN
>>643
ということにしたいだけにしか見えないんだけど

653 ::2017/05/24(水) 09:44:40.73 ID:IPP9nXuk
>>648
とりあえず動くようにメンテするのと、思想含めて正しくメンテするのはちと違うでしょ。
>>649
Cだけわかるとエグいコードになりがちだしね。Cと最近のC#で充分。JavaScript一本でも良いくらい。
>>651
新人じゃなくても研修とかセミナー行くでしょ。
新人しか行かないなら、どんどん化石化するか社員の自費の自己研鑽に頼るしかないじゃん。
会社のために技術を使うなら、その技術は会社が伸ばして当然かと。。

654 :デフォルトの名無しさん:2017/05/24(水) 10:08:00.08 ID:YA6HRJ8D
>649
問題は「自分がその言語で書けるか」ではなく
「他人がその言語で書いたコードを保守できるか」なのでは?
自分が新規コードを書く分には自分が知っている範囲で書けば済むが、
他人のコードを保守するには文法とライブラリを網羅的に知っている必要がある。

C、C#、Java、Ruby、Pythonぐらいは保守できるべき、ぐらいならわかる。
でもC++、Scala、Haskellは文法とライブラリの知識を相当要求する。
C++は普及しているからいいけどScalaとHaskellは保守できる人を雇えるか分からない。
好き好んでScalaやHaskellを選ぶ人は初心者には読めないコードを書くだろうしね。

655 :デフォルトの名無しさん:2017/05/24(水) 10:25:42.08 ID:ZtHNZ56P
空気も読まずにコード投下。
>>537のエラー出ない版をたまたまRuby初心者スレッドで教えてもらえた。

ARGV.each_slice(2).take_while{|e| e.size == 2}.each{|a| print a}
puts

んで、これを元にHaskellでも書いてみた。

import System.Environment

slice2 [] = []
slice2 [_] = []
slice2 (x:y:zs) = (x,y):slice2 zs

main = getArgs >>= print.slice2


>>654
保守するやつが初心者?
得意じゃないとしても、Haskellは入門書とHoogleあれば十分だよ。

656 :デフォルトの名無しさん:2017/05/24(水) 10:25:51.23 ID:MYIIDec9
>>653
技術は会社が伸ばすから勝手な技術は使うなってことか
すごい文化だな。とてもリーディングカンパニーの考え方とは思えない
大方人から指定されたものを作るだけの創造性のない事業分野なんだろうな

657 :デフォルトの名無しさん:2017/05/24(水) 10:32:58.90 ID:IgnTlSHt
C++大先生レベルになったら未知の言語でも読めるだろ
未知だから学習コスト0だがなぜか読める

658 :デフォルトの名無しさん:2017/05/24(水) 10:37:00.08 ID:MMUszNj4
>>649
それらを全部書けても何も作れない腐った言語がRustなんやで

659 :デフォルトの名無しさん:2017/05/24(水) 10:43:10.23 ID:+1dTaw0E
>>656
社内開発用言語縛って生産性維持しながら会社全体で技術叩き上げてるGoogleさんのdisおっつおっつ

660 :デフォルトの名無しさん:2017/05/24(水) 10:47:04.91 ID:MYIIDec9
>>659
Googleはプロトタイピングの言語は完全に自由やで
趣味コーディングの時間も保証されてるし

661 :デフォルトの名無しさん:2017/05/24(水) 10:50:54.70 ID:IgnTlSHt
縛りというか、C++禁止されてないのが重要だと思うが

662 :デフォルトの名無しさん:2017/05/24(水) 10:57:13.01 ID:AMRdndrm
>>660
プロトタイプのコードはメンテしないだろ。そりゃ好きな言語で書けばいいさ。
メンテするプロダクトコードはあのGoogleですら言語ガチガチに縛ってそのなかで技術上げてるのに(最近だとGrumpyとかな)、
出来る人材ならどんな言語でもすぐ習得して既存コードメンテ出来るようになるっていうのは幻想。
ある程度ならいけるが限度はある。

663 :デフォルトの名無しさん:2017/05/24(水) 10:58:51.03 ID:AMRdndrm
>>661
C++が許されてRustが許されてない辺り、GoogleはRustが使い物にならんとわかっていらっしゃる

664 :デフォルトの名無しさん:2017/05/24(水) 11:14:18.14 ID:MYIIDec9
なんか主張がとっちらかってきたけど、実際割と好きな言語使えるリーディングカンパニーがあるんだから、それはダメとか俺に言われても知らんがな

665 :デフォルトの名無しさん:2017/05/24(水) 12:19:17.63 ID:5yXboscj
他人が書いたコードを思想も含めて正しくメンテできるのに
「だってこれボクが好きな言語じゃないもん」
とか言って仕事投げ出すのか。
ゆとった会社だな。

666 ::2017/05/24(水) 12:20:52.22 ID:IPP9nXuk
>>656
個人で伸ばせばそりゃ素晴らしい事だよ。
勝手な技術使うな、は当たり前では?
簡単なことで、単に社内に布教するだけだよ。
それだけで勝手な技術じゃなくなるんだから。

金貰って作ってる以上、指定されたと言うより要件定義から離れる事は良い方向でも悪い方向でも等しく害悪。
それを使うよう、要件定義を見直しゃいいじゃん?

667 :デフォルトの名無しさん:2017/05/24(水) 12:23:07.52 ID:MnuqeZiD
>>663
TypeScriptが承認されるまで延々レビューを繰り返して2年かかったという話を読んで、
Googleといえども典型的な大企業病からは逃れられなかったんだなと思った

668 ::2017/05/24(水) 12:35:44.71 ID:IPP9nXuk
勝手に使う、と、好きな言語を使う、は別だって事に尽きる。
好きな言語が使いたきゃ、ホント通せば良いだけじゃん。

669 :デフォルトの名無しさん:2017/05/24(水) 13:00:14.99 ID:MYIIDec9
>>666
各段落最後に同意。そこが重要

670 :デフォルトの名無しさん:2017/05/24(水) 13:09:07.02 ID:MYIIDec9
つーか前半部分は当然のことすぎてそんなこと議論しようとしてるとは思わんかった

671 :デフォルトの名無しさん:2017/05/24(水) 13:16:56.43 ID:MYIIDec9
ああ、>>668もいい事言ってるな
その通りだよ。通すんだよ当然だろ

672 :デフォルトの名無しさん:2017/05/24(水) 14:12:27.03 ID:5yXboscj
広めるにしたって、仕事を通して広めるのが当然だろ。
そこを門前払いして「浸透してない言語はダメー」とか、ゆとりすぎ。

673 :デフォルトの名無しさん:2017/05/24(水) 14:13:44.48 ID:5yXboscj
上のほうが「マネージャ目線で考えろ、コストを減らせ、技術を革新しろ」と掛け声ばかりな会社でありがちそうな風景だな。

674 :デフォルトの名無しさん:2017/05/24(水) 15:21:08.36 ID:pQqRznHf
>>667
上層部の中ににMSのはなんだろうが採用させないのがいる(・いた?)だけのような気がする

675 :デフォルトの名無しさん:2017/05/24(水) 15:36:29.01 ID:/ySUjkwg
>>674
それだけならkotlin, scala, ruby, php, perlあたりはとっくに承認されてるだろ
「それお前の好みの問題だよね?」と言われないような理由を示す必要があるんだと思うよ

676 :デフォルトの名無しさん:2017/05/24(水) 15:44:55.21 ID:AMRdndrm
さすがにperl PHPが通るとは思えんなwwwwwww
というのはともかくなんだかんだ追加承認のフローが整備されてるのは日本企業では考えられんよな。

677 ::2017/05/24(水) 18:36:08.72 ID:IPP9nXuk
>>672
仕事を通して広めるってのがわからんな。
別にプレゼン力次第じゃないの?
あとは、小物を同時に作って見せればいいと思う。
研究開発費くらいあるだろ。

>>676
追加承認なんてどこでもやってるだろ…。
別様式の帳票(物理)をスタンプリレーするみたいなオマケもついとる。
perlはともかく、phpはGAEでも動くし、嫌悪感と実利のちょうど真ん中程度の立ち位置じゃないの?

678 :デフォルトの名無しさん:2017/05/24(水) 18:45:51.44 ID:MYIIDec9
いや流石にわかるしそのことを言ってるんだろう

679 :デフォルトの名無しさん:2017/05/24(水) 18:58:25.42 ID:fS2T0Ehb
先輩が言語にこだわってるうちは伸びないって言ってたな。
所詮道具なんだから、作るものに合わせて相応しい言語選ぶだろ。

680 :デフォルトの名無しさん:2017/05/24(水) 19:09:48.27 ID:5yXboscj
バカバカしい。
既に職場で広く浸透した言語に限定するのなら、全く「次世代」の話じゃないな。
スレ違い。

681 :デフォルトの名無しさん:2017/05/24(水) 19:14:40.02 ID:MYIIDec9
全く誰だよこのスレで「ある程度は浸透してくれたものでないと困る。」とか言い出した奴は

682 :デフォルトの名無しさん:2017/05/24(水) 19:20:52.00 ID:X74kQKF8
登場して20年たっても普及しないなら、その程度の言語

683 :デフォルトの名無しさん:2017/05/24(水) 19:26:06.91 ID:AMRdndrm
「つぎは」

684 ::2017/05/24(水) 19:27:50.59 ID:vKYHCzYh
>>680
次世代言語だから、その職場には浸透させるんだろ。
世間としてその存在やら概念が浸透していないのとはまた違う。
取り違えるなよ。バカバカしいのはお前だよ。
>>681
すまんな。ここまで読解力無いやつ想定してなかったわ。

685 :デフォルトの名無しさん:2017/05/24(水) 19:29:22.75 ID:AMRdndrm
「次流行る言語はなんだろうなー」って駄弁るのと、
「わが社で次に採用するべき言語はなんだ?」って会議するのとの違いじゃね?
自分は前者のつもりで駄弁ってたけど、後者のつもりのやつがスレに紛れ込んでるだけな気がするわ

686 ::2017/05/24(水) 19:32:35.06 ID:vKYHCzYh
>>685
我が社というより、皆が次に使うべき言語は何なんだろう、何故適しているんだろうって言う話かなと。
そうなると、前者も後者もあんまり変わらない話に聞こえる。

687 :デフォルトの名無しさん:2017/05/24(水) 19:34:16.79 ID:AMRdndrm
>>677
ドカタにそんなもんはないんだなこれが。
永遠にJava4より新しい言語使えねえんだぜ。

688 :デフォルトの名無しさん:2017/05/24(水) 19:36:36.90 ID:MYIIDec9
相変わらず自分の文がわかりにくいのを人のせいにする……

689 :デフォルトの名無しさん:2017/05/24(水) 19:47:07.86 ID:AMRdndrm
>>685
前者と後者が変わらんのはベンチャーもしくは顔本林檎みたいな超最先端企業くらいだぞ。
今使ってる言語を変えたい経営者なんていない。たとえそれがサポート切れたJavaでもVB6でもCOBOLでも。

690 :デフォルトの名無しさん:2017/05/24(水) 19:50:28.81 ID:DLDz9laB
Java8使ってもラムダ使用禁止の現場とかあるらしいな
全員が分からないからとか何とか

691 :デフォルトの名無しさん:2017/05/24(水) 20:02:02.58 ID:MYIIDec9
そんなドカタ現場の人が来るべきスレじゃないだろ……
繰り返すけどさ、採用言語は趣味だよ
変なのに噛みつかれないように厳密に書くと、社内で布教して一定の承認を得るのは当然の手続きであり、そこまで努力しなくてもそれが可能な企業orアカデミックは普通に存在する
そしてそもそもそれが出来ないような可能性を考慮しないといけないような奴が来るべきスレではない

692 :デフォルトの名無しさん:2017/05/24(水) 20:03:45.39 ID:AMRdndrm
>>691
つまり

693 :デフォルトの名無しさん:2017/05/24(水) 20:04:11.00 ID:MYIIDec9
あ、ドカタ現場の奴でもプロトタイピング用の言語を議論しに来てる奴は例外な

694 ::2017/05/24(水) 20:04:40.24 ID:vKYHCzYh
>>687
Javaか…。まあ、環境変えるなのお達しがある案件だとどーしようもないのもわかる。
>>688
わかりにくいなら、わかりにくかったと言えよ。
誤解してドヤ顔で反論してからのそれは流石に言訳だろ。

695 :デフォルトの名無しさん:2017/05/24(水) 20:05:22.82 ID:AMRdndrm
>>691
また誤爆した。
つまりこのスレにいるドカタは俺くらいで他はみんなイケイケベンチャー社員か世界の大企業社員様くらいなのね。納得。

存在がスレチだったようですまんね。

696 :デフォルトの名無しさん:2017/05/24(水) 20:13:22.76 ID:MYIIDec9
>>694
今回は暫く意思疎通出来てないことに気づかなかったからな。具体的には>>666でやっと気づいたわ
だから意味分からなかった旨を>>670で伝えただろう?
これもまだ意味を汲めていないなら分からんけど

697 :デフォルトの名無しさん:2017/05/24(水) 20:16:24.80 ID:MYIIDec9
あとID:5yXboscjも最初の俺と同じ解釈をしてそうだな

698 :デフォルトの名無しさん:2017/05/24(水) 20:26:49.54 ID:new7aopo
なんやこれ…
とりあえずエンジニアガイジは自分の主張を三行にまとめてみたら?
俺もよく分からんし

699 :デフォルトの名無しさん:2017/05/24(水) 20:32:20.07 ID:MYIIDec9
>>695
いや存在がスレチとまでは言わんけど……
でも自分が絶対使えない言語の議論してなんか意味あるかなーとは思うぞ
プロトタイピングの話ししてるんなら使えるから有効だと思うから、プロトタイピングの話ししにきてるんならスレチじゃないと思う

700 :デフォルトの名無しさん:2017/05/24(水) 21:13:58.52 ID:tWWOwCUP
なんつーか、リアルでは関わりたくないタイプではあるなぁ

701 ::2017/05/24(水) 21:25:40.50 ID:vKYHCzYh
>>696
なるほど。確かに。言ってるな。ごめん。
>>698
3行にまとめれば、理解できないやつに文句を言われ、
一つずつ演繹的に書けば、過去レスまで遡る気かと言われ、
長文で話すとこう言われ。

それぞれの方法で理解できてる人間もいる中で「僕に理解できる方法で話して!」って子供みたいなこと言われてもどーしようもなかろう。

702 :デフォルトの名無しさん:2017/05/24(水) 21:27:44.10 ID:oJe0HEfY
大企業じゃなくて中小がやるようなWebシステムとかなら以外と新しいもの使ったりするけどね

703 :デフォルトの名無しさん:2017/05/24(水) 21:29:05.11 ID:76en5qLo
本人だけ自覚が無いから
本人だけはいつまでも他人が悪いと思ってる
これが、放置され続けて来た子の末路です

704 :デフォルトの名無しさん:2017/05/24(水) 21:45:09.29 ID:+DimD/vP
では、大企業基準を採用して、
COBOL, VB6, Java 1.4の中からどれが次世代言語にふさわしいか議論しましょう

705 :デフォルトの名無しさん:2017/05/24(水) 21:45:33.98 ID:new7aopo
>>701
んー。本当に言いたいことだけを抽出できてない気がする
それと自分の立場を明示できていないせいで誤解されてるのかも
最初に自分の立場を明確にした上で、レスごとに大事な部分を強調するようにしてみたら?

706 :デフォルトの名無しさん:2017/05/24(水) 21:52:13.03 ID:oJe0HEfY
>>704
それ具体的にどこの会社?

707 :デフォルトの名無しさん:2017/05/24(水) 21:52:59.68 ID:n/Jt/WNZ
IBMじゃね

708 :デフォルトの名無しさん:2017/05/24(水) 21:59:39.95 ID:pM6+zSYg
>>704
1.4ってジェネリクスないよな?

709 :デフォルトの名無しさん:2017/05/24(水) 23:25:21.20 ID:QZAYfmj0
>>643
PHPでさえ何か(まともではない)はとりあえずできるのだから
その理屈はおかしい

710 :デフォルトの名無しさん:2017/05/24(水) 23:43:15.95 ID:DLDz9laB
3年程前まで居た現場はJava 1.4だったよ、客は一部上場企業ね
まぁ抜ける時に丁度バージョンアップどうするって話はしてたな
7は新しすぎるから6で、みたいだった記憶

711 :デフォルトの名無しさん:2017/05/25(木) 01:15:47.85 ID:S4aSECR+
>>709
Rustをわかってないな。あれはなんたらチェッカーが強すぎてHelloWorld以上のことをしようとするとコンパイルが通らずにそもそもプログラムにならんのさ。
PHPはとりあえずゴミやカスを生産はできる。でもRustからは何も生まれない。ゴミやカスが生まれないって意味ではよい言語かもな。製品も生まれんが。

712 :デフォルトの名無しさん:2017/05/25(木) 04:11:36.99 ID:ezJU1k3U
elixirは禁忌なの?

713 ::2017/05/25(木) 08:28:51.58 ID:9n8bzUby
>>705
なるほど。マジでありがとう。
いろんな話に首突っ込んでるし余計にか。
会社では、とか、個人的には、とか枕つけるのと、うざいって言われるかもしらんが少々冗長でもパラグラフ末に結論書くとか、工夫するわ。

714 ::2017/05/25(木) 08:31:56.06 ID:9n8bzUby
>>711
まあ、若い人が存在を知ってるかはわからんが、イライラ棒に近いわな。
CのプロジェクトでMISRA-Cの推奨も網羅すること!でリンタ定義が配られて来たときくらいのめんどくささ。

715 :デフォルトの名無しさん:2017/05/25(木) 09:03:26.85 ID:tgvA03tX
Rust普通に使ってるけど、そんなに悪いかな?
社内用のgccのtemplate系のエラー解析ライブラリをRustで書いてみんなで使ってる

716 :デフォルトの名無しさん:2017/05/25(木) 09:05:50.92 ID:Je843dUj
悪いのはいつも使ってるやつの頭

717 :デフォルトの名無しさん:2017/05/25(木) 09:06:29.33 ID:A2RaX9kE
お前ら今話題のピー言語は?

718 :デフォルトの名無しさん:2017/05/25(木) 10:48:29.16 ID:jD8c7u6v
そう言えばみんなは自分の好きな次世代言語のどんなコードが気に入って好きになったんだろう?
こう言う処理をこう書けるのがクール!!とか有ったんだよね?

719 :デフォルトの名無しさん:2017/05/25(木) 11:27:33.72 ID:/eJUHzjl
ことリン→なまえがかわいい

720 :デフォルトの名無しさん:2017/05/25(木) 11:34:58.13 ID:9Efltc2N
>>714
イライラ棒にはちゃんとゴールあるじゃん。
Rustにゴール(コンパイルが通ってかつ望むロジックが実現できるコード)はない。

721 :デフォルトの名無しさん:2017/05/25(木) 14:13:57.90 ID:LLIRcd0g
エリクサー→名前が厨二

722 :デフォルトの名無しさん:2017/05/25(木) 15:16:22.81 ID:VyhgnQr+
>>721
RAMメーカーのCFDに喧嘩売ってる?

723 :デフォルトの名無しさん:2017/05/25(木) 16:07:04.62 ID:s+W1gv2M
>>721
ギターの弦のことかと思った

724 :デフォルトの名無しさん:2017/05/25(木) 16:29:39.75 ID:peiZ2RBQ
>>720
完成品はいろいろ実在してるんだけどw
チェッカーの壁を乗り越えられなかっただけじゃん

725 :デフォルトの名無しさん:2017/05/25(木) 16:54:51.44 ID:SU7CE5fr
>>711が仕様理解出来なくてイライラしてるの草

726 :デフォルトの名無しさん:2017/05/25(木) 18:33:25.61 ID:Gj42CiwS
>>724
チェッカー内で作れるもの作ってるだけじゃん。
PHPでもまともなものは作れるっていう戯言と何ら情報量変わらん。

727 ::2017/05/25(木) 19:26:06.45 ID:9n8bzUby
>>720
小物作る分にはゴールはあるよ。
イライラ棒の棒と同じで、全く何にも触れていない棒がゴールで手に入るだけ。
ホントに触れないことが必要なのかはおいといて。

728 ::2017/05/25(木) 19:30:40.36 ID:9n8bzUby
>>726
チェッカー内で作れる物作ってるだけ、ってなんだそりゃw
作ってはいけないものが作れなくなってるだけで、もともとそう言うコードは書くべきでないし、
そんな事言うと誰もがチェッカー内で作れるもの作ってるだけなんじゃねえの?
元からあったしね。推奨ですらハネてビルドかけてもらえないプロジェクトとか。

単に技術か経験どちらか、または両方足りないだけでは?

729 :デフォルトの名無しさん:2017/05/25(木) 19:44:48.33 ID:qvTBr+rP
具体的に他の言語では問題なくてRustの制限には引っ掛かる用法ってどんなの?

730 :デフォルトの名無しさん:2017/05/25(木) 20:06:43.93 ID:GLCbsyY4
次世代言語だから浸透させるんだとかいう一方で
浸透してないようなものは次世代言語じゃないとか言い出すような
一貫性の欠片もない人が紛れ込んでいるとスレの流れが速くなるなw

731 :デフォルトの名無しさん:2017/05/25(木) 20:11:02.34 ID:qvTBr+rP
次世代言語って開発効率は旧世代より高くあるべきだと思うし開発効率が低下するような言語は次世代言語とは言えないんじゃない?

732 :デフォルトの名無しさん:2017/05/25(木) 20:12:52.69 ID:YLfurTYJ
>>730
あの主張読んだらやっぱり普通はそう解釈するよな

733 :デフォルトの名無しさん:2017/05/25(木) 21:19:02.52 ID:Gj42CiwS
>>729
有名どころだとグラフ構造。あと木構造も結構辛い。
書けなくはないがチェッカー通そうと思ったらbox rc rcref祭とか色々あったり、イテレータの肩だけで一行の長さぶっちぎったり、無名関数引き回すとぶっ壊れたり、
とにかく存在が破綻してんの。

734 :デフォルトの名無しさん:2017/05/25(木) 21:22:58.60 ID:Gj42CiwS
>>731
そうそうこれこれ。俺たちは物を作りたいんであってチェッカーと腕相撲したいんじゃないって話。
Rustは生産性と書けるプログラムの幅が既存の言語よりはるかに低いっていう破綻があるわけよ。

735 :デフォルトの名無しさん:2017/05/25(木) 21:24:57.72 ID:Gj42CiwS
C++である程度の規模のプログラム書いてValgrind通したものをRustに移植してみれば俺の言ったことが分かるはずだ

736 :デフォルトの名無しさん:2017/05/25(木) 21:26:56.04 ID:SU7CE5fr
パラダイムの違う言語に移植する事自体間違っている

737 :デフォルトの名無しさん:2017/05/25(木) 21:32:27.62 ID:3whttm4L
まあまあID:Gj42CiwSを叩いている人は実際にコードで証明して黙らせ殺してあげなよ

738 :デフォルトの名無しさん:2017/05/25(木) 21:33:54.31 ID:qbQ1iVdd
>>731
開発効率なんて定義不能じゃ

739 :デフォルトの名無しさん:2017/05/25(木) 21:38:33.34 ID:ItmeFS2W
感覚だよ感覚

740 :デフォルトの名無しさん:2017/05/25(木) 21:59:52.05 ID:Akq7oqz3
>>738
明確に定義できないから比較できないってんなら
アセンブラ使えで話は終わるわ。

741 :デフォルトの名無しさん:2017/05/25(木) 22:10:56.86 ID:JKNaFgi4
でたーw
極論だして論破した気になってる奴wwww

742 :デフォルトの名無しさん:2017/05/25(木) 22:13:17.59 ID:cq69lVs9
開発効率定義不能ってホントに極論だよな

743 :デフォルトの名無しさん:2017/05/25(木) 22:23:36.26 ID:Fjpm+mem
開発が有限時間で終わるか否かの1bitを予言するだけでも難しい

744 ::2017/05/25(木) 22:44:08.26 ID:hnBoF8Hs
>>730
説明してもまだ誤解してるのか。
浸透する場が違うじゃん。

745 ::2017/05/25(木) 22:45:54.43 ID:hnBoF8Hs
>>734
腕相撲なんかせんと、まともに考えれば良いだけじゃん?
今までいかに、問題を腕力でねじ伏せてたかよくわかる発言だな。

746 :デフォルトの名無しさん:2017/05/25(木) 23:16:36.34 ID:Fjpm+mem
要するに実行時にチェックするプログラムは簡単に作れるのに対して
コンパイル時だと全てのチェックを通り抜ける解が存在するのかという疑問がある

747 :デフォルトの名無しさん:2017/05/26(金) 00:03:00.80 ID:wwO+KkLH
HaskellでqueueをO(1)で実装しろって程度の話>Rustでグラフ/木を作る
純粋関数型なHaskellで2リストキューを使った素朴な方法だとしんどいし、所有権とメモリ管理が厳格なRustだとADTで書き下すグラフや木はめんどい

どっちもライブラリは既にあるんで、破綻してると声高に連呼するなんて馬鹿じゃないとできないよ

748 :デフォルトの名無しさん:2017/05/26(金) 00:17:50.32 ID:5gPc0nT0
>>733
>>715だけど再帰下降パーサで作ったから普通にグラフ構造でできてるよ
コンパイルエラーが嫌いなのかな?C++でもテンプレートとか嫌いそうな感じがする

749 :デフォルトの名無しさん:2017/05/26(金) 00:24:47.24 ID:W8U5vxkJ
終了直前まで一切メモリ解放しなくていいならできるのは自明

既に解かれた問題だけを選べば破綻しないのも自明

750 :デフォルトの名無しさん:2017/05/26(金) 03:09:57.04 ID:NvS9muX6
グラフでも木でもキューでも何でもいいから、次世代言語のコードで語れよ。

751 :デフォルトの名無しさん:2017/05/26(金) 06:26:55.41 ID:Xdie43+z
とりま>>748には最低限の機能のものでいいので
コンパイルがちゃんと通るグラフ構造の実装をplay.rust-lang.orgに上げてもらって
>>747はそれを他言語と同じくらい簡潔に書けるというライブラリで
書き直したのを見せてくれまいか?

752 :デフォルトの名無しさん:2017/05/26(金) 10:07:55.16 ID:B9iHieSk
>>744
大多数がそう思うような文を書いてしまったという事実をしっかり受け入れて反省するんやで

753 ::2017/05/26(金) 10:45:05.62 ID:uOeVRBLK
>>752
反省はするが、こういう、特に意見がない限り発言しない、自分がノイジーマイノリティなのかどうかわからん場で、大多数は使うべきじゃないよ。

754 :デフォルトの名無しさん:2017/05/26(金) 12:12:59.19 ID:qQ/oDW04
一言言い返さないと気が済まないの草

755 :デフォルトの名無しさん:2017/05/26(金) 12:41:27.23 ID:VfWi0ZR2
ぶっちゃけ書籍が豊富かどうかも結構重要じゃない?

756 :デフォルトの名無しさん:2017/05/26(金) 15:59:13.78 ID:El26kNsy
そりゃ最初にソース書いたやつは楽だっただろうけどさ
1/1Mの確率で発生する実行時バグの再現とかうんざりなんだけどw

rustってそういう方向で発展した感じはする

757 :デフォルトの名無しさん:2017/05/26(金) 16:13:44.05 ID:/9nVrKkw
数千万人が使うFirefoxの開発のために作られた言語を
一般のソフトウェア開発に適用しようというのが間違いあり

758 ::2017/05/26(金) 16:56:09.15 ID:WBRM/ZCu
>>754
とヒトコト言い返されたのか。

759 :デフォルトの名無しさん:2017/05/26(金) 17:09:15.54 ID:DWpJNS2w
ついに外野の煽りまで言い返しに見えるようになったか……

760 :デフォルトの名無しさん:2017/05/27(土) 08:10:39.25 ID:pn0LTxzc
pythonとgoを足して2で割ったような言語がほしい

761 :デフォルトの名無しさん:2017/05/27(土) 08:28:53.30 ID:/y/DrrO+
>>760
grumpy

762 :デフォルトの名無しさん:2017/05/27(土) 08:54:52.85 ID:L7+QfvMM
やっぱscalaってkotlinに駆逐されるのかな

プログラミング言語でさえ悪貨は良貨を駆逐する状態だからな
例えばPHP
それがkotlinくらいまともな言語で、ググールがバックで突き上げてくるとなると・・・・・・・

763 ::2017/05/27(土) 09:42:37.89 ID:sEq8ObI0
>>760
単純な興味だけど、どっちの何がほしいんだろ?

764 :デフォルトの名無しさん:2017/05/27(土) 10:57:46.16 ID:reRwAhMh
C#/TypeScript/Kotlinあたりは今やプログラミング言語の一つの大きな派閥をなしてるよな
あとはネイティブにも同様の思想の言語の決定版ができれば完成なんだが

765 :デフォルトの名無しさん:2017/05/27(土) 11:00:36.94 ID:Eqsuq0s8
>>764
Rust使うほどの速度は求めてないけど、Goはリスト操作関数とかジェネリクスとかなくて辛いって時に使える丁度良いネイティブ言語欲しいよね

766 :デフォルトの名無しさん:2017/05/27(土) 11:04:36.51 ID:qsMDYrRv
ネイティブで、リスト操作そこそこできて、結構速い言語、D

767 :デフォルトの名無しさん:2017/05/27(土) 12:12:38.62 ID:HGPZIoS2
リストくらいてきとうにつくれよ。。

768 :デフォルトの名無しさん:2017/05/27(土) 13:20:29.95 ID:XQaVXkEd
安全で性能が高いリストを言語の専門家の側で作ってくれてたら貴重な研究時間をリストのコーディングなんかに割かなくてよくなるからな
新しい言語を触るたびにまず自分専用のリストをコーディングするところから始まるなら既に資産のあるCかFortranでいいわw

769 :デフォルトの名無しさん:2017/05/27(土) 13:29:17.98 ID:Eqsuq0s8
>>767
ジェネリクスがないから自作出来ない

770 :デフォルトの名無しさん:2017/05/27(土) 17:05:37.03 ID:ov4Em3Hs
できることと速度を求めるなら、C++/CLI。つこうたことはないが

771 :デフォルトの名無しさん:2017/05/27(土) 18:41:54.29 ID:iIPWFR2r
>>770
最近マルチコアやらHTやらでベンチ結果がC#と逆転することもあるとか聞いたけど
dotnet自体とネイティブでの話だっけ?

772 :デフォルトの名無しさん:2017/05/28(日) 00:06:36.06 ID:ICysod8P
>>771
ネイティブとマネージドでマネージドのほうが早いわけねーやろ

773 :デフォルトの名無しさん:2017/05/28(日) 00:11:35.08 ID:Sy0/3upe
偶にJavaでネイティブより早い場合があった記憶だけど、どんな理由でそうなるんだろう

774 :デフォルトの名無しさん:2017/05/28(日) 00:23:47.84 ID:ICysod8P
>>773
理屈で考えてそんなことあるわけねーだろ…
何もかかってないたこ焼きと、すでにソースとマヨがかかってるたこ焼きに何かを足して
どっちが美味しくなるポテンシャルありますかみたいなことだぞ
なんもかかってないほうがポテンシャルあるに決まってんだろ

775 :デフォルトの名無しさん:2017/05/28(日) 00:46:17.13 ID:0WfaW7Gk
青のりを足したんだろ
ソースとマヨがかかってるたこ焼きが圧倒的差で勝つ

776 :デフォルトの名無しさん:2017/05/28(日) 00:54:48.38 ID:U0KxOEQh
ネイティブとマネージドだと徹底的に最適化した場合は当然ネイティブが速いけど、
C(++)とかよりマルチスレッドを楽に実装出来るC#とかならC++だと面倒でスレッド使う気無くすような所でも使えるから同じ労力なら速くなる(かもしれない)

777 :デフォルトの名無しさん:2017/05/28(日) 01:15:59.27 ID:4Fx58v3m
JITでコンパイルしたネイティブコードだけじゃなく計算した結果も後で使いまわすんじゃねーの
うまくヒットすれば凄く速くなるけど下手すると効率悪い、メモリ喰う、処理も増えるの三重苦

778 :デフォルトの名無しさん:2017/05/28(日) 01:17:31.30 ID:U0KxOEQh
あとGCはメモリ足りなくなってから処理走らせるからC++で使い終わるたびにdeleteするより速い場合も極まれにあるって誰かが言ってた希ガス

779 :デフォルトの名無しさん:2017/05/28(日) 01:32:06.42 ID:0WfaW7Gk
まさにこのスレのために産まれたような言語が出てきたな

その名もP

780 :デフォルトの名無しさん:2017/05/28(日) 03:57:38.43 ID:EaAE0rQy
( ´,_ゝ`)プッ

781 :デフォルトの名無しさん:2017/05/28(日) 07:19:31.82 ID:eakmpy+6
>>774
JIT+実行時最適化でJIT VMのほうが速くなることはある。

782 :デフォルトの名無しさん:2017/05/28(日) 08:00:52.56 ID:LGEAgh6i
>>774
でも、ソースとマヨネーズかけたほうが旨いよ。

783 ::2017/05/28(日) 08:13:50.68 ID:69h6ECeI
JITと何も考えてないネイティブなら、JITのほうが速いこともそこそこあるだろ。
有るか無いかわからないからベクトル演算命令使わないバイナリと、JITが使うように、使えないように、どちらでもなく展開できるように書いてある中間バイナリなら中間バイナリのほうがいいと思う。

784 :デフォルトの名無しさん:2017/05/28(日) 08:55:10.15 ID:7vnd2VbN
自分だけしか使わない常時起動の鯖に置くシステムで
長期間使うから次世代言語で作ろうと思ったけど
このスレ読んでたらどの言語選んだらいいのか判らなくなったから
RabbitMQ建ててとりあえずpythonで実装して連携させてみた

少しずつ次世代言語に置き換えていこうと思ったけと
常用するシステムって一度動いちゃうと
他の言語で再実装する気が無くなってくるね・・・

まずはerlang勉強してみる

785 :デフォルトの名無しさん:2017/05/28(日) 09:23:33.91 ID:WC/bP4dR
そこはElixirだろ
あえて遠回りしたいなら止めないけど

786 :デフォルトの名無しさん:2017/05/28(日) 09:48:01.98 ID:3JFLUc/w
erlangとかElixirとか、そんな流行ってもない古いオワプロ(終わったプログラミング言語)使っても
ええことないで

787 :デフォルトの名無しさん:2017/05/28(日) 10:12:17.25 ID:rsSu7Dn/
キラーコンテンツ1本でひっくり返るような評価なんだから
好きなの作ればいい
世間の技術者はもっと柔軟だよ

788 :デフォルトの名無しさん:2017/05/28(日) 10:18:08.52 ID:WC/bP4dR
>>786
確かにそれは正しい
勉強自体が目的ならElixirをやらずにErlangをやるのもありかも

789 :デフォルトの名無しさん:2017/05/28(日) 12:23:35.72 ID:2YTf35Kg
>>765
C++

790 :デフォルトの名無しさん:2017/05/28(日) 12:59:24.25 ID:U0KxOEQh
>>789
>Rust使うほどの速度は求めてないけど
つまりGCがあってメモリ安全って事な

791 :デフォルトの名無しさん:2017/05/28(日) 13:17:26.36 ID:RSwot+pt
次世代言語とやらは現世代に比べて何が優れてんの?

792 :デフォルトの名無しさん:2017/05/28(日) 13:20:41.87 ID:ermVQ6O8
>>791
高機能なライブラリ群

793 :デフォルトの名無しさん:2017/05/28(日) 13:23:21.04 ID:oECcZCdB
>>792
ん?

794 :デフォルトの名無しさん:2017/05/28(日) 14:22:45.54 ID:ombgcLsI
>>790
OCamlでいいんじゃない

795 :デフォルトの名無しさん:2017/05/28(日) 14:30:05.38 ID:ew7wH7J4
>>765
node.js+typescript

796 :デフォルトの名無しさん:2017/05/28(日) 14:32:16.25 ID:ew7wH7J4
>>786
エリクサーが古いオワコンはねーわ

797 :デフォルトの名無しさん:2017/05/28(日) 14:43:12.15 ID:Qisigybt
>>796
エリ草wなんてそもそも話題にすらならん
始まる前から終わってたレベル

798 :デフォルトの名無しさん:2017/05/28(日) 14:48:56.57 ID:f3EcrVh7
おれ仕事でエリクサー使ってるんだー
と一度はいってみたい
なんかすごそうだろ

799 :デフォルトの名無しさん:2017/05/28(日) 14:54:43.46 ID:f+PScB+/
不老不死の薬の名前を冠す言語がそう簡単に終わるはずはない
仮に終わっても魔術によって復活する

800 :デフォルトの名無しさん:2017/05/28(日) 15:04:58.72 ID:Q4IaIxAm
でも、襟がくさい

801 :デフォルトの名無しさん:2017/05/28(日) 15:19:37.92 ID:9pcvjMzo
つい使わずに最後まで温存しちゃう

802 :デフォルトの名無しさん:2017/05/28(日) 15:20:40.57 ID:ew7wH7J4
>>801
誰がうまいこと言えと

803 :デフォルトの名無しさん:2017/05/28(日) 17:55:49.04 ID:vGG8JLoS
>>802
えっ どの辺がうまいの?

804 :デフォルトの名無しさん:2017/05/28(日) 19:33:51.17 ID:kC4qoZB1
FFのプレイスタイルの話かと

805 :デフォルトの名無しさん:2017/05/28(日) 21:04:54.47 ID:qP/iot/5
すみません
GoとRustはC10Kにはどういうアプローチで解決してるんでしょうか

806 :デフォルトの名無しさん:2017/05/28(日) 21:05:35.06 ID:ermVQ6O8
エリ草wすこ��

807 :デフォルトの名無しさん:2017/05/28(日) 22:18:28.95 ID:Sy0/3upe
Rust知らないけどGoは処理の都度軽量スレッド作成して実行するだけじゃないん?
haskellで軽量スレッドの便利さ知ったわ、有名なのはErlangだろうけど

808 :デフォルトの名無しさん:2017/05/29(月) 06:24:01.86 ID:KA+g5PFR
$$$4.3$$$
"V"="1.3335412","0","1","3Q",

809 :デフォルトの名無しさん:2017/05/29(月) 09:14:05.07 ID:GJ83UXew
マルチスレッドの分散処理とかネイティブなら意図的に書かないと分散されないとかあるんじゃない?

810 :デフォルトの名無しさん:2017/05/29(月) 10:31:24.03 ID:QfBUHXY+
ところで次世代言語スレとしては「書けるけど面倒」は「書けない」と同義と扱ってもいいよな?
チューリング完全を扱うスレじゃないんだし

811 :デフォルトの名無しさん:2017/05/29(月) 11:14:43.44 ID:iVofvGGy
はああ〜〜 息をするのも面倒でいやだ

812 ::2017/05/29(月) 13:01:56.82 ID:GBTOKQdE
>>810
かけるけど面倒だけど、他には無いメリットがある、ならアリだと思うが。
Rustはもちろん面倒だが、チェッカが正しいから面倒だし、
Goの if err != nilも、何回書くんだこれってなりがちだけど、シンプルさといろんな意味での長距離のジャンプをさせないがために面倒だし。

ただただひたすら面倒な物とは多少違うかと。
世の中にはチューリング完全でない、と言うことに意味のあるものもあるしね。
DSLだけど帳票出力言語とか書いたことあって、敢えてチューリング完全にならない様に書いた事ある。
事実それ以前の帳票出力言語で闇ばっかり生まれてたのが綺麗に抹殺されて、
見かけの工数は2割くらい増えてるけどトータルの工数で統計取ったら8割減という驚きの結果が出た。

813 :デフォルトの名無しさん:2017/05/29(月) 13:56:23.00 ID:acCBGFJL
>>810
それを言ったらアセンブラで何でも書けるよ。

814 :デフォルトの名無しさん:2017/05/29(月) 14:12:49.13 ID:QfBUHXY+
>>812
安全さのために面倒になってしまう進化もありということね? 確かにCは面倒な上に危険だもんね
後半の話はよくわからん。それ関係なくない?
>>813
賛成ということね?

815 :デフォルトの名無しさん:2017/05/29(月) 14:23:05.93 ID:MJszAqXA
次世代には開発での見かけの生産性だけ高くても意味ないじゃん
って問題意識があるような

rustはチェッカーでエラー出してはねとばし(だから警告じゃダメ)
Goは言語仕様小さくしまくって
でも目的は同じみたいな

816 :デフォルトの名無しさん:2017/05/29(月) 14:30:20.43 ID:KWmGTlOy
いくら優れてても流行らなければ何の意味もない
言語自体の優劣をどうやって決めるのか

次世代って言うのは単に次に流行る言語って意味だ
多くの人が使い次の世代を担っていく言語だ

なになにの機能がないから次世代じゃないとか本末転倒

見かけだけの生産性が高い言語が流行ったとしてそれが社会の求めるものだったら
そういうことだ
それが理解できないようでは次世代もくそもない

817 ::2017/05/29(月) 14:44:37.26 ID:GBTOKQdE
>>814
Kotlinなんかで、この中にDSLを内包しよう、という動きもあるが、あれには完全に賛成とは言わんと言う意味と、
○○の○○を書くときにめんどくさい、と言う反論への、○○を書くべく好きに言語選んだり作れと言う予め言っときたい反論。

818 :デフォルトの名無しさん:2017/05/29(月) 16:10:34.95 ID:QfBUHXY+
このスレに来てる人で「安全だけど面倒」系の言語を推してる人ってどういう人なんだろう?
そういう言語ってプロトタイピングに使える訳じゃないから本番用だろうし、本番の言語を決定出来る立場の人なんだろうか?

819 :デフォルトの名無しさん:2017/05/29(月) 16:20:37.06 ID:godqZJ2E
x 安全だけど面倒
o 安全を犠牲に横着が許されない

820 :デフォルトの名無しさん:2017/05/29(月) 16:25:30.41 ID:godqZJ2E
IDが神だ
崇めろ

821 :デフォルトの名無しさん:2017/05/29(月) 16:45:39.75 ID:QfBUHXY+
>>819
ねえ神様その訂正って本当に正しいのですか?
横着が許されるような言語とはPHP以外にどのような言語があるのでしょう?

822 :デフォルトの名無しさん:2017/05/29(月) 18:26:51.14 ID:acCBGFJL
>>820
J2EE や J2SE だったら良かったのにね〜

823 :デフォルトの名無しさん:2017/05/29(月) 19:22:07.37 ID:0Gkejxu2
>>821
> 横着が許されるような言語とはPHP以外にどのような言語があるのでしょう?
C++とか

824 :デフォルトの名無しさん:2017/05/29(月) 19:42:32.87 ID:ZANWFrCy
>>812
可変な再帰的データ構造が書けないチェッカーの何が正しいって?

825 :デフォルトの名無しさん:2017/05/29(月) 19:49:03.78 ID:QfBUHXY+
>>823
ああ、そういうのを指して横着と言うのか。なるほどありがとう

826 :デフォルトの名無しさん:2017/05/29(月) 20:11:17.48 ID:VknhjnwZ
つーかここの人が求めてるものってなんだ?趣味で扱う言語?それとも仕事で扱う言語?
仕事なら商品として売りものを作る用?それともプロトタイピング用?
俺はプロトタイピング+趣味なんだけど

827 :デフォルトの名無しさん:2017/05/29(月) 20:14:50.03 ID:TtK3Weat
次世代=仕事も含めメジャーになる言語

828 :デフォルトの名無しさん:2017/05/29(月) 20:46:24.41 ID:ZANWFrCy
プロトタイピング目的なら型がだるいRustとかScalaとかHaskellとか選外だと思うんだが?

829 :デフォルトの名無しさん:2017/05/29(月) 20:53:06.38 ID:IJYAREKV
ろくにアセンブラ使ったことないヤツに限ってアセンブラ万能説唱えるよな
理論上可能だとしても現実的には大体無理

830 :デフォルトの名無しさん:2017/05/29(月) 20:54:05.50 ID:HfKGNWZk
>>828
お前は動的言語なら型を全く気にしないのか?
Rustはともかくただの静的言語でScalaの型ダルイっていうのはおかしいと思う
Haskellは触った事ないから知らん

831 :デフォルトの名無しさん:2017/05/29(月) 21:00:14.21 ID:ZANWFrCy
>>830
プロトタイプならって言ってるだろ……
プロダクションならScalaは良い候補。Haskellは性能で選外。Rustは欠陥なので選外

832 :デフォルトの名無しさん:2017/05/29(月) 21:02:13.17 ID:HfKGNWZk
>>831
プロトタイプでも動的は駄目だわ
書かないだけで型を意識するのは変わらないし

833 :デフォルトの名無しさん:2017/05/29(月) 21:03:35.01 ID:HfKGNWZk
理由が「型がだるい」じゃなくて「IDE起動がだるい」とか「コンパイルがだるい」ならまだ分かるけど

834 :デフォルトの名無しさん:2017/05/29(月) 21:10:58.51 ID:VknhjnwZ
>>828
プロトタイピングとか自分用の道具でもある程度規模が大きくなって来ると型のサポートが欲しくなって来てな

835 :デフォルトの名無しさん:2017/05/29(月) 21:40:27.19 ID:1GyH5Yoq
おまいらがアーアンがいいとかルーストがいいとかワガママ言っても、
コトィンがランゲージオブネクストザジェネレーションの地位を確立したのは疑いようのないトゥルス

0 == "0"がtrueかfalseかなんて疑問が毎秒1000ビリオンダラーの損失を叩き出すPHPが
なぜか世界最大級の地位を確立したように
おまいらは低きに、そして大流に流されるだけの哀れな落ち葉でしかないんだよ
いつか腐葉土になる日もくるかもしれないが、まぁね

836 :デフォルトの名無しさん:2017/05/29(月) 21:41:32.11 ID:TtK3Weat
www
コピペして使わせてもらうわ

837 :デフォルトの名無しさん:2017/05/29(月) 21:56:59.55 ID:nr29QT3e
こいつ久しぶりに見たな

838 :デフォルトの名無しさん:2017/05/29(月) 22:00:04.18 ID:1GyH5Yoq

俺はいつも君のそばに。

839 :デフォルトの名無しさん:2017/05/29(月) 23:26:26.04 ID:wVYYUW+P
>>835
これが次世代言語を操るプログラマか…

840 :デフォルトの名無しさん:2017/05/29(月) 23:31:27.27 ID:HMZ0UBYT
>>835
おまえのその才能はプログラムでは活かせない

841 :デフォルトの名無しさん:2017/05/30(火) 05:38:55.18 ID:LPiGbjps
10年前ならわかるが、今のHaskellの性能では論外になるような案件って、そう多くないんだがなあ。

まあ、言ってみたかっただけなんだろうけど。

842 :デフォルトの名無しさん:2017/05/30(火) 07:33:30.59 ID:v66/o58F
Haskellで書いたコードは見た目がキモくてジンマシンが出ちゃう人続出なのでダメです

843 :デフォルトの名無しさん:2017/05/30(火) 08:43:27.37 ID:83Cyphvh
性能で選外はどうかと思うなぁ
そんなもん使う人増えれば最適化進むんだし

844 :デフォルトの名無しさん:2017/05/30(火) 09:15:29.92 ID:RK9zQtkX
スレタイの言語でRustだけマイナー言語すぎやしないかい

845 :デフォルトの名無しさん:2017/05/30(火) 09:35:09.42 ID:qy3qSG7Q
>>838
次回を期待して待っている

846 :デフォルトの名無しさん:2017/05/30(火) 10:57:41.88 ID:cUShYlMs
>>844
マイナーなだけでなく実体もクソオブザクソなのでHaskellより先にスレタイから外すべきだった。

847 :デフォルトの名無しさん:2017/05/30(火) 11:11:01.01 ID:cUShYlMs
Rustと比べたらHaskellだって実用言語。次スレからはHaskellの復活はいいとしてもRustをスレタイから外すことを提案

848 :デフォルトの名無しさん:2017/05/30(火) 11:53:37.01 ID:ixvaRPT7
Rust擁護勢はキチガイみたいなのしかいないことが判明したので許可w

849 :デフォルトの名無しさん:2017/05/30(火) 12:42:11.61 ID:8eoxxCqM
まーた特定言語叩きが始まった
ネットの情報だけを元に叩く事しかしない引きこもりばかり

850 :デフォルトの名無しさん:2017/05/30(火) 12:49:20.67 ID:8KwHai5R
とはいえ現代の最高の言語はscalaだし

851 ::2017/05/30(火) 12:52:24.90 ID:CncaY8jR
>>818
横着にもかける言語で、横着が許されない類のプロジェクトに関わった事がある人では?俺もそうだし。
次世代という意味で期待してるってのもいろんな面があって、
とにかく楽な言語、とにかく早い言語、とにかくメモリー使わない言語、とにかく安全な言語と求めるものが違うところに、
これこそ至高!と全部中途半端なRubyとHaskell出てくるからめっちゃくちゃウザい。

>>824
再帰的な構造はかけるでしょ。
再帰的なデータ型も書ける。
だめなのは、多相の組み合わせが爆発するか循環してしまうもので、当たり前だがHaskellみたいに実行時に多相性を解決してるんじゃなくて、コンパイル時に解決されるからで、そのコンパイル時の解決を行うときに死ぬから。
コンパイル時解決は、というモットーというかテーゼなので、仕方ない。
し、そもそも、そんなものを作るべきではないというのが公式の見解かと。
コンパイル時に多相を解決する言語ならだいたい同じ。

852 ::2017/05/30(火) 12:55:16.76 ID:CncaY8jR
そもそも、そこまでプッシュしてないRustに、異常にアンチしてる奴がわからんなと思ってたら、
色んなスレに「僕には理解できなかったし、すごいプロダクトも見つからなかったからこれはゴミ!」って書いてる奴なんだな。

853 :デフォルトの名無しさん:2017/05/30(火) 13:12:50.81 ID:ixvaRPT7
>>851
Ruby、Haskellが至高!って言ってるレスどれ?
最近ないと思うけど

854 :デフォルトの名無しさん:2017/05/30(火) 13:17:09.64 ID:ynDKwlR5
>>851
>当たり前だがHaskellみたいに実行時に多相性を解決してる
おいおい、Haskellの実装知ってんのか?
Haskellで実行時に型情報が必要な多相性はほんの一部だ。
ほとんどの場合、コンパイル時に解決される。

855 :デフォルトの名無しさん:2017/05/30(火) 13:41:55.27 ID:cUShYlMs
>>852
モジラのステマ部隊が色んなところでRustの押し売りしてるから訂正して回ってるだけ

856 :デフォルトの名無しさん:2017/05/30(火) 13:59:47.73 ID:jNMa8OnS
特定の言語アンチになると
こんな気持ち悪い行動をする様になるんだな

857 :デフォルトの名無しさん:2017/05/30(火) 14:00:38.72 ID:94LBzFAW
アンチの異常者が複数のスレで暴れてたのか
頭おかしい

858 :デフォルトの名無しさん:2017/05/30(火) 14:25:11.74 ID:3SkGkDqj
HaskellアンチとRustアンチ至高のガイジバトル

859 :デフォルトの名無しさん:2017/05/30(火) 14:34:50.93 ID:cUShYlMs
別にRustのステマ部隊にガイジって言われようと本望だしなぁ……
まともに書けたっていうRustアプリのソースでもって出してくれりゃ退散するのにね。

860 :デフォルトの名無しさん:2017/05/30(火) 14:54:59.04 ID:3SkGkDqj
たしかにこの後に及んで一切ソースが出ないRustははっきり言って異常だ
Rust擁護勢の方がガイジレベル高いな

861 :デフォルトの名無しさん:2017/05/30(火) 15:25:43.73 ID:gCyMQJVM
RustはC++の正当後継だよ。
上位互換。

862 :デフォルトの名無しさん:2017/05/30(火) 15:53:14.47 ID:cUShYlMs
>>861
出たーステマ部隊の常套句!
そうほざくなら>>734->>735にこたえてからにしなよ工作員

863 ::2017/05/30(火) 16:00:40.31 ID:CncaY8jR
>>853
おお、グイグイくるな。
最近言ってなきゃいいわけではないでそ。
>>854
知ってるよ。実行時に多相性を「しない」のならその主張もわかるが、「ほとんどの場合しない」は「してる」だよ。
「施錠確認した?」「ほとんどしました」って、要は全く施錠の確認できてないのと変わらんよね。

>>735
答えたような。それ。

864 :デフォルトの名無しさん:2017/05/30(火) 16:36:41.65 ID:8eoxxCqM
>>863
それ例外の一般化っていう立派な詭弁だぞ

865 :デフォルトの名無しさん:2017/05/30(火) 16:40:24.65 ID:8eoxxCqM
Ruby、Haskell、Smalltalkときて今度はRust
そもそも、まともに知りもせず想像でひたすら叩き合ってるだけ
それを建設的かのように振る舞うのがおかしい

866 :デフォルトの名無しさん:2017/05/30(火) 16:45:38.14 ID:xHXzQ5Z2
RustよりGo外そうぜ
実用的かもしれないけど次世代言語とは呼べない
あれ前世代実用言語だろ

867 :デフォルトの名無しさん:2017/05/30(火) 16:49:34.00 ID:2BqlBcyR
次世代言語は来るに任せるべき。 今はC#で十分。
大事なのは、ビジネスモデルを構築できるかという事。 言語はただのツール

868 :デフォルトの名無しさん:2017/05/30(火) 16:53:10.33 ID:xHXzQ5Z2
C#とScala(Kotlin)は二大実用次世代言語だと思う

869 :デフォルトの名無しさん:2017/05/30(火) 16:53:38.72 ID:cUShYlMs
>>865
知ってるから叩いてるんだよなあ。よくしらないとか想像で叩かないでほしい。

ステマに騙されてRustで無駄な時間を過ごす人が出ないようにしてる訳だから俺は建設的な話してる

870 :デフォルトの名無しさん:2017/05/30(火) 16:53:42.98 ID:8KwHai5R
>>861
C++の後継なんて誰も必要としてなくね

871 :デフォルトの名無しさん:2017/05/30(火) 16:59:32.47 ID:rSfKoxDq
>>870
それはC++が至高だと仰ってる?

872 :デフォルトの名無しさん:2017/05/30(火) 17:00:15.77 ID:xHXzQ5Z2
>>870
C++が使われてるって事はいるって事だろ

873 :デフォルトの名無しさん:2017/05/30(火) 17:25:07.30 ID:ibpptRxp
C++の後継はDかC#でいいだろ

874 :デフォルトの名無しさん:2017/05/30(火) 17:26:58.34 ID:xHXzQ5Z2
>>873
C++の後継はメモリ管理自由に出来てネイティブな事が最低条件だろ

875 :デフォルトの名無しさん:2017/05/30(火) 17:41:56.85 ID:ixvaRPT7
>>863
過去の幻影に囚われていつまでも暴れまわる怪獣みたいなガイジ行為はやめろ

876 :デフォルトの名無しさん:2017/05/30(火) 18:02:22.35 ID:LPiGbjps
だめだこりゃ。「あ」は自己弁護しかできないバカだ。バイバイ。

877 :デフォルトの名無しさん:2017/05/30(火) 18:23:19.22 ID:ixvaRPT7
自己弁護の神だからしゃーない
>>863二段落目についてはあまりに下手糞な理論展開のせいで真意が伝わっていないだけだと思うけど

878 ::2017/05/30(火) 18:42:50.81 ID:CncaY8jR
>>864
例外を一般化してるわけではなくて、その例外を許さない事自体が言語仕様、言語設計なんでしょ。
お前が例外を例外と認識しているのに、敢えて混同してるんじゃん。

879 ::2017/05/30(火) 18:46:31.86 ID:CncaY8jR
自己弁護も何もなぁ。
べつにrust推しでも何でもなく、割とまともになってんじゃんって感想にここまで吠えられてるのに。

詭弁だと言うなら言い負かせば良いのに。
無理そうになったら狂ったり、論理否定のための人格否定で誤魔化すのやめてよ。つまらん。

880 :デフォルトの名無しさん:2017/05/30(火) 18:48:03.47 ID:flnvhYto
rust 信者が望んでることって結局こういうことでしょ?

http://www.kh.rim.or.jp/~nagamura/misc/stroustrup-interview.html

881 :デフォルトの名無しさん:2017/05/30(火) 18:49:24.03 ID:ixvaRPT7
自分の文が読みにくいから勘違いされてるのに反省せずそういう書き込みする
あと、その理屈ならHaskell擁護も一部のキチガイ除けばそんなに悪くないと書き込んでるだけなのに噛みつかれて困惑してるよ

882 ::2017/05/30(火) 18:57:43.16 ID:CncaY8jR
>>881
読みにくいってまた主観的な意見だな。
何かダメなの?
こないだの、改行を適宜入れろって話のほうがはるかに役に立ってる。

後半。
Haskell自体が八方美人のブスみたいな印象で、実際問題その理念通りの使い物にはならんと言ってるだけで、Haskell使いは叩いてないぞ俺。

883 :デフォルトの名無しさん:2017/05/30(火) 19:03:05.19 ID:ixvaRPT7
>>882
その話は知らんが俺は>>705だ。前は具体的に指摘した。毎回具体的に指摘してほしいってか?
俺は超注意深く読んだから今回のはなんとか理解できてるけど、実際今二人ほど勘違いしてるよね?俺も最初彼らと同じ勘違いをしたよ

884 :デフォルトの名無しさん:2017/05/30(火) 19:15:39.06 ID:Eop9uX5M
>Haskell自体が八方美人のブスみたいな印象で、実際問題その理念通りの使い物にはならんと言ってるだけで、Haskell使いは叩いてないぞ俺。
これRust叩きの人も同じやん

885 :デフォルトの名無しさん:2017/05/30(火) 19:19:35.04 ID:8KwHai5R
>>871
Yes!

886 :デフォルトの名無しさん:2017/05/30(火) 19:24:22.10 ID:MdPNaTW3
スレタイ読めないの?漏れ↓だと思ってんだけど
ここはアンチC++の巣くつ(わざと「すくつ」って書いたら予測変換出てきたw)

887 :デフォルトの名無しさん:2017/05/30(火) 19:50:43.11 ID:gVUCJ1iG
Rustは使い物にならないと批判してる人は
仮にfirefoxをちゃんとRustで書き直したら実用性はあると認めるの?
それとももっと基準は高い?

888 :デフォルトの名無しさん:2017/05/30(火) 20:36:56.72 ID:Eop9uX5M
威信にかけてFireFoxは書くだろ
むしろそれ出来上がらなかったら本格的にヤバいじゃん

889 :デフォルトの名無しさん:2017/05/30(火) 21:03:27.26 ID:5Aqfn1oc
とりあえずRustでJavaScriptを作れば後はJavaScriptで自由に書けるじゃん

890 :デフォルトの名無しさん:2017/05/30(火) 21:42:15.61 ID:flnvhYto
>>887
認める。
おれは破綻するんじゃないかと思ってる。

891 :デフォルトの名無しさん:2017/05/30(火) 21:44:23.55 ID:J0ju3rCP
まあ待て待て、ここで挙げられてる言語は全部使ったことある俺が一番ウンコな言語を判定してやるよ

一番ウンコはSmalltalk!これは間違いない

892 :デフォルトの名無しさん:2017/05/30(火) 22:21:32.00 ID:8KwHai5R
最も
醜い言語はJS
美しい言語はScala
簡単な言語はpython
難解な言語はHaskel
柔軟な言語はC++
魅力がない言語はC#
意思を感じる言語はObjC
かっこいい言語はElixer
雑な言語はGo
愛された言語はJava
幸運な言語はRuby
迷走してる言語はPHP

893 :デフォルトの名無しさん:2017/05/30(火) 22:22:05.08 ID:tbholWW0
>>887
本当に書き直して成果を公開したら認めるわ。
うまくいかないにカシオミニ賭けてもいい。

894 :デフォルトの名無しさん:2017/05/30(火) 22:23:35.43 ID:R+mglHOn
最も
空気な言語はRust

895 :デフォルトの名無しさん:2017/05/30(火) 22:24:39.69 ID:tbholWW0
>>884
Rust使いはステマ部隊かステマ部隊に騙された不幸な人だからな。前者は叩いても後者は叩けんな。

896 :デフォルトの名無しさん:2017/05/30(火) 22:30:20.45 ID:tbholWW0
>>880
Rust信者というかモジラとかいう世界中のソフトウェア会社の敵が狙ってるのがこれだろうなってことは感じてた。
クソ言語をステマ工作してソフトウェア会社に売り込んで、自分達の給料の確保に使う。クソモジラならやる。

897 :デフォルトの名無しさん:2017/05/30(火) 23:06:16.05 ID:xHXzQ5Z2
>>892
ES6でかなりマシになったから(ガクブル

898 ::2017/05/30(火) 23:25:03.18 ID:CncaY8jR
>>883
なんとか理解できてるなら必要充分だってことでしょ。
まるで>>883以外は低能みたいに言ってはいかん。

899 ::2017/05/30(火) 23:26:34.66 ID:CncaY8jR
>>884
そうでもないだろ。
半コテでなんでここまで叩かれにゃならんのだ。

900 :デフォルトの名無しさん:2017/05/30(火) 23:29:41.17 ID:ixvaRPT7
全然必要充分ではない。現に二人誤解したし、俺も最初は誤解した

901 ::2017/05/30(火) 23:42:29.76 ID:CncaY8jR
>>900
誤解した人間が二人、誤解していた人間が一人、発言なく見えないどちらの状態かわからない人間が複数名。
これで有意差を出すなら、何人が母数なの?
自分の観測域で相手を評価するのは良くないと思うけど。
「自分と同じく誤解したが誤解が解けたか、誤解したままである」と周りを推定するのは、俺が相手は馬鹿ではないはずだと推定するのと同じでは無いのかと期待するのと同じレベルかと。

しかしまぁ、少なくとも議論スレならばもう少しマシな話がしたいし、不要な枕詞は使いたくないけど、まぁ通じないなら言い方をもうちょい気をつけるわ。

902 :デフォルトの名無しさん:2017/05/30(火) 23:48:23.58 ID:ixvaRPT7
そうしてくれ

903 :デフォルトの名無しさん:2017/05/30(火) 23:53:22.51 ID:8eoxxCqM
>>878
何の反論にもなっとらん
俺はHaskellに例外はないなんて言ってないしそもそも知らん
難癖もいいとこだな

904 :デフォルトの名無しさん:2017/05/31(水) 05:55:34.28 ID:4rMtQxoJ
>>891
SmallTalkが一番ウンコだと思った決め手は何?

905 :デフォルトの名無しさん:2017/05/31(水) 06:14:00.96 ID:wEozaoTa
>>879
では、具体的にGHCが実行時型情報を必要とするケースを挙げてみろよ。
言っておくが、パラメトリック多相は全てコンパイル時に解決されるし、
型クラスによるアドホック多相も、あれは関数オーバーロードの形式化だからな。
関数オーバーロードはコンパイル時に解決されるぞ。
さあ、具体的に挙げてみろよ。

906 :デフォルトの名無しさん:2017/05/31(水) 07:43:00.95 ID:uGw1TdWN
多分、エンジニアガイジの主張は
「rustはコンパイル時に多相を解決する能力がないので、その能力のあるHaskell と違ってデータ構造が作りにくいのは仕方がない」
みたいな感じと思われる。難解だけど

907 :デフォルトの名無しさん:2017/05/31(水) 08:28:06.80 ID:uGw1TdWN
逆だ「実行時に多相を解決能力がない」だ

908 ::2017/05/31(水) 09:15:21.09 ID:dc+IbjjD
>>903
あ、例外の一般化をしてる、ってのは「Haskellでは実行時にも多相の解決をする」ってのを「『Haskellでは多相の解決を実行時に必ずする』と一般化(というより誤解)してる」という意味ではないのか。なら的はずれな事言ってすまんな。

>>905
具体的に上げろと言われてもなぁ。
<T>を持ったenumがOptionかcar(T)とcdr(<T,T>)である時くらいかな。

>>906
そうそう。能力を敢えて持っていない、に近いけど。
実行時ゼロコストを目指してるから仕方ない。

909 :デフォルトの名無しさん:2017/05/31(水) 09:37:51.17 ID:uGw1TdWN
おお合ってたか。正直自信なかったんだよね
>>906を主張を三行に纏めるお手本にしてくれてもいいぞw

910 :デフォルトの名無しさん:2017/05/31(水) 10:08:26.32 ID:j+YATO3J
さすがに読み解けんわ……
エンジニアガイジは本気で伝え方の訓練した方がいい。
ID:uGw1TdWNみたいな有能な読み解き手がいつもおるとは限らんわ。

911 :デフォルトの名無しさん:2017/05/31(水) 10:21:53.06 ID:j+YATO3J
エンジニアガイジの主張がさっぱり伝わらない理由って何かと見返してみたが、
相手の反論を表面的にしか返さないせいだな。その質問がどういう疑問から出たかわかってない

「Haskellは実行時に型を解決する(からRustより型の表現力がある代わりにオーバーヘッドのトレードオフがある)」 って意見に
「Haskellもほとんどコンパイル時に解決できるわ」って反論が来たときに「ほとんどは全てじゃないだろ」なんてなにも伝わらん腐った返しするから伝わらないんだっての
「そのごく一部のおかげでそれが皆無のRustより型の表現力があるんだろ?」って、元の主張の()の部分を伝えればまだ理解してもらえるだろうに。

つまり疑問に対する反論が下手。

912 :デフォルトの名無しさん:2017/05/31(水) 10:31:33.38 ID:j+YATO3J
エンジニアガイジは相手が自分の主張に何か返してきたとき、「相手に何が伝わってなかったか」を考えるようにした方がいい。
それが出来てないから今はただ論破することしかできてない。

913 :デフォルトの名無しさん:2017/05/31(水) 10:49:08.01 ID:9eeNyIu8
ハイロンパしたいだけの奴に何言ってもね。。

914 :デフォルトの名無しさん:2017/05/31(水) 10:55:14.91 ID:WMdxYZmu
>>913
本当に「はい論破」したいだけなのか、かわいそうに論破スタイルしか議論の方法知らんのか俺には区別つかないからなぁ。

自分の意見の伝わらなさの自覚はありそうだから(現状人のせいにしてるが)後者にかけて長文投下した

915 :デフォルトの名無しさん:2017/05/31(水) 10:58:50.65 ID:xgELgHJk
彼はアスペルガー症候群でしょう
本人に非があるわけではないが、治ることもない

916 :デフォルトの名無しさん:2017/05/31(水) 11:03:36.26 ID:WMdxYZmu
>>915
確かに「相手の反論が何を疑問点として出てきたかを推察できずに表面的な論破をしたがる」っていうのは典型的なアレだが、
それだけで病気認定は俺にはできんな。健常者でも多少の訓練は必要な事柄だからな。

ただ可能なら診察は受けた方がいいかもわからんね。純粋な心配として。

917 ::2017/05/31(水) 11:08:50.13 ID:dc+IbjjD
>>911
一から百指摘しないと理解できません、って取ったらいいの?

>>912-913
全然論破もしてるつもりないけど。
反論はまともにしてほしいだけで。
論破スタイルってか、ストレートに言わないと議論にならんでしょ。
雑談所なら雑談するよ。

918 ::2017/05/31(水) 11:10:55.99 ID:dc+IbjjD
>>916
子供作るときに一通りそういう気質があるか調べてもらったが、幸いながらアスペではなかったぞ。
残念ながら多動はあった。

919 :デフォルトの名無しさん:2017/05/31(水) 11:17:13.85 ID:+xjBJZk4
ただのADHDってことか
気持ち良い納得感を得られる良スレだな

920 :デフォルトの名無しさん:2017/05/31(水) 11:18:20.52 ID:4nPr+Atc
ADHD以前に躁鬱でしょ

921 :デフォルトの名無しさん:2017/05/31(水) 11:20:10.30 ID:WMdxYZmu
>>917
一から百の全部を要求するやつは蹴り倒していいとは自分も思うが、一から百のうち任意のどこかを要求する人の相手くらいできんと人と議論は進まんぞ。
相手の疑問から一から百のうちどこの説明をするべきか読み取ろうという話

反論がまともに来ないのはこれまでの積み重ねのせいじゃないのか?
別に論破スタイルじゃなくてもストレートに議論はできるだろ。

922 :デフォルトの名無しさん:2017/05/31(水) 11:21:41.06 ID:WMdxYZmu
>>918
通院済みか。余計なお世話だったようだ。

923 :デフォルトの名無しさん:2017/05/31(水) 12:19:10.63 ID:uGw1TdWN
彼にガイジとニックネーム付けた奴の先見性高いと思わない?

924 :デフォルトの名無しさん:2017/05/31(水) 15:24:55.30 ID:jQ0rWyUQ
>>908
><T>を持ったenumがOptionかcar(T)とcdr(<T,T>)である時くらいかな。

コンパイル時に解決できないHaskellの多相の例がそれか?
おまえHaskell書いたことあるか?

925 :デフォルトの名無しさん:2017/05/31(水) 15:27:38.08 ID:jQ0rWyUQ
多動のせいで議論ができないんじゃなくて、
シッタカで主張が支離滅裂になっているのを
多動のせいだと思ったおまえらが勝手に辻褄合わせをしてあげて
なんだか最初からそういう主張をしているかのように
本人もおまえらも思い込んでいるだけ。

926 :デフォルトの名無しさん:2017/05/31(水) 15:40:30.39 ID:T8V/ATS8
>>925
別に多動のせいじゃないと俺は思うがなあ。多動ってそもそも議論できる出来ないに関係あったっけ?
単に意見の擦り合わせが絶望的に出来ないから知ったかと同じような議論破綻に突っ込む感じで、
ディベートを議論と勘違いしてるよくある感じのやつだと思ってる。

927 :デフォルトの名無しさん:2017/05/31(水) 15:53:44.27 ID:T8V/ATS8
俺はHaskellはトーシロ(死語)だから実行時に型チェックするパターンがあるかどうかなんて細かいこと分からんが
エンジニアガイジが「Haskellの型はほとんどコンパイル時解決だ」って言われたときに
やるべきだった反応は
「俺はこのパターンは実行時解決だと思ってたけど違ったか?」であって
「ほとんどは全部じゃねえよはい論破」じゃない。
こういうところが議論向いてないんだよな。

928 :デフォルトの名無しさん:2017/05/31(水) 17:26:35.18 ID:gpiwU3f+
(TvT)

929 :デフォルトの名無しさん:2017/05/31(水) 18:22:27.22 ID:EynlLbc5
>>908
enum?
もしかしてHaskellとScala間違えてんの?

930 ::2017/05/31(水) 20:17:12.66 ID:dc+IbjjD
>>921
相手の意見は汲み取れと言われながら、自分の主張は汲み取る必要が無いように余すことなく全て話せと言われると、
それは違う思う。

>>929
いや、完全に記憶だよりだからその辺違うなら違うんだと思う。
optionじゃなくてnilだった気もする。

なんと言うか、凄いな。Haskellを否定するだけでここまでヒートアップするのは。
スレタイからも抜けたし、否定し放題だとは思うが。
否定されるのが嫌ならHaskellスレに引きこもってりゃ良いのに。

931 :デフォルトの名無しさん:2017/05/31(水) 20:44:50.62 ID:uGw1TdWN
自分の意見が伝わりにくいことは現象として理解してる癖に、優しい人が理由を考えてあげると反論してしまい受け入れられない
誰かがいってた放置されてきた子って的確な表現だな
どんな優しい人でもこれは放置する

932 :デフォルトの名無しさん:2017/05/31(水) 20:46:07.28 ID:X6jg+zcK
言語についてテキトーな事を書いたらツッコミ入れるような奴が
このスレに集まってるだけだぞ
Haskell関係ない

933 :デフォルトの名無しさん:2017/05/31(水) 21:11:21.68 ID:43iY7lC1
>>930
>相手の意見は汲み取れと言われながら、自分の主張は汲み取る必要が無いように余すことなく全て話せ
それをお互いにやるんだよ。
でもどちらも人間なんだから限界あるだろ?そこを擦り合わせるんだよ。
それが論破合戦じゃない議論なんだよ。

934 :デフォルトの名無しさん:2017/05/31(水) 21:29:09.19 ID:43iY7lC1
もしかしてエンジニアガイジは自分の意見に反論や疑問が飛んできたとき、
「こいつは自分を潰しに来たから潰し返さないと」とか思ったりしてる?

935 :デフォルトの名無しさん:2017/05/31(水) 22:25:13.36 ID:ZWDZ9M4A
それできてる奴このスレにいるんですか
大抵潰し合ってないですかね

936 :デフォルトの名無しさん:2017/05/31(水) 22:39:52.28 ID:EynlLbc5
>>930
Haskellを否定というか、
明らかに間違えてるので、知りもしないで突っ込んでるとしか思えないが

937 :デフォルトの名無しさん:2017/05/31(水) 22:43:08.23 ID:EynlLbc5
というか、この人Haskell触ったことなくて叩いてるよね
食わず嫌いは勝手だからいいとしても、さも知っていて、かつ理性的かのように振る舞うのはどうなんだ?
素直に理由はないがキモいと言えばいいのに

938 :デフォルトの名無しさん:2017/05/31(水) 23:51:50.75 ID:meGSNm+f
>>851
大規模案件で採用されているゴミ屑PHPさんの悪口はやめろ

939 :デフォルトの名無しさん:2017/06/01(木) 00:21:45.04 ID:7sVuk+w7
まあルストはダメだってことはわかった。

940 :デフォルトの名無しさん:2017/06/01(木) 01:21:00.20 ID:P48QZU+o
>>930
>いや、完全に記憶だよりだからその辺違うなら違うんだと思う。
>optionじゃなくてnilだった気もする。

記憶違いのレベルでなく、それはどこからどう見てもHaskellの型とは似ても似つかない。
記法の問題でもない。
概念レベルから根本的にHaskellとは異なるものをHaskellの欠点と言い張っているだけ。

941 :デフォルトの名無しさん:2017/06/01(木) 01:23:44.43 ID:EiP2TW+2
carとcdr使う静的言語ってなんだ

942 :デフォルトの名無しさん:2017/06/01(木) 01:29:53.69 ID:P48QZU+o
型推論付きのSchemeか?w

943 :デフォルトの名無しさん:2017/06/01(木) 02:27:16.60 ID:8CaOxlMo
まあHaskell触った事ある奴はOptionとMaybe
Nothingとnilは間違えないよな
nullって書いても他言語とは全く異なるし

944 :デフォルトの名無しさん:2017/06/01(木) 02:30:44.70 ID:8CaOxlMo
あとBottomType的な意味でnilとか言ってもだめだぞ
ないからなw

945 :デフォルトの名無しさん:2017/06/01(木) 02:55:42.04 ID:wUNQCT/b
>>930
どこから見てもお前の言ってる事がおかしいぞ
論理的におかしい事をさも正しい事のように言ってるから叩かれてるだけ

946 :デフォルトの名無しさん:2017/06/01(木) 03:12:08.82 ID:z55iS7vV
どこから見てもおかしいというだけの主張が論理的なのか

947 :デフォルトの名無しさん:2017/06/01(木) 06:01:07.41 ID:8CaOxlMo
>>946
何を言ってるかわからないほど破綻してるから、おかしいで合ってるし
そして論理そのものは前提で変わり、妥当性とは関係ないので、お前の主張もおかしい
論理的云々と言うやつほど論理を知らない証左

948 :デフォルトの名無しさん:2017/06/01(木) 06:44:41.63 ID:vNOzF29i
関数型の思想を一切使わずアプリケーションをバグ無く作れる者だけが、彼に石を投げなさい

949 ::2017/06/01(木) 07:44:01.52 ID:xXOCh96c
おお、皆に言われるとHaskellをもう一度学ばないといかん気はしてきたな。
割とありがたいし、せっかくだからちょっとやってみるわ。

>>933
あーなるほど。それはわからんでもないな。
ただ、指導教官に昔言われた「不明点は察するな、現実を話させろ」を実践してて、
言ってしまえばアスペ的思考をしてたから、ちょっと慣れるまでに時間かかるかも。
実際役にもたったしね。その発想。

950 :デフォルトの名無しさん:2017/06/01(木) 08:26:56.92 ID:fZ4Ynj9f
みんなが言ってくれてんのはね
Haskellどうのこうのというよりもまず
お前は重度の知ったか自己弁護野郎であり
さすがに付き合いきれないよってこと

たぶん、そういうとこは伝わってないんやろな

951 :デフォルトの名無しさん:2017/06/01(木) 08:29:11.71 ID:fZ4Ynj9f
文字化け修正:
Haskellどうのこうのというよりもまず

952 :デフォルトの名無しさん:2017/06/01(木) 10:36:58.41 ID:2zjIoc8f
>>949
>不明点は察するな、現実を話させろ
大学の研究室や学会では正しいが、2chっつーかネット越しの文字でやるには向いてない手法だな
手法は場によって選ぼうな?

あと自分が間違ってるかもしれないって懸念は常に持っとこうな。

953 :デフォルトの名無しさん:2017/06/01(木) 10:39:52.18 ID:2zjIoc8f
>>952
下段は今回のHaskellのことに限らず知ったかぶり悪循環に陥ることへのフェイルセーフな。
俺はHaskell詳しくないから知ったかかどうかわからんのだが一応。

954 :デフォルトの名無しさん:2017/06/01(木) 11:08:27.45 ID:Bx3/ibOs
治療法を察するな、症状を話させろ
Haskellを知ったかぶるのは大したことないが、医学を知ったかぶると命に関わる

955 :デフォルトの名無しさん:2017/06/01(木) 11:26:50.36 ID:UQSg1EaA
誤解の生じない自然言語が望まれる

956 :デフォルトの名無しさん:2017/06/01(木) 11:27:26.76 ID:HdFpeWhQ
ところで質問なんですが
Haskellの型クラスは裏でメソッド辞書を渡して実行時ディスパッチをするって読んだんですがこの理解で合ってます?
https://people.csail.mit.edu/dnj/teaching/6898/papers/wadler88.pdf

それともコールする関数の決定も何らかの最適化機構でコンパイル時にすませてしまうのでしょうか

957 :デフォルトの名無しさん:2017/06/01(木) 11:48:38.71 ID:Bx3/ibOs
>>956
C++のコンパイル時ダックタイピングと同じ
実行時ディスパッチではない

958 :デフォルトの名無しさん:2017/06/01(木) 12:35:37.68 ID:bubu+W4z
>>956
後者で合ってる
GHCの場合は最適化無しでランタイムにdictionary lookupするコードを生成
最適化でコンパイル時解決になる
指定なしなら通常は最適化される

959 :デフォルトの名無しさん:2017/06/01(木) 12:56:45.70 ID:sszEh+oH
>>958
なるほど

If the type of a function contains a class, then this
is translated into a dictionary that is passed at runtime.

The translation simply assures that the appropriate dictionaries
passed at run-time; ...

One drawback of our translation method is that it introduces
new parameters to be passed at runtime, ...

等々しつこく書いてあったのでてっきり今もランタイムかと。
その後コンパイル時に完結できるようになっていたんですね。ありがとうございます。

960 :デフォルトの名無しさん:2017/06/01(木) 14:21:39.82 ID:JVCP5RQG
>>959
念のため言うが、飽くまで一般の話だよ
上での言及のように例外なく、必ずcompile timeになるかどうかはわからない
普通に考えれば、呼出側だけでなく、モジュールに何か細工が必要だろうし

961 :デフォルトの名無しさん:2017/06/01(木) 14:30:58.85 ID:Ty12p446
>>959
調べてみたが、少なくともHaskell 2010ではCompile timeが保証されているようだ
というか88年の文献は、いくらなんでも古すぎないか?

962 :デフォルトの名無しさん:2017/06/01(木) 19:59:34.59 ID:vNOzF29i
他者と誤解なく分かりあえるようになるための共通言語を開発しよう
もちろん、人と人だけでなく、人とコンピュータも分かりあえる共通言語だ
それこそが次世代言語だ

963 ::2017/06/01(木) 20:05:18.45 ID:23mplHvr
>>952
ネット越しだからやるべきかとは。。

>>961
ヨコからだけどありがとう。参考になるわ。見てくる。

>>962
エスペラントを一歩すすめる時代か。

964 :デフォルトの名無しさん:2017/06/01(木) 20:18:08.98 ID:Dnfnpswj
>>963
やった結果がお前さんの現状なんだよな。

965 :デフォルトの名無しさん:2017/06/01(木) 20:42:26.57 ID:sszEh+oH
>>961
Haskell 2010 でもまだランタイムに依存しているみたいだけど違う?
https://stackoverflow.com/questions/28169119/is-the-dispatch-of-a-haskell-typeclass-dynamic#comment44713002_28170590

966 :デフォルトの名無しさん:2017/06/01(木) 22:45:39.05 ID:14pfKSNM
あらゆるモダン言語で見るようになったmapとかflatmapっていうのはどこから生まれたものなの?

967 :デフォルトの名無しさん:2017/06/01(木) 22:50:28.99 ID:W7qZGWEB
LISPじゃね

968 :デフォルトの名無しさん:2017/06/02(金) 00:08:33.62 ID:lDZ3L3oh
>>965
ちょっと話が見えないんだが、もしかして回答してほしいのは
>https://people.csail.mit.edu/dnj/teaching/6898/papers/wadler88.pdf
に限定した話ではないのか?
保証については、再帰がない場合の話で、その参照先は>>959とは状況違う
その場合>>958 + >>960という回答になる

969 :デフォルトの名無しさん:2017/06/02(金) 02:50:18.61 ID:bQ6pitWP
再帰があっても深さを制限すればspecializeできるんじゃね
制限を超えたらエラーにするか、あるいはspecializeをやめたら無限に再帰できるか?

970 :デフォルトの名無しさん:2017/06/02(金) 07:14:02.17 ID:vc1fSB5M
>>968
あ、いえ、すみません
>>958+960 で理解の確認はできています
ありがとうございます

ただ一方で >>905 >>957 >>961 みたいな主張もあるようなので
最新の実装では型クラスを取り巻く状況もかなり違ってきているのかなと

971 :デフォルトの名無しさん:2017/06/03(土) 09:45:16.91 ID:1Cu2c1ce
これ互換性にあまり影響のない実装の変更だよね
それより互換性が完全になくなった変更を批判する方が建設的

263 KB
新着レスの表示

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :


read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)