1 名前:デフォルトの名無しさん mailto:sage [2017/04/20(木) 04:43:27.12 ID:mNwXvrXv.net] いざ、語ろうぞ。 スレタイ超過のため、一部省略。 Go, Erlang, Kotlin, etcもウェルカム。 Haskellは協議により次世代失格になりました 前スレ 次世代言語議論スレ[Go Rust Haskell Scala]第3世代 echo.2ch.net/test/read.cgi/tech/1488608741/
2 名前:あ mailto:sage [2017/04/20(木) 07:32:05.38 ID:AyFGgpwk.net] 乙
3 名前:デフォルトの名無しさん mailto:sage [2017/04/20(木) 08:19:51.38 ID:zhxiAG0o.net] TypeScriptも次世代言語に入れてくれ。 https://trends.google.co.jp/trends/explore?q=Golang,Typescript,Kotlin Google社内の標準言語としてTypeScriptが承認される。ng-conf 2017 www.publickey1.jp/blog/17/googletypescriptng-conf_2017.html TypeScriptが標準言語になっても、Dartのことは忘れてませんよとGoogle担当者がフォロー www.publickey1.jp/blog/17/typescriptdartgoogle.html
4 名前:デフォルトの名無しさん mailto:sage [2017/04/20(木) 08:44:47.83 ID:jeWo4Dft.net] 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 名前:デフォルトの名無しさん mailto:sage [2017/04/20(木) 12:21:47.82 ID:yNBy9eOM.net] TypeScriptはJavaScriptのクソな点をまともに直しただけで 次世代というものを感じないのだがなんかあるの?
6 名前:デフォルトの名無しさん mailto:sage [2017/04/20(木) 19:50:17.61 ID:VIiPRj9u.net] TypeScriptは次世代を担うってよりも 旧世代の資産をなんとか次世代まで持ちこたえさせるつなぎって感じ
7 名前:デフォルトの名無しさん mailto:sage [2017/04/21(金) 00:32:39.17 ID:TpnuMFUz.net] 別に便利ならそれでいいと思うけど。
8 名前:デフォルトの名無しさん [2017/04/21(金) 13:54:11.80 ID:cmecYv9F.net] >>5 とはいえ次世代は次世代でしょ
9 名前:あ mailto:sage [2017/04/21(金) 16:45:28.52 ID:KFYgHFHL.net] TypeScriptは手段が目的化してきてるからな。 構文は嫌いじゃないけど。
10 名前:デフォルトの名無しさん mailto:sage [2017/04/21(金) 23:38:23.47 ID:F8Tq/dHs.net] なんでHaskell無くなってるの?もう学ぶの諦めたの?
11 名前:デフォルトの名無しさん [2017/04/21(金) 23:42:05.24 ID:1EW2mi9U.net] うん Haskell学ぶなんて時間の無駄だってことに気づいたの
12 名前:デフォルトの名無しさん mailto:sage [2017/04/21(金) 23:59:18.37 ID:9S9WRWBb.net] >>10 前スレでHaskellは次世代言語ではなく遅延評価に問題があるとされた。 でもHaskellの考え方を学んで他の言語で活かすならありだと思う。
13 名前:デフォルトの名無しさん mailto:sage [2017/04/22(土) 00:57:02.64 ID:Kjd2lTg6.net] 問題とされたのは遅延することではなく何秒遅れるか予測不可能なことだと思う タイミングを何秒後と指定して評価するのは問題ないとされる 現にそういう問題が出題されたしね
14 名前:デフォルトの名無しさん mailto:sage [2017/04/22(土) 02:36:22.27 ID:gXJYMt+Q.net] いやHaskellを声高にプッシュしていた奴が例題のコードも出さずに逃亡して、Haskellそんなに詳しくない人が替わりに書くという事態になったからだよ Haskellに詳しい人もHaskellについて議論できる人もいなかったんで対象として取り上げるには不適切になった(このスレでは) Haskell上げの意見は説得力が無いしHaskell下げの意見はただのレッテル貼りにしかならない
15 名前:デフォルトの名無しさん mailto:sage [2017/04/22(土) 07:18:18.45 ID:yb9XO/RM.net] で、Haskellよりも劣った言語が次世代言語候補として残ったわけか おもしれーw
16 名前:デフォルトの名無しさん mailto:sage [2017/04/22(土) 07:49:13.55 ID:9MR2WQGe.net] 次世代言語なんだから、現行の言語を語っても意味ないよね。
17 名前:デフォルトの名無しさん mailto:sage [2017/04/22(土) 09:34:02.47 ID:Kjd2lTg6.net] >>14 逃亡というレッテル貼りをおそれて多くの人が努力したんだな レッテル貼りには人を努力させる効果があった レッテル貼りは悪という意見にはあまり説得力がない この場合、逃亡は悪ではかったと考える方が説得力がある
18 名前:デフォルトの名無しさん mailto:sage [2017/04/22(土) 09:54:38.02 ID:69jc9pki.net] >>17 最後の1行がそれより前とつながらないんだが
19 名前:デフォルトの名無しさん mailto:sage [2017/04/22(土) 10:24:05.10 ID:69jc9pki.net] 糞問題、糞設計、糞実装だの言うわりにどれ一つ代替案は出てこなかった(つまりパラダイムは変えない) 加えて、正直な感想として現行言語の方が次世代と称される言語よりずっとすっきり書けていた という現状をふまえると次世代の「売り」って何なのだろう クラスや付随する言語機能を捨ててシンプルさを求めたこと(継承のデメリットの排除と学習コストの軽減)と それで生じる表現力・抽象度の低下を型チェックや型推論機構の充実で補ってバランスをとったところ?
20 名前:デフォルトの名無しさん [2017/04/22(土) 10:33:00.05 ID:d4ODGBV8.net] HaskellとDが最底辺であることに変わりはない。 実用性皆無なプログラム言語は存在価値無し。
21 名前:デフォルトの名無しさん mailto:sage [2017/04/22(土) 10:40:11.00 ID:Kjd2lTg6.net] 訂正 逃亡は悪ではかった→逃亡は悪ではなかった >>18 レッテル貼りは悪とは限らないし、そもそも悪と戦うことが目的ではない 戦いが目的でないなら逃亡は合理的だ
22 名前:デフォルトの名無しさん mailto:sage [2017/04/22(土) 11:00:51.13 ID:69jc9pki.net] >>21 そこじゃない!www>訂正 逃亡というレッテル張りを恐れて他の善意のファンが努力 →レッテル張り自体は悪だが結果はそう悪いものでもなかった という流れからどうして逃亡自体が悪でないという帰結が導かれるのか? ひたすら机上の空論を展開し、他を貶め、蔑み、悪態をつくだけついて じゃあ動くコードやよりよい設計を出せというと逃げるのはどうみても身勝手だろう
23 名前:デフォルトの名無しさん mailto:sage [2017/04/22(土) 11:14:59.00 ID:Kjd2lTg6.net] 悪口を言われたから賠償してほしいって? そんな出題者の意図があるとは知らなかった
24 名前:デフォルトの名無しさん mailto:sage [2017/04/22(土) 11:36:19.62 ID:69jc9pki.net] >>23 この場合、出題者は関係ないだろう 「他を」は「他言語(あるいはその使い手、ファン、コミュニティ)を」だ
25 名前:デフォルトの名無しさん mailto:sage [2017/04/22(土) 11:53:17.53 ID:69jc9pki.net] なんかいちいち噛み合わないな もしかしてHaskell儲がまだいるのか? なら逃亡行為を好意的に解釈したがるのも頷ける
26 名前:デフォルトの名無しさん mailto:sage [2017/04/22(土) 12:24:45.77 ID:VCLbyEjA.net] あんまり荒らしたくはないが、できるかできないかで言えばできたんだから問題ないだろ それにType Classのコード理解できるやつ何人いた? 単なる継承だと勘違いしてるっぽい奴はいたが
27 名前:デフォルトの名無しさん mailto:sage [2017/04/22(土) 12:38:09.97 ID:yb9XO/RM.net] そもそも単価の高いHaskellerにタダでコード書けというほうが間違っている
28 名前:デフォルトの名無しさん mailto:sage [2017/04/22(土) 13:11:14.86 ID:69jc9pki.net] >>27 旧世代言語なら実質50行程度せいぜい10分で書けるコードにいくら請求するつもりだよww それに単価ならカンブリア言語のSmalltalkerの方がよほど高いわ 奴ら呼べばきっと頼まれなくてもホイホイ書くぞ Rust使いに次いで自分言語大好きだからな https://developers.srad.jp/story/17/03/31/0448232/
29 名前:デフォルトの名無しさん mailto:sage [2017/04/22(土) 13:55:32.78 ID:/fxOrStV.net] どうせお前ら、フレームワークに用意されたメソッドを サンプル通りに呼び出すだけのドカタだろ? 次世代言語なんて要らんだろ
30 名前:デフォルトの名無しさん mailto:sage [2017/04/22(土) 14:38:27.32 ID:XG8YtWUq.net] そういう言語こそ切望されている。
31 名前:デフォルトの名無しさん mailto:sage [2017/04/22(土) 19:55:27.63 ID:2QNaIclJ.net] 次世代言語ならおっさんにマウントされずに 仕事できると思ってるバカが多いってだけなんだよ結局。
32 名前:デフォルトの名無しさん mailto:sage [2017/04/23(日) 13:37:29.12 ID:mKAZq6VZ.net] 新スレ abc系でみんなで人工知能を作ろう! echo.2ch.net/test/read.cgi/tech/1488681839/
33 名前:デフォルトの名無しさん mailto:sage [2017/04/23(日) 14:04:42.00 ID:NE9/Voyw.net] 個人的にはスレタイからRustも抜いてほしい。まともに物が作れないのにクソモジラのステマだけで話題になってる、言語未満のクソの塊。
34 名前:デフォルトの名無しさん mailto:sage [2017/04/23(日) 14:08:54.35 ID:HdKb/Sdq.net] このスレは何を目指してるの?
35 名前:デフォルトの名無しさん mailto:sage [2017/04/23(日) 15:35:02.72 ID:zop66JA+.net] よく分からんよね いつか知らないけど、次に主流になる言語が何かを決めたいんだろう
36 名前:デフォルトの名無しさん mailto:sage [2017/04/23(日) 15:41:50.81 ID:OBcWFFpc.net] もう全部C++でいいんじゃないかな これから100年先までずっとC++だ
37 名前:デフォルトの名無しさん mailto:sage [2017/04/23(日) 16:07:52.01 ID:UJAzDyB2.net] >>36 それでいいそれで。他を圧倒的に突き放して一番早くて実用的な言語だ。
38 名前:デフォルトの名無しさん mailto:sage [2017/04/23(日) 16:10:21.34 ID:svTWBXfu.net] 多次元配列弱いC++はFortran以下 まず配列アクセス演算子が引数一つしか取れない時点で終わってる
39 名前:デフォルトの名無しさん mailto:sage [2017/04/23(日) 16:16:54.85 ID:dVBaHUf3.net] そりゃ、関数で十分だからな。テンプレートとオーバーロードと参照があれば 配列アクセス演算子なんて最初から必要なかった。
40 名前:デフォルトの名無しさん mailto:sage [2017/04/23(日) 16:20:47.89 ID:svTWBXfu.net] まあ確かにEigenなんかは関数呼び出し演算子で代用してるな そのEigenでさえ3次元以上には対応してないっていうのがC++の自由度の低さを物語ってるが
41 名前:デフォルトの名無しさん mailto:sage [2017/04/23(日) 16:24:19.41 ID:UJAzDyB2.net] 逆に聞くけどそれなくて何か実用的なプログラミングで困るの?
42 名前:デフォルトの名無しさん mailto:sage [2017/04/23(日) 16:29:32.67 ID:mKAZq6VZ.net] C++++あくしろよ
43 名前:デフォルトの名無しさん mailto:sage [2017/04/23(日) 17:38:01.40 ID:svTWBXfu.net] >>41 深層学習とか統計処理とかには必須だぞ 量子化学にもあれば便利だな データ整理一般にも使うしな
44 名前:デフォルトの名無しさん mailto:sage [2017/04/23(日) 19:47:31.29 ID:zjYzndui.net] いや、そんな要素一つ一つに対して別個の処理をするようなコードは あんまいらんだろ。 本当に必要な場合は結局、配列レベルで高速化が望まれる場合だけだし。 誰かが用意した python のライブラリでも使ってなさいってこった。 カスが個人的に作ったものよりもよっぽど速くて正確なものがあるんだから。
45 名前:デフォルトの名無しさん mailto:sage [2017/04/23(日) 20:12:53.69 ID:svTWBXfu.net] Python >>>> C++が証明されたな 速度においてもCython擁するPythonが負ける要素はないし
46 名前:デフォルトの名無しさん mailto:sage [2017/04/23(日) 20:19:34.87 ID:PCQQgnKm.net] C++er「もう全部C++でいい」 配列マン「多次元配列需要あるのにC++にはないやん」 C++er「そんなもんあんまいらんだろ。Pythonでも使ってなさいカス」 C++erってやっぱダブルスタンダードのカスだわ
47 名前:デフォルトの名無しさん mailto:sage [2017/04/23(日) 20:36:30.78 ID:zjYzndui.net] 用途によって使い分けるという当たり前の発送のないバカと一緒にされたくないんだけど。。
48 名前:デフォルトの名無しさん [2017/04/23(日) 21:11:17.67 ID:OBcWFFpc.net] 皮肉なのにマジで取られても
49 名前:デフォルトの名無しさん mailto:sage [2017/04/23(日) 21:15:41.28 ID:PCQQgnKm.net] あとはID:UJAzDyB2だけか
50 名前:デフォルトの名無しさん mailto:sage [2017/04/23(日) 21:50:20.49 ID:bkkcl6Xn.net] 多次元配列とはいえ結局は仮想メモリ上に一次元に乗るデータになるんだから、多次元→一次元マッピングを最初から最適にデータ設計出来てればいらんだろそんなもん。 そこを処理系任せにしてメモリ上のデータ構造チューニングできないようなものが次世代言語なのか?
51 名前:デフォルトの名無しさん mailto:sage [2017/04/23(日) 21:51:12.16 ID:bkkcl6Xn.net] あ、ID変わったけどID:UJAzDyB2。
52 名前:デフォルトの名無しさん mailto:sage [2017/04/23(日) 22:10:15.66 ID:bkkcl6Xn.net] 最先端のアルゴリズムで実用ライブラリを書く言語としてのC++はこの先100年安泰で、 ラッパ用スクリプトのPythonとはそもそも言語としての立ち位置が違うって話。
53 名前:デフォルトの名無しさん mailto:sage [2017/04/23(日) 22:22:19.93 ID:mKAZq6VZ.net] 100年後の言語ってどうなってんだろな 頭にチンポ型の伝送デバイスハメるだけでプログラミングできたりする?
54 名前:デフォルトの名無しさん mailto:sage [2017/04/23(日) 22:24:04.51 ID:NBHRohTD.net] そりゃもう感応入力で思考の速度でプログラミングできてるだろう 言語はなくなってるかもしれん
55 名前:デフォルトの名無しさん [2017/04/23(日) 23:40:41.71 ID:OBcWFFpc.net] C++を今の地位から引きずり下ろすためにもRustには頑張って欲しいものだ
56 名前:デフォルトの名無しさん [2017/04/24(月) 00:14:14.60 ID:Hq5/eqGq.net] 言語がなくなる 科学がなくなる 数学がなくなる こういう無数の可能性から一個選んで的中させるのはほぼ不可能だよな
57 名前:デフォルトの名無しさん mailto:sage [2017/04/24(月) 00:21:20.12 ID:lffXTkps.net] ID:bkkcl6Xnの発言は一番気が狂っていた頃のエンジニアガイジと似てるな
58 名前:デフォルトの名無しさん [2017/04/24(月) 00:26:31.35 ID:6h5JoTUe.net] >>36 早くネットワーク系のライブラリを標準で入れてくれぃ
59 名前:デフォルトの名無しさん mailto:sage [2017/04/24(月) 00:33:57.43 ID:6NGlh03T.net] ID:UJAzDyB2「C++は実用的な言語である。多次元配列がなくても実用的なプログラムでは困らない」 ID:bkkcl6Xn「私はID:UJAzDyB2である。C++は実用ライブラリを書くための言語だ」 なにこれ
60 名前:デフォルトの名無しさん mailto:sage [2017/04/24(月) 00:40:56.94 ID:zwhieng4.net] >>50 多次元配列でチューニングすべきところなんかあるか?せいぜい格納方向が2通りあるくらいだろ。チューニング出来るものは一切搭載してないFortranにすらデフォルトで搭載されてる機能だぜ? それにそれ言っちゃあSTLなんてどうなるんだよ? まさかSTLは使うけど多次元配列は自分で作るなんて言わないよなあ?
61 名前:デフォルトの名無しさん mailto:sage [2017/04/24(月) 00:56:56.87 ID:FOMNUfbf.net] >>60 ガチ用途でSTL使わねえだろバカも休み休み言えよ…… STL使うC++なんてちょっと速いPythonやらRubyじゃねえか。
62 名前:デフォルトの名無しさん mailto:sage [2017/04/24(月) 00:58:00.30 ID:zwhieng4.net] >>61 ほーんSTLより速いの書いてあげてみ? 絶対無理だろ
63 名前:デフォルトの名無しさん mailto:sage [2017/04/24(月) 01:04:22.49 ID:FOMNUfbf.net] >>62 そりゃ自分の書くものに一番合うように書くから、あらゆるベンチを通すように丸く作られたSTLに全分野で勝てるわけないだろ。
64 名前:デフォルトの名無しさん mailto:sage [2017/04/24(月) 01:10:06.24 ID:zwhieng4.net] >>63 この用途ならこれが一番速くて信頼性が高くて拡張性も優れていて、自分で書いてSTLを使わないコストという面でも釣り合いが取れるっていうのがあるってことだよな? 用途から自分で設定していいから書いてみろよ。
65 名前:デフォルトの名無しさん mailto:sage [2017/04/24(月) 01:16:51.68 ID:lffXTkps.net] いや、そもそも多次元配列の話してたんだし、numpyを超えるスピード、信頼性の多次元配列を書いてもらうべきだな
66 名前:デフォルトの名無しさん mailto:sage [2017/04/24(月) 01:19:28.66 ID:p282pyvh.net] 疎行列
67 名前:デフォルトの名無しさん mailto:sage [2017/04/24(月) 01:22:28.66 ID:zwhieng4.net] ああ、そもそもSTLで出来ないことを書いて「勝った」っていうのはなしだぞ。それこそ疎行列とかな
68 名前:デフォルトの名無しさん [2017/04/24(月) 01:30:31.10 ID:p282pyvh.net] ハッシュマップ
69 名前:デフォルトの名無しさん mailto:sage [2017/04/24(月) 01:36:23.44 ID:zwhieng4.net] ってか割と真面目にC++上で動く多次元配列欲しいんだけど 1〜5次元くらいまで同じインターフェースで動く奴作ろうとして、思いの外面倒だったから辞めてFortranに乗り換えたことあるんだよな
70 名前:デフォルトの名無しさん mailto:sage [2017/04/24(月) 06:51:30.21 ID:wCWPirmZ.net] >>42 亀だけど、C#って、C++++という意味を込めてるんだよ。
71 名前:デフォルトの名無しさん [2017/04/24(月) 20:17:17.36 ID:zyXx2ugF.net] >>65 だよねぇ、多次元配列の操作で Python に勝るのは Fortran くらいしか思いつかないや 純粋手続き型言語の始祖である Fortran と、同じく純粋手続き型スクリプト言語である Python、誰にも否定できない当然の結果だよね もう、このスレでは次世代 Fortran は Python で決まり!!ってこと結論が出たね
72 名前:デフォルトの名無しさん mailto:sage [2017/04/24(月) 21:50:54.50 ID:CyDBAtYH.net] その結論は何を表すの?
73 名前:デフォルトの名無しさん mailto:sage [2017/04/24(月) 23:19:46.46 ID:H47kwRKj.net] >>71 多次元配列操作で次世代言語を選ぶならJuliaだろう。 Python使いをJuliaに引き込むサンプル集 www.mwsoft.jp/programming/julia/python_to_julia.html RユーザのためのJulia入門(行列編) rishida.hatenablog.com/entry/2013/11/30/194733
74 名前:デフォルトの名無しさん mailto:sage [2017/04/24(月) 23:52:45.18 ID:lffXTkps.net] Juliaのステマ貼るならせめて最新版の解説貼れよ ないけどさ
75 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 00:38:05.23 ID:O6VBfE9R.net] >>74 Qiitaで検索するかAdvent Calendarsを読め。 普及が始まっている次世代言語は たいていAdvent Calendars 2016がある。
76 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 02:23:12.66 ID:wELv0O7d.net] 言語オタクが重視する言語間の細かいシンタックスの差なんてどうでも良くて、 次世代言語に必要だったのは高速で便利な多次元配列だったってオチか
77 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 08:40:21.09 ID:fJvGo7FT.net] >>75 Julia0.3の化石みたいな記事貼るなって意味だよ
78 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 10:54:45.65 ID:niXLk7Hx.net] Juliaって化石なの?
79 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 10:55:45.34 ID:cMLOigtr.net] 0.3はね そろそろ0.6
80 名前:デフォルトの名無しさん [2017/04/25(火) 11:10:54.53 ID:x9Sc69FW.net] >>76 多次元配列が必要な人間は一部だけど文法が全員に影響があるから、多数決で文法優先 オタクではなく多数決です
81 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 11:51:27.86 ID:DZfkzF9H.net] RubyとPythonとか観てると文法より多次元配列やライブラリのが重要だと実感するが。 C#やJavaScriptにしても、簡潔に書けるとかじゃなくて何を作れる(サポートするプラットフォームの多さ)で選ばれてるし。
82 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 12:35:16.20 ID:0RXyPjWo.net] 利用者が多い・ライブラリが豊富って現在流行っているものの話でしょ
83 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 12:35:23.60 ID:KAzBuoYA.net] 多次元配列が重要って感覚がわからないんだけど、 どういう分野の人が使うの?
84 名前:あ mailto:sage [2017/04/25(火) 12:49:25.85 ID:m9LocPpZ.net] 多次元配列ってジャグじゃないものの事だよな? マクロ書いちゃえばいいんでないの? アクセス演算子と大仰な言い方するが、要は単に掛け算なんだし。アライメントも揃えられるしさ。 適当な並べ方してるとメモリアクセスで悲しい思いをする気がする。特にどーんとクラスタに投げるときとか。 Fortranでもメモリマップ的には後ろの列からの順番になるから思い付きで並べると重いよ。
85 名前:あ mailto:sage [2017/04/25(火) 12:51:38.43 ID:m9LocPpZ.net] >>83 テンソルに係数を掛けたり、テンソルとベクトルを掛けたりすると、欲しくなるのは確か。 unionって思ってたより随分便利だなーって思うやつ。
86 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 12:56:48.67 ID:DZfkzF9H.net] >>82 Rubyが流行りそうになった時、RoRの登場で一躍有名になった。 Pythonにはそれに相当するものが無かった。 後に同じようなの出来たけど、Rubyを引き離すほどじゃ無かった。 Ruby1.9の時、互換性切り捨てでRuby自滅が決定打だった。 結果としてディープラーニング向けライブラリの登場で揺るぎない地位を得た。 文法はRuby1.9以降のが好きだし理に適ってる。 でも、世界的には終わった言語。
87 名前:あ mailto:sage [2017/04/25(火) 13:06:52.92 ID:m9LocPpZ.net] Rubyは理想を追いかけ過ぎ。 自然言語で言えば、エッセイストは言語学者じゃないのに形態素に基づくなんとかかんとか、こういうしきたり、こういうルールってのを並べられてもって感じで、 しかも、言語学者側はそれを素晴らしいと絶賛してると言う狂った状態に近い。 英語なんかあんな破綻した闇仕様に溢れた言語 (例えば、Shipの口語の代名詞に失われた性を補完してsheを使う)なのに、 あんなに全世界で使われてるんだから。 言語なんて歯ブラシなんや、ってPHPの方が随分スタンスとして好き。
88 名前:デフォルトの名無しさん [2017/04/25(火) 13:39:27.32 ID:9lYWlQQl.net] 次世代の定義と合わなくね?って書き込みになんでそんなレスがつくんだろ
89 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 13:59:47.20 ID:DZfkzF9H.net] かつて次世代だった言語の栄枯盛衰から、次世代言語に何が必要かが分かると思って投下した。
90 名前:デフォルトの名無しさん [2017/04/25(火) 14:18:46.85 ID:x9Sc69FW.net] 文法は繁栄の原因にはならないけど互換性云々で衰退の原因になるんだ
91 名前:あ mailto:sage [2017/04/25(火) 14:31:36.92 ID:m9LocPpZ.net] >>88 あんまり原理主義的な事話してると怒られるから。。
92 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 14:54:40.56 ID:3KXt8ND/.net] 文法は繁栄の原因にもなり得たよ。 Rubyも注目された当初は簡単でなんでも出来る言語としてsmalltalk作ったけど、真のsmalltalkはRubyだったとかアラン・ケイも絶賛してたし、RoRもRubyの文法に惚れて作られた。 その後の保守戦略家で差が付いた。
93 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 14:55:18.59 ID:3KXt8ND/.net] x保守戦略家 o保守戦略
94 名前:デフォルトの名無しさん [2017/04/25(火) 18:40:55.97 ID:x9Sc69FW.net] 戦略ってなんだろう どうやって決めたかは教えないけど、成功とか失敗とか成果だけ教えてやるよって感じ 成果だけが重要と思っているからなのか
95 名前:デフォルトの名無しさん [2017/04/25(火) 18:52:57.84 ID:e9WI/SQ5.net] >>86 >Ruby1.9の時、互換性切り捨てでRuby自滅が決定打だった。 互換性切り捨てってのは、これのこと? echo.2ch.net/test/read.cgi/tech/1413113999/128 うーみゅ、確かに Hello world レベルのお題ですら動かなくなるようでは、 互換性切り捨てと批判されるのも仕方ないよね
96 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 19:19:36.86 ID:gy+i7xO9.net] >>94 戦略って言っても、私が結果だけ見てそう判定しただけだがね。 結局、言語の開発管理側が業務で使われているって事実を重要と見たかどうかってだけ。 どっちも互換性切り捨ててるんだけど、Pythonはまだ旧バージョン系列サポート切ってないし、長々とアナウンスしてる。
97 名前:デフォルトの名無しさん [2017/04/25(火) 19:40:02.70 ID:e9WI/SQ5.net] 訂正してあげるね X:Pythonはまだ旧バージョン系列サポート切ってないし O:Pythonはまだ旧バージョン系列サポート切れないし Pythonはまだ新旧バージョンでの後方互換性切り捨てが災いして、 未だに旧バージョン系列から新バージョン系列へ移行できていないだけの話 だから旧バージョン系列サポートを切りたくても切れないってのが現実 blog-imgs-82.fc2.com/n/o/r/noriaki3/201508310726369c2.jpg
98 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 20:00:00.53 ID:DCpQVXaD.net] それが企業に好感持たれてる現実。 強行したRubyはどうなったよ。
99 名前:デフォルトの名無しさん [2017/04/25(火) 20:09:39.00 ID:e9WI/SQ5.net] こうなった echo.2ch.net/test/read.cgi/tech/1486026729/900 ところで、Rubyの互換性切り捨てとは具体的には何を指しているのかな? 少なくとも Hello world レベルであれば、RoR登場以前の 1.6 から最新の 2.2 に至るまで、 Ruby であれば Syntax Error にならず正常動作するから互換性は維持されているけどね
100 名前: mailto:sage [2017/04/25(火) 20:17:10.34 ID:Vqnsayjn.net] >>87 うーん,LL(1)に徹している pascal が古今東西素晴らしいとおもっているんだが‥ruby ってそんなにすごいの?
101 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 20:37:45.43 ID:KIIhfRh7.net] Rubyが理想を追いかけてるとか、苦笑しか出てこない。
102 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 20:45:57.84 ID:MvOKB5m4.net] >>100 ? 低機能パーザー使うと何ですごいの?
103 名前: mailto:sage [2017/04/25(火) 21:06:43.69 ID:Vqnsayjn.net] >>102 >自然言語で言えば、エッセイストは言語学者じゃないのに形態素に基づくなんとかかんとか、こういうしきたり、こういうルールってのを並べられてもって感じで、 だろうね
104 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 21:16:47.80 ID:qd1hD0YR.net] 結局、キャットドア問題解決できなかったしね
105 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 22:43:32.29 ID:lEn+EjQK.net] python3 とか好きじゃないんだよな。。 1/ 2 = 0.5 とか型が弱くなる方向に修正したんだか。。 明示的に書かせるのが python の良さなのにそれと逆行しようとしてるのが好きになれん。
106 名前:あ mailto:sage [2017/04/25(火) 23:45:33.40 ID:RguWTiRy.net] >>100 pascalは素晴らしいと思うよ。俺も。 いつの間にか呼ばれてるto_intみたいな馬鹿な仕様もないし。 あれは理想ではなくて現実。 >>101 追いかけてるだろー。 「Objectには不要なものが多すぎる、好ましくない。でも、互換性失いたくない。 そうだ、Objectの親にBasicObjectを作って白紙のオブジェクトとしよう」 なんてまともな神経してたらちょっと思いついたけど敢えて忘れるレベルの実装をマジでやった上に、 一番やめてほしい==の実装をBasicObjectに持ってったんだぞ。 気が狂ってる。 わざわざtrueClassやらnilClass作ってたのが原理主義っぽくて良かったのに。 n = true if false で、nがnilになるのもおかしい。 n = n+1でnilに+はねえよってメッセージの原因だけど、こればっかりは異常。
107 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 23:47:17.89 ID:qd1hD0YR.net] >>106 言葉に気をつけろよ キャットドア問題の前にお前らはボロ雑巾のように敗れ去っているのだから
108 名前:あ mailto:sage [2017/04/25(火) 23:50:40.24 ID:RguWTiRy.net] メッセージパッシングで大枠作ったのにな そもそも、クラスを破壊せずに機能追加せよ、って矛盾した設問がおかしい事にまだ気づかんのかなぁ。
109 名前:デフォルトの名無しさん [2017/04/26(水) 00:00:43.82 ID:T5a4wmc6.net] >>100 俺もpascalはシンプルで好きな方。 だけどブロックは波括弧が好きなんだよなぁ。
110 名前:デフォルトの名無しさん mailto:sage [2017/04/26(水) 00:34:00.42 ID:Boe/ixbX.net] >>99 うろ覚えだが、文字列から文字を取り出すのが思い切り変わった。 これは阿鼻叫喚になるなって印象はあった。
111 名前:デフォルトの名無しさん mailto:sage [2017/04/26(水) 00:43:56.99 ID:9BTWZVlt.net] >>110 >うろ覚え 正しくは。うる覚え。な 学がないやつはこれだから
112 名前:デフォルトの名無しさん [2017/04/26(水) 03:53:03.15 ID:2ISuU/qN.net] スレタイからElixir抜いた奴俺の許可とったの?
113 名前:101 mailto:sage [2017/04/26(水) 04:48:11.60 ID:gEnKLRTK.net] >>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.net] https://goo.gl/Y4tSAe これは嘘でしょ? 本当なら落ち込むわ。。
115 名前:デフォルトの名無しさん mailto:sage [2017/04/26(水) 07:22:08.94 ID:xY5d2zmE.net] 「うろ覚え」の誤り。「うろ覚え」は、はっきりと覚えていない様子を意味する語。空洞を意味する「うろ」が、文字や音の似た「うる」に置き換わって生じたといわれている。ネットスラングとしては、「ふいんき」と同様に、誤記を承知で敢えて用いられる例が見られる。 ネットスラングとしては、「ふいんき」と同様に、誤記を承知で敢えて用いられる例が見られる。 ネットスラングとしては、「ふいんき」と同様に、誤記を承知で敢えて用いられる例が見られる。
116 名前:デフォルトの名無しさん mailto:sage [2017/04/26(水) 08:01:30.06 ID:70MJdvvC.net] >>111
117 名前:デフォルトの名無しさん mailto:sage [2017/04/26(水) 08:02:47.44 ID:GreYiU3v.net] >>71 Python の配列って、list でしょ?
118 名前:あ mailto:sage [2017/04/26(水) 08:27:05.94 ID:aLqmc7M7.net] >>113 だから、理想に走りすぎで現実見えてないって言ってるの。その論調だとsmailltalkが自然で目指すべきだと聞こえるが?俺はそうは思わないけど。 泥の中の蓮的な理想感はあるが、実際にはそんな物が必要ならそれこそRubyなんか使ったら劣化コピーで気持ち悪いものをこねくり回して満足してる学者大先生と同じ。 エスペラント語を素晴らしいと言いはって、エスペラント語でエッセイ書くようなもんだ。書いてみりゃわかるが、無謀だよ。 正しくしか書けないし、元の発想が比喩で作られてるようなもんだから、比喩表現は比喩の比喩になってもう意味がわからない姿になる。 永遠に次世代になりたくて、実は永遠に次世代ではない。
119 名前:デフォルトの名無しさん mailto:sage [2017/04/26(水) 09:01:42.16 ID:uVr9LBvI.net] エッセイなら正しく書けばいいだろ。 ポエムは難しいけど。
120 名前:デフォルトの名無しさん mailto:sage [2017/04/26(水) 09:43:39.33 ID:A4NmaPdj.net] >>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.net] スクリプトは純粋仮想関数が無意味だからクラスの意味をこじつけるのが大変 Pythonのクラスは演算子を定義する機能のような印象
122 名前:あ mailto:sage [2017/04/26(水) 12:47:25.64 ID:aLqmc7M7.net] >>119 小論文の意味のエッセイなら割とそうだろうけど、それでも主観の表現方法を無理やり曲げられる時点でダメだろ。 グーグルをラ行五段活用する事を無理に実現するために他の名詞が巻き沿い食う感じ。
123 名前:デフォルトの名無しさん [2017/04/26(水) 13:48:30.98 ID:pV6k193k.net] 経験則 表音文字に依存するな、記号に依存しろ
124 名前:デフォルトの名無しさん mailto:sage [2017/04/26(水) 15:44:49.66 ID:TQfkYYQc.net] (みんなあってもよくね?と思ってたはずなのに) ずっとクラスベースを拒否し続けたJavaScriptも ある意味プロトタイプベースの理想を追い続けてるような
125 名前:あ mailto:sage [2017/04/26(水) 16:06:30.69 ID:aLqmc7M7.net] >>123 まぁ、恐ろしいほどに無意識に使ってるスペースなんて記号も英語ベースだしな。 コアダンプが漢詩のように見える事もあるけど。 >>124 あれはあれで、リストをああいう形で実現した時点で割と言語としては完成してた。冗長だけど。
126 名前:デフォルトの名無しさん [2017/04/26(水) 21:50:24.12 ID:SZlYFMhx.net] >>98 >それが企業に好感持たれてる現実。 Hello world すら Syntax Error になってしまう(>>95 )ほどの壊滅的な 後方互換性切り捨てを強行してなお旧バージョンのサポート打ち切りなんて、 常識的な企業倫理からはありえないだろ そんな対応を指して「好感」という言葉は冷酷な皮肉でしかない あるいは、過去に Hello world がバージョンアップで動かなくなったメジャー言語が存在するの? print が文なのか関数なのかという言語とライブラリ設計における根源的な決定、 言い換えると入出力処理は構文で実現すべきなのか(すなわち文)、それとも ライブラリで提供すべきなのか(すなわち関数または手続き)という言語設計の哲学、 そんな初歩的な判断すらできない人物によって行き当たりばったりに設計されたのが Python だろ
127 名前:デフォルトの名無しさん [2017/04/26(水) 22:30:36.25 ID:SZlYFMhx.net] >>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 名前:あ mailto:sage [2017/04/26(水) 23:16:03.93 ID:WASTpqE2.net] メソッド生やしてしまえる事自体がオブジェクト指向でも何でもない気持ち悪さ。
129 名前:デフォルトの名無しさん mailto:sage [2017/04/27(木) 00:01:25.31 ID:GJNrvvrA.net] Open Class だろ。モンキーパッチ
130 名前:デフォルトの名無しさん mailto:sage [2017/04/27(木) 00:31:22.08 ID:1+VMbtmi.net] >>128 その理屈だとSmalltalkはオブジェクト指向じゃなくてなんだったんだ?
131 名前:デフォルトの名無しさん [2017/04/27(木) 00:39:07.48 ID:NvHKpotz.net] Stringは定数ではなくグローバル変数のように改変される 全ての関数をクラスという箱に入れた結果全てが事実上のグローバル変数になった
132 名前:デフォルトの名無しさん [2017/04/27(木) 00:55:55.98 ID:jbk1ehAe.net] >>131 見方によってはそう(グローバル変数)なんだよね。 スコープは狭い方が良い。 正直オープクラスはイマイチと思うのだが、でもjavascript はそのおかげでpolyfillとかできるんだよな。
133 名前:あ mailto:sage [2017/04/27(木) 01:20:41.99 ID:S1ERYEjc.net] >>130 Smalltalkはレシーバだろ
134 名前:デフォルトの名無しさん mailto:sage [2017/04/27(木) 02:05:35.72 ID:XheCn2mn.net] >>133 記法の問題ってこと?
135 名前:デフォルトの名無しさん mailto:sage [2017/04/27(木) 07:23:11.77 ID:1+VMbtmi.net] >>134 ビヤーネ・ストラウストラップらの抽象データ型のOOP(カプセル化、継承、多態性)と アラン・ケイの遅延結合徹底のOOP(オブジェクトにメッセージを送る)は別物だって事をいいたいのかな
136 名前:デフォルトの名無しさん mailto:sage [2017/04/27(木) 07:38:57.38 ID:0Df9bF2U.net] Smalltalkがウンコ過ぎて世間からそっぽ向かれて死滅したんだから 後追いのRubyも死滅するのは歴史が証明している
137 名前:あ mailto:sage [2017/04/27(木) 08:15:10.34 ID:YQ2WW8c/.net] >>135 そう。パッシングの口でしかない。
138 名前:デフォルトの名無しさん mailto:sage [2017/04/27(木) 08:28:33.27 ID:/s/zy9NN.net] まさか、rubyがADT拡張としてのOOPLだと思ってる?
139 名前:デフォルトの名無しさん mailto:sage [2017/04/27(木) 08:44:30.71 ID:N3r3uYtr.net] >>136 死滅したとか記憶から消し去りたいロートルがいる一方でスタートアップで勝負をかける奇特な人もいる pharo.org/success/AllStocker スタートアップ界の異端児!産業機器 x IT x SmalltalkのSORABITO株式会社 https://thepedia.co/article/1068/ Smalltalkのとらえ方は人それぞれやね
140 名前:デフォルトの名無しさん mailto:sage [2017/04/27(木) 08:58:08.10 ID:/s/zy9NN.net] Smalltalkはうんこすぎて死滅したと2ちゃんでクダ巻いてるだけの爺さんを横目に、 今日もSmalltalkが世界の海上コンテナ輸送の30%を捌いているわけだが。
141 名前:デフォルトの名無しさん mailto:sage [2017/04/27(木) 09:17:39.03 ID:N3r3uYtr.net] >>140 OOCLのことを言っているんなら、あれってJavaに置き換えられたんじゃないの? Who uses Smalltalk? : programming - Reddit https://www.reddit.com/r/programming/comments/3wv7ik/who_uses_smalltalk/cxzzhkp/
142 名前:デフォルトの名無しさん mailto:sage [2017/04/27(木) 09:25:15.12 ID:wBdpEusi.net] >>140 もしかしてOOCLのこと言ってんの? とっくにそんなシェア無くなって、今年に入って買収の噂が出るくらい落ちぶれてるぞ
143 名前:デフォルトの名無しさん mailto:sage [2017/04/27(木) 10:07:04.57 ID:Cz6WFEXA.net] 爺さん批判してる奴の知識が爺さんだったか
144 名前:デフォルトの名無しさん mailto:sage [2017/04/27(木) 10:10:47.76 ID:sNquU9cU.net] Smalltalkがどうこう以前にファンやアンチがうんこすぎてわらた
145 名前:デフォルトの名無しさん mailto:sage [2017/04/27(木) 10:12:00.41 ID:/ppzzK1q.net] Smalltalk信者とHaskell信者はよく似てる
146 名前:デフォルトの名無しさん mailto:sage [2017/04/27(木) 12:35:13.63 ID:/s/zy9NN.net] >>141 よく読め。再実装されたのはUIだけだ。あほか?
147 名前:デフォルトの名無しさん [2017/04/27(木) 13:02:15.04 ID:jfFmbm9g.net] >>146 なんでとても素晴らしいsmalltalkで再実装されなかったの?
148 名前:デフォルトの名無しさん [2017/04/27(木) 13:17:16.51 ID:+ggBtOYn.net] おそらく同じ言語で再実装するとeachをeach_charに変えたくなるから そんなことするなら言語ごと変えた方が良い
149 名前:デフォルトの名無しさん mailto:sage [2017/04/27(木) 14:09:11.99 ID:Yjb8fh0C.net] >>147 Smalltalk は開発環境含めてあまりにオールインワン過ぎるから。
150 名前:デフォルトの名無しさん mailto:sage [2017/04/27(木) 17:05:36.01 ID:sNquU9cU.net] >>146 そんなどーでもいいことより30%シェア撤回マダー
151 名前:デフォルトの名無しさん mailto:sage [2017/04/27(木) 20:07:13.14 ID:PwOPvcNg.net] どーでもいいな、クソくだらねえ。
152 名前:デフォルトの名無しさん mailto:sage [2017/04/27(木) 20:28:54.10 ID:zXLo9cW8.net] もう死んでる言語を追い詰めても仕方ないよな 死体蹴りは良くない
153 名前:デフォルトの名無しさん [2017/04/27(木) 22:14:26.81 ID:McKGSVbG.net] もう風化してて蹴るものもないと思ったのに
154 名前:デフォルトの名無しさん [2017/04/27(木) 22:36:43.95 ID:+ggBtOYn.net] 風化すればまた再発明される 過去に同じことがあったと口で言っても証拠が残ってなければ同じことが繰り返される
155 名前:デフォルトの名無しさん mailto:sage [2017/04/27(木) 23:26:29.59 ID:Yjb8fh0C.net] 死んだ言語の死んだ理由ってのは新しい言語の糞機能アピールよりかは勉強にはなる。
156 名前:デフォルトの名無しさん mailto:sage [2017/04/28(金) 08:28:08.68 ID:WPyfQjET.net] 死んだ言語ねえ… 死んでるのはおめーの脳みそだろ? pharo.org/success
157 名前:デフォルトの名無しさん mailto:sage [2017/04/28(金) 08:55:25.45 ID:j+L8+G8p.net] SmallTalkガイジって一番ガイジだった頃のエンジニアガイジとちょっと似てるな
158 名前:あ mailto:sage [2017/04/28(金) 17:12:11.94 ID:Yq+yDopp.net] >>157 いつでも同じクオリティじゃないか
159 名前:デフォルトの名無しさん mailto:sage [2017/04/28(金) 20:19:57.31 ID:j+L8+G8p.net] >>158 最近文読みやすくなってきてるしちょっとええ感じやで
160 名前:あ mailto:sage [2017/04/28(金) 20:29:25.20 ID:0gV62uUk.net] >>159 まぁ具体的に「パラグラフが長い」「言い回しがくどい」と言われたら、 なるほどと思うし、ちょっと気を付けられるからな。 読みにくい、ガイジか!とだけ言われたら、読みにくいだけならしっかり読めとしか言いたくなくなる。
161 名前:デフォルトの名無しさん [2017/04/29(土) 02:55:48.56 ID:R+WhfS42.net] シミュレーションをより簡略に作成するための新言語開発を。 「ロボットは東大に入れるか」成果報告会 in 2016(11/14)レポート blog.livedoor.jp/dg_law/archives/52354118.html これからはシミュレーションシステムの構築が簡略化されるので、来年のセンター物理は大きく得点が伸びるに違いない。 スーパーコンピュータでの計算に必要となるプログラムはときに数十万行にも及び、作成やチューニングは大変困難です。 一方で、原理的にはシミュレーションしたい自然現象とその離散化法(注2)を指定すれば、プログラムは機械的に生成できます。 しかし、プログラミングはシミュレーションとコンピュータ双方に深い知識が必要となる非常に高度な作業であり、多数の計算機を 協調して動作させるスーパーコンピュータの性能を引き出す高度なプログラムを、自動かつ汎用的に生成することは不可能でした。 そこで共同研究グループは、方程式がプログラムに変換されるまでの一連の段階に対応する数学的定義を作りました。 スーパーコンピュータが持つ階層のすべての段階において、自然が元来備えている「並列性」と「局所性」(注3)を保持する変換 を厳密に定めることで、新たなプログラミング言語「Formura」を開発しました。これによって、これまで不可能だったプログラミング の機械化に成功しました。さらにFormuraは、同じアプリケーションに対して何万通りものプログラムを試し、最も速かったものを自動的に選択します。 Formuraを開発したことで、規則格子シミュレーション(注4)分野においては、自然科学者が慣れ親しんだ方程式の記法を使ってシミュレーション したい対象を記述することで、スーパーコンピュータの性能を引き出すための高度なプログラムが自動的に作成できるようになりました。 気象、地震、宇宙、生態ネットワークの研究など、規則格子シミュレーションを用いる分野の研究の加速が期待できます。 pr.fujitsu.com/jp/news/2016/12/2.html
162 名前:あ mailto:sage [2017/04/29(土) 12:11:59.50 ID:R/nsoadB.net] 投機ベースは確かに分野限られるし、実用例と先端の研究者が解離してる典型だわなぁ。 「5%の不良率で100個発注したら当たり前のように105個納品されてくるようなどっかのおおざっぱな国の発想だ」 と、日本の会社だと反発されるやつ。 ナップサックとか問題持ち出して、モノによっては泥臭く計算せなあかんのやと言うのと、 次は百万台でやっても一つのタスクの不可分な時間以下にはならんのだよ、 を説明して説得して導入するようなものだから。 トポロジ解析と図面生成か何かで原始的なそれやった事ある。
163 名前:デフォルトの名無しさん mailto:sage [2017/04/29(土) 13:21:11.09 ID:rB0Fvmgg.net] >>161 多くの深層学習フレームワークはNN構造をPythonなどで記述すると それをテンソルの計算グラフに変換してGPUで高速計算してくれる。 NN構造や規則格子をさらに簡略に記述したければJuliaがある。 Fomuraの20行のシミュレーション記述も既存の言語でできるはずだ。 つまりシミュレーションをより簡略に作成するために新言語は必要ない。 必要なのは用途毎のフレームワークだ。
164 名前:デフォルトの名無しさん mailto:sage [2017/04/29(土) 18:34:55.63 ID:n+S+CElE.net] 発展し続ける言語とゴミ屑同然に忘れ去られる言語、何が違うんだろうなぁ
165 名前:デフォルトの名無しさん mailto:sage [2017/04/29(土) 19:09:01.68 ID:0nTkChzC.net] 言語の良さを理解して使い続けられる人と、ゴミ屑同然の脳みそですぐに忘れ去ってしまう人、何が違うんだろうなぁ
166 名前:デフォルトの名無しさん mailto:sage [2017/04/30(日) 00:13:09.75 ID:feM/rwNV.net] >>164 覚えやすさとチューニングのしやすさ。 以上。
167 名前:デフォルトの名無しさん [2017/04/30(日) 01:03:20.38 ID:E30HxT2S.net] >>164 いろんなプログラム言語を開発しておいて、その上で『良いとこ取り』で新言語を開発する。
168 名前:デフォルトの名無しさん mailto:sage [2017/04/30(日) 01:49:39.39 ID:9UtCfcRf.net] >>164 バックでしょ Goはグーグル発じゃなかったら「今どき継承もない言語作ったのかよ?w」で即死
169 名前:デフォルトの名無しさん mailto:sage [2017/04/30(日) 01:50:36.87 ID:2awuHSHC.net] >>167 なおScala
170 名前:デフォルトの名無しさん mailto:sage [2017/04/30(日) 09:42:21.85 ID:QitJ8eBZ.net] >>168 実際死んでね?言語としては。 言語として死んでるのをGoogle謹製の周辺ツールで無理やりカバーしてゾンビ化してる感じ。 ゾンビなので一周回って死ににくい。
171 名前:デフォルトの名無しさん mailto:sage [2017/04/30(日) 10:18:39.25 ID:H2bTIgd1.net] どんだけバックが大きくてゴリ押ししても 死ぬときは死ぬ Dartとか
172 名前:デフォルトの名無しさん mailto:sage [2017/04/30(日) 12:02:29.80 ID:kLDfBj4F.net] >>168 >>170 Goは文法が簡単で高性能という特徴がある。 おかげで文法は簡単だが低性能な言語から移行しやすい。 だから難しい言語が選ばれない所で活躍している。 Gopherの道を歩む – Node.jsからGo言語への移行 postd.cc/the-way-of-the-gopher/ Go言語の低レイテンシGC実現のための取り組み postd.cc/gos-march-to-low-latency-gc/
173 名前:デフォルトの名無しさん [2017/04/30(日) 15:36:43.63 ID:4Q8qZxsi.net] Goって手続き型だろ? Mainに集中して必要な機能呼び出すだけでいいんだから設計書なしで良さそう
174 名前:デフォルトの名無しさん [2017/05/02(火) 06:00:14.79 ID:IDWdkJdY.net] 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.net] 回転放物面の方程式と東大の問題 mathtrain.jp/kaitenhobutsu 「放物線 y = 3/4 - x^2」 を 「y軸の回りに回転させる」 ・・・例えば、こういう操作ができる3次元CADって開発されてないんですか? 統計的機械翻訳では自然言語処理は無理という話も聞いているけれど、高校数学でやることは内容が限られており、 一般的な機械翻訳よりは難易度は低いと思われます。
176 名前:デフォルトの名無しさん mailto:sage [2017/05/02(火) 07:13:28.68 ID:iysKcMgd.net] 3次元CADを名乗っていて回転体を作れないもののほうが珍しいと思うが、 その問題を解けるCADは多くないだろうな。 近似的な数値解が求まることと、解を方程式で表して数式処理できることは全くの別物。
177 名前:デフォルトの名無しさん [2017/05/02(火) 07:39:13.20 ID:IDWdkJdY.net] >>176 >その問題を解けるCADは多くないだろうな。 そのための新プログラム言語開発ってことだよな。
178 名前:あ mailto:sage [2017/05/02(火) 11:18:08.85 ID:Ua7wVMyf.net] >>175 ごく当たり前の機能として存在する。 面で切り取る事もできる(面に対する押し出しで、相手方を削り取る感じ) 体積も求められるよ。 拘束条件は厳密だし、カーブを式で入れることもできるから。 ただ、それのために1License300万出す?
179 名前:デフォルトの名無しさん mailto:sage [2017/05/02(火) 14:54:44.43 ID:iysKcMgd.net] ああ、高精度な数値解を導出することと、任意の拘束条件から方程式を導出することの区別がつかない人がいるようだ。
180 名前:デフォルトの名無しさん mailto:sage [2017/05/02(火) 14:57:14.02 ID:Q2w+FZwb.net] 解析解が必要な場面なのか?これは
181 名前:あ mailto:sage [2017/05/02(火) 17:06:18.52 ID:Ua7wVMyf.net] >>179 うちでつかってるのは数値解じゃなくて方程式まで自由じゃないけど変数の式でも出たはず。あれ内製だったかな。 AutoCADのMASSPROPとかくらいだと、悲しいかな数値解しか出ないけど、カーネルに手を出せる会社ならだいたいその辺持ってると思うよ。
182 名前:あ mailto:sage [2017/05/02(火) 17:07:00.26 ID:Ua7wVMyf.net] もし内製だったら、当たり前の機能として、とは言えんな。 それはすまん。
183 名前:デフォルトの名無しさん mailto:sage [2017/05/02(火) 17:33:48.15 ID:iysKcMgd.net] 任意の方程式を扱えないと、>>175 の問題は解けないよね?
184 名前:あ mailto:sage [2017/05/02(火) 22:27:44.92 ID:Ua7wVMyf.net] >>183 押出する元の図形をプロシージャルではなくて、曲線定義で描く。 曲線への拘束条件で何を取るか次第だけど、問題文通り入れればそれで良いと思うよ。 ゴールデンウイークは試せないのがもどかしいな。
185 名前:デフォルトの名無しさん mailto:sage [2017/05/03(水) 16:11:10.64 ID:dCKp/m7W.net] Smalltalkって名前だけ変えて次世代言語って紹介されたら 殆どの人は信じてしまうくらい先進的だよね 進歩しすぎてて理解されない不幸な言語
186 名前:デフォルトの名無しさん mailto:sage [2017/05/03(水) 16:33:31.70 ID:RICjVVNj.net] 比較的新しい言語ってvar t : Type形式が多い気がするけどType t形式を利用しなくなった理由ってあるのかね
187 名前:デフォルトの名無しさん mailto:sage [2017/05/03(水) 16:46:20.28 ID:MC+KZ03m.net] >>186 型推論の問題じゃない?多分
188 名前:デフォルトの名無しさん mailto:sage [2017/05/03(水) 16:53:47.90 ID:jNZhewdQ.net] 型を書いたり書かなかったりする場合に記述を大きく変える必要がなくて都合がいいんだろう。 型推論を使う言語とか、動的型言語に型ヒントを追加する場合とか。
189 名前:デフォルトの名無しさん mailto:sage [2017/05/03(水) 17:10:47.34 ID:UME+lawj.net] たとえばC#だと基本はType tで後から型推論var t(: typeはない)を追加した だったら最初から統一的な記法で良くね?ってなる
190 名前:デフォルトの名無しさん mailto:sage [2017/05/03(水) 19:11:09.93 ID:RICjVVNj.net] なるほど 型推論が流行ってる(のかはわからないが)から型推論の書き方+αで書けるようにしたってことか
191 名前:デフォルトの名無しさん mailto:sage [2017/05/03(水) 20:37:23.26 ID:21J3ISub.net] デニス・リッチーも型前置にしたことを後悔していたんじゃなかったっけ? たぶん型後置の方が合理的という点には大方の一致があって、あとは合理性を取るか、Cの語順に近づけることを取るかっていう感じなんじゃないかな?
192 名前:デフォルトの名無しさん mailto:sage [2017/05/03(水) 22:01:20.86 ID:mJ/QVcTI.net] >>186 pascalがそういう記法だけど、コンパイル速いのはpascalがコンパイラの都合に合わせた文法だからって読んだことある。 何かしらコンパイラが解釈し易い記法なんじゃね?
193 名前:デフォルトの名無しさん mailto:sage [2017/05/03(水) 23:27:43.76 ID:AGrCBSz0.net] >>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.net] 昔のpascalは1パスコンパイラだった。コンパイルの速さはそれもあったかもね。 今のobject pascalはジェネリクスもあるしどうだろう?
195 名前:デフォルトの名無しさん mailto:sage [2017/05/04(木) 05:29:59.66 ID:TpHQvZsj.net] >>186 v: Type形式なら変数の型だけでなく、式に型をつける構文としてもそのまま使えるから。
196 名前:デフォルトの名無しさん [2017/05/04(木) 09:04:54.52 ID:IvFxbTrW.net] 値の演算だけでなく型の演算として同じ記号を使うのがCのポインタや配列 これは評判が悪かった 悪いのはポインタだけだというのがJava 全部悪いから全部変えるのが次世代
197 名前:デフォルトの名無しさん mailto:sage [2017/05/04(木) 09:34:14.90 ID:L3vkrSi7.net] まあポインタの宣言と参照のための記号に同じ * 使ってんのは今でもなんでなんとは思う。
198 名前:デフォルトの名無しさん mailto:sage [2017/05/04(木) 09:51:37.05 ID:l8/ufUYV.net] 関数の戻り値型の指定はPython,TypeScriptが=>、Swiftだと->が混ざって いまいち統一感がないんだよな。:のままだと構文的にうまくない部分があるんだろうか。
199 名前:デフォルトの名無しさん [2017/05/04(木) 10:09:01.14 ID:g5LPBSe2.net] >>186 C方式に慣らされてるからそう感じるだけであって あれはパースしづらいクソ構文だよ struct S s; を捨てたのは何でだろうと問うべきだよ
200 名前:デフォルトの名無しさん [2017/05/04(木) 10:44:22.27 ID:IvFxbTrW.net] そもそも静的型が悪いと思えば単純明快だな 静的型は悪くない、だがジェネリクスは不要、ただし Array<T> 等はこっそり入れておく こんな状態で統一感(笑)を期待する方がおかしい
201 名前:あ mailto:sage [2017/05/04(木) 11:53:43.54 ID:iOTKQL/7.net] >>200 思いっきりGoだな。 まぁ、Goに統一感なんか無いし、期待してはいかんw あれは誰でもかける便利な言語だよ。 一切の原理原則以外を排除する崇高な思想で作られた芸術品ではなくて、 「その辺にある便利そうなものを誤謬矛盾なく突っ込めるようにそれなりにルール作りました。 とりあえずこのルール破ると突っ込めなくなるからやめてね。コンパイルさせないよ。」 という、実用のためのルールが細かいのがGoだよ。 電動ドリルのチャックとビットの規格みたいなもん。 「対称性がなくなるからこのメソッドを実装する」という発想ではない。
202 名前:デフォルトの名無しさん [2017/05/04(木) 12:29:38.64 ID:IvFxbTrW.net] 原理原則というのは崇高な思想じゃなくて無駄な仕様変更の防止という実用の技術だ
203 名前:デフォルトの名無しさん mailto:sage [2017/05/04(木) 12:53:07.54 ID:g5LPBSe2.net] なんだ PHP だったのか
204 名前:あ mailto:sage [2017/05/04(木) 13:45:55.83 ID:iOTKQL/7.net] >>202 口実やね。 専用品と汎用品なら、圧倒的に前者の方か仕様変更の回数は少ない。 無理に延命したり使いましたりしたいからこそ、よくわからん仕様変更するハメになる。 無駄な仕様変更なら、最初からしなけりゃいいんだよ。 無駄なんでしょ。 使い捨てを使い捨てと認識する事こそがスタート地点。 歯が折れたら取り替えたいし、違う歯を使いたいからチャックがあるんだから。 歯の代わりにバフ付けることも出来るけど、それに対して仕様変更なんか要らないでしょ。バフを新規に作るだけじゃん。 置換原則出してきて証明する必要も無い。 >>203 そうだ、と言う認識だなぁ、俺は。 PHPも同じ理由で、いろんな意味でとても潔い言語だと思うよ。
205 名前:デフォルトの名無しさん mailto:sage [2017/05/04(木) 15:09:17.79 ID:TpHQvZsj.net] 言語設計とドリルチャックを一緒くたとか…完全に呆れた
206 名前:あ mailto:sage [2017/05/04(木) 17:00:05.42 ID:iOTKQL/7.net] 呆れるなら簡単だからな。 どう違うかをきっちり教えて欲しいわ。 本当に勉強になったら素直に勉強になったと言うことにしてるし、実際何度もそうレスしてるよ。 言語なんて外から見たときに一意に呼び出し規約や入出力が決まってりゃそれでいいんだよ。 これでも素晴らしい言語とやらを5個10個と多数見てから言ってるんだけどな。 それ以上の、実用性以上の思想の旗を振りたいなら、何故その思想が必要か語ってほしい。
207 名前:あ mailto:sage [2017/05/04(木) 17:07:42.27 ID:iOTKQL/7.net] しかし、式に型をつける構文が後置だから出来るのは本当なのかな。 キャストの前置や後置と何か違うのかなぁ。 って考えたら「宣言文 名前 型」の方が遥かに簡単にパースできるなって思わんのかな。 式に型をつけるってのも、コンパイラに教える意味での型か、キャストの型か2つの意味あるけど、どっちの事かな。 疑問。
208 名前:デフォルトの名無しさん [2017/05/04(木) 21:21:01.22 ID:IvFxbTrW.net] >>204 多分それは使い捨てではなく交換 これを捨てる代わりにあれが欲しい 見返りがあれば捨てるが無条件に捨てられそうになったら使い捨てに反対するだろう
209 名前:デフォルトの名無しさん mailto:sage [2017/05/04(木) 22:18:26.60 ID:L3vkrSi7.net] むしろ変な原理原則に縛られてる方が糞仕様の増加を招くのだが。 haskell みたいにな。
210 名前:デフォルトの名無しさん [2017/05/04(木) 22:34:29.63 ID:IvFxbTrW.net] 確かに、関数型とかいう変な原理でHaskellを理解しようとしてるならやめた方がいい 静的型の原理だけで理解できるから
211 名前:あ mailto:sage [2017/05/04(木) 22:35:23.26 ID:iOTKQL/7.net] >>208 「交換できる、交換出来ない」と「使い捨てである、改良を加えて連用する」は同時にどの組み合わせも成り立つのでは? これを捨てる代わりに、これと同じ機能プラスαの新ライブラリを作る、みたいな話で、 完全に前方後方互換の代替品であるかもしれないし、そうではないものかもしれない。 そういう意味では、無条件に捨てる事ができるってのは立派な見返りだよ。
212 名前:デフォルトの名無しさん mailto:sage [2017/05/04(木) 22:36:44.00 ID:hGwzsYkf.net] 良いんだよ。 Haskellは美しさが売りなんだから。 むしろ美しさを保ったまま、どこまで実用的なの作れるかが楽しいんだよ。 そう言う意味じゃsmalltalkと同じ、純粋xx言語でxxの真髄理解するなら〜って言語であって、次世代言語じゃあない。
213 名前:あ mailto:sage [2017/05/04(木) 22:36:44.02 ID:iOTKQL/7.net] >>210 ならPrologの方が賢いし、Scalaの方がまともだし、Lispの方が最低限の原理から出来てるから、Haskellは要らない子だな。
214 名前:あ mailto:sage [2017/05/04(木) 22:39:24.44 ID:iOTKQL/7.net] >>212 それそれ。エスペラント語とかロジバンみたいなもん。 実用的ではないけど面白いのは認める。
215 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 01:26:49.15 ID:xfO5LNpr.net] Haskellは代数的データ型が便利 何気にあのレベルに便利な型システム他に見ない
216 名前:あ mailto:sage [2017/05/05(金) 03:41:35.36 ID:05XvGSte.net] >>215 OCamlの方がシンプルかな。 Haxeの方が記法はきれい。 Kotlinはいささか冗長で使い物になるのかな?みたいな羊感出てるけど、when使うときに逆に便利になる。
217 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 05:49:16.66 ID:IB1/E975.net] SmalltalkとHaskellは使ってみるとゴミと分かる二大巨頭 信者が煩いとこもソックリ
218 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 07:09:34.37 ID:+77JIYq6.net] >>217 アンチがウザいのもそっくりだよね
219 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 07:18:58.13 ID:IB1/E975.net] >>218 どっちの信者?
220 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 07:39:38.28 ID:dc5WkLcd.net] >>217 アンチが無知なのもそっくりだよね
221 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 08:48:03.35 ID:2f8pCQ29.net] IntelliJとかのマトモなIDEを使った後に Smalltalkの時代遅れのIDEモドキ?を使ってみると、 終わった言語の進化に取り残されてる感がよく分かるし こんな出来損ないを使うの強制されるSmalltalkerって哀れだなーって優しい気持ちになれるよ
222 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 09:20:19.67 ID:7NmAzLlS.net] >>221 言語としてはどこらへんがゴミなの?
223 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 09:39:59.96 ID:2f8pCQ29.net] >>222 動的型言語の中ではぶっちぎりで冗長なコードになるところ
224 名前:デフォルトの名無しさん [2017/05/05(金) 09:54:56.24 ID:WrAdTxbV.net] 文字列クラスを改変したら元に戻せないという話はSmalltalkにも当てはまるのかな 文字列クラスクラスがあれば壊れたクラスを使い捨てて新品のクラスに交換できるのに
225 名前:デフォルトの名無しさん [2017/05/05(金) 10:13:52.40 ID:b5hiFaeg.net] >>224 クラスが壊れるという事自体が糞めんどくさい
226 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 13:00:01.57 ID:tVaTXT91.net] Smalltalkっていうか遅延結合の徹底ってスタイルは人類には早すぎたんだな
227 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 16:27:38.21 ID:lho11o7a.net] RESTful API等でサービス間を遅延結合するのは流行ってるしメリットがあるけど ひとつのプロセス内で遅延結合しても意味が無い アホは適切な抽象化レベルってものが分からないから やりすぎてナンセンスになっちゃうんだよね Smalltalkはアホがナンセンスなデザインした結果死ぬべくして死んだ言語
228 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 17:23:18.30 ID:9atsKcF/.net] Haskellは遅延評価が本当に苦痛すぎる あの辛さはやってみるまで想像もつかなかった
229 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 17:51:23.35 ID:tVaTXT91.net] Smalltalkにおいて「遅延結合の徹底」に期待されるのは通常の言語で想定されるそれとは違って システム構築中に得られた新たな知見を、既に構築済みだったり運用中の部分へ適用できたり オブジェクトとそのストアを長期にわたって運用し続けるために細胞の新陳代謝を模した試みだから metatoys.org/oxymoron/oxymoron.html '70年代からほんの数回の再起動で動き続けている同システムは狙いとしては成功しているんだよね
230 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 17:51:28.56 ID:RNJ7gaAH.net] 無限リスト扱えるし便利でもあり、バグ取りで厄介でもあるね。 RWHにその辺の解決策載ってるから手元に置いとくと良い。
231 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 17:51:33.32 ID:xTb1W+Ca.net] 馬鹿は抽象化することがなんでもえらいと思ってるからね。。
232 名前:あ mailto:sage [2017/05/05(金) 19:50:22.56 ID:05XvGSte.net] >>227 意味無いとは言わんがなぁ。 プロセス内でもプロトコル決めてやっとくと、あとでスケールするとか、 固まりへのインアウトが自ずと決まるから可換だと言いやすいとは思う。 やりすぎると自分の重さで死ぬだけで。
233 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 20:29:10.87 ID:RNJ7gaAH.net] FacebookでHaskell採用されたね。
234 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 20:49:47.45 ID:JET5JsI8.net] >>216 Haskellと比べてOCamlがシンプルって SMLと勘違いしてない?
235 名前:あ mailto:sage [2017/05/05(金) 20:51:14.85 ID:05XvGSte.net] >>234 してないよw シンプルってのは字数が少ないって意味じゃないぞ。
236 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 21:21:35.63 ID:JET5JsI8.net] >>235 そんなら勘違いしてるね
237 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 21:31:07.05 ID:n4hNDFR+.net] 全然関係ないけど、字数が少ないコードって一目で取れる情報が多くて読みやすくて好きだわ
238 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 21:42:23.21 ID:RNJ7gaAH.net] >>231 時代によって変わる程度問題だけどね。 C++だって、昔はクラスってなんだよ。Cより遅くなるじゃねーかって言われてたらしい。 昔よりも抽象度の高さが問題になる場面は少ない。
239 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 22:47:31.33 ID:PGBNZ8Aw.net] いつの間にかHaskellがスレタイから抜けててワロた。
240 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 23:29:21.86 ID:RNJ7gaAH.net] 取り敢えず拡張性比べるんならプログラム組むべ。 まずはファイル名とキーワードを受け取って、ファイルの中にキーワードがあったら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 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 23:31:16.17 ID:tVaTXT91.net] 前スレのドアのお題をPharo Smalltalkでも書いてみた ws.stfx.eu/JD8JH4XF3I3U Go版ももう少しマシな感じにしてみた ideone.com/aFqKsd
242 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 23:36:43.64 ID:RNJ7gaAH.net] だから、使い所不明なクラス書いてどうしろと。 プログラム組みたいのであってクラス作りたいんじゃ無いんだぞ?
243 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 23:59:41.96 ID:tVaTXT91.net] >>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 " ws.stfx.eu/1UQT4K8GSVHU
244 名前:デフォルトの名無しさん [2017/05/06(土) 00:04:14.20 ID:nikLe03p.net] >>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 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 00:23:53.40 ID:9tv813Aq.net] え。。。 通ったけど。。。
246 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 00:29:01.13 ID:gXvlLccW.net] うん、普通のデータ処理の比較は面白そうだ。
247 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 00:29:23.53 ID:9tv813Aq.net] >>243 おk。 強いて言えば、この後拡張する時、どこまで今のコードから書き換えないで済ませられるかが仕様変更に強い基準になると思う。
248 名前:デフォルトの名無しさん [2017/05/06(土) 00:33:03.34 ID:nikLe03p.net] >>245 そのままじゃ通らなかった けどごめんね、詳しく見てなかったけど駄目だったのはタイポだけだったみたいだね
249 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 00:35:03.84 ID:9tv813Aq.net] あ、argsをargaってタイポしてた。。。 LinuxにHaskell入れたばかりなのでPCで実行確認してiPhoneで書き込んでるんで、コピペでコンパイル出来ない時はどこかタイポあると思う。
250 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 00:50:29.93 ID:9tv813Aq.net] 次世代言語勢に参戦して貰わんとだから、第二形態は明日の夜発表って感じで良いかな。 一応、第三形態までの予定。 明後日から夜勤なんで、第三形態どうすっかな。
251 名前:あ mailto:sage [2017/05/06(土) 02:06:36.33 ID:BE072L/9.net] >>236 そうなのかなぁ。 例えばそれぞれのどんな例からシンプルさがわかる? 後学のため教えて欲しい
252 名前:あ mailto:sage [2017/05/06(土) 02:11:17.59 ID:BE072L/9.net] >>241 Go版、マシどころか疎にしておいたところ密にされてしまったな。 ノブのないドア、ノブはあるけどラッチのないドア 実現する術がなくなったね。 With Withなんて気色悪い無理に継承関係を作ったような型作るくらいならもう継承とか全部捨てたほうがマシ。 もうちょっと真面目にやって。
253 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 03:50:07.06 ID:oP2bFz9u.net] Kotlinになれるためにアプリを作ってるんだけど、久しぶりにc++触るとセミコロンがうっとおしくなるね 参照、ポインタ、値を自由に扱えてかつ新しい言語の特徴を捉えてるような言語が出てほしい
254 名前:デフォルトの名無しさん [2017/05/06(土) 06:35:37.73 ID:7HgaeBZn.net] 勝手にHaskellをスレタイから省くな。
255 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 07:19:08.10 ID:gBi5/Vqg.net] >>252 前スレの埋め込みを使った再帰型の試みとして、主要なメソッドを再定義しなければならない版より「マシ」と言ったまでで 君のチャンネル版よりマシという意味ではない それは他言語版と同じ設計で比較しやすくしたって程度だから気にしないで
256 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 07:23:37.59 ID:gXvlLccW.net] 各自、次世代言語に求めるものが違うのだろうけど、 気を悪くしないで欲しいがHaskell外してKotlinは個人的にはないかな。 敢えて外すなら次世代感満載のAgdaを入れて欲しい。 が、呼び水としての趣旨からしたらHaskellを敢えて外す理由が分からない、個人的な怨嗟?
257 名前:デフォルトの名無しさん [2017/05/06(土) 08:00:28.21 ID:Yu22orOs.net] 実用性が乏しすぎるので次世代にふさわしくないとの事 あと前スレでまともなコードを掲示しなかったので、そもそもHaskellerが居ない事が分かった
258 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 08:15:37.40 ID:JdaZnrFf.net] >>256 Javaより古いHaskellを次世代言語に混ぜた初代スレの>>1 がどうかしている。 初代スレはHaskellの美しさを語るエアプログラマーが多かったが 次世代言語の実用性を語るスレに変わってよかったと思うよ。
259 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 08:35:08.14 ID:9tv813Aq.net] Haskell推しだが、次世代取れるほどライブラリ充実してないし、速くもないからsmalltalk的な立ち位置だと思ってる。 次世代じゃ無いけど、学ぶべき価値ある言語。
260 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 08:41:48.81 ID:gBi5/Vqg.net] >>255 参考まで、ほぼ同じ設計にした場合の Ruby版 ideone.com/7VnOfe Python版 ideone.com/UngSO8 Scala版 scastie.org/30851 Swift版 swift.sandbox.bluemix.net/#/repl/59032b64ebfba02b8d274320
261 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 08:43:22.81 ID:9tv813Aq.net] >>257 Mix-inとか言われては書けなかったね。 普通のクラス代りなら何とかなったが。 そもそも目的のプログラム作るアプローチとして関数かクラスかなのに、クラス作れは問題としてオブジェクト指向に有利過ぎ。 実際に動くプログラムで拡張勝負のが公平っしょ。 だから>>240 提案した。
262 名前:あ mailto:sage [2017/05/06(土) 08:50:48.08 ID:BE072L/9.net] >>255 なるほど。申し訳ない絡み方したな。 smalltalkでもパッシングに徹すればひたすらコーディング量はあるけど割りと文句無いのできそう。 >>256 Kotlinなしなの?使いやすいのに。実用性あるから?
263 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 08:56:13.51 ID:VviFbgmi.net] 各言語、得意分野あるからな。 証明付きでプログラム書けとかなったら、Coqなどの証明支援系の独壇場で、 他言語の入り込む余地がないように思われるが如何?
264 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 08:58:57.84 ID:ye19IDAy.net] Bertrand MeyerがEiffelを大事そうに抱えながら>>263 を睨んでいるぞ。
265 名前:デフォルトの名無しさん [2017/05/06(土) 09:31:45.79 ID:nikLe03p.net] 自分もRubyやGroovy使ってたせいかもしれないが Kotlinは言語としては悪くないけど次世代感は感じない golangぐらい簡素な仕様にしてくれればまた違ったとは思うけどJVM言語だしなあ
266 名前:デフォルトの名無しさん [2017/05/06(土) 10:21:48.72 ID:BwUsBv8i.net] 言語が次世代でありさえすればライブラリはJVMでもなんでもいいぞ ライブラリ関係ないなら、ライブラリがない言語でも参加しやすい
267 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 10:22:29.07 ID:ubF1nelW.net] >>262 > smalltalkでもパッシングに徹すればひたすらコーディング量はあるけど割りと文句無いのできそう 具体的にはどこらへんにその「量」を感じた? ドアの振る舞いを記述してるコード自体はGoで書くよりずっと簡潔でステップ数も少ないはずだけど 念のため補足すると件のSmalltalk版では、通常はGUIやIDE任せにするクラスやメソッドの定義 (ちなみにGNU Smalltalkなどを除き、IDE前提のSmalltalkにはクラスやメソッド定義の構文が無い) をあえてクラスへのメッセージングでやっているのでそのぶん冗長にみえるかもしれないけど
268 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 12:29:53.45 ID:64kzmcng.net] 何でSmalltalkerさんは劣った設計で比較する事に拘ってんの? Goが得意な技法はダメ、Smalltalkで書きやすい技法だけ使って書くっていう縛りでもあるの?
269 名前:デフォルトの名無しさん [2017/05/06(土) 12:43:22.47 ID:xfCUj8G0.net] >>259 同意
270 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 12:46:26.00 ID:ye19IDAy.net] >>268 どうしてそういう発想になるのか全く不明。 人間の言葉でしゃべって。 >>267 を補足すると、 compile:とかがやたら続いているコードブロックがクラスやトレイトの定義に相当する部分で、 それ以外がドアやストッパーを操作するサンプルコードな。
271 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 12:52:37.52 ID:ubF1nelW.net] >>268 いや別に拘ってないですよ そもそも誤解があるようなので断わっておくとGoを貶めるつもりは全然なくて Smalltalkに難癖を付けてるID:BE072L/9が前スレからGoが詳しそうなんで その方がわかりやすかろうとGoを引き合いに出したまでです Goの得意な技法を駆使した優れた設計ってどんなのですか?ぜひ教えてください 今のところ埋め込みスタイル以外で出ているのだとこういうのでしょうか?→ideone.com/yvttId このお題自体では設計を工夫しにくいと言うことであれば、新たにGoに有利なお題をご提供いただければと
272 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 12:58:55.97 ID:ubF1nelW.net] >>268 あと、 > Smalltalkで書きやすい技法だけ使って書くっていう縛り とのご指摘ですが、少なくとも Ruby、Python、Scala、Swift では Go よりすんなり書けています>>260 から 旧世代言語で書きやすい…ならともかく、Smalltalkで書きやすい技法だけって縛りにはならないですよね?
273 名前:デフォルトの名無しさん [2017/05/06(土) 13:05:23.06 ID:BwUsBv8i.net] 愚問という便利な言葉がある 答える側には間違えるリスクがあるのに問う側を無リスクで無謬とするのは不公平
274 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 13:51:25.64 ID:dM6SBXFL.net] その言語特有の機能で書いた方が優劣分かりやすくね?
275 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 14:24:42.57 ID:wNWjHlrM.net] >Goの得意な技法を駆使した優れた設計 chan と select 使ったサーバープログラムなんでねーの。 ああいうふうにチャンネルに放り込んだものを適当に一列に並べてくれるのはかなり楽。
276 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 15:30:08.75 ID:TldMS9JZ.net] ここまで次世代言語から>>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 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 15:43:50.78 ID:TldMS9JZ.net] 仕様変更への耐性だから、基準となる第一形態のコードの長さは問わない。 どんな変更があるか事前準備したクラスがあってもおk。 第三形態までの変更箇所の少なさが言語の優劣とする。
278 名前:あ mailto:sage [2017/05/06(土) 16:40:50.57 ID:BE072L/9.net] 意見≒難癖とは生きづらいな
279 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 18:13:57.91 ID:ye19IDAy.net] 事実に基づかない悪評価は難癖だわな
280 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 20:12:56.46 ID:XqR1goBE.net] エンジニアガイジのGo版ってあのなぜか最初から並列化を意識して書かれてたやつだっけ?
281 名前:あ mailto:sage [2017/05/06(土) 23:05:01.66 ID:BE072L/9.net] >>279 主観としての悪評価と客観としての悪評価を混同すんなよ…。 採点してる訳じゃないんだから。そこまで傲慢でも無いよ。 俺Rubyボロクソに言ってるけど、主観としてだよ。 >>280 並列化を意識してるんじゃないよ。 コンポーネントとして存在し得るかを考えただけ。 ノブがノブだけで存在できないなんておかしいじゃん。何にも繋がってない地面に転がったノブさえ定義できないのに、突然ドアについてる突起をノブだと言うくらい不自然じゃないの? オブジェクト指向ってなんなの? 地面に転がってるのも、ドアについててもノブであって、ノブとしての役割を果たしているか否かでしかないのでは? 確かにそのノブがノブとして成立するのはドアについたときだろうけど、それ以前からそいつ自身の存在が変わったわけじゃないじゃん。
282 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 23:09:30.32 ID:bKqO2+sL.net] >>281 んー。クローザーついてないドアにもスレッド使ってなかったっけ?
283 名前:あ mailto:sage [2017/05/06(土) 23:16:33.79 ID:BE072L/9.net] >>282 スレッドと言うかまあマイクロスレッド使ってるけど。 キューイングしてる所で同期をGoにやってもらった形に近い。 イベントやらメッセージパッシングと変わらんつもりだけど、キュー抜いて中もgoroutineなのは確かに悪手は悪手か。 それは確かにそうだな。
284 名前:デフォルトの名無しさん [2017/05/07(日) 02:09:25.68 ID:bNWzpChq.net] まだHaskell信者が暴れてるのか ラッチの開閉すら実装出来ないと前スレで判明してのによく再登場出来るな
285 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 02:38:17.71 ID:zdh+Rbcj.net] いやあの問題が糞だと思ったHaskellerが問題出してる流れじゃないの?
286 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 02:59:03.65 ID:JOXD31Or.net] >>284 実装はできてたでしょ?
287 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 04:54:40.21 ID:ehHyxLGM.net] 久しぶりに覗いてみたけど、お前らまだやってたの? 良く飽きないな
288 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 08:02:58.35 ID:M/7nygcc.net] Smalltalkerはお題で使って良い言語機能に縛りを入れようとするからクソ
289 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 08:26:48.70 ID:HF1KyfYe.net] まぁここであーだこーだ言ったところで、大手の採用が多くなった言語が次世代扱いになるだけだからな 主に決めるのは外人だ
290 名前:デフォルトの名無しさん [2017/05/07(日) 09:55:32.27 ID:6O1o1Sih.net] >>289 まるでトクホや世界遺産に採用されるみたいな 官僚主義だな
291 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 10:05:54.32 ID:4Tfm86M3.net] >>281 主観で悪評価しているなら、それこそ難癖以外の要素ゼロじゃないか。
292 名前:デフォルトの名無しさん [2017/05/07(日) 10:48:31.07 ID:6O1o1Sih.net] 嘘ニュースを野放しにして個人の感想を問題視するのは本末転倒
293 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 10:56:51.74 ID:U5ljnRqU.net] Haskell 難しすぎて叩きたくなるのもわかる。
294 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 11:24:25.93 ID:PZmLVVS1.net] ほんと難しいよ 物を作る道具としては失格だな
295 名前:デフォルトの名無しさん [2017/05/07(日) 11:25:56.17 ID:6O1o1Sih.net] 静的型が難しすぎて失格なんだよ 叩きたいことと叩くべきことが一致してない
296 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 11:29:53.16 ID:Kq+qtoGk.net] microsoft word の動作が難しいって意味での難しさだわな。 無意味なむずかしさだわ。
297 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 11:56:43.37 ID:uANj4DVJ.net] 性的型が難しいって。。。 自分で正しくプログラム組めてませんって言ってるようなもんじゃん。。。
298 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 12:01:01.50 ID:uANj4DVJ.net] 溜まってんのかな。。。 x性的型が o静的型が
299 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 14:33:06.42 ID:2RFcNsFZ.net] お前らのゆう次世代言語って、キャットドア問題を解けるのか?
300 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 14:53:43.84 ID:38Z51qvh.net] >>299 キャットドア問題って言いたいだけだろお前 すでに答えは出てるし、そもそも問題の把握すら出来てないじゃないか?
301 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 14:58:24.43 ID:EXP2lJkU.net] >>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 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 15:03:42.15 ID:zdh+Rbcj.net] キャットドアが解けて何かいいことがあるんですかね?
303 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 16:13:25.59 ID:m17h7+4k.net] >>301 仕様変更への耐性を競うだけなので、まあライブラリ使ってもそれで仕様変更に強いなら構わないけど。。。 Haskellとsmalltalkしか回答寄せて貰えてない。。。 キャットドアのクラス作るだけの問題よりも、客からこんな機能付けてって要望に応える形で仕様変更されたのを如何にコード変えずに対応するかって問題は実践向きで良いと思ったんだが。。。
304 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 16:18:52.35 ID:m17h7+4k.net] あと3時間もすれば会社行くからコードは明日。。。も出かける予定で無理か。。。 明後日には書くので、第二形態の問題だけ出しとく。 ファイル中に検索するキーワード見つかったら、見つかった数も表示するように機能追加。 見つからなかった時は表示しなくても良いし、表示を分けるの面倒臭かったら0個って表示で見つかった時と表示機能を共有しても良い。
305 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 16:26:36.91 ID:EXP2lJkU.net] >>303 なるほどね ならConduit使った方が処理簡単に挟めるから、仕様変更には強いと思う あとはストリーム処理だから読み込むファイルが巨大になっても一定のメモリしか使わないってのも考えてみた
306 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 17:24:00.66 ID:zdh+Rbcj.net] >>303 多分実戦向きの問題でいい感じなんだと思うんだけど、出題レスがとっちらかってて全部探すのめんどくさくてやる気起きなくてすまん 綺麗に纏まったレスどれ?
307 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 17:30:40.95 ID:m17h7+4k.net] >>240 と>>277 だけ見てくれればおkかと。
308 名前:デフォルトの名無しさん [2017/05/07(日) 17:57:04.14 ID:zdh+Rbcj.net] >>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 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 18:08:49.23 ID:m17h7+4k.net] >>308 オブジェクト指向も関数型言語も、仕様変更に強いって言われて広まったり注目されてるから、次世代言語も仕様変更に強くないと使える言語と言えないと思って。 だから、書き捨てでも良いし、どんな変更が来るか事前に予測した設計でも良いけど、設計変更に強いと言うのを示せるか?って感じ。 ちなみに私のHaskellは何にも考えてはいない。 自信があるとかじゃなくて、デザパタとか知らない。 関数型言語が設計変更に強いなら、まあ何とかなるだろうってノリ。 全体の趣旨 >>277 第一形態 >>240 第二形態<-今ここ >>304
310 名前:デフォルトの名無しさん [2017/05/07(日) 18:14:46.33 ID:zdh+Rbcj.net] おっと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 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 18:18:38.81 ID:zdh+Rbcj.net] >>309 仕様変更に強いっていってもこのお題の長さなら仕様変更というより新たに書き上げる短さを競うことになるな 一切再利用考えなくても三行だし
312 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 18:23:23.71 ID:/lTp1FVO.net] >>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' ws.stfx.eu/RU59LGEMKG9G
313 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 18:23:58.94 ID:m17h7+4k.net] そこをどうにか機能追加で search test.txt hoge Ture 4 みたいな感じに表示項目増えるように第一形態のコードを育てる様にして欲しいんだが。。。 関数名以外は中身が丸っと変わっても良いけどさ。
314 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 18:27:46.84 ID:zdh+Rbcj.net] え、関数名変えたらいかんの? それはおかしいやろ 一回作った関数の振る舞いを変更するのはおかしい。別の関数を作るべき
315 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 18:28:27.76 ID:m17h7+4k.net] Haskellではタプルをそのまま表示して search test.txt hoge (True,4) ってする予定。
316 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 18:29:37.82 ID:m17h7+4k.net] >>314 そう言う問題も第二弾として考えてる。
317 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 18:32:35.47 ID:zdh+Rbcj.net] うーん。この程度の量で無理に機能追加で育てていくこと自体が設計ミスだと思うけどなあ
318 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 18:42:25.99 ID:m17h7+4k.net] そこは承知の上で、まだ次世代言語入門したばかりでも参入しやすい様にってのと、過去のコードに影響あるよね?って事で第二弾に持って行きたい。
319 名前:デフォルトの名無しさん [2017/05/07(日) 18:47:14.19 ID:zdh+Rbcj.net] はい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 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 18:51:13.41 ID:zdh+Rbcj.net] >>318 やりたいことは了解したけど、回答者としては適切な設計でいきたいから、再利用したほうがいいと判断するまで再利用しないからな まあいい具合に短いし気が向いたら次世代っぽい言語でもやってみるか
321 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 19:24:12.22 ID:m17h7+4k.net] (しぶしぶ)了解。
322 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 19:36:18.70 ID:4ZC1qsBr.net] 再利用しないほうが少ない変更でいけるものに再利用を強制して、その分量で言語の優劣を測るというのは理不尽な話だ
323 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 20:18:32.73 ID:zdh+Rbcj.net] Pythonのコードで再利用せずに済んでるのはバッテリー付き言語であるのが大きいな。もし次世代言語でmatchとかcountすらないようなのがあるとしたらその言語にとってはそこそこいい課題になるかもな
324 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 20:59:47.13 ID:/lTp1FVO.net] >>304 ファイルの行ごとの内容はメモリに収まる程度なのか、とか 例えば 'xxxoooxxx' という文字列内に 'oo' は1個なのか2個なのか、とかは 回答側の都合がいいように自由に決めていい?
325 名前:デフォルトの名無しさん [2017/05/07(日) 21:31:50.41 ID:6O1o1Sih.net] 仕様変更というから仕様バグをデバッグするのかと思ったら バグのない完成品に機能追加して多機能化すれば優秀さを示せるって発想か 嫌な予感がする
326 名前:あ mailto:sage [2017/05/07(日) 21:34:41.10 ID:tachXp58.net] >>322 可換であるべき理由を殺しに来てるよね。
327 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 23:11:40.56 ID:4ZC1qsBr.net] >>326 どういう意味?
328 名前:デフォルトの名無しさん mailto:sage [2017/05/08(月) 01:06:43.83 ID:F16X/4LX.net] Ocamlって型クラスないのか
329 名前:あ mailto:sage [2017/05/08(月) 06:18:15.11 ID:FkyLZnez.net] >>327 再利用せずに入れ替えたいから、その部品が使われるときのインターフェイスを定義して、関係ないものをカプセル化するんじゃん? 再利用して無理に機能追加してると、割りと早めにインターフェイスは形骸化するよ。 引き戸である、とか、このドアは回転扉で開けると反対が閉まる、とか、エアロックみたく、どちらかしか開かない制限をかけたいとか、そういう要件で安易に 扉だったものを魔改造するハメになる。 そうすると、インターフェイスってものや、カプセル化ってものが、完全に無意味になる。 魔改造されてて、本来の意味を失ったインターフェイスの「ドアを押す」メソッドとか怖すぎるじゃん。
330 名前:デフォルトの名無しさん mailto:sage [2017/05/08(月) 06:39:47.64 ID:pk8djPQr.net] >>329 横レスだけど ざっくり言うとインターフェイスや型クラスの存在理由を殺しにかかってるって意味だよね 元の言い方だとちょっとわからなかったよ
331 名前:あ mailto:sage [2017/05/08(月) 06:45:50.09 ID:FkyLZnez.net] >>330 インターフェイス、型、あとはクラス構造自体の意義、もうちょっと広くとっても良いかなって思って。 Cでもアセンブラでも可換な作り方って出来るから、あまりに具体例にするのも話が矮小化しそうだなぁって思ったんよ。 申し訳ない。 「も、含めて」とかちょっと言い方考えるわ。
332 名前:デフォルトの名無しさん mailto:sage [2017/05/08(月) 06:53:05.16 ID:pk8djPQr.net] >>331 言いたいことはわかるよ ただ可換なって言うだけだと 上の問題例もアリになっちゃうかなと…
333 名前:デフォルトの名無しさん mailto:sage [2017/05/08(月) 06:57:25.03 ID:Ya4nTupG.net] アルゴリズムなんてどれで書いても同じなんだから もっとUI作りやすい言語くれよ。
334 名前:あ mailto:sage [2017/05/08(月) 07:22:21.17 ID:FkyLZnez.net] >>332 あーなるほど。 難しいもんだな。表現ってのは。 ありがとう、勉強になる。ちょっともう少し練ってから話すわ。
335 名前:デフォルトの名無しさん mailto:sage [2017/05/08(月) 18:51:10.68 ID:nU60kBJx.net] >>324 行は基本メモリに収まる程度だよ。 小説とか、常識的なテキストで問題無ければおk。 行に一個二個を回答側の都合ってのは普通駄目だろう。。。 でも、あんまりにも回答者いないんでもう良いよ。。。
336 名前:デフォルトの名無しさん mailto:sage [2017/05/08(月) 18:54:25.80 ID:nU60kBJx.net] >>329 あー。。。 あんま考えずに提案してたわ。。。 うーん。。。 インターフェースは変えずにって条件付ける? 実際に引数増やさないと駄目な時は補助関数作って、実際の処理はそっちに丸投げみたいな形で。 一応第二弾ではそう言うのも考慮して、既存の関数に手を加えないで機能拡張ってテーマで行く予定だけど。
337 名前:デフォルトの名無しさん mailto:sage [2017/05/08(月) 21:10:34.76 ID:nbca9qQS.net] >>335 > 行に一個二個を回答側の都合ってのは普通駄目だろう。。。 であれば、正規表現に丸投げするのでもなければ処理内容にも影響するので 例えば 'xxxoooxxx' 内に 'oo' は1個と数えるか2個と数えるかとかは出題側で事前にきちんと決めてください
338 名前:デフォルトの名無しさん mailto:sage [2017/05/09(火) 00:31:37.08 ID:fIUN0UPL.net] ああ! 勘違いしてた。 そう言うことね。 ラッキー7(777)検索してて7777ってなってたら1個と数えるか2個と数えるかって事か。 私の方法だと2個に数えてるので2個にしましょう。
339 名前:あ mailto:sage [2017/05/09(火) 02:14:34.77 ID:w3DidVUp.net] メモリをジャブジャブ使えて1個で考えて良いなら殆どの言語で一行なんだけどなぁ。 jsで言うと(content+'').split(delimiter).length-1だから。
340 名前:デフォルトの名無しさん mailto:sage [2017/05/09(火) 07:18:26.65 ID:83wQykSi.net] >>335 「小説とか」ということは、日本語の可能性もあるの?その場合に想定してるエンコードは? とにかくideone.comとかで参加者が気軽に動作を確認でき、かつ仕様を満たした回答例を先に出しといてください 実戦向きとか言うわりに細かな仕様がまったくわからんし、動くコードでもなければエスパーするにも限界があるよ
341 名前:デフォルトの名無しさん mailto:sage [2017/05/09(火) 08:36:02.65 ID:YN7Krfta.net] 言語が次世代になっても要件定義(笑)などが旧世代だと どうにもならんね
342 名前:デフォルトの名無しさん mailto:sage [2017/05/09(火) 09:22:59.82 ID:7e9h09Aa.net] >>339 +'' ってなんかのおまじない?
343 名前:あ mailto:sage [2017/05/09(火) 10:56:31.08 ID:b+ihuqXk.net] >>342 splitがundefにならんように、文字列とコンカチしてる。
344 名前:あ mailto:sage [2017/05/09(火) 11:59:38.90 ID:b+ihuqXk.net] 言葉足らずだったな。文字列と見せかけて数値にどっかで化けさせた奴対策だったり、そもそも引数来なかったとかそういうやつ。
345 名前:デフォルトの名無しさん mailto:sage [2017/05/09(火) 13:13:43.62 ID:7e9h09Aa.net] >>344 なるほど ただ、それでエラーは出なくなるだろうけどバグが見つかりにくくなる悪寒しかしない
346 名前:あ mailto:sage [2017/05/09(火) 15:17:46.56 ID:tzdZ6ACH.net] >>345 数数えるんだから、数えられないものが来たらゼロになっていいんよ。
347 名前:デフォルトの名無しさん mailto:sage [2017/05/09(火) 16:14:33.37 ID:PEK3Ov/R.net] >>339 そうなんだ。。。 じゃあ、両方のを書くのでどっちもおkにします。 >>340 長さは?とか聞かれて小説とかって書いたけど、今回は適当なソース読ませる程度しか想定してないし、参入障壁にしたくないからアスキー文字だけしか想定してない。 本当、思い付きで申し訳ない。 そんな訳で下のコードをコピペして検索にかけると >search search.hs search (True,16) ってなるはず。 んで、777を検索して7777を1個と数える版はsearch2として書いてみた。 最早Pythonよりも修正箇所多そうだけど気にしない。 do形式よりモナド形式が好きなのでdo形式コメントアウトしてるのは気にしないで欲しい。 (ちょうど良かったんで7777を確認用にdoの後ろに追加してる)
348 名前:デフォルトの名無しさん mailto:sage [2017/05/09(火) 16:15:07.28 ID:PEK3Ov/R.net] 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 名前:デフォルトの名無しさん mailto:sage [2017/05/09(火) 16:29:20.54 ID:7e9h09Aa.net] >>346 contentがundefinedでdelimiterが'e'とかだったら?
350 名前:あ mailto:sage [2017/05/09(火) 20:01:48.57 ID:Qrp6KBdW.net] >>349 undefinedと空文字列かー、jsdoだと空になったけど、文字列化してしまうなら辛いな。
351 名前:デフォルトの名無しさん mailto:sage [2017/05/11(木) 14:33:48.35 ID:xTl8MRgt.net] 第三形態とやらはどうなった?
352 名前:デフォルトの名無しさん mailto:sage [2017/05/11(木) 14:41:22.16 ID:+i4P6kRh.net] 第一第二形態で次世代言語の回答もないのに出して良いものか。。。
353 名前:デフォルトの名無しさん mailto:sage [2017/05/11(木) 14:47:49.71 ID:+i4P6kRh.net] まとめとこう。 >>309 で一旦まとめて インターフェース(引数)固定縛り。 (補助関数可) 英数字のみのファイル前提。 行やファイル全体もメモリに収まる程度を想定。 777で検索した際、7777は検索結果1個とカウントしても2個とカウントしてもおk。
354 名前:デフォルトの名無しさん mailto:sage [2017/05/11(木) 17:06:04.00 ID:xTl8MRgt.net] そういうのいらないから第三形態と回答例はよ
355 名前:デフォルトの名無しさん [2017/05/11(木) 17:14:36.14 ID:+i4P6kRh.net] はいはい・・・。 んじゃ、検索で見つけた位置も追加で表示するように拡張。 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 名前:デフォルトの名無しさん mailto:sage [2017/05/11(木) 17:32:30.86 ID:+i4P6kRh.net] >>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 名前:デフォルトの名無しさん mailto:sage [2017/05/11(木) 17:35:54.43 ID:/dUENRjT.net] 結局俺たちの次世代言語はハスケルとスモールトークだったということか。
358 名前:デフォルトの名無しさん mailto:sage [2017/05/11(木) 17:41:01.83 ID:+i4P6kRh.net] んな訳ないと思うんだが。。。 第三形態まで出たんだから、次世代言語勢たのんますよ。 本当。
359 名前:デフォルトの名無しさん mailto:sage [2017/05/11(木) 18:01:32.36 ID:+i4P6kRh.net] 要約 英数字のみのテキストファイルと検索文字列を受け取るコマンド。 行の長さや、ファイル自体の大きさは常識の範囲内。(メモリに収まる大きさ) 関数のインターフェース(引数)固定縛り。 第一形態からなるべく大きな変更無しで拡張して行くルール。 第一形態 検索文字列が存在するかどうかのみ表示 第二形態 検索文字列の存在と何個あるか表示 第三形態 検索文字列の存在、個数、見つかった位置を表示 Haskell 第一形態 >>276 第二形態 >>348 第三形態 >>355
360 名前:デフォルトの名無しさん mailto:sage [2017/05/11(木) 18:04:33.44 ID:+i4P6kRh.net] あ、777検索してて7777は一個二個どっちで数えてもおk。
361 名前:あ mailto:sage [2017/05/11(木) 18:41:45.50 ID:lLJXISKu.net] >>359 ガバガバでは? type LookupResult struct { //略 } func (lr LookupResult) foundAsBool Bool{ return lr.found } func Lookup(needle,haystack String) LookupResult{ //検索処理 return LookupResult{found:結果} } って第一形態書いとけば、LookupResultが超リッチになってくだけでインターフェイスもへったくれもない石器時代の発想で書けちゃうよ。 そして往々にして業務アプリ屋ならちょっと気がおかしいレベルで、こんな形で結果をラップする事を徹底してる。 大きな変更は無いけど、いい事も無い。
362 名前:あ mailto:sage [2017/05/11(木) 18:42:31.33 ID:lLJXISKu.net] >>361 あ、ごめん。foundAsBoolの後ろに()無いな。
363 名前:デフォルトの名無しさん mailto:sage [2017/05/11(木) 18:46:17.93 ID:TwpHLB2C.net] しもた。。。 7777を一個と数える版(search2)でバグあった。 見つけたらdrop (length w)してるんだから、リストに追加する発見位置はそのままだけど、現在位置は検索文字列の長さ分足さなきゃだった。 適当に修正お願いします。(おい)
364 名前:デフォルトの名無しさん mailto:sage [2017/05/11(木) 20:01:32.06 ID:o2lqEhku.net] 第三形態も1から書いたほうが早いな そう、バッテリー付き言語ならね
365 名前:デフォルトの名無しさん mailto:sage [2017/05/11(木) 20:43:01.26 ID:pualqazL.net] ていうか何のスレ? 次世代言語議論してないよな
366 名前:デフォルトの名無しさん mailto:sage [2017/05/11(木) 21:12:13.28 ID:w7aTa8S+.net] 次世代言語での>>359 への回答待ち。
367 名前:デフォルトの名無しさん mailto:sage [2017/05/11(木) 21:28:25.35 ID:w7aTa8S+.net] って事は実行結果の例も修正せなな。。。 >>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 名前:デフォルトの名無しさん mailto:sage [2017/05/11(木) 22:14:35.58 ID:pualqazL.net] 久しぶりにコードみたけどHaskellちゃんキモイな〜 10年前から主要言語TOP10は変わってないという事実をお忘れなきように
369 名前:デフォルトの名無しさん [2017/05/11(木) 23:32:16.09 ID:5z6DmCSe.net] 10年間スマホを世界中で売りまくっても何も変わらなかったのは意外だな
370 名前:デフォルトの名無しさん mailto:sage [2017/05/12(金) 00:30:03.06 ID:3oRK7AIr.net] それは今後も主要言語は変わらないから次世代言語について考えることは無意味ってことかな
371 名前:259=359 mailto:sage [2017/05/12(金) 02:24:49.85 ID:QHw9MbYN.net] >>368 >>259
372 名前:デフォルトの名無しさん [2017/05/12(金) 06:43:44.99 ID:4vGyFDSj.net] 実装基準がよくわからない。 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 名前:デフォルトの名無しさん mailto:sage [2017/05/12(金) 08:36:47.18 ID:u9nYGLh2.net] そもそもこのスレからHaskellはスレ違いになったんだが
374 名前:あ mailto:sage [2017/05/12(金) 08:40:43.26 ID:6RnAOpKz.net] >>364 第二形態書いた時点で第一形態は、第二形態を中で呼ぶ様に書き換えないと悲劇だし、第三形態も同じ。 レビューで辛辣な第一形態を安易に書いたdisりを受けたあと、直交性が失われるために、それより前の形態をAPIとしてobsoluteにしてライブラリ関数とかマクロに降格するレベルだよね。
375 名前:デフォルトの名無しさん mailto:sage [2017/05/12(金) 10:34:41.20 ID:nQbZenvu.net] >>372 Data.Listの関数はisInfixOfとisPrefixOf、tailsを本で読んだだけで使った事ないな。。。 それ以外は見た事すらない。 ちゃんと使うと、ここまで書けるのね。 そう言う意味じゃ、おいらのは入門書前半の知識だけでも書けるって感じやね。 おいらがHaskell好きなのは美しさもだけど、ひたすらミニマムな知識だけでも何とかなっちゃうのが良い。 数学と同じで便利な関数知ってれば、強力な武器だし周りからは難しそうに見えるけど、基本はとても簡単で、少ない武器でもどうにかこうにか自力でも解ける。 これこそ初心者向け言語だって思ってるんだけどねぇ。。。
376 名前:デフォルトの名無しさん mailto:sage [2017/05/12(金) 10:35:36.50 ID:nQbZenvu.net] >>373 Haskell追い出せるだけの次世代言語の立派な回答求む。
377 名前:デフォルトの名無しさん mailto:sage [2017/05/12(金) 13:24:07.84 ID:H6Uk5vuw.net] "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)]. ] ] ]. ws.stfx.eu/DQART2BS6GYF
378 名前:デフォルトの名無しさん [2017/05/12(金) 17:26:32.26 ID:k//9Mr+f.net] >>368-369 でもCの地盤沈下は確実に進んでるわけで まー2017にはさすがにCOBOL使ってるシステムも リプレースされただろ?されてるよね?ってところ
379 名前:デフォルトの名無しさん mailto:sage [2017/05/12(金) 20:20:28.20 ID:H6Uk5vuw.net] >>377 の search3rd はもっとシンプルに書けたので差し替え search3rd := [:str :kw | (str lines collectWithIndex: [:line :idx | (line allRangesOfSubstring: kw) collect: [:range | idx -> range first] ]) concatenation ]. ws.stfx.eu/A3HB6MT66GI5
380 名前:デフォルトの名無しさん mailto:sage [2017/05/12(金) 22:43:42.90 ID:y9SJMwIK.net] 第4世代、4番目、英語で言えば、Forth
381 名前:片山博文MZ mailto:sage [2017/05/12(金) 22:45:07.26 ID:r6F8dCD7.net] 残念、fourth でした。
382 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 00:01:55.41 ID:hYOIVOdy.net] そんなの良いから。 実際問題キャットドアより簡単だから。 次世代言語以外が回答してるのがおかしいから。
383 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 01:15:28.36 ID:VbJPsYiJ.net] 終わった言語が必死にコード載せてアッピールしようとしててウケるw
384 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 01:52:43.37 ID:7Z9U0QOC.net] pascalとかForceとかね。次世代言語だよ? Fortunは77じゃないよね
385 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 04:50:33.84 ID:j31cCXIw.net] 数行のコードも書けぬ低脳に担がれ哀れな次世代()言語
386 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 08:16:21.72 ID:2mf4fJqx.net] ぶっちゃけ新しい言語とか覚えるの面倒だから次世代とかいらねーって思ってるんだろ?
387 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 08:20:03.99 ID:zCDOTfft.net] 次世代言語を考えるなら古典に立ち戻ることが重要だな。 スレタイに挙げられた言語は局所最適の枝葉末節だらけで参考にならない。
388 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 08:26:47.84 ID:pUHHN6Pq.net] じゃあ原点に立ち返って、Smalltalkのどこがゴミで死んだのか確認しようぜ
389 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 09:04:37.48 ID:1FO9O0uX.net] さすがにそれはスレ違いだろう
390 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 09:12:34.64 ID:4agJqfcC.net] いくらお題がアレとはいっても、 ここまで来てなんで一つもKotlinとかGoで書くやつがいないのか。 簡単だし時間かからないだろ? Smalltalk馬鹿にしてる奴も意味不明。
391 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 10:51:00.22 ID:Cn0XNRH7.net] お題が簡単すぎて面白くないからだろ
392 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 10:59:13.12 ID:n2tLG6k9.net] ほんまそれ。Pythonの例で問題の糞さが示されたと思ったが
393 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 11:11:25.11 ID:XdPYiSal.net] python がいかに読みやすいかが示されただけだな。
394 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 11:14:51.78 ID:GlvX42FB.net] Pythonの第三形態マダー?
395 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 11:51:00.37 ID:rBo1iP3S.net] Pythonから次世代言語に乗り換える意味が見当たらない
396 名前:あ mailto:sage [2017/05/13(土) 12:14:40.76 ID:Mm9GiQ8r.net] >>390 夜か明日、書いてもいいけど、全く以って問題が悪すぎて、次世代もクソも無いと思うよ。
397 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 14:48:56.11 ID:7U8nUyJb.net] >>394 現実、3.x だから第3形態じゃないのか? 0.9 もあったから第4形態かもしれんが。
398 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 16:19:26.54 ID:XdPYiSal.net] プログラミングエアプ勢の一発逆転の可能性 それが次世代言語の意義なんだよ。
399 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 18:54:00.95 ID:zCDOTfft.net] 問題が悪いとふんぞり返っていれば次世代言語がどこからか降って湧いてくるのか。 便利なスレだな。
400 名前:あ mailto:sage [2017/05/13(土) 21:16:28.56 ID:l2RlSRsK.net] また、「エアプ」か。どこで流行ってんだその言葉。。 問題が悪いからと言って次世代言語が降ってこないのは当たり前と言うか、 自動車が発明される前に人々にニーズ調査したら「すごく早くて馬が疲れにくい、壊れにくい馬車がほしい」って答えただろうってフォードのおっさんの名言に尽きるだろ。
401 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 21:56:48.51 ID:QiNZfANm.net] >>384 英文は無理でも言語名の綴りぐらいはちゃんと書こうね ForceじゃなくてForth FortrunじゃなくてFortran pascalはPascal (固有名詞だから頭文字は大文字、なお全部を大文字で書く・・・PASCAL・・・か否かは趣味の問題だが 全部を大文字で書くのは小文字がディスプレイやプリンタで表示・印字できなかった古い時代の名前というニュアンスが加わる)
402 名前:デフォルトの名無しさん mailto:sage [2017/05/14(日) 06:47:23.26 ID:FpH7uWr+.net] >>397 すぐ手前の流れも読まないPython使いってなんかマヌケだね
403 名前:デフォルトの名無しさん mailto:sage [2017/05/14(日) 11:16:19.57 ID:g1XH9FW+.net] マジな話、いまだにショボいお題にご執心のハスケラの方がマヌケだけどね
404 名前:デフォルトの名無しさん mailto:sage [2017/05/14(日) 12:32:07.52 ID:1QHY+inp.net] ドア云々とかよりは実践向きだと思うけどな
405 名前:デフォルトの名無しさん mailto:sage [2017/05/14(日) 12:40:55.67 ID:ZZLeiCLl.net] まあドアよりはな
406 名前:デフォルトの名無しさん mailto:sage [2017/05/14(日) 13:56:58.74 ID:KHWozqTm.net] >>403 結局それか 何か叩いてないと安心できないだけ
407 名前:デフォルトの名無しさん mailto:sage [2017/05/14(日) 14:23:56.19 ID:tMuNfTLo.net] ドアは糞 だがしかしコードをちゃんと読めて(あるいは書けて)改めて糞だと言えてる奴がどのくらいいるかは怪しいな ドア→実用なし→糞と短絡してるだけとか 実際、>>404 や>>405 はドアのお題、何分ぐらいで書けるの?
408 名前:405 mailto:sage [2017/05/14(日) 16:59:45.21 ID:ZZLeiCLl.net] >>407 Juliaの書いて、書いた上でドア糞って言い始めたのは俺だぞ あれ思い出しながら書いたから一時間くらいのかかったわ なんか言語仕様変更してる所とかあったし
409 名前:デフォルトの名無しさん mailto:sage [2017/05/14(日) 18:38:38.10 ID:tMuNfTLo.net] >>408 それはお見それしました で>>404 は?
410 名前:デフォルトの名無しさん mailto:sage [2017/05/14(日) 19:19:30.14 ID:oT3eSlat.net] キャットドア問題も解けないくせに
411 名前:デフォルトの名無しさん mailto:sage [2017/05/14(日) 19:34:09.72 ID:hXmCvLEt.net] >>408 Images のデータ構造また変えやがった。いい加減にしてくれ。
412 名前:デフォルトの名無しさん mailto:sage [2017/05/14(日) 19:53:34.96 ID:tMuNfTLo.net] >>410 あれはコンポジットで解決だろ その前に問題点理解できてるのか?
413 名前:デフォルトの名無しさん mailto:sage [2017/05/14(日) 22:19:02.85 ID:USv6MFnh.net] Go: ideone.com/HpfQo5 Kotlin: ideone.com/9xPk7i
414 名前:デフォルトの名無しさん mailto:sage [2017/05/15(月) 00:34:41.47 ID:vRkjYJPr.net] 次世代言語でも手続き型言語の呪縛からは解き放たれないのか。。。 既存言語の着せ替えでしか無いなら、プログラムの組み易さも大差無かろう。
415 名前:デフォルトの名無しさん mailto:sage [2017/05/15(月) 00:54:38.55 ID:vRkjYJPr.net] >>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 名前:デフォルトの名無しさん mailto:sage [2017/05/15(月) 01:06:58.66 ID:8Y8+/ZxP.net] 結局関数型の雄はなんなの?
417 名前:デフォルトの名無しさん mailto:sage [2017/05/15(月) 01:32:26.10 ID:hQsWbFnv.net] 既存の言語でやれってことだろ。 オブジェクト指向をむりやり c でやったように。 結局それが正解。
418 名前:デフォルトの名無しさん mailto:sage [2017/05/15(月) 01:34:34.82 ID:vRkjYJPr.net] 何が関数型言語の雄になろうと次世代言語にはならないかなぁ。。。 私はただHaskellに惚れてるだけで、ここが良いって紹介もするけど、それって結局Lisperと同じ道を歩んでると思う。
419 名前:デフォルトの名無しさん mailto:sage [2017/05/15(月) 01:36:41.34 ID:vRkjYJPr.net] しまった。。。 一人称が真面目モードに。 x私 oおいら
420 名前:デフォルトの名無しさん mailto:sage [2017/05/15(月) 06:38:31.61 ID:k5wZeeQn.net] アテクシはScalaが最強だと思いましてよ、ホホ
421 名前:デフォルトの名無しさん mailto:sage [2017/05/15(月) 09:32:58.17 ID:G/N4Afa9.net] 量子コンピュータ向けの言語じゃね? 言語なのかどうか知らんけど。
422 名前:デフォルトの名無しさん mailto:sage [2017/05/15(月) 10:34:46.05 ID:OVQU3b0Y.net] 次世代と称される流れには2つの傾向があって ひとつはScalaやSwiftのように従来のOOPLをベースにして(つまり機能は特に削らずに) これまで関数型言語の独擅場だった型推論やオプショナル型といった型システムのサポートを手厚くしたもの もうひとつは、さらに一歩進めていろいろな不都合の元凶であったクラス(もっというと継承)を外して言語機能を大胆にシンプルにしたもの GoやRustがこれにあたる…ってところか あと個人的には並行・並列処理のサポートを手厚くした言語、Clojureや前と重複するけどGoとかも この調子でコアが増え続ければ重宝されると思う Rubyは両方を狙っているけどたぶん失敗する
423 名前:あ mailto:sage [2017/05/15(月) 12:50:33.96 ID:HDk+iNO5.net] Rust、今更もう一度触ってみたけど、割とまとまってきてるな。 風呂敷広げ過ぎた悲壮感減ってきてる。 ただ、それでもすごく安全なCとして使うほうが便利な気がするわ。
424 名前:デフォルトの名無しさん mailto:sage [2017/05/15(月) 13:17:14.26 ID:CnSqTz4B.net] Rustなんて木構造もまともに書けない言語が次世代とか飯食ってるときにわらかすなwwwwwww
425 名前:デフォルトの名無しさん [2017/05/15(月) 14:36:26.20 ID:JAUTsopg.net] わらかす
426 名前:デフォルトの名無しさん mailto:sage [2017/05/15(月) 14:45:26.78 ID:CnSqTz4B.net] 「笑かす」な。
427 名前:デフォルトの名無しさん mailto:sage [2017/05/15(月) 15:08:17.40 ID:hQsWbFnv.net] 木構造もすべて配列で用意させる硬派な言語
428 名前:デフォルトの名無しさん mailto:sage [2017/05/15(月) 15:50:28.38 ID:CnSqTz4B.net] Rustって言わばCより低機能な言語だからな。 そりゃ何も出来なきゃ安全だよな。
429 名前:あ mailto:sage [2017/05/15(月) 17:18:40.45 ID:HDk+iNO5.net] >>424 RcとRefCellで書けるんじゃないの?
430 名前:デフォルトの名無しさん mailto:sage [2017/05/15(月) 17:20:05.97 ID:ciuqqN4z.net] >>416 sml/nj
431 名前:デフォルトの名無しさん mailto:sage [2017/05/15(月) 17:33:40.67 ID:CnSqTz4B.net] >>429 教科書的に書くだけならな。Cのように実用に耐え得るものは書けない ttps://hackernoon.com/why-im-dropping-rust-fd1c32986c88
432 名前:あ mailto:sage [2017/05/15(月) 18:36:33.51 ID:HDk+iNO5.net] >>431 この人が行き詰まってるのは、オブジェクト指向そのまま当てたからでは? structのImplでもなく、traitの関数でもなく、 traitのImplで書けば何とかなりそうだけど。 あと、サイズを取得したいだけなら、lifetimeを明示してCopyちゃんとすれば良いのでは?
433 名前:デフォルトの名無しさん mailto:sage [2017/05/15(月) 19:00:47.68 ID:RWNXh8sg.net] 書けると主張するなら書けばいいのに
434 名前:デフォルトの名無しさん [2017/05/15(月) 19:24:57.87 ID:jxMhaoqU.net] 笑かす
435 名前:デフォルトの名無しさん mailto:sage [2017/05/15(月) 20:17:30.50 ID:hQsWbFnv.net] 実際書くと大変なことを無意識に理解してんでしょ。 そういう種類のごまかしをするやつはよくいる。
436 名前:あ mailto:sage [2017/05/15(月) 20:54:20.75 ID:HDk+iNO5.net] 書いたら面倒だって事は否定してないじゃん。 この人が行き詰まってるのは、借用とは割と関係ないオブジェクト指向脳ではって話してるんだけどなぁ。 CでもMISRA-C通そうと思うと木構造相当辛いし。 産業向けのC書いてる奴なら耐えられるレベルの話だと思うけどなぁ。 手軽さ的には俺はGoを押し続けるが、否定するもんでもないと思うようになったな。
437 名前:デフォルトの名無しさん mailto:sage [2017/05/15(月) 21:00:18.80 ID:zTfCWGM6.net] チューリング完全だからなw
438 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 00:41:59.04 ID:HLEZgw56.net] なぜか C 書く人はみんな MISRA-Cを守ってるという話になってんな。。
439 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 01:26:25.84 ID:YrF/ZMci.net] まあ当のMozillaがRustでDOM木の処理書くのに難儀してるとは聞くから簡単ではないんだろうな。 物が作れない最高の言語より、物がつくれる嫌われ言語の方が結局世の中に貢献するんだよな。この点ではPHPでさえRustより世の中に役に立ってる言語と言える。
440 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 01:30:45.27 ID:/yslofcu.net] ようするに?
441 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 01:46:35.68 ID:O9oAiYi/.net] firefoxの書き換えが成功したなら実用性では文句無しになるの?
442 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 02:00:35.86 ID:PbASgT1d.net] というかまだ書き換えられてないのか…
443 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 11:18:02.03 ID:PSQsih3e.net] >>441 成功するなんて妄想してるからChromeにシェア完全に奪われたんじゃねーの?
444 名前:あ mailto:sage [2017/05/16(火) 13:09:50.84 ID:RIytWhRI.net] >>438 守ってない部分はGoやらなんやら、もっと手軽な物で書いたほうが楽じゃん。 あれは要は、ヒープやスタックの領域の担保やら、死んだポインタへのアクセスの回避やら、そういう部分に対して言語側から縛りかけて安全にしよう、ってスタンスなのでは? 本人らは推してるが、副次的にGCが無い言語になってるように見える。 >>439 歯ブラシ言語はマジで強い。PHPはdisる奴がわからんレベル。 遅いしまともじゃない動きしたりするけど「とにかく動くwebページ」は一瞬で作れる。
445 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 13:14:04.12 ID:dZpCRHDk.net] また発狂してる……
446 名前:デフォルトの名無しさん [2017/05/16(火) 13:18:30.66 ID:D7FkMXFe.net] 次世代スマートポインタだけでよさそうな気がするけどそれをやったらC++の独壇場だな Goやらなんやらの出る幕がなくなってしまう
447 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 13:43:07.20 ID:PSQsih3e.net] Goの何がすごいって、言語の批評家にこんだけタコ殴りにされても、もの作る速さが圧倒的の一点でここまででかい言語になったことだよな。 RustはCを安全に倒しすぎた結果なにも作れなくなった言語って意味では対照的。 Servoは失敗するだろうが、そこで得られた知見でRust2.0(1.xと互換性なし)が出てからが本番と見てる。
448 名前:デフォルトの名無しさん [2017/05/16(火) 14:33:32.43 ID:rFzXLZrQ.net] GUI付きのOSまで作られてるのに何も作れないとは
449 名前:デフォルトの名無しさん [2017/05/16(火) 14:47:31.26 ID:D7FkMXFe.net] 歯ブラシではなく弱者で同じことができれば尊敬されるだろうな 弱者を批判する批評家から弱者を守ってみろ
450 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 14:57:19.22 ID:bxFACSIv.net] TiDBつーかTiKVに続報がないのがな。 対抗馬のゴキちゃんは1.0リリースしたのに。
451 名前: mailto:sage [2017/05/16(火) 20:55:08.15 ID:szD5YOp7.net] MISRA ってそんなに厳しいのかい?
452 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 20:55:48.40 ID:zxK8tMMg.net] phpはガチでないわ php持て囃してるやつらって、php書いたことないやつらだろ プロトタイピングならまだしも、phpをプロダクトに使うたら頭おかすなるで
453 名前:デフォルトの名無しさん [2017/05/16(火) 20:57:15.12 ID:gJA+c77n.net] 関数各々link時に再帰の有無て判別できるんだろうか?
454 名前:あ mailto:sage [2017/05/16(火) 22:59:06.93 ID:RIytWhRI.net] >>451 めんどくさいけど、あれ通りに書いてたらバイナリパッチ作りやすい。 >>452 世の中、プロトタイプ程度の物で充分な事が多いって事でしょ。
455 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 23:37:19.01 ID:q2BEchMh.net] >>454 ねーよガイジ ペチプァは死ね
456 名前:デフォルトの名無しさん mailto:sage [2017/05/17(水) 00:01:12.17 ID:3IJ9wgg6.net] ペチパーへの強い憎しみを感じる……
457 名前:デフォルトの名無しさん [2017/05/17(水) 04:28:27.85 ID:2wQy2LFh.net] Nimってどうなん? 次世代感は無い気もするけど
458 名前:デフォルトの名無しさん mailto:sage [2017/05/17(水) 04:48:40.76 ID:bqqNuZww.net] >>432 似た印象を持った 問題提起者が新しい型と型制約の逆転に気づいてないし、 RustをRubyか何かと勘違いしている感じだ
459 名前:デフォルトの名無しさん mailto:sage [2017/05/17(水) 06:25:59.43 ID:IyzcLayy.net] >>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 名前:デフォルトの名無しさん mailto:sage [2017/05/17(水) 07:38:00.11 ID:sxUcFyDL.net] 性的オッパイソンみたい
461 名前:デフォルトの名無しさん mailto:sage [2017/05/17(水) 07:38:49.95 ID:dkQOogT2.net] まともなプログラマならPHPなんて金積まれても書かないから、 PHPを書いたことがあるプログラマは全て無能のクズペチパーでFA
462 名前:デフォルトの名無しさん mailto:sage [2017/05/17(水) 08:29:33.19 ID:wJf0VzTx.net] >>460 何それ?楽しそう。
463 名前:デフォルトの名無しさん mailto:sage [2017/05/17(水) 11:39:01.15 ID:RUw3nkZO.net] EC-CUBEとかphpじゃん? 求人多いじゃん? でも言語としてはダメってこと?
464 名前:デフォルトの名無しさん mailto:sage [2017/05/17(水) 12:43:44.96 ID:F+w5XH8T.net] >>463 PHPは言語ではない。まずそこからだ。
465 名前:デフォルトの名無しさん [2017/05/17(水) 13:07:19.59 ID:rCny4GOf.net] >>464 え? まあ、EC-CUBEは開発当初流行ってたからPHPで作った というだけで今一から同じもの作るとしたらPHPという 選択肢は無いんじゃないかなぁ。 PHPが流行ったのは歴史的な経緯が大きいと思うし。
466 名前:デフォルトの名無しさん mailto:sage [2017/05/17(水) 13:16:25.89 ID:l7mhfXJ7.net] >>447 つーかああいう馬鹿な批評家みたいなやつが生産性を落としてるんじゃねーかっていうことを 証明したのが go という印象。
467 名前:あ mailto:sage [2017/05/17(水) 14:32:20.84 ID:FjYdmJm+.net] >>455 夏休みの工作をフライス盤で作るような事したくないじゃんww 悪いもの使ってるから悪いものしか作れないと言う意味じゃなくてな。 俺の字が汚く見えるから鉛筆は使わない、みたいな情けない字が下手なやつの言い訳に聞こえる。 >>458 この辺思想だから、移植物だと仕方ないっちゃ仕方ないんだよね。
468 名前:デフォルトの名無しさん mailto:sage [2017/05/17(水) 17:32:30.07 ID:0Ygr9k03.net] PHPはテンプレートエンジンであって、それを使って無理矢理プログラミングしてるのが異常事態っていうテンプレは置いといても、 誰がが言ってたが生産性が高いんじゃなくて生産性を前借りしてるっていうのは言い得て妙だと思った。Rubyに対しての話だがPHPにもしっかり当てはまるな。 Goは「前借り」感が少ない。少ないだけでまだあるがRubyやPHPよりはるかにマシ
469 名前:デフォルトの名無しさん mailto:sage [2017/05/17(水) 17:33:55.88 ID:0Ygr9k03.net] 借りて返さなくていいプロダクトなら確かに一つの選択肢になり得るってのは否定しようがないけどな
470 名前:デフォルトの名無しさん mailto:sage [2017/05/17(水) 23:33:27.42 ID:NA6XP0ND.net] 今出てきてる次世代言語はどれも外れ臭い 洗練されてない くどい 従来の物のほうがなじみやすい 目立った成果をあげていない
471 名前:デフォルトの名無しさん mailto:sage [2017/05/17(水) 23:56:52.27 ID:MByoVwD6.net] >従来の物のほうがなじみやすい これはさすがにアホだろ
472 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 01:36:26.16 ID:ahqmwSBr.net] >目立った成果をあげていない 新興言語が既存言語の積み上げた資産ぶち抜く成果上げたらびびるわ。 コンテナオーケストレーション領域やNewSQL領域みたいなそもそも新しい分野ではGoが結構強い。
473 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 03:34:10.58 ID:DKg0Na73.net] AndroidでKotlinサポート!
474 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 06:06:25.90 ID:TSzqrQQ0.net] HaskellはClojureよりは実用的。。。らしい。 【Lisp】プログラミング言語 Clojure #4【JVM】 [無断転載禁止]©2ch.net 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 名前:あ mailto:sage [2017/05/18(木) 08:04:06.63 ID:j3O3T+hJ.net] >>468 それはその通りだろうな。 まぁ、使い捨てるためのものであって、確かにあれでバッチ処理とか書いてたのは直させたことある。 >>472 新しい概念に新しい言語はマッチするし、やっぱ効率的だと思う。 PCODEとパスカルとか。 資産活用なら、すごい親和性のKotlinかな。JavaのクラスのgetXXXとsetXXXが、勝手にクラスのプロパティになるとかすげえなって思う。
476 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 10:38:06.37 ID:CUeY4+YJ.net] >>475 そこらへんのKotlinの機能はただのGroovyのパクリ というか静的型以外は大体Groovyのパクリ
477 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 11:37:49.17 ID:sfBdYfQZ.net] 過去の資産を自然に利用できるってのは次世代言語にとってでかいってことかね。 そういう意味じゃ c++ は先見性のある言語だったんだろうな。
478 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 11:58:01.78 ID:Ueu9cV6M.net] Rustもbindgenとかで頑張ろうという姿勢はなくはないな。 肝心の言語がアレだが。 一方GoはGoogleの暴力で全部自前で資産を構築した。
479 名前:あ mailto:sage [2017/05/18(木) 12:37:01.30 ID:j3O3T+hJ.net] >>476 当時の次世代だったじゃん、Groovy。 まぁ、KotlinもAndroidの一級言語になったし、暴力かどうかはおいといてこれからどうなるかはわからんが。
480 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 13:10:22.49 ID:Ueu9cV6M.net] あ、暴力っていうのは恐怖政治って意味じゃなくて、圧倒的な自前リソースで叩き上げたって意味ね。数の暴力のニュアンスに近い
481 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 13:17:24.91 ID:XKDAC558.net] Kotlinは無事次世代から現世代に格上げされたようだな さようなら次世代言語ことりん
482 名前:デフォルトの名無しさん [2017/05/18(木) 13:31:05.44 ID:twTr7KgU.net] >>459 まぁそれ言うとRoR出る前のRubyとか・・・って話に なっちゃうしなぁ。 別に推したい訳じゃないけど、サラサラッと見た感じ ツボは押さえてて悪くなさそうなので、今まで俺は全然 聞いたことなかったし何故かなーと思った次第。
483 名前:デフォルトの名無しさん [2017/05/18(木) 13:54:46.39 ID:V9vRGfQu.net] Google、KotlinをAndroidアプリ開発言語に選定―I/O会場から大喝采 jp.techcrunch.com/2017/05/18/20170517google-makes-kotlin-a-first-class-language-for-writing-android-apps/
484 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 14:02:21.88 ID:Ueu9cV6M.net] Nimの競合はCrystalやJuliaって気がする。 この中ではJuliaがリードしてる。
485 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 14:50:52.71 ID:TSzqrQQ0.net] >>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 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 14:54:47.81 ID:TSzqrQQ0.net] 動かすとこんな感じ >zipArgs hello world good by [("hello","world"),("good","by")]
487 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 15:53:54.50 ID:XatVFB8/.net] コテになってくれればNGにぶちこめるのになあ
488 名前:名前は開発中のものです。 mailto:sage [2017/05/18(木) 16:14:27.77 ID:ymL7Ro8a.net] GoogleはJVM捨てたいと思ってたからKotlin採用したの意外だな というかGoに自信ないの?
489 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 17:11:11.24 ID:ZGxkwhYz.net] >>486 言語組み込みの1メソッドで対処できる程度のつまんないお題しか出せてないってそろそろ気付けよ
490 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 18:22:51.27 ID:5cH1kli9.net] >>488 Goは文系土方を集めて開発する時の言語じゃない? Google社員は優秀な人多そうだからGo使うより別の言語使った方が効率良いんだろ
491 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 18:27:00.09 ID:f8y2NPBR.net] いや単純にGoのバイナリがモノリシックでバカでかすぎるからじゃねえの? JVMとKotlinランタイム積んだ方が総合的にスマホでは得なんだろ。
492 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 18:45:04.78 ID:XAZP4kgQ.net] >>489 1メソッドで対応出来るの見せてもらえれば、流石次世代言語と思うけど。 じゃあ何かお題出してくださいな。 クラス作れとかじゃなくて何か実際に動くものの。 出来れば高卒のおっさんでも解けるレベルなら有難いw 今>>359 をより実用的にするアイデア浮かんでて、まず上の通り複数ファイル対応の後、見つけた場所と同じ行の文章を表示させたいって思ってる。 これを一行丸々か、前後を何十文字ずつ切り取るってするか考え中だが。
493 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 19:09:30.79 ID:oGyoSyzb.net] Haskell使いって変なのしかいないよな なんでかしらんけど インターフェースって書いたり文末に。つけたり おじいちゃんなんだろうか?
494 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 19:19:39.20 ID:XAZP4kgQ.net] 多いと言うか、おいらだけかと。 若くはない。 そう歳でもないつもりだったが、おっさん言われる歳になっちまった。 次世代言語にも興味あるのに、言葉ばかりでコードがあんまり出てこないから問題出せば見られるかと思ったんだが、上手くいかないね。
495 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 19:22:15.02 ID:oGyoSyzb.net] sed ,grep ↓ awk ↓ perl ↓ ruby
496 名前:デフォルトの名無しさん [2017/05/18(木) 19:58:51.19 ID:twTr7KgU.net] 句点打つとおじいちゃんて何か非常に新鮮だな。 これで俺もおじいちゃんの仲間入り。
497 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 20:03:00.27 ID:XAZP4kgQ.net] まー何にせよ、お話ばかりで全然コード出ないのにウンザリなのよ。 簡単なので良いから次世代言語のコード見て見たいのよ。
498 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 20:19:35.82 ID:PWYbvK6z.net] githubでも漁ってれば良いのでは
499 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 20:45:13.68 ID:lDLOBuVe.net] インタフェース? インタネット?
500 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 21:19:37.89 ID:CUeY4+YJ.net] >>493 いつも本題と別のとこに難癖つけて荒らしてるのお前だろ なんか明らかに引っ掻き回してる奴いるなと思ってたが、今回ので確信した
501 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 21:22:49.46 ID:oGyoSyzb.net] 別人だろ 昨日から見始めたんだから
502 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 22:13:42.45 ID:CUeY4+YJ.net] >>479 そうか次世代ではあったか しかし動的で静的にも使えるGroovyのが書いてて楽しかった 普通のJavaコードをそのままコンパイルできたし敷居も低かった KotlInは今使ってはいるが、優等生過ぎて自分には合わない感じがするな
503 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 22:17:31.87 ID:CUeY4+YJ.net] >>501 ほんとかよw
504 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 22:32:46.48 ID:L+z+Rh5o.net] >>501 半年ROMってから書き込めよクソザコナメクジ
505 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 23:37:06.81 ID:oGyoSyzb.net] >>503 多分こいつが犯人だろw >>504
506 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 01:22:16.89 ID:NMLOtQ5J.net] 今回みたいにGoogleとかその他大企業が採用するかどうかが全てだな ここでこれは次世代、そうじゃないとか言っててもチラシの裏だな ともかく、GoogleはJVM捨てる方向に行くかと思ったけど、このタイミングで捨てなかったらずっと使われるだろうな
507 名前:デフォルトの名無しさん [2017/05/19(金) 01:29:41.16 ID:PoZXo8Ro.net] 別にビジネスにするわけでもなし、酒の肴にあーでもない こーでもない言って楽しむスレでしょ? もっとマイナーな奴発掘してみても面白いんじゃないかな
508 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 06:03:36.39 ID:a+VoRKlA.net] kotlinてネイティブでも動かす方向みたいだけど やっぱjvm嫌なんかね https://blog.jetbrains.com/kotlin/2017/05/kotlinnative-v0-2-is-out/
509 名前:デフォルトの名無しさん [2017/05/19(金) 07:21:55.50 ID:VJmnxTyM.net] >>506 それは製品を選ぶ消費者が全てだと言っているようなものだな 消費者の気持ちが全てだから作者の気持ちなどは無意味だと
510 名前:あ mailto:sage [2017/05/19(金) 08:11:43.65 ID:3tW0/dbk.net] JackとJillがいまいちだった、ってので、なんとかしたかったんだろうな。 JVMはARTの時点でほぼ捨ててるのでは?LLVMベースのAOTに近い動きしてたと思う。
511 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 09:33:01.74 ID:Ig6oJN7I.net] Google的にはとりあえずOracleに訴状は勝ったしな そのうちJetBrain買収して全権掌握、kotlinもやりたい放題弄りだすんじゃね androidがjavaもどきである必要性は世界的に皆無だしみんなハッピー
512 名前:デフォルトの名無しさん [2017/05/19(金) 10:05:13.89 ID:PoZXo8Ro.net] 元々は上物の開発しやすいようにJavaなんだよね? でもパフォーマンスとかに問題があったからなんやかんや していた感じで。 一時期UIというか上位層にJavaって流行ってたしナァ。
513 名前:デフォルトの名無しさん [2017/05/19(金) 10:15:34.60 ID:VJmnxTyM.net] Oracleは大企業の中で最弱・・・みたいな設定を後出しするやつは無能 最初から大企業の強さを疑問視していた方が正しい
514 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 11:05:24.31 ID:oL/PZTz9.net] webkitをblinkにフォークしたgoogleのことだ そのうちコトリンもポロリンとかにフォークされる
515 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 11:16:40.28 ID:+diyR2T6.net] Kotlinとやらは今のScalaよりも良いものなのかね?
516 名前:デフォルトの名無しさん [2017/05/19(金) 11:42:51.86 ID:DP36oPkJ.net] kotlinのニュース聞いて調べてみたけど、なんだよOOP(笑)か。 ここで関数型の言語指名してればGoogleもまだやるなぁと感心したけれど。
517 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 11:59:32.63 ID:Jt2Le5fJ.net] >>498 2ch住民がどんなコード書くのか見たかってん。。。 例えば>>485 のコードRubyで書いて見たけど、イマイチ命令的で宣言的にはならんのよな。 次世代言語ならもっと宣言的に書けないかなとか。
518 名前:あ mailto:sage [2017/05/19(金) 12:05:33.38 ID:3tW0/dbk.net] >>516 書いてみ。 クラス宣言は必ずしも要らんし、データの定義だけが出来たり クラスみたいだけど、ブロック始まって即関数ではなく束縛とか宣言できたり処理できたり関数書いたりできて、それがメソッドやプロパティになったり、 割と無茶できる言語だよ。
519 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 13:23:54.29 ID:2r0FKFiQ.net] 今のScalaはランタイムの大きさとかコンパイル時間とかでモバイルに適合しないってのは理解できるんだが、 Googleともあろう企業がScalaのランタイム改良ではなく言語としては劣化ScalaのKotlin採用って方針にしてるのは違和感あるんだよな。
520 名前:デフォルトの名無しさん [2017/05/19(金) 14:09:46.57 ID:A3h0WO1I.net] わかりやすいってのは重要なポイントでしょ。 次世代ヲタからすれば、SwiftとかKotlinとかGoが憎くて憎くて仕方ないんだろうな。
521 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 14:15:46.20 ID:rZS5Oczq.net] わかりやすいのは大事だな 低機能言語が読みやすいとは思わんけど
522 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 14:20:00.44 ID:kmqi8gbh.net] 可読性の観点から言うと、Kotlinが読みにくいというよりはScalaのimplicit嫌ったか。 それなら納得できるわ。
523 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 14:26:16.91 ID:6kOz+D1v.net] あまり次世代っぽくはないけど、Goが並行処理を得意そうなのでこんなお題はどうでしょう? お題 1) 1から1000までの整数からなる要素数1000の配列を作ってそれをランダムに並び替え 2) 当該配列の各要素nについて、sleep等でnミリ秒後にnを返す処理を別スレッドで起動し 3) 各スレッド終了順に配列等に結果を収めそれが昇順になっているかを真偽値で返すコードを書け。 4) 念のため (2)〜(3)にかかった時間を計測しこれも同時に提示せよ(1秒を大きく越えていないことを確認) 5) (3)が偽なら、(2)を「n*mミリ秒(mは2以上の整数)」に変えてmがいくつ以上なら真を返すかも示せ。 要はスリープソートですが…
524 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 14:37:07.10 ID:v/FcS/dJ.net] おいらのPCがAtomなんだが。。。 Haskellで並列化は今一理解出来てないのか逆に遅くなる。。。 本の通りなら速くもなるんだろうが、使いこなせてない。 途中からシングルスレッド処理に切り替えるのが肝っぽい。 上手く行ったら参戦するけど、期待しないでね。
525 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 14:41:06.27 ID:rZS5Oczq.net] 俺もお題考えたぞ!! ハートリーフォック方程式を解くコードを書け 基底はガウス基底。6-31G**でのベンゼンの計算結果を示すこと!! 分子積分は並列化して下さい!!
526 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 15:38:16.89 ID:6kOz+D1v.net] >>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 ideone.com/RhQXqq ※ideone.comには制限があるようなのでスレッド数は更に減らして10にしています
527 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 15:43:19.44 ID:v/FcS/dJ.net] >>525 高卒のおいらには、そもそもその方程式が分からない。。。
528 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 18:37:46.78 ID:co8auLJ+.net] 次世代言語は物理や数学が扱いやすいことが必須ってわけじゃないから 数学を必要とするのはほんの一部 次世代でも手続型言語が主流なのは変わらないだろう
529 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 18:42:47.68 ID:co8auLJ+.net] 同じ処理をするにしても より記述量が少なく 間違いが起こりにくく 学習時間が少ないものが今後も好まれるのではないか
530 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 18:44:19.31 ID:co8auLJ+.net] あとはwebとの親和性かな…
531 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 18:47:42.86 ID:EInD1neL.net] 手続き型言語が主流なのは分かるけど、オブジェクト指向も宣言的なプログラミングを目指してるはずで、メソッドチェーンとかで済むように進化していくはずなんだ。 samlltalkやrubyはかなり宣言的に書ける場合がある。 pythonも>>485 をリスト内包表記有るからHaskellみたいに宣言的に書けるはずだし。 次世代言語が過去の言語に宣言的プログラミングで劣ったら元も子もないよ。
532 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 18:53:11.32 ID:co8auLJ+.net] 宣言的プログラミング"も" 書けるのであって 宣言的プログラミングに近づけば優秀というわけじゃないから
533 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 18:57:49.08 ID:EInD1neL.net] "も"で良いよ。 でも、手続き型言語でどこまで宣言的になったか見てみたい。 ifもforもここまで使わないで済むって。
534 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 19:24:24.98 ID:rQS0QApr.net] >>529 一般にやれることがおおければそれだけ記述量は増える。 まあよく使われる書き方については短くかけるように符号を割り当てるってのは あるのかもだが。
535 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 20:17:34.42 ID:0YWm4zQf.net] そこそこ高学歴の学生としては数学扱いやすい言語以外はそもそも学ぶ気にならないなあ だからPythonとか大好きだし、もし自分が言語を決める立場になったら、Pythonで出来ることは全部慣れてるPythonでやると思う
536 名前:デフォルトの名無しさん [2017/05/19(金) 20:57:32.26 ID:EInD1neL.net] >>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 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 22:15:21.36 ID:20gWsnkC.net] >>536 例えばRubyで ARGV.each_slice(2){ |e| print e }; puts と書くのと何が違うの?
538 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 22:22:13.75 ID:E3Xd/U2i.net] 今飲み屋なので明日確認するけど、おいらは(へっぽこ)Haskellerであって、RubyもPythonもそこまで得意じゃない。 あんたみたいな精通してる人のがずっと良いコード書けると思う。 ただ、オブジェクト指向も結局、宣言的プログラミングが理想の形なのは確か。
539 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 23:08:50.45 ID:R52jpALp.net] >>535 数学好きならJulia使ってみようぜ。今年1.0出る予定だそうだ。
540 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 23:26:54.55 ID:EInD1neL.net] >>537 クソが!! コマンド引数が奇数の時にエラー出るじゃねーか!!!! ちゃんとテストしやがれ!!!!!!
541 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 23:35:57.31 ID:EInD1neL.net] >>539 ここで興味持って見て見たけど、文法がHaskellよりごちゃごちゃしてるんよ。。。 やっぱおいらはHaskellが好きやねん。
542 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 23:45:26.92 ID:0YWm4zQf.net] >>539 別に数学好きってわけでもないけど、もちろんJuliaは使えるよ 最新の文法を全部追ってはいないから最新のをちゃんと使える自信はないが
543 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 23:48:20.94 ID:R52jpALp.net] >>541 そりゃHaskellやLispと比べりゃどんな言語もごちゃごちゃしてるわ。 Juliaが狙撃対象にしてるのはRやPython(つーかNumpy)だから、Haskellはそもそも意識してないはず。 おまいさんに八つ当たりしてもしょうがないんだが、個人的にHaskellは二項演算子のググラビリティが死ぬほど低いのが困る。
544 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 23:54:27.07 ID:co8auLJ+.net] pythonは言語的に優れてるとはおもわんけど簡素だよね全体的に 学習コストが低い そこが高学歴wの人に好かれるとは思わなかったけど
545 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 23:59:47.82 ID:0YWm4zQf.net] >>544 俺がPython好きなのは簡素だからではないけど、たしかに物理や数学の勉強で忙しくって、あんまり難しい言語は流行らないなあ
546 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 00:04:40.55 ID:HfZ9LPLj.net] Pythonは教科書に載ってる模擬言語にそっくりだ 昔はpascal風のが多かったけど
547 名前:デフォルトの名無しさん [2017/05/20(土) 00:05:47.77 ID:ntB1AqSN.net] >>543 自分で書いたコードはどうやって検索してるんだ もしかして全部オープンソースにしてからぐぐるのか
548 名前:デフォルトの名無しさん [2017/05/20(土) 00:14:11.99 ID:Mj4DXfyk.net] >>523 Haskell ideone.com/affD4l
549 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 00:25:17.41 ID:Mj4DXfyk.net] >>543 なぜHoogleを使わないんだ? あと今のGoogleは記号検索も対応しているぞ。
550 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 01:38:29.31 ID:l+OpXRNf.net] 学歴たけーからこの言語は使えませんとかなんなんw 普通に言ってきたら馬鹿だとしか思えなくなるわw
551 名前:デフォルトの名無しさん [2017/05/20(土) 08:02:40.56 ID:1yTY6BxE.net] 大学生と中学生って3年ちょっとの差しかないからな
552 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 08:20:32.04 ID:4ZGrm/1B.net] >>523 Go ideone.com/Uv5UOC
553 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 08:56:41.66 ID:Ykf9CvnE.net] >>543 すまん。 ググラビリティって何だ? って調べたらググり易さ? そんなに記号多かったっけ。。。 モナドとファンクタ以外は普通の言語にもある記号だろ? 本一冊持ってれば十分だし、Hoogle有るから。 それ言ったら2引数の関数全て二項演算子になるし、二項演算子も全て2引数の関数になる。 かえって(*)とかのセクション(2引数の関数)としてググれば見つかりやすいかもな。
554 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 09:03:31.15 ID:Ykf9CvnE.net] >>544 プログラミングが本分じゃ無い人にとっては言語学習はコストだわな。 オブジェクト指向にどのくらい純粋かとか、そんなのどーでも良いんだろう。 おいらは言語オタだから純粋さにこだわって行き着いたのがHaskellだったが。 そのHaskellも実装が関数型言語ならこんな最適化が出来るって本に書いてたことをあんまり実現出来てない、理想から程遠い実装なんだが。
555 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 09:04:28.62 ID:SQ1bJtqA.net] >>550 そんなん言ってる奴おる?
556 名前:デフォルトの名無しさん [2017/05/20(土) 09:15:34.10 ID:1yTY6BxE.net] 言ってる奴はいるが、ちょろっと検索した程度では見つからないな 検索は万能じゃないというかむしろ無能である
557 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 10:10:53.27 ID:/WJez+wG.net] >>519 Googleは開発言語に関しては保守的 社内で関数型言語使うの禁止されてるし
558 名前:デフォルトの名無しさん [2017/05/20(土) 10:34:26.74 ID:oEL0pKOn.net] Kotlinが晴れて現世代になったから 次スレからHaskellはスレタイに復帰ですね 永遠の次世代言語として
559 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 10:36:59.62 ID:Ykf9CvnE.net] へ〜 Haskellは、サーバサイド・ソフトウェアを構築する際の“秘密兵器に最も相応しい”とCarl Baatz氏(Better社の共同設立者)は述べている。 https://www.infoq.com/jp/news/2016/08/haskell-production-retrospective サーバーサイドで実行するソフトウェアの構築を行う場合は、Haskellは今日探し得る中で最も秘密兵器に近いと言っていいかもしれません。 postd.cc/haskell-in-a-startup/
560 名前:デフォルトの名無しさん [2017/05/20(土) 10:38:31.13 ID:oEL0pKOn.net] 永遠の秘密兵器
561 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 10:47:37.49 ID:K5B4Hn4Z.net] twitterに捨てられ 採用したchatw○rksは運気が下がり Kotlinにすら負けた Scalaよ、どうしてこうなった?
562 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 11:34:53.45 ID:PlVXA0LD.net] >>553 コードリーディングしてるとき、例えば<$>とか<*>とかが出てきて、さてこの二項演算子の意味はなんだ?って調べたいとする。 Googleの検索窓に突っ込む。記号しかないので検索結果がまともに出てこない。 Hoogleはしらんかったな。
563 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 11:40:19.93 ID:Ykf9CvnE.net] まずHaskell入門書なりサイトなり読めよ。 真っ先に紹介されるぞ->Hoogle
564 名前:デフォルトの名無しさん [2017/05/20(土) 11:58:59.27 ID:1yTY6BxE.net] 厳格なクラスベースOOPから撤退して手続き型に戻りたいだけじゃないか本音は しかし撤退しただけというのを秘密にするための兵器が必要だった
565 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 12:00:53.27 ID:Mj4DXfyk.net] >>562 <$>とかはGoogleで検索できるよ
566 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 12:07:06.01 ID:Mj4DXfyk.net] >>559 現状では、その記事にあるStackの守備範囲はそう大きくない。 誇張しすぎだろう。
567 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 12:15:26.38 ID:Mj4DXfyk.net] >>561 記号が多すぎたな。 あと簡単に暗黙型変換ができるのはやりすぎだった。 F#にも機能としてはあるが、幸運にもあまり使われていないように思う。
568 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 12:50:31.59 ID:jUCOTPFR.net] >>539 数学より工学よりだよね。配列扱うには便利。 今年中に1.0になるかな? 毎回のパッケージのコンパイルが不要にならないものか。
569 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 15:28:37.32 ID:SgRoQNx5.net] >>543 そう言えば、おいらは数学が好きと言ってもHaskell切bチ掛けに好きにbネっただけだし=A数学で何か解瑞ヘしたいわけじb癘ウいんよ。 どっちかっつーと、数そのものの研究?みたいな事は趣味でしてる。 チャーチ数に符号付けてチャーチ数版整数作ったり、少数作ろうとしてチャーチ数って無限進数なんだと気付いて、まず10進数から作らなきゃとか。
570 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 15:52:34.74 ID:UvQrCH4D.net] Haskell で扱えるなんて、ずいぶん狭い数学だな。
571 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 16:50:49.32 ID:l+OpXRNf.net] haskell はモナドとか圏論あつかってる、すげードヤ くらいの数学観だろどうせ。
572 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 17:11:03.97 ID:SgRoQNx5.net] 高卒の趣味グラマーに何求めてるか知らんが。。。 Haskellを切っ掛けに数学好きになったんだから、大した数学知識は無いよ。
573 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 20:58:11.85 ID:RDFlCbPz.net] Mathematica使わせたらしっこちびるんじゃねーの?
574 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 21:04:31.14 ID:SQ1bJtqA.net] Mathematica 買えない雑魚に対するマウンティングが発生しました?
575 名前:デフォルトの名無しさん [2017/05/20(土) 21:06:38.85 ID:dTi7LQL4.net] 高いンゴ i.imgur.com/Dk9bC75.png
576 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 21:09:17.84 ID:RDFlCbPz.net] Mathematicaは研究室にあったけど貧乏研究室で2ライセンスしかなく 口頭で使ってるやつに早く終われとか言ってた…
577 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 21:27:42.49 ID:l+OpXRNf.net] RaspberryPi になぜか入ってるという。たぶんこれが一番安い入手方法かと。
578 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 21:28:00.05 ID:dfia18z7.net] Raspberry Pi買えば
579 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 22:48:46.22 ID:5jKPuKGf.net] >>577 脇道的話題にレスして済まないのだが正直感謝だ。 エイプリルフールか夢かと思ったがマジだった。数万円が無料って… 意味がわからねえ。
580 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 22:53:38.13 ID:jUCOTPFR.net] >>575 ホームエディションはアカデミックと同じくらいじゃなかったか? Wolfram Alpha なら無料だし。
581 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 00:12:07.55 ID:X++SkHvT.net] Mathematicaなんて使って何するんだよ 時代遅れもいいとこ
582 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 00:15:45.94 ID:tsOaukBL.net] 微分積分
583 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 00:24:03.86 ID:T2XhzD4X.net] アルゴリズムとかの可視化においてMathematica より手軽なものを知らない
584 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 04:22:10.79 ID:YZtqITyu.net] >>573-583 言語試したいだけでハード買えって。。。 興味はあるよ。 手続きも書けるのがちょっと引っかかるけど。 純粋じゃ無いんかいって思うけど。 本読んだ限りじゃ悪い印象はそんな無かった。 Haskellみたいな汎用性無いのと導入のハードル(値段だったりハード購入だったり)がね。。。
585 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 09:17:42.41 ID:Gn+6D2wr.net] ラズパイも買えないとか お前は次世代にふさわしくないね
586 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 09:30:18.20 ID:bYtGqajI.net] >>584 試したいならお試し版使えばいいだろ。
587 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 09:30:54.35 ID:fDsf7qWs.net] いあ、買えるけどさぁ。。。 買ってまで触りたいものじゃなし。 ノートじゃ無いから場所固定されるじゃん。 手軽じゃないなぁと。
588 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 09:33:24.18 ID:fDsf7qWs.net] >>586 せやね。 試すだけならそれで良いか。 ちびるような使い方出来る数学知識は無いし。
589 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 09:33:34.85 ID:aAAAG14z.net] 純粋関数型とかモナドとかのワードに惹かれただけの ショボいコードしか書けないゴミhaskellerモドキはこんなもんだよ
590 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 09:46:52.19 ID:fDsf7qWs.net] うん。 最初はそう言うワードに惹かれた。 でも今はシンプルな仕様と言うか仕組みが好き。 少ない知識で書いて行けるのが。 そう言う意味じゃCも好きだけどね。 そのショボいコードすら出てこない次世代言語は言語オタに支持されてるだけで、言語オタは実際に役立つコード書いてないんじゃ無い? 少なくとも、おいらのは最終的にはテキストで探したい文の大まかな文脈は表示出来る、文献を参照するのに便利なコマンドになる予定だよ。>>492
591 名前:あ mailto:sage [2017/05/21(日) 09:51:06.00 ID:SzG2p8Pq.net] そういやラズパイにmathematica入ったな、いつか。 俺ずっとMaximaで済ませてたからあれだが。 数学が好きなら、数学を処理する言語使ったほうがいいのは俺も同意する。
592 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 10:11:58.67 ID:GQ3S98if.net] ついにMathematicaまで貶し始めたな… ちなみにRaspPi のはZeroでも使えるはず 流石にこれぐらいなら出せるだろ
593 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 10:28:30.98 ID:fDsf7qWs.net] え、貶してないよ? 次世代言語のここが良いあれがダメって言うだけでコード出さない言語オタは貶したけど。 まあ、おいらもHaskellに出会う前はRubyで"Hello World!!".length.displayとかやるだけで満足してたりする言語オタだったから、人の事言えないんだけどね。 何でもいいから一個の言語を使いこなせるようにまずならないと。 うん。お前が言うなだけど。
594 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 10:36:03.72 ID:GQ3S98if.net] >>593 お前の事じゃない 自己主張強い自覚あるなら控えとけ
595 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 10:39:16.44 ID:fDsf7qWs.net] おおう。。。 すまぬ。 しばらくROMるわ。
596 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 11:04:40.31 ID:NrSnEm53.net] >>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}} " ws.stfx.eu/8W36PYP2PQ1G
597 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 11:07:22.37 ID:bYtGqajI.net] >>593 最低でもフィボナッチはやらないとな。
598 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 19:21:13.10 ID:MtDspqBa.net] >>523 Python3 ideone.com/9um4ku
599 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 21:49:08.94 ID:uTnQjVde.net] Javaドカタでも使える次世代言語は何?
600 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 21:53:40.25 ID:np8fDJ8H.net] >>599 Java 9
601 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 21:54:21.22 ID:sdGytzhA.net] Kotlin 間違ってもScalaには手を出すなよ
602 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 21:55:44.97 ID:t4wHpx3M.net] コトィンだろ
603 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 21:59:52.84 ID:uTnQjVde.net] ペチパーでも使える次世代言語はある?
604 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 22:08:33.54 ID:k8jtGWEX.net] >>603 Go(笑)だな VB以下の低脳言語よ
605 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 22:28:10.80 ID:o+YzRX7H.net] 小岩井Kotlin
606 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 22:31:28.97 ID:t4wHpx3M.net] >>603 ペチプァ土方に次などない 糞ゴミ連想配列のドブに沈むか首吊って死ね
607 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 22:53:09.79 ID:NUyV/iNa.net] ペチパー馬鹿にすんな トレイトあるんやぞ Scalaの優れたヤツじゃなくSmalltalk式の劣った方だが
608 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 23:04:48.46 ID:ydRKGq7n.net] ペチパーってPHPerの事か WEBならKotlinよりScalaじゃない?
609 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 23:13:47.67 ID:npbAin+o.net] 用途の違う言語並べてなにを比べるんだ、、、
610 名前:デフォルトの名無しさん [2017/05/22(月) 23:30:44.58 ID:8HqyDksp.net] >>607 scalaのほうってトレイトと呼んでるけど、実態はmixinじゃないの? そっちの方が優れてるの?
611 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 00:08:59.76 ID:Cmetwh8S.net] ちまちま金出し渋るんだったら 10万程度でpc組め
612 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 00:44:31.76 ID:PZYq3vzy.net] ペチプァ〜のプァ〜は頭がくるくるプァ〜 よくあんな汚物吐瀉物糞尿下痢で踊り狂えるな 狂気の沙汰だわホンマ スレが臭くなるから近寄るなよ疫病神 早く死ね
613 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 01:15:17.85 ID:Ut2KtnOs.net] 今更mapとかfilterとかをforで書く言語のどこが次世代だよ
614 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 01:21:27.28 ID:JnTuEITt.net] なんなのその for 書いたら負けみたいな無意味な思想は
615 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 01:24:34.96 ID:Ut2KtnOs.net] Goは開発がGoogleじゃなかったら絶対流行らなかった 趣味で言語作りました。試しに作っただけなので複雑な事は出来ません こんな言語をシンプルだから分かりやすいよ!ってGoogleの知名度使ってゴリ押ししてるだけ
616 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 01:26:38.72 ID:Ut2KtnOs.net] >>614 forだと無駄な行が多すぎてパッと見て何をしているのか分からない コメント書かなくても読めるのが良いソースだろ?
617 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 01:50:10.95 ID:6XWqRRso.net] >>615 複雑なことっつーか抽象度の高いことが出来ないな。汎用ライブラリ書こうとするとinterface地獄になって悪夢見る。 でも不思議なことに手なりで動くもん量産するのにはものすごく向いてる。 マクロがないかわりにgo generateとかいうクソキモい(誉め言葉)機能があることと、 あとはPHPみたいな言語未満の何かで物書いた時のような負債に陥る危険性が、言語としての幅が狭いお陰である程度緩和されてるってのが案外バランス取れてるのよな。 汎用ライブラリ書くのには全然向かないけどね。
618 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 01:54:36.33 ID:6XWqRRso.net] Googleが作らなかったら流行らなかったってのは大いに同意するが、正確に言うと「Googleじゃないとこんないかれた言語を完成品と言い張れなかった」だと思うね。 周辺ツールの異常な拡充もごり押し戦略の一環だろうしな。
619 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 01:56:50.35 ID:6XWqRRso.net] 総合して、Goは次世代のドカタ言語っていうのが一番しっくりくるわな。 あくまでドカタ言語。
620 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 07:27:48.45 ID:JnTuEITt.net] >>616 いや、ワンライナーで無理やり書いたソースのが読みにくいよ。 てかそこまで行数使う複雑なコードなら関数で切り出せ。 そういうのは使ってる言語の問題じゃなくて書いてる奴の問題だから。
621 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 07:50:29.19 ID:PZYq3vzy.net] >>620 でもペチプァ〜のあなたは、テンプレートにSQLのfor string連結書いちゃうんでしょう? 死ね?
622 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 08:14:57.33 ID:w55PtzH/.net] いや内包表記もしくはmap reduceがあるのは大事でしょ 関数として切り出す時にループの中で行うことだけ書けばいいのがmapないとループそのものを行うサブルーチンもかかなくちゃいけなくなるじゃん map不要とか言う奴絶対Lispすら触ったことないハイパーエアプマンだろ
623 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 08:22:40.89 ID:B87mZx5r.net] 内包表記かmapに関数一つだけ渡すのが一番読みやすいな
624 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 09:04:41.99 ID:PZYq3vzy.net] ペチプァ〜さん・・・w
625 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 09:55:36.88 ID:djHV+jRv.net] >>617 汎用ライブラリ書けないっていうのはかなり大問題だと思うんだが ジェネリクスないのが原因でコレクションとかは特別扱いしないといけない Setとか普通に使えないのは不便すぎるし、SortedSetとか追加しようと思ったらそれも言語で特別扱いするのかってなる 型ごとにコード書くのか?コピペは最も基本的なアンチパターンだよね?それをGoogleは推奨してるのか? >>618 周辺ツールをこれだけ作ったのに言語がこれじゃもったいない もう少し機能入れていれば間違えなくもっと流行ってた
626 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 10:09:21.11 ID:6XWqRRso.net] >>625 ジェネリクスについてはさすがにいれようぜって議論はあるな。 今はそういうのをコピペなしに書くならinterface地獄で、自分もそこは嫌いなとこだ ちなみにgoの汎用sorted setくらいならgithubに既にある上にめっちゃコード短いから、見てみるのも面白いかもしれんね。
627 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 10:30:08.82 ID:+Srr1GFp.net] 内包表記!ワンライナー!読みにくい!って普段どんな糞コード書いてたらそういう発想に陥るんだろう
628 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 11:30:14.87 ID:3W0XlzKr.net] まあ長過ぎるワンライナーが読み難いのは分からなくは無い。 でも書くし、読むけど。 昔何かのJavaの本でJavaでも宣言的に書くべきだ。みたいな事が書いてあって、メソッドチェーンされたインスタンスが二行でちょっとした処理してた。 最近C#6実践入門とか言うの買ったけど、それに載ってるコードもifは出るけどforがほとんど無い宣言的なコードだった。 C#6の新機能紹介はほとんどオマケで、タイトル詐欺だけど。 いあ。。。詐欺じゃ無いけど、紹介された新機能が全然頭に入って来ない位、(ドロドロの)実務的な内容。。。
629 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 11:47:39.23 ID:nY7S90+T.net] Javaは8になって一気に流れ変わった。 なお日本のドカタ現場はJava6をつかっていればましな方なのは内緒な。 ドカタ現場から見ればObj-Cすら次世代言語ってな。
630 名前:デフォルトの名無しさん [2017/05/23(火) 13:10:57.22 ID:fxr47P4A.net] Pythonは内包表記でもforって書くんだな 手続きが透けて見える 見えない奴はエアプ
631 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 13:14:25.27 ID:hsNp2Xw3.net] その辺はhaskellのモナド内包表記も同じことよ
632 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 13:58:34.02 ID:LlhYvOQ7.net] >>630 まあ透けて見えるのはその通りなんだが、逆に聞くが手続き型が透けてたらいかんのか? 機能としてPythonの内包になんか欠けてるのか?
633 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 17:59:05.36 ID:JnTuEITt.net] やべーな。。 内包表記、map, reduce 使えるとだいぶ偉いプログラマーになった気分なのかね。。 別にあれば使うけれど、それで読みやすさが格段にあがるなんてことはないわ。 まさに枝葉としか言いようがない。 てかなんでこんなに php 嫌われてるのか使ったことないからわからんのだが。 perl には相当神経やられたってのは個人的にはあるけれど、 php ってそんな嫌なもんなんかね。
634 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 18:08:35.09 ID:PJIONmxy.net] 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 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 18:18:05.38 ID:PJIONmxy.net] x length = foldl 0 端折り過ぎた。 length = foldl (/x _ -> x +1) 0
636 名前:デフォルトの名無しさん [2017/05/23(火) 18:32:56.72 ID:FtK5T5KY.net] >>633 単純にカテゴライズして蔑視したいだけだと思う。 そういうのを除いてPHPが嫌われるのは言語仕様が綺麗とか 汚いとかそういうのではなく、互換性とか環境問題で 無駄なエネルギー使うからだと思ってる。 同じような理由で俺はrubyとかはもう手を出したくないと 思うし。俺が好んで使ってたのは256倍本とか出てた頃で パッケージやら何やらで随分と改善されてるのは 知ってるけどトラウマなんだよな。
637 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 18:40:57.13 ID:IFQGAtt4.net] >内包表記、map, reduce 使えるとだいぶ偉いプログラマーになった気分なのかね。。 このレス痛々しくて面白いな
638 名前:あ mailto:sage [2017/05/23(火) 19:15:59.04 ID:9OGdTOvp.net] 少なくとも嫌い好きではないわな、仕事なら。 パソコンの大先生なら孤高の言語でオナニーしてくれりゃいいけど。 次世代ってのは、未来の現世代なんだから。 夢ばっか見ても意味ない。
639 名前: mailto:sage [2017/05/23(火) 19:43:11.53 ID:F0rvxaiH.net] となると、C++ 一本でいくのがいいのでは?
640 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 19:51:46.81 ID:ns4joxA3.net] 結構な大企業でもLispとかHaskell 使ってるあたり自分で書ける能力あるなら採用言語なんか趣味だろ
641 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 21:37:46.03 ID:qYVXIZT5.net] >>640 という楽観を華麗にぶち壊すRustとかいうクソ言語
642 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 23:00:33.25 ID:ns4joxA3.net] >>641 どゆこと?
643 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 00:07:47.20 ID:8Z1z+g0P.net] >>642 どんな優秀な人材でもまともに物がつくれない破綻した言語ってこと。
644 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 07:21:12.88 ID:5yXboscj.net] >>630 forという単語を見ると手続きが透けて見えるほうがよほど手続き型に脳が汚染されてるだろ。 述語論理の for all は手続きか?
645 名前:あ mailto:sage [2017/05/24(水) 07:39:36.26 ID:IPP9nXuk.net] >>640 自分がかけたら使う、それじゃそいつがやめたら困るわ。 ある程度は浸透してくれたものでないと困る。
646 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 08:08:46.24 ID:MYIIDec9.net] >>645 知らんがな。人材に逃げられないようにせいぜい厚遇するんだな
647 名前:あ mailto:sage [2017/05/24(水) 08:23:16.84 ID:IPP9nXuk.net] >>646 どういう事? 逃げる訳じゃなくて辞めるんだよ。定年とか、寿あるじゃん。それは仕方ないよ。 教育コストとその言語から得られるメリットのバランス次第じゃないのかな。 新しい人入れるときの問題で、その時に誰でも知ってる言語で地頭があって、そこに自社の資産とか話すのは簡単だし、教育に出しやすいじゃん。自社でもやるし。 書けるから雇うことも無ければ、雇ったからそいつの思うように書かせるわけでも無いんじゃないの?
648 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 09:11:12.33 ID:5yXboscj.net] 知らない言語だからってコードメンテできなくなるようなら Javaで書いたってろくにメンテできないだろうよ。
649 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 09:24:15.88 ID:ttKQmf2U.net] >>647 C、C++、C#、Java、Ruby、Python、Scala、Haskellくらいかけろって話だけどね
650 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 09:26:11.81 ID:tRDqGMNF.net] 言語文法だけじゃなく実行環境の構築が面倒な言語も保守性悪いよな
651 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 09:34:21.93 ID:MYIIDec9.net] 新人研修の事でもいいたいのか? チームに組み込まれた新人はそのチームで先輩が使ってる言語と技術はどっちみち勉強するだろ それすらできん屑新人しかこない企業に勤めてるんなら学校で教えてる言語しか使えなくなるなwww
652 名前:デフォルトの名無しさん [2017/05/24(水) 09:37:50.21 ID:ztUMEvdN.net] >>643 ということにしたいだけにしか見えないんだけど
653 名前:あ mailto:sage [2017/05/24(水) 09:44:40.73 ID:IPP9nXuk.net] >>648 とりあえず動くようにメンテするのと、思想含めて正しくメンテするのはちと違うでしょ。 >>649 Cだけわかるとエグいコードになりがちだしね。Cと最近のC#で充分。JavaScript一本でも良いくらい。 >>651 新人じゃなくても研修とかセミナー行くでしょ。 新人しか行かないなら、どんどん化石化するか社員の自費の自己研鑽に頼るしかないじゃん。 会社のために技術を使うなら、その技術は会社が伸ばして当然かと。。
654 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 10:08:00.08 ID:YA6HRJ8D.net] >649 問題は「自分がその言語で書けるか」ではなく 「他人がその言語で書いたコードを保守できるか」なのでは? 自分が新規コードを書く分には自分が知っている範囲で書けば済むが、 他人のコードを保守するには文法とライブラリを網羅的に知っている必要がある。 C、C#、Java、Ruby、Pythonぐらいは保守できるべき、ぐらいならわかる。 でもC++、Scala、Haskellは文法とライブラリの知識を相当要求する。 C++は普及しているからいいけどScalaとHaskellは保守できる人を雇えるか分からない。 好き好んでScalaやHaskellを選ぶ人は初心者には読めないコードを書くだろうしね。
655 名前:デフォルトの名無しさん [2017/05/24(水) 10:25:42.08 ID:ZtHNZ56P.net] 空気も読まずにコード投下。 >>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 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 10:25:51.23 ID:MYIIDec9.net] >>653 技術は会社が伸ばすから勝手な技術は使うなってことか すごい文化だな。とてもリーディングカンパニーの考え方とは思えない 大方人から指定されたものを作るだけの創造性のない事業分野なんだろうな
657 名前:デフォルトの名無しさん [2017/05/24(水) 10:32:58.90 ID:IgnTlSHt.net] C++大先生レベルになったら未知の言語でも読めるだろ 未知だから学習コスト0だがなぜか読める
658 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 10:37:00.08 ID:MMUszNj4.net] >>649 それらを全部書けても何も作れない腐った言語がRustなんやで
659 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 10:43:10.23 ID:+1dTaw0E.net] >>656 社内開発用言語縛って生産性維持しながら会社全体で技術叩き上げてるGoogleさんのdisおっつおっつ
660 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 10:47:04.91 ID:MYIIDec9.net] >>659 Googleはプロトタイピングの言語は完全に自由やで 趣味コーディングの時間も保証されてるし
661 名前:デフォルトの名無しさん [2017/05/24(水) 10:50:54.70 ID:IgnTlSHt.net] 縛りというか、C++禁止されてないのが重要だと思うが
662 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 10:57:13.01 ID:AMRdndrm.net] >>660 プロトタイプのコードはメンテしないだろ。そりゃ好きな言語で書けばいいさ。 メンテするプロダクトコードはあのGoogleですら言語ガチガチに縛ってそのなかで技術上げてるのに(最近だとGrumpyとかな)、 出来る人材ならどんな言語でもすぐ習得して既存コードメンテ出来るようになるっていうのは幻想。 ある程度ならいけるが限度はある。
663 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 10:58:51.03 ID:AMRdndrm.net] >>661 C++が許されてRustが許されてない辺り、GoogleはRustが使い物にならんとわかっていらっしゃる
664 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 11:14:18.14 ID:MYIIDec9.net] なんか主張がとっちらかってきたけど、実際割と好きな言語使えるリーディングカンパニーがあるんだから、それはダメとか俺に言われても知らんがな
665 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 12:19:17.63 ID:5yXboscj.net] 他人が書いたコードを思想も含めて正しくメンテできるのに 「だってこれボクが好きな言語じゃないもん」 とか言って仕事投げ出すのか。 ゆとった会社だな。
666 名前:あ mailto:sage [2017/05/24(水) 12:20:52.22 ID:IPP9nXuk.net] >>656 個人で伸ばせばそりゃ素晴らしい事だよ。 勝手な技術使うな、は当たり前では? 簡単なことで、単に社内に布教するだけだよ。 それだけで勝手な技術じゃなくなるんだから。 金貰って作ってる以上、指定されたと言うより要件定義から離れる事は良い方向でも悪い方向でも等しく害悪。 それを使うよう、要件定義を見直しゃいいじゃん?
667 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 12:23:07.52 ID:MnuqeZiD.net] >>663 TypeScriptが承認されるまで延々レビューを繰り返して2年かかったという話を読んで、 Googleといえども典型的な大企業病からは逃れられなかったんだなと思った
668 名前:あ mailto:sage [2017/05/24(水) 12:35:44.71 ID:IPP9nXuk.net] 勝手に使う、と、好きな言語を使う、は別だって事に尽きる。 好きな言語が使いたきゃ、ホント通せば良いだけじゃん。
669 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 13:00:14.99 ID:MYIIDec9.net] >>666 各段落最後に同意。そこが重要
670 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 13:09:07.02 ID:MYIIDec9.net] つーか前半部分は当然のことすぎてそんなこと議論しようとしてるとは思わんかった
671 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 13:16:56.43 ID:MYIIDec9.net] ああ、>>668 もいい事言ってるな その通りだよ。通すんだよ当然だろ
672 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 14:12:27.03 ID:5yXboscj.net] 広めるにしたって、仕事を通して広めるのが当然だろ。 そこを門前払いして「浸透してない言語はダメー」とか、ゆとりすぎ。
673 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 14:13:44.48 ID:5yXboscj.net] 上のほうが「マネージャ目線で考えろ、コストを減らせ、技術を革新しろ」と掛け声ばかりな会社でありがちそうな風景だな。
674 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 15:21:08.36 ID:pQqRznHf.net] >>667 上層部の中ににMSのはなんだろうが採用させないのがいる(・いた?)だけのような気がする
675 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 15:36:29.01 ID:/ySUjkwg.net] >>674 それだけならkotlin, scala, ruby, php, perlあたりはとっくに承認されてるだろ 「それお前の好みの問題だよね?」と言われないような理由を示す必要があるんだと思うよ
676 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 15:44:55.21 ID:AMRdndrm.net] さすがにperl PHPが通るとは思えんなwwwwwww というのはともかくなんだかんだ追加承認のフローが整備されてるのは日本企業では考えられんよな。
677 名前:あ mailto:sage [2017/05/24(水) 18:36:08.72 ID:IPP9nXuk.net] >>672 仕事を通して広めるってのがわからんな。 別にプレゼン力次第じゃないの? あとは、小物を同時に作って見せればいいと思う。 研究開発費くらいあるだろ。 >>676 追加承認なんてどこでもやってるだろ…。 別様式の帳票(物理)をスタンプリレーするみたいなオマケもついとる。 perlはともかく、phpはGAEでも動くし、嫌悪感と実利のちょうど真ん中程度の立ち位置じゃないの?
678 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 18:45:51.44 ID:MYIIDec9.net] いや流石にわかるしそのことを言ってるんだろう
679 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 18:58:25.42 ID:fS2T0Ehb.net] 先輩が言語にこだわってるうちは伸びないって言ってたな。 所詮道具なんだから、作るものに合わせて相応しい言語選ぶだろ。
680 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 19:09:48.27 ID:5yXboscj.net] バカバカしい。 既に職場で広く浸透した言語に限定するのなら、全く「次世代」の話じゃないな。 スレ違い。
681 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 19:14:40.02 ID:MYIIDec9.net] 全く誰だよこのスレで「ある程度は浸透してくれたものでないと困る。」とか言い出した奴は
682 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 19:20:52.00 ID:X74kQKF8.net] 登場して20年たっても普及しないなら、その程度の言語
683 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 19:26:06.91 ID:AMRdndrm.net] 「つぎは」
684 名前:あ mailto:sage [2017/05/24(水) 19:27:50.59 ID:vKYHCzYh.net] >>680 次世代言語だから、その職場には浸透させるんだろ。 世間としてその存在やら概念が浸透していないのとはまた違う。 取り違えるなよ。バカバカしいのはお前だよ。 >>681 すまんな。ここまで読解力無いやつ想定してなかったわ。
685 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 19:29:22.75 ID:AMRdndrm.net] 「次流行る言語はなんだろうなー」って駄弁るのと、 「わが社で次に採用するべき言語はなんだ?」って会議するのとの違いじゃね? 自分は前者のつもりで駄弁ってたけど、後者のつもりのやつがスレに紛れ込んでるだけな気がするわ
686 名前:あ mailto:sage [2017/05/24(水) 19:32:35.06 ID:vKYHCzYh.net] >>685 我が社というより、皆が次に使うべき言語は何なんだろう、何故適しているんだろうって言う話かなと。 そうなると、前者も後者もあんまり変わらない話に聞こえる。
687 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 19:34:16.79 ID:AMRdndrm.net] >>677 ドカタにそんなもんはないんだなこれが。 永遠にJava4より新しい言語使えねえんだぜ。
688 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 19:36:36.90 ID:MYIIDec9.net] 相変わらず自分の文がわかりにくいのを人のせいにする……
689 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 19:47:07.86 ID:AMRdndrm.net] >>685 前者と後者が変わらんのはベンチャーもしくは顔本林檎みたいな超最先端企業くらいだぞ。 今使ってる言語を変えたい経営者なんていない。たとえそれがサポート切れたJavaでもVB6でもCOBOLでも。
690 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 19:50:28.81 ID:DLDz9laB.net] Java8使ってもラムダ使用禁止の現場とかあるらしいな 全員が分からないからとか何とか
691 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 20:02:02.58 ID:MYIIDec9.net] そんなドカタ現場の人が来るべきスレじゃないだろ…… 繰り返すけどさ、採用言語は趣味だよ 変なのに噛みつかれないように厳密に書くと、社内で布教して一定の承認を得るのは当然の手続きであり、そこまで努力しなくてもそれが可能な企業orアカデミックは普通に存在する そしてそもそもそれが出来ないような可能性を考慮しないといけないような奴が来るべきスレではない
692 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 20:03:45.39 ID:AMRdndrm.net] >>691 つまり
693 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 20:04:11.00 ID:MYIIDec9.net] あ、ドカタ現場の奴でもプロトタイピング用の言語を議論しに来てる奴は例外な
694 名前:あ mailto:sage [2017/05/24(水) 20:04:40.24 ID:vKYHCzYh.net] >>687 Javaか…。まあ、環境変えるなのお達しがある案件だとどーしようもないのもわかる。 >>688 わかりにくいなら、わかりにくかったと言えよ。 誤解してドヤ顔で反論してからのそれは流石に言訳だろ。
695 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 20:05:22.82 ID:AMRdndrm.net] >>691 また誤爆した。 つまりこのスレにいるドカタは俺くらいで他はみんなイケイケベンチャー社員か世界の大企業社員様くらいなのね。納得。 存在がスレチだったようですまんね。
696 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 20:13:22.76 ID:MYIIDec9.net] >>694 今回は暫く意思疎通出来てないことに気づかなかったからな。具体的には>>666 でやっと気づいたわ だから意味分からなかった旨を>>670 で伝えただろう? これもまだ意味を汲めていないなら分からんけど
697 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 20:16:24.80 ID:MYIIDec9.net] あとID:5yXboscjも最初の俺と同じ解釈をしてそうだな
698 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 20:26:49.54 ID:new7aopo.net] なんやこれ… とりあえずエンジニアガイジは自分の主張を三行にまとめてみたら? 俺もよく分からんし
699 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 20:32:20.07 ID:MYIIDec9.net] >>695 いや存在がスレチとまでは言わんけど…… でも自分が絶対使えない言語の議論してなんか意味あるかなーとは思うぞ プロトタイピングの話ししてるんなら使えるから有効だと思うから、プロトタイピングの話ししにきてるんならスレチじゃないと思う
700 名前:デフォルトの名無しさん [2017/05/24(水) 21:13:58.52 ID:tWWOwCUP.net] なんつーか、リアルでは関わりたくないタイプではあるなぁ
701 名前:あ mailto:sage [2017/05/24(水) 21:25:40.50 ID:vKYHCzYh.net] >>696 なるほど。確かに。言ってるな。ごめん。 >>698 3行にまとめれば、理解できないやつに文句を言われ、 一つずつ演繹的に書けば、過去レスまで遡る気かと言われ、 長文で話すとこう言われ。 それぞれの方法で理解できてる人間もいる中で「僕に理解できる方法で話して!」って子供みたいなこと言われてもどーしようもなかろう。
702 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 21:27:44.10 ID:oJe0HEfY.net] 大企業じゃなくて中小がやるようなWebシステムとかなら以外と新しいもの使ったりするけどね
703 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 21:29:05.11 ID:76en5qLo.net] 本人だけ自覚が無いから 本人だけはいつまでも他人が悪いと思ってる これが、放置され続けて来た子の末路です
704 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 21:45:09.29 ID:+DimD/vP.net] では、大企業基準を採用して、 COBOL, VB6, Java 1.4の中からどれが次世代言語にふさわしいか議論しましょう
705 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 21:45:33.98 ID:new7aopo.net] >>701 んー。本当に言いたいことだけを抽出できてない気がする それと自分の立場を明示できていないせいで誤解されてるのかも 最初に自分の立場を明確にした上で、レスごとに大事な部分を強調するようにしてみたら?
706 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 21:52:13.03 ID:oJe0HEfY.net] >>704 それ具体的にどこの会社?
707 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 21:52:59.68 ID:n/Jt/WNZ.net] IBMじゃね
708 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 21:59:39.95 ID:pM6+zSYg.net] >>704 1.4ってジェネリクスないよな?
709 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 23:25:21.20 ID:QZAYfmj0.net] >>643 PHPでさえ何か(まともではない)はとりあえずできるのだから その理屈はおかしい
710 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 23:43:15.95 ID:DLDz9laB.net] 3年程前まで居た現場はJava 1.4だったよ、客は一部上場企業ね まぁ抜ける時に丁度バージョンアップどうするって話はしてたな 7は新しすぎるから6で、みたいだった記憶
711 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 01:15:47.85 ID:S4aSECR+.net] >>709 Rustをわかってないな。あれはなんたらチェッカーが強すぎてHelloWorld以上のことをしようとするとコンパイルが通らずにそもそもプログラムにならんのさ。 PHPはとりあえずゴミやカスを生産はできる。でもRustからは何も生まれない。ゴミやカスが生まれないって意味ではよい言語かもな。製品も生まれんが。
712 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 04:11:36.99 ID:ezJU1k3U.net] elixirは禁忌なの?
713 名前:あ mailto:sage [2017/05/25(木) 08:28:51.58 ID:9n8bzUby.net] >>705 なるほど。マジでありがとう。 いろんな話に首突っ込んでるし余計にか。 会社では、とか、個人的には、とか枕つけるのと、うざいって言われるかもしらんが少々冗長でもパラグラフ末に結論書くとか、工夫するわ。
714 名前:あ mailto:sage [2017/05/25(木) 08:31:56.06 ID:9n8bzUby.net] >>711 まあ、若い人が存在を知ってるかはわからんが、イライラ棒に近いわな。 CのプロジェクトでMISRA-Cの推奨も網羅すること!でリンタ定義が配られて来たときくらいのめんどくささ。
715 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 09:03:26.85 ID:tgvA03tX.net] Rust普通に使ってるけど、そんなに悪いかな? 社内用のgccのtemplate系のエラー解析ライブラリをRustで書いてみんなで使ってる
716 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 09:05:50.92 ID:Je843dUj.net] 悪いのはいつも使ってるやつの頭
717 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 09:06:29.33 ID:A2RaX9kE.net] お前ら今話題のピー言語は?
718 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 10:48:29.16 ID:jD8c7u6v.net] そう言えばみんなは自分の好きな次世代言語のどんなコードが気に入って好きになったんだろう? こう言う処理をこう書けるのがクール!!とか有ったんだよね?
719 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 11:27:33.72 ID:/eJUHzjl.net] ことリン→なまえがかわいい
720 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 11:34:58.13 ID:9Efltc2N.net] >>714 イライラ棒にはちゃんとゴールあるじゃん。 Rustにゴール(コンパイルが通ってかつ望むロジックが実現できるコード)はない。
721 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 14:13:57.90 ID:LLIRcd0g.net] エリクサー→名前が厨二
722 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 15:16:22.81 ID:VyhgnQr+.net] >>721 RAMメーカーのCFDに喧嘩売ってる?
723 名前:デフォルトの名無しさん [2017/05/25(木) 16:07:04.62 ID:s+W1gv2M.net] >>721 ギターの弦のことかと思った
724 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 16:29:39.75 ID:peiZ2RBQ.net] >>720 完成品はいろいろ実在してるんだけどw チェッカーの壁を乗り越えられなかっただけじゃん
725 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 16:54:51.44 ID:SU7CE5fr.net] >>711 が仕様理解出来なくてイライラしてるの草
726 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 18:33:25.61 ID:Gj42CiwS.net] >>724 チェッカー内で作れるもの作ってるだけじゃん。 PHPでもまともなものは作れるっていう戯言と何ら情報量変わらん。
727 名前:あ mailto:sage [2017/05/25(木) 19:26:06.45 ID:9n8bzUby.net] >>720 小物作る分にはゴールはあるよ。 イライラ棒の棒と同じで、全く何にも触れていない棒がゴールで手に入るだけ。 ホントに触れないことが必要なのかはおいといて。
728 名前:あ mailto:sage [2017/05/25(木) 19:30:40.36 ID:9n8bzUby.net] >>726 チェッカー内で作れる物作ってるだけ、ってなんだそりゃw 作ってはいけないものが作れなくなってるだけで、もともとそう言うコードは書くべきでないし、 そんな事言うと誰もがチェッカー内で作れるもの作ってるだけなんじゃねえの? 元からあったしね。推奨ですらハネてビルドかけてもらえないプロジェクトとか。 単に技術か経験どちらか、または両方足りないだけでは?
729 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 19:44:48.33 ID:qvTBr+rP.net] 具体的に他の言語では問題なくてRustの制限には引っ掛かる用法ってどんなの?
730 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 20:06:43.93 ID:GLCbsyY4.net] 次世代言語だから浸透させるんだとかいう一方で 浸透してないようなものは次世代言語じゃないとか言い出すような 一貫性の欠片もない人が紛れ込んでいるとスレの流れが速くなるなw
731 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 20:11:02.34 ID:qvTBr+rP.net] 次世代言語って開発効率は旧世代より高くあるべきだと思うし開発効率が低下するような言語は次世代言語とは言えないんじゃない?
732 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 20:12:52.69 ID:YLfurTYJ.net] >>730 あの主張読んだらやっぱり普通はそう解釈するよな
733 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 21:19:02.52 ID:Gj42CiwS.net] >>729 有名どころだとグラフ構造。あと木構造も結構辛い。 書けなくはないがチェッカー通そうと思ったらbox rc rcref祭とか色々あったり、イテレータの肩だけで一行の長さぶっちぎったり、無名関数引き回すとぶっ壊れたり、 とにかく存在が破綻してんの。
734 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 21:22:58.60 ID:Gj42CiwS.net] >>731 そうそうこれこれ。俺たちは物を作りたいんであってチェッカーと腕相撲したいんじゃないって話。 Rustは生産性と書けるプログラムの幅が既存の言語よりはるかに低いっていう破綻があるわけよ。
735 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 21:24:57.72 ID:Gj42CiwS.net] C++である程度の規模のプログラム書いてValgrind通したものをRustに移植してみれば俺の言ったことが分かるはずだ
736 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 21:26:56.04 ID:SU7CE5fr.net] パラダイムの違う言語に移植する事自体間違っている
737 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 21:32:27.62 ID:3whttm4L.net] まあまあID:Gj42CiwSを叩いている人は実際にコードで証明して黙らせ殺してあげなよ
738 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 21:33:54.31 ID:qbQ1iVdd.net] >>731 開発効率なんて定義不能じゃ
739 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 21:38:33.34 ID:ItmeFS2W.net] 感覚だよ感覚
740 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 21:59:52.05 ID:Akq7oqz3.net] >>738 明確に定義できないから比較できないってんなら アセンブラ使えで話は終わるわ。
741 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 22:10:56.86 ID:JKNaFgi4.net] でたーw 極論だして論破した気になってる奴wwww
742 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 22:13:17.59 ID:cq69lVs9.net] 開発効率定義不能ってホントに極論だよな
743 名前:デフォルトの名無しさん [2017/05/25(木) 22:23:36.26 ID:Fjpm+mem.net] 開発が有限時間で終わるか否かの1bitを予言するだけでも難しい
744 名前:あ mailto:sage [2017/05/25(木) 22:44:08.26 ID:hnBoF8Hs.net] >>730 説明してもまだ誤解してるのか。 浸透する場が違うじゃん。
745 名前:あ mailto:sage [2017/05/25(木) 22:45:54.43 ID:hnBoF8Hs.net] >>734 腕相撲なんかせんと、まともに考えれば良いだけじゃん? 今までいかに、問題を腕力でねじ伏せてたかよくわかる発言だな。
746 名前:デフォルトの名無しさん [2017/05/25(木) 23:16:36.34 ID:Fjpm+mem.net] 要するに実行時にチェックするプログラムは簡単に作れるのに対して コンパイル時だと全てのチェックを通り抜ける解が存在するのかという疑問がある
747 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 00:03:00.80 ID:wwO+KkLH.net] HaskellでqueueをO(1)で実装しろって程度の話>Rustでグラフ/木を作る 純粋関数型なHaskellで2リストキューを使った素朴な方法だとしんどいし、所有権とメモリ管理が厳格なRustだとADTで書き下すグラフや木はめんどい どっちもライブラリは既にあるんで、破綻してると声高に連呼するなんて馬鹿じゃないとできないよ
748 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 00:17:50.32 ID:5gPc0nT0.net] >>733 >>715 だけど再帰下降パーサで作ったから普通にグラフ構造でできてるよ コンパイルエラーが嫌いなのかな?C++でもテンプレートとか嫌いそうな感じがする
749 名前:デフォルトの名無しさん [2017/05/26(金) 00:24:47.24 ID:W8U5vxkJ.net] 終了直前まで一切メモリ解放しなくていいならできるのは自明 既に解かれた問題だけを選べば破綻しないのも自明
750 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 03:09:57.04 ID:NvS9muX6.net] グラフでも木でもキューでも何でもいいから、次世代言語のコードで語れよ。
751 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 06:26:55.41 ID:Xdie43+z.net] とりま>>748 には最低限の機能のものでいいので コンパイルがちゃんと通るグラフ構造の実装をplay.rust-lang.orgに上げてもらって >>747 はそれを他言語と同じくらい簡潔に書けるというライブラリで 書き直したのを見せてくれまいか?
752 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 10:07:55.16 ID:B9iHieSk.net] >>744 大多数がそう思うような文を書いてしまったという事実をしっかり受け入れて反省するんやで
753 名前:あ mailto:sage [2017/05/26(金) 10:45:05.62 ID:uOeVRBLK.net] >>752 反省はするが、こういう、特に意見がない限り発言しない、自分がノイジーマイノリティなのかどうかわからん場で、大多数は使うべきじゃないよ。
754 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 12:12:59.19 ID:qQ/oDW04.net] 一言言い返さないと気が済まないの草
755 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 12:41:27.23 ID:VfWi0ZR2.net] ぶっちゃけ書籍が豊富かどうかも結構重要じゃない?
756 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 15:59:13.78 ID:El26kNsy.net] そりゃ最初にソース書いたやつは楽だっただろうけどさ 1/1Mの確率で発生する実行時バグの再現とかうんざりなんだけどw rustってそういう方向で発展した感じはする
757 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 16:13:44.05 ID:/9nVrKkw.net] 数千万人が使うFirefoxの開発のために作られた言語を 一般のソフトウェア開発に適用しようというのが間違いあり
758 名前:あ mailto:sage [2017/05/26(金) 16:56:09.15 ID:WBRM/ZCu.net] >>754 とヒトコト言い返されたのか。
759 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 17:09:15.54 ID:DWpJNS2w.net] ついに外野の煽りまで言い返しに見えるようになったか……
760 名前:デフォルトの名無しさん mailto:sage [2017/05/27(土) 08:10:39.25 ID:pn0LTxzc.net] pythonとgoを足して2で割ったような言語がほしい
761 名前:デフォルトの名無しさん mailto:sage [2017/05/27(土) 08:28:53.30 ID:/y/DrrO+.net] >>760 grumpy
762 名前:デフォルトの名無しさん mailto:sage [2017/05/27(土) 08:54:52.85 ID:L7+QfvMM.net] やっぱscalaってkotlinに駆逐されるのかな プログラミング言語でさえ悪貨は良貨を駆逐する状態だからな 例えばPHP それがkotlinくらいまともな言語で、ググールがバックで突き上げてくるとなると・・・・・・・
763 名前:あ mailto:sage [2017/05/27(土) 09:42:37.89 ID:sEq8ObI0.net] >>760 単純な興味だけど、どっちの何がほしいんだろ?
764 名前:デフォルトの名無しさん mailto:sage [2017/05/27(土) 10:57:46.16 ID:reRwAhMh.net] C#/TypeScript/Kotlinあたりは今やプログラミング言語の一つの大きな派閥をなしてるよな あとはネイティブにも同様の思想の言語の決定版ができれば完成なんだが
765 名前:デフォルトの名無しさん mailto:sage [2017/05/27(土) 11:00:36.94 ID:Eqsuq0s8.net] >>764 Rust使うほどの速度は求めてないけど、Goはリスト操作関数とかジェネリクスとかなくて辛いって時に使える丁度良いネイティブ言語欲しいよね
766 名前:デフォルトの名無しさん mailto:sage [2017/05/27(土) 11:04:36.51 ID:qsMDYrRv.net] ネイティブで、リスト操作そこそこできて、結構速い言語、D
767 名前:デフォルトの名無しさん mailto:sage [2017/05/27(土) 12:12:38.62 ID:HGPZIoS2.net] リストくらいてきとうにつくれよ。。
768 名前:デフォルトの名無しさん mailto:sage [2017/05/27(土) 13:20:29.95 ID:XQaVXkEd.net] 安全で性能が高いリストを言語の専門家の側で作ってくれてたら貴重な研究時間をリストのコーディングなんかに割かなくてよくなるからな 新しい言語を触るたびにまず自分専用のリストをコーディングするところから始まるなら既に資産のあるCかFortranでいいわw
769 名前:デフォルトの名無しさん mailto:sage [2017/05/27(土) 13:29:17.98 ID:Eqsuq0s8.net] >>767 ジェネリクスがないから自作出来ない
770 名前:デフォルトの名無しさん mailto:sage [2017/05/27(土) 17:05:37.03 ID:ov4Em3Hs.net] できることと速度を求めるなら、C++/CLI。つこうたことはないが
771 名前:デフォルトの名無しさん mailto:sage [2017/05/27(土) 18:41:54.29 ID:iIPWFR2r.net] >>770 最近マルチコアやらHTやらでベンチ結果がC#と逆転することもあるとか聞いたけど dotnet自体とネイティブでの話だっけ?
772 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 00:06:36.06 ID:ICysod8P.net] >>771 ネイティブとマネージドでマネージドのほうが早いわけねーやろ
773 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 00:11:35.08 ID:Sy0/3upe.net] 偶にJavaでネイティブより早い場合があった記憶だけど、どんな理由でそうなるんだろう
774 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 00:23:47.84 ID:ICysod8P.net] >>773 理屈で考えてそんなことあるわけねーだろ… 何もかかってないたこ焼きと、すでにソースとマヨがかかってるたこ焼きに何かを足して どっちが美味しくなるポテンシャルありますかみたいなことだぞ なんもかかってないほうがポテンシャルあるに決まってんだろ
775 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 00:46:17.13 ID:0WfaW7Gk.net] 青のりを足したんだろ ソースとマヨがかかってるたこ焼きが圧倒的差で勝つ
776 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 00:54:48.38 ID:U0KxOEQh.net] ネイティブとマネージドだと徹底的に最適化した場合は当然ネイティブが速いけど、 C(++)とかよりマルチスレッドを楽に実装出来るC#とかならC++だと面倒でスレッド使う気無くすような所でも使えるから同じ労力なら速くなる(かもしれない)
777 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 01:15:59.27 ID:4Fx58v3m.net] JITでコンパイルしたネイティブコードだけじゃなく計算した結果も後で使いまわすんじゃねーの うまくヒットすれば凄く速くなるけど下手すると効率悪い、メモリ喰う、処理も増えるの三重苦
778 名前:デフォルトの名無しさん [2017/05/28(日) 01:17:31.30 ID:U0KxOEQh.net] あとGCはメモリ足りなくなってから処理走らせるからC++で使い終わるたびにdeleteするより速い場合も極まれにあるって誰かが言ってた希ガス
779 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 01:32:06.42 ID:0WfaW7Gk.net] まさにこのスレのために産まれたような言語が出てきたな その名もP
780 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 03:57:38.43 ID:EaAE0rQy.net] ( ´,_ゝ`)プッ
781 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 07:19:31.82 ID:eakmpy+6.net] >>774 JIT+実行時最適化でJIT VMのほうが速くなることはある。
782 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 08:00:52.56 ID:LGEAgh6i.net] >>774 でも、ソースとマヨネーズかけたほうが旨いよ。
783 名前:あ mailto:sage [2017/05/28(日) 08:13:50.68 ID:69h6ECeI.net] JITと何も考えてないネイティブなら、JITのほうが速いこともそこそこあるだろ。 有るか無いかわからないからベクトル演算命令使わないバイナリと、JITが使うように、使えないように、どちらでもなく展開できるように書いてある中間バイナリなら中間バイナリのほうがいいと思う。
784 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 08:55:10.15 ID:7vnd2VbN.net] 自分だけしか使わない常時起動の鯖に置くシステムで 長期間使うから次世代言語で作ろうと思ったけど このスレ読んでたらどの言語選んだらいいのか判らなくなったから RabbitMQ建ててとりあえずpythonで実装して連携させてみた 少しずつ次世代言語に置き換えていこうと思ったけと 常用するシステムって一度動いちゃうと 他の言語で再実装する気が無くなってくるね・・・ まずはerlang勉強してみる
785 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 09:23:33.91 ID:WC/bP4dR.net] そこはElixirだろ あえて遠回りしたいなら止めないけど
786 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 09:48:01.98 ID:3JFLUc/w.net] erlangとかElixirとか、そんな流行ってもない古いオワプロ(終わったプログラミング言語)使っても ええことないで
787 名前:デフォルトの名無しさん [2017/05/28(日) 10:12:17.25 ID:rsSu7Dn/.net] キラーコンテンツ1本でひっくり返るような評価なんだから 好きなの作ればいい 世間の技術者はもっと柔軟だよ
788 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 10:18:08.52 ID:WC/bP4dR.net] >>786 確かにそれは正しい 勉強自体が目的ならElixirをやらずにErlangをやるのもありかも
789 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 12:23:35.72 ID:2YTf35Kg.net] >>765 C++
790 名前:デフォルトの名無しさん [2017/05/28(日) 12:59:24.25 ID:U0KxOEQh.net] >>789 >Rust使うほどの速度は求めてないけど つまりGCがあってメモリ安全って事な
791 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 13:17:26.36 ID:RSwot+pt.net] 次世代言語とやらは現世代に比べて何が優れてんの?
792 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 13:20:41.87 ID:ermVQ6O8.net] >>791 高機能なライブラリ群
793 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 13:23:21.04 ID:oECcZCdB.net] >>792 ん?
794 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 14:22:45.54 ID:ombgcLsI.net] >>790 OCamlでいいんじゃない
795 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 14:30:05.38 ID:ew7wH7J4.net] >>765 node.js+typescript
796 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 14:32:16.25 ID:ew7wH7J4.net] >>786 エリクサーが古いオワコンはねーわ
797 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 14:43:12.15 ID:Qisigybt.net] >>796 エリ草wなんてそもそも話題にすらならん 始まる前から終わってたレベル
798 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 14:48:56.57 ID:f3EcrVh7.net] おれ仕事でエリクサー使ってるんだー と一度はいってみたい なんかすごそうだろ
799 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 14:54:43.46 ID:f+PScB+/.net] 不老不死の薬の名前を冠す言語がそう簡単に終わるはずはない 仮に終わっても魔術によって復活する
800 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 15:04:58.72 ID:Q4IaIxAm.net] でも、襟がくさい
801 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 15:19:37.92 ID:9pcvjMzo.net] つい使わずに最後まで温存しちゃう
802 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 15:20:40.57 ID:ew7wH7J4.net] >>801 誰がうまいこと言えと
803 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 17:55:49.04 ID:vGG8JLoS.net] >>802 えっ どの辺がうまいの?
804 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 19:33:51.17 ID:kC4qoZB1.net] FFのプレイスタイルの話かと
805 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 21:04:54.47 ID:qP/iot/5.net] すみません GoとRustはC10Kにはどういうアプローチで解決してるんでしょうか
806 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 21:05:35.06 ID:ermVQ6O8.net] エリ草wすこ
807 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 22:18:28.95 ID:Sy0/3upe.net] Rust知らないけどGoは処理の都度軽量スレッド作成して実行するだけじゃないん? haskellで軽量スレッドの便利さ知ったわ、有名なのはErlangだろうけど
808 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 06:24:01.86 ID:KA+g5PFR.net] $$$4.3$$$ "V"="1.3335412","0","1","3Q",
809 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 09:14:05.07 ID:GJ83UXew.net] マルチスレッドの分散処理とかネイティブなら意図的に書かないと分散されないとかあるんじゃない?
810 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 10:31:24.03 ID:QfBUHXY+.net] ところで次世代言語スレとしては「書けるけど面倒」は「書けない」と同義と扱ってもいいよな? チューリング完全を扱うスレじゃないんだし
811 名前:デフォルトの名無しさん [2017/05/29(月) 11:14:43.44 ID:iVofvGGy.net] はああ〜〜 息をするのも面倒でいやだ
812 名前:あ mailto:sage [2017/05/29(月) 13:01:56.82 ID:GBTOKQdE.net] >>810 かけるけど面倒だけど、他には無いメリットがある、ならアリだと思うが。 Rustはもちろん面倒だが、チェッカが正しいから面倒だし、 Goの if err != nilも、何回書くんだこれってなりがちだけど、シンプルさといろんな意味での長距離のジャンプをさせないがために面倒だし。 ただただひたすら面倒な物とは多少違うかと。 世の中にはチューリング完全でない、と言うことに意味のあるものもあるしね。 DSLだけど帳票出力言語とか書いたことあって、敢えてチューリング完全にならない様に書いた事ある。 事実それ以前の帳票出力言語で闇ばっかり生まれてたのが綺麗に抹殺されて、 見かけの工数は2割くらい増えてるけどトータルの工数で統計取ったら8割減という驚きの結果が出た。
813 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 13:56:23.00 ID:acCBGFJL.net] >>810 それを言ったらアセンブラで何でも書けるよ。
814 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 14:12:49.13 ID:QfBUHXY+.net] >>812 安全さのために面倒になってしまう進化もありということね? 確かにCは面倒な上に危険だもんね 後半の話はよくわからん。それ関係なくない? >>813 賛成ということね?
815 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 14:23:05.93 ID:MJszAqXA.net] 次世代には開発での見かけの生産性だけ高くても意味ないじゃん って問題意識があるような rustはチェッカーでエラー出してはねとばし(だから警告じゃダメ) Goは言語仕様小さくしまくって でも目的は同じみたいな
816 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 14:30:20.43 ID:KWmGTlOy.net] いくら優れてても流行らなければ何の意味もない 言語自体の優劣をどうやって決めるのか 次世代って言うのは単に次に流行る言語って意味だ 多くの人が使い次の世代を担っていく言語だ なになにの機能がないから次世代じゃないとか本末転倒 見かけだけの生産性が高い言語が流行ったとしてそれが社会の求めるものだったら そういうことだ それが理解できないようでは次世代もくそもない
817 名前:あ mailto:sage [2017/05/29(月) 14:44:37.26 ID:GBTOKQdE.net] >>814 Kotlinなんかで、この中にDSLを内包しよう、という動きもあるが、あれには完全に賛成とは言わんと言う意味と、 ○○の○○を書くときにめんどくさい、と言う反論への、○○を書くべく好きに言語選んだり作れと言う予め言っときたい反論。
818 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 16:10:34.95 ID:QfBUHXY+.net] このスレに来てる人で「安全だけど面倒」系の言語を推してる人ってどういう人なんだろう? そういう言語ってプロトタイピングに使える訳じゃないから本番用だろうし、本番の言語を決定出来る立場の人なんだろうか?
819 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 16:20:37.06 ID:godqZJ2E.net] x 安全だけど面倒 o 安全を犠牲に横着が許されない
820 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 16:25:30.41 ID:godqZJ2E.net] IDが神だ 崇めろ
821 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 16:45:39.75 ID:QfBUHXY+.net] >>819 ねえ神様その訂正って本当に正しいのですか? 横着が許されるような言語とはPHP以外にどのような言語があるのでしょう?
822 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 18:26:51.14 ID:acCBGFJL.net] >>820 J2EE や J2SE だったら良かったのにね〜
823 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 19:22:07.37 ID:0Gkejxu2.net] >>821 > 横着が許されるような言語とはPHP以外にどのような言語があるのでしょう? C++とか
824 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 19:42:32.87 ID:ZANWFrCy.net] >>812 可変な再帰的データ構造が書けないチェッカーの何が正しいって?
825 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 19:49:03.78 ID:QfBUHXY+.net] >>823 ああ、そういうのを指して横着と言うのか。なるほどありがとう
826 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 20:11:17.48 ID:VknhjnwZ.net] つーかここの人が求めてるものってなんだ?趣味で扱う言語?それとも仕事で扱う言語? 仕事なら商品として売りものを作る用?それともプロトタイピング用? 俺はプロトタイピング+趣味なんだけど
827 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 20:14:50.03 ID:TtK3Weat.net] 次世代=仕事も含めメジャーになる言語
828 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 20:46:24.41 ID:ZANWFrCy.net] プロトタイピング目的なら型がだるいRustとかScalaとかHaskellとか選外だと思うんだが?
829 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 20:53:06.38 ID:IJYAREKV.net] ろくにアセンブラ使ったことないヤツに限ってアセンブラ万能説唱えるよな 理論上可能だとしても現実的には大体無理
830 名前:デフォルトの名無しさん [2017/05/29(月) 20:54:05.50 ID:HfKGNWZk.net] >>828 お前は動的言語なら型を全く気にしないのか? Rustはともかくただの静的言語でScalaの型ダルイっていうのはおかしいと思う Haskellは触った事ないから知らん
831 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 21:00:14.21 ID:ZANWFrCy.net] >>830 プロトタイプならって言ってるだろ…… プロダクションならScalaは良い候補。Haskellは性能で選外。Rustは欠陥なので選外
832 名前:デフォルトの名無しさん [2017/05/29(月) 21:02:13.17 ID:HfKGNWZk.net] >>831 プロトタイプでも動的は駄目だわ 書かないだけで型を意識するのは変わらないし
833 名前:デフォルトの名無しさん [2017/05/29(月) 21:03:35.01 ID:HfKGNWZk.net] 理由が「型がだるい」じゃなくて「IDE起動がだるい」とか「コンパイルがだるい」ならまだ分かるけど
834 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 21:10:58.51 ID:VknhjnwZ.net] >>828 プロトタイピングとか自分用の道具でもある程度規模が大きくなって来ると型のサポートが欲しくなって来てな
835 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 21:40:27.19 ID:1GyH5Yoq.net] おまいらがアーアンがいいとかルーストがいいとかワガママ言っても、 コトィンがランゲージオブネクストザジェネレーションの地位を確立したのは疑いようのないトゥルス 0 == "0"がtrueかfalseかなんて疑問が毎秒1000ビリオンダラーの損失を叩き出すPHPが なぜか世界最大級の地位を確立したように おまいらは低きに、そして大流に流されるだけの哀れな落ち葉でしかないんだよ いつか腐葉土になる日もくるかもしれないが、まぁね
836 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 21:41:32.11 ID:TtK3Weat.net] www コピペして使わせてもらうわ
837 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 21:56:59.55 ID:nr29QT3e.net] こいつ久しぶりに見たな
838 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 22:00:04.18 ID:1GyH5Yoq.net] ? 俺はいつも君のそばに。
839 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 23:26:26.04 ID:wVYYUW+P.net] >>835 これが次世代言語を操るプログラマか…
840 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 23:31:27.27 ID:HMZ0UBYT.net] >>835 おまえのその才能はプログラムでは活かせない
841 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 05:38:55.18 ID:LPiGbjps.net] 10年前ならわかるが、今のHaskellの性能では論外になるような案件って、そう多くないんだがなあ。 まあ、言ってみたかっただけなんだろうけど。
842 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 07:33:30.59 ID:v66/o58F.net] Haskellで書いたコードは見た目がキモくてジンマシンが出ちゃう人続出なのでダメです
843 名前:デフォルトの名無しさん [2017/05/30(火) 08:43:27.37 ID:83Cyphvh.net] 性能で選外はどうかと思うなぁ そんなもん使う人増えれば最適化進むんだし
844 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 09:15:29.92 ID:RK9zQtkX.net] スレタイの言語でRustだけマイナー言語すぎやしないかい
845 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 09:35:09.42 ID:qy3qSG7Q.net] >>838 次回を期待して待っている
846 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 10:57:41.88 ID:cUShYlMs.net] >>844 マイナーなだけでなく実体もクソオブザクソなのでHaskellより先にスレタイから外すべきだった。
847 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 11:11:01.01 ID:cUShYlMs.net] Rustと比べたらHaskellだって実用言語。次スレからはHaskellの復活はいいとしてもRustをスレタイから外すことを提案
848 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 11:53:37.01 ID:ixvaRPT7.net] Rust擁護勢はキチガイみたいなのしかいないことが判明したので許可w
849 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 12:42:11.61 ID:8eoxxCqM.net] まーた特定言語叩きが始まった ネットの情報だけを元に叩く事しかしない引きこもりばかり
850 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 12:49:20.67 ID:8KwHai5R.net] とはいえ現代の最高の言語はscalaだし
851 名前:あ mailto:sage [2017/05/30(火) 12:52:24.90 ID:CncaY8jR.net] >>818 横着にもかける言語で、横着が許されない類のプロジェクトに関わった事がある人では?俺もそうだし。 次世代という意味で期待してるってのもいろんな面があって、 とにかく楽な言語、とにかく早い言語、とにかくメモリー使わない言語、とにかく安全な言語と求めるものが違うところに、 これこそ至高!と全部中途半端なRubyとHaskell出てくるからめっちゃくちゃウザい。 >>824 再帰的な構造はかけるでしょ。 再帰的なデータ型も書ける。 だめなのは、多相の組み合わせが爆発するか循環してしまうもので、当たり前だがHaskellみたいに実行時に多相性を解決してるんじゃなくて、コンパイル時に解決されるからで、そのコンパイル時の解決を行うときに死ぬから。 コンパイル時解決は、というモットーというかテーゼなので、仕方ない。 し、そもそも、そんなものを作るべきではないというのが公式の見解かと。 コンパイル時に多相を解決する言語ならだいたい同じ。
852 名前:あ mailto:sage [2017/05/30(火) 12:55:16.76 ID:CncaY8jR.net] そもそも、そこまでプッシュしてないRustに、異常にアンチしてる奴がわからんなと思ってたら、 色んなスレに「僕には理解できなかったし、すごいプロダクトも見つからなかったからこれはゴミ!」って書いてる奴なんだな。
853 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 13:12:50.81 ID:ixvaRPT7.net] >>851 Ruby、Haskellが至高!って言ってるレスどれ? 最近ないと思うけど
854 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 13:17:09.64 ID:ynDKwlR5.net] >>851 >当たり前だがHaskellみたいに実行時に多相性を解決してる おいおい、Haskellの実装知ってんのか? Haskellで実行時に型情報が必要な多相性はほんの一部だ。 ほとんどの場合、コンパイル時に解決される。
855 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 13:41:55.27 ID:cUShYlMs.net] >>852 モジラのステマ部隊が色んなところでRustの押し売りしてるから訂正して回ってるだけ
856 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 13:59:47.73 ID:jNMa8OnS.net] 特定の言語アンチになると こんな気持ち悪い行動をする様になるんだな
857 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 14:00:38.72 ID:94LBzFAW.net] アンチの異常者が複数のスレで暴れてたのか 頭おかしい
858 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 14:25:11.74 ID:3SkGkDqj.net] HaskellアンチとRustアンチ至高のガイジバトル
859 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 14:34:50.93 ID:cUShYlMs.net] 別にRustのステマ部隊にガイジって言われようと本望だしなぁ…… まともに書けたっていうRustアプリのソースでもって出してくれりゃ退散するのにね。
860 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 14:54:59.04 ID:3SkGkDqj.net] たしかにこの後に及んで一切ソースが出ないRustははっきり言って異常だ Rust擁護勢の方がガイジレベル高いな
861 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 15:25:43.73 ID:gCyMQJVM.net] RustはC++の正当後継だよ。 上位互換。
862 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 15:53:14.47 ID:cUShYlMs.net] >>861 出たーステマ部隊の常套句! そうほざくなら>>734 ->>735 にこたえてからにしなよ工作員
863 名前:あ mailto:sage [2017/05/30(火) 16:00:40.31 ID:CncaY8jR.net] >>853 おお、グイグイくるな。 最近言ってなきゃいいわけではないでそ。 >>854 知ってるよ。実行時に多相性を「しない」のならその主張もわかるが、「ほとんどの場合しない」は「してる」だよ。 「施錠確認した?」「ほとんどしました」って、要は全く施錠の確認できてないのと変わらんよね。 >>735 答えたような。それ。
864 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 16:36:41.65 ID:8eoxxCqM.net] >>863 それ例外の一般化っていう立派な詭弁だぞ
865 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 16:40:24.65 ID:8eoxxCqM.net] Ruby、Haskell、Smalltalkときて今度はRust そもそも、まともに知りもせず想像でひたすら叩き合ってるだけ それを建設的かのように振る舞うのがおかしい
866 名前:デフォルトの名無しさん [2017/05/30(火) 16:45:38.14 ID:xHXzQ5Z2.net] RustよりGo外そうぜ 実用的かもしれないけど次世代言語とは呼べない あれ前世代実用言語だろ
867 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 16:49:34.00 ID:2BqlBcyR.net] 次世代言語は来るに任せるべき。 今はC#で十分。 大事なのは、ビジネスモデルを構築できるかという事。 言語はただのツール
868 名前:デフォルトの名無しさん [2017/05/30(火) 16:53:10.33 ID:xHXzQ5Z2.net] C#とScala(Kotlin)は二大実用次世代言語だと思う
869 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 16:53:38.72 ID:cUShYlMs.net] >>865 知ってるから叩いてるんだよなあ。よくしらないとか想像で叩かないでほしい。 ステマに騙されてRustで無駄な時間を過ごす人が出ないようにしてる訳だから俺は建設的な話してる
870 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 16:53:42.98 ID:8KwHai5R.net] >>861 C++の後継なんて誰も必要としてなくね
871 名前:デフォルトの名無しさん [2017/05/30(火) 16:59:32.47 ID:rSfKoxDq.net] >>870 それはC++が至高だと仰ってる?
872 名前:デフォルトの名無しさん [2017/05/30(火) 17:00:15.77 ID:xHXzQ5Z2.net] >>870 C++が使われてるって事はいるって事だろ
873 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 17:25:07.30 ID:ibpptRxp.net] C++の後継はDかC#でいいだろ
874 名前:デフォルトの名無しさん [2017/05/30(火) 17:26:58.34 ID:xHXzQ5Z2.net] >>873 C++の後継はメモリ管理自由に出来てネイティブな事が最低条件だろ
875 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 17:41:56.85 ID:ixvaRPT7.net] >>863 過去の幻影に囚われていつまでも暴れまわる怪獣みたいなガイジ行為はやめろ
876 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 18:02:22.35 ID:LPiGbjps.net] だめだこりゃ。「あ」は自己弁護しかできないバカだ。バイバイ。
877 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 18:23:19.22 ID:ixvaRPT7.net] 自己弁護の神だからしゃーない >>863 二段落目についてはあまりに下手糞な理論展開のせいで真意が伝わっていないだけだと思うけど
878 名前:あ mailto:sage [2017/05/30(火) 18:42:50.81 ID:CncaY8jR.net] >>864 例外を一般化してるわけではなくて、その例外を許さない事自体が言語仕様、言語設計なんでしょ。 お前が例外を例外と認識しているのに、敢えて混同してるんじゃん。
879 名前:あ mailto:sage [2017/05/30(火) 18:46:31.86 ID:CncaY8jR.net] 自己弁護も何もなぁ。 べつにrust推しでも何でもなく、割とまともになってんじゃんって感想にここまで吠えられてるのに。 詭弁だと言うなら言い負かせば良いのに。 無理そうになったら狂ったり、論理否定のための人格否定で誤魔化すのやめてよ。つまらん。
880 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 18:48:03.47 ID:flnvhYto.net] rust 信者が望んでることって結局こういうことでしょ? www.kh.rim.or.jp/~nagamura/misc/stroustrup-interview.html
881 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 18:49:24.03 ID:ixvaRPT7.net] 自分の文が読みにくいから勘違いされてるのに反省せずそういう書き込みする あと、その理屈ならHaskell擁護も一部のキチガイ除けばそんなに悪くないと書き込んでるだけなのに噛みつかれて困惑してるよ
882 名前:あ mailto:sage [2017/05/30(火) 18:57:43.16 ID:CncaY8jR.net] >>881 読みにくいってまた主観的な意見だな。 何かダメなの? こないだの、改行を適宜入れろって話のほうがはるかに役に立ってる。 後半。 Haskell自体が八方美人のブスみたいな印象で、実際問題その理念通りの使い物にはならんと言ってるだけで、Haskell使いは叩いてないぞ俺。
883 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 19:03:05.19 ID:ixvaRPT7.net] >>882 その話は知らんが俺は>>705 だ。前は具体的に指摘した。毎回具体的に指摘してほしいってか? 俺は超注意深く読んだから今回のはなんとか理解できてるけど、実際今二人ほど勘違いしてるよね?俺も最初彼らと同じ勘違いをしたよ
884 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 19:15:39.06 ID:Eop9uX5M.net] >Haskell自体が八方美人のブスみたいな印象で、実際問題その理念通りの使い物にはならんと言ってるだけで、Haskell使いは叩いてないぞ俺。 これRust叩きの人も同じやん
885 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 19:19:35.04 ID:8KwHai5R.net] >>871 Yes!
886 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 19:24:22.10 ID:MdPNaTW3.net] スレタイ読めないの?漏れ↓だと思ってんだけど ここはアンチC++の巣くつ(わざと「すくつ」って書いたら予測変換出てきたw)
887 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 19:50:43.11 ID:gVUCJ1iG.net] Rustは使い物にならないと批判してる人は 仮にfirefoxをちゃんとRustで書き直したら実用性はあると認めるの? それとももっと基準は高い?
888 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 20:36:56.72 ID:Eop9uX5M.net] 威信にかけてFireFoxは書くだろ むしろそれ出来上がらなかったら本格的にヤバいじゃん
889 名前:デフォルトの名無しさん [2017/05/30(火) 21:03:27.26 ID:5Aqfn1oc.net] とりあえずRustでJavaScriptを作れば後はJavaScriptで自由に書けるじゃん
890 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 21:42:15.61 ID:flnvhYto.net] >>887 認める。 おれは破綻するんじゃないかと思ってる。
891 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 21:44:23.55 ID:J0ju3rCP.net] まあ待て待て、ここで挙げられてる言語は全部使ったことある俺が一番ウンコな言語を判定してやるよ 一番ウンコはSmalltalk!これは間違いない
892 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 22:21:32.00 ID:8KwHai5R.net] 最も 醜い言語はJS 美しい言語はScala 簡単な言語はpython 難解な言語はHaskel 柔軟な言語はC++ 魅力がない言語はC# 意思を感じる言語はObjC かっこいい言語はElixer 雑な言語はGo 愛された言語はJava 幸運な言語はRuby 迷走してる言語はPHP
893 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 22:22:05.08 ID:tbholWW0.net] >>887 本当に書き直して成果を公開したら認めるわ。 うまくいかないにカシオミニ賭けてもいい。
894 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 22:23:35.43 ID:R+mglHOn.net] 最も 空気な言語はRust
895 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 22:24:39.69 ID:tbholWW0.net] >>884 Rust使いはステマ部隊かステマ部隊に騙された不幸な人だからな。前者は叩いても後者は叩けんな。
896 名前:デフォルトの名無しさん mailto:Rust [2017/05/30(火) 22:30:20.45 ID:tbholWW0.net] >>880 Rust信者というかモジラとかいう世界中のソフトウェア会社の敵が狙ってるのがこれだろうなってことは感じてた。 クソ言語をステマ工作してソフトウェア会社に売り込んで、自分達の給料の確保に使う。クソモジラならやる。
897 名前:デフォルトの名無しさん [2017/05/30(火) 23:06:16.05 ID:xHXzQ5Z2.net] >>892 ES6でかなりマシになったから(ガクブル
898 名前:あ mailto:sage [2017/05/30(火) 23:25:03.18 ID:CncaY8jR.net] >>883 なんとか理解できてるなら必要充分だってことでしょ。 まるで>>883 以外は低能みたいに言ってはいかん。
899 名前:あ mailto:sage [2017/05/30(火) 23:26:34.66 ID:CncaY8jR.net] >>884 そうでもないだろ。 半コテでなんでここまで叩かれにゃならんのだ。
900 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 23:29:41.17 ID:ixvaRPT7.net] 全然必要充分ではない。現に二人誤解したし、俺も最初は誤解した
901 名前:あ mailto:sage [2017/05/30(火) 23:42:29.76 ID:CncaY8jR.net] >>900 誤解した人間が二人、誤解していた人間が一人、発言なく見えないどちらの状態かわからない人間が複数名。 これで有意差を出すなら、何人が母数なの? 自分の観測域で相手を評価するのは良くないと思うけど。 「自分と同じく誤解したが誤解が解けたか、誤解したままである」と周りを推定するのは、俺が相手は馬鹿ではないはずだと推定するのと同じでは無いのかと期待するのと同じレベルかと。 しかしまぁ、少なくとも議論スレならばもう少しマシな話がしたいし、不要な枕詞は使いたくないけど、まぁ通じないなら言い方をもうちょい気をつけるわ。
902 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 23:48:23.58 ID:ixvaRPT7.net] そうしてくれ
903 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 23:53:22.51 ID:8eoxxCqM.net] >>878 何の反論にもなっとらん 俺はHaskellに例外はないなんて言ってないしそもそも知らん 難癖もいいとこだな
904 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 05:55:34.28 ID:4rMtQxoJ.net] >>891 SmallTalkが一番ウンコだと思った決め手は何?
905 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 06:14:00.96 ID:wEozaoTa.net] >>879 では、具体的にGHCが実行時型情報を必要とするケースを挙げてみろよ。 言っておくが、パラメトリック多相は全てコンパイル時に解決されるし、 型クラスによるアドホック多相も、あれは関数オーバーロードの形式化だからな。 関数オーバーロードはコンパイル時に解決されるぞ。 さあ、具体的に挙げてみろよ。
906 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 07:43:00.95 ID:uGw1TdWN.net] 多分、エンジニアガイジの主張は 「rustはコンパイル時に多相を解決する能力がないので、その能力のあるHaskell と違ってデータ構造が作りにくいのは仕方がない」 みたいな感じと思われる。難解だけど
907 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 08:28:06.80 ID:uGw1TdWN.net] 逆だ「実行時に多相を解決能力がない」だ
908 名前:あ mailto:sage [2017/05/31(水) 09:15:21.09 ID:dc+IbjjD.net] >>903 あ、例外の一般化をしてる、ってのは「Haskellでは実行時にも多相の解決をする」ってのを「『Haskellでは多相の解決を実行時に必ずする』と一般化(というより誤解)してる」という意味ではないのか。なら的はずれな事言ってすまんな。 >>905 具体的に上げろと言われてもなぁ。 <T>を持ったenumがOptionかcar(T)とcdr(<T,T>)である時くらいかな。 >>906 そうそう。能力を敢えて持っていない、に近いけど。 実行時ゼロコストを目指してるから仕方ない。
909 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 09:37:51.17 ID:uGw1TdWN.net] おお合ってたか。正直自信なかったんだよね >>906 を主張を三行に纏めるお手本にしてくれてもいいぞw
910 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 10:08:26.32 ID:j+YATO3J.net] さすがに読み解けんわ…… エンジニアガイジは本気で伝え方の訓練した方がいい。 ID:uGw1TdWNみたいな有能な読み解き手がいつもおるとは限らんわ。
911 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 10:21:53.06 ID:j+YATO3J.net] エンジニアガイジの主張がさっぱり伝わらない理由って何かと見返してみたが、 相手の反論を表面的にしか返さないせいだな。その質問がどういう疑問から出たかわかってない 「Haskellは実行時に型を解決する(からRustより型の表現力がある代わりにオーバーヘッドのトレードオフがある)」 って意見に 「Haskellもほとんどコンパイル時に解決できるわ」って反論が来たときに「ほとんどは全てじゃないだろ」なんてなにも伝わらん腐った返しするから伝わらないんだっての 「そのごく一部のおかげでそれが皆無のRustより型の表現力があるんだろ?」って、元の主張の()の部分を伝えればまだ理解してもらえるだろうに。 つまり疑問に対する反論が下手。
912 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 10:31:33.38 ID:j+YATO3J.net] エンジニアガイジは相手が自分の主張に何か返してきたとき、「相手に何が伝わってなかったか」を考えるようにした方がいい。 それが出来てないから今はただ論破することしかできてない。
913 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 10:49:08.01 ID:9eeNyIu8.net] ハイロンパしたいだけの奴に何言ってもね。。
914 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 10:55:14.91 ID:WMdxYZmu.net] >>913 本当に「はい論破」したいだけなのか、かわいそうに論破スタイルしか議論の方法知らんのか俺には区別つかないからなぁ。 自分の意見の伝わらなさの自覚はありそうだから(現状人のせいにしてるが)後者にかけて長文投下した
915 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 10:58:50.65 ID:xgELgHJk.net] 彼はアスペルガー症候群でしょう 本人に非があるわけではないが、治ることもない
916 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 11:03:36.26 ID:WMdxYZmu.net] >>915 確かに「相手の反論が何を疑問点として出てきたかを推察できずに表面的な論破をしたがる」っていうのは典型的なアレだが、 それだけで病気認定は俺にはできんな。健常者でも多少の訓練は必要な事柄だからな。 ただ可能なら診察は受けた方がいいかもわからんね。純粋な心配として。
917 名前:あ mailto:sage [2017/05/31(水) 11:08:50.13 ID:dc+IbjjD.net] >>911 一から百指摘しないと理解できません、って取ったらいいの? >>912-913 全然論破もしてるつもりないけど。 反論はまともにしてほしいだけで。 論破スタイルってか、ストレートに言わないと議論にならんでしょ。 雑談所なら雑談するよ。
918 名前:あ mailto:sage [2017/05/31(水) 11:10:55.99 ID:dc+IbjjD.net] >>916 子供作るときに一通りそういう気質があるか調べてもらったが、幸いながらアスペではなかったぞ。 残念ながら多動はあった。
919 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 11:17:13.85 ID:+xjBJZk4.net] ただのADHDってことか 気持ち良い納得感を得られる良スレだな
920 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 11:18:20.52 ID:4nPr+Atc.net] ADHD以前に躁鬱でしょ
921 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 11:20:10.30 ID:WMdxYZmu.net] >>917 一から百の全部を要求するやつは蹴り倒していいとは自分も思うが、一から百のうち任意のどこかを要求する人の相手くらいできんと人と議論は進まんぞ。 相手の疑問から一から百のうちどこの説明をするべきか読み取ろうという話 反論がまともに来ないのはこれまでの積み重ねのせいじゃないのか? 別に論破スタイルじゃなくてもストレートに議論はできるだろ。
922 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 11:21:41.06 ID:WMdxYZmu.net] >>918 通院済みか。余計なお世話だったようだ。
923 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 12:19:10.63 ID:uGw1TdWN.net] 彼にガイジとニックネーム付けた奴の先見性高いと思わない?
924 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 15:24:55.30 ID:jQ0rWyUQ.net] >>908 ><T>を持ったenumがOptionかcar(T)とcdr(<T,T>)である時くらいかな。 コンパイル時に解決できないHaskellの多相の例がそれか? おまえHaskell書いたことあるか?
925 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 15:27:38.08 ID:jQ0rWyUQ.net] 多動のせいで議論ができないんじゃなくて、 シッタカで主張が支離滅裂になっているのを 多動のせいだと思ったおまえらが勝手に辻褄合わせをしてあげて なんだか最初からそういう主張をしているかのように 本人もおまえらも思い込んでいるだけ。
926 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 15:40:30.39 ID:T8V/ATS8.net] >>925 別に多動のせいじゃないと俺は思うがなあ。多動ってそもそも議論できる出来ないに関係あったっけ? 単に意見の擦り合わせが絶望的に出来ないから知ったかと同じような議論破綻に突っ込む感じで、 ディベートを議論と勘違いしてるよくある感じのやつだと思ってる。
927 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 15:53:44.27 ID:T8V/ATS8.net] 俺はHaskellはトーシロ(死語)だから実行時に型チェックするパターンがあるかどうかなんて細かいこと分からんが エンジニアガイジが「Haskellの型はほとんどコンパイル時解決だ」って言われたときに やるべきだった反応は 「俺はこのパターンは実行時解決だと思ってたけど違ったか?」であって 「ほとんどは全部じゃねえよはい論破」じゃない。 こういうところが議論向いてないんだよな。
928 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 17:26:35.18 ID:gpiwU3f+.net] (TvT)
929 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 18:22:27.22 ID:EynlLbc5.net] >>908 enum? もしかしてHaskellとScala間違えてんの?
930 名前:あ mailto:sage [2017/05/31(水) 20:17:12.66 ID:dc+IbjjD.net] >>921 相手の意見は汲み取れと言われながら、自分の主張は汲み取る必要が無いように余すことなく全て話せと言われると、 それは違う思う。 >>929 いや、完全に記憶だよりだからその辺違うなら違うんだと思う。 optionじゃなくてnilだった気もする。 なんと言うか、凄いな。Haskellを否定するだけでここまでヒートアップするのは。 スレタイからも抜けたし、否定し放題だとは思うが。 否定されるのが嫌ならHaskellスレに引きこもってりゃ良いのに。
931 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 20:44:50.62 ID:uGw1TdWN.net] 自分の意見が伝わりにくいことは現象として理解してる癖に、優しい人が理由を考えてあげると反論してしまい受け入れられない 誰かがいってた放置されてきた子って的確な表現だな どんな優しい人でもこれは放置する
932 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 20:46:07.28 ID:X6jg+zcK.net] 言語についてテキトーな事を書いたらツッコミ入れるような奴が このスレに集まってるだけだぞ Haskell関係ない
933 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 21:11:21.68 ID:43iY7lC1.net] >>930 >相手の意見は汲み取れと言われながら、自分の主張は汲み取る必要が無いように余すことなく全て話せ それをお互いにやるんだよ。 でもどちらも人間なんだから限界あるだろ?そこを擦り合わせるんだよ。 それが論破合戦じゃない議論なんだよ。
934 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 21:29:09.19 ID:43iY7lC1.net] もしかしてエンジニアガイジは自分の意見に反論や疑問が飛んできたとき、 「こいつは自分を潰しに来たから潰し返さないと」とか思ったりしてる?
935 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 22:25:13.36 ID:ZWDZ9M4A.net] それできてる奴このスレにいるんですか 大抵潰し合ってないですかね
936 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 22:39:52.28 ID:EynlLbc5.net] >>930 Haskellを否定というか、 明らかに間違えてるので、知りもしないで突っ込んでるとしか思えないが
937 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 22:43:08.23 ID:EynlLbc5.net] というか、この人Haskell触ったことなくて叩いてるよね 食わず嫌いは勝手だからいいとしても、さも知っていて、かつ理性的かのように振る舞うのはどうなんだ? 素直に理由はないがキモいと言えばいいのに
938 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 23:51:50.75 ID:meGSNm+f.net] >>851 大規模案件で採用されているゴミ屑PHPさんの悪口はやめろ
939 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 00:21:45.04 ID:7sVuk+w7.net] まあルストはダメだってことはわかった。
940 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 01:21:00.20 ID:P48QZU+o.net] >>930 >いや、完全に記憶だよりだからその辺違うなら違うんだと思う。 >optionじゃなくてnilだった気もする。 記憶違いのレベルでなく、それはどこからどう見てもHaskellの型とは似ても似つかない。 記法の問題でもない。 概念レベルから根本的にHaskellとは異なるものをHaskellの欠点と言い張っているだけ。
941 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 01:23:44.43 ID:EiP2TW+2.net] carとcdr使う静的言語ってなんだ
942 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 01:29:53.69 ID:P48QZU+o.net] 型推論付きのSchemeか?w
943 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 02:27:16.60 ID:8CaOxlMo.net] まあHaskell触った事ある奴はOptionとMaybe Nothingとnilは間違えないよな nullって書いても他言語とは全く異なるし
944 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 02:30:44.70 ID:8CaOxlMo.net] あとBottomType的な意味でnilとか言ってもだめだぞ ないからなw
945 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 02:55:42.04 ID:wUNQCT/b.net] >>930 どこから見てもお前の言ってる事がおかしいぞ 論理的におかしい事をさも正しい事のように言ってるから叩かれてるだけ
946 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 03:12:08.82 ID:z55iS7vV.net] どこから見てもおかしいというだけの主張が論理的なのか
947 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 06:01:07.41 ID:8CaOxlMo.net] >>946 何を言ってるかわからないほど破綻してるから、おかしいで合ってるし そして論理そのものは前提で変わり、妥当性とは関係ないので、お前の主張もおかしい 論理的云々と言うやつほど論理を知らない証左
948 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 06:44:41.63 ID:vNOzF29i.net] 関数型の思想を一切使わずアプリケーションをバグ無く作れる者だけが、彼に石を投げなさい
949 名前:あ mailto:sage [2017/06/01(木) 07:44:01.52 ID:xXOCh96c.net] おお、皆に言われるとHaskellをもう一度学ばないといかん気はしてきたな。 割とありがたいし、せっかくだからちょっとやってみるわ。 >>933 あーなるほど。それはわからんでもないな。 ただ、指導教官に昔言われた「不明点は察するな、現実を話させろ」を実践してて、 言ってしまえばアスペ的思考をしてたから、ちょっと慣れるまでに時間かかるかも。 実際役にもたったしね。その発想。
950 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 08:26:56.92 ID:fZ4Ynj9f.net] みんなが言ってくれてんのはね Haskellbヌうのこうのとb「うよりもまず お前は重度の知ったか自己弁護野郎であり さすがに付き合いきれないよってこと たぶん、そういうとこは伝わってないんやろな
951 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 08:29:11.71 ID:fZ4Ynj9f.net] 文字化け修正: Haskellどうのこうのというよりもまず
952 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 10:36:58.41 ID:2zjIoc8f.net] >>949 >不明点は察するな、現実を話させろ 大学の研究室や学会では正しいが、2chっつーかネット越しの文字でやるには向いてない手法だな 手法は場によって選ぼうな? あと自分が間違ってるかもしれないって懸念は常に持っとこうな。
953 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 10:39:52.18 ID:2zjIoc8f.net] >>952 下段は今回のHaskellのことに限らず知ったかぶり悪循環に陥ることへのフェイルセーフな。 俺はHaskell詳しくないから知ったかかどうかわからんのだが一応。
954 名前:デフォルトの名無しさん [2017/06/01(木) 11:08:27.45 ID:Bx3/ibOs.net] 治療法を察するな、症状を話させろ Haskellを知ったかぶるのは大したことないが、医学を知ったかぶると命に関わる
955 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 11:26:50.36 ID:UQSg1EaA.net] 誤解の生じない自然言語が望まれる
956 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 11:27:26.76 ID:HdFpeWhQ.net] ところで質問なんですが Haskellの型クラスは裏でメソッド辞書を渡して実行時ディスパッチをするって読んだんですがこの理解で合ってます? https://people.csail.mit.edu/dnj/teaching/6898/papers/wadler88.pdf それともコールする関数の決定も何らかの最適化機構でコンパイル時にすませてしまうのでしょうか
957 名前:デフォルトの名無しさん [2017/06/01(木) 11:48:38.71 ID:Bx3/ibOs.net] >>956 C++のコンパイル時ダックタイピングと同じ 実行時ディスパッチではない
958 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 12:35:37.68 ID:bubu+W4z.net] >>956 後者で合ってる GHCの場合は最適化無しでランタイムにdictionary lookupするコードを生成 最適化でコンパイル時解決になる 指定なしなら通常は最適化される
959 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 12:56:45.70 ID:sszEh+oH.net] >>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 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 14:21:39.82 ID:JVCP5RQG.net] >>959 念のため言うが、飽くまで一般の話だよ 上での言及のように例外なく、必ずcompile timeになるかどうかはわからない 普通に考えれば、呼出側だけでなく、モジュールに何か細工が必要だろうし
961 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 14:30:58.85 ID:Ty12p446.net] >>959 調べてみたが、少なくともHaskell 2010ではCompile timeが保証されているようだ というか88年の文献は、いくらなんでも古すぎないか?
962 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 19:59:34.59 ID:vNOzF29i.net] 他者と誤解なく分かりあえるようになるための共通言語を開発しよう もちろん、人と人だけでなく、人とコンピュータも分かりあえる共通言語だ それこそが次世代言語だ
963 名前:あ mailto:sage [2017/06/01(木) 20:05:18.45 ID:23mplHvr.net] >>952 ネット越しだからやるべきかとは。。 >>961 ヨコからだけどありがとう。参考になるわ。見てくる。 >>962 エスペラントを一歩すすめる時代か。
964 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 20:18:08.98 ID:Dnfnpswj.net] >>963 やった結果がお前さんの現状なんだよな。
965 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 20:42:26.57 ID:sszEh+oH.net] >>961 Haskell 2010 でもまだランタイムに依存しているみたいだけど違う? https://stackoverflow.com/questions/28169119/is-the-dispatch-of-a-haskell-typeclass-dynamic#comment44713002_28170590
966 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 22:45:39.05 ID:14pfKSNM.net] あらゆるモダン言語で見るようになったmapとかflatmapっていうのはどこから生まれたものなの?
967 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 22:50:28.99 ID:W7qZGWEB.net] LISPじゃね
968 名前:デフォルトの名無しさん mailto:sage [2017/06/02(金) 00:08:33.62 ID:lDZ3L3oh.net] >>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.net] 再帰があっても深さを制限すればspecializeできるんじゃね 制限を超えたらエラーにするか、あるいはspecializeをやめたら無限に再帰できるか?
970 名前:デフォルトの名無しさん mailto:sage [2017/06/02(金) 07:14:02.17 ID:vc1fSB5M.net] >>968 あ、いえ、すみません >>958 +960 で理解の確認はできています ありがとうございます ただ一方で >>905 >>957 >>961 みたいな主張もあるようなので 最新の実装では型クラスを取り巻く状況もかなり違ってきているのかなと
971 名前:デフォルトの名無しさん [2017/06/03(土) 09:45:16.91 ID:1Cu2c1ce.net] これ互換性にあまり影響のない実装の変更だよね それより互換性が完全になくなった変更を批判する方が建設的