17/03/04 15:25:41.48 X2My6T7M.net
いざ、語ろうぞ。
スレタイ超過のため、一部省略。
Go, Erlang, Kotlin, etcもウェルカム。
前スレ
次世代言語議論スレ【Go Rust Haskell Scala Erlang Elixir】 第二世代 [無断転載禁止]©2ch.net
スレリンク(tech板)
2:デフォルトの名無しさん
17/03/04 15:26:51.55 X2My6T7M.net
Let's go to neXt Generation...
3:デフォルトの名無しさん
17/03/04 15:56:40.80 X2My6T7M.net
# POST NEXT GENERATION LANGUAGES
- Elixir
- Erlang
- Go
- Haskell
- Kotlin
- Rust
- Scala
(sorted in alphabetical order)
4:デフォルトの名無しさん
17/03/04 16:52:26.37 2fztGO7X.net
あれ〜Swiftは・・・?
5:デフォルトの名無しさん
17/03/04 17:48:13.76 /imazuHh.net
Clojure
6:デフォルトの名無しさん
17/03/04 19:21:56.52 S34ljy53.net
>>1
次の次世代の本命はProlog
それ以外はなくなる
7:デフォルトの名無しさん
17/03/04 21:07:48.36 gyQpa9Hb.net
>>6
>それ以外はなくなる
知識プログラミングの時代は来るだろうがさすがにこれは言い過ぎ
8:デフォルトの名無しさん
17/03/04 21:13:28.87 wuF6ZyHX.net
>>1
乙
個人的には、それらと異なるパラダイムのCoqかAgdaをスレタイに入れてほしかったが。
9:デフォルトの名無しさん
17/03/04 21:18:09.53 a1Qd0ocB.net
Prologのネガキャンお疲れ様です
10:デフォルトの名無しさん
17/03/04 23:17:47.90 N8WZp5To.net
>>8
AgdaやCoqはプログラム言語としても浮上できそうなのかな
11:デフォルトの名無しさん
17/03/04 23:52:16.78 +9qG5EdN.net
kotlin はほんとの「java script」 って感じやね。
12:デフォルトの名無しさん
17/03/05 05:17:38.13 rlVSvpqM.net
>>11
Groovyがそうだったけど
Kotlinは堅めだと思う
13:6
17/03/05 05:46:42.24 BRHv0ACr.net
>>7
知識プログラミング
ICOTも後半この言葉を使ったのだが曖昧なんですね
14:デフォルトの名無しさん
17/03/05 09:15:29.11 CRVYE2F+.net
>>13
Prologって一階の述語論理以上を扱えるの?
自分はProlog触ったこと無いから、CoqやAgdaの方が表現力が上だって勝手に思ってるけど、どうなんだろう。
マウンティングうるさい人がいるので、そうだと思わないで欲しい。素直な疑問。
15:デフォルトの名無しさん
17/03/05 10:57:44.27 BRHv0ACr.net
>>14 Coqについてはわからないのだが、
Prologは一階の述語論理のサブセットですから、強力なサポートがあるのは
一階の述語論理だということだと思います。
否定の定義は二階の述語論理だと思いますし、
\+(P) :- call(P),!,fail.
\+(P).
'句を評価してその第一引数が整数だったらそれを返す'(_句,_整数) :-
call(_句),
_句 =.. [_,_整数|_],
integer(_整数).
のような記述は可能ですから、扱うことはできます。
16:デフォルトの名無しさん
17/03/05 11:14:46.94 BRHv0ACr.net
このように引数の句を評価する述語として、callを基礎に
\+ , setof , bagof , findall , forallなどが組込述語として存在しますが、
こんなものです。さらには、
二階述語論理を再帰述語の中で使うと、句の中にある変数が一度、単一化されて
しまうと、受け取った句と次に再帰する時の句が別の意味になってしまう。
変数が束縛されてしまっているから。
この問題を回避するために再帰述語に入った途端にcopy_termをして変数の
ままの構造体を保存しなくてならない。というような、深刻な不都合が存在
します。
17:デフォルトの名無しさん
17/03/05 11:16:31.37 YjhEGGhg.net
よくわかりません。
18:あ
17/03/05 11:29:01.53 YuVF0M5o.net
扱いたいものが二階以上でも、各階層が全射と証明できるなら扱えるだろうけど、
扱うべきかどうかはまた別。
19:デフォルトの名無しさん
17/03/05 11:33:33.34 BRHv0ACr.net
>>17
再帰の中でPをcallする(P,X) :-
・・・
call(P), % ここでPの引数の変数が束縛されてしまうとする
・・・
再帰の中でPをcallする(P,X). % このPは変数が束縛されたPであり最初のPとはちがう
20:デフォルトの名無しさん
17/03/05 11:39:56.31 BRHv0ACr.net
論理学では大事な課題である高階述語ですが、
実務の中で出てくることは今のところ皆無。
知識プログラミングが高い段階に進んだら、そういう課題も現れるように
なると思いますが。
21:デフォルトの名無しさん
17/03/05 12:09:25.64 rlVSvpqM.net
>>19
なるほど、Pの評価によって再帰自体も制約されてしまうって事ですね
Prologはここまで考えないといけないのか…
22:デフォルトの名無しさん
17/03/05 12:19:21.43 rlVSvpqM.net
>>18
なぜ扱うだけで証明が必要なんです?
23:あ
17/03/05 12:42:27.97 YuVF0M5o.net
>>22
どういう意味だろうか?
soundnessで、decidableであれば良いと言う話かな。
24:デフォルトの名無しさん
17/03/05 12:48:36.53 FZcEb+sx.net
>>22
それガイジ
25:デフォルトの名無しさん
17/03/05 13:05:36.69 BRHv0ACr.net
>>21 そうですね。一階の述語論理に強力なサポートと言ったのとは逆に
こういう部分のサポートは全くない訳です。
再帰の中でPをcallする(P,X) :-
copy_term(P,P_2),
・・・
call(P), % ここでPの引数の変数が束縛されてしまうとする
・・・
再帰の中でPをcallする(P_2,X).
% 上のように引数のストリームを断ち切って使います。
26:デフォルトの名無しさん
17/03/05 13:21:16.68 rlVSvpqM.net
>>23
?
わからなくて聞いてるのはこっちですよ
扱うだけならいらなくないですか?
なぜ必要があるんです?
27:デフォルトの名無しさん
17/03/05 13:27:47.30 HN9/KcX+.net
(あかん)
28:デフォルトの名無しさん
17/03/05 13:29:26.27 rlVSvpqM.net
>>25
なるほど、そう書くと自由なままとして渡せるんですね
Prolog難しいけど面白いですね
これって、述語部だけ取り出して、引数一部だけ束縛、またはフリーにして渡す事ってできますか?
できるなら、再帰でかなり複雑なパターンマッチもできそう
29:デフォルトの名無しさん
17/03/05 13:37:23.93 BRHv0ACr.net
>>25
先ほどの述語定義で渡されたPですが、これは
P =.. [_述語名,_引数1,_引数_2, ・・・ ,_引数n]
でどれとも部分的に単一化可能です。この組込述語 =.. はLISPから
ヒントを得たちょっとインチキ臭さがありますが、本格的には
functor(P,_述語,_引数の数) と arg(_引数位置,P,_引数の値) の二つを
使って再帰的に部分項を取り出します。
30:29
17/03/05 13:38:27.72 BRHv0ACr.net
すみません。>>25ではなく >>28 に対するレスでした
31:デフォルトの名無しさん
17/03/05 14:16:47.04 rlVSvpqM.net
>>29
なるほど、=..これでマッチングさせれば、
callもapplyなどの一般的な関数適用のようにできるわけですね
引数適用が適宜変更できるなら、Prologの探索と、関係の列挙と、シンプルな再帰的な動作で、かなり面白い挙動をさせることもできそうですね
例えば、何かパズルや網羅的な物の解析など、有機的な処理とかできそう
途中から割り込んでおいてすみませんが、説明ありがとうございました
今まで食わず嫌いしてましたが、ちょっとProlog環境入れてみようと思います
32:デフォルトの名無しさん
17/03/05 14:42:06.46 YjhEGGhg.net
うん、マジで何言ってるのかさっぱりわからん
これが次世代言語なのか?
33:デフォルトの名無しさん
17/03/05 14:51:12.72 OTWGYsmM.net
Swiftとか入れない辺り、ただの関数型信者のスレだな。
わざわざ次世代とか入れないで、関数型総合スレにすれば変な奴も湧かないのに。
34:デフォルトの名無しさん
17/03/05 14:53:44.75 YjhEGGhg.net
>>33
Goは関数型だった説????・
エスウィフタはマックイオス専用なんだろ?
次世代になれんやんけ
35:デフォルトの名無しさん
17/03/05 16:58:39.65 tyZD49qc.net
関数ポインターが使えればすでに関数型なんですけど。
36:デフォルトの名無しさん
17/03/05 17:07:10.16 HN9/KcX+.net
アスペの意見
37:あ
17/03/05 19:21:57.46 YuVF0M5o.net
観てて思ったけど、カマトトそのものと言うか、出来レースとかプロレス見てる気分。
>>33
そーだと思うよ。
プログラミングは関数型プログラミングができるかどうかで免許制にするべきらしいからw
間接参照と、プログラムメモリとデータメモリの壁を取り払ってデータメモリにjmpする事を許すアーキテクチャ、なんてかたちで
40年以上前に既にやってることが、次世代のプログラミングらしい。
ちょっと違うのは40年前の闇魔法使いはちゃんとステップ数ヒープ容量クロック数把握してたって事くらいだよ。
38:デフォルトの名無しさん
17/03/05 20:29:04.88 eFmYAyos.net
関数型SUGEEEEEしたいだけでしょ
生ぬるく見守ってあげましょう
39:デフォルトの名無しさん
17/03/05 20:43:48.12 iMAERu5Y.net
コミュニケーションする気がないのに言語オタクとかどうかしてるんじゃないですかね。
40:デフォルトの名無しさん
17/03/05 20:44:50.91 uF+9myNK.net
Lispは神の言語
41:デフォルトの名無しさん
17/03/05 21:09:51.59 Snq+LO9g.net
上の方で大事なことを言って、反応待ちでずっと張り付いてたのにスルーされたからだと思われる。
42:デフォルトの名無しさん
17/03/05 21:43:00.59 J/TxCHLc.net
いまさらだが関数型て、どれが関数型よ?
Haskellはさんざん出てきてるから分かる。
43:デフォルトの名無しさん
17/03/05 22:31:05.03 Kh31TaEW.net
俺の認識
CommonLisp 関数型ではない
Scheme 関数型とはいい難い
Clojure 関数型
Scala 関数型ではない
ML, F# 関数型
44:デフォルトの名無しさん
17/03/05 22:32:10.15 eU4nuStd.net
>>42
Rust,Scalaはオブジェクト指向でも問題なく書けるように作ってあるしね
そう考えると関数型オンリーでメジャーなのはHaskellぐらいで
関数型でしか書きたくなくなるのは(ここにはないけど)OCaml,F#?
45:デフォルトの名無しさん
17/03/05 22:44:57.43 iMAERu5Y.net
関数型といわれるものの特徴
1. ガード節による if の表現
2. 再帰による for の表現
3. 返り値による値の受け渡し(副作用?に関する内容)
4. カリー化(関数の引数の部分適用)
5. クロージャー生成(関数内で関数を構築して返す)
6. 関数合成
こんなとこかね。
46:デフォルトの名無しさん
17/03/05 23:05:17.41 f1XixyjT.net
1番がよくわからないが
パターンマッチングのことだろうか?
47:デフォルトの名無しさん
17/03/05 23:16:03.21 YjhEGGhg.net
高階関数があれば関数型やろ
JavaScriptも関数型です
48:デフォルトの名無しさん
17/03/05 23:35:10.14 uF+9myNK.net
快適性のためにはガードは欲しいな
49:デフォルトの名無しさん
17/03/05 23:58:25.01 DhZRJ8mI.net
>>45
3は「参照透過性」の方がわかりやすい。
50:デフォルトの名無しさん
17/03/05 23:59:00.45 Fth8SIIt.net
>>44
scalaは関数型言語とオブジェクト指向言語のハイブリッドだと
言われてる(いた?)けどRustもそんな感じの言語?
状況に応じてどっちもできるみたいな。
51:デフォルトの名無しさん
17/03/06 00:01:30.29 TElIZB3P.net
関数プログラミングやりやすいのが関数型って認識だわ
従ってscalaは関数型じゃない
52:46
17/03/06 00:31:18.21 tkAhRfWW.net
ガードわかったわ
ガード節って言われるとOOで普通に書いてるガード節を思い浮かべる
53:デフォルトの名無しさん
17/03/06 00:58:30.96 CmbzzojE.net
>>52
ワイにも気付きを授けてクレメンス
54:デフォルトの名無しさん
17/03/06 01:09:26.57 i7/wxVG9.net
関数型を免許制にしろってレスは確かにイラっとしたけど
まさかこんな基地外が産まれるとは
55:デフォルトの名無しさん
17/03/06 01:23:32.91 tkAhRfWW.net
ここを読んだ
URLリンク(stackoverflow.com)
URLリンク(learnyouahaskell.com)
URLリンク(stackoverflow.com)
URLリンク(github.com)
ガードはif-elseの糖衣構文的なもの
パターンマッチングはデータを分解して変数に束縛するためのもの
どっちも似たような用途に使えるけどガードは任意の真偽式を扱える分強力
56:デフォルトの名無しさん
17/03/06 03:24:34.42 cEBf17op.net
関数の停止性の判別を考えると、
パターンマッチングが使えるところは、ガードを使わずにパターンマッチングした方が良い気がする。
引数のデータ構造が左辺から右辺へ消耗されているのと、終わりが決まっているのを見れば機械的に分かるんでないかい?
57:デフォルトの名無しさん
17/03/06 03:34:08.64 cEBf17op.net
パターンマッチング > ガード > if_then_elseの順で書けるなら書いてくのがいい気がするがどうだろう。
網羅性の判別についてif_then_elseだと分かり難い気がする。
58:デフォルトの名無しさん
17/03/06 04:56:05.24 yHzqr3h1.net
>>57
> 網羅性の判別についてif_then_elseだと分かり難い気がする。
elseがあれば形式上は必ず網羅してることになるって理解してない?
59:デフォルトの名無しさん
17/03/06 06:47:41.91 ykOEd1Bt.net
>>58
そういうことじゃないな。
見たこと無いなら一度ガード文をよく見てみ。すぐ気づくから。
60:デフォルトの名無しさん
17/03/06 07:25:56.79 VtmVq+jZ.net
関数型?ふーん、関数ポインタがあるのにね。
61:デフォルトの名無しさん
17/03/06 07:36:54.23 vYFC3IUg.net
ガードは関数じゃないしな。
62:デフォルトの名無しさん
17/03/06 10:00:34.77 KF1pGar0.net
パターンマッチとガードは便利よ
63:デフォルトの名無しさん
17/03/06 14:37:48.67 IelCg/4C.net
最近出た国産のKuinってどうなん
64:デフォルトの名無しさん
17/03/06 14:38:32.73 NJsYPQA5.net
>>45
ラムダ計算というようなことは最近は言わないのかな
65:デフォルトの名無しさん
17/03/06 14:48:54.03 yHzqr3h1.net
>>59
うん?
>>55に挙げられてる4つの文献のguardの解説なら見たよ
その感想は、そこで“guard”と呼ばれてるのは通常のif~else if~else if~elseの書き方を少し変えただけ(つまり、只のお化粧)で
if expressionの各分岐の条件式の位置(インデンテーション)を揃えて見やすくしているだけの代物に過ぎないということだよ
そもそも、そんな見掛けのお化粧だけのものを“guard”などと大袈裟な名前で呼ぶのが根本的に間違っている
私の知る限りでは、“guard”という言葉を使い始めたのはEdsger W. Dijkstraが
命令的プログラムを論理的な導出する考え方の説明のために
専用のミニ言語 ― いわゆる彼のガード付き命令(Guarded Commands) ― を提案する際に
従来の決定性の(つまり多分岐での多数の条件部の成立・不成立の判定が
固定された順番…ソース上での条件部の現れている順番…で行われる)通常のif~else if~else if~else文を批判して
一連の文の並びを実行して良い条件をguardと呼んで、このguardを付加した文(または文の並び)をguarded commandと呼び
場合分け(条件分岐)ではキーワードif/fiの間に、ループの場合にはキーワードdo/odの間に、1個以上のguarded commandを
並記するようにしたのだ
Dijkstraのguarded commandの特徴は、例えば条件分岐の場合、複数のguarded commandsのguard同士には重なりがあっても良く、
重なりがある場合にはソースコード上での出現順序とは無関係にどちらのguardが開く(それが付加している(あるいは一部の日本語訳だと
蓋している)命令文が実行されても良い…即ち非決定性を積極的に許す…ということだ
そして確かに論理に基づくプログラム導出では彼のガード付き命令で持ち込まれた非決定性はとても便利で重要な概念的ツールとして働く
ところが、この関数プログラミングコミュニティが“guard”と呼んでいるのは単なるif式の書き方を少し変えただけの代物に過ぎない
そんなものを“guard”なんて大袈裟な名前で呼ぶのは羊頭狗肉の類だ
(それに比べると、まだパターンマッチングに関しては、局所変数の導入とそれと値との束縛(binding)を自動的に行うという意味で
単純にはifに書き換えできないという点で自明でない工夫や進歩が成されたとポジティブに評価できる)
66:デフォルトの名無しさん
17/03/06 14:53:23.93 yHzqr3h1.net
>>65の訂正
誤> 私の知る限りでは、“guard”という言葉を使い始めたのはEdsger W. Dijkstraが
正> 私の知る限りでは、プログラミング言語論の分野で“guard”という言葉を使い始めたのはEdsger W. Dijkstraで
67:デフォルトの名無しさん
17/03/06 15:01:50.48 tkAhRfWW.net
>>65
>見やすくしているだけの代物に過ぎない
>>57の言ってるのはその見やすさの話だよ
ダイクストラより読解力
68:デフォルトの名無しさん
17/03/06 15:12:02.80 OUYDva0V.net
見やすさは大事よ
コード書いてない奴にはわからんかもしれないけど
69:デフォルトの名無しさん
17/03/06 15:23:37.65 vYFC3IUg.net
haskellは見やすさ重視しすぎて手続き型言語になっちゃってるしな。
70:デフォルトの名無しさん
17/03/06 15:39:34.99 WFOJxtdk.net
>>65
>>66
長々言ってる割に、誰が言っただのと、ガイジと大して変わらんね
重要な点は非決定性、半順序性だけ
ガードは条件に漏れは許されない
リスト内包表記にも使える
馬鹿にしてるインデント云々という点も一般に文であるIfとは違う
こういう他言語を貶めるために、構文糖でしかない、という奴はよくいるが
まさにその形式言語の話題だぞ?
難癖と気づかずに、専門家かのように振る舞うから質が悪い
それなら一生に一つの言語だけ使ってればいいと思うが、なぜこういうスレに出張って来るのか
71:デフォルトの名無しさん
17/03/06 15:43:46.77 vYFC3IUg.net
要するにガードと同じ機能のガードいう名前の関数を作れば同じことだよね。
72:デフォルトの名無しさん
17/03/06 15:44:37.53 WFOJxtdk.net
書いてる間にすでに突っ込まれてたっていう
恥ずかしい…
73:デフォルトの名無しさん
17/03/06 16:36:57.18 OYPA5xsG.net
if-then-elseよりもガードのほうがいいとか、
let-inよりもwhere句のほうがいいとか、
おまえらどれだけMLディスれば気がすむんだよw
おまえらが喜んで崇拝しているのは関数プログラミングじゃなくて
単なるハスケルの構文糖衣だw
74:デフォルトの名無しさん
17/03/06 17:02:04.05 OUYDva0V.net
Haskell の糖衣構文ホント好き
75:デフォルトの名無しさん
17/03/06 17:28:02.69 NJsYPQA5.net
>>65
>そんなものを“guard”なんて大袈裟な名前で呼ぶのは羊頭狗肉の類だ
少なくとも、Guard部を頭に持った句が並行計算される可能性を「見て」
ガードなんて、呼んでいるのではないのかな
そうだとすると、糖衣構文というのは外れている部分もあると思うが
76:デフォルトの名無しさん
17/03/06 17:45:46.45 g8E8d1VF.net
モジュールの定義も型クラスの定義もwhereだろ
それに比べてletは変数を重視しすぎてスクリプト言語みたいになってるな
77:デフォルトの名無しさん
17/03/06 17:49:31.36 OYPA5xsG.net
意味論では非決定的と定義されているが実際の処理系では上から順に評価される、ならまだしも、
Haskellでは意味論で上から順に評価されると定義されているんだから構文糖衣そのものだろ。
78:デフォルトの名無しさん
17/03/06 17:58:04.73 OUYDva0V.net
何で糖衣構文じゃいけないのかわからん
79:デフォルトの名無しさん
17/03/06 17:59:35.20 WFOJxtdk.net
>>77
あらゆる機能はアセンブリの構文糖です
80:デフォルトの名無しさん
17/03/06 18:08:08.68 WFOJxtdk.net
Haskellでもwhereよりletのが良いぞ
Monadだと必須だ
後ろのin嫌いだからML系はF#しか受け付けないけど
81:デフォルトの名無しさん
17/03/06 18:14:31.69 NJsYPQA5.net
>>77
そういうものなのですか
私は将来、この部分を実際にガードとして並行計算さらには並列計算される
であろうから、ガードと名付けられているのかと思っていました
勘違いなら、>>75は撤回ですね
82:デフォルトの名無しさん
17/03/07 02:17:32.06 bsRgFXRJ.net
結局、ガードって
if (arg == null) {
thrown new IllegalArgumentException();
}
のことなん?
83:デフォルトの名無しさん
17/03/07 07:35:02.01 cugNxFV2.net
うだうだいってないで実機で書いてみろよすぐ分かるから
84:デフォルトの名無しさん
17/03/07 08:03:05.67 s1edUXSN.net
Haskellのガードって関数の先頭にしか書いたことないのだが
それ以外の部分で書く記法があるの?
85:デフォルトの名無しさん
17/03/07 08:15:24.99 1C2Ly4AW.net
リスト内包式とかcase式とか
86:デフォルトの名無しさん
17/03/07 12:58:56.72 s1edUXSN.net
あれもガードというのですか
ありがとうございます
87:デフォルトの名無しさん
17/03/07 13:48:16.69 1C2Ly4AW.net
>>70
Haskellのガードの議論をしているのに、「一般に文であるif」とか言われてもねえ。
88:デフォルトの名無しさん
17/03/07 14:51:57.97 d/UktTsb.net
>>70
> 長々言ってる割に、誰が言っただのと、ガイジと大して変わらんね
> 重要な点は非決定性、半順序性だけ
半順序じゃない全順序だ (if~then~else if~then~・・・~else if~then~else~の条件判定の順番は半順序じゃなく全順序だ)
この程度の用語すら正しく理解して使えないのか? もしそうならば、君自身が正に君の言うところの障害児だ
そして条件判定での非決定性こそが本質的だ
何故なら、言語とそのプログラムの意味・正しさ(即ち、意味論)を考える上で分岐判定が前から後ろへの全順序(決定性)か全く規定されていない(非決定性)かで大きく異なるからだ
他方、従来のif式と君らの言う見掛けだけのガードとでは意味論は何も違わない
だがDijkstraの本物のguardだと意味論が違ってくるし、命令的言語でのif文とDijkstraの(guarded )ifとでは検証条件が違う(後者が単純明快になる)
> ガードは条件に漏れは許されない
ifでelseを抜かせないように制限してしまえば漏れは自動的になくなるのだよ、それが理解できないか?
君が上で述べた利点は、ifをelse部がないif~then~を禁止し、if~then~else if~then~・・・~else if~then~else~だけに制限すべきだという主張と同等に過ぎない
それは私が既に>>58で「elseがあれば形式上は必ず網羅してることになる」と指摘したが、君は私の指摘を理解できる知力に不足していたということだ
> 馬鹿にしてるインデント云々という点も一般に文であるIfとは違う
インデンテーションなどそれこそプログラムを入力するエディタのモードでどうとでも対処できる問題でモードなど好きに作るか誰かが作ったモードを使えば良い
> こういう他言語を貶めるために、構文糖でしかない、という奴はよくいるが
> まさにその形式言語の話題だぞ?
そんな見掛け上の違いが形式言語の重大な課題だと思ってるならプログラミング言語の理論(特に意味論だが構文論も)を少しは勉強しろ
> 難癖と気づかずに、専門家かのように振る舞うから質が悪い
意味論の重要さも理解できず小学生レベルの知識で「形式言語」などとのたまうのは10年早い
「形式言語」などと知ったぶった言葉遣いをする前に、少しは理論を勉強したまえ、理論をね、障害児君
89:デフォルトの名無しさん
17/03/07 15:16:58.62 d/UktTsb.net
>>79
> あらゆる機能はアセンブリの構文糖です
それは間違い
アセンブリ言語の意味論を展開しようとすれば、その意味領域(プログラムの意味を捉えるための集合)は
有限ビット列の集合(やその上の写像の集合)とならざるを得ず、整数などは現れない
「固定小数点演算があるではないか」という反論が出るかも知れないが、そういう演算で処理した(その時点では固定小数点数と看做した)
メモリ領域にあるビット列はその後で単なるビット操作(特定ビットの反転など)の対象となり固定小数点数として扱われない可能性が常にあるから
即ち、アセンブリ言語における「固定小数点演算命令」は固定小数点の集合からそれへの写像でなく、あくまでもビット列の集合からビット列の集合への写像であり、
そのビット列を特定のフォーマットの固定小数点数と看做すと加減乗除算や符号反転などと理解できるような写像となっているというだけだ
つまりアセンブリ言語(とその意味領域としての全ての有限ビット列たちの集合やその上の写像たちの集合)は、様々なプログラミング言語とその意味論を
展開するための意味領域を、★埋め込む★ための埋め込み先として使えるのだよ
つまり、計算可能な対象ならばどんな高度な論理的な構造を持っていたとしても、しょせんはビット列での表現に帰着しようと思えばできるということであって、
アセンブリ言語の世界に高度な論理的構造そのものが存在している訳では★ない★のだ
それは12の音それ自体の組み合わせであらゆる名曲が表現できようと、12の音そのものが既にして名曲ではないようにね
(あるいは絵具で名画を描けるからと言って、絵具が既にして名画でもなければ、絵具メーカーが名画を描いたのでないように)
高水準プログラミング言語やその言語機能は、その意味を捉えるための意味領域がビット列の集合でなく整数の集合や文字の集合やその直積といった
様々な構造(それは言語が持つ論理的な内容の投影された姿)を持つ形で構成できるからこそ、「高水準」なんだよ
単にそれらの構造を幾らでも埋め込めるよりフラットなアセンブリの世界は逆に言えば論理を反映した構造が欠落しているという意味で「低水準」なのだ
90:デフォルトの名無しさん
17/03/07 15:26:29.93 d/UktTsb.net
>>89に大事な結論を書き忘れていたので補足
「構文糖衣(syntax/syntactic sugar)」と呼ぶのが適切な範囲は、意味領域や検証条件など意味の世界に影響せず
文字通り、構文=字面だけの操作で片付けられるもの
つまりparser/unparserだけ作ればsugarを除いた基本形だけからなるプログラムコードに帰着できるようなもの
高水準言語のコードをアセンブリ言語のコードの世界へ埋め込むためのプログラム、つまり高水準言語のcompilerは
型の定義や変数宣言と変数の型などの宣言情報を記録・チェックしてその型に応じた様々な処理が必要になる等、
parserの構文チェックだけでは済まない、つまり、それは高水準言語はアセンブリ言語の構文糖衣ではないということを表している
91:デフォルトの名無しさん
17/03/07 15:36:20.49 onovVgfa.net
短くまとめられない病
すげえ汚いコード書いてそう
92:デフォルトの名無しさん
17/03/07 15:41:53.46 d/UktTsb.net
>>91
70のように無知な人間相手に説明するには長くならざるを得ない、また君みたいに理解力・思考力が不足している人間相手の場合もね
彼や君みたいな不勉強な人間の学習不足とそれによる知識不足(それに論理的な思考力の不足も)を補って説明してやる必要があるからね
上の2行の内容を推理できず、なぜ長くなっているかが理解できない反応を君がしていのは、君自身が思考力(推理力)・理解力が不足している何よりの証拠だ
93:デフォルトの名無しさん
17/03/07 16:04:00.90 OR7b+iU3.net
そんなことよりなんでそんなに必死なのか知りたい
94:デフォルトの名無しさん
17/03/07 16:21:51.51 1C2Ly4AW.net
きっちりした説明をした人に「必死」という言葉を使う人って本当に愚かだよね。
95:デフォルトの名無しさん
17/03/07 16:25:00.05 OR7b+iU3.net
説明というかポエムな
96:デフォルトの名無しさん
17/03/07 16:34:05.43 d/UktTsb.net
>>93
構文糖衣に関して間違った理解を読むのは不快なんだよ
構文糖衣それ自体は悪くはない(ないよりもあった方が良い)というのは同意するが
>>70に見られるようにそれが本質的に重要だという勘違いや、>>79に見られるように意味を変えるのも構文糖衣と呼ぶ間違いとかはね
構文糖衣なんて見せ掛けだけの代物は、このスレの主題である次世代言語がどうあるべきかという問題の議論では何ら重要でないということだよ
その程度の言語の構文の見掛けの改良でプログラムの信頼性(バグの発生率)を1%でも改善できるならばとっくに殆どのバグが無くなっている
ところが現実にはバグ発生率はむしろ増えている
それはプログラミングの大衆化と共に不勉強なプログラマが多くなったからだ
次世代言語はバグを減らしプログラムの信頼性を回復する目的で言語設計されるべきだと個人的には思っている
そしてバグを減らすにはその言語とそれで書かれるプログラムを支配している論理や意味をより良いものへと改良する必要がある
またコードが短ければ良いという今の風潮も信頼性の観点からは間違いだから個人的に嫌い
短いコードはしばしばトリッキーでバグの潜在的な巣になりやすい
(書かれた時点では正しくとも後の機能追加とかでバグが入り込む原因になりやすい)
長くても論理的に筋が追いやすいコードが後のメンテナンスでトラブルを起こしにくくプロの書くコードとしては正しいというのが私の考え
趣味のプログラミングと人々に使ってもらえる(その対価として報酬をもらえる)プロのプログラミングとは別ということだ
趣味を仕事にする、仕事を趣味にする、という考え方には反対、なぜならばプロとして甘えが入り込む隙が生ずるから
97:デフォルトの名無しさん
17/03/07 16:38:17.94 OR7b+iU3.net
学校で嫌な事でもあったのか?
98:デフォルトの名無しさん
17/03/07 16:46:07.18 buHXdcTx.net
>>96
>長くても論理的に筋が追いやすいコード
わかりやすい構造があればね
君の文章にそれはないよ
99:デフォルトの名無しさん
17/03/07 17:03:21.49 1C2Ly4AW.net
>>97
君って本当に馬鹿だね。
100:デフォルトの名無しさん
17/03/07 17:08:41.42 1C2Ly4AW.net
>>96
> ところが現実にはバグ発生率はむしろ増えている
> それはプログラミングの大衆化と共に不勉強なプログラマが多くなったからだ
おそらくそれが次世代言語の鍵だ。
不勉強なプログラマを相手にしたら、意味論だけではバグを抑えられない。
構文にいともたやすく左右されるプログラマが作るバグを減らすには、
構文による対処も重要だ。
101:デフォルトの名無しさん
17/03/07 17:13:04.28 Ac9fXCP4.net
>>88
>誰が言っただのと、ガイジと大して変わらんね
これは「誰かの言葉を引用するなんて障害児みたいだ」ではなく
「誰かの言葉を引用する所がエンジニアガイジみたいだ」だろう。
本人が「あ」と名乗ったのにガイジと呼び続ける>>70もどうかとは思う。
102:デフォルトの名無しさん
17/03/07 17:38:29.56 cugNxFV2.net
>>101
文章にナチュラルに「あ」を入れても分からなくね?
分かりにくい名前は定着しないってはっきりわかんだね
103:デフォルトの名無しさん
17/03/07 17:39:30.03 cugNxFV2.net
つーかまーた目が滑る長文カス沸いてるのな
これもう荒らしだろ
104:デフォルトの名無しさん
17/03/07 17:58:14.78 04iMZGzn.net
>>100
上の長文の人はともかく、たかだか数行でも長い長い
言う輩が最近多いからなぁ・・・
そんな奴らがまともに仕様を読み取れるとは思えないし
プログラミング言語以前な話な気はする
105:デフォルトの名無しさん
17/03/07 18:01:47.91 sN5zB8qN.net
仕様が無駄に長大な言語ってなんですか?
106:デフォルトの名無しさん
17/03/07 18:03:43.65 Ac9fXCP4.net
>>100
分かりやすい構文は人間が読みやすいという点で重要だけど、
コーディングで作ったバグはコンパイルとテストで検出できるはずだ。
不勉強なプログラマでもテスト結果がおかしければ気がつく。
バグが増えたのはソフトウェアが複雑になってテスト漏れが増えたからだろう。
だからテスト漏れしにくいプログラミング言語が根本的な解決策だと思う。
たとえば強い型があり参照透過なプログラミング言語ならバグは減る。
107:デフォルトの名無しさん
17/03/07 18:07:19.53 sN5zB8qN.net
めんどくさいから、C/C++ を強い型付けにすればよい、暗黙の型変換をいっさいなくせばいい、のかな?
108:デフォルトの名無しさん
17/03/07 18:08:34.57 WHQdRSrt.net
>間違った理解を読むのは不快なんだよ
自分が間違えたら不快だが他人が間違えるのは自由だよ
本当の問題は、間違いが多いというより自由が足りないことじゃないかね
109:デフォルトの名無しさん
17/03/07 18:53:25.60 TjKLocSV.net
驚くほど目が滑る
110:デフォルトの名無しさん
17/03/07 19:02:53.48 OR7b+iU3.net
そもそもテキスト入力が間違いを生むと思うな、10個の位の選択肢の中から
選択してプログラムを作る方式のプログラム言語出来ないかな。
111:デフォルトの名無しさん
17/03/07 19:03:23.95 YuKXNQNE.net
適切な粒度で関数切り出しすればどんな言語でもそれなりのコードにはなるんだが。。
そんな当たり前のこともできないやつに限って、くだらん言語機能に凝りだす。
112:デフォルトの名無しさん
17/03/07 19:08:42.86 TjKLocSV.net
言語機能は矯正ギプスであり、作者のプログラム哲学が感じられる本でもあるからな
113:デフォルトの名無しさん
17/03/07 19:22:27.71 Skok7ILu.net
pythonみたいな言語はgoogleが一杯ライブラリ作ってくれてマジうらやましい、マジ次世代
114:デフォルトの名無しさん
17/03/07 19:27:24.56 TjKLocSV.net
まあPythonは今一番熱い言語と言ってしまっていいよね
115:デフォルトの名無しさん
17/03/07 19:28:14.33 OR7b+iU3.net
そのうち簡単な小さい関数ならコンピューターが自動でつくってるくれるようになるからな。
これから人が人であるためには巨大で複雑で参照透過性のないプログラムを書くしかないな。
116:デフォルトの名無しさん
17/03/07 19:31:50.92 s1edUXSN.net
>>113
次世代言語ということになると、日本語プログラミング言語も候補に
あげるべきだと思う。
117:デフォルトの名無しさん
17/03/07 19:32:44.28 7e8mS6v1.net
>>96
一言だけ
糖衣構文は見せかけではなく、バグの余地を減らすものの一つだよ
キミらすぐにプロを名乗るけど、本当にプロなのか?
118:デフォルトの名無しさん
17/03/07 19:38:24.79 OR7b+iU3.net
>>116
日本語のソースコードをを英語のソースコードにコンパイルするソフトがあればいいだろ。
119:あ
17/03/07 19:45:15.79 9QvrX/Qz.net
俺が野次るのもあれだが、ヒステリーみたいな文章だな。
言葉が足りないと責められるのから徹底的に逃げた感じ。
「過ぎたるは猶及ばざるが如し」そのもの。過猶不及と書くのが俺なら対極。
意味論で言うと、写像ではないの?全射であり単射で無いだけの。
整数なんて捉えるから変な話になっていくのであって、そりゃオペコード次第じゃん。
>>102
何でもいいから名乗れといった割に贅沢な話だ。
120:デフォルトの名無しさん
17/03/07 19:50:48.65 OR7b+iU3.net
俺の考えたユニットテスト言語なら絶対バグは起きないな。
ユニットテスト言語はユニットテストのテストだけを
使ってプログラムを作るから、テストされてない部分は一つも無い
間違いのないプログラムが作れる。
121:あ
17/03/07 19:51:53.37 9QvrX/Qz.net
まあ、肯定されたくて仕方ないんだと思うよ、ガイジ連呼は。
ガイジと言っておけば大体の事を大半の人間にとって戯言として処理させられるんだから。
大半の人間には自分も含まれるけど。
類するジャンルとして天才とか、
122:あの人は別だからってのもある。 σを絞る事で、自分を平均より少し上に持っていくよくあるやつ。 ちょいちょい居るから別に違和感も無かった。
123:デフォルトの名無しさん
17/03/07 19:55:21.48 74O8Sr0D.net
調べたがガイジってそういう意味だったのか。
そういう読み方の人もいるからいい迷惑だな。音の響きだけだとかっこいいから普通に付けそうだし。
124:あ
17/03/07 19:57:52.84 9QvrX/Qz.net
>>122
おおよそ20年くらい前には既に近畿一円には広がってたぞ。
125:デフォルトの名無しさん
17/03/07 19:59:50.64 OR7b+iU3.net
ガイジと言われて悪口だと思うのは障害児を差別してるからだよな。
ガイジが差別主義者としってむしろがっかりした。
ガイジと言われることに誇りを持てる差別のない世の中にしていかないと駄目だね。
126:デフォルトの名無しさん
17/03/07 20:00:59.93 74O8Sr0D.net
>>123
近畿か。愛知では聞かなかったな。
そして、書いてから気づいたが上の発言は適切でないので、撤回する。不用意だった、
127:デフォルトの名無しさん
17/03/07 20:02:32.36 7e8mS6v1.net
>>96
すまないがもうちょい突っ込んどく
まず長文についてはもう流石に自覚してるよな?
記号の羅列を想像しているか知らないが、短いければトリッキーになると言うレッテルは、プログラミングを完全に履き違えてるな
コードは適切に抽象化し、 短く読みやすい方が良い
そんなものは経験者のがわかってる事だろうに
それと強弁しようが高水準言語だろうと、意味論も結局実装に書き下されてるだけの存在で
所詮は抽象で改善してるに過ぎないし、レイヤーが異なるだけで構文糖と同じもの
不勉強と言うのは勝手だが、そりゃただ話をずらして目を背けてるだけだ
それとバグが増えていると言うが、一体どういう基準のどこのデータの話だ?
128:デフォルトの名無しさん
17/03/07 20:04:07.53 bsRgFXRJ.net
よかった
ワイがバカだから読む気にならないんじゃなくて
読む気になれない文だからワイが読む気にならないんだね
129:デフォルトの名無しさん
17/03/07 20:05:34.14 OR7b+iU3.net
こういう文の中に秘密のパスワードとか隠しておけば絶対見つからないな。
130:デフォルトの名無しさん
17/03/07 20:08:24.06 Ac9fXCP4.net
>>113-114
URLリンク(www.indeed.com)
Pythonはデータサイエンスの標準言語になって求人が急増中だね。
だけどScalaも今の求人増加率が続けば3年以内にPerlとRubyを追い抜く。
大規模ソフトウェアのための次世代言語の本命はScalaだろう。
131:デフォルトの名無しさん
17/03/07 20:11:03.55 cugNxFV2.net
ここの自称プロ連中って何故か平然と昼間から2chしてるよな
132:デフォルトの名無しさん
17/03/07 20:14:39.12 YuKXNQNE.net
プロつってもそんなもんよ。
社会に出ればピンキリだってことがよくわかる。
133:あ
17/03/07 20:16:15.01 9QvrX/Qz.net
>>125
多分なんJみたいな感じで関西弁っぽい感じの言葉が流行ったタイミングで全国区な言葉になったのでは?芸人もテレビでは言わないし。
不適切でもないんじゃないの?そういう姿とそういう言葉があって、傷ついたり、傷つけているかもしれないと思うからガイジと言う言葉がヤジとして成立するんだから。
要は、ヤジとして成立させるために引っ込める必要も無い。
言う奴も、要は言われて傷ついた奴に過ぎんよ。
ただ言う奴はそういうつもりで言っている、という認識があるだけで、そうなりたくはないという認識を自分がそうではないという意思表明にせんでも良いと思う。
134:デフォルトの名無しさん
17/03/07 20:18:19.05 Ac9fXCP4.net
>>130
客先常駐だと無理だけど、持ち帰り案件なら自由にネットを使えるよ。
135:あ
17/03/07 20:18:47.41 9QvrX/Qz.net
>>130
年度末だからな。
今�
136:ョいてるのは予算消化が中途半端な所か、法改正対応か、計画の無い仕事を取らないといけない会社くらいじゃないの?
137:デフォルトの名無しさん
17/03/07 20:32:50.23 1C2Ly4AW.net
>>106
バグがどこかにあることがわかったとしても、
具体的にどこがバグなのか、どうして誤った動作をするのか、
それが理解できないのが、次世代言語が相手にしなきゃならないプログラマだ。
このスレにも沢山いる、意味論なんて全く理解していない奴に、
意味論に基いたエラーメッセージからバグを特定できるか?
誤魔化しでもなんでもいい。構文による負荷軽減は必要だよ。
138:デフォルトの名無しさん
17/03/07 20:33:13.39 WHQdRSrt.net
昼間から手動で集めた知識を手動で入力すると、コンピュータが自動で実行してくれる
139:デフォルトの名無しさん
17/03/07 20:34:49.92 1C2Ly4AW.net
>>126
じゃあお前はWhitespace系の言語でOSでも書いてろ。
140:デフォルトの名無しさん
17/03/07 20:37:49.91 cugNxFV2.net
はえー。春に湧くのは学生だけじゃないんだなあ
>>137
安価する相手間違ってなーい?
141:デフォルトの名無しさん
17/03/07 20:38:40.11 7e8mS6v1.net
>>134
むしろ今普通に忙しいぞ
Webも新規案件多いし
142:デフォルトの名無しさん
17/03/07 20:39:40.75 7e8mS6v1.net
>>137
どういう意味だ?
143:デフォルトの名無しさん
17/03/07 20:40:22.31 cugNxFV2.net
>>139
そいつ組み込みらしいで
144:デフォルトの名無しさん
17/03/07 21:07:30.18 HLoo0rfy.net
>>90
勉強になる。こういう話も楽しいな。
145:デフォルトの名無しさん
17/03/07 23:10:29.98 5c7MTUF9.net
>>129
トレンディーでナウいヤングメンは Python に夢中ってことですね
とてもわかりやすいです
146:デフォルトの名無しさん
17/03/07 23:25:14.34 d/UktTsb.net
>>117
> >>96
> 一言だけ
> 糖衣構文は見せかけではなく、バグの余地を減らすものの一つだよ
そんなことでバグが減るならば良いエディタを使うんだね
プログラミング言語に専用のモードやチェック機能を作り込めるような
構文糖衣でやれることはその程度のことだ
良いエディタは重要だがバグのほとんどはそれでは救えない範囲に住んでいるんだよ
> キミらすぐにプロを名乗るけど、本当にプロなのか?
構文糖衣でバグがsignificantlyに減らせると思ってるプロのソフトウェア技術者がいるとは信じられないね
自称プロならばいくらでもいるだろうが
147:デフォルトの名無しさん
17/03/07 23:30:34.14 TRrf8/Mo.net
pythonistaがpythonの仕事を増やそうと躍起になっているがそんなに増えないんだよなあ
君がpythonでできることは僕もpythonでできるからね
148:デフォルトの名無しさん
17/03/08 00:04:55.28 dAIzB0VC.net
>>126
> 記号の羅列を想像しているか知らないが、短いければトリッキーになると言うレッテルは、プログラミングを完全に履き違えてるな
> コードは適切に抽象化し、 短く読みやすい方が良い
抽象化とコードの長さとは論理的に別だ
ついでに言えば関数プログラミングで共通構造をどんどん高階関数として切り出し抽象化するとコードは極めて短くなり得る
しかしそういう手段で出来上がるプログラムは当人を除いてほとんどの人間には読み難く、後で機能追加などのために
元のコードにも変更を加えねばなくなると大変いじり難い代物となる
> そんなものは経験者のがわかってる事だろうに
その言葉は君に返しておこう
> それと強弁しようが高水準言語だろうと、意味論も結局実装に書き下されてるだけの存在で
> 所詮は抽象で改善してるに過ぎないし、レイヤーが異なるだけで構文糖と同じもの
> 不勉強と言うのは勝手だが、そりゃただ話をずらして目を背けてるだけだ
「意味論も実装に書き下されてるだけの存在」と思ってるのなら単に意味論について不勉強だと言ってるだけだね
「所詮は抽象化で改善している」とは何を改善してるのかな?
プログラミング言語について意味をどう選ぶかこそがその言語が提供する抽象化のレベルの限界を規定していると理解できないか?
つまり、ビット列の集まりという構造のない抽象性ゼロとも言える泥沼のような世界に対してどこまで抽象的な値(数とか直積とかね)を
抽象的な形のまま(実装を考えずに)扱えるようにできるのか、ということの限界をだ
本来、プログラミング言語の実装をその言語を使っているプログラマが意識せねばならないとしたら次のどれかであって、③以外は誰かが間違っている
① その言語の言語設計が間違っているか、または
② その言語の使い方が間違っているか、または
③ ハードウェアの限界まで使うプログラムを書こうとしている (そんなのはスパコンか組み込み系でも最小メモリのかをやってる人間以外は極めて稀)
(オブジェクト指向でメモリを湯水のように使いながら「俺はメモリの限界ギリギリのプログラムを書いてるんだぞ」なんて自慢しないでくれよ、頼むから)
149:あ
17/03/08 00:14:34.83 F8XXETq2.net
>>139
そうなんだ。世間は年度とかに縛られてないもんなんだな。
>>141
俺は組み込みじゃないよ。
工業は工業だけど。
>>144
スルー決め込んでるけど、バグの起こりにくい無い専用の良いエディタの極論は統計ならSPSS、計測器ならLabVIEW、シーケンス制御なら各社のPLCのラダーエディタみたいなもので、
実際には糖衣文と糖衣図と言うか、コードを記号まで落とし込んじゃった物だよ。
その程度の事、ではないよな。
どれも使った事無いならわかんないかもしれないけど。
殆どのバグは、それに向いてない言語で無理に書く所が発端。
良いエディタと正しい鎖はバグを産みづらいよ。
150:あ
17/03/08 00:16:55.57 F8XXETq2.net
>>146
丸囲みは使うなよ。
「(3)以外は誰かが間違ってる」って、なんで列挙してるものに「間違ってる」って書いてるのに対してわざわざ話すの?
蛇足の極みかww
151:あ
17/03/08 00:17:44.10 F8XXETq2.net
>>147
バグの起こりにくい無い→バグの起こりにくい、だな。
誤記ごめん。
152:デフォルトの名無しさん
17/03/08 01:13:41.47 sPopLWFS.net
メモリ足りなくなるの稀ってマジ?
153:デフォルトの名無しさん
17/03/08 07:09:24.17 vbyaKny6.net
バグにもいろんな意味があって、それを各人が共有できてないように見える。
議論の中心にいる長文氏がそこをクリアにしてくれ。
154:デフォルトの名無しさん
17/03/08 08:41:23.89 f0ZRB9R+.net
バグの原因のほとんどは認識していない前提条件の差だと思うけどね。
155:デフォルトの名無しさん
17/03/08 09:36:33.28 8YPePj4Q.net
認識していない前提条件の差にもいろんな意味があって、それを各人が共有できてないように見える。
議論の中心にいる長文氏がそこをクリアにしてくれ。
156:デフォルトの名無しさん
17/03/08 10:27:58.42 WMt88/kI.net
バグには具体的な事情があって
抽象的な人の目にはそれを認識できてない
157:デフォルトの名無しさん
17/03/08 10:30:55.37 pMznqIBv.net
>>144
実際問題、テキストエディタよりも統合環境が優れているのはまさに「そんなことでバグが減る」点だよ。
意味論による静的解析で減らせるバグもあるが、構文論のレベルで減らせるバグは十分にsignificantだ。
158:デフォルトの名無しさん
17/03/08 10:48:42.38 icCtDpEn.net
PHPだとコーディングレベルでバグ仕込んでくるからきらい
159:デフォルトの名無しさん
17/03/08 10:49:28.98 icCtDpEn.net
>>155
ほんとそれな
160:デフォルトの名無しさん
17/03/08 11:53:16.74 8YPePj4Q.net
>>155
間違いないね。
俺はvimとemacsというテキストエディターでやってるからわかるけど
絶対一発でコンパイル通ることなんて今まで一度もない。
10回くらい直してやっと通るレベル。
161:あ
17/03/08 12:03:08.39 F8XXETq2.net
>>155
そーそー。
ドメインに特化するなら、どうとでもグラフィカルにした上で、裏でゴリゴリのチューンしたり複数の計算機に分散させたりできたり。
そういう意味では3DCG屋さんのアセットパイプラインとやらは凄いわ。
動画作ってもらうとき、何故か呼ばれて、よくよく話すとこのシーンでのテンソル場が欲しいって話で、
「初期状態からの経過時間ごとに変わるんだけど、観測点の密度によってはデータ量ヤバいと思うし、欲しいデータ形式言ってくれたら経過時間を引数にもらったら帰すプログラム作るよ」って言って作ったら、
きれいにパイプラインに乗ったらしくていたく感謝された。
162:デフォルトの名無しさん
17/03/08 12:18:59.05 Smd3EfGE.net
>>146
話が発散してるが構文糖の話の文脈な
あと推敲してくれな時間あんまないから端的に返す
文字数や記号化の話でなく、構文などの単位で短くと言い、適切な抽象化が必要と言ったe.g.構造化
改善の話は効率と思ってるが、反論しても多様過ぎて平行線だろ
選択云々も関係ないからスルー
でその表示意味論全般を含むかの言い方では、構文糖は直接でないだけで意味あるので肯定になる
でも意味ないと言った
操作的には前レスの話で終わり
それですらないなら、何の文脈の「意味論」を援用してるかわからん
まあとにかく俺は正直これ以上お前と絡むの嫌だわ
163:デフォルトの名無しさん
17/03/08 13:50:31.90 sH4DJtGd.net
.>>118
これって英語のライブラリを使いたくないということでしょ
164:デフォルトの名無しさん
17/03/08 14:06:12.69 icCtDpEn.net
>>161
そら(読めないんだから)そう(英語はクソ)よ
165:デフォルトの名無しさん
17/03/08 17:17:33.07 p/HdyyRL.net
>>116 が >>113 のレスになっているのだから、話はむしろ、英語のライブラリは
日本語に変換して、日本語でプログラミングしたいという方向だろう
166:デフォルトの名無しさん
17/03/08 18:14:25.73 ISgA6Zgl.net
>>159
あ氏、そこまで書くと周りに特定されないかい?ww
意味論、構文論でのエラーチェックって、
例えば型が違ってますってのは構文論、
関数について引数のどれかに未定義部分がありますてのも構文論という認識でおけ?
167:デフォルトの名無しさん
17/03/08 18:18:35.88 pMznqIBv.net
「あ」じゃないが、型も引数の数もほとんどの言語では意味論。
168:デフォルトの名無しさん
17/03/08 19:31:19.53 ISgA6Zgl.net
ありがとう。あ氏だけに向けて書いたわけではないよ。前提とする言語に依るわけね。
169:デフォルトの名無しさん
17/03/08 19:40:39.74 ca5pzCiA.net
構文糖は神
C++にUFCS導入されるのが待ち遠しい
170:デフォルトの名無しさん
17/03/08 20:09:17.86 8YPePj4Q.net
2つの似た意味のことをを一つの同じ構文で書けるというのは
独立的な2つの意味を統合して意味が一つになるという意味もあるよな。
171:デフォルトの名無しさん
17/03/08 20:39:54.25 p/HdyyRL.net
% Prolog
'AはBの要素である'(A,B) :- member(A,B).
'Bからひとつ取り出したのがAである'(A,B) :- member(A,B).
'AはBの要素であれば、則ち、Bからひとつ取り出した要素がAである'(A,B) :- member(A,B).
172:あ
17/03/08 22:07:28.33 F8XXETq2.net
>>164
同業他社も同じ事してるの見た事あるし、あるあるだと思うよ。
型が違ってます、と言う文句には、割と深い闇が眠ってると思う。
キャストできたり、ポインタを取り出せたりする時点で実は最初から型なんか無かったのかもしれない。
共用体や、類するものがある言語ならいよいよヤバい。
概念が無いと苦労する場合があるのも確かだけど。
>>168
全射と単射で検索するとよりわかりやすい図が出てくると思う。
173:デフォルトの名無しさん
17/03/08 23:02:47.06 oksZ54sT.net
>>148
>丸囲みは使うなよ。
20年ぶりくらいに聞いたw
ISO2022-JPじゃねーんだから。
174:あ
17/03/08 23:27:39.83 F8XXETq2.net
>>171
懐かしいだろ。
でも、害しか無いからな。検索にもひっかからん、20までしか無い、汚いフォントが多いなどなど。
結合文字で書いてるならいざしらず、だよ。
175:デフォルトの名無しさん
17/03/08 23:54:40.15 FRdQUG/z.net
Closureすこ
176:デフォルトの名無しさん
17/03/09 07:34:03.92 eRv4aOzH.net
>170
型はキャップやラベルみたいなものだと思ってる。
型関数で明示的に操作することで、やって良いことといけないことをその都度与えておくというか。
>>168
商集合の感覚が大事だと思ってる。/~が何である前提での同じなのか。
177:あ
17/03/09 08:13:25.90 S16Ef4Wi.net
>>174
そうだよね。印でしかない。
これはこう使ってます、と処理系に教える記号でしか無くて、それこそオペコードとオペランドや、ILのスタックトップと命令から逆に決まるものかもしれない。
そういう意味では、処理系がまず決めた一つの型に別名の縛りが加えられるってのは汎用言語でもDSLでも凄く効果的な、次世代言語にあってほしい機能だと思う。
一見自由に見える不自由は絶対に必要。
178:デフォルトの名無しさん
17/03/09 08:32:31.26 F0HEqrn+.net
なんか長々と長文で当たり前のこと書いてんな
179:デフォルトの名無しさん
17/03/09 08:43:16.46 F9CUJ5lt.net
10以上の整数の型とか静的な整数に依存する
型なら静的アサートを使えばできる。
180:デフォルトの名無しさん
17/03/09 08:54:14.24 F9CUJ5lt.net
コンパイルの必要のない言語は型チェックをコンパイルとは別に
型チェックだけやればいい。
このときわかる範囲で型を推論して間違ってれば実行前にわかる
181:デフォルトの名無しさん
17/03/09 10:23:18.09 BFR+GBdm.net
型を意識しなければならない言語は旧世代の遺物
182:デフォルトの名無しさん
17/03/09 10:39:16.32 F9CUJ5lt.net
型チェックの進化形がユニットテスト。
183:あ
17/03/09 10:59:03.07 S16Ef4Wi.net
>>176
ごめん、冗長だったか。
糖衣文ではないとくだくだ言うのと同じ事してすまん。
>>177
問題は、Objectとかそういう、根となるオブジェクトのキャストじゃないかな。その言語内、そのシステム内で完結するならAdaあたりが既にやってたら話。
184:デフォルトの名無しさん
17/03/09 12:00:23.47 F9CUJ5lt.net
変数を定義する関数を作って、定義するときはいつもそれをつかって値が正しければ
代入できるようすにすれば型のようなものは作れる。
この関数が静的に評価できれば静的型付けになる。
185:あ
17/03/09 12:12:15.48 S16Ef4Wi.net
>>182
例えば、スーパークラスや大きな集合の変数を定義して、サブクラスや部分集合のインスタンスを代入する事は可能だけど、
それらを取り出すときに、スーパークラス、大きな集合ではなく、サブクラス、部分集合として扱うのは難しいんでは?
186:デフォルトの名無しさん
17/03/09 12:23:16.65 fMNEO3H7.net
そもそもサブクラスというのは、ある型の変数に違う型の値を代入できる機能だからね
187:デフォルトの名無しさん
17/03/09 12:33:19.91 6hqIxzkr.net
型についてはHaskell,Go,Juliaあたりが秀逸
188:デフォルトの名無しさん
17/03/09 18:54:49.57 doSZ2c0j.net
>>185
interface {}でなんでもオーケー、ジェネリック無いGoが秀逸?
189:デフォルトの名無しさん
17/03/09 19:57:21.71 fMNEO3H7.net
Pythonを叩くと戦争になりかねないが
Goは静的型の仲間だからいじめても反撃してこないという
これがPythonのメリットとGoのデメリット
190:デフォルトの名無しさん
17/03/09 20:16:16.11 HQPo78pm.net
みんなたくさん言語経験してるんだな。
191:デフォルトの名無しさん
17/03/09 20:16:48.14 BKoRqRQs.net
>>184
それはサブクラスではなくサブタイプだ。
192:あ
17/03/10 01:48:14.84 YvYLhW/g.net
>>186
Goでinterface{}使うのはもう最終手段な気がする。
193:デフォルトの名無しさん
17/03/10 07:28:49.26 hAWWnXrs.net
大工ストラはどっか行っちゃったの?少し上の辺りは具体的で建設的な話題になってるから、何かコメントしても良いだろうに。
194:デフォルトの名無しさん
17/03/10 07:53:34.94 1pxhheef.net
プログラム言語に関して抽象的にグダグダ言うのは無意味の極みだからな
195:デフォルトの名無しさん
17/03/11 16:30:18.02 yCUlIQxq.net
無意味の極みなら自分の無能さを晒さないで済むという利点はある。
なのでよく行われる。
196:デフォルトの名無しさん
17/03/11 17:20:30.04 WF0uzZUg.net
露悪趣味とかいう悪を晒すことは平気なのになぜ無を晒すのがこわいのか
197:デフォルトの名無しさん
17/03/11 17:36:18.32 UsQ6q5bp.net
具体的なコード晒すのは一番の危険行為だわなww
以下、議論を進めるために敢えて晒すわww
某言語なのだが、リストに対してfをmapしたあとにさらにgをmapしたものと、
fとgを合成したものを一度でmapしたものとが同じ結果になるという証明が、
以下のとおりに、Haskellなどでの関数の再帰的定義と同じように書ける。
これが不思議でしょうがない。誰か教えて欲しい。reflって何よ?
ちなみに下のは数学的帰納法を使っている。
rewrite部が一つ前のを次のに代入するのに相当している。
mapdiv : ∀{l}{A B C : Set l} -> (f : B -> C) -> (g : A -> B) -> (l : List A) -> map (f ∘ g) l ≡ map f (map g l)
mapdiv f g [] = refl
mapdiv f g (x :: xs) rewrite mapdiv f g xs = refl
198:デフォルトの名無しさん
17/03/11 17:57:50.59 UsQ6q5bp.net
ミスった。
mapdiv : ∀{l}{A B C : Set l} -> (f : B -> C) -> (g : A -> B) -> (ls : List A) -> map (f g) ls ≡ map f (map g ls)
mapdiv f g [] = refl
mapdiv f g (x :: xs) rewrite mapdiv f g xs = refl
199:デフォルトの名無しさん
17/03/11 19:23:29.11 am67U6Y0.net
>>195,196 reflってのはreflexivityの略で、左辺と右辺が等しいので命題は成り立つという意味だよ
agdaはよく知らないので全部解説はできないけど、reflよりrewriteが何か調べると分かるんじゃないかな
200:デフォルトの名無しさん
17/03/11 20:22:58.43 OUHk1Upk.net
ありがとう。でもごめん、書き方が悪かった。
reflの字義でなく関数定義と同じ感覚で書いてるのがなんだこりゃってこと。
上の型の部分が仕様で、下の = reflは実装とか書かれたりしてるのの感覚がいまいち分からない。
rewrite、調べてみるわ。左辺を右辺で置き換えているだけの所もあるがそうでないところもあるようだ。
201:デフォルトの名無しさん
17/03/11 23:44:07.08 jzJlFNOo.net
>>195
> 某言語なのだが、リストに対してfをmapしたあとにさらにgをmapしたものと、
196のコードを見ると上の文中の f と g とは逆
コードでは g が f より先にリスト l の各要素に作用している
202:デフォルトの名無しさん
17/03/12 00:59:10.61 /gRPWqC6.net
等式を証明する前に等しいとは何かを決めないと意味がわからない
両辺の型が等しいだけでいいなら他の言語でも簡単に証明できるが
203:デフォルトの名無しさん
17/03/12 07:09:18.06 E7xVInlQ.net
∀{l}{A B C : Set l} -> (f : B -> C) -> (g : A -> B) -> (ls : List A) -> map (f g) ls ≡ map f (map g ls)
が型で、この型にあった関数を見つけることが証明になることがカリーハワード対応なんだよ
204:デフォルトの名無しさん
17/03/12 09:24:03.72 5INw13PV.net
agdaじゃなくてcoqになっちゃうけど URLリンク(proofcafe.org) を手を動かしながらやると実感できるよ
↑は日本語だからとっつきやすいし、大体がagdaに適用できるはず。Prop_Jまで読んで触れば分かるはず
205:デフォルトの名無しさん
17/03/12 09:35:36.35 /gRPWqC6.net
>>201
見つけるだけでは証明にならない
例えばunsafePerformIOを見つけても何の証明にもならない
206:デフォルトの名無しさん
17/03/12 10:36:50.53 E7xVInlQ.net
unsafePerformIOの型の関数が存在するという証明になってる
207:デフォルトの名無しさん
17/03/12 11:42:36.62 TErsZ5va.net
それが証明したいことなのかね?
208:デフォルトの名無しさん
17/03/12 11:54:13.45 E7xVInlQ.net
上の例の型でいうと
∀{l}{A B C : Set l} -> (f : B -> C) -> (g : A -> B) -> (ls : List A)
が成り立てばmap (f g) ls ≡ map f (map g ls) が成り立つという命題に
対応する。
∀{l}{A B C : Set l} -> (f : B -> C) -> (g : A -> B) -> (ls : List A)から
が成り立てばmap (f g) ls ≡ map f (map g ls)への関数はその命題の証明に対応する。
209:デフォルトの名無しさん
17/03/12 12:10:37.30 /gRPWqC6.net
>>204
型が存在するだけでなく「証明した」クラスのインスタンスにならないと
210:デフォルトの名無しさん
17/03/12 13:07:55.61 5INw13PV.net
クラスとインスタンスって何を指してるのかさっぱり
dataとvalueなら公理なので証明する必要が無いし、signatureとfunctionなら「証明した」クラスって何ってなる
「証明できなかった」クラスって何よ
211:デフォルトの名無しさん
17/03/12 13:28:54.02 /gRPWqC6.net
依存型はいいのにクラスやインスタンスはダメな根拠を説明してくれ
カリーハワード対応は、どのような命題と、どのような型システムに限定されるべきか
212:デフォルトの名無しさん
17/03/12 13:57:09.80 5INw13PV.net
良い悪いじゃなくてどういう意味なのって聞いてる
クラスとかインスタンスという言葉をどういう意図で使っているのか不明瞭
クラス=型でインスタンス=その値っていう意味で使ってるなら、型システムについて語るには迂闊過ぎる
明確に型とクラスが違う言語だってあるんで混乱させるような言葉を使わないでくれ。使うとしたらちゃんと関係性をはっきりさせてくれ
213:デフォルトの名無しさん
17/03/12 18:24:23.43 /gRPWqC6.net
検索してもわからない言葉があるのは事実
検索すればなんでもわかるというのは嘘
嘘に協力するようなことはあまりやる気が出ない
214:デフォルトの名無しさん
17/03/12 19:14:56.22 5INw13PV.net
4時間かけてその書き込みは流石に情けないわ
215:デフォルトの名無しさん
17/03/12 19:21:01.82 /gRPWqC6.net
普通なら情けないより大混乱させる方を選ぶよな
216:デフォルトの名無しさん
17/03/13 13:17:30.54 EOfJmdmf.net
最近ワトソンを導入しているところの人がIBMがPrologをサポートするのではないか言っていた。どんな機種か聞き損ねたのだが、汎用機で安全に動くものだろうか。
217:デフォルトの名無しさん
17/03/13 22:15:23.08 r5sZRhSo.net
>>211
>>213
この人、病気か何か?
218:デフォルトの名無しさん
17/03/13 22:43:32.01 15JNqH0U.net
>>215
お前が来ると周囲の人間が病気になるんじゃないか
名探偵が来ると事件が起きるみたいに
219:デフォルトの名無しさん
17/03/13 23:21:56.25 r5sZRhSo.net
>>216
それ皮肉のつもりなのか?
220:デフォルトの名無しさん
17/03/14 00:09:55.61 G8tWzBEA.net
Prologerのポジトークだろ
221:デフォルトの名無しさん
17/03/14 03:49:52.63 NF858NUD.net
>>218
25年以上前にも同じ噂が流れたことがある。AS/400上にPrologがサポートされると。結局これは誤報で、
GeneXus(当時はPrologで書かれていた)のことだったらしい。
222:あ
17/03/14 08:04:46.19 FzZ45/UG.net
>>214
Watson絡みだと、SPSSとの絡みの話しかまだ聞いてないな。
223:219
17/03/14 08:53:01.13 NF858NUD.net
>>220
私は製品としてのワトソンのユーザではなく又聞きですが、「クイズ王」の
ワトソンのはずなのに検索がサポートされていないらしく、それが不満と
いうことらしい。自然言語解析と質問文の生成にはPrologが使われている
から、今のうちに勉強しておこうという話はあるらしい。IBMがサポートする
という話は今のところ私は聞いていない。
224:219
17/03/14 09:02:38.55 NF858NUD.net
汎用製品としてサポートされなくても、DSLとしてサプセットが示されれば
十分に役に立つのではないか。Prologとはそういう言語。
225:あ
17/03/14 10:15:15.15 FzZ45/UG.net
>>221
検索してる訳ではないからね。
条件と条件の組み合わせからの確率を求めるために、今より確度を上げるための質問を作ってるような。
自然言語解析はまた別レイヤの話だったはず。
基本的にはWatsonがわかるようにデータ送ったほうが良かったんじゃないかな。
226:219
17/03/14 10:47:32.93 NF858NUD.net
>>223
>検索してる訳ではないからね。
元々のワトソンも即時的な検索はしていないのか。そうすると話の筋が
通らないな。わからない。
Prologについては、自然言語解析の補助に使われていて、それについて
研究者に聞いたところ、もっと大事な部分でも使われていると。
言語解析より大事なところというと質問の生成かなと、勝手に解釈して
いた。
227:デフォルトの名無しさん
17/03/14 10:50:44.02 ezhD6+vS.net
意味ネットワークから答えを引き出すために使われてるんだと思ってたが。
違うのかな。
228:219
17/03/14 10:57:28.92 NF858NUD.net
>>225
そんな基幹部分?
229:デフォルトの名無しさん
17/03/14 11:09:41.56 vWpG+ZpD.net
>>221
>ワトソンのはずなのに検索がサポートされていないらしく、それが不満と
Hey,WatsonとかOK,Watsonみたいなこと?
230:あ
17/03/14 11:57:18.12 FzZ45/UG.net
>>224
あくまで、確度の推定しかしていなかったはずだよ。
検索ではなくて、推定。何%でこれっぽい、何%でそれっぽい、みたいな。
三段論法で物事を整理していけるなら、prologとかで整理すりゃいいんだろうけど、それならHPCでProlog動かしちゃおうぜで終わる。
逆にWatsonへは、意味ネットワークへの投げ方って意味では、画像で投げたり、音声で投げたりとか無茶が出来たはずなので、どれをもって入力を解析してるかってのはキッパリ言えないと思う。
結局NDA結ばずだったから俺もフワッとした事しか言えなくてすまん。
231:219
17/03/14 19:54:23.57 NF858NUD.net
>>228
ありがとう。
確度の推定というと、30年近く前のエキスパートシステムの時のことを
思い出す。案外、あれに近いのだろうか。
232:デフォルトの名無しさん
17/03/14 23:21:12.43 G8tWzBEA.net
プログラミング言語なんてつまるとこ1+1の積み重ねだろ
プロロロ厨はプロロロロロを使ったら人工知能ができるとか本気で信じてるの?
233:デフォルトの名無しさん
17/03/15 00:53:34.98 m7IuZi0i.net
旧世代言語スレでも作れば?
234:デフォルトの名無しさん
17/03/15 01:08:39.07 FiGu7lnE.net
旧世代言語を列挙して
235:デフォルトの名無しさん
17/03/15 01:25:06.04 mEkvdkZE.net
FORTRANやCOBOLは現行世代でいいよな
PL/Iならユーザが死滅したか?
236:デフォルトの名無しさん
17/03/15 01:59:11.31 U4yUdXtL.net
>>230
信じています
237:234
17/03/15 02:03:53.52 U4yUdXtL.net
信じる、信じないという問題ではなくて、
述語論理を欠いたら、人工知能にはならないということではないか
Prologでなければならないということではない
238:デフォルトの名無しさん
17/03/15 08:02:55.70 Nk04poRC.net
真の人工知能なんてものはフォンノイマン型アーキテクチャでは不可能なので量子へパラダイムシフトと同時に新言語が出る
寝て待て
239: ◆QZaw55cn4c
17/03/15 19:43:41.23 qae1EIh2.net
>>236
ええ?!
240:デフォルトの名無しさん
17/03/15 22:34:40.35 jBxwJulH.net
人述語論理を欠いてる人間はよく見かけるが?
241:デフォルトの名無しさん
17/03/15 23:06:02.15 lNG1lg3A.net
真の人工知能が誕生したら
もう次世代言語もいらんだろ
人工知能が人間様のケツ拭きまで処理してくれるんだから
毎日うまい飯食って頭に電極刺して最高級のオナニーライフが送れる最高の未来がくっど
242:デフォルトの名無しさん
17/03/15 23:32:33.35 lZYbRWrG.net
昔は物理学者が手作業で計算するだけで宇宙の全てを処理してくれると期待された
243:デフォルトの名無しさん
17/03/16 00:04:13.44 y81VNmzi.net
>>238
主語とか倫理の事かな…?
244:デフォルトの名無しさん
17/03/16 00:47:06.24 ckmEHJQv.net
NANDしかない回路は述語を欠いているのか
245:デフォルトの名無しさん
17/03/16 02:48:18.28 nS5r2MC5.net
NA, NAND ATTE - !! _o_ _o_ _o_
246:デフォルトの名無しさん
17/03/16 12:45:56.20 XMZButq8.net
ここ当分は人工知能、とくにAIという言葉は使うとあぶない
ディープラーニングが絡まないとAIではない思っている人さえいる
247:デフォルトの名無しさん
17/03/16 17:41:28.94 L2BK4jtk.net
学会で焼きなまし法を人工知能と呼んでる奴がいて草生えた覚えがある
248:デフォルトの名無しさん
17/03/16 19:20:39.21 S807fhSR.net
「何食べる?」
「なんでもいい」
「じゃあカレーな」
「カレーは昨日食べたから嫌」
述語論理に違反してる。
249:デフォルトの名無しさん
17/03/16 20:06:48.49 ckmEHJQv.net
「なんでもいい」じゃなくて「答えたくない」とか「名状し難い」とかいえばいい
必ず何か答えるべきという前提があると論理が破綻する
250:デフォルトの名無しさん
17/03/17 00:23:15.48 JFrUXgZp.net
>>245
蟻コロニー最適化法が出てこなくてアリの巣コロリ法って言った奴思い出した
251:デフォルトの名無しさん
17/03/17 08:01:45.05 TGk3cPOz.net
基本的にAIの問題は探索問題だから、焼きなまし法だろうがA*探索だろうが、AIへの応用は考えられると思うけど?
252:デフォルトの名無しさん
17/03/17 08:03:31.66 TGk3cPOz.net
最近の「NNにあらずんばAIにあらず」みたいな風潮に乗っかって知ったかするのってかっこ悪いと思う。
253:デフォルトの名無しさん
17/03/17 08:07:18.66 Q/Btx3kS.net
最近の「NNにあらずんばAIにあらず」みたいな風潮に乗っかって商売にするのってかっこ悪いと思う。
254:デフォルトの名無しさん
17/03/17 09:28:15.87 26Dl/sor.net
>>249
「Matlabで焼きなまし法を用いること」を人工知能と呼んでたから草生えたんだゾ
AIへの応用とかそんなレベルじゃなかったゾ
255:デフォルトの名無しさん
17/03/17 10:32:55.43 Q/Btx3kS.net
随分と昔、1990年頃だと思うがAIをテーマにしたシンポジウムで近頃AIと
言ってることとORが以前からやってきたことと、どこが違う?
ということになり、そちらの専門家を呼んで、この点をどう見ているか
議論しようということになった
256:デフォルトの名無しさん
17/03/17 11:49:38.66 cRED0m9R.net
英語や日本語にもバグがあるわけだが一個だけ批判するなら最もメジャーなバグにするか
それともメジャーなら正常でマイナーな方が異常なのか
257:デフォルトの名無しさん
17/03/17 13:58:39.46 TGk3cPOz.net
>>253
90年ごろのAIというと、文字認識が流行してた頃かな。
文字認識は典型的な最適化問題だからORとはモロかぶりだな。
258:デフォルトの名無しさん
17/03/17 14:48:16.19 oZ5n5DDz.net
>>244
とは言ってもNN(応用例)の認識率は圧倒的だしねー
そっちがブームになるのは仕方ない気もする
259:デフォルトの名無しさん
17/03/17 15:31:19.22 M5hLDc+J.net
>>256
応用ということでブームになるのはわかる
でも認識なんて人工知能のほんの一部
260:デフォルトの名無しさん
17/03/17 22:02:45.09 7ICN0IaO.net
実家のエアコンはAIのあとに出た
ニューロ・ファジーだぜ!
261:デフォルトの名無しさん
17/03/18 16:18:45.98 CmUN4f7y.net
人工と自然の対立煽りはわかりやすい
だが知能に対立するものが何かさっぱりわからない
262:デフォルトの名無しさん
17/03/18 19:47:12.42 GPk99yeX.net
人は自分が動物である証としてセックスする
この場合の、動物とかセックスは多分に知能に対立するものとして
たてられているのではないか
263:デフォルトの名無しさん
17/03/18 21:37:42.80 CmUN4f7y.net
そういえば動物なら知能じゃなくて遺伝子を品種改良するからな
264:デフォルトの名無しさん
17/03/18 22:56:26.01 tmgM3nCR.net
流れ無視してすまない。
>>202
遅レスだが、ありがとう。
実はSFとCPDTを読みながらCoqを先にやってた。
でも、上で挙げたreflの感覚が分からないのは型理論の本質的なところを理解していないからだと気づいたので、
Coqよりも型理論寄りのAgdaに変えた。習得済みのHaskellにも近かったし。
今は、HOTTの教科書のChap.1の型理論を読み進めてる。なんか自分の違和感の答えが見つかりそうな雰囲気。理解してから書きこもうと思ったけど、情報への礼を先に言っておくべきと思って書いた。
265:デフォルトの名無しさん
17/03/18 23:06:24.77 tmgM3nCR.net
流行りの人工知能の一領域は統計を利用して、モノの仕分けとかに利用されてるけど、
そこから先は、論理を扱えるCoq、Agdaなどに渡して処理することになると漠然と思ってる。
連続的なモノを統計で離散化して型に落とし込んで、型での議論に持ち込む。
人間が自然言語でやってるのって、まさにこういうことだと思う。
266:デフォルトの名無しさん
17/03/19 03:07:49.43 gbzadtpN.net
>>263
Prologではだめなのですか?
267:デフォルトの名無しさん
17/03/19 07:47:10.71 pNv57ouj.net
人間の自然言語が静的に型付けられているという主張?
POSは型とはちょっと違うと思うけど。
268:デフォルトの名無しさん
17/03/19 09:29:42.74 7GUCcHR6.net
ごめん、Prologはまだ感覚をつかめてないので下手なことは言えないと思って挙げなかった。
POSってPartially Ordered Set?人工知能、専門ではないんだわ。
手始めにやってみたいなと思ってるのは、型の図式=知識の構造を得ておいて、その図式のこの条件を緩めたら知識として一致してる、とか議論できないかなと。
例えば、移動現象に関係する方程式で、物質、熱、粘性を考えたとき、それぞれ次元としてスカラー、ベクトル、テンソルというズレがあるけど、
それを外せば一致していて、ベクトルで新規の項を見つけたら、他の二つにも対応物というか、見逃していた現象があってとか議論される。
こういう一見違う他領域を結び付けて何かを発見するのに使えないかなと。
チラ見だとそれこそPrologの方が得意そう、というかxmlでワトソンみたいなのが既にやってそうだけどね。
269:あ
17/03/19 10:57:42.71 U5iVsXHK.net
>>266
スカラは零階、ベクトルは一階のテンソルなんだけど、意識してないだけ。
それぞれの方程式でブレがあると思ってるけど、実はブレなかったんじゃねえの?ってのが物理学者の人のやってること。
知識の構造と言う意味では、SPSS(PSPPにもあった気がするけど)に、デシジョンツリーをサクサク作れる機能があるから、
相関してる、とかそう言うのは過程仮設と集計の連続作業して見たほうが早いよ。
270:デフォルトの名無しさん
17/03/21 01:34:13.51 Zo5CVS0M.net
prolog厨は専スレでも立てろよ
271:デフォルトの名無しさん
17/03/23 09:15:50.10 9wMBGcic.net
これらの言語ってほぼ単体で使われないよね?
Javaとかに組み込むん?
272:デフォルトの名無しさん
17/03/23 09:50:58.92 DGRvwCAe.net
シェルスクリプトで作ったOSも、Javaで作ったOSも、単体で作られてないのは同じ
273:デフォルトの名無しさん
17/03/23 09:53:53.40 DMbSvcf+.net
?
274:デフォルトの名無しさん
17/03/23 10:53:48.16 H3+7QbOU.net
>>269
Haskellの組み込まれたのは見たことない
275:デフォルトの名無しさん
17/03/23 11:46:43.28 dT4NbpKb.net
TwitterはScalaを捨ててNode.jsに移ったそうです。
URLリンク(www.utali.io)
Scalerの信念の拠り所の1つであるTwitterが死んだ
もうScalaはダメかもわからんね
関数型うんぬんよりもさ、
暗黙、烏賊記号乱舞、コンパイル檄遅
この辺りがダメだったんだろうな
オワタよ、本当にオワタ
愛してたよ、Scala
276:デフォルトの名無しさん
17/03/23 13:56:22.90 GetMPoha.net
>>273
URLリンク(www.reddit.com)
>necolas ←Node.js採用について最初にツィートしたTwitterのエンジニア
>Hi, I'm the author of this Tweet. Twitter's API continues to be implemented on the JVM.
TwitterはScalaを捨ててません(少なくとも現在は)
URLリンク(kmizu.hatenablog.com)
> 1. Twitterは最近(ここ数ヶ月)にScala CenterのAdvisory Boardにjoinしている
> 2. 置換えたとされるFinagleのコミットが最近でも活発である
> 3. そもそも引用元ツイートで一言も、Scalaを捨てたに相当する表現が見られない
277:デフォルトの名無しさん
17/03/23 14:37:06.11 dT4NbpKb.net
>個人的な意見ですが、Scalaは美しい仕様を持つ素晴らしい言語ですが、
>関数型+オブジェクト指向という特徴から、学習コストが高すぎると感じました。
>そして実運用をするには、それに加えてJavaのライブラリの知識やJVMのパフォーマンスに気を配る必要があります。
>つまり、面倒すぎる言語なのでしょう。
実質捨てます宣言やん
278:デフォルトの名無しさん
17/03/23 14:48:23.05 GetMPoha.net
>>275
>今週にはJames Bellenger(僕たちのチームのNode.jsの帝王)が
>残りのログインしていないユーザーのトラフィックをScalaからJavaScriptに移行した。
ここまでがツィートの翻訳だ。
その続きは記事を書いた人の「個人的な意見」だ。
279:デフォルトの名無しさん
17/03/23 15:22:18.24 eYsVrQFw.net
なんかAda捨てた流れ思い出しちゃう
とにかく簡単で見慣れた記法で人集めが楽とかそんなんばっか
280:デフォルトの名無しさん
17/03/23 15:44:01.50 DGRvwCAe.net
ニュースを見てから動くのは遅い
しかもフェイクニュースのリスクもある
だから事実ではなく自分の意見を持って動く方が速いしリスク管理しやすい
281:デフォルトの名無しさん
17/03/23 17:36:04.80 V7qjAb4k.net
var宣言があり標準ライブラリにミュータブルクラスがあるスカラのどこが関数型なのかわかりません。
誰か教えてください。
282:デフォルトの名無しさん
17/03/23 18:54:58.39 t4BX+2Gm.net
>>279
副作用あるのがだめなら関数型とはうたえないって言うの?
ocamlもダメか?
283:デフォルトの名無しさん
17/03/23 19:07:08.08 V7qjAb4k.net
スカラは副作用がお手軽すぎませんかね?
ライブラリコードを読んでも破壊代入だらけでとても関数型とは思えないのですが。
284:デフォルトの名無しさん
17/03/23 19:14:50.43 cbUpLCW6.net
じゃあRは副作用がないから関数型なのか?
285:デフォルトの名無しさん
17/03/23 23:00:16.95 dT4NbpKb.net
そうであーる
286:デフォルトの名無しさん
17/03/24 12:02:11.34 jgAm1kRt.net
Scalaはガチガチの関数型ではないからな
287:あ
17/03/24 12:11:45.40 Vu4/NCj/.net
フィルタ言語やクエリ言語ってだいたい関数型と言えてしまうんじゃないの?
別に新しい概念でもない気がする。
288:デフォルトの名無しさん
17/03/24 12:16:57.43 ol6kAPRp.net
別に新旧は関係ないだろ。
んなこといったらlispより古い関数型言語あんのかよ?
289:デフォルトの名無しさん
17/03/24 12:23:47.67 jgAm1kRt.net
pythonが静的言語だったら喜んで使うけど動的言語は大嫌い
290:デフォルトの名無しさん
17/03/24 12:30:46.46 imsTG+qA.net
Cythonはいいぞ
291:デフォルトの名無しさん
17/03/24 12:33:53.83 jgAm1kRt.net
何で機械学習のライブラリはPythonばかりなんだろう
機械学習とかアルゴリズムの塊だからHaskellの方が向いてrそうだけど
292:デフォルトの名無しさん
17/03/24 13:09:45.95 wKLctAe5.net
Haskellは見た目は大きいが中身が少ない
Pythonは餃子ならHaskellは肉饅
293:デフォルトの名無しさん
17/03/24 13:24:11.16 poXmNItA.net
>>289
スクリプトだからだろ
294:デフォルトの名無しさん
17/03/24 14:50:52.48 7Exrmzyh.net
>>289
Travis OliphantがSciPyとNumPyを作ったのが大きい。
Google Summer of Codeでscikit-learnが作られたのが決定打だ。
なぜ機械学習にPythonが選ばれるのか
URLリンク(qiita.com)
295:デフォルトの名無しさん
17/03/24 17:32:56.06 SZtJoIW2.net
結局、実用には何か足りないんだよね
haskellは教育用言語
296:デフォルトの名無しさん
17/03/24 17:42:24.32 2f+nVLXA.net
nltkの存在も無視できんわな
297:あ
17/03/24 18:33:25.33 Vu4/NCj/.net
>>286
defvarやらあるからなかなか純とは。。
298:デフォルトの名無しさん
17/03/24 18:46:44.65 ol6kAPRp.net
>>295
なんで純粋かどうかなんてでてくるんだよ。
勝手に条件の後付すんなよ。
299:デフォルトの名無しさん
17/03/24 18:52:24.63 XfLnpFqH.net
implicitな条件だったんだろ
300:あ
17/03/24 19:16:05.28 Vu4/NCj/.net
>>296
>>279
の話から
>>285
の、フィルタ言語とクエリ言語に言及してるんだよ。
だから、SQLやその他そういうのを含まず、クエリ(問合せ)と言ってるんじゃないか。
もとからあった条件だろ。
301:あ
17/03/24 19:19:19.90 Vu4/NCj/.net
俺の話が読み取れないんじゃなくて、他の人間の話が読み取れないなんて、
遡って俺の発言読まなきゃいけないとかそういう次元じゃねえじゃん。
ホントに何考えて発言してるかわからん。思考と指がいろんな意味で直結してんじゃねえの?
302:デフォルトの名無しさん
17/03/24 20:14:10.16 ol6kAPRp.net
直結w
ある意味かっこいいww
303:デフォルトの名無しさん
17/03/24 22:08:32.99 wKLctAe5.net
クエリ言語は関数等を動的に定義したり動的にコンパイルしたりするのが面倒臭い
それが嫌なら定義を書く言語とクエリ言語は二つに分ける
肉とパンを別売りにする
304:デフォルトの名無しさん
17/03/24 22:48:48.51 cWpKc3e2.net
>>279への返答を>>285で安価つけずにしておいて理解してもらえなくて発狂とかガイジかな
305:あ
17/03/24 23:51:05.48 UElfGnb8.net
>>302
理解してもらえないんじゃないよ。
理解出来ない奴が居るだけ。
そりゃ相対差であって、どっちがどうって話じゃないじゃん。
指摘を適当に発狂とか誤魔化して自分を保つとか、なかなか今まで頑張ってだましだまし生きてきた感ある発言だな。
306:デフォルトの名無しさん
17/03/25 00:32:52.29 UB3e1JZS.net
その流れるように人格批判に持ってく癖をやめといたほうがいいよ。あなたは特に。
307:あ
17/03/25 00:39:29.85 +U7vTGEN.net
>>304
そりゃ、人格批判されたのであれば、ある程度は言い返すし、
人格批判ではなくて、態度を批判してるよ。持ってってるつもりもなく、最初からしてる。
308:デフォルトの名無しさん
17/03/25 00:57:39.39 9EdwFWSB.net
自己弁護の神
309:デフォルトの名無しさん
17/03/25 01:00:00.44 MfRZ/KS0.net
最初から人格批判してるとかやっぱりマウンティングじゃないか
310:デフォルトの名無しさん
17/03/25 01:07:38.03 ta2mL481.net
マウンティングは催眠術か洗脳のようなものだから解き方さえわかれば人畜無害
311:デフォルトの名無しさん
17/03/25 01:20:55.87 kaPA30KF.net
人格批判してる自覚、なしw
312:デフォルトの名無しさん
17/03/25 01:27:59.69 92weDEMC.net
自分の非を認めるにはある程度能力が必要だからしゃーない
313:デフォルトの名無しさん
17/03/25 01:34:05.28 h4sfGwdy.net
>>308
マウンティングされること自体が不快極まりない
314:デフォルトの名無しさん
17/03/25 02:19:41.89 ta2mL481.net
あまり強くない相手に無傷で勝とうとするから些細なダメージが不快になるんだろ
もっと本当に強い奴を探して戦えばいいんじゃないの
315:デフォルトの名無しさん
17/03/25 05:59:42.60 eOXqgpwp.net
まーたマウンティングヴォーイか
316:デフォルトの名無しさん
17/03/25 07:04:18.16 /fA5gLxr.net
>>302
君ってばか?
317:デフォルトの名無しさん
17/03/25 09:26:43.15 ta2mL481.net
もし人間を超えるAIがあったら人間が使う全てのマウンティングを消し去る
318:あ
17/03/25 10:13:37.88 +U7vTGEN.net
>>307
だから人格は批判してないじゃん。
態度が変わっても考えている事が変わる訳でないし、
そもそも心がけで変えられるものを人格とは呼ばんだろう。
319:あ
17/03/25 10:20:16.33 +U7vTGEN.net
マウンティングが何かイマイチ、ピンと来てないが、
不快極まりないのであれば、させないようにすればいいのでは?
する事ができないから、されたら不快だと言う言い分に聞こえる。
屁理屈だと言うには、屁理屈を屁理屈だと言い張るためのまた別の屁理屈があれば良いだけなんだし。
ただdisるのなんか簡単なんだから。
320:デフォルトの名無しさん
17/03/25 10:27:13.90 oEnzGui4.net
次世代の言語は肉体言語とかになるんだろーか
321:デフォルトの名無しさん
17/03/25 10:29:27.88 urA4p71k.net
1レスに段落入れちゃう奴はプレゼンの訓練受けてない高卒
322:デフォルトの名無しさん
17/03/25 10:44:02.05 pYu9V7t6.net
人格批判してる自覚、なしw
323:あ
17/03/25 12:13:23.29 +U7vTGEN.net
ここまで説明して、まだ「人格批判だ」「人格批判をしている自覚なし」と言うやつは、
自分で『それだけが自分の人格を支えてると体現してる』って自覚はあるのだろうか。
324:デフォルトの名無しさん
17/03/25 13:19:27.20 sfLkR9Za.net
ナチュラルに人格攻撃していくスタイルいいっすねw
325:あ
17/03/25 13:40:08.45 UU/6XFAl.net
これを人格批判・攻撃だと言うなら、もう人格が見栄外聞自己評価でしか形成されてないってことじゃんw
「論旨や態度の批判は人格批判じゃないでしょ、貴方か成果があり知識があり、例えば給与や売上といった何らかの他者評価があり、それらで構成されている揺らぐことのない人格を持ち、論旨や態度はただの手段に過ぎない人間ならば」って言ってるんだよ。
326:デフォルトの名無しさん
17/03/25 15:11:31.94 wf/QK0vh.net
>>323
>>303とかまさに他人の人格を軽視した上での人格批判だと思うが
他の人間は人格批判を行うレスでも、ちゃんと境界の自覚あるだろうとわかるけど、お前さんからはそれが感じられない
他人に甘えてないで態度を改めるべき
327:あ
17/03/25 15:27:28.69 D186SEHy.net
>>324
第一段落は単なる事実。
第二段落は、それに対する考察。
三段落目のことであれば、感があると言ってるでしょ。俺の主観。
よく読んで感じて。
328:デフォルトの名無しさん
17/03/25 16:03:47.32 P+Eymz64.net
悪口を言って悪いのは悪口を言っているやつじゃないんだよ。
一番悪いのは悪口によって乱される心の弱さ。
悪気地によって心が乱れたときはそれを制御する意思の力。
悪口を言ってくれる人がいるから鍛えられる。
ありがたくおもわないとな。
329:デフォルトの名無しさん
17/03/25 16:09:47.56 /fA5gLxr.net
>>324
自己紹介オツ!がんばれ!
330:デフォルトの名無しさん
17/03/25 16:47:58.87 K3B0zgWa.net
次世代言語の話まったくなし。
331:デフォルトの名無しさん
17/03/25 17:04:19.88 ecqG0ALX.net
エンジニアガイジきたら次世代言語スレじゃなくなるんだよな
書き込まないで欲しいわ
332:デフォルトの名無しさん
17/03/25 17:53:44.95 OEEX15fJ.net
>>327
お前のレス会話になっとらんぞ
333:デフォルトの名無しさん
17/03/25 18:29:21.19 SWo7K2yf.net
>>318
ボディランゲージ
334:あ
17/03/25 18:58:37.41 D186SEHy.net
>>329
ちゃんと話してる事もあるけど、何故かマウンティングとか言い出す奴が居るから横道に逸れるんじゃん。
>>329そのものに、次世代言語の話題が書いてあるわけでなし、同じ穴のムジナに言われてもなんともならんな。
335:デフォルトの名無しさん
17/03/25 19:11:55.27 ecqG0ALX.net
そりゃ普通は一つのレスに二つの要素をいれたりしないからな。そこを突くのは屁理屈にも程がある
336:デフォルトの名無しさん
17/03/25 19:41:42.65 l9ixdBxw.net
Post-Python言語みたいなのほしい
読みやすいスクリプト言語で静的型付けをもっとうまくこなせてスケーラビリティに優れる言語
337:デフォルトの名無しさん
17/03/25 19:48:08.05 ecqG0ALX.net
Julia?
338:デフォルトの名無しさん
17/03/25 20:36:21.93 SWo7K2yf.net
Julia には期待してるけど、イマイチ盛り上がらないな。早く落ち着いて欲しい。
339:デフォルトの名無しさん
17/03/25 20:55:38.32 eOXqgpwp.net
JuliaでググルとAV女優しか出てこないからダメだな完全に
340:デフォルトの名無しさん
17/03/25 21:14:28.91 l9ixdBxw.net
そういうんじゃなくてPerlやRubyみたいなスクリプト言語としてのPythonの後継
小手先がきいてお手軽でちょっとしたツールが楽に作れるやつ
341:デフォルトの名無しさん
17/03/25 21:46:36.94 ZnS2c8Uq.net
Juliaは小手先がきいてお手軽でちょっとしたツールが作れると思うけど、どの辺が足りないのか、何が欲しいのかもうちょっと具体的に書いて欲しい所
342:デフォルトの名無しさん
17/03/25 22:08:48.57 ta2mL481.net
静的型を中途半端に受け入れると「真の静的型」からイジメの標的にされる現実を見ろ
343:デフォルトの名無しさん
17/03/25 22:31:00.89 eOXqgpwp.net
どんな現実が見えてるんですかね・・・
344:デフォルトの名無しさん
17/03/26 00:19:49.27 /3yly5bm.net
Hな人たちのことか
345:デフォルトの名無しさん
17/03/26 00:35:30.81 jD/lvJjB.net
(´・ω・`)
/ `ヽ. お薬増やしておきますねー
__/ ┃)) __i |
/ ヽ,,⌒)___(,,ノ\
(´・ω・) チラッ >>340
/ `ヽ.
__/ ┃ __i |
/ ヽ,,⌒)___(,,ノ\
(´・ω・`)
/ `ヽ. 今度カウンセリングも受けましょうねー
__/ ┃)) __i |
/ ヽ,,⌒)___(,,ノ\
346:デフォルトの名無しさん
17/03/26 00:49:42.64 5JDNqbXO.net
次世代言語の話まったくなし。
347:デフォルトの名無しさん
17/03/26 10:26:02.92 9/vJOC7I.net
Juliaの話から繋がりそうだったのにこれだよ
348:デフォルトの名無しさん
17/03/26 11:44:45.47 suWAcC22.net
つくづく2chってこの手の話をする場にはならないと感じるな
349:デフォルトの名無しさん
17/03/26 12:44:31.80 jD/lvJjB.net
すぐ茶々入れるバカがおるしな
350:デフォルトの名無しさん
17/03/26 13:19:20.55 XA6YgUQb.net
Haskellの戦況を見に来ました
351:デフォルトの名無しさん
17/03/26 14:23:40.31 nb0JbwQ9.net
いかにも尻軽女の名前だぜ
352:デフォルトの名無しさん
17/03/26 18:59:13.16 24iyyPay.net
HaskellでHFTのシステム構築してる会社もあるんでそ?
353:デフォルトの名無しさん
17/03/26 19:33:47.86 7Z16OKwK.net
>>350
HFTはC++一択でしょ
Haskell使ってるのはクオンツとかじゃないの?
354:デフォルトの名無しさん
17/03/26 20:06:36.28 DXggLQC6.net
マウンティングされない次世代言語ってどれよ?
355:デフォルトの名無しさん
17/03/26 20:32:17.83 i70DjqT8.net
/mnt/sdcard
356:デフォルトの名無しさん
17/03/26 21:10:38.83 cyHlMDDk.net
>>338
パイソンでええやん
357:デフォルトの名無しさん
17/03/26 22:01:13.16 nb0JbwQ9.net
python,perl,ruby で十分手軽だろう。
これ以上となると awk くらい使い道を制限する以外に方法はない。
358:デフォルトの名無しさん
17/03/27 01:44:03.93 eUHhKYGs.net
pythonって後継の必要がないくらい完成されてないか
359:デフォルトの名無しさん
17/03/27 01:48:08.80 UxXnYzuG.net
全くされてねーよ
360:デフォルトの名無しさん
17/03/27 01:48:51.59 UxXnYzuG.net
PythonはJavaと同じでやりたくてやる言語じゃない
361:あ
17/03/27 02:09:11.17 lJmvU5aC.net
>>334
いっそ諦めてPythonをGoにトランスパイルするあれ使ってみたら?
悪くは無かったよ。
362:デフォルトの名無しさん
17/03/27 04:51:54.15 YOTOg8v7.net
仕事でscala使う事になって張り切って勉強してたら今もう下火な感じなのね
これから伸びる最新の技術身につけられると思ってわくわくしてたけど
363:デフォルトの名無しさん
17/03/27 08:38:01.83 xsfHl8fn.net
>>357
また4.0 で大幅に変わるからいいんだよ。
364:デフォルトの名無しさん
17/03/27 09:24:03.08 9ObHSaYA.net
>>360
コストかけてまでscalaを覚えさせるメリットを説明できるやつなんておらんやろ
そんなもの無いし
365:デフォルトの名無しさん
17/03/27 09:27:09.56 ochSyXWl.net
勉強をコスト扱いするな
366:デフォルトの名無しさん
17/03/27 09:30:15.92 9ObHSaYA.net
node.jsやcordovaのせいで俺の最も嫌いなJSなんて言語がブラウザという枠から侵食してきやがる
吐き気がするぜ
367:デフォルトの名無しさん
17/03/27 09:45:41.07 8hcsZ/Rv.net
次世代言語とやらはC++の牙城をいつ崩してくれるの?
いつまで経っても残ってるじゃんこの糞言語
368:デフォルトの名無しさん
17/03/27 10:06:24.35 nOebeY9r.net
>>365
それになりえるのはRustぐらいしか無いよな
369:デフォルトの名無しさん
17/03/27 10:07:49.10 nOebeY9r.net
>>364
typescriptつかえばだいぶマシだよ
370:デフォルトの名無しさん
17/03/27 11:23:23.07 zzGGm9lI.net
マジTypeScriptが標準になってほしいな
Scalaより便利かも試練
371:デフォルトの名無しさん
17/03/27 11:41:02.89 cCQD+5Ly.net
マウンティング圧力でjsを仕様変更させるよりはaltjsのやり方が正しい
372:デフォルトの名無しさん
17/03/27 12:47:47.88 zzGGm9lI.net
マウンティング種付けプレス
373:デフォルトの名無しさん
17/03/27 13:17:14.08 9ObHSaYA.net
>>367
そういやtypescriptはここに上がってるものより遥かに有力な次世代言語だな
374:デフォルトの名無しさん
17/03/27 13:49:46.19 M8+U5ZaQ.net
>>364
JavaScriptは素晴らしい言語言ってる奴たまに見るけど
俺も全く賛同出来ないなぁ・・・ホント何が良いんだろ
ActionScriptも含めて散々飯の種にはしたけど
仕事じゃなかったら絶対触りたくない
375:デフォルトの名無しさん
17/03/27 14:30:32.87 zzGGm9lI.net
おまえらはPHPという真の糞を知らないから
軽々しくJavaScriptが糞だなんて言える
おまえらは便器にこびりついた10年物の糞を味わったことがあるか?
376:デフォルトの名無しさん
17/03/27 15:53:48.04 eUHhKYGs.net
Haskellは標準ライブラリをコンパクトにしようという方針のせいで終わったよね
377:デフォルトの名無しさん
17/03/27 16:49:39.75 GZjcktmh.net
Goは命名規則さえ良かったらなぁ
シフトキー強制されるとてぃてぃんがエレクトロしてまう
378:デフォルトの名無しさん
17/03/27 19:03:22.34 CNqKC79h.net
ぐぐらびりちーがさぁ
379:デフォルトの名無しさん
17/03/27 21:17:37.42 i1isobdb.net
>>374
いや単純に cabal が糞だからだろ。
厳密性が売りなのにパッケージ管理もまともにできんとは。。
380:デフォルトの名無しさん
17/03/27 21:30:10.57 hxVTicGO.net
cabalはmaybeなファンクター
381:デフォルトの名無しさん
17/03/27 21:32:23.54 AB7bbJBW.net
Haskellはエコシステム以外も普通に糞
まともなアプリ作ろうとすると、手間かかる、FFIも超だるい
信者は純粋云々の有用性を説くけど、IO絡むとすぐliftだので一発で壊してる
FRPもはっきり言って開発効率悪い
おまけにパフォーマンスの制御が簡単にできないから、遅延評価いちいち取り除かないといけない
モナドがムズいとかそういう事じゃないのに、今でも勘違いしてるHaskeller達
はっきり言っておもちゃ以外の何物でも無い
382:デフォルトの名無しさん
17/03/27 21:35:22.07 AB7bbJBW.net
あと最大の欠点は、静的型なのに動的型並のパフォーマンスの悪さ
そら普通の頭してたらRustやC++やGoに流れますわ
383:デフォルトの名無しさん
17/03/27 21:53:43.53 zzGGm9lI.net
モージラとグーグルというWeb界の2大巨頭が静的型かつネイティブ言語を出したという事実はでかいね
ポストネクストジェネレーションランゲージはルースト&ゴーで決まり
特にCを凌駕するルーストは最強と言っていい
Chatw●rkを半死に追い込んでTwitterにも捨てられてスカラとかいうサゲマン死産の事は忘れよう
384:デフォルトの名無しさん
17/03/27 21:56:05.01 DZ7KBqWQ.net
stackという名のエクスカリバーをてに入れたハスケルはもはや敵なし!
究極のベルゼブルなり
385:デフォルトの名無しさん
17/03/27 23:04:16.84 8CT7MInZ.net
URLリンク(www.indeed.com)
最近名前が出た言語はすでにHaskellより求人が多い。
個人的には少ない記述で高速実行できるJuliaに期待している。
科学技術計算でも軽量Web開発でもJuliaを選べるようになって欲しい。
386:デフォルトの名無しさん
17/03/27 23:07:02.32 oJN/ijnw.net
>>383
Juliaでggったら・・・
387:デフォルトの名無しさん
17/03/28 00:10:22.59 gx/WaW8t.net
Julia Lang さん美人だよ。
388:デフォルトの名無しさん
17/03/28 00:14:55.72 SE6jqt3z.net
その職業は科学技術計算なんかより求人が多いのかもな
389:デフォルトの名無しさん
17/03/28 03:46:09.79 LE5T0lTA.net
>>379
正格評価にするためだけに
イチイチ余計な手間かけさせるのが鬱陶しいよな
バグが混入しにくい事を自慢してるけど
遅延評価のせいで空間計算量が読みにくいのはバグよりたち悪い
390:デフォルトの名無しさん
17/03/28 07:58:08.60 gzrV6Hbe.net
ガチガチに型検査したいモナドいらないFFI書きたい正格がいいならsml/njでいいじゃん。何が不満よ?
391:デフォルトの名無しさん
17/03/28 08:14:58.81 88LwyzTy.net
律速にHaskell使うなんてありえるのか?
392:デフォルトの名無しさん
17/03/28 08:25:42.67 xK9w46xb.net
まだ諸君はハスケルのパンドラの箱プロファイリングの封印を解いてないようだね。
時空間を司る神のオペレーション、まさにエクスカリバー!
393:デフォルトの名無しさん
17/03/28 08:32:38.57 U6roseEh.net
>>388
一体誰に向けて話してんだよそれ
394:デフォルトの名無しさん
17/03/28 09:02:49.60 3ckoJGGq.net
次スレはHaskell外そうぜ
次世代言語でもないし信者がうざすぎる
395:デフォルトの名無しさん
17/03/28 09:08:34.68 D2g9aNol.net
それを言ったらScalaももう終わったから外そう
396:デフォルトの名無しさん
17/03/28 09:23:54.09 xK9w46xb.net
ハスケルは外されても何度でも復活する。
そう、フェニックスのようにな!
397:デフォルトの名無しさん
17/03/28 10:02:46.39 wO7rF6oe.net
>>391
ユー
398:デフォルトの名無しさん
17/03/28 10:36:50.48 U6roseEh.net
>>395
会話になってねえ…
Haskellいらんって言ってるレスに対しての返答なのか、信者に向けていってるのか
前者なら噛み合ってない