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

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん2017/03/04(土) 15:25:41.48 ID:X2My6T7M
いざ、語ろうぞ。

スレタイ超過のため、一部省略。
Go, Erlang, Kotlin, etcもウェルカム。

前スレ
次世代言語議論スレ【Go Rust Haskell Scala Erlang Elixir】 第二世代 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1486816357/
0002デフォルトの名無しさん2017/03/04(土) 15:26:51.55 ID:X2My6T7M
Let's go to neXt Generation...
0003デフォルトの名無しさん2017/03/04(土) 15:56:40.80 ID:X2My6T7M
# POST NEXT GENERATION LANGUAGES

- Elixir
- Erlang
- Go
- Haskell
- Kotlin
- Rust
- Scala

(sorted in alphabetical order)
0004デフォルトの名無しさん2017/03/04(土) 16:52:26.37 ID:2fztGO7X
あれ〜Swiftは・・・?
0005デフォルトの名無しさん2017/03/04(土) 17:48:13.76 ID:/imazuHh
Clojure��
0006デフォルトの名無しさん2017/03/04(土) 19:21:56.52 ID:S34ljy53
>>1
次の次世代の本命はProlog
それ以外はなくなる
0007デフォルトの名無しさん2017/03/04(土) 21:07:48.36 ID:gyQpa9Hb
>>6
>それ以外はなくなる
知識プログラミングの時代は来るだろうがさすがにこれは言い過ぎ
0008デフォルトの名無しさん2017/03/04(土) 21:13:28.87 ID:wuF6ZyHX
>>1

個人的には、それらと異なるパラダイムのCoqかAgdaをスレタイに入れてほしかったが。
0009デフォルトの名無しさん2017/03/04(土) 21:18:09.53 ID:a1Qd0ocB
Prologのネガキャンお疲れ様です
0010デフォルトの名無しさん2017/03/04(土) 23:17:47.90 ID:N8WZp5To
>>8
AgdaやCoqはプログラム言語としても浮上できそうなのかな
0011デフォルトの名無しさん2017/03/04(土) 23:52:16.78 ID:+9qG5EdN
kotlin はほんとの「java script」 って感じやね。
0012デフォルトの名無しさん2017/03/05(日) 05:17:38.13 ID:rlVSvpqM
>>11
Groovyがそうだったけど
Kotlinは堅めだと思う
001362017/03/05(日) 05:46:42.24 ID:BRHv0ACr
>>7
知識プログラミング
ICOTも後半この言葉を使ったのだが曖昧なんですね
0014デフォルトの名無しさん2017/03/05(日) 09:15:29.11 ID:CRVYE2F+
>>13
Prologって一階の述語論理以上を扱えるの?
自分はProlog触ったこと無いから、CoqやAgdaの方が表現力が上だって勝手に思ってるけど、どうなんだろう。
マウンティングうるさい人がいるので、そうだと思わないで欲しい。素直な疑問。
0015デフォルトの名無しさん2017/03/05(日) 10:57:44.27 ID:BRHv0ACr
>>14 Coqについてはわからないのだが、
Prologは一階の述語論理のサブセットですから、強力なサポートがあるのは
一階の述語論理だということだと思います。
否定の定義は二階の述語論理だと思いますし、
\+(P) :- call(P),!,fail.
\+(P).

'句を評価してその第一引数が整数だったらそれを返す'(_句,_整数) :-
call(_句),
_句 =.. [_,_整数|_],
integer(_整数).

のような記述は可能ですから、扱うことはできます。
0016デフォルトの名無しさん2017/03/05(日) 11:14:46.94 ID:BRHv0ACr
このように引数の句を評価する述語として、callを基礎に
\+ , setof , bagof , findall , forallなどが組込述語として存在しますが、
こんなものです。さらには、
二階述語論理を再帰述語の中で使うと、句の中にある変数が一度、単一化されて
しまうと、受け取った句と次に再帰する時の句が別の意味になってしまう。
変数が束縛されてしまっているから。
この問題を回避するために再帰述語に入った途端にcopy_termをして変数の
ままの構造体を保存しなくてならない。というような、深刻な不都合が存在
します。
0017デフォルトの名無しさん2017/03/05(日) 11:16:31.37 ID:YjhEGGhg
よくわかりません。
00182017/03/05(日) 11:29:01.53 ID:YuVF0M5o
扱いたいものが二階以上でも、各階層が全射と証明できるなら扱えるだろうけど、
扱うべきかどうかはまた別。
0019デフォルトの名無しさん2017/03/05(日) 11:33:33.34 ID:BRHv0ACr
>>17

再帰の中でPをcallする(P,X) :-
・・・
call(P), % ここでPの引数の変数が束縛されてしまうとする
・・・
再帰の中でPをcallする(P,X). % このPは変数が束縛されたPであり最初のPとはちがう
0020デフォルトの名無しさん2017/03/05(日) 11:39:56.31 ID:BRHv0ACr
論理学では大事な課題である高階述語ですが、
実務の中で出てくることは今のところ皆無。
知識プログラミングが高い段階に進んだら、そういう課題も現れるように
なると思いますが。
0021デフォルトの名無しさん2017/03/05(日) 12:09:25.64 ID:rlVSvpqM
>>19
なるほど、Pの評価によって再帰自体も制約されてしまうって事ですね
Prologはここまで考えないといけないのか…
0022デフォルトの名無しさん2017/03/05(日) 12:19:21.43 ID:rlVSvpqM
>>18
なぜ扱うだけで証明が必要なんです?
00232017/03/05(日) 12:42:27.97 ID:YuVF0M5o
>>22
どういう意味だろうか?
soundnessで、decidableであれば良いと言う話かな。
0024デフォルトの名無しさん2017/03/05(日) 12:48:36.53 ID:FZcEb+sx
>>22
それガイジ
0025デフォルトの名無しさん2017/03/05(日) 13:05:36.69 ID:BRHv0ACr
>>21 そうですね。一階の述語論理に強力なサポートと言ったのとは逆に
こういう部分のサポートは全くない訳です。

再帰の中でPをcallする(P,X) :-
copy_term(P,P_2),
・・・
call(P), % ここでPの引数の変数が束縛されてしまうとする
・・・
再帰の中でPをcallする(P_2,X).

% 上のように引数のストリームを断ち切って使います。
0026デフォルトの名無しさん2017/03/05(日) 13:21:16.68 ID:rlVSvpqM
>>23

わからなくて聞いてるのはこっちですよ
扱うだけならいらなくないですか?
なぜ必要があるんです?
0027デフォルトの名無しさん2017/03/05(日) 13:27:47.30 ID:HN9/KcX+
(あかん)
0028デフォルトの名無しさん2017/03/05(日) 13:29:26.27 ID:rlVSvpqM
>>25
なるほど、そう書くと自由なままとして渡せるんですね
Prolog難しいけど面白いですね

これって、述語部だけ取り出して、引数一部だけ束縛、またはフリーにして渡す事ってできますか?
できるなら、再帰でかなり複雑なパターンマッチもできそう
0029デフォルトの名無しさん2017/03/05(日) 13:37:23.93 ID:BRHv0ACr
>>25
先ほどの述語定義で渡されたPですが、これは

P =.. [_述語名,_引数1,_引数_2, ・・・ ,_引数n]

でどれとも部分的に単一化可能です。この組込述語 =.. はLISPから
ヒントを得たちょっとインチキ臭さがありますが、本格的には
functor(P,_述語,_引数の数) と arg(_引数位置,P,_引数の値) の二つを
使って再帰的に部分項を取り出します。
0030292017/03/05(日) 13:38:27.72 ID:BRHv0ACr
すみません。>>25ではなく >>28 に対するレスでした
0031デフォルトの名無しさん2017/03/05(日) 14:16:47.04 ID:rlVSvpqM
>>29
なるほど、=..これでマッチングさせれば、
callもapplyなどの一般的な関数適用のようにできるわけですね

引数適用が適宜変更できるなら、Prologの探索と、関係の列挙と、シンプルな再帰的な動作で、かなり面白い挙動をさせることもできそうですね
例えば、何かパズルや網羅的な物の解析など、有機的な処理とかできそう

途中から割り込んでおいてすみませんが、説明ありがとうございました
今まで食わず嫌いしてましたが、ちょっとProlog環境入れてみようと思います
0032デフォルトの名無しさん2017/03/05(日) 14:42:06.46 ID:YjhEGGhg
うん、マジで何言ってるのかさっぱりわからん
これが次世代言語なのか?
0033デフォルトの名無しさん2017/03/05(日) 14:51:12.72 ID:OTWGYsmM
Swiftとか入れない辺り、ただの関数型信者のスレだな。
わざわざ次世代とか入れないで、関数型総合スレにすれば変な奴も湧かないのに。
0034デフォルトの名無しさん2017/03/05(日) 14:53:44.75 ID:YjhEGGhg
>>33
Goは関数型だった説????・

エスウィフタはマックイオス専用なんだろ?
次世代になれんやんけ
0035デフォルトの名無しさん2017/03/05(日) 16:58:39.65 ID:tyZD49qc
関数ポインターが使えればすでに関数型なんですけど。
0036デフォルトの名無しさん2017/03/05(日) 17:07:10.16 ID:HN9/KcX+
アスペの意見
00372017/03/05(日) 19:21:57.46 ID:YuVF0M5o
観てて思ったけど、カマトトそのものと言うか、出来レースとかプロレス見てる気分。

>>33
そーだと思うよ。
プログラミングは関数型プログラミングができるかどうかで免許制にするべきらしいからw
間接参照と、プログラムメモリとデータメモリの壁を取り払ってデータメモリにjmpする事を許すアーキテクチャ、なんてかたちで
40年以上前に既にやってることが、次世代のプログラミングらしい。
ちょっと違うのは40年前の闇魔法使いはちゃんとステップ数ヒープ容量クロック数把握してたって事くらいだよ。
0038デフォルトの名無しさん2017/03/05(日) 20:29:04.88 ID:eFmYAyos
関数型SUGEEEEEしたいだけでしょ
生ぬるく見守ってあげましょう
0039デフォルトの名無しさん2017/03/05(日) 20:43:48.12 ID:iMAERu5Y
コミュニケーションする気がないのに言語オタクとかどうかしてるんじゃないですかね。
0040デフォルトの名無しさん2017/03/05(日) 20:44:50.91 ID:uF+9myNK
Lispは神の言語
0041デフォルトの名無しさん2017/03/05(日) 21:09:51.59 ID:Snq+LO9g
上の方で大事なことを言って、反応待ちでずっと張り付いてたのにスルーされたからだと思われる。
0042デフォルトの名無しさん2017/03/05(日) 21:43:00.59 ID:J/TxCHLc
いまさらだが関数型て、どれが関数型よ?
Haskellはさんざん出てきてるから分かる。
0043デフォルトの名無しさん2017/03/05(日) 22:31:05.03 ID:Kh31TaEW
俺の認識
CommonLisp 関数型ではない
Scheme 関数型とはいい難い
Clojure 関数型
Scala 関数型ではない
ML, F# 関数型
0044デフォルトの名無しさん2017/03/05(日) 22:32:10.15 ID:eU4nuStd
>>42
Rust,Scalaはオブジェクト指向でも問題なく書けるように作ってあるしね
そう考えると関数型オンリーでメジャーなのはHaskellぐらいで
関数型でしか書きたくなくなるのは(ここにはないけど)OCaml,F#?
0045デフォルトの名無しさん2017/03/05(日) 22:44:57.43 ID:iMAERu5Y
関数型といわれるものの特徴

1. ガード節による if の表現
2. 再帰による for の表現
3. 返り値による値の受け渡し(副作用?に関する内容)
4. カリー化(関数の引数の部分適用)
5. クロージャー生成(関数内で関数を構築して返す)
6. 関数合成

こんなとこかね。
0046デフォルトの名無しさん2017/03/05(日) 23:05:17.41 ID:f1XixyjT
1番がよくわからないが
パターンマッチングのことだろうか?
0047デフォルトの名無しさん2017/03/05(日) 23:16:03.21 ID:YjhEGGhg
高階関数があれば関数型やろ
JavaScriptも関数型です
0048デフォルトの名無しさん2017/03/05(日) 23:35:10.14 ID:uF+9myNK
快適性のためにはガードは欲しいな
0049デフォルトの名無しさん2017/03/05(日) 23:58:25.01 ID:DhZRJ8mI
>>45
3は「参照透過性」の方がわかりやすい。
0050デフォルトの名無しさん2017/03/05(日) 23:59:00.45 ID:Fth8SIIt
>>44
scalaは関数型言語とオブジェクト指向言語のハイブリッドだと
言われてる(いた?)けどRustもそんな感じの言語?
状況に応じてどっちもできるみたいな。
0051デフォルトの名無しさん2017/03/06(月) 00:01:30.29 ID:TElIZB3P
関数プログラミングやりやすいのが関数型って認識だわ
従ってscalaは関数型じゃない
0052462017/03/06(月) 00:31:18.21 ID:tkAhRfWW
ガードわかったわ
ガード節って言われるとOOで普通に書いてるガード節を思い浮かべる
0053デフォルトの名無しさん2017/03/06(月) 00:58:30.96 ID:CmbzzojE
>>52
ワイにも気付きを授けてクレメンス
0054デフォルトの名無しさん2017/03/06(月) 01:09:26.57 ID:i7/wxVG9
関数型を免許制にしろってレスは確かにイラっとしたけど
まさかこんな基地外が産まれるとは
0055デフォルトの名無しさん2017/03/06(月) 01:23:32.91 ID:tkAhRfWW
ここを読んだ
http://stackoverflow.com/questions/4156727/what-is-the-difference-between-pattern-matching-and-guards
http://learnyouahaskell.com/syntax-in-functions
http://stackoverflow.com/questions/30589187/elixir-pattern-match-or-guard
https://github.com/clojure/core.match/wiki/Overview

ガードはif-elseの糖衣構文的なもの
パターンマッチングはデータを分解して変数に束縛するためのもの
どっちも似たような用途に使えるけどガードは任意の真偽式を扱える分強力
0056デフォルトの名無しさん2017/03/06(月) 03:24:34.42 ID:cEBf17op
関数の停止性の判別を考えると、
パターンマッチングが使えるところは、ガードを使わずにパターンマッチングした方が良い気がする。
引数のデータ構造が左辺から右辺へ消耗されているのと、終わりが決まっているのを見れば機械的に分かるんでないかい?
0057デフォルトの名無しさん2017/03/06(月) 03:34:08.64 ID:cEBf17op
パターンマッチング > ガード > if_then_elseの順で書けるなら書いてくのがいい気がするがどうだろう。
網羅性の判別についてif_then_elseだと分かり難い気がする。
0058デフォルトの名無しさん2017/03/06(月) 04:56:05.24 ID:yHzqr3h1
>>57
> 網羅性の判別についてif_then_elseだと分かり難い気がする。

elseがあれば形式上は必ず網羅してることになるって理解してない?
0059デフォルトの名無しさん2017/03/06(月) 06:47:41.91 ID:ykOEd1Bt
>>58
そういうことじゃないな。
見たこと無いなら一度ガード文をよく見てみ。すぐ気づくから。
0060デフォルトの名無しさん2017/03/06(月) 07:25:56.79 ID:VtmVq+jZ
関数型?ふーん、関数ポインタがあるのにね。
0061デフォルトの名無しさん2017/03/06(月) 07:36:54.23 ID:vYFC3IUg
ガードは関数じゃないしな。
0062デフォルトの名無しさん2017/03/06(月) 10:00:34.77 ID:KF1pGar0
パターンマッチとガードは便利よ
0063デフォルトの名無しさん2017/03/06(月) 14:37:48.67 ID:IelCg/4C
最近出た国産のKuinってどうなん
0064デフォルトの名無しさん2017/03/06(月) 14:38:32.73 ID:NJsYPQA5
>>45
ラムダ計算というようなことは最近は言わないのかな
0065デフォルトの名無しさん2017/03/06(月) 14:48:54.03 ID:yHzqr3h1
>>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に書き換えできないという点で自明でない工夫や進歩が成されたとポジティブに評価できる)
0066デフォルトの名無しさん2017/03/06(月) 14:53:23.93 ID:yHzqr3h1
>>65の訂正

誤> 私の知る限りでは、“guard”という言葉を使い始めたのはEdsger W. Dijkstraが
正> 私の知る限りでは、プログラミング言語論の分野で“guard”という言葉を使い始めたのはEdsger W. Dijkstraで
0067デフォルトの名無しさん2017/03/06(月) 15:01:50.48 ID:tkAhRfWW
>>65
>見やすくしているだけの代物に過ぎない

>>57の言ってるのはその見やすさの話だよ
ダイクストラより読解力
0068デフォルトの名無しさん2017/03/06(月) 15:12:02.80 ID:OUYDva0V
見やすさは大事よ
コード書いてない奴にはわからんかもしれないけど
0069デフォルトの名無しさん2017/03/06(月) 15:23:37.65 ID:vYFC3IUg
haskellは見やすさ重視しすぎて手続き型言語になっちゃってるしな。
0070デフォルトの名無しさん2017/03/06(月) 15:39:34.99 ID:WFOJxtdk
>>65
>>66
長々言ってる割に、誰が言っただのと、ガイジと大して変わらんね
重要な点は非決定性、半順序性だけ

ガードは条件に漏れは許されない
リスト内包表記にも使える
馬鹿にしてるインデント云々という点も一般に文であるIfとは違う

こういう他言語を貶めるために、構文糖でしかない、という奴はよくいるが
まさにその形式言語の話題だぞ?

難癖と気づかずに、専門家かのように振る舞うから質が悪い
それなら一生に一つの言語だけ使ってればいいと思うが、なぜこういうスレに出張って来るのか
0071デフォルトの名無しさん2017/03/06(月) 15:43:46.77 ID:vYFC3IUg
要するにガードと同じ機能のガードいう名前の関数を作れば同じことだよね。
0072デフォルトの名無しさん2017/03/06(月) 15:44:37.53 ID:WFOJxtdk
書いてる間にすでに突っ込まれてたっていう
恥ずかしい…
0073デフォルトの名無しさん2017/03/06(月) 16:36:57.18 ID:OYPA5xsG
if-then-elseよりもガードのほうがいいとか、
let-inよりもwhere句のほうがいいとか、
おまえらどれだけMLディスれば気がすむんだよw

おまえらが喜んで崇拝しているのは関数プログラミングじゃなくて
単なるハスケルの構文糖衣だw
0074デフォルトの名無しさん2017/03/06(月) 17:02:04.05 ID:OUYDva0V
Haskell の糖衣構文ホント好き
0075デフォルトの名無しさん2017/03/06(月) 17:28:02.69 ID:NJsYPQA5
>>65
>そんなものを“guard”なんて大袈裟な名前で呼ぶのは羊頭狗肉の類だ
少なくとも、Guard部を頭に持った句が並行計算される可能性を「見て」
ガードなんて、呼んでいるのではないのかな
そうだとすると、糖衣構文というのは外れている部分もあると思うが
0076デフォルトの名無しさん2017/03/06(月) 17:45:46.45 ID:g8E8d1VF
モジュールの定義も型クラスの定義もwhereだろ
それに比べてletは変数を重視しすぎてスクリプト言語みたいになってるな
0077デフォルトの名無しさん2017/03/06(月) 17:49:31.36 ID:OYPA5xsG
意味論では非決定的と定義されているが実際の処理系では上から順に評価される、ならまだしも、
Haskellでは意味論で上から順に評価されると定義されているんだから構文糖衣そのものだろ。
0078デフォルトの名無しさん2017/03/06(月) 17:58:04.73 ID:OUYDva0V
何で糖衣構文じゃいけないのかわからん
0079デフォルトの名無しさん2017/03/06(月) 17:59:35.20 ID:WFOJxtdk
>>77
あらゆる機能はアセンブリの構文糖です
0080デフォルトの名無しさん2017/03/06(月) 18:08:08.68 ID:WFOJxtdk
Haskellでもwhereよりletのが良いぞ
Monadだと必須だ
後ろのin嫌いだからML系はF#しか受け付けないけど
0081デフォルトの名無しさん2017/03/06(月) 18:14:31.69 ID:NJsYPQA5
>>77
そういうものなのですか
私は将来、この部分を実際にガードとして並行計算さらには並列計算される
であろうから、ガードと名付けられているのかと思っていました
勘違いなら、>>75は撤回ですね
0082デフォルトの名無しさん2017/03/07(火) 02:17:32.06 ID:bsRgFXRJ
結局、ガードって
if (arg == null) {
thrown new IllegalArgumentException();
}
のことなん?
0083デフォルトの名無しさん2017/03/07(火) 07:35:02.01 ID:cugNxFV2
うだうだいってないで実機で書いてみろよすぐ分かるから
0084デフォルトの名無しさん2017/03/07(火) 08:03:05.67 ID:s1edUXSN
Haskellのガードって関数の先頭にしか書いたことないのだが
それ以外の部分で書く記法があるの?
0085デフォルトの名無しさん2017/03/07(火) 08:15:24.99 ID:1C2Ly4AW
リスト内包式とかcase式とか
0086デフォルトの名無しさん2017/03/07(火) 12:58:56.72 ID:s1edUXSN
あれもガードというのですか
ありがとうございます
0087デフォルトの名無しさん2017/03/07(火) 13:48:16.69 ID:1C2Ly4AW
>>70
Haskellのガードの議論をしているのに、「一般に文であるif」とか言われてもねえ。
0088デフォルトの名無しさん2017/03/07(火) 14:51:57.97 ID:d/UktTsb
>>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年早い
「形式言語」などと知ったぶった言葉遣いをする前に、少しは理論を勉強したまえ、理論をね、障害児君
0089デフォルトの名無しさん2017/03/07(火) 15:16:58.62 ID:d/UktTsb
>>79
> あらゆる機能はアセンブリの構文糖です

それは間違い
アセンブリ言語の意味論を展開しようとすれば、その意味領域(プログラムの意味を捉えるための集合)は
有限ビット列の集合(やその上の写像の集合)とならざるを得ず、整数などは現れない

「固定小数点演算があるではないか」という反論が出るかも知れないが、そういう演算で処理した(その時点では固定小数点数と看做した)
メモリ領域にあるビット列はその後で単なるビット操作(特定ビットの反転など)の対象となり固定小数点数として扱われない可能性が常にあるから
即ち、アセンブリ言語における「固定小数点演算命令」は固定小数点の集合からそれへの写像でなく、あくまでもビット列の集合からビット列の集合への写像であり、
そのビット列を特定のフォーマットの固定小数点数と看做すと加減乗除算や符号反転などと理解できるような写像となっているというだけだ

つまりアセンブリ言語(とその意味領域としての全ての有限ビット列たちの集合やその上の写像たちの集合)は、様々なプログラミング言語とその意味論を
展開するための意味領域を、★埋め込む★ための埋め込み先として使えるのだよ

つまり、計算可能な対象ならばどんな高度な論理的な構造を持っていたとしても、しょせんはビット列での表現に帰着しようと思えばできるということであって、
アセンブリ言語の世界に高度な論理的構造そのものが存在している訳では★ない★のだ

それは12の音それ自体の組み合わせであらゆる名曲が表現できようと、12の音そのものが既にして名曲ではないようにね
(あるいは絵具で名画を描けるからと言って、絵具が既にして名画でもなければ、絵具メーカーが名画を描いたのでないように)

高水準プログラミング言語やその言語機能は、その意味を捉えるための意味領域がビット列の集合でなく整数の集合や文字の集合やその直積といった
様々な構造(それは言語が持つ論理的な内容の投影された姿)を持つ形で構成できるからこそ、「高水準」なんだよ
単にそれらの構造を幾らでも埋め込めるよりフラットなアセンブリの世界は逆に言えば論理を反映した構造が欠落しているという意味で「低水準」なのだ
0090デフォルトの名無しさん2017/03/07(火) 15:26:29.93 ID:d/UktTsb
>>89に大事な結論を書き忘れていたので補足

「構文糖衣(syntax/syntactic sugar)」と呼ぶのが適切な範囲は、意味領域や検証条件など意味の世界に影響せず
文字通り、構文=字面だけの操作で片付けられるもの
つまりparser/unparserだけ作ればsugarを除いた基本形だけからなるプログラムコードに帰着できるようなもの

高水準言語のコードをアセンブリ言語のコードの世界へ埋め込むためのプログラム、つまり高水準言語のcompilerは
型の定義や変数宣言と変数の型などの宣言情報を記録・チェックしてその型に応じた様々な処理が必要になる等、
parserの構文チェックだけでは済まない、つまり、それは高水準言語はアセンブリ言語の構文糖衣ではないということを表している
0091デフォルトの名無しさん2017/03/07(火) 15:36:20.49 ID:onovVgfa
短くまとめられない病
すげえ汚いコード書いてそう
0092デフォルトの名無しさん2017/03/07(火) 15:41:53.46 ID:d/UktTsb
>>91
70のように無知な人間相手に説明するには長くならざるを得ない、また君みたいに理解力・思考力が不足している人間相手の場合もね
彼や君みたいな不勉強な人間の学習不足とそれによる知識不足(それに論理的な思考力の不足も)を補って説明してやる必要があるからね
上の2行の内容を推理できず、なぜ長くなっているかが理解できない反応を君がしていのは、君自身が思考力(推理力)・理解力が不足している何よりの証拠だ
0093デフォルトの名無しさん2017/03/07(火) 16:04:00.90 ID:OR7b+iU3
そんなことよりなんでそんなに必死なのか知りたい
0094デフォルトの名無しさん2017/03/07(火) 16:21:51.51 ID:1C2Ly4AW
きっちりした説明をした人に「必死」という言葉を使う人って本当に愚かだよね。
0095デフォルトの名無しさん2017/03/07(火) 16:25:00.05 ID:OR7b+iU3
説明というかポエムな
0096デフォルトの名無しさん2017/03/07(火) 16:34:05.43 ID:d/UktTsb
>>93
構文糖衣に関して間違った理解を読むのは不快なんだよ
構文糖衣それ自体は悪くはない(ないよりもあった方が良い)というのは同意するが
>>70に見られるようにそれが本質的に重要だという勘違いや、>>79に見られるように意味を変えるのも構文糖衣と呼ぶ間違いとかはね

構文糖衣なんて見せ掛けだけの代物は、このスレの主題である次世代言語がどうあるべきかという問題の議論では何ら重要でないということだよ
その程度の言語の構文の見掛けの改良でプログラムの信頼性(バグの発生率)を1%でも改善できるならばとっくに殆どのバグが無くなっている
ところが現実にはバグ発生率はむしろ増えている
それはプログラミングの大衆化と共に不勉強なプログラマが多くなったからだ

次世代言語はバグを減らしプログラムの信頼性を回復する目的で言語設計されるべきだと個人的には思っている
そしてバグを減らすにはその言語とそれで書かれるプログラムを支配している論理や意味をより良いものへと改良する必要がある

またコードが短ければ良いという今の風潮も信頼性の観点からは間違いだから個人的に嫌い
短いコードはしばしばトリッキーでバグの潜在的な巣になりやすい
(書かれた時点では正しくとも後の機能追加とかでバグが入り込む原因になりやすい)
長くても論理的に筋が追いやすいコードが後のメンテナンスでトラブルを起こしにくくプロの書くコードとしては正しいというのが私の考え

趣味のプログラミングと人々に使ってもらえる(その対価として報酬をもらえる)プロのプログラミングとは別ということだ
趣味を仕事にする、仕事を趣味にする、という考え方には反対、なぜならばプロとして甘えが入り込む隙が生ずるから
0097デフォルトの名無しさん2017/03/07(火) 16:38:17.94 ID:OR7b+iU3
学校で嫌な事でもあったのか?
0098デフォルトの名無しさん2017/03/07(火) 16:46:07.18 ID:buHXdcTx
>>96
>長くても論理的に筋が追いやすいコード

わかりやすい構造があればね
君の文章にそれはないよ
0099デフォルトの名無しさん2017/03/07(火) 17:03:21.49 ID:1C2Ly4AW
>>97
君って本当に馬鹿だね。
0100デフォルトの名無しさん2017/03/07(火) 17:08:41.42 ID:1C2Ly4AW
>>96
> ところが現実にはバグ発生率はむしろ増えている
> それはプログラミングの大衆化と共に不勉強なプログラマが多くなったからだ

おそらくそれが次世代言語の鍵だ。
不勉強なプログラマを相手にしたら、意味論だけではバグを抑えられない。
構文にいともたやすく左右されるプログラマが作るバグを減らすには、
構文による対処も重要だ。
0101デフォルトの名無しさん2017/03/07(火) 17:13:04.28 ID:Ac9fXCP4
>>88
>誰が言っただのと、ガイジと大して変わらんね
これは「誰かの言葉を引用するなんて障害児みたいだ」ではなく
「誰かの言葉を引用する所がエンジニアガイジみたいだ」だろう。
本人が「あ」と名乗ったのにガイジと呼び続ける>>70もどうかとは思う。
0102デフォルトの名無しさん2017/03/07(火) 17:38:29.56 ID:cugNxFV2
>>101
文章にナチュラルに「あ」を入れても分からなくね?
分かりにくい名前は定着しないってはっきりわかんだね
0103デフォルトの名無しさん2017/03/07(火) 17:39:30.03 ID:cugNxFV2
つーかまーた目が滑る長文カス沸いてるのな
これもう荒らしだろ
0104デフォルトの名無しさん2017/03/07(火) 17:58:14.78 ID:04iMZGzn
>>100
上の長文の人はともかく、たかだか数行でも長い長い
言う輩が最近多いからなぁ・・・
そんな奴らがまともに仕様を読み取れるとは思えないし
プログラミング言語以前な話な気はする
0105デフォルトの名無しさん2017/03/07(火) 18:01:47.91 ID:sN5zB8qN
仕様が無駄に長大な言語ってなんですか?
0106デフォルトの名無しさん2017/03/07(火) 18:03:43.65 ID:Ac9fXCP4
>>100
分かりやすい構文は人間が読みやすいという点で重要だけど、
コーディングで作ったバグはコンパイルとテストで検出できるはずだ。
不勉強なプログラマでもテスト結果がおかしければ気がつく。

バグが増えたのはソフトウェアが複雑になってテスト漏れが増えたからだろう。
だからテスト漏れしにくいプログラミング言語が根本的な解決策だと思う。
たとえば強い型があり参照透過なプログラミング言語ならバグは減る。
0107デフォルトの名無しさん2017/03/07(火) 18:07:19.53 ID:sN5zB8qN
めんどくさいから、C/C++ を強い型付けにすればよい、暗黙の型変換をいっさいなくせばいい、のかな?
0108デフォルトの名無しさん2017/03/07(火) 18:08:34.57 ID:WHQdRSrt
>間違った理解を読むのは不快なんだよ

自分が間違えたら不快だが他人が間違えるのは自由だよ
本当の問題は、間違いが多いというより自由が足りないことじゃないかね
0109デフォルトの名無しさん2017/03/07(火) 18:53:25.60 ID:TjKLocSV
驚くほど目が滑る
0110デフォルトの名無しさん2017/03/07(火) 19:02:53.48 ID:OR7b+iU3
そもそもテキスト入力が間違いを生むと思うな、10個の位の選択肢の中から
選択してプログラムを作る方式のプログラム言語出来ないかな。
0111デフォルトの名無しさん2017/03/07(火) 19:03:23.95 ID:YuKXNQNE
適切な粒度で関数切り出しすればどんな言語でもそれなりのコードにはなるんだが。。
そんな当たり前のこともできないやつに限って、くだらん言語機能に凝りだす。
0112デフォルトの名無しさん2017/03/07(火) 19:08:42.86 ID:TjKLocSV
言語機能は矯正ギプスであり、作者のプログラム哲学が感じられる本でもあるからな
0113デフォルトの名無しさん2017/03/07(火) 19:22:27.71 ID:Skok7ILu
pythonみたいな言語はgoogleが一杯ライブラリ作ってくれてマジうらやましい、マジ次世代
0114デフォルトの名無しさん2017/03/07(火) 19:27:24.56 ID:TjKLocSV
まあPythonは今一番熱い言語と言ってしまっていいよね
0115デフォルトの名無しさん2017/03/07(火) 19:28:14.33 ID:OR7b+iU3
そのうち簡単な小さい関数ならコンピューターが自動でつくってるくれるようになるからな。
これから人が人であるためには巨大で複雑で参照透過性のないプログラムを書くしかないな。
0116デフォルトの名無しさん2017/03/07(火) 19:31:50.92 ID:s1edUXSN
>>113
次世代言語ということになると、日本語プログラミング言語も候補に
あげるべきだと思う。
0117デフォルトの名無しさん2017/03/07(火) 19:32:44.28 ID:7e8mS6v1
>>96
一言だけ
糖衣構文は見せかけではなく、バグの余地を減らすものの一つだよ
キミらすぐにプロを名乗るけど、本当にプロなのか?
0118デフォルトの名無しさん2017/03/07(火) 19:38:24.79 ID:OR7b+iU3
>>116
日本語のソースコードをを英語のソースコードにコンパイルするソフトがあればいいだろ。
01192017/03/07(火) 19:45:15.79 ID:9QvrX/Qz
俺が野次るのもあれだが、ヒステリーみたいな文章だな。
言葉が足りないと責められるのから徹底的に逃げた感じ。
「過ぎたるは猶及ばざるが如し」そのもの。過猶不及と書くのが俺なら対極。

意味論で言うと、写像ではないの?全射であり単射で無いだけの。
整数なんて捉えるから変な話になっていくのであって、そりゃオペコード次第じゃん。

>>102
何でもいいから名乗れといった割に贅沢な話だ。
0120デフォルトの名無しさん2017/03/07(火) 19:50:48.65 ID:OR7b+iU3
俺の考えたユニットテスト言語なら絶対バグは起きないな。
ユニットテスト言語はユニットテストのテストだけを
使ってプログラムを作るから、テストされてない部分は一つも無い
間違いのないプログラムが作れる。
01212017/03/07(火) 19:51:53.37 ID:9QvrX/Qz
まあ、肯定されたくて仕方ないんだと思うよ、ガイジ連呼は。
ガイジと言っておけば大体の事を大半の人間にとって戯言として処理させられるんだから。
大半の人間には自分も含まれるけど。
類するジャンルとして天才とか、あの人は別だからってのもある。

σを絞る事で、自分を平均より少し上に持っていくよくあるやつ。

ちょいちょい居るから別に違和感も無かった。
0122デフォルトの名無しさん2017/03/07(火) 19:55:21.48 ID:74O8Sr0D
調べたがガイジってそういう意味だったのか。
そういう読み方の人もいるからいい迷惑だな。音の響きだけだとかっこいいから普通に付けそうだし。
01232017/03/07(火) 19:57:52.84 ID:9QvrX/Qz
>>122
おおよそ20年くらい前には既に近畿一円には広がってたぞ。
0124デフォルトの名無しさん2017/03/07(火) 19:59:50.64 ID:OR7b+iU3
ガイジと言われて悪口だと思うのは障害児を差別してるからだよな。
ガイジが差別主義者としってむしろがっかりした。
ガイジと言われることに誇りを持てる差別のない世の中にしていかないと駄目だね。
0125デフォルトの名無しさん2017/03/07(火) 20:00:59.93 ID:74O8Sr0D
>>123
近畿か。愛知では聞かなかったな。
そして、書いてから気づいたが上の発言は適切でないので、撤回する。不用意だった、
0126デフォルトの名無しさん2017/03/07(火) 20:02:32.36 ID:7e8mS6v1
>>96
すまないがもうちょい突っ込んどく
まず長文についてはもう流石に自覚してるよな?

記号の羅列を想像しているか知らないが、短いければトリッキーになると言うレッテルは、プログラミングを完全に履き違えてるな
コードは適切に抽象化し、 短く読みやすい方が良い
そんなものは経験者のがわかってる事だろうに

それと強弁しようが高水準言語だろうと、意味論も結局実装に書き下されてるだけの存在で
所詮は抽象で改善してるに過ぎないし、レイヤーが異なるだけで構文糖と同じもの
不勉強と言うのは勝手だが、そりゃただ話をずらして目を背けてるだけだ

それとバグが増えていると言うが、一体どういう基準のどこのデータの話だ?
0127デフォルトの名無しさん2017/03/07(火) 20:04:07.53 ID:bsRgFXRJ
よかった
ワイがバカだから読む気にならないんじゃなくて
読む気になれない文だからワイが読む気にならないんだね
0128デフォルトの名無しさん2017/03/07(火) 20:05:34.14 ID:OR7b+iU3
こういう文の中に秘密のパスワードとか隠しておけば絶対見つからないな。
0129デフォルトの名無しさん2017/03/07(火) 20:08:24.06 ID:Ac9fXCP4
>>113-114
https://www.indeed.com/jobtrends/Python,Ruby,Perl,Scala.html
Pythonはデータサイエンスの標準言語になって求人が急増中だね。
だけどScalaも今の求人増加率が続けば3年以内にPerlとRubyを追い抜く。
大規模ソフトウェアのための次世代言語の本命はScalaだろう。
0130デフォルトの名無しさん2017/03/07(火) 20:11:03.55 ID:cugNxFV2
ここの自称プロ連中って何故か平然と昼間から2chしてるよな
0131デフォルトの名無しさん2017/03/07(火) 20:14:39.12 ID:YuKXNQNE
プロつってもそんなもんよ。
社会に出ればピンキリだってことがよくわかる。
01322017/03/07(火) 20:16:15.01 ID:9QvrX/Qz
>>125
多分なんJみたいな感じで関西弁っぽい感じの言葉が流行ったタイミングで全国区な言葉になったのでは?芸人もテレビでは言わないし。
不適切でもないんじゃないの?そういう姿とそういう言葉があって、傷ついたり、傷つけているかもしれないと思うからガイジと言う言葉がヤジとして成立するんだから。
要は、ヤジとして成立させるために引っ込める必要も無い。

言う奴も、要は言われて傷ついた奴に過ぎんよ。
ただ言う奴はそういうつもりで言っている、という認識があるだけで、そうなりたくはないという認識を自分がそうではないという意思表明にせんでも良いと思う。
0133デフォルトの名無しさん2017/03/07(火) 20:18:19.05 ID:Ac9fXCP4
>>130
客先常駐だと無理だけど、持ち帰り案件なら自由にネットを使えるよ。
01342017/03/07(火) 20:18:47.41 ID:9QvrX/Qz
>>130
年度末だからな。
今動いてるのは予算消化が中途半端な所か、法改正対応か、計画の無い仕事を取らないといけない会社くらいじゃないの?
0135デフォルトの名無しさん2017/03/07(火) 20:32:50.23 ID:1C2Ly4AW
>>106
バグがどこかにあることがわかったとしても、
具体的にどこがバグなのか、どうして誤った動作をするのか、
それが理解できないのが、次世代言語が相手にしなきゃならないプログラマだ。
このスレにも沢山いる、意味論なんて全く理解していない奴に、
意味論に基いたエラーメッセージからバグを特定できるか?
誤魔化しでもなんでもいい。構文による負荷軽減は必要だよ。
0136デフォルトの名無しさん2017/03/07(火) 20:33:13.39 ID:WHQdRSrt
昼間から手動で集めた知識を手動で入力すると、コンピュータが自動で実行してくれる
0137デフォルトの名無しさん2017/03/07(火) 20:34:49.92 ID:1C2Ly4AW
>>126
じゃあお前はWhitespace系の言語でOSでも書いてろ。
0138デフォルトの名無しさん2017/03/07(火) 20:37:49.91 ID:cugNxFV2
はえー。春に湧くのは学生だけじゃないんだなあ
>>137
安価する相手間違ってなーい?
0139デフォルトの名無しさん2017/03/07(火) 20:38:40.11 ID:7e8mS6v1
>>134
むしろ今普通に忙しいぞ
Webも新規案件多いし
0140デフォルトの名無しさん2017/03/07(火) 20:39:40.75 ID:7e8mS6v1
>>137
どういう意味だ?
0141デフォルトの名無しさん2017/03/07(火) 20:40:22.31 ID:cugNxFV2
>>139
そいつ組み込みらしいで
0142デフォルトの名無しさん2017/03/07(火) 21:07:30.18 ID:HLoo0rfy
>>90
勉強になる。こういう話も楽しいな。
0143デフォルトの名無しさん2017/03/07(火) 23:10:29.98 ID:5c7MTUF9
>>129
トレンディーでナウいヤングメンは Python に夢中ってことですね
とてもわかりやすいです
0144デフォルトの名無しさん2017/03/07(火) 23:25:14.34 ID:d/UktTsb
>>117
> >>96
> 一言だけ
> 糖衣構文は見せかけではなく、バグの余地を減らすものの一つだよ

そんなことでバグが減るならば良いエディタを使うんだね
プログラミング言語に専用のモードやチェック機能を作り込めるような
構文糖衣でやれることはその程度のことだ
良いエディタは重要だがバグのほとんどはそれでは救えない範囲に住んでいるんだよ

> キミらすぐにプロを名乗るけど、本当にプロなのか?

構文糖衣でバグがsignificantlyに減らせると思ってるプロのソフトウェア技術者がいるとは信じられないね
自称プロならばいくらでもいるだろうが
0145デフォルトの名無しさん2017/03/07(火) 23:30:34.14 ID:TRrf8/Mo
pythonistaがpythonの仕事を増やそうと躍起になっているがそんなに増えないんだよなあ

君がpythonでできることは僕もpythonでできるからね
0146デフォルトの名無しさん2017/03/08(水) 00:04:55.28 ID:dAIzB0VC
>>126
> 記号の羅列を想像しているか知らないが、短いければトリッキーになると言うレッテルは、プログラミングを完全に履き違えてるな
> コードは適切に抽象化し、 短く読みやすい方が良い

抽象化とコードの長さとは論理的に別だ
ついでに言えば関数プログラミングで共通構造をどんどん高階関数として切り出し抽象化するとコードは極めて短くなり得る
しかしそういう手段で出来上がるプログラムは当人を除いてほとんどの人間には読み難く、後で機能追加などのために
元のコードにも変更を加えねばなくなると大変いじり難い代物となる

> そんなものは経験者のがわかってる事だろうに

その言葉は君に返しておこう

> それと強弁しようが高水準言語だろうと、意味論も結局実装に書き下されてるだけの存在で
> 所詮は抽象で改善してるに過ぎないし、レイヤーが異なるだけで構文糖と同じもの
> 不勉強と言うのは勝手だが、そりゃただ話をずらして目を背けてるだけだ

「意味論も実装に書き下されてるだけの存在」と思ってるのなら単に意味論について不勉強だと言ってるだけだね
「所詮は抽象化で改善している」とは何を改善してるのかな?
プログラミング言語について意味をどう選ぶかこそがその言語が提供する抽象化のレベルの限界を規定していると理解できないか?
つまり、ビット列の集まりという構造のない抽象性ゼロとも言える泥沼のような世界に対してどこまで抽象的な値(数とか直積とかね)を
抽象的な形のまま(実装を考えずに)扱えるようにできるのか、ということの限界をだ

本来、プログラミング言語の実装をその言語を使っているプログラマが意識せねばならないとしたら次のどれかであって、B以外は誰かが間違っている
@ その言語の言語設計が間違っているか、または
A その言語の使い方が間違っているか、または
B ハードウェアの限界まで使うプログラムを書こうとしている (そんなのはスパコンか組み込み系でも最小メモリのかをやってる人間以外は極めて稀)
   (オブジェクト指向でメモリを湯水のように使いながら「俺はメモリの限界ギリギリのプログラムを書いてるんだぞ」なんて自慢しないでくれよ、頼むから)
01472017/03/08(水) 00:14:34.83 ID:F8XXETq2
>>139
そうなんだ。世間は年度とかに縛られてないもんなんだな。

>>141
俺は組み込みじゃないよ。
工業は工業だけど。

>>144
スルー決め込んでるけど、バグの起こりにくい無い専用の良いエディタの極論は統計ならSPSS、計測器ならLabVIEW、シーケンス制御なら各社のPLCのラダーエディタみたいなもので、
実際には糖衣文と糖衣図と言うか、コードを記号まで落とし込んじゃった物だよ。
その程度の事、ではないよな。
どれも使った事無いならわかんないかもしれないけど。

殆どのバグは、それに向いてない言語で無理に書く所が発端。
良いエディタと正しい鎖はバグを産みづらいよ。
01482017/03/08(水) 00:16:55.57 ID:F8XXETq2
>>146
丸囲みは使うなよ。
「(3)以外は誰かが間違ってる」って、なんで列挙してるものに「間違ってる」って書いてるのに対してわざわざ話すの?
蛇足の極みかww
01492017/03/08(水) 00:17:44.10 ID:F8XXETq2
>>147
バグの起こりにくい無い→バグの起こりにくい、だな。
誤記ごめん。
0150デフォルトの名無しさん2017/03/08(水) 01:13:41.47 ID:sPopLWFS
メモリ足りなくなるの稀ってマジ?
0151デフォルトの名無しさん2017/03/08(水) 07:09:24.17 ID:vbyaKny6
バグにもいろんな意味があって、それを各人が共有できてないように見える。
議論の中心にいる長文氏がそこをクリアにしてくれ。
0152デフォルトの名無しさん2017/03/08(水) 08:41:23.89 ID:f0ZRB9R+
バグの原因のほとんどは認識していない前提条件の差だと思うけどね。
0153デフォルトの名無しさん2017/03/08(水) 09:36:33.28 ID:8YPePj4Q
認識していない前提条件の差にもいろんな意味があって、それを各人が共有できてないように見える。
議論の中心にいる長文氏がそこをクリアにしてくれ。
0154デフォルトの名無しさん2017/03/08(水) 10:27:58.42 ID:WMt88/kI
バグには具体的な事情があって
抽象的な人の目にはそれを認識できてない
0155デフォルトの名無しさん2017/03/08(水) 10:30:55.37 ID:pMznqIBv
>>144
実際問題、テキストエディタよりも統合環境が優れているのはまさに「そんなことでバグが減る」点だよ。
意味論による静的解析で減らせるバグもあるが、構文論のレベルで減らせるバグは十分にsignificantだ。
0156デフォルトの名無しさん2017/03/08(水) 10:48:42.38 ID:icCtDpEn
PHPだとコーディングレベルでバグ仕込んでくるからきらい
0157デフォルトの名無しさん2017/03/08(水) 10:49:28.98 ID:icCtDpEn
>>155
ほんとそれな
0158デフォルトの名無しさん2017/03/08(水) 11:53:16.74 ID:8YPePj4Q
>>155
間違いないね。
俺はvimとemacsというテキストエディターでやってるからわかるけど
絶対一発でコンパイル通ることなんて今まで一度もない。
10回くらい直してやっと通るレベル。
01592017/03/08(水) 12:03:08.39 ID:F8XXETq2
>>155
そーそー。
ドメインに特化するなら、どうとでもグラフィカルにした上で、裏でゴリゴリのチューンしたり複数の計算機に分散させたりできたり。

そういう意味では3DCG屋さんのアセットパイプラインとやらは凄いわ。
動画作ってもらうとき、何故か呼ばれて、よくよく話すとこのシーンでのテンソル場が欲しいって話で、
「初期状態からの経過時間ごとに変わるんだけど、観測点の密度によってはデータ量ヤバいと思うし、欲しいデータ形式言ってくれたら経過時間を引数にもらったら帰すプログラム作るよ」って言って作ったら、
きれいにパイプラインに乗ったらしくていたく感謝された。
0160デフォルトの名無しさん2017/03/08(水) 12:18:59.05 ID:Smd3EfGE
>>146
話が発散してるが構文糖の話の文脈な
あと推敲してくれな時間あんまないから端的に返す

文字数や記号化の話でなく、構文などの単位で短くと言い、適切な抽象化が必要と言ったe.g.構造化

改善の話は効率と思ってるが、反論しても多様過ぎて平行線だろ
選択云々も関係ないからスルー

でその表示意味論全般を含むかの言い方では、構文糖は直接でないだけで意味あるので肯定になる
でも意味ないと言った
操作的には前レスの話で終わり
それですらないなら、何の文脈の「意味論」を援用してるかわからん

まあとにかく俺は正直これ以上お前と絡むの嫌だわ
0161デフォルトの名無しさん2017/03/08(水) 13:50:31.90 ID:sH4DJtGd
.>>118
これって英語のライブラリを使いたくないということでしょ
0162デフォルトの名無しさん2017/03/08(水) 14:06:12.69 ID:icCtDpEn
>>161
そら(読めないんだから)そう(英語はクソ)よ
0163デフォルトの名無しさん2017/03/08(水) 17:17:33.07 ID:p/HdyyRL
>>116>>113 のレスになっているのだから、話はむしろ、英語のライブラリは
日本語に変換して、日本語でプログラミングしたいという方向だろう
0164デフォルトの名無しさん2017/03/08(水) 18:14:25.73 ID:ISgA6Zgl
>>159
あ氏、そこまで書くと周りに特定されないかい?ww

意味論、構文論でのエラーチェックって、
例えば型が違ってますってのは構文論、
関数について引数のどれかに未定義部分がありますてのも構文論という認識でおけ?
0165デフォルトの名無しさん2017/03/08(水) 18:18:35.88 ID:pMznqIBv
「あ」じゃないが、型も引数の数もほとんどの言語では意味論。
0166デフォルトの名無しさん2017/03/08(水) 19:31:19.53 ID:ISgA6Zgl
ありがとう。あ氏だけに向けて書いたわけではないよ。前提とする言語に依るわけね。
0167デフォルトの名無しさん2017/03/08(水) 19:40:39.74 ID:ca5pzCiA
構文糖は神
C++にUFCS導入されるのが待ち遠しい
0168デフォルトの名無しさん2017/03/08(水) 20:09:17.86 ID:8YPePj4Q
2つの似た意味のことをを一つの同じ構文で書けるというのは
独立的な2つの意味を統合して意味が一つになるという意味もあるよな。
0169デフォルトの名無しさん2017/03/08(水) 20:39:54.25 ID:p/HdyyRL
% Prolog

'AはBの要素である'(A,B) :- member(A,B).

'Bからひとつ取り出したのがAである'(A,B) :- member(A,B).

'AはBの要素であれば、則ち、Bからひとつ取り出した要素がAである'(A,B) :- member(A,B).
01702017/03/08(水) 22:07:28.33 ID:F8XXETq2
>>164
同業他社も同じ事してるの見た事あるし、あるあるだと思うよ。

型が違ってます、と言う文句には、割と深い闇が眠ってると思う。
キャストできたり、ポインタを取り出せたりする時点で実は最初から型なんか無かったのかもしれない。
共用体や、類するものがある言語ならいよいよヤバい。
概念が無いと苦労する場合があるのも確かだけど。

>>168
全射と単射で検索するとよりわかりやすい図が出てくると思う。
0171デフォルトの名無しさん2017/03/08(水) 23:02:47.06 ID:oksZ54sT
>>148
>丸囲みは使うなよ。

20年ぶりくらいに聞いたw
ISO2022-JPじゃねーんだから。
01722017/03/08(水) 23:27:39.83 ID:F8XXETq2
>>171
懐かしいだろ。
でも、害しか無いからな。検索にもひっかからん、20までしか無い、汚いフォントが多いなどなど。
結合文字で書いてるならいざしらず、だよ。
0173デフォルトの名無しさん2017/03/08(水) 23:54:40.15 ID:FRdQUG/z
Closureすこ��
0174デフォルトの名無しさん2017/03/09(木) 07:34:03.92 ID:eRv4aOzH
>170
型はキャップやラベルみたいなものだと思ってる。
型関数で明示的に操作することで、やって良いことといけないことをその都度与えておくというか。

>>168
商集合の感覚が大事だと思ってる。/~が何である前提での同じなのか。
01752017/03/09(木) 08:13:25.90 ID:S16Ef4Wi
>>174
そうだよね。印でしかない。
これはこう使ってます、と処理系に教える記号でしか無くて、それこそオペコードとオペランドや、ILのスタックトップと命令から逆に決まるものかもしれない。
そういう意味では、処理系がまず決めた一つの型に別名の縛りが加えられるってのは汎用言語でもDSLでも凄く効果的な、次世代言語にあってほしい機能だと思う。
一見自由に見える不自由は絶対に必要。
0176デフォルトの名無しさん2017/03/09(木) 08:32:31.26 ID:F0HEqrn+
なんか長々と長文で当たり前のこと書いてんな
0177デフォルトの名無しさん2017/03/09(木) 08:43:16.46 ID:F9CUJ5lt
10以上の整数の型とか静的な整数に依存する
型なら静的アサートを使えばできる。
0178デフォルトの名無しさん2017/03/09(木) 08:54:14.24 ID:F9CUJ5lt
コンパイルの必要のない言語は型チェックをコンパイルとは別に
型チェックだけやればいい。
このときわかる範囲で型を推論して間違ってれば実行前にわかる
0179デフォルトの名無しさん2017/03/09(木) 10:23:18.09 ID:BFR+GBdm
型を意識しなければならない言語は旧世代の遺物
0180デフォルトの名無しさん2017/03/09(木) 10:39:16.32 ID:F9CUJ5lt
型チェックの進化形がユニットテスト。
01812017/03/09(木) 10:59:03.07 ID:S16Ef4Wi
>>176
ごめん、冗長だったか。
糖衣文ではないとくだくだ言うのと同じ事してすまん。

>>177
問題は、Objectとかそういう、根となるオブジェクトのキャストじゃないかな。その言語内、そのシステム内で完結するならAdaあたりが既にやってたら話。
0182デフォルトの名無しさん2017/03/09(木) 12:00:23.47 ID:F9CUJ5lt
変数を定義する関数を作って、定義するときはいつもそれをつかって値が正しければ
代入できるようすにすれば型のようなものは作れる。
この関数が静的に評価できれば静的型付けになる。
01832017/03/09(木) 12:12:15.48 ID:S16Ef4Wi
>>182
例えば、スーパークラスや大きな集合の変数を定義して、サブクラスや部分集合のインスタンスを代入する事は可能だけど、
それらを取り出すときに、スーパークラス、大きな集合ではなく、サブクラス、部分集合として扱うのは難しいんでは?
0184デフォルトの名無しさん2017/03/09(木) 12:23:16.65 ID:fMNEO3H7
そもそもサブクラスというのは、ある型の変数に違う型の値を代入できる機能だからね
0185デフォルトの名無しさん2017/03/09(木) 12:33:19.91 ID:6hqIxzkr
型についてはHaskell,Go,Juliaあたりが秀逸
0186デフォルトの名無しさん2017/03/09(木) 18:54:49.57 ID:doSZ2c0j
>>185
interface {}でなんでもオーケー、ジェネリック無いGoが秀逸?
0187デフォルトの名無しさん2017/03/09(木) 19:57:21.71 ID:fMNEO3H7
Pythonを叩くと戦争になりかねないが
Goは静的型の仲間だからいじめても反撃してこないという
これがPythonのメリットとGoのデメリット
0188デフォルトの名無しさん2017/03/09(木) 20:16:16.11 ID:HQPo78pm
みんなたくさん言語経験してるんだな。
0189デフォルトの名無しさん2017/03/09(木) 20:16:48.14 ID:BKoRqRQs
>>184
それはサブクラスではなくサブタイプだ。
01902017/03/10(金) 01:48:14.84 ID:YvYLhW/g
>>186
Goでinterface{}使うのはもう最終手段な気がする。
0191デフォルトの名無しさん2017/03/10(金) 07:28:49.26 ID:hAWWnXrs
大工ストラはどっか行っちゃったの?少し上の辺りは具体的で建設的な話題になってるから、何かコメントしても良いだろうに。
0192デフォルトの名無しさん2017/03/10(金) 07:53:34.94 ID:1pxhheef
プログラム言語に関して抽象的にグダグダ言うのは無意味の極みだからな
0193デフォルトの名無しさん2017/03/11(土) 16:30:18.02 ID:yCUlIQxq
無意味の極みなら自分の無能さを晒さないで済むという利点はある。
なのでよく行われる。
0194デフォルトの名無しさん2017/03/11(土) 17:20:30.04 ID:WF0uzZUg
露悪趣味とかいう悪を晒すことは平気なのになぜ無を晒すのがこわいのか
0195デフォルトの名無しさん2017/03/11(土) 17:36:18.32 ID:UsQ6q5bp
具体的なコード晒すのは一番の危険行為だわな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
0196デフォルトの名無しさん2017/03/11(土) 17:57:50.59 ID:UsQ6q5bp
ミスった。
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
0197デフォルトの名無しさん2017/03/11(土) 19:23:29.11 ID:am67U6Y0
>>195,196 reflってのはreflexivityの略で、左辺と右辺が等しいので命題は成り立つという意味だよ
agdaはよく知らないので全部解説はできないけど、reflよりrewriteが何か調べると分かるんじゃないかな
0198デフォルトの名無しさん2017/03/11(土) 20:22:58.43 ID:OUHk1Upk
ありがとう。でもごめん、書き方が悪かった。
reflの字義でなく関数定義と同じ感覚で書いてるのがなんだこりゃってこと。
上の型の部分が仕様で、下の = reflは実装とか書かれたりしてるのの感覚がいまいち分からない。
rewrite、調べてみるわ。左辺を右辺で置き換えているだけの所もあるがそうでないところもあるようだ。
0199デフォルトの名無しさん2017/03/11(土) 23:44:07.08 ID:jzJlFNOo
>>195
> 某言語なのだが、リストに対してfをmapしたあとにさらにgをmapしたものと、

196のコードを見ると上の文中の f と g とは逆
コードでは g が f より先にリスト l の各要素に作用している
0200デフォルトの名無しさん2017/03/12(日) 00:59:10.61 ID:/gRPWqC6
等式を証明する前に等しいとは何かを決めないと意味がわからない
両辺の型が等しいだけでいいなら他の言語でも簡単に証明できるが
0201デフォルトの名無しさん2017/03/12(日) 07:09:18.06 ID:E7xVInlQ
∀{l}{A B C : Set l} -> (f : B -> C) -> (g : A -> B) -> (ls : List A) -> map (f g) ls ≡ map f (map g ls)
が型で、この型にあった関数を見つけることが証明になることがカリーハワード対応なんだよ
0202デフォルトの名無しさん2017/03/12(日) 09:24:03.72 ID:5INw13PV
agdaじゃなくてcoqになっちゃうけど http://proofcafe.org/sf/ を手を動かしながらやると実感できるよ
↑は日本語だからとっつきやすいし、大体がagdaに適用できるはず。Prop_Jまで読んで触れば分かるはず
0203デフォルトの名無しさん2017/03/12(日) 09:35:36.35 ID:/gRPWqC6
>>201
見つけるだけでは証明にならない
例えばunsafePerformIOを見つけても何の証明にもならない
0204デフォルトの名無しさん2017/03/12(日) 10:36:50.53 ID:E7xVInlQ
unsafePerformIOの型の関数が存在するという証明になってる
0205デフォルトの名無しさん2017/03/12(日) 11:42:36.62 ID:TErsZ5va
それが証明したいことなのかね?
0206デフォルトの名無しさん2017/03/12(日) 11:54:13.45 ID:E7xVInlQ
上の例の型でいうと
∀{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)への関数はその命題の証明に対応する。
0207デフォルトの名無しさん2017/03/12(日) 12:10:37.30 ID:/gRPWqC6
>>204
型が存在するだけでなく「証明した」クラスのインスタンスにならないと
0208デフォルトの名無しさん2017/03/12(日) 13:07:55.61 ID:5INw13PV
クラスとインスタンスって何を指してるのかさっぱり
dataとvalueなら公理なので証明する必要が無いし、signatureとfunctionなら「証明した」クラスって何ってなる
「証明できなかった」クラスって何よ
0209デフォルトの名無しさん2017/03/12(日) 13:28:54.02 ID:/gRPWqC6
依存型はいいのにクラスやインスタンスはダメな根拠を説明してくれ
カリーハワード対応は、どのような命題と、どのような型システムに限定されるべきか
0210デフォルトの名無しさん2017/03/12(日) 13:57:09.80 ID:5INw13PV
良い悪いじゃなくてどういう意味なのって聞いてる
クラスとかインスタンスという言葉をどういう意図で使っているのか不明瞭
クラス=型でインスタンス=その値っていう意味で使ってるなら、型システムについて語るには迂闊過ぎる
明確に型とクラスが違う言語だってあるんで混乱させるような言葉を使わないでくれ。使うとしたらちゃんと関係性をはっきりさせてくれ
0211デフォルトの名無しさん2017/03/12(日) 18:24:23.43 ID:/gRPWqC6
検索してもわからない言葉があるのは事実
検索すればなんでもわかるというのは嘘
嘘に協力するようなことはあまりやる気が出ない
0212デフォルトの名無しさん2017/03/12(日) 19:14:56.22 ID:5INw13PV
4時間かけてその書き込みは流石に情けないわ
0213デフォルトの名無しさん2017/03/12(日) 19:21:01.82 ID:/gRPWqC6
普通なら情けないより大混乱させる方を選ぶよな
0214デフォルトの名無しさん2017/03/13(月) 13:17:30.54 ID:EOfJmdmf
最近ワトソンを導入しているところの人がIBMがPrologをサポートするのではないか言っていた。どんな機種か聞き損ねたのだが、汎用機で安全に動くものだろうか。
0215デフォルトの名無しさん2017/03/13(月) 22:15:23.08 ID:r5sZRhSo
>>211
>>213
この人、病気か何か?
0216デフォルトの名無しさん2017/03/13(月) 22:43:32.01 ID:15JNqH0U
>>215
お前が来ると周囲の人間が病気になるんじゃないか
名探偵が来ると事件が起きるみたいに
0217デフォルトの名無しさん2017/03/13(月) 23:21:56.25 ID:r5sZRhSo
>>216
それ皮肉のつもりなのか?
0218デフォルトの名無しさん2017/03/14(火) 00:09:55.61 ID:G8tWzBEA
Prologerのポジトークだろ
0219デフォルトの名無しさん2017/03/14(火) 03:49:52.63 ID:NF858NUD
>>218
25年以上前にも同じ噂が流れたことがある。AS/400上にPrologがサポートされると。結局これは誤報で、
GeneXus(当時はPrologで書かれていた)のことだったらしい。
02202017/03/14(火) 08:04:46.19 ID:FzZ45/UG
>>214
Watson絡みだと、SPSSとの絡みの話しかまだ聞いてないな。
02212192017/03/14(火) 08:53:01.13 ID:NF858NUD
>>220
私は製品としてのワトソンのユーザではなく又聞きですが、「クイズ王」の
ワトソンのはずなのに検索がサポートされていないらしく、それが不満と
いうことらしい。自然言語解析と質問文の生成にはPrologが使われている
から、今のうちに勉強しておこうという話はあるらしい。IBMがサポートする
という話は今のところ私は聞いていない。
02222192017/03/14(火) 09:02:38.55 ID:NF858NUD
汎用製品としてサポートされなくても、DSLとしてサプセットが示されれば
十分に役に立つのではないか。Prologとはそういう言語。
02232017/03/14(火) 10:15:15.15 ID:FzZ45/UG
>>221
検索してる訳ではないからね。
条件と条件の組み合わせからの確率を求めるために、今より確度を上げるための質問を作ってるような。
自然言語解析はまた別レイヤの話だったはず。
基本的にはWatsonがわかるようにデータ送ったほうが良かったんじゃないかな。
02242192017/03/14(火) 10:47:32.93 ID:NF858NUD
>>223
>検索してる訳ではないからね。
元々のワトソンも即時的な検索はしていないのか。そうすると話の筋が
通らないな。わからない。
Prologについては、自然言語解析の補助に使われていて、それについて
研究者に聞いたところ、もっと大事な部分でも使われていると。
言語解析より大事なところというと質問の生成かなと、勝手に解釈して
いた。
0225デフォルトの名無しさん2017/03/14(火) 10:50:44.02 ID:ezhD6+vS
意味ネットワークから答えを引き出すために使われてるんだと思ってたが。
違うのかな。
02262192017/03/14(火) 10:57:28.92 ID:NF858NUD
>>225
そんな基幹部分?
0227デフォルトの名無しさん2017/03/14(火) 11:09:41.56 ID:vWpG+ZpD
>>221
>ワトソンのはずなのに検索がサポートされていないらしく、それが不満と

Hey,WatsonとかOK,Watsonみたいなこと?
02282017/03/14(火) 11:57:18.12 ID:FzZ45/UG
>>224
あくまで、確度の推定しかしていなかったはずだよ。
検索ではなくて、推定。何%でこれっぽい、何%でそれっぽい、みたいな。
三段論法で物事を整理していけるなら、prologとかで整理すりゃいいんだろうけど、それならHPCでProlog動かしちゃおうぜで終わる。

逆にWatsonへは、意味ネットワークへの投げ方って意味では、画像で投げたり、音声で投げたりとか無茶が出来たはずなので、どれをもって入力を解析してるかってのはキッパリ言えないと思う。

結局NDA結ばずだったから俺もフワッとした事しか言えなくてすまん。
02292192017/03/14(火) 19:54:23.57 ID:NF858NUD
>>228
ありがとう。
確度の推定というと、30年近く前のエキスパートシステムの時のことを
思い出す。案外、あれに近いのだろうか。
0230デフォルトの名無しさん2017/03/14(火) 23:21:12.43 ID:G8tWzBEA
プログラミング言語なんてつまるとこ1+1の積み重ねだろ
プロロロ厨はプロロロロロを使ったら人工知能ができるとか本気で信じてるの?
0231デフォルトの名無しさん2017/03/15(水) 00:53:34.98 ID:m7IuZi0i
旧世代言語スレでも作れば?
0232デフォルトの名無しさん2017/03/15(水) 01:08:39.07 ID:FiGu7lnE
旧世代言語を列挙して
0233デフォルトの名無しさん2017/03/15(水) 01:25:06.04 ID:mEkvdkZE
FORTRANやCOBOLは現行世代でいいよな
PL/Iならユーザが死滅したか?
0234デフォルトの名無しさん2017/03/15(水) 01:59:11.31 ID:U4yUdXtL
>>230
信じています
02352342017/03/15(水) 02:03:53.52 ID:U4yUdXtL
信じる、信じないという問題ではなくて、
述語論理を欠いたら、人工知能にはならないということではないか
Prologでなければならないということではない
0236デフォルトの名無しさん2017/03/15(水) 08:02:55.70 ID:Nk04poRC
真の人工知能なんてものはフォンノイマン型アーキテクチャでは不可能なので量子へパラダイムシフトと同時に新言語が出る
寝て待て
0237 ◆QZaw55cn4c 2017/03/15(水) 19:43:41.23 ID:qae1EIh2
>>236
ええ?!
0238デフォルトの名無しさん2017/03/15(水) 22:34:40.35 ID:jBxwJulH
人述語論理を欠いてる人間はよく見かけるが?
0239デフォルトの名無しさん2017/03/15(水) 23:06:02.15 ID:lNG1lg3A
真の人工知能が誕生したら
もう次世代言語もいらんだろ
人工知能が人間様のケツ拭きまで処理してくれるんだから
毎日うまい飯食って頭に電極刺して最高級のオナニーライフが送れる最高の未来がくっど
0240デフォルトの名無しさん2017/03/15(水) 23:32:33.35 ID:lZYbRWrG
昔は物理学者が手作業で計算するだけで宇宙の全てを処理してくれると期待された
0241デフォルトの名無しさん2017/03/16(木) 00:04:13.44 ID:y81VNmzi
>>238
主語とか倫理の事かな…?
0242デフォルトの名無しさん2017/03/16(木) 00:47:06.24 ID:ckmEHJQv
NANDしかない回路は述語を欠いているのか
0243デフォルトの名無しさん2017/03/16(木) 02:48:18.28 ID:nS5r2MC5
NA, NAND ATTE - !! _o_ _o_ _o_
0244デフォルトの名無しさん2017/03/16(木) 12:45:56.20 ID:XMZButq8
ここ当分は人工知能、とくにAIという言葉は使うとあぶない
ディープラーニングが絡まないとAIではない思っている人さえいる
0245デフォルトの名無しさん2017/03/16(木) 17:41:28.94 ID:L2BK4jtk
学会で焼きなまし法を人工知能と呼んでる奴がいて草生えた覚えがある
0246デフォルトの名無しさん2017/03/16(木) 19:20:39.21 ID:S807fhSR
「何食べる?」
「なんでもいい」
「じゃあカレーな」
「カレーは昨日食べたから嫌」

述語論理に違反してる。
0247デフォルトの名無しさん2017/03/16(木) 20:06:48.49 ID:ckmEHJQv
「なんでもいい」じゃなくて「答えたくない」とか「名状し難い」とかいえばいい
必ず何か答えるべきという前提があると論理が破綻する
0248デフォルトの名無しさん2017/03/17(金) 00:23:15.48 ID:JFrUXgZp
>>245
蟻コロニー最適化法が出てこなくてアリの巣コロリ法って言った奴思い出した
0249デフォルトの名無しさん2017/03/17(金) 08:01:45.05 ID:TGk3cPOz
基本的にAIの問題は探索問題だから、焼きなまし法だろうがA*探索だろうが、AIへの応用は考えられると思うけど?
0250デフォルトの名無しさん2017/03/17(金) 08:03:31.66 ID:TGk3cPOz
最近の「NNにあらずんばAIにあらず」みたいな風潮に乗っかって知ったかするのってかっこ悪いと思う。
0251デフォルトの名無しさん2017/03/17(金) 08:07:18.66 ID:Q/Btx3kS
最近の「NNにあらずんばAIにあらず」みたいな風潮に乗っかって商売にするのってかっこ悪いと思う。
0252デフォルトの名無しさん2017/03/17(金) 09:28:15.87 ID:26Dl/sor
>>249
「Matlabで焼きなまし法を用いること」を人工知能と呼んでたから草生えたんだゾ
AIへの応用とかそんなレベルじゃなかったゾ
0253デフォルトの名無しさん2017/03/17(金) 10:32:55.43 ID:Q/Btx3kS
随分と昔、1990年頃だと思うがAIをテーマにしたシンポジウムで近頃AIと
言ってることとORが以前からやってきたことと、どこが違う?
ということになり、そちらの専門家を呼んで、この点をどう見ているか
議論しようということになった
0254デフォルトの名無しさん2017/03/17(金) 11:49:38.66 ID:cRED0m9R
英語や日本語にもバグがあるわけだが一個だけ批判するなら最もメジャーなバグにするか
それともメジャーなら正常でマイナーな方が異常なのか
0255デフォルトの名無しさん2017/03/17(金) 13:58:39.46 ID:TGk3cPOz
>>253
90年ごろのAIというと、文字認識が流行してた頃かな。
文字認識は典型的な最適化問題だからORとはモロかぶりだな。
0256デフォルトの名無しさん2017/03/17(金) 14:48:16.19 ID:oZ5n5DDz
>>244
とは言ってもNN(応用例)の認識率は圧倒的だしねー
そっちがブームになるのは仕方ない気もする
0257デフォルトの名無しさん2017/03/17(金) 15:31:19.22 ID:M5hLDc+J
>>256
応用ということでブームになるのはわかる
でも認識なんて人工知能のほんの一部
0258デフォルトの名無しさん2017/03/17(金) 22:02:45.09 ID:7ICN0IaO
実家のエアコンはAIのあとに出た
ニューロ・ファジーだぜ!
0259デフォルトの名無しさん2017/03/18(土) 16:18:45.98 ID:CmUN4f7y
人工と自然の対立煽りはわかりやすい
だが知能に対立するものが何かさっぱりわからない
0260デフォルトの名無しさん2017/03/18(土) 19:47:12.42 ID:GPk99yeX
人は自分が動物である証としてセックスする
この場合の、動物とかセックスは多分に知能に対立するものとして
たてられているのではないか
0261デフォルトの名無しさん2017/03/18(土) 21:37:42.80 ID:CmUN4f7y
そういえば動物なら知能じゃなくて遺伝子を品種改良するからな
0262デフォルトの名無しさん2017/03/18(土) 22:56:26.01 ID:tmgM3nCR
流れ無視してすまない。

>>202
遅レスだが、ありがとう。
実はSFとCPDTを読みながらCoqを先にやってた。
でも、上で挙げたreflの感覚が分からないのは型理論の本質的なところを理解していないからだと気づいたので、
Coqよりも型理論寄りのAgdaに変えた。習得済みのHaskellにも近かったし。

今は、HOTTの教科書のChap.1の型理論を読み進めてる。なんか自分の違和感の答えが見つかりそうな雰囲気。理解してから書きこもうと思ったけど、情報への礼を先に言っておくべきと思って書いた。
0263デフォルトの名無しさん2017/03/18(土) 23:06:24.77 ID:tmgM3nCR
流行りの人工知能の一領域は統計を利用して、モノの仕分けとかに利用されてるけど、
そこから先は、論理を扱えるCoq、Agdaなどに渡して処理することになると漠然と思ってる。
連続的なモノを統計で離散化して型に落とし込んで、型での議論に持ち込む。
人間が自然言語でやってるのって、まさにこういうことだと思う。
0264デフォルトの名無しさん2017/03/19(日) 03:07:49.43 ID:gbzadtpN
>>263
Prologではだめなのですか?
0265デフォルトの名無しさん2017/03/19(日) 07:47:10.71 ID:pNv57ouj
人間の自然言語が静的に型付けられているという主張?
POSは型とはちょっと違うと思うけど。
0266デフォルトの名無しさん2017/03/19(日) 09:29:42.74 ID:7GUCcHR6
ごめん、Prologはまだ感覚をつかめてないので下手なことは言えないと思って挙げなかった。

POSってPartially Ordered Set?人工知能、専門ではないんだわ。

手始めにやってみたいなと思ってるのは、型の図式=知識の構造を得ておいて、その図式のこの条件を緩めたら知識として一致してる、とか議論できないかなと。

例えば、移動現象に関係する方程式で、物質、熱、粘性を考えたとき、それぞれ次元としてスカラー、ベクトル、テンソルというズレがあるけど、
それを外せば一致していて、ベクトルで新規の項を見つけたら、他の二つにも対応物というか、見逃していた現象があってとか議論される。
こういう一見違う他領域を結び付けて何かを発見するのに使えないかなと。

チラ見だとそれこそPrologの方が得意そう、というかxmlでワトソンみたいなのが既にやってそうだけどね。
02672017/03/19(日) 10:57:42.71 ID:U5iVsXHK
>>266
スカラは零階、ベクトルは一階のテンソルなんだけど、意識してないだけ。
それぞれの方程式でブレがあると思ってるけど、実はブレなかったんじゃねえの?ってのが物理学者の人のやってること。

知識の構造と言う意味では、SPSS(PSPPにもあった気がするけど)に、デシジョンツリーをサクサク作れる機能があるから、
相関してる、とかそう言うのは過程仮設と集計の連続作業して見たほうが早いよ。
0268デフォルトの名無しさん2017/03/21(火) 01:34:13.51 ID:Zo5CVS0M
prolog厨は専スレでも立てろよ
0269デフォルトの名無しさん2017/03/23(木) 09:15:50.10 ID:9wMBGcic
これらの言語ってほぼ単体で使われないよね?
Javaとかに組み込むん?
0270デフォルトの名無しさん2017/03/23(木) 09:50:58.92 ID:DGRvwCAe
シェルスクリプトで作ったOSも、Javaで作ったOSも、単体で作られてないのは同じ
0271デフォルトの名無しさん2017/03/23(木) 09:53:53.40 ID:DMbSvcf+
0272デフォルトの名無しさん2017/03/23(木) 10:53:48.16 ID:H3+7QbOU
>>269
Haskellの組み込まれたのは見たことない
0273デフォルトの名無しさん2017/03/23(木) 11:46:43.28 ID:dT4NbpKb
TwitterはScalaを捨ててNode.jsに移ったそうです。
http://www.utali.io/entry/2017/02/24/170000


Scalerの信念の拠り所の1つであるTwitterが死んだ
もうScalaはダメかもわからんね
関数型うんぬんよりもさ、
暗黙、烏賊記号乱舞、コンパイル檄遅
この辺りがダメだったんだろうな

オワタよ、本当にオワタ
愛してたよ、Scala
0274デフォルトの名無しさん2017/03/23(木) 13:56:22.90 ID:GetMPoha
>>273
https://www.reddit.com/r/programming/comments/5st3dy/all_of_twitters_mobile_web_traffic_thats_like_a/ddjgi5a/
>necolas  ←Node.js採用について最初にツィートしたTwitterのエンジニア
>Hi, I'm the author of this Tweet. Twitter's API continues to be implemented on the JVM.

TwitterはScalaを捨ててません(少なくとも現在は)
http://kmizu.hatenablog.com/entry/2017/03/22/233335
> 1. Twitterは最近(ここ数ヶ月)にScala CenterのAdvisory Boardにjoinしている
> 2. 置換えたとされるFinagleのコミットが最近でも活発である
> 3. そもそも引用元ツイートで一言も、Scalaを捨てたに相当する表現が見られない
0275デフォルトの名無しさん2017/03/23(木) 14:37:06.11 ID:dT4NbpKb
>個人的な意見ですが、Scalaは美しい仕様を持つ素晴らしい言語ですが、
>関数型+オブジェクト指向という特徴から、学習コストが高すぎると感じました。
>そして実運用をするには、それに加えてJavaのライブラリの知識やJVMのパフォーマンスに気を配る必要があります。
>つまり、面倒すぎる言語なのでしょう。

実質捨てます宣言やん
0276デフォルトの名無しさん2017/03/23(木) 14:48:23.05 ID:GetMPoha
>>275
>今週にはJames Bellenger(僕たちのチームのNode.jsの帝王)が
>残りのログインしていないユーザーのトラフィックをScalaからJavaScriptに移行した。

ここまでがツィートの翻訳だ。
その続きは記事を書いた人の「個人的な意見」だ。
0277デフォルトの名無しさん2017/03/23(木) 15:22:18.24 ID:eYsVrQFw
なんかAda捨てた流れ思い出しちゃう
とにかく簡単で見慣れた記法で人集めが楽とかそんなんばっか
0278デフォルトの名無しさん2017/03/23(木) 15:44:01.50 ID:DGRvwCAe
ニュースを見てから動くのは遅い
しかもフェイクニュースのリスクもある
だから事実ではなく自分の意見を持って動く方が速いしリスク管理しやすい
0279デフォルトの名無しさん2017/03/23(木) 17:36:04.80 ID:V7qjAb4k
var宣言があり標準ライブラリにミュータブルクラスがあるスカラのどこが関数型なのかわかりません。
誰か教えてください。
0280デフォルトの名無しさん2017/03/23(木) 18:54:58.39 ID:t4BX+2Gm
>>279
副作用あるのがだめなら関数型とはうたえないって言うの?
ocamlもダメか?
0281デフォルトの名無しさん2017/03/23(木) 19:07:08.08 ID:V7qjAb4k
スカラは副作用がお手軽すぎませんかね?
ライブラリコードを読んでも破壊代入だらけでとても関数型とは思えないのですが。
0282デフォルトの名無しさん2017/03/23(木) 19:14:50.43 ID:cbUpLCW6
じゃあRは副作用がないから関数型なのか?
0283デフォルトの名無しさん2017/03/23(木) 23:00:16.95 ID:dT4NbpKb
そうであーる
0284デフォルトの名無しさん2017/03/24(金) 12:02:11.34 ID:jgAm1kRt
Scalaはガチガチの関数型ではないからな
02852017/03/24(金) 12:11:45.40 ID:Vu4/NCj/
フィルタ言語やクエリ言語ってだいたい関数型と言えてしまうんじゃないの?
別に新しい概念でもない気がする。
0286デフォルトの名無しさん2017/03/24(金) 12:16:57.43 ID:ol6kAPRp
別に新旧は関係ないだろ。
んなこといったらlispより古い関数型言語あんのかよ?
0287デフォルトの名無しさん2017/03/24(金) 12:23:47.67 ID:jgAm1kRt
pythonが静的言語だったら喜んで使うけど動的言語は大嫌い
0288デフォルトの名無しさん2017/03/24(金) 12:30:46.46 ID:imsTG+qA
Cythonはいいぞ
0289デフォルトの名無しさん2017/03/24(金) 12:33:53.83 ID:jgAm1kRt
何で機械学習のライブラリはPythonばかりなんだろう
機械学習とかアルゴリズムの塊だからHaskellの方が向いてrそうだけど
0290デフォルトの名無しさん2017/03/24(金) 13:09:45.95 ID:wKLctAe5
Haskellは見た目は大きいが中身が少ない
Pythonは餃子ならHaskellは肉饅
0291デフォルトの名無しさん2017/03/24(金) 13:24:11.16 ID:poXmNItA
>>289
スクリプトだからだろ
0292デフォルトの名無しさん2017/03/24(金) 14:50:52.48 ID:7Exrmzyh
>>289
Travis OliphantがSciPyとNumPyを作ったのが大きい。
Google Summer of Codeでscikit-learnが作られたのが決定打だ。

なぜ機械学習にPythonが選ばれるのか
http://qiita.com/yaju/items/5502115d7e3d06e6bbdd
0293デフォルトの名無しさん2017/03/24(金) 17:32:56.06 ID:SZtJoIW2
結局、実用には何か足りないんだよね
haskellは教育用言語
0294デフォルトの名無しさん2017/03/24(金) 17:42:24.32 ID:2f+nVLXA
nltkの存在も無視できんわな
02952017/03/24(金) 18:33:25.33 ID:Vu4/NCj/
>>286
defvarやらあるからなかなか純とは。。
0296デフォルトの名無しさん2017/03/24(金) 18:46:44.65 ID:ol6kAPRp
>>295
なんで純粋かどうかなんてでてくるんだよ。
勝手に条件の後付すんなよ。
0297デフォルトの名無しさん2017/03/24(金) 18:52:24.63 ID:XfLnpFqH
implicitな条件だったんだろ
02982017/03/24(金) 19:16:05.28 ID:Vu4/NCj/
>>296
>>279
の話から
>>285
の、フィルタ言語とクエリ言語に言及してるんだよ。
だから、SQLやその他そういうのを含まず、クエリ(問合せ)と言ってるんじゃないか。
もとからあった条件だろ。
02992017/03/24(金) 19:19:19.90 ID:Vu4/NCj/
俺の話が読み取れないんじゃなくて、他の人間の話が読み取れないなんて、
遡って俺の発言読まなきゃいけないとかそういう次元じゃねえじゃん。
ホントに何考えて発言してるかわからん。思考と指がいろんな意味で直結してんじゃねえの?
0300デフォルトの名無しさん2017/03/24(金) 20:14:10.16 ID:ol6kAPRp
直結w
ある意味かっこいいww
0301デフォルトの名無しさん2017/03/24(金) 22:08:32.99 ID:wKLctAe5
クエリ言語は関数等を動的に定義したり動的にコンパイルしたりするのが面倒臭い
それが嫌なら定義を書く言語とクエリ言語は二つに分ける
肉とパンを別売りにする
0302デフォルトの名無しさん2017/03/24(金) 22:48:48.51 ID:cWpKc3e2
>>279への返答を>>285で安価つけずにしておいて理解してもらえなくて発狂とかガイジかな
03032017/03/24(金) 23:51:05.48 ID:UElfGnb8
>>302
理解してもらえないんじゃないよ。
理解出来ない奴が居るだけ。

そりゃ相対差であって、どっちがどうって話じゃないじゃん。

指摘を適当に発狂とか誤魔化して自分を保つとか、なかなか今まで頑張ってだましだまし生きてきた感ある発言だな。
0304デフォルトの名無しさん2017/03/25(土) 00:32:52.29 ID:UB3e1JZS
その流れるように人格批判に持ってく癖をやめといたほうがいいよ。あなたは特に。
03052017/03/25(土) 00:39:29.85 ID:+U7vTGEN
>>304
そりゃ、人格批判されたのであれば、ある程度は言い返すし、
人格批判ではなくて、態度を批判してるよ。持ってってるつもりもなく、最初からしてる。
0306デフォルトの名無しさん2017/03/25(土) 00:57:39.39 ID:9EdwFWSB
自己弁護の神
0307デフォルトの名無しさん2017/03/25(土) 01:00:00.44 ID:MfRZ/KS0
最初から人格批判してるとかやっぱりマウンティングじゃないか
0308デフォルトの名無しさん2017/03/25(土) 01:07:38.03 ID:ta2mL481
マウンティングは催眠術か洗脳のようなものだから解き方さえわかれば人畜無害
0309デフォルトの名無しさん2017/03/25(土) 01:20:55.87 ID:kaPA30KF
人格批判してる自覚、なしw
0310デフォルトの名無しさん2017/03/25(土) 01:27:59.69 ID:92weDEMC
自分の非を認めるにはある程度能力が必要だからしゃーない
0311デフォルトの名無しさん2017/03/25(土) 01:34:05.28 ID:h4sfGwdy
>>308
マウンティングされること自体が不快極まりない
0312デフォルトの名無しさん2017/03/25(土) 02:19:41.89 ID:ta2mL481
あまり強くない相手に無傷で勝とうとするから些細なダメージが不快になるんだろ
もっと本当に強い奴を探して戦えばいいんじゃないの
0313デフォルトの名無しさん2017/03/25(土) 05:59:42.60 ID:eOXqgpwp
まーたマウンティングヴォーイか
0314デフォルトの名無しさん2017/03/25(土) 07:04:18.16 ID:/fA5gLxr
>>302
君ってばか?
0315デフォルトの名無しさん2017/03/25(土) 09:26:43.15 ID:ta2mL481
もし人間を超えるAIがあったら人間が使う全てのマウンティングを消し去る
03162017/03/25(土) 10:13:37.88 ID:+U7vTGEN
>>307
だから人格は批判してないじゃん。
態度が変わっても考えている事が変わる訳でないし、
そもそも心がけで変えられるものを人格とは呼ばんだろう。
03172017/03/25(土) 10:20:16.33 ID:+U7vTGEN
マウンティングが何かイマイチ、ピンと来てないが、
不快極まりないのであれば、させないようにすればいいのでは?
する事ができないから、されたら不快だと言う言い分に聞こえる。

屁理屈だと言うには、屁理屈を屁理屈だと言い張るためのまた別の屁理屈があれば良いだけなんだし。

ただdisるのなんか簡単なんだから。
0318デフォルトの名無しさん2017/03/25(土) 10:27:13.90 ID:oEnzGui4
次世代の言語は肉体言語とかになるんだろーか
0319デフォルトの名無しさん2017/03/25(土) 10:29:27.88 ID:urA4p71k
1レスに段落入れちゃう奴はプレゼンの訓練受けてない高卒
0320デフォルトの名無しさん2017/03/25(土) 10:44:02.05 ID:pYu9V7t6
人格批判してる自覚、なしw
03212017/03/25(土) 12:13:23.29 ID:+U7vTGEN
ここまで説明して、まだ「人格批判だ」「人格批判をしている自覚なし」と言うやつは、
自分で『それだけが自分の人格を支えてると体現してる』って自覚はあるのだろうか。
0322デフォルトの名無しさん2017/03/25(土) 13:19:27.20 ID:sfLkR9Za
ナチュラルに人格攻撃していくスタイルいいっすねw
03232017/03/25(土) 13:40:08.45 ID:UU/6XFAl
これを人格批判・攻撃だと言うなら、もう人格が見栄外聞自己評価でしか形成されてないってことじゃんw
「論旨や態度の批判は人格批判じゃないでしょ、貴方か成果があり知識があり、例えば給与や売上といった何らかの他者評価があり、それらで構成されている揺らぐことのない人格を持ち、論旨や態度はただの手段に過ぎない人間ならば」って言ってるんだよ。
0324デフォルトの名無しさん2017/03/25(土) 15:11:31.94 ID:wf/QK0vh
>>323
>>303とかまさに他人の人格を軽視した上での人格批判だと思うが
他の人間は人格批判を行うレスでも、ちゃんと境界の自覚あるだろうとわかるけど、お前さんからはそれが感じられない
他人に甘えてないで態度を改めるべき
03252017/03/25(土) 15:27:28.69 ID:D186SEHy
>>324
第一段落は単なる事実。
第二段落は、それに対する考察。
三段落目のことであれば、感があると言ってるでしょ。俺の主観。

よく読んで感じて。
0326デフォルトの名無しさん2017/03/25(土) 16:03:47.32 ID:P+Eymz64
悪口を言って悪いのは悪口を言っているやつじゃないんだよ。
一番悪いのは悪口によって乱される心の弱さ。
悪気地によって心が乱れたときはそれを制御する意思の力。
悪口を言ってくれる人がいるから鍛えられる。
ありがたくおもわないとな。
0327デフォルトの名無しさん2017/03/25(土) 16:09:47.56 ID:/fA5gLxr
>>324
自己紹介オツ!がんばれ!
0328デフォルトの名無しさん2017/03/25(土) 16:47:58.87 ID:K3B0zgWa
次世代言語の話まったくなし。
0329デフォルトの名無しさん2017/03/25(土) 17:04:19.88 ID:ecqG0ALX
エンジニアガイジきたら次世代言語スレじゃなくなるんだよな
書き込まないで欲しいわ
0330デフォルトの名無しさん2017/03/25(土) 17:53:44.95 ID:OEEX15fJ
>>327
お前のレス会話になっとらんぞ
0331デフォルトの名無しさん2017/03/25(土) 18:29:21.19 ID:SWo7K2yf
>>318
ボディランゲージ
03322017/03/25(土) 18:58:37.41 ID:D186SEHy
>>329
ちゃんと話してる事もあるけど、何故かマウンティングとか言い出す奴が居るから横道に逸れるんじゃん。
>>329そのものに、次世代言語の話題が書いてあるわけでなし、同じ穴のムジナに言われてもなんともならんな。
0333デフォルトの名無しさん2017/03/25(土) 19:11:55.27 ID:ecqG0ALX
そりゃ普通は一つのレスに二つの要素をいれたりしないからな。そこを突くのは屁理屈にも程がある
0334デフォルトの名無しさん2017/03/25(土) 19:41:42.65 ID:l9ixdBxw
Post-Python言語みたいなのほしい
読みやすいスクリプト言語で静的型付けをもっとうまくこなせてスケーラビリティに優れる言語
0335デフォルトの名無しさん2017/03/25(土) 19:48:08.05 ID:ecqG0ALX
Julia?
0336デフォルトの名無しさん2017/03/25(土) 20:36:21.93 ID:SWo7K2yf
Julia には期待してるけど、イマイチ盛り上がらないな。早く落ち着いて欲しい。
0337デフォルトの名無しさん2017/03/25(土) 20:55:38.32 ID:eOXqgpwp
JuliaでググルとAV女優しか出てこないからダメだな完全に
0338デフォルトの名無しさん2017/03/25(土) 21:14:28.91 ID:l9ixdBxw
そういうんじゃなくてPerlやRubyみたいなスクリプト言語としてのPythonの後継
小手先がきいてお手軽でちょっとしたツールが楽に作れるやつ
0339デフォルトの名無しさん2017/03/25(土) 21:46:36.94 ID:ZnS2c8Uq
Juliaは小手先がきいてお手軽でちょっとしたツールが作れると思うけど、どの辺が足りないのか、何が欲しいのかもうちょっと具体的に書いて欲しい所
0340デフォルトの名無しさん2017/03/25(土) 22:08:48.57 ID:ta2mL481
静的型を中途半端に受け入れると「真の静的型」からイジメの標的にされる現実を見ろ
0341デフォルトの名無しさん2017/03/25(土) 22:31:00.89 ID:eOXqgpwp
どんな現実が見えてるんですかね・・・
0342デフォルトの名無しさん2017/03/26(日) 00:19:49.27 ID:/3yly5bm
Hな人たちのことか
0343デフォルトの名無しさん2017/03/26(日) 00:35:30.81 ID:jD/lvJjB
     (´・ω・`)
   /     `ヽ.   お薬増やしておきますねー
  __/  ┃)) __i |
/ ヽ,,⌒)___(,,ノ\


     (´・ω・) チラッ          >>340
   /     `ヽ.  
  __/  ┃  __i |
/ ヽ,,⌒)___(,,ノ\


     (´・ω・`)
   /     `ヽ.   今度カウンセリングも受けましょうねー
  __/  ┃)) __i |
/ ヽ,,⌒)___(,,ノ\
0344デフォルトの名無しさん2017/03/26(日) 00:49:42.64 ID:5JDNqbXO
次世代言語の話まったくなし。
0345デフォルトの名無しさん2017/03/26(日) 10:26:02.92 ID:9/vJOC7I
Juliaの話から繋がりそうだったのにこれだよ
0346デフォルトの名無しさん2017/03/26(日) 11:44:45.47 ID:suWAcC22
つくづく2chってこの手の話をする場にはならないと感じるな
0347デフォルトの名無しさん2017/03/26(日) 12:44:31.80 ID:jD/lvJjB
すぐ茶々入れるバカがおるしな
0348デフォルトの名無しさん2017/03/26(日) 13:19:20.55 ID:XA6YgUQb
Haskellの戦況を見に来ました
0349デフォルトの名無しさん2017/03/26(日) 14:23:40.31 ID:nb0JbwQ9
いかにも尻軽女の名前だぜ
0350デフォルトの名無しさん2017/03/26(日) 18:59:13.16 ID:24iyyPay
HaskellでHFTのシステム構築してる会社もあるんでそ?
0351デフォルトの名無しさん2017/03/26(日) 19:33:47.86 ID:7Z16OKwK
>>350
HFTはC++一択でしょ
Haskell使ってるのはクオンツとかじゃないの?
0352デフォルトの名無しさん2017/03/26(日) 20:06:36.28 ID:DXggLQC6
マウンティングされない次世代言語ってどれよ?
0353デフォルトの名無しさん2017/03/26(日) 20:32:17.83 ID:i70DjqT8
/mnt/sdcard
0354デフォルトの名無しさん2017/03/26(日) 21:10:38.83 ID:cyHlMDDk
>>338
パイソンでええやん
0355デフォルトの名無しさん2017/03/26(日) 22:01:13.16 ID:nb0JbwQ9
python,perl,ruby で十分手軽だろう。
これ以上となると awk くらい使い道を制限する以外に方法はない。
0356デフォルトの名無しさん2017/03/27(月) 01:44:03.93 ID:eUHhKYGs
pythonって後継の必要がないくらい完成されてないか 
0357デフォルトの名無しさん2017/03/27(月) 01:48:08.80 ID:UxXnYzuG
全くされてねーよ
0358デフォルトの名無しさん2017/03/27(月) 01:48:51.59 ID:UxXnYzuG
PythonはJavaと同じでやりたくてやる言語じゃない
03592017/03/27(月) 02:09:11.17 ID:lJmvU5aC
>>334
いっそ諦めてPythonをGoにトランスパイルするあれ使ってみたら?
悪くは無かったよ。
0360デフォルトの名無しさん2017/03/27(月) 04:51:54.15 ID:YOTOg8v7
仕事でscala使う事になって張り切って勉強してたら今もう下火な感じなのね
これから伸びる最新の技術身につけられると思ってわくわくしてたけど
0361デフォルトの名無しさん2017/03/27(月) 08:38:01.83 ID:xsfHl8fn
>>357
また4.0 で大幅に変わるからいいんだよ。
0362デフォルトの名無しさん2017/03/27(月) 09:24:03.08 ID:9ObHSaYA
>>360
コストかけてまでscalaを覚えさせるメリットを説明できるやつなんておらんやろ
そんなもの無いし
0363デフォルトの名無しさん2017/03/27(月) 09:27:09.56 ID:ochSyXWl
勉強をコスト扱いするな��
0364デフォルトの名無しさん2017/03/27(月) 09:30:15.92 ID:9ObHSaYA
node.jsやcordovaのせいで俺の最も嫌いなJSなんて言語がブラウザという枠から侵食してきやがる
吐き気がするぜ
0365デフォルトの名無しさん2017/03/27(月) 09:45:41.07 ID:8hcsZ/Rv
次世代言語とやらはC++の牙城をいつ崩してくれるの?
いつまで経っても残ってるじゃんこの糞言語
0366デフォルトの名無しさん2017/03/27(月) 10:06:24.35 ID:nOebeY9r
>>365
それになりえるのはRustぐらいしか無いよな
0367デフォルトの名無しさん2017/03/27(月) 10:07:49.10 ID:nOebeY9r
>>364
typescriptつかえばだいぶマシだよ
0368デフォルトの名無しさん2017/03/27(月) 11:23:23.07 ID:zzGGm9lI
マジTypeScriptが標準になってほしいな
Scalaより便利かも試練
0369デフォルトの名無しさん2017/03/27(月) 11:41:02.89 ID:cCQD+5Ly
マウンティング圧力でjsを仕様変更させるよりはaltjsのやり方が正しい
0370デフォルトの名無しさん2017/03/27(月) 12:47:47.88 ID:zzGGm9lI
マウンティング種付けプレス
0371デフォルトの名無しさん2017/03/27(月) 13:17:14.08 ID:9ObHSaYA
>>367
そういやtypescriptはここに上がってるものより遥かに有力な次世代言語だな
0372デフォルトの名無しさん2017/03/27(月) 13:49:46.19 ID:M8+U5ZaQ
>>364
JavaScriptは素晴らしい言語言ってる奴たまに見るけど
俺も全く賛同出来ないなぁ・・・ホント何が良いんだろ
ActionScriptも含めて散々飯の種にはしたけど
仕事じゃなかったら絶対触りたくない
0373デフォルトの名無しさん2017/03/27(月) 14:30:32.87 ID:zzGGm9lI
おまえらはPHPという真の糞を知らないから
軽々しくJavaScriptが糞だなんて言える

おまえらは便器にこびりついた10年物の糞を味わったことがあるか?
0374デフォルトの名無しさん2017/03/27(月) 15:53:48.04 ID:eUHhKYGs
Haskellは標準ライブラリをコンパクトにしようという方針のせいで終わったよね
0375デフォルトの名無しさん2017/03/27(月) 16:49:39.75 ID:GZjcktmh
Goは命名規則さえ良かったらなぁ
シフトキー強制されるとてぃてぃんがエレクトロしてまう
0376デフォルトの名無しさん2017/03/27(月) 19:03:22.34 ID:CNqKC79h
ぐぐらびりちーがさぁ
0377デフォルトの名無しさん2017/03/27(月) 21:17:37.42 ID:i1isobdb
>>374
いや単純に cabal が糞だからだろ。
厳密性が売りなのにパッケージ管理もまともにできんとは。。
0378デフォルトの名無しさん2017/03/27(月) 21:30:10.57 ID:hxVTicGO
cabalはmaybeなファンクター
0379デフォルトの名無しさん2017/03/27(月) 21:32:23.54 ID:AB7bbJBW
Haskellはエコシステム以外も普通に糞
まともなアプリ作ろうとすると、手間かかる、FFIも超だるい
信者は純粋云々の有用性を説くけど、IO絡むとすぐliftだので一発で壊してる
FRPもはっきり言って開発効率悪い
おまけにパフォーマンスの制御が簡単にできないから、遅延評価いちいち取り除かないといけない

モナドがムズいとかそういう事じゃないのに、今でも勘違いしてるHaskeller達
はっきり言っておもちゃ以外の何物でも無い
0380デフォルトの名無しさん2017/03/27(月) 21:35:22.07 ID:AB7bbJBW
あと最大の欠点は、静的型なのに動的型並のパフォーマンスの悪さ
そら普通の頭してたらRustやC++やGoに流れますわ
0381デフォルトの名無しさん2017/03/27(月) 21:53:43.53 ID:zzGGm9lI
モージラとグーグルというWeb界の2大巨頭が静的型かつネイティブ言語を出したという事実はでかいね
ポストネクストジェネレーションランゲージはルースト&ゴーで決まり
特にCを凌駕するルーストは最強と言っていい
Chatw●rkを半死に追い込んでTwitterにも捨てられてスカラとかいうサゲマン死産の事は忘れよう
0382デフォルトの名無しさん2017/03/27(月) 21:56:05.01 ID:DZ7KBqWQ
stackという名のエクスカリバーをてに入れたハスケルはもはや敵なし!
究極のベルゼブルなり
0383デフォルトの名無しさん2017/03/27(月) 23:04:16.84 ID:8CT7MInZ
https://www.indeed.com/jobtrends/Golang,TypeScript,Julia,Rust,Haskell.html
最近名前が出た言語はすでにHaskellより求人が多い。

個人的には少ない記述で高速実行できるJuliaに期待している。
科学技術計算でも軽量Web開発でもJuliaを選べるようになって欲しい。
0384デフォルトの名無しさん2017/03/27(月) 23:07:02.32 ID:oJN/ijnw
>>383
Juliaでggったら・・・
0385デフォルトの名無しさん2017/03/28(火) 00:10:22.59 ID:gx/WaW8t
Julia Lang さん美人だよ。
0386デフォルトの名無しさん2017/03/28(火) 00:14:55.72 ID:SE6jqt3z
その職業は科学技術計算なんかより求人が多いのかもな
0387デフォルトの名無しさん2017/03/28(火) 03:46:09.79 ID:LE5T0lTA
>>379
正格評価にするためだけに
イチイチ余計な手間かけさせるのが鬱陶しいよな

バグが混入しにくい事を自慢してるけど
遅延評価のせいで空間計算量が読みにくいのはバグよりたち悪い
0388デフォルトの名無しさん2017/03/28(火) 07:58:08.60 ID:gzrV6Hbe
ガチガチに型検査したいモナドいらないFFI書きたい正格がいいならsml/njでいいじゃん。何が不満よ?
0389デフォルトの名無しさん2017/03/28(火) 08:14:58.81 ID:88LwyzTy
律速にHaskell使うなんてありえるのか?
0390デフォルトの名無しさん2017/03/28(火) 08:25:42.67 ID:xK9w46xb
まだ諸君はハスケルのパンドラの箱プロファイリングの封印を解いてないようだね。
時空間を司る神のオペレーション、まさにエクスカリバー!
0391デフォルトの名無しさん2017/03/28(火) 08:32:38.57 ID:U6roseEh
>>388
一体誰に向けて話してんだよそれ
0392デフォルトの名無しさん2017/03/28(火) 09:02:49.60 ID:3ckoJGGq
次スレはHaskell外そうぜ
次世代言語でもないし信者がうざすぎる
0393デフォルトの名無しさん2017/03/28(火) 09:08:34.68 ID:D2g9aNol
それを言ったらScalaももう終わったから外そう
0394デフォルトの名無しさん2017/03/28(火) 09:23:54.09 ID:xK9w46xb
ハスケルは外されても何度でも復活する。
そう、フェニックスのようにな!
0395デフォルトの名無しさん2017/03/28(火) 10:02:46.39 ID:wO7rF6oe
>>391
ユー
0396デフォルトの名無しさん2017/03/28(火) 10:36:50.48 ID:U6roseEh
>>395
会話になってねえ…
Haskellいらんって言ってるレスに対しての返答なのか、信者に向けていってるのか
前者なら噛み合ってない
0397デフォルトの名無しさん2017/03/28(火) 13:16:53.64 ID:wO7rF6oe
関数型というとやたらHaskellを持ち上げたりdisったりする人たちに対してMLでいいだろというのは有効な批判だな
0398デフォルトの名無しさん2017/03/28(火) 14:13:28.17 ID:Eo2NYuap
>>368
同意。
しょせんjsベースだろって思ったけど、けっこう使いやすくて驚いた。
0399デフォルトの名無しさん2017/03/28(火) 15:50:31.00 ID:pUaGBgqk
良い言語が流行るわけではないのは分かるけどSMLとかOCamlはもっと一般的になっていいのにと思う
本物の型推論・多相を見せてあげますよって感じではじめて触った時は感動した
0400デフォルトの名無しさん2017/03/28(火) 16:12:35.84 ID:pnMbSu0j
本物の型推論って何だよ
0401デフォルトの名無しさん2017/03/28(火) 17:48:03.30 ID:U6roseEh
>>397
有効もクソも意味通じてないだろ
アスペかよ
0402デフォルトの名無しさん2017/03/28(火) 18:02:45.19 ID:U6roseEh
誰もOCamlやSMLを叩いてもいないのに
なぜか反論になってると思いこんでる>>397ちゃんはどういう頭してんの?
0403デフォルトの名無しさん2017/03/28(火) 19:13:19.92 ID:MPzmpLCn
本物の方推論はNP困難だけどな。
0404デフォルトの名無しさん2017/03/28(火) 21:42:13.30 ID:1Xk99MX5
Haskellは優れた言語ではあるが次世代ではない、むしろ90年台
0405デフォルトの名無しさん2017/03/28(火) 22:19:09.52 ID:F34OC8Lz
Haskell君可哀想!みんないじめないで!
0406デフォルトの名無しさん2017/03/28(火) 22:25:54.20 ID:pnMbSu0j
はようHaskellU作ろうや
0407デフォルトの名無しさん2017/03/29(水) 00:04:09.64 ID:lKoLHMOu
次世代台頭の可能性がある有力言語
Go
Rust
Elixir
Swift
Typescript

脱落決定言語
Scala
Haskell
Clojure
Groovy

可能性を秘めている言語
Kotlin
0408デフォルトの名無しさん2017/03/29(水) 00:19:34.02 ID:P86Lax6O
結局JavaかCやんね
0409デフォルトの名無しさん2017/03/29(水) 00:48:26.90 ID:Py2m0gKr
ナチュラルに無視されているF#とocaml
0410デフォルトの名無しさん2017/03/29(水) 02:20:50.26 ID:xow85mIV
>>407
これが「次世代台頭の可能性がある有力言語」の真実だ。
https://www.indeed.com/jobtrends/Golang,Rust,Elixir,Swift,TypeScript,Scala,Haskell,Clojure,Groovy,Kotlin.html
1位のSwiftを除くとこうなる。
https://www.indeed.com/jobtrends/Golang,Rust,Elixir,TypeScript,Scala,Haskell,Clojure,Groovy,Kotlin.html
2位のScalaも除くとこうなる。
https://www.indeed.com/jobtrends/Golang,Rust,Elixir,TypeScript,Haskell,Clojure,Groovy,Kotlin.html
3位のGroobyも除くとこうなる。
https://www.indeed.com/jobtrends/Golang,Rust,Elixir,TypeScript,Haskell,Clojure,Kotlin.html

× 1位 Swift     2014年に激増したがその後減少して安定
◎ 2位 Scala     急成長が続く
× 3位 Groovy   数年前から頭打ち
◎ 4位 Go      3年前から急成長
◎ 5位 TypeScript 3年前から急成長
○ 6位 Clojure   ゆっくり成長
○ 7位 Rust     ゆっくり成長
× 8位 Haskell   ずっと水平飛行
○ 9位 Elixir     1年半前に求人発生
△ 10位 Kotlin    昨年末に求人発生
0411デフォルトの名無しさん2017/03/29(水) 02:28:42.09 ID:xow85mIV
>>409
OCamlとJuliaを追加するとこうなる。
https://www.indeed.com/jobtrends/Golang,Rust,Elixir,TypeScript,Haskell,Clojure,Kotlin,OCaml,Julia.html

OCamlは考慮しなくてよいと思う。
Juliaは◎と○の中間だが今年のVer1.0で◎になるかもしれない。
0412デフォルトの名無しさん2017/03/29(水) 07:24:18.69 ID:8zEKqVfn
いつから求人の多い言語=次世代言語になったんだ?
0413デフォルトの名無しさん2017/03/29(水) 08:33:29.85 ID:06ZundR+
swiftは次世代では無いよな
普通に現行世代だろ
0414デフォルトの名無しさん2017/03/29(水) 08:48:40.64 ID:mw5FgGWZ
>>412
前からちょくちょくindeedを基準にしてるの見るけど
単に失業中で必死なのがいるんじゃない?
まぁそれで本当に勉強するなら悪い話ではないけど
0415デフォルトの名無しさん2017/03/29(水) 09:09:08.20 ID:VZqvhY7a
Scalaはツイッターが見限ったから終わりやろ
0416デフォルトの名無しさん2017/03/29(水) 09:12:03.88 ID:VZqvhY7a
2014年登場のswiftが現世代って
ラトナーが腐林檎やめたしこれからだろ
0417デフォルトの名無しさん2017/03/29(水) 09:19:52.10 ID:GlMPgUxx
>>414
海外基準がTiobe(Google)とIndeedだからだろ
恥ずかしい奴
0418デフォルトの名無しさん2017/03/29(水) 09:41:46.77 ID:mw5FgGWZ
>>417
TIOBEで語ってない時点で後から何を言ってもねぇ
そもそも今のトレンドと次世代はイコールじゃないという
話なのに日本語も不自由なのかな
0419デフォルトの名無しさん2017/03/29(水) 09:55:31.44 ID:5zywoMjj
今の傾向から次何が来るか予想するのは普通の事じゃね?
0420デフォルトの名無しさん2017/03/29(水) 10:29:42.55 ID:QtB4A/n8
シェア争いってのは買収や合併だけで順位が上がる欠陥競技だ
awkとsedを合体してperlにするだけでいい

この傾向から次に何が来るか
0421デフォルトの名無しさん2017/03/29(水) 10:31:32.34 ID:8zEKqVfn
tiobeで次世代言語が決まるならば現世代言語はJavaになるけどいいの?
0422デフォルトの名無しさん2017/03/29(水) 10:35:06.18 ID:8zEKqVfn
tiobeで次世代言語が決まるならば
次世代言語はCとJavaってことになるよ。
10年前もそんなに変わらないから永遠に
CとJavaが次世代言語になるけどいいの?
そんな想像力もないの?
0423デフォルトの名無しさん2017/03/29(水) 10:46:17.43 ID:1GiRLdWP
じゃあお前のいう次世代言語あげてみれよ
0424デフォルトの名無しさん2017/03/29(水) 10:49:33.07 ID:UiSeZvwp
Javaに型推論が入ったら確実にJavaがネクストジェネレーションだよな
というわけでJavaはKotlinになって
標準のゴミCollectionを捨てて、
EclipseCollectionsを標準化すれば最強になるよ

あぁ、俺みたいな先見性のある天才が
Javaのコミッターだったら、時代は変わるだろうに
0425デフォルトの名無しさん2017/03/29(水) 10:55:48.66 ID:8zEKqVfn
>>423
ハスケル
0426デフォルトの名無しさん2017/03/29(水) 11:10:22.76 ID:mw5FgGWZ
次に何が流行るかとかクソどうでも良い話題のスレなの?
てっきりアカデミックな視点というのか、言語仕様とか
実装とかという面から次世代の言語を語るスレだと思ってた。

次に何が流行るかって単に話題になるサービスを実装するのに
使ったとか、新しいプラットホームが立ち上がったとか
言語そのものの話より周辺依存じゃん。
0427デフォルトの名無しさん2017/03/29(水) 11:14:40.29 ID:UiSeZvwp
>>426
君のように人格批判や悪口しか書かない、典型的議論不全のジャップランド土人は
お帰り願おう
0428デフォルトの名無しさん2017/03/29(水) 11:19:05.62 ID:GlMPgUxx
>>418
いんや、TIOBEとIndeedは同列っていう意味なんだけど…
その読解力で他人と張り合えると思える厚顔無恥さが羨ましい
0429デフォルトの名無しさん2017/03/29(水) 11:35:13.71 ID:8zEKqVfn
中学生かな?
0430デフォルトの名無しさん2017/03/29(水) 11:43:46.22 ID:QtB4A/n8
人格批判の反対は個人崇拝じゃないかね
批判だろうが崇拝だろうがどうでもよくて実在の人物を対象にすることが危険なんだろう
0431デフォルトの名無しさん2017/03/29(水) 11:58:05.01 ID:GlMPgUxx
>>419
まあそうだよな
現状は置いておくとしても、長期に渡って実需要が無い物は、流行る兆しないしな
04322017/03/29(水) 12:07:27.95 ID:227rFy4l
>>430
人格批判と個人崇拝はほぼイコールだよ。
天才と言われると、こいつ生まれてこなきゃ良かったのにって思うくらいの感情に襲われるのと同じ。
0433デフォルトの名無しさん2017/03/29(水) 13:24:07.26 ID:wysGCAMZ
>>422
tiobeの是非はさておき、そういうことではないだろう
トップにいるものはトップゆえに現世代
次世代候補の条件は誕生が最近かつランク上昇傾向にあるものだ
0434デフォルトの名無しさん2017/03/29(水) 13:55:30.83 ID:UiSeZvwp
top10にPHPやVBがある池沼ランキングがなんだって?
0435デフォルトの名無しさん2017/03/29(水) 14:42:14.44 ID:zmhiSSt8
>>415
あの妄想記事信じたの
0436デフォルトの名無しさん2017/03/29(水) 14:50:17.41 ID:yZhMATNE
あんまりGoを次世代っぽくないのは型システムが貧弱だからだと思う
GoはPythonと同じように、ユーザーを取り込むために色々ストレスになる部分を削って使いやすさを上げた感じが強い
Rustは逆方向に突っ走ってる。上げられてる言語の中で一番うるさくて厳格。その代わりHaskellレベルのバグ無し感を低レベルで実現してる
swiftは継ぎ接ぎ感がひどくて近づきたくない。今さらownershipを導入しようとしてるのが恐ろしい
0437デフォルトの名無しさん2017/03/29(水) 15:04:02.29 ID:qgb9T8iF
GoもRustも、なぜこんなものを次世代だとありがたがるバカがいるのか理解できない
0438デフォルトの名無しさん2017/03/29(水) 17:09:42.24 ID:QtB4A/n8
Pythonは甘すぎるHaskellは厳しすぎるという話のようだ
それは複数の言語を使えばバランスが取れる
だが一つにまとめないと損をするような独特な評価方法があるんだろ
0439デフォルトの名無しさん2017/03/29(水) 18:00:34.55 ID:UiSeZvwp
つまりJava最強ってことね
0440デフォルトの名無しさん2017/03/29(水) 18:14:34.09 ID:ZPkAMMY3
>>415
デマおつ
0441デフォルトの名無しさん2017/03/29(水) 18:35:49.70 ID:qgb9T8iF
少なくともScalaの実装部分は減るんだろ
0442デフォルトの名無しさん2017/03/29(水) 20:08:26.97 ID:8zEKqVfn
実用と学術的のスペクトルの両極端は対称性をもたず美しいとは言えないな。
そのスペクトルを黄金比で分割した2地点こそが完全なる美を兼ね備えた
究極の言語と言っても過言ではないだろう。
0443デフォルトの名無しさん2017/03/29(水) 20:23:54.49 ID:H2M6ba19
バランスは重要だね
0444デフォルトの名無しさん2017/03/29(水) 20:25:42.03 ID:UiSeZvwp
つまり関西型を取り入れつつあるJava最強ってこと?
0445デフォルトの名無しさん2017/03/29(水) 21:05:06.95 ID:zrYSsU9g
x86
c
javascript
は天下を取ったといってもいいがそれ以外は微妙。
0446デフォルトの名無しさん2017/03/29(水) 21:10:12.26 ID:hAiUpU4z
>>444
なんでやねん
04472017/03/29(水) 23:36:26.74 ID:DNNg4yzG
>>436
Goの型はわりと落としどころに落ちてる気がするが。
0448デフォルトの名無しさん2017/03/30(木) 05:43:43.12 ID:TcYK9xCv
ハスケルのバグなし感ったって、
メモリリークするし、
unsafePerformIOでgdgdだし、
あんなのでよければ型無しでもいいだろ。
0449デフォルトの名無しさん2017/03/30(木) 07:16:35.47 ID:GLBn35fY
たまに少し頭のイかれた人間がアカデミックな話を長文で書き込みする。多数がついてこられなくなる。
自分の理解を超えているので、マウンティングは止めろなどとその人間を叩き始める。その人間が書き込みを自重する。
何々が来るはず、マウンティングするな、○○はクソ言語、マイナーチェンジの是非、などの内容のあまりない短文しか書けない多数が復活する。
話題がだんだんなくなってくる。
長文の人間が再びわいてくる。

だいたいこれの繰り返しだな。
0450デフォルトの名無しさん2017/03/30(木) 07:24:22.33 ID:+4L9eEF1
うわーすげー内容の濃い文章だってばよ。
0451デフォルトの名無しさん2017/03/30(木) 07:36:59.65 ID:N5VsvtFW
突然のエンジニアガイジ調の長文
0452デフォルトの名無しさん2017/03/30(木) 07:50:12.02 ID:N5VsvtFW
>>411
Juliaついにver1来るのか
Haskell のwhereとかlispのletにあたるものがなくて、文法が片手落ちに感じてんだけど今はどうなんだろ?
04532017/03/30(木) 07:58:19.88 ID:JVmO54Jg
>>451
俺じゃないぞ
0454デフォルトの名無しさん2017/03/30(木) 08:24:25.40 ID:nRyTu5Lj
>>453
それは失礼した
0455デフォルトの名無しさん2017/03/30(木) 09:32:16.35 ID:7nYsYOYk
マウンティングヴォーイやろ
「マウンティング」って単語をマジで使う奴はヴォーイしかいない
0456デフォルトの名無しさん2017/03/30(木) 15:11:12.88 ID:NSo0HQFR
技の名前はマウンティング
人の名前はヴォーイとガイジ
命名癖のある奴は二人か三人いる
04572017/03/30(木) 19:14:24.09 ID:CLtqHggb
名前をつけるとなんとなく見極めた気がするからな。
それ自体は有意義な事なんだけど、斜眼帯にはしないように気をつけないと、
割ともったいない思いをする。
炭酸入りワインを安物のスパークリングワインだと強弁して、何かの祝いにもらった年号が入ったモエシャンとそれを贈ってくれた人をdisるようなそこそこ無様なやつ。
0458デフォルトの名無しさん2017/03/30(木) 19:41:29.98 ID:n1oBjryN
>>449
お前のレスは全員から叩かれてただろ
0459デフォルトの名無しさん2017/03/31(金) 02:33:47.76 ID:+zNaXNgl
Haskellは縛りプレイで自分を鍛える言語であって
仕事でまで縛りプレイを継続(Haskellを使う)する必要はない
0460デフォルトの名無しさん2017/03/31(金) 02:49:01.33 ID:S+dmZ2B6
そんなに自由が欲しいなら
何もかもが糞自由で糞仕様で糞まみれのPHPでも使ってろ
0461デフォルトの名無しさん2017/03/31(金) 03:32:45.02 ID:GJ3wuwZ1
>>459
仕事こそ縛りプレイして欲しいわ。もうC言語で書かれたメモリリークやバッファーオーバーフローやスレッド間のデータ競合を見るの疲れたよ…
0462デフォルトの名無しさん2017/03/31(金) 03:33:33.90 ID:GJ3wuwZ1
>>461
もちろん他人の書いた、ね。
0463デフォルトの名無しさん2017/03/31(金) 04:27:57.75 ID:FcWj0OtH
>>461
その仕事はC言語の代わりにRustを使うと不具合を減らせそうだね。
プロジェクトで使用するプログラミング言語は選択できないの?
0464デフォルトの名無しさん2017/03/31(金) 06:10:39.29 ID:nEOWFaOW
と言ったものの、本当に仕事でHaskell使ったらもっとヒープがメモリリークしていく >>461 であった。
0465デフォルトの名無しさん2017/03/31(金) 06:40:08.63 ID:ErVm1/xe
遅延評価とかいう
外からみると凄そうだけど
実際には全てを台無しにする設計ミスさえなければなぁ・・・
0466デフォルトの名無しさん2017/03/31(金) 07:37:39.42 ID:T9Rd9eoo
>>463
俺のいる組み込みの世界だと未だC/C++だな。
UI周りにJava使うのが流行ったけどほかの言語は
議論にすらなったことないかも・・・。
下回りは泥を含めてLinuxベース増えたからC一択だし。
0467デフォルトの名無しさん2017/03/31(金) 11:33:06.49 ID:QFIFdqS8
言語仕様も大事だけど、開発環境のサポートも気になんけど、Go、Rustの開発環境の充実度はどんな感じなの?
IntellijでRustプラグインは試してみたけど補完は良さげに動いてるイメージだけど
0468デフォルトの名無しさん2017/03/31(金) 20:10:26.72 ID:iNHdp8Xo
>>461
わかります…
0469デフォルトの名無しさん2017/03/31(金) 20:19:58.32 ID:r/gawwbX
IntellijのRustプラグインが機能的に一番充実してる。
他IDEやエディタは補完にracer、整形にrustfmtといった外部プログラムを使うのが多いんで、機能的にはどれも変わらない。
導入のしやすさはvisual studio codeが一番だったけど、普段使ってるatomでもvimでもemacsでもEclipseでもいいと思う。
0470デフォルトの名無しさん2017/03/31(金) 21:23:23.14 ID:4qwJlBYL
>>469
ありがとうございます
普段Intellijでやってるんで嬉しい情報でした
0471デフォルトの名無しさん2017/03/31(金) 21:43:57.36 ID:2pVYUpSb
IDEは無駄にメモリを使いすぎている印象
HaskellとIDEは意外に似たもの同士だった
0472デフォルトの名無しさん2017/04/01(土) 08:05:14.03 ID:lXyHd0mz
C言語のエラーも、Haskellの縛りも、自分が投げたブーメランで自分が苦労するのは同じ
0473デフォルトの名無しさん2017/04/01(土) 10:29:32.75 ID:mDgO5px+
その二つならHaskellの縛りで苦労するほうがいいな
0474デフォルトの名無しさん2017/04/01(土) 10:40:15.72 ID:Xk39Ujbl
そんなに縛りから自由になりたいなら、PHPでもやってりゃいいだろ
0475デフォルトの名無しさん2017/04/01(土) 11:45:39.14 ID:jGaFyZcT
x64 にコンパイルできる?
0476デフォルトの名無しさん2017/04/01(土) 16:29:37.42 ID:lXyHd0mz
いずれにせよ立場が明確な言語で書くと、自分が投げた実感がある
バランス型の言語だと、自分は何もしてないのに壊れたって感じ
0477デフォルトの名無しさん2017/04/01(土) 16:32:40.34 ID:vuhvnafM
>>476
いや、仕様詳しく知ってるかどうかだけだろそれ
0478デフォルトの名無しさん2017/04/01(土) 17:31:01.33 ID:m99QLuku
>>472
書く奴が苦労するとは限らないという点でC言語は嫌い
0479デフォルトの名無しさん2017/04/01(土) 18:27:21.11 ID:OD8T/+xw
>>477
その実装が仕様を満たしてるとは限らないんだぜ。
とくに c++ なんかはな。
0480デフォルトの名無しさん2017/04/01(土) 19:29:05.22 ID:oVxxWPWl
ちゃんとした書き方すりゃどれでもjsでもキチン動くやん?
それを踏まえた上なら縛りプレイなんぞ人間もコンピューターも誰も得しない事やん?
0481デフォルトの名無しさん2017/04/01(土) 19:48:58.08 ID:URsxNall
Haskellってやたら信者いる割にこれといった実装例がないよね。
OCamlなんかいろいろあるのに。
0482デフォルトの名無しさん2017/04/01(土) 20:52:19.55 ID:YRorHdwv
何をやるかではなく何ができるかに重きを置く言語だからかな?
0483デフォルトの名無しさん2017/04/01(土) 21:02:17.97 ID:MTP5Q2cp
自慢の遅延評価が足を引っ張るんだもの
毎回毎回遅延評価を取り除く作業してたら日曜プログラム以外で使う気にならないよ
0484デフォルトの名無しさん2017/04/01(土) 21:04:49.82 ID:7Z2mzMqa
遅延評価offに出来ないの?
offにしたらパフォーマンスどのくらい落ちるの?
デバッグの時だけoffとか
haskell使った事ないんだけど
0485デフォルトの名無しさん2017/04/01(土) 21:05:52.60 ID:vuhvnafM
>>479
意味不明だな
言語関係ない
0486デフォルトの名無しさん2017/04/01(土) 21:12:09.79 ID:f3ZvdNyS
遅延オフはseqっていう関数使う。
無限まで計算するときオフするとメモリーがマックスまで増えるし
オンのときに再帰でどんどんメモリーにサンクを追加してもメモリーがマックスまで増える
から使いどころが難しい。
0487デフォルトの名無しさん2017/04/01(土) 21:23:07.74 ID:9ksxl7rV
seqやバンパターンが部分的に正格にするやつで全体を正格にしたい時はStrictプラグマも使える。Strictプラグマ使ったら~で部分的に遅延させることもできる
0488デフォルトの名無しさん2017/04/01(土) 21:27:30.22 ID:7Z2mzMqa
(用語が暗号過ぎて分からない。ハスケラ怖い)
0489デフォルトの名無しさん2017/04/01(土) 22:11:40.43 ID:xnQEi2JF
$HOME/bin にあるうち、
sh 32
python 17
c 12
haskell 4
java 2
awk 1
c++ 1
perl 1
だった。
0490デフォルトの名無しさん2017/04/02(日) 08:06:17.51 ID:9m7GPV2v
>>485
こういう種類の問題が起きた時、
言語の仕様と実装がだいたいどういう感じになってるかは
だいぶ重要なんだけどな。
0491デフォルトの名無しさん2017/04/02(日) 08:55:30.27 ID:Z4FPulUz
処理系実装者にやさしい言語ってのは結構重要だよな。
事実上1つの処理系実装しか考慮していない言語仕様とかほんと迷惑。
0492デフォルトの名無しさん2017/04/02(日) 09:30:45.87 ID:2xl08NN3
実装したことも無い奴が偉そうにいうな
04932017/04/02(日) 09:42:04.46 ID:EqjzwyRP
>>491
実際に言語を作ると、書いたやつの趣味出るからね。
俺だいたいスタックマシンベースの単純な命令セットのコアにして、関数定義できるようにした処理系にする。
0494デフォルトの名無しさん2017/04/02(日) 12:00:19.89 ID:yIDQYizH
>>477
ジェネリクスがない仕様や、参照カウントしかない仕様を知ってるだけでは意味がない
その仕様をどうやって正当化しているか知らないと
0495デフォルトの名無しさん2017/04/02(日) 12:40:35.77 ID:HvxQ2fcs
>>493
FORTH ですね!
0496デフォルトの名無しさん2017/04/02(日) 13:01:31.11 ID:ZMIUbj5x
>>493
Luaですね
04972017/04/02(日) 14:48:29.45 ID:EqjzwyRP
>>495
あ、ほぼそう。
どっちかというとPostScript寄りの部分もあるけど、基本はワードを積み重ねる。
パーザもコンパイラも超小型になるし、割と色んなものにつっこみやすい。
0498デフォルトの名無しさん2017/04/02(日) 15:10:39.48 ID:HvxQ2fcs
FORTH いいよね。
無理に仕様拡張し過ぎた感はあるけど、ローカルで使う分には便利。
0499デフォルトの名無しさん2017/04/02(日) 15:11:18.74 ID:yIDQYizH
>>484
seqの一番簡単な使い方はたぶんseq hoge (return ())
hogeの中身を最適化するのではなく外側を手続き型にする
0500デフォルトの名無しさん2017/04/02(日) 15:32:56.87 ID:jsBMGnyg
Factor使ってる奴おる? 入門書紹介してくれ
0501デフォルトの名無しさん2017/04/02(日) 16:39:54.48 ID:yhAnz0vw
FORTHって非同期処理どう実現するの?
0502デフォルトの名無しさん2017/04/02(日) 19:53:46.99 ID:ep6aYRPo
ふぉーっすねぇ…
0503デフォルトの名無しさん2017/04/02(日) 21:08:07.87 ID:B53CcJcz
ふぉーすっかな...
0504デフォルトの名無しさん2017/04/02(日) 22:53:55.28 ID:t2mTVSMX
>>491
またHaskellの悪口言ってる…
05052017/04/02(日) 23:24:50.65 ID:jzeah5aV
>>501
2個以上プロセス起こせばいいんでないの?
実際のプロセス間通信は何を使うかは処理系依存だけど。
そういう意味じゃなくて?
0506デフォルトの名無しさん2017/04/03(月) 04:31:28.49 ID:tESoI2Wr
どうせバージョンアップで過去のが動かなくなったりすんだろ…
もうCかJavaに統一してくれ
0507デフォルトの名無しさん2017/04/03(月) 07:00:36.22 ID:8fALzOk/
>>506
さすがにそれらを次世代と言うには、、、
0508デフォルトの名無しさん2017/04/03(月) 12:19:22.39 ID:y7XoLu16
C C++ C# Perl PHP Python Ruby Java Node.js 色々触ってきたけど
最終的にGolangに落ち着いたわ
0509デフォルトの名無しさん2017/04/03(月) 12:25:02.59 ID:y7XoLu16
GAE/Goで動くのが一番デカイ
完全放置(ガチで1円もかからない)でwebアプリケーションを公開できて
しかも競合のPython、Javva、PHPとくらべてスピンアップが超早いので
すぐにスピンダウンしてしまう個人サイトに最適

万が一ヒットして月間数十億PVになっても、課金有効にするだけでスケールアウトするのがいいわ
大手の実績もちゃんとあるから安心

https://www.mercariatte.com/jp/
https://www.andapp.jp/
0510デフォルトの名無しさん2017/04/03(月) 12:34:36.13 ID:RU1P7uZQ
>>509
goはジェネリック入ればなぁ。
でもjavaよりはコード書くの楽しそうか。
0511デフォルトの名無しさん2017/04/03(月) 16:25:33.93 ID:T2InbWRT
>>509
そういうのは現世代言語であって次世代言語じゃないだろ。

次世代言語ってのはもっとライブラリもインフラも何もなくて
処理系すら未実装な言語機能があったりして、殺伐としているものだ。
0512デフォルトの名無しさん2017/04/03(月) 17:20:22.25 ID:1Qke4Aax
>>511
おまえの常識をおしつけてくんな
0513デフォルトの名無しさん2017/04/03(月) 17:42:10.36 ID:T2InbWRT
例えばHugs時代のHaskellとか、ああいうのを次世代言語というんだ。
0514デフォルトの名無しさん2017/04/03(月) 17:42:46.08 ID:OlsWZk+G
Haskellさんは次世代言語に相応しいね!永遠に
0515デフォルトの名無しさん2017/04/03(月) 17:52:43.82 ID:tESoI2Wr
Go初めて構造みたわ
VBやん
しかも継承なし、エラーハンドリング非推奨
Genericsが無いのも理解できるわ
使い所が謎すぎる
05162017/04/03(月) 18:51:39.24 ID:JDNyaexg
>>511
次世代というのは現世代に基づいてて、現世代は化石に基づいてるもんなんだよ、残念ながら往々にして。
0517デフォルトの名無しさん2017/04/03(月) 18:53:58.55 ID:T2InbWRT
>>516
もちろんそうだが、現時点で実用になっているのは現行世代だろう。
次世代というのなら現時点ではまだ実用になっていない言語から選ばないと。
05182017/04/03(月) 19:02:43.87 ID:fNwHjCbC
>>515
VBよりパスカル寄りな位言語としてはなんの機能もないよ。

継承は無いけど埋め込みはあるし、実は継承なんて形だけの問題。コンポーネント指向やないか、と言う意味では確かにVBとかに近いかもしれんが、
interfaceをほぼ無宣言で実装できるのがミソになってる。
Goの世界だけに居れば継承なんか要らんと言う事に気づくと思う。

エラーハンドリングも同じで、panicがON ERROR GOTO xxxxと、Resume Nextに見えてるんだろうけど、
throwするならエラーを返せよ、それはお前の正常系のエラートラップの結果で、異常系としてどっか知らないところに飛ばす必要もねえんじゃねえの?いよいよどうにもならんなら死ね、って言うスタンスなんだと。

逆にジェネリクスが無いのは不満っちゃ不満だけど「まあ無くても何とかなってるじゃん?それよりサポートしたらコンパイラが辛いから譲れ」って言われたら諦める気にもなる程度の不満。
go generateみたいな闇魔法でなんとかするってのも1つだけど、いっそ諦めるのも潔いかと。
05192017/04/03(月) 19:04:34.98 ID:fNwHjCbC
>>517
そんな事言ってしまうと、全部現行言語じゃないの?
殺伐として、なんのドキュメントもライブラリも無いのが次世代言語なら、Racketが可哀想。
0520デフォルトの名無しさん2017/04/03(月) 19:08:42.44 ID:OUsiIH4G
throwなんてものは旧世代言語の負の遺産やしな
05212017/04/03(月) 19:20:49.34 ID:fNwHjCbC
>>520
たたのlongjmpだからな。
gotoよりひどい。
0522 ◆QZaw55cn4c 2017/04/03(月) 19:35:48.28 ID:VwtRd/3a
>>521
setjmp/longjmp は有用だよ
0523デフォルトの名無しさん2017/04/03(月) 20:14:52.89 ID:RXhWFoWI
ゴルーチン素敵やん
05242017/04/03(月) 20:35:20.48 ID:fNwHjCbC
>>522
え?あ、うん。
理解して使えばね。
0525デフォルトの名無しさん2017/04/03(月) 21:04:32.50 ID:eOnOxhRV
>>518
genericsはほしいよ
なんだかんだで実務では、 型機能維持したまま、コードを使いまわせたりとか
コンパイル時解決のコード生成に準ずる機能がいる
後者はFFIとかAPI生成とか
0526デフォルトの名無しさん2017/04/03(月) 21:04:50.26 ID:I+ijJ92Z
>>509
GAE/Goがこんなに起動が速いとは知らなかった。
事前に起動しておく必要がなくなるのはいいね。

2016年半ば現在のGoogle App Engine
http://write.kogus.org/articles/Y2Rtpp
>GAEのStandardなインスタンスは数十ミリ秒でスピンアップします。
>ただしそれは言語としてGoを採用した場合で、最速はGo、PythonとPHPが続き、
>最遅はJavaと、実行環境のボリュームに比例しています。
>Goの場合、アプリケーションは通常、単一の実行可能バイナリファイルとなります。
>そのため複雑なランタイム環境を準備する必要がありません。
>これによりインスタンスは非常に軽量となり、例えば50ms程度で起動します。

東京 GCP リージョン の正式運用を開始しました
https://cloudplatform-jp.googleblog.com/2016/11/tokyo-region-now-open.html
>コンピュート: Compute Engine, Cloud Storage と Persistent Disk,
>App Engine Standard Environment, および Container Engine
0527デフォルトの名無しさん2017/04/03(月) 21:05:22.49 ID:eOnOxhRV
>>524
そいつただの煽り屋のヒキコモリだから無視していいよ
0528デフォルトの名無しさん2017/04/04(火) 00:56:09.00 ID:1jI/+dFT
Javaが最遅な件に目をつけるとは
次世代だな
05292017/04/04(火) 07:09:58.73 ID:WM4dyDBO
>>525
便利なのはわかってるんだけど、構文解析が大変になるし、解析終わってバイナリ吐くときも辛い、とのこと。

コード生成って意味ではgeneratorって言うあれに手を出すとや闇の住人な機能があるので、一回見てもらえればなるほどと思うかと。
0530デフォルトの名無しさん2017/04/04(火) 08:27:57.84 ID:htp/C2K6
まあc++のテンプレートのコンパイル時間考えればそりゃそうだとは思うわな。
0531デフォルトの名無しさん2017/04/04(火) 09:03:29.88 ID:Y80clcxw
Dのテンプレートのコンパイルはまあまあ速いけどなあ
0532デフォルトの名無しさん2017/04/04(火) 09:05:15.63 ID:ByseOKkA
そう言えば何でDはスレタイにないの?
0533デフォルトの名無しさん2017/04/04(火) 09:08:07.80 ID:46531qN9
>>529
つまりコンパイラ作るのめんどくせーっことじゃん
死ねばいいよ
0534デフォルトの名無しさん2017/04/04(火) 10:29:33.17 ID:ByseOKkA
>>509
どんなにこの言語は理論的!とか仕様がすごい!とかマウンティング気味に言われるよりも
こういう実用的なメリット挙げてくれる方がよっぽど使う気になるんだよなぁ
0535デフォルトの名無しさん2017/04/04(火) 10:47:46.02 ID:1jI/+dFT
PHPでもJavaでも最低限度の実用性はあるんだよな
敢えてそれ以上を目指すことは果たして実用なのかマウンティングなのか
05362017/04/04(火) 11:10:30.78 ID:YvDQ56bD
>>533
コンパイラ作ること自体はそこまで面倒じゃないよ。go generateで大体近いことまでは出来るから。
そうじゃなくて、コンパイル時間的な辛さ。
現状、本当に早いから。スクリプト言語として使っても耐えれるレベルのコンパイル言語はこれぐらいだと思う。
0537デフォルトの名無しさん2017/04/04(火) 11:18:44.07 ID:Xl5SbJww
次世代言語とかいうのやめたら?
「ぼくが大好きな言語」でしかないじゃん、ここのヨタ話って。
0538デフォルトの名無しさん2017/04/04(火) 11:19:46.62 ID:g8/Agg21
ぼくが大好きな言語が次の世代の中心になりますように……
0539デフォルトの名無しさん2017/04/04(火) 11:26:19.69 ID:zhDQUeAl
>>536
adaの汎用体(generics)みたいなのでもいいんだけどなぁ
0540デフォルトの名無しさん2017/04/04(火) 11:27:00.00 ID:ByseOKkA
だからその僕の大好きな言語が
次世代を担う言語になるに違いないって話をするスレだから
0541デフォルトの名無しさん2017/04/04(火) 11:46:48.06 ID:1jI/+dFT
Javaが最遅という話は好き嫌いではなく事実じゃないの?
よくわからんがこういうデータを発見する人をデータサイエンティストっていうんだろ
05422017/04/04(火) 12:40:56.65 ID:YvDQ56bD
>>539
GetValueみたいなinterface作って生やすぐらいがギリGoだけで、さらに妥当な方法での解決策かなぁ。
ジェネレータで関数作りまくっても良いかもしれんけど、Goっぽく無いし。
rangeでぶん回す前提なら、selectで判断な、って今の形に落ち着いちゃうかも。
0543デフォルトの名無しさん2017/04/04(火) 12:45:13.57 ID:yB9dvwaO
>>542
つっかえねー言語やな
0544デフォルトの名無しさん2017/04/04(火) 15:02:03.45 ID:zhDQUeAl
goのgenericsは提案も出てるっぽいから2.0くらいには期待したいのだが。
https://github.com/golang/proposal/blob/master/design/15292-generics.md
0545デフォルトの名無しさん2017/04/04(火) 19:10:53.18 ID:htp/C2K6
カスを呼び込むくらいならそんな機能は入れなくてもいいけどね。
0546デフォルトの名無しさん2017/04/04(火) 19:51:30.73 ID:2JJ+/2h+
俺はカスだけどそんな機能は入っても使う気にはならないよ。
0547デフォルトの名無しさん2017/04/04(火) 21:13:48.49 ID:Z3NPb7vM
>>542
ググったけどGenericsを入れるべきかどうかは意見が分かれているんだね。
GoにはGenericsを入れないで好きな言語で書いてGoにコンパイルするに一票。
GAE/GoはWebブラウザのJavaScriptやWebAssemblyのような中間言語と思えばよい。

Generic型がない理由は? (Golang FAQ)
http://golang.jp/go_faq#generics
>ジェネリックは便利ではありますが、型システムとランタイムに複雑さによるコストをもたらします。

golang と Generics と私
http://mattn.kaoriya.net/software/lang/go/20170309201506.htm
>Java は多相が欲しいというニーズに Generics で答えた。
>一方 golang は Duck Type と type assertion で答えた、その違いでしかない。

golang と Generics と吾 (2017/03/10)
http://qiita.com/yuroyoro/items/6bf33f3cd4bb35469e0b
>GoにGenericsがほしいっていう人の9割5分は
>map,filter,foldなどの抽象化された型安全なコンテナ操作がほしい

Goでfold実装
https://gist.github.com/nobonobo/6f1a5c47cb86b382fe354f2dcd702e99
>import ("github.com/cheekybits/genny/generic")
>非常に明瞭かつ簡潔にかけて、オーバーヘッドが少なく、コンパイル時に型チェックされ型安全です。
0548デフォルトの名無しさん2017/04/04(火) 21:51:41.05 ID:P/CYX0p5
>>547
全然簡潔じゃないじゃん
0549デフォルトの名無しさん2017/04/04(火) 21:54:25.60 ID:pJiiTfw5
>>547
中間言語なら次世代言語から外してええな
0550デフォルトの名無しさん2017/04/04(火) 21:59:51.76 ID:zhDQUeAl
>>547
> GoにはGenericsを入れないで好きな言語で書いてGoにコンパイルするに一票。

そんなプリプロセッサ対応はして欲しく無いな。
0551デフォルトの名無しさん2017/04/04(火) 23:39:38.90 ID:pk8dL5nN
・動的言語の柔軟さ
・静的言語の安全性
・実用的な速度
・学習コストと生産性のバランス
・大量のライブラリと情報
・OS非依存

これを全部備えた言語があるらしい
0552デフォルトの名無しさん2017/04/04(火) 23:43:14.50 ID:pk8dL5nN
>>547
C#は「ポインタは複雑だけど、別言語で書いてコンパイルするのは大変だろうからどうしても必要な場合のみ使ってね」って感じで入れてるのにな
複雑だから入れないって…
Genericsすらないとか使えね
0553デフォルトの名無しさん2017/04/05(水) 00:07:00.28 ID:OUFI3r3h
>>545
むしろgenerics無いから同じコード書き散らすカスがいるんじゃん。
0554デフォルトの名無しさん2017/04/05(水) 00:20:59.08 ID:/F29zlGm
>>554
そちらの方が害は少ないかな。
全然一般的でもないのに勝手にまとめて糞みたいにモジュラリティー低いコード書く
馬鹿のが立ち悪い。
0555デフォルトの名無しさん2017/04/05(水) 00:26:15.80 ID:QXjM+MPV
>>551
Typescriptあたりが当てはまるんじゃないの
0556デフォルトの名無しさん2017/04/05(水) 00:45:24.37 ID:JWlAJRH6
>>555
よく分かったな
せやで
0557デフォルトの名無しさん2017/04/05(水) 00:49:48.63 ID:fcgbvxT7
>>551
Scalaちゃんがこのポジにいるはずだったのに
今やtwitterにさえ捨てられてしまった
0558デフォルトの名無しさん2017/04/05(水) 02:19:48.33 ID:Ul25awQd
>>555-556
今はTypeScriptで書くとサーバはNode.js、フロントエンドはJavaScriptエンジンだけど、
サーバはGAE/Go、フロントエンドはWebAssemblyにすればコストと性能で圧倒できそうだ。
そしてWebAssemblyを出力するTypeScriptコンパイラはMicroSoftが作るだろう。
でもGoを出力するTypeScriptコンパイラはMicrosoftもGoogleも作りそうにない。
JavaScript出力TypeScriptコンパイラを改造してGo出力にしたら需要があるかもね。
0559デフォルトの名無しさん2017/04/05(水) 03:33:38.37 ID:T1xSqOuQ
典型的ハンマー釘病だね
0560デフォルトの名無しさん2017/04/05(水) 05:09:50.02 ID:Ul25awQd
>>559
WebプログラマはAltJSのトランスパイラに慣れているからあっさり受け入れると思う。

IT技術のハンマー釘病はよくあるが、プログラミング言語の場合は
自分が好きな言語を使いたいし広めたいというのが主な動機だろう。
それに言語普及に励むのはGoが好きな人も変わらない。

ハンマーしか持っていなければすべてが釘のように見える
https://burnworks.com/news/article/159/
>これは限られた手段しか持たない、あるいは、固定概念や過去の成功体験から限られた手段に
>固執することで、問題の本質を正しく捉えられなくなることへの戒めといえます。

なぜGo言語 (golang) はよい言語なのか・Goでプログラムを書くべき理由
http://www.yunabe.jp/docs/why_golang_is_good.html
>スレッドモデルによる並行プログラミング (vs. Node.js)
>一時期Node.jsなどでイベントモデルによるプログラミングが何故かもてはやされていましたが、
>人類にはイベントモデルは無意味に難しすぎます。
0561デフォルトの名無しさん2017/04/05(水) 07:35:49.88 ID:OUFI3r3h
イベントモデルとスレッドモデルは別に排他的では無いと思うんだよな。
05622017/04/05(水) 07:59:55.32 ID:9/VRcfOD
>>547
そうそう。ずっと言ってるから、2でも実装されないし、
無くてもホントに問題ないケースがほとんどだから、
たった数パーセントの絶対に必要、黒魔法使ってでも使いたいって層のためにわざわざ実装するのもどうかと、とは俺も思う。
>>550
プリプロセッサじゃなくて、そういう言語だよ。pythonをネイティブで妥当なGoにトランスパイルするとか、そういう試みの事かと。
05632017/04/05(水) 08:02:00.61 ID:HZgZB74P
mapやfoldに関しては、チャンネル作って流し込め、チャンネルから取り出せって多分作ってる側は思ってる
0564デフォルトの名無しさん2017/04/05(水) 09:37:59.12 ID:fDBf9BNZ
>>563
foldじゃなくてunfoldじゃないの?
mapは並列の文脈でチャネルと組み合わせるのはわかるけど、unfoldはストリームにしか使えないんじゃ?
05652017/04/05(水) 10:07:06.78 ID:HZgZB74P
>>564
goroutineで、inのチャンネルとoutのチャンネル貰うだけかと。
使う側はinにじゃんじゃか放り込んで最後に終わったよを放り込む。
goroutineはもらったものをoutに書き出すだけ。
そんで、outを別のinにしても良いし、コンソールに出しても良いし。
そもそもrange自体、順番には取り出さないという鬼仕様だし。
0566デフォルトの名無しさん2017/04/05(水) 10:09:42.43 ID:Got6J3YM
GrumpyとかCythonでよくね?
0567デフォルトの名無しさん2017/04/05(水) 11:06:09.59 ID:JWlAJRH6
>>557
Scalaはコンパイラが軽ければな

>>558
Go出力しないでネイティブ出力すればいいやん
何故Goとかいうゴミに出力する必要があるんや
WASM出力はそのうち出るだろうね
05682017/04/05(水) 13:14:30.83 ID:HZgZB74P
>>567
ネイティブかつシングルバイナリをやってくれるかはわからんぞ。
動的言語の鈍足さと静的言語のコンパイル時間と実用程度の速度とOSに依存したVMの上で動く、チョコがけ柿の種くらいの存在。
Functionを文字列でnew呼んじゃえるのとか、TSでは今どうなってるんだろ。
0569デフォルトの名無しさん2017/04/05(水) 17:24:34.10 ID:Ul25awQd
>>566
Grumpyはよいね。
Pythonで書いてGAE/Pythonで実行するより
Cythonで書いてGAE/Goで実行するほうが桁違いに速いだろう。

Grumpy(Go running Python)を試してみた。
http://qiita.com/kmry2045/items/998250b3d430d82594c2
0570デフォルトの名無しさん2017/04/05(水) 17:28:57.15 ID:Ul25awQd
>>567
GCEやAWSを使うならなら直接ネイティブ出力すればよい。
だけどGAEはユーザーが作った実行可能バイナリを実行できない。
GAE Standard Environmentで実行できるのはGo、Python、PHP、Javaの4種だ。
この中でGAEで実行可能バイナリにコンパイルされるのはGoだけだ。
0571デフォルトの名無しさん2017/04/05(水) 17:34:38.89 ID:JWlAJRH6
>>570
GCEでいいやん
自由に設定できるし
0572デフォルトの名無しさん2017/04/05(水) 18:40:30.07 ID:Ul25awQd
>>571
>>509>>526は読んだ?
0573デフォルトの名無しさん2017/04/05(水) 18:42:50.34 ID:JWlAJRH6
>>572
読んでない
05742017/04/05(水) 19:51:33.58 ID:IZ4X43tB
GAE個人的に使ってるけど金かかる気がしないからな。
そもそもGoのバイナリ自体、cgiとして動かしても苦しくないレベルで起動するし。
0575デフォルトの名無しさん2017/04/05(水) 20:26:55.83 ID:DXpzlGNR
GAEでC++が使えるようになったらC++を次世代と認めてやる
0576デフォルトの名無しさん2017/04/05(水) 21:54:16.67 ID:W+oabWVI
LLVMとかWebAssemblyとかあるから
なぜかC++だけ次世代になれないよう圧力をかける方が逆に難しいだろ
0577デフォルトの名無しさん2017/04/05(水) 22:10:47.94 ID:/F29zlGm
はっきりいって次世代になってほしくない言語 No.1 だからだよ。
0578デフォルトの名無しさん2017/04/05(水) 22:24:43.79 ID:fDBf9BNZ
>>565
やりたいことはわかるけど、foldは畳み込みの方向あるし非同期処理できないよ
だからストリーム的なチャネルとしてしか使えないと思う
mapはわかるけど
0579デフォルトの名無しさん2017/04/06(木) 01:19:49.93 ID:SmHL6D2g
>>577
C++に全然似てない言語が増えるといいね
なぜかC++のパクリみたいなのばっかり出てくるけどな
0580デフォルトの名無しさん2017/04/06(木) 05:57:00.65 ID:Ow2PjSIZ
非同期処理?
もしかして並列化のことを言いたい?
0581デフォルトの名無しさん2017/04/06(木) 06:04:40.79 ID:GqxQ8wHX
>>580
何が言いたいのかわからないけど、ストリーム取り出す側の話じゃないよ
言いたいのはfoldの中に同期がいるって事
0582デフォルトの名無しさん2017/04/06(木) 06:13:14.65 ID:+FAb3ydx
ほんといつまでC++を延命させる気なんだろう
0583デフォルトの名無しさん2017/04/06(木) 06:14:22.44 ID:GqxQ8wHX
もちろん並列化できない事を否定してるわけじゃなくて、
並列化できない理由として、再帰的処理だから同期が必須と書いてるだけ
0584デフォルトの名無しさん2017/04/06(木) 06:17:45.14 ID:GqxQ8wHX
ごめんもっと適切に書くなら、並行処理の可否の話ね
05852017/04/06(木) 08:40:02.85 ID:VCs4lZJm
>>578
非同期処理できなくて、順序も変えられないから、チャンネルなんだよ。
あれはストリームではないよ。メールボックスの特殊形。
05862017/04/06(木) 08:47:17.31 ID:VCs4lZJm
チャンネルの良いところは、誰かが入れたら受ける方は入れられた順にしか出せない所。
べつに並列処理としてしか使えないわけじゃない。むしろ、goroutineと組み合わせると、goroutine回してからそいつに放り込んで、
終わるまで待ってから次へ進むなんて同期的なクロージャにもなる。
rangeは、順番には取り出さない、という鬼仕様だから、そもそもが違う
0587デフォルトの名無しさん2017/04/06(木) 09:09:01.32 ID:cx9NRO0R
量子化学計算プログラムが書けちまう言語って何があるだろ? Fortranとかnumpyみたいな便利な多次元配列があって、速くて書きやすいのがいいんだが
0588デフォルトの名無しさん2017/04/06(木) 09:12:06.74 ID:sp2ENUYJ
C言語
0589デフォルトの名無しさん2017/04/06(木) 09:26:07.71 ID:cx9NRO0R
>>588
OpenMXの信徒か? Cで使いやすい配列インターフェース見たことないんだが
0590デフォルトの名無しさん2017/04/06(木) 09:49:37.44 ID:Ow2PjSIZ
そりゃFortran最強だろ
0591デフォルトの名無しさん2017/04/06(木) 10:17:16.46 ID:cx9NRO0R
やはりこの分野に対応した次世代言語はないか。ありがとう
0592デフォルトの名無しさん2017/04/06(木) 12:18:25.77 ID:GqxQ8wHX
>>586
だからチャネルは知ってるよErlang使ったことあるから
ただmapをチャネルにと言ったら、並行させるのに非同期にチャネルに入れてく感じじゃないの?
foldでもunfoldでも、処理そのものが同期的だから、チャネル使う意味なくない?
できても単一ストリームになるだけだし
0593デフォルトの名無しさん2017/04/06(木) 13:13:18.24 ID:xPySJpbP
速くて書きやすい言語はFortran

てかfortranは次世代だと思う
0594デフォルトの名無しさん2017/04/06(木) 13:18:18.22 ID:fKQHZKUE
思うのは自由だと思う
0595デフォルトの名無しさん2017/04/06(木) 14:16:06.40 ID:u8lruaNj
>>587
Python使いをJuliaに引き込むサンプル集
http://www.mwsoft.jp/programming/julia/python_to_julia.html
RユーザのためのJulia入門(行列編)
http://rishida.hatenablog.com/entry/2013/11/30/194733

>>591
Juliaを知らないという事はJupyter Notobookを使ってないと見た。
PythonとJuliaのインタラクティブ開発はJupyter Notebookが便利だよ。

なぜ機械学習にPythonが選ばれるのか
http://qiita.com/yaju/items/5502115d7e3d06e6bbdd
【チュートリアル】IPython Notebook:
再生可能でインタラクティブなWebブラウザ上で作業できるIPython実行用ノート
http://derivecv.tumblr.com/post/95686651704
データサイエンティストを目指す人のpython環境構築 2016
http://qiita.com/y__sama/items/5b62d31cb7e6ed50f02c
Scipy Lecture Notes
http://www.turbare.net/transl/scipy-lecture-notes/
Julia Language Programming
http://www.geocities.jp/m_hiroi/light/julia.html
0596デフォルトの名無しさん2017/04/06(木) 18:15:26.99 ID:+37RyH8R
>>595
Juliaは使ったことあるけど、lispのletにあたるものがへぼいとか、突然intが文字列非対応になるとかイライラすることご多いからやめたんだ
05972017/04/06(木) 18:28:25.50 ID:VCs4lZJm
>>592
意味を問われてもな。そういう言語だとしか。
並行させても使えるものは、させなくても使える。
channelは並行の為だけの機能ではない。
自分のための自分のキューの形のバッファとしても充分に有用だし、自分が呼びたい一連の処理のキューとしても十二分に有用。
しかしストリームになるだけってのがわからん。
selectでチャンネルからの値待ちみたいな構文が無意味に聞こえるけど。
手で書いてるだけで普通にいわゆる関数型言語のパターンマッチそのものだと思うんだけど。
0598デフォルトの名無しさん2017/04/06(木) 19:11:27.00 ID:WMPnePk1
>>571
Standard Environment はスケールアウト時間がスピンアップ時間と同等だけど(数ms)
GCE(Flexible Environment)の場合、分単位でかかる
つまりアクセスが一気に集まった時(はてぶ砲、ヤフー砲、GIGAZINE砲など)
顧客の何人かは「中々サイトが表示されない」時間帯が生まれてしまう
これは大きなロスとなる
0599デフォルトの名無しさん2017/04/06(木) 19:17:10.21 ID:WMPnePk1
昔、GAE/JavaとSlim3を使ったwebアプリケーション開発してたけど
スピンアップが糞重くて(3秒〜10秒)苦労したわ
cronでスピンダウンしないように定期的にアクセスさせたり
Always Onオプション(有料)入れたり、色々回避策はあったけど
今はGolangがあるおかげで大分楽になった
0600デフォルトの名無しさん2017/04/06(木) 19:34:41.59 ID:Zrdd7ICZ
なんだろ、やっぱりWeb系の人が多い感じなんかね
0601 ◆QZaw55cn4c 2017/04/06(木) 19:59:33.81 ID:Uar4T1Gl
>>582
C++ほど強力な言語が他にあるかい?
0602デフォルトの名無しさん2017/04/06(木) 20:02:00.82 ID:+37RyH8R
>>601
numpyクラスの多次元配列ライブラリがない言語がなんだって?
0603 ◆QZaw55cn4c 2017/04/06(木) 20:05:03.60 ID:Uar4T1Gl
>>602
C++なら多次元配列を自分で適当につくれると思うよ
0604デフォルトの名無しさん2017/04/06(木) 20:20:29.28 ID:+37RyH8R
>>603
そう思うなら作って公開してくれよ。俺は無理だったし、みんな無理だったからEigen以上のものはこの世にないんじゃないの?
0605デフォルトの名無しさん2017/04/06(木) 20:52:37.51 ID:lSyaolUa
そこで BLAS ですよ。
結局 c, fortlan でいいっていう。
06062017/04/06(木) 21:04:19.07 ID:VCs4lZJm
>>600
だってGUIが無いんだもの。
バッチかwebかコンソールかってところじゃない?
シングルバイナリがありがたいから、大量のマシンに撒いて集計してもらったり、逆に負荷調査したりしてる。
ホントにkernelプラスαで動いちゃうからな。
0607デフォルトの名無しさん2017/04/06(木) 21:49:33.08 ID:GqxQ8wHX
>>597
いやそちらが並列についての話題にレスして、foldでチャネル使うって言ったからどういう事なのかと
ストリームというのはunfoldの話だよ
chanelはMQのように使う物だけど、unfoldでは型も結果も変化することないからね
0608デフォルトの名無しさん2017/04/06(木) 21:58:05.77 ID:GqxQ8wHX
>>604
普通に速いのに、こういう話題で全く出てこない無valarray…
ublasとかeigenばかり使いやがって
0609デフォルトの名無しさん2017/04/06(木) 22:21:29.39 ID:Y/JBioIj
>>608
それ1次元オンリーやん
0610デフォルトの名無しさん2017/04/06(木) 22:34:24.49 ID:SR4XZy36
>>601
ガーベージコレクション付けてくれ。
0611デフォルトの名無しさん2017/04/06(木) 22:47:30.32 ID:Ao1zg6OQ
>>610
std::shared_ptrがあるやん
0612デフォルトの名無しさん2017/04/06(木) 23:55:46.82 ID:qaBug2et
なんだよptrって
プテラかよ
0613デフォルトの名無しさん2017/04/06(木) 23:57:28.47 ID:IMWNs2Zi
C++は標準でsplitとかtrimとか用意してから出直してきてくださーい
0614片山博文MZ ◆T6xkBnTXz7B0 2017/04/07(金) 00:09:57.04 ID:h5rZiyBe
ポインタ(pointer)を略してptr
0615デフォルトの名無しさん2017/04/07(金) 00:31:28.85 ID:7g/og4rQ
最強はcublasでしょ
0616デフォルトの名無しさん2017/04/07(金) 01:10:42.46 ID:aXgJeOL0
>>609
多次元扱うライブラリだよ
実体が一次元なだけで
0617デフォルトの名無しさん2017/04/07(金) 01:40:16.23 ID:kzCGkGxb
[翻訳]なんでGoってみんなに嫌われてるの?
http://qiita.com/hirokidaichi/items/adccebb41f77eaa6132f

Goは次世代PHPになるためにシンプルな仕様がよいと思う。
PHPプログラマが理解できないとPHPに代わる言語になれない。
0618デフォルトの名無しさん2017/04/07(金) 01:55:58.85 ID:AoBlsTLM
0619デフォルトの名無しさん2017/04/07(金) 11:25:29.88 ID:qK3X4ILJ
PHPしか理解できないマにはその道を諦めてもらうのが何より手っ取り早いかと
0620デフォルトの名無しさん2017/04/07(金) 14:47:07.18 ID:e4/98DWW
web分野にしか使えないPHPと
コンパイラ言語でプログラミング言語開発そのものにも使えるGolangじゃ
比較にならんだろ
0621デフォルトの名無しさん2017/04/07(金) 14:51:37.26 ID:e4/98DWW
GolangはCを改良した言語
標準ライブラリにweb処理系が豊富だからweb開発にも使えるというだけで
システムプログラミングの領域にも使える
http://ascii.jp/elem/000/001/234/1234843/
>なぜ解説にGo言語を使うことにしたかというと、
>Go言語は多くのOSの機能を直接扱えて、なおかつ少ない行数で動く
>アプリケーションが作れるからです。
> 現在のシステムプログラミングでは主にC/C++が使われていますが、
>Go言語はC/C++よりもコードを書き始める前のライブラリの収集が簡単です。
0622デフォルトの名無しさん2017/04/07(金) 14:55:28.25 ID:e4/98DWW
ちなみにGolang自体、Golangで書かれてる
PHPはC言語で書かれてる、つまりPHPインタプリタをGolangで書くことも出来る
PHPerがGolangを否定するのは、自分の生みの親を否定する愚行に等しい
0623デフォルトの名無しさん2017/04/07(金) 15:26:23.52 ID:E9+XPTIr
結局GolangはBetter Cの位置付けだよね
高いパフォーマンスを求めて少し低い抽象度でプログラミングする場合に使う言語
0624デフォルトの名無しさん2017/04/07(金) 15:32:32.15 ID:Fuvg5lKD
Better CはRustじゃね?
0625デフォルトの名無しさん2017/04/07(金) 16:33:40.58 ID:ZeBi+5LC
Goはスタックに置くかかヒープかをコントロールしづらい(実質出来ない)からCの代替にはなりえない。
Goの本元のGoogleですらFuchsiaというOSのカーネル(magenta)にGoは全く使わず主にCとC++を使ってる。
0626デフォルトの名無しさん2017/04/07(金) 19:25:41.37 ID:kzCGkGxb
>>622
ファイル入出力があってチューリング完全ならコンパイラを書ける。
つまりGolangコンパイラをPHPで書くこともできる。

>>624
同じくRustが次世代Cだと思う。
Cを置き換えるのはCよりも不具合が出にくい事を追求した言語だろう。
0627デフォルトの名無しさん2017/04/07(金) 19:30:12.48 ID:Fuvg5lKD
>>626
Goは何か違うよな
シンプルさを追及した感じで次世代感はない
0628デフォルトの名無しさん2017/04/07(金) 19:42:47.21 ID:hSdZidmM
>>627
実際に何本かコード書いてみたけど妙に泥臭いというか
古臭い感覚があるんだよな・・・
0629デフォルトの名無しさん2017/04/07(金) 20:24:41.31 ID:oLYrJc00
古臭いからこそ次世代Cやろ
Rustは次世代C++や
0630デフォルトの名無しさん2017/04/07(金) 20:36:08.17 ID:99i4egho
Julia良い言語ではあるんだけどやっぱり科学者が作った言語なんだなって感じ
微妙にmatlabの嫌な臭いがする
0631デフォルトの名無しさん2017/04/07(金) 23:46:09.43 ID:D3WCz+HD
>>629
だからGoはカーネル書けないから次世代Cにはなりえないってば。
対してRustなら書ける
0632デフォルトの名無しさん2017/04/08(土) 00:18:34.44 ID:nGmMTnsh
Goみたいなシンプルを追求した言語も
きょうび流行りの関数型直系の次世代言語たちも
適材適所で使えば良いと思うよ
0633デフォルトの名無しさん2017/04/08(土) 00:33:33.37 ID:ZmPKT6lF
ほんとそれ
適材適所で道具を選んで使えばいいだけなのに

XXXができないからYYYはZZZみたいな話に
終始してるやつってなんなのかね
0634デフォルトの名無しさん2017/04/08(土) 00:47:59.16 ID:MmqHTY99
やばかったらJNIとか使えばいいし

次世代言語はプログラマの甘えの産物なんだから
妙なストイックとかいらねえんだよ
0635デフォルトの名無しさん2017/04/08(土) 00:56:57.27 ID:HSOubv4j
リスクを承知すれば危険な操作ができる言語と
どこに危険があるのか制御できない言語と
0636デフォルトの名無しさん2017/04/08(土) 01:06:26.95 ID:/cdCDPu4
Rustって何て読むの?
ルースト?ルストゥ?
0637デフォルトの名無しさん2017/04/08(土) 01:08:28.37 ID:6RHBDVWo
さびって。。
0638デフォルトの名無しさん2017/04/08(土) 01:40:57.36 ID:GAoRTfTW
ルスト(多分)
0639デフォルトの名無しさん2017/04/08(土) 04:39:05.22 ID:N0c155CY
ルァスト
0640デフォルトの名無しさん2017/04/08(土) 04:48:07.24 ID:N+5uce1L
>>633
適材適所で選ぶには何が出来てん何が出来ないかを把握することが大事だろう?
カーネルを書けないからGoはCの代替にはなりえない。
というのはそういう話
06412017/04/08(土) 08:02:49.26 ID:rRJpYT88
>>632
まあこれに尽きる
0642デフォルトの名無しさん2017/04/08(土) 08:34:00.95 ID:hvFUfQwI
GoもRustも未だにオブジェクト指向の幻影に捕らわれてる哀れな産物だけどね。
暴論かも知れんが正直このスレではHaskell以外取り扱って欲しくない。
06432017/04/08(土) 09:29:26.36 ID:7kzA7BVi
>>642
何言ってるのかわからんが、俺が解釈したとおりであればならば専スレが相応しいのでは?
議論スレでそれ?

俺はHaskellだけは無いと思ってる。
いいとこ取りしたつもりで最悪の部分を寄せ集めたRubyの仲間の言語。
06442017/04/08(土) 09:39:34.42 ID:7kzA7BVi
理想としてはEitherは絶対に不要だったとか、なんかいろいろ思い出してきた
0645デフォルトの名無しさん2017/04/08(土) 09:41:11.09 ID:80zcJTU3
>>642
おハスケル
0646デフォルトの名無しさん2017/04/08(土) 09:59:50.41 ID:2ZQzVf4I
>>642みたいなあからさまな煽りに顔真っ赤にして連投しちゃう人って……
06472017/04/08(土) 10:03:32.21 ID:VXYAc7y5
>>646
俺はいつもそんな感じじゃん。
0648デフォルトの名無しさん2017/04/08(土) 11:24:48.56 ID:euqYWZLM
ハスケルって、オブジェクト指向から用語をたくさんパクったくせに「オブジェクト指向とは全く別」とか言い訳してる、例のあれ?
0649デフォルトの名無しさん2017/04/08(土) 11:29:46.28 ID:NjQGfhpX
>>642
むしろこのスレでHaskellを取り扱うのがおかしい。
Haskellが実用言語になれない最大の原因は遅延評価だ。
結局Haskellは生まれた時から実用言語としては死産だった。
遅延評価の難点を示した功績は大きいが次世代言語ではない。

HaskellのFunctorとApplicativeとMonadはどれかひとつにしろと思うが
理論研究のために仕方ない面もある。でも遅延評価だけは論外だ。
Haskellファンは正格評価のHaskell後継言語を作る気はないのか?
0650デフォルトの名無しさん2017/04/08(土) 11:50:38.42 ID:N+5uce1L
>>649
はすけるさんは人類には早すぎる言語として永遠に次世代候補ということでええんちゃう?
0651デフォルトの名無しさん2017/04/08(土) 11:56:16.27 ID:GLhbhenK
カーリー化とかするから遅延評価が無かったら糞重くなるだろ
モナドはファンクターとかのサブクラスだしどれか一つにするとかの問題じゃないし
分かって無いのに変な風評流すのはやめてほしい
0652デフォルトの名無しさん2017/04/08(土) 12:03:27.12 ID:MmqHTY99
>>648
言葉を盗んでるのはオブジェクト指向のほうだから
0653デフォルトの名無しさん2017/04/08(土) 12:05:20.44 ID:GLhbhenK
パラメトリックポリフォーニズムはスケールするんだよ
オブジェクト指向はスケールしない
0654デフォルトの名無しさん2017/04/08(土) 12:07:12.53 ID:VPJTEtSp
次世代に開発年代が含まれるのか否か
0655デフォルトの名無しさん2017/04/08(土) 12:09:31.17 ID:GAoRTfTW
haskellを人類が扱えるようになる日は来るのだろうか
0656デフォルトの名無しさん2017/04/08(土) 12:12:36.86 ID:euqYWZLM
ハスケル信者って、どうして自分の頭の悪さを人類のせいにするの?
0657デフォルトの名無しさん2017/04/08(土) 12:16:18.61 ID:n4HDNcFz
>>649
いや遅延評価の難点をまだ誰も示してないんじゃないか
何かバグがあったとして自己責任論を論破して遅延評価が悪いと示せる者がいないだろ
0658デフォルトの名無しさん2017/04/08(土) 12:24:46.95 ID:FmwPLc4P
>>653
>スケールする
の意味について
0659デフォルトの名無しさん2017/04/08(土) 13:03:54.76 ID:8ssaps+e
問題の発生と問題の顕在化のタイミングか遅延評価では大きくずれるから、バグトラッキングが死ぬほどめんどくさいの。
評価順を完璧に把握してるニュータイプだけが使えばいい。
0660デフォルトの名無しさん2017/04/08(土) 13:05:34.30 ID:GLhbhenK
新しいことについていけないおっさんの慣れの問題だろうな
0661デフォルトの名無しさん2017/04/08(土) 13:22:46.90 ID:NjQGfhpX
>>653
パラメータ多相は型が増えても修正不要だが
クラスはサブクラスが増えるとコード追加が必要という話?
オブジェクト指向言語にもジェネリックがあり
関数型言語にもアドホック多相があるから
それは言語の優劣とは別の話では?
0662デフォルトの名無しさん2017/04/08(土) 13:26:15.96 ID:NjQGfhpX
>>659
Haskellによる開発ははソフトウェアの規模が大きくなると破綻するよね。
厳格なコンパイラにより大部分のバグが摘出されると宣伝しているのに
デバッグの困難さには自己責任論を唱えるのは二重基準だと思う。
0663デフォルトの名無しさん2017/04/08(土) 13:26:20.01 ID:euqYWZLM
アドホック多相はC++やJavaでも普通に使われてるしなあ。
0664デフォルトの名無しさん2017/04/08(土) 13:29:12.80 ID:FmwPLc4P
0665デフォルトの名無しさん2017/04/08(土) 13:44:35.39 ID:jOveR2k3
プログラム運算が上手く整備されたら、高速化するんじゃないの?Haskellは。
intelのでないのがwwと思ったが、gccの結果と比べたら速かったって記事を見たが、誰か解説頼む。
Fold-Fusionてやつ。
0666デフォルトの名無しさん2017/04/08(土) 13:49:17.43 ID:MmqHTY99
オブジェクト指向の開発論はシステムとコードが肥大化したら
ぼろっかすに崩壊してるじゃん

お前みずほに出稼ぎ行ってこいよ
0667デフォルトの名無しさん2017/04/08(土) 13:50:23.60 ID:v9enVIHU
>>633
そういうの気にしてたら c++ みたいに肥大化するしかないからな。
go はそういう傾向に対するアンチテーゼみたいなもんだよ。
0668デフォルトの名無しさん2017/04/08(土) 13:56:17.81 ID:n4HDNcFz
>>662
二重基準の原因は
宣伝のプロと技術のプロが分業し
なおかつ両者があたかも同一人物であるかのように扱われたこと
0669デフォルトの名無しさん2017/04/08(土) 13:57:58.71 ID:8ssaps+e
>>666
オブジェクト指向は確かに破綻してるかもしれんが、その解決がHaskellかって言ったら嘘だろ。
別方向に破綻してるだけだ。
0670デフォルトの名無しさん2017/04/08(土) 14:10:51.64 ID:jOveR2k3
>>665
Foldでなく、Stream Fusionだった。
Haskell Beats Cusing Generalized Stream Fusion.
てやつ。限定的な領域だけなんかね。
0671デフォルトの名無しさん2017/04/08(土) 14:14:07.91 ID:GWDTEHUp
>>621
なんか数年前のJavaScript思い出した
この手の人らって本当にWeb以外触ったことあるんだろうか
06722017/04/08(土) 14:15:08.34 ID:Ldcg+BSn
>>666
えげつない規模のシステムいくつかあるけど、べつに崩壊してないぞ。
ベンダが悪いんじゃねえの?

最新だ!次世代だ!と言われてるものが陳腐化してきたんだなー、って思うけど、依然として整然とした伽藍を見てる側としては、どれも作り手の問題。
0673デフォルトの名無しさん2017/04/08(土) 14:20:05.74 ID:GWDTEHUp
>>672
運用や仕様段階で破綻してるなんて多々あるけど
情報の統合取れないとかさ
0674デフォルトの名無しさん2017/04/08(土) 14:25:54.37 ID:v9enVIHU
抽象論しか語らず実装がいくら待っても作られない現場
技術の詳細を知らず理解しようともしない管理側
この両方の責任の擦り付け合いによってプロジェクトの破綻する。
0675デフォルトの名無しさん2017/04/08(土) 14:55:43.37 ID:N+5uce1L
>>671
システムプログラミングといいつつアプリケーションプログラムしか書いてない連載…
0676デフォルトの名無しさん2017/04/08(土) 15:05:55.58 ID:n4HDNcFz
責任というのは建前で実質的には損失を擦り付ける
損得がないオープンソースなら責任を取ることは損失ではなくむしろ名誉かもしれない
06772017/04/08(土) 20:47:33.19 ID:/ZbQjSbY
>>673
そりゃ、手戻りを防ぐという名で、実質手戻りをさせないところくらいでしょ。
運用が変わるから仕様変更して当然だし、仕様変更するなら設計変更して当然なんだから、それ認めれば歪さ減るし、むしろこなれてくよ、マジで。
0678デフォルトの名無しさん2017/04/08(土) 20:58:30.62 ID:cXe/TGOq
>>677
でも納期は変わらないんですね。
06792017/04/08(土) 22:19:44.38 ID:/ZbQjSbY
>>678
納期が遅れるどころか、納期の見積もりからし直してもらうよ。発注できないし。
その中で「間に合わないなら2次開発にまわすから、2次開発でどこへでも頼めるようにきちんとやりきって納品物に引き継ぎ用の内部仕様書を追加してね」って言う感じ。
基本は伸ばしても別のところに頼むことは少ないけど。
0680デフォルトの名無しさん2017/04/09(日) 00:03:51.49 ID:1d0tPbji
>>666
みずほがC使おうがJava使おうがHaskell使おうが
崩壊するもんは崩壊する
ジャップランド土人にマネジメントなんて不可能なんだよ
0681デフォルトの名無しさん2017/04/09(日) 01:28:57.65 ID:tAppFcfW
Clojureすこ��
0682デフォルトの名無しさん2017/04/09(日) 05:46:19.55 ID:sHxSc8xQ
>>642
Haskell好きだけど、smalltalkと同じで純粋過ぎて実用では普及しないと思う。
0683デフォルトの名無しさん2017/04/09(日) 06:37:30.75 ID:bWQLB/aV
普及しないのは純粋とか学習難度ではなく
遅延評価という致命的なデメリットのせいだから。

全部自分で書いたコードならともかく
他人の書いた謎にメモリ大量使用するHaskellのコードを
デバッグしてイチイチ原因特定出来るかよって話。
0684デフォルトの名無しさん2017/04/09(日) 06:40:08.81 ID:sHxSc8xQ
>>655
Haskellはプログラミングに拡張された数学そのもの。
本質的には整数、実数の集合の様に特徴で分ける型。
等価や比較、逐次処理などの機能で分けた型クラス。
その二つを数学に追加したらもうHaskell。
遅延評価やパターンマッチは数学をプログラミングにほぼそのまま持ち込むための手段と言って良い。

モナドとかファンクタは型クラスの一種でしかない。
算数や数学知ってれば、型と型クラスの概念覚えればそれでおk。

型クラスがオブジェクト指向のインターフェイスに似てるってのは、自作の型に=や<とか使いたかったら型クラスのインタンスとして登録する為に=や<を使える様に自作の型用の実装を書くから。
まあ、基本的な型クラスは型定義の後ろにderiving (Eq,Show)とかで自動実装してくれるんだが。

難しいのはモナドやファンクタであって、それはHaskellの特徴だがHaskell固有じゃない。
Haskellそのものはとても簡単。
0685デフォルトの名無しさん2017/04/09(日) 06:50:17.48 ID:bWQLB/aV
それと型推論も諸悪の根源だな
型推論のせいで型宣言を省略したコードが氾濫してる

他人と共同作業するように作られてない言語だから
個人の趣味レベルのプログラミングにしか基本使われない
0686デフォルトの名無しさん2017/04/09(日) 07:14:57.76 ID:sHxSc8xQ
>>683
はて?
foldrとかみたいなリストから値になる様なのを再帰で書く以外は遅延評価でもそんなにメモリ消費しないはずだが。。。
リストから値は末尾再帰でループになる。
リストからリストはそのままで遅延評価のお陰でループとして取り扱うし?
IOモナドの再帰関数もループになるし。。。
まあ、元々手続き型よりメモリ消費するのはHaskellの性だから、そんなにメモリ気にするなら関数型言語使う事自体が間違ってる。
他人のHaskellコード手直しするとか無いからかもだが。
ネットに落ちてるコードをもう少し短く書けるだろ!って書き直して動かして見たぐらいか。

マルチスレッドを遅延評価が邪魔してシングルスレッドで動くってのはチャンク外しが面倒だが、メモリで問題になったことないな。
まずメモリより実行速度の方が先に問題になる。

私が実用じゃないと感じるのはライブラリとか、速度求めると結局手続き型っぽくなって、じゃあ手続き型言語でいいじゃんってなる所。
Haskellの楽しい部分は実用ではなりを潜める。。。

言語としては一番自分にしっくり来るんだが、好きな言語と作りたいものを作りやすい言語が違うジレンマよ。。。
C#が作りたいものを作りやすいって意味では一番かな。
0687デフォルトの名無しさん2017/04/09(日) 07:18:17.78 ID:sHxSc8xQ
>>685
コーディング規約でトップレベルの関数だけには型宣言必須とかすればええやん。
どんだけ自由な職場環境よ。
そもそもHaskellでグループ開発する仕事自体経験ないわ。
そんな環境存在するのけ?
0688デフォルトの名無しさん2017/04/09(日) 09:16:16.24 ID:yIbUPAX9
趣味レベルだと、他人の書いたフリーソフトはコード読む前にテストするね
使えないと思ったらコード読まずに捨てるね

この方法で職場で利益を出せないという根拠がどこにあるのかね
趣味レベルでも利己的に行動しているのは同じなんだけど
0689デフォルトの名無しさん2017/04/09(日) 09:47:18.43 ID:YX7QQL6a
>>685
そりゃないだろ
外向けで型省略はありえないし
内部なら何使おうが自由だろ
Haskellに限らず

何でも叩けば良いってもんじゃない
0690デフォルトの名無しさん2017/04/09(日) 10:29:08.57 ID:1d0tPbji
>>685
型なし言語の悪口はヤメタマエ
0691デフォルトの名無しさん2017/04/09(日) 10:34:51.41 ID:A51Ag1E0
型宣言してないってことは、汎用的に全ての型を扱えるべきなんだよな。
0692デフォルトの名無しさん2017/04/09(日) 11:16:08.50 ID:YEkpvkON
>>685
IDE使えば型出てくるだろ
0693デフォルトの名無しさん2017/04/09(日) 11:27:13.79 ID:yIbUPAX9
それにしてもPythonのノーガード戦法は大成功だったね
ガードに手間をかけたHaskellはコスパ悪い疑惑をかけられて評価が低い
0694デフォルトの名無しさん2017/04/09(日) 11:54:32.87 ID:ZljUPaIU
>>687
結論は、「ハスケルはコード規約でガチガチに縛られた土方専用言語」ということか。
0695デフォルトの名無しさん2017/04/09(日) 11:55:54.26 ID:ZljUPaIU
deriving Showしない値を表示することすらできないマゾ言語
0696デフォルトの名無しさん2017/04/09(日) 12:05:40.33 ID:1d0tPbji
>>694
SI戦士ジャップランド土人に最適やンけ!

でもジャップは低脳池沼低学歴ばっかやから
やっぱりハスケルは無理なんやろな(涙)
0697デフォルトの名無しさん2017/04/09(日) 12:47:24.08 ID:LWvMrATl
グループでコードっつってるけど
型なんてないほうがコードは読みやすいんだけど

そしてグループでコーディング必須ってそれ効率悪いってことだよね

どれくらいの納期でどれくらいの機能を作らないといけないかによるけど、たいてい1機能は一人で実装仕切るよね、変な仕事分割してんじゃね

そりゃオブジェクト指向ならクラスが分割単位だけど、僕らの分割単位は関数なんでね

協調して決めないといけないのはデータレコードの設計、インターフェースであってプログラムにおいて重要な機能の作り込みにおいては完全に分業できる

わかるかな、重要で難しいのはインターフェースの規約をうまく設計することであって、クラス設計をうまくやることじゃない

この単純な規則がわからない馬鹿はみずほみたいな事態をまねく
06982017/04/09(日) 12:59:03.78 ID:DQhpfsZQ
>>684
だから、事務屋には向いてない。
数学に近くてもでも、統計屋とか物理屋にも向いてない。
事実はモデル化すると必ず乖離すると理解してるしな。

単にそれだけ。純粋数学がartでなくscienceである根本。

>>685
型推論は便利だよ。
それが何であろうが良いんだから。インターフェイスで固めるJavaより、推論のある言語の方がはるかに保守性高いよ。
0699デフォルトの名無しさん2017/04/09(日) 13:01:32.29 ID:LmbO/Apg
Pythonは現代の世相に合っている
2.7と3.xで紛争してる辺りが
0700デフォルトの名無しさん2017/04/09(日) 13:04:10.56 ID:1O2xBFKG
Python4が現れて三つ巴に
0701デフォルトの名無しさん2017/04/09(日) 13:12:59.60 ID:yIbUPAX9
>>697
オブジェクト指向「うっせーなGUI作ってんだよ」
0702デフォルトの名無しさん2017/04/09(日) 13:16:17.69 ID:ZljUPaIU
>>697
おまえはまだそのレベルか。
マトモなインターフェイス設計は、きちんとした機能設計とクラス設計が前提なんだぜ。
0703デフォルトの名無しさん2017/04/09(日) 13:19:50.93 ID:k7pBYoHG
型推論が便利なのは省略した本人だけ
Haskellは1人で書いて1人で手直しする言語
他人のコードを流用しにくいのは
普及においては致命的なデメリット
0704デフォルトの名無しさん2017/04/09(日) 13:26:19.44 ID:LmbO/Apg
時代の流れだからしゃーない
Haskellに限らずこのスレでよく話題にあがるGoもRustもScalaもSwiftもみんな型推論積んどるし
Javaとかいう土人専用化石言語すら推論入れるだ入れないだとJSRで議論始める位だし
0705デフォルトの名無しさん2017/04/09(日) 13:27:19.63 ID:Cfl4+wb2
C++ にすら型推論 auto が導入されたしね
07062017/04/09(日) 13:32:29.47 ID:DQhpfsZQ
>>703
そうか?型推論使ってくれてると便利だけど。
修正しにくいってどう修正しにくいの?
0707a42017/04/09(日) 13:44:46.10 ID:DSOZ4McD
こちらで人工知能開発環境abc系(えいっ、びー、死ー刑)の開発を行ってますが、こちらでの
議論も可能でしょうか?
http://echo.2ch.net/test/read.cgi/tech/1488681839/
0708デフォルトの名無しさん2017/04/09(日) 14:18:02.14 ID:1d0tPbji
>>707
ようこそ、次世代言語(ネクスト・ジェネレーション・ランギュエージ)スレッドへ
共に遙かなる高みから宇宙を目指しましょう
0709a42017/04/09(日) 14:47:06.04 ID:DSOZ4McD
>>708
ありがとうございます。

統合失調症により、情報制限をしないといけないと勘違いしてないので、cygwinでしか動かず、
使いづらいと思うんですよ。メモリの保存機能とかもまだないですし、意見をたくさん聞きたいです。
強制入院で日曜日しか病院から出られず、VisualC++なども上手くdownloadできないままなのです。
5月中旬あたりに退院できそうな話が出てるので、それから本格化していく予定ですね。
0710デフォルトの名無しさん2017/04/09(日) 14:52:06.73 ID:1d0tPbji
>>709
陰謀により囚われの身なのですね
まずは奴ら倒し奴らの手から一刻も早く逃れることを
最優先に考えましょう

奴らの言いなりに薬などを飲んでは絶対にいけませんよ
それは脅威を封じる奴らの常套手段です

あなたは監視を受けています。
お気を付けて。
0711デフォルトの名無しさん2017/04/09(日) 15:02:07.06 ID:YX7QQL6a
>>695
意味不明
Javaやc++もtoStringとか実装しなきゃ文字列か無理だろ
0712a42017/04/09(日) 15:06:31.53 ID:DSOZ4McD
>>709
ご意見ありがとうございます。

薬は飲まないと、アメリカの軍事のお偉いさんとエスパー通信できる状態になったりと、
対照実験が終わっていますが、日常生活に支障が出ることもあります。薬は飲みたくない
のですが、薬を飲まないと、
https://ja.wikipedia.org/wiki/%E7%B5%B1%E5%90%88%E5%A4%B1%E8%AA%BF%E7%97%87
被毒妄想:飲食物に毒が入っていると思い込む[11]。
に該当し、更に症状がひどくなったと思われて、入院期間が長期化します。今は辛抱して、
薬を飲むしかないですね。注射は宇宙に救われ、打たないことにはなりましたが。
忌名は1秒でなんでも計算できますが、これも使うと、
関係妄想:周囲の出来事を全て自分に関係付けて考える。「あれは悪意の仄めかしだ」
「自分がある行動をするたびに他人が攻撃をしてくる」などと思い込む。
誇大妄想:患者の実際の状態よりも、遥かに裕福だ、偉大だなどと思い込む。
に該当し、制限を受けています。しかしながら、その紛争のおかげで、バイアスの無い状態で
人工知能を開発する時間をいただいています。今日はDeepo Roaningというアルゴリズムを
完成させるためのニューラルネットの本を持参しに家に一旦帰ってる最中です。

2chの皆様方と一刻も早く人工知能等を開発できることを願っています。
0713デフォルトの名無しさん2017/04/09(日) 15:12:09.02 ID:YEkpvkON
何こいつ怖いガクブル
0714デフォルトの名無しさん2017/04/09(日) 16:20:08.10 ID:ZljUPaIU
「うんこって汚いよな」と言ったら、「ゲロも汚いだろ意味不明」と返されたような気分だw
0715デフォルトの名無しさん2017/04/09(日) 17:50:55.73 ID:YX7QQL6a
>>714
先程から反論の具体例を一つも示せてないが、
お前の言う勝手に表示してくれる言語とやらを例示してくれ
0716デフォルトの名無しさん2017/04/09(日) 18:01:29.26 ID:ZljUPaIU
MLもF#も代数データ型定義したら自動的に表示可能だが知らんか?
0717デフォルトの名無しさん2017/04/09(日) 18:25:50.04 ID:d4QOn6J6
ガイジごっこやめろや
0718デフォルトの名無しさん2017/04/09(日) 18:45:16.86 ID:YX7QQL6a
>>716
すまん何言ってるんだ?
少なくともF#はリフレクションでも使わない限り、Obj.ToStringぐらいしか動かないはずだが
まさかそれのこと?
0719デフォルトの名無しさん2017/04/09(日) 19:51:31.77 ID:ZljUPaIU
>>718
君さあ、ハスケル書いたことないでしょ
0720デフォルトの名無しさん2017/04/09(日) 19:53:23.34 ID:YX7QQL6a
>>719
なんだただのクソ野郎か
0721デフォルトの名無しさん2017/04/09(日) 20:41:47.90 ID:ZljUPaIU
代数データ型すら知らない人が参加していいスレじゃないよ?
0722デフォルトの名無しさん2017/04/09(日) 20:59:21.10 ID:LWvMrATl
これはガイジのふりしてんの?
0723デフォルトの名無しさん2017/04/09(日) 21:01:54.07 ID:f2e8qNbG
代数データ型って何だよちゃんと的をつけろ的を

ADTであることと定義しただけで表示可能なことに関係があるなんて聞いたことが無いし、
F#等がやってるのはderiving Show相当を自動で作ってるだけだし、
どういう風に表示されるかなんて言語仕様には無いからそれに頼ったコードは書いちゃいけない
デバッグやREPLで遊ぶときにちょっと便利なだけの機能だと使っていれば分かるだろうに
0724デフォルトの名無しさん2017/04/09(日) 21:14:34.90 ID:ZljUPaIU
>>723
普通は「代数データ型」でも通じるんだけどねえw

> 代数データ型って何だよちゃんと的をつけろ的を

ごめんね、「代数的データ型」にしないと検索できなかったのかな?
恥ずかしい思いさせちゃってごめんねww
0725デフォルトの名無しさん2017/04/09(日) 21:20:05.30 ID:f2e8qNbG
1行しか読めない可哀想な人だったのね。もう二度と難しいことは聞かないから安心していいよ。
0726デフォルトの名無しさん2017/04/09(日) 21:40:57.79 ID:tAppFcfW
プレゼンの基本は流し読みでも理解できるように
誰もまともに読まない2chならなおさらである
0727デフォルトの名無しさん2017/04/09(日) 22:03:16.10 ID:YX7QQL6a
今度は開き直りか
AlgebraじゃなくてAlgebraicだから「代数的」だぞ
0728デフォルトの名無しさん2017/04/09(日) 22:08:00.96 ID:tAppFcfW
そんなことよりClojureの話しようよ��
0729デフォルトの名無しさん2017/04/09(日) 22:12:22.92 ID:YX7QQL6a
>>728
clojure最近触ってないな
leiningenの代替とかできた?
0730デフォルトの名無しさん2017/04/09(日) 22:28:26.98 ID:LWvMrATl
たぶん参照型と値型、正格評価と遅延評価の違いについて議論したかったんだろうけどガイジすぎて物事を簡潔に説明できなかったんだ廊な

ガイジはここまで丁寧に説明されても噛み付いて来るからガイジなんだよなあ
0731デフォルトの名無しさん2017/04/09(日) 22:29:40.28 ID:tAppFcfW
>>729
そんな代用出てないと思うけど、Leiningen じゃダメなのですか?��
0732デフォルトの名無しさん2017/04/09(日) 22:51:35.12 ID:1d0tPbji
JVMのくせに動型のゴミ言語clojure厨はPHPでも書いてろゴミ屑
0733デフォルトの名無しさん2017/04/09(日) 23:38:02.89 ID:tAppFcfW
>>732
あなたはゴミじゃない��
0734デフォルトの名無しさん2017/04/09(日) 23:52:08.69 ID:1d0tPbji
>>733
だがお前はゴミだ
0735デフォルトの名無しさん2017/04/09(日) 23:55:21.95 ID:tAppFcfW
>>734
でも本当は?
0736デフォルトの名無しさん2017/04/10(月) 00:28:51.43 ID:BpI1rs+N
>>735
ゴミ!死ね!型無し池沼糞言語死ね!
0737デフォルトの名無しさん2017/04/10(月) 00:51:18.88 ID:CykROrgz
動的型付け言語を型無しって呼ぶ奴こと池沼のゴミ
0738デフォルトの名無しさん2017/04/10(月) 02:04:22.92 ID:IhGuSZfb
唐突にHaskellクイズ〜

main = do
cs <- getContents
putStr cs

実行結果はどうなるでしょう?
1.一行入力したら、そのまま一行出力して終了
2.一行入力したら、そのまま一行出力するを繰り返す
0739デフォルトの名無しさん2017/04/10(月) 02:06:38.86 ID:rnnGdTpx
GAE/Go触ってみた
webアプリケーション公開するならこれでいいわ
VPSレンタルするのがアホらしくなる
0740デフォルトの名無しさん2017/04/10(月) 05:14:17.99 ID:Bqb/3XEY
>>739
dbはdatastore使ってるの?使いづらくない?
0741デフォルトの名無しさん2017/04/10(月) 05:24:41.21 ID:qMbArUCC
>>725
代数データ型を知ってれば >>723 の2行目以降は全くのナンセンスだとわかるはずだけど。
きみにはそれが理解できないんでしょ?代数データ型を全く知らないから。
だからハスケルやったことない人だってバレバレなんだよ。

わかったかい?おばかさんw
0742デフォルトの名無しさん2017/04/10(月) 06:46:18.43 ID:Z2z2+xyG
なんか言葉を覚えたての子供がはしゃいでるな

>>741
この話は文字列変換の事だから、代数的データ型についての話は本質的に関係ないよね
マーシャリングができるとかでもないし

そのまま議論すればいいものを、間違いを認められず蛇足に意固地になって煽る様がとても滑稽
ガイジ扱いされても仕方がないね
0743デフォルトの名無しさん2017/04/10(月) 06:49:40.88 ID:qMbArUCC
ああ、>>742は本当に問題の本質を理解できてないんだな。かわいそうに。
0744デフォルトの名無しさん2017/04/10(月) 06:58:03.67 ID:BpI1rs+N
朝から次世代に熱心だな
0745デフォルトの名無しさん2017/04/10(月) 07:01:03.43 ID:ETR5lUxM
>>743
君が自分でよくわかってないんだよね
問題の本質は代数データ型云々ではなく、文字列変換処理の組み込みの話なんだから

みんな丁寧に答えてるのに、 煽り倒せればそれで満足なんて可哀想な人だね
0746デフォルトの名無しさん2017/04/10(月) 07:04:19.36 ID:qMbArUCC
>>745
うへー、toStringバカ?
型システムの問題だということが理解できてない?
かわいそうすぎる。。。
07472017/04/10(月) 07:15:53.61 ID:SH+zL9uE
とりあえずガイジといえば、かった気になるのもいかがかと。
0748デフォルトの名無しさん2017/04/10(月) 07:30:21.57 ID:yQdu1Sgd
>>746
本当にそれでいいの?
ただの事前の実装の有無と利便性の話で
むしろ型で見るなら、暗黙的動作を型で制御できない方が問題だけど
0749デフォルトの名無しさん2017/04/10(月) 07:31:35.04 ID:F2jNQBvs
>>747
それは失礼した
07502017/04/10(月) 07:36:17.38 ID:SH+zL9uE
まあ型って根が深いからな。
表示関数側でいろんな型を文字列に変換して表示するか、
色んな型に文字列化関数を持たせて表示関数に投げるかでも設計から変わるし。
0751デフォルトの名無しさん2017/04/10(月) 07:38:44.81 ID:jEveIq4j
pythonは今どういう型の状態か錯乱することがある
0752デフォルトの名無しさん2017/04/10(月) 07:51:34.60 ID:qzWEprT0
int8 とか int32 なんて要らないよな。
全部 complex でいいよ。
0753デフォルトの名無しさん2017/04/10(月) 09:10:18.71 ID:I+h/NYJQ
computer language complex
0754デフォルトの名無しさん2017/04/10(月) 12:00:24.70 ID:8Fd0gRuq
ReadとShowはMiranda時代からの鬼っ子だからな
そこを理論上綺麗にしたのがMonadic IOだったのだが
今でもまだ叩けば埃が出る
0755デフォルトの名無しさん2017/04/10(月) 12:29:03.38 ID:Bqb/3XEY
ところで話変わるけど、
俺、新年度早々から腸閉塞で入院中ださ
0756デフォルトの名無しさん2017/04/10(月) 18:14:03.22 ID:rnnGdTpx
>>740
datastoreだよ
他のNoSQLにしても制限は同じだし
スケールアウトのしやすさを重視したほうがいいっしょ
業務用アプリ(帳票)つくるわけじゃないから、そんなに複雑なクエリ使わんしさ
0757デフォルトの名無しさん2017/04/10(月) 18:16:02.93 ID:rnnGdTpx
spanner使うことも考えたけど、価格が高すぎて無理だな
放置系webアプリには向いてない
0758デフォルトの名無しさん2017/04/10(月) 18:45:20.78 ID:Bqb/3XEY
>>756
なるほど。サンクス
0759デフォルトの名無しさん2017/04/11(火) 04:59:01.04 ID:sWLBbUjr
C++ ラムダ式 型推論 スマートポインタ foreach文
これもう次世代言語だろ
0760デフォルトの名無しさん2017/04/11(火) 05:23:31.11 ID:9INkT/1L
型が欲しくなってるPythonユーザはJuliaを使え
0761デフォルトの名無しさん2017/04/11(火) 06:12:03.28 ID:nJGqJspN
Python2にもPython3にも型はあるが?
>>> type("abc")
<type 'str'>
0762デフォルトの名無しさん2017/04/11(火) 06:42:46.06 ID:cxxmNlgy
>>698
むしろHaskellはそれらにこそ向いてる。
それらはライブラリ無くても数学モデルから自分で関数書き下しやすい。

むしろ普通のアプリ書くためのライブラリ不足とか、あってもGUI書くと普通の言語っぽくなって「じゃあ普通の言語で良くね?」ってなるのが問題。
関数型っぽくGUIを書くとかじゃなく、XAML+C#みたいにGUIを完全に別言語にして、バインディングされた関数が呼ばれる様にした方が自然だと思う。
MVVMもしくはそれをもう一歩進めたものこそHaskellのGUIに相応しい。

あとJpegエンコーダ/デコーダとか、やる気無さすぎ。
作りかけばっか。
スマフォ向けアプリ作れないか、作る情報が少ないのも問題。
何つーか、研究機関かエンタープライズ用途。
0763デフォルトの名無しさん2017/04/11(火) 06:45:21.29 ID:CVg4OJe7
このスレを読んでたらGolangを学びたくなってきた・・・
Haskell開発環境はSDDの無駄遣いだからアンインスコしとこうっと
0764デフォルトの名無しさん2017/04/11(火) 06:50:42.12 ID:zPfyv50a
SuperDynamicDocuments
0765デフォルトの名無しさん2017/04/11(火) 07:09:53.64 ID:cxxmNlgy
>>694
手続き脳に毒された後だと苦労するかもしれんが、まっさらな新人に教える上じゃJavaより教えることは少なくて済む。

コマンドの入出力からしてデータ、ロジックと外部とのやりとりを切り離すことを強制される(GUIとロジックの切り分けとかしやすいと言うか、強制される)とか、
MVC/MVVMと言われるのをHaskellだと言語レベルで強制されるあたりは不便と言えば不便だが、データと関数を再利用し易い。

手続き型だとコマンドでテキストに行番号を付けて出力する時、テキスト読んで、行毎に出力しながら行番号付ける書き方が主流だが、
Haskellだとテキスト読んで、行に分割して、行番号付けて、それを結合してテキストに戻してから出力を強制される。

逆に言えば、テキスト入れる変数や行番号付ける関数はGUIにもそのままコピペで使えるくらいまで部品化される。
手続き型だとそう言うのは設計次第。
0766デフォルトの名無しさん2017/04/11(火) 07:28:43.19 ID:XuktN477
>>765
> >>694
> 手続き脳に毒された後だと苦労するかもしれんが、まっさらな新人に教える上じゃJavaより教えることは少なくて済む。

その後その新人にどんな仕事させるのさ?
0767デフォルトの名無しさん2017/04/11(火) 07:35:14.38 ID:cxxmNlgy
Javaでやってるのと同じこと。
Haskellが普及したらの話だが。
ドカタ向けか?って質問にYesと答えた迄。
まあ、Haskellの仕事なんて今後も無いとは思う。
0768デフォルトの名無しさん2017/04/11(火) 07:42:16.97 ID:nJGqJspN
>>762
Haskellは、単に数式をコードにするだけなら簡単だが、「効率良い」コードにするのは極端に難しい。
バグりにくいが、型エラーとして検出できなかったバグを取り去るのも極端に難しい。
だから作りかけライブラリばかりになる。

Haskellを実用で使うなら、数年前に流行したエンドユーザプログラミングみたいな領域だろう。
0769デフォルトの名無しさん2017/04/11(火) 08:01:49.33 ID:cxxmNlgy
そこやね
えらい品質の高いコード書けて、再利用性高められるのに、普通の言語より長いコンパイルをじれったく待った結果がRubyやPythonと同程度の処理速度ってのとライブラリの貧弱さが致命的。
だから結局Haskellは学ぶべき言語だけど、それを他の言語で活かす形になる。

遅延評価に関係するバグはRealWorldHaskell無かったらハマってたな。。。
0770デフォルトの名無しさん2017/04/11(火) 08:04:13.48 ID:CVg4OJe7
Haskellの使い道を無理矢理探したらそうなるけど

先に何をしたいか決めて
後からHaskellが最適な言語だなんて結論に至る分野が見当たらないよね
07712017/04/11(火) 08:12:59.87 ID:AksdZOrl
>>762
数学モデル、が実務と乖離しがちだと言ってるんだよ。
伝票を軸にしたワークフローは手続きとして処理するのが一番当たり前で妥当なワークフローだし、
パラメトリックに設計した3DCADのデータに対して何らかの手を加えるのであればヒストリに対して手を加えるのが正規ルート。

数学モデルはあくまでモデルであって、現実ではない。
だから、シミュレートの前提に○○法で、と注記を入れる。その○○法がニュートン力学の範囲では成り立つが、ミクロな話では正確でないことがわかるように。

GUIなんか要らんよ。300台のクラスタに対してGUIで制御するとか馬鹿そのものだろ。
MVVM自体は否定しないけど、入力値と出力値はフィールドわけましょうねとかやってると、行き着くところはダム端のTUIにいきつくようなもん。

エンコーダに関しては大体同じ意見だが、それこそ純粋数学ではなくて、認知科学と言うか生理学的なモデルに対して誤魔化しをかけるエンコーダが増えてる中で、純粋数学について熱く語られても、鼻白んでしまう。

>>768
そーそー。そーなると、フィルタ言語に押し込んで画面で触らせるほうが余程良いんよ。SPSSみたい感じ。
0772デフォルトの名無しさん2017/04/11(火) 08:15:20.36 ID:cxxmNlgy
数学の学習用に良いとは思ったけどなw
数式を実際に動かしてみるのに余計なこと書かないで良いし。
代数的データ型で自然数型作って、「もしこの世界に数字が無かったら?」って例えで動かして見せて数とは何か興味持ってもらったりすると、子供の数学に対する興味も惹き易いんじゃ無いかとか。
07732017/04/11(火) 08:17:58.67 ID:AksdZOrl
>>769
机の上だけでモノ考えて終わる人がライブラリ書くわけ無いし、そもそもRubyやPythonで充分なシーンでHaskell使う必要もない。
Haskellでしかできない!って事があるならば学ぶべき人間は居るかも知れないが、それって「これ以上の高速化は高級言語では無理ですね」に対するアセンブラへの学習のモチベーションと同じ。
もちろんアーキテクチャとアセンブラ知ってれば、最適化がかかりやすいコードが書ける、って意味では学ぶ必要はあるかもしれないけど、だいたいのHaskellの人はそういう観点持ってないからな。
07742017/04/11(火) 08:21:26.37 ID:AksdZOrl
>>772
子供のおもちゃや学習や自分の書いた式の検算に使うなら、Mathematicaやmaximaで十分でしょ。充分に代数においての現実的な答や変形式を教えてくれるし、グラフにもしてくれるぞ。
0775デフォルトの名無しさん2017/04/11(火) 08:29:17.03 ID:cxxmNlgy
>>771
専門家じゃ無いから勝手な想像でしか無いけど、それらはHaskellに限らず苦労するわけで、結局バッドノウハウが蓄積されてるかどうかな希ガス。
すでにその分野でメジャーな言語を除けば、乖離を抑えられたりバッドノウハウ蓄積し易そうなんだが。
まあ、結局餅は餅屋なんだろうけど。
0776デフォルトの名無しさん2017/04/11(火) 08:29:59.04 ID:1lDZVwtU
この長文、slotとか嵐AAと同じくらい幅取ってて草
0777デフォルトの名無しさん2017/04/11(火) 08:40:52.83 ID:CVg4OJe7
まあ研究者ならHaskellなんて半端なオモチャじゃなく
R言語のように完全に特化した言語を使うよね
0778デフォルトの名無しさん2017/04/11(火) 09:17:59.63 ID:9INkT/1L
コンパイラの論文だとHaskell(というかML系)多いよね
Rこそマジもんのオモチャだな、面白いけど
07792017/04/11(火) 10:24:32.07 ID:AksdZOrl
>>775
バッドノウハウと言うか、手続きをシステム化するなら手続き型で、に尽きる。
わざわざモデル化し直して乖離を抑えるってのは無駄そのものだよ。
Haskellとかの強硬派は、何が何でもHaskellを使うがために歪で適当なモデル化するのが問題。Haskellだからこそ苦労するので、バッドノウハウの問題じゃない。
>>776
ごめん、パラグラフの途中で改行するのが生理的に気持ち悪いだけだから、
適宜改行するように心がけるわ。
0780デフォルトの名無しさん2017/04/11(火) 10:46:08.72 ID:MhYRbK9E
>>778
実用技術として未完成ってこと。
完成した部分の美しさは他の追随を許さないけど、突然目の前で道路が切れて断崖絶壁に落ちる。
0781デフォルトの名無しさん2017/04/11(火) 10:53:56.22 ID:9INkT/1L
>>780
「実用技術」って言葉の理解に俺と違いがあったみたいだけど、まあ分かるわ
Rは「実用技術」として完成してるなw
0782デフォルトの名無しさん2017/04/11(火) 11:10:46.33 ID:CVg4OJe7
数学モデルから関数書き下しやすいってのも怪しい所だけどな

Hackage眺めると分かるけど
実行速度の為にIOArray使ったりと
特殊なテクニックを駆使しないとロクに使えないポンコツ関数になるし

Haskellの自慢で頻繁に出される
フィボナッチ数列のコードなんかはその典型
0783デフォルトの名無しさん2017/04/11(火) 11:48:36.98 ID:DhbIYplJ
まあね。
実行速度拘らないなら書きやすいけど、結局実行速度欲しいから別の言語行く感じ。
CPU速くなったから問題じゃ無くなったと言っても、元々速い言語ならさらに速いわけで。
0784デフォルトの名無しさん2017/04/11(火) 12:25:48.45 ID:hF7dmyxm
客観的に見るとIOは特殊なテクニックではないぞ

信者の気持ちを忖度しないテクニックではあるが
忖度しないことを特殊と思うかどうかは人それぞれ
0785デフォルトの名無しさん2017/04/11(火) 13:53:37.55 ID:MhYRbK9E
20年前にMLプチブームがあって、今Haskellブームが終わりつつあるが、
次の関数型ブームが来たらその時には実用になるかもな。
0786デフォルトの名無しさん2017/04/11(火) 16:02:28.07 ID:CwLKi0hQ
MLからHaskellとか、C++からJavaとかって後継者気取ってるだけで正式な関係はないよね
Schemeブームが終わってPythonとHaskellに半分ずつ吸収されたと考える方が自然だ
0787デフォルトの名無しさん2017/04/11(火) 16:07:14.97 ID:jCNVV0Lf
>>784
https://ja.m.wikipedia.org/wiki/Io_(プログラミング言語)
07882017/04/11(火) 18:35:14.01 ID:AksdZOrl
>>786
吸収とは随分な。
パクった挙句の蛇足だろ。
さらに歪さに自己欺瞞を重ねたのがHaskellってとこじゃねえの?
Pythonは、メンバメソッドの第一引数がselfみたいな開き直りすら感じる。
CppとJavaに至っては後継でもないし、気取ってすらない。
ユーザが意識だけ高いのも悩みどころだな。あの手の言語は。
実用性皆無でもrustの方が相当まとも。
0789デフォルトの名無しさん2017/04/11(火) 18:44:39.43 ID:AMzfxezX
>ユーザが意識だけ高いのも悩みどころ
てかほとんどのコードの問題がこれに起因してる。
正直に書けばいいのにと思うコードが世の中には山ほどある。
0790デフォルトの名無しさん2017/04/11(火) 19:24:46.91 ID:nJGqJspN
>>786
Haskellの先祖はMiranda。
Javaの先祖はないが、強いて言えば構文はC++、アーキテクチャはSmalltalk、型周りはEiffelの影響が強い。

ところでSchemeってそんなにブームだったか?
むしろRubyからHaskellへの流出が目立つが。
0791デフォルトの名無しさん2017/04/11(火) 20:59:03.93 ID:CwLKi0hQ
Schemeを知らないなら継続も知らないだろうからモナドも理解できない
Haskellが正直に書かないというか何か隠しているものがあるとすれば継続
0792デフォルトの名無しさん2017/04/11(火) 21:04:04.52 ID:nJGqJspN
Rubyにも一応callccはある。99%のルビ厨は使った事ないだろうけどな。
0793デフォルトの名無しさん2017/04/11(火) 21:46:01.73 ID:UT2aAcJz
それはよ言え。
継続知らんくてネットや文献漁ってモナド理解した時間返せよ。。。
0794デフォルトの名無しさん2017/04/12(水) 00:37:40.33 ID:4ODEWlBk
これを見ると分かるように
https://pbs.twimg.com/media/C8tQxI7VYAAl2uK.png
今後のOSはAndroidが主流な訳で
Android上でまともに動かない言語は過去の遺物となるよ
(この場合Webアプリも広い意味でAndroid上に含む)
0795デフォルトの名無しさん2017/04/12(水) 06:01:46.07 ID:T7iXp/Hl
Haskellができる前は遅延型の関数型言語が沢山あって研究者たちが
共通の基盤が無くて困ってた。
それを解決するためにhaskellは研究者たちで協力して作られたのだった。
遅延とは観測した瞬間計算されるということで
光は観測した瞬間、波から粒に変わるのと同じようなこと。
つまりこの宇宙は観測されなければ計算しないように出来ている。
それはなぜかというとこの宇宙自体がシミュレーション世界であって
どこかの世界のコンピューターで計算される世界だから。
詳しく知りたければシミュレーション仮説で調べて見ると言い。
0796デフォルトの名無しさん2017/04/12(水) 07:21:56.30 ID:+63jhcQw
モナドと継続の関連がさっぱり見えない
もしかして継続って継続渡しのこと?
JavaとJavaScriptくらい別物だぞ
07972017/04/12(水) 08:14:18.36 ID:PqTsbe1L
>>795
遅延評価に関して言えば、そんな小さな話じゃない。
Why Functional Programming Mattersにも書いてある程の古典的な話。
要は、終わらない関数を使って終わる関数を書けるよねって所に行き着く所が肝であって、いわゆる手続き型言語言語で言うジェネレータやらイニュメレータがあったらいいよねって話。
純粋かどうかで言えばSchemeもF#もErlangも不純だし、そもそもMLもあんまり覚えてないけど不純にも書けたはず。
逆に言えば、どんな言語でも純粋には書ける。
0798デフォルトの名無しさん2017/04/12(水) 08:35:42.91 ID:q8AIUkhS
遅延評価を一番活用してる言語はR
0799デフォルトの名無しさん2017/04/12(水) 08:48:13.10 ID:T7iXp/Hl
全くそいう話じゃないよ。
もっと勉強したほうがいい。
0800デフォルトの名無しさん2017/04/12(水) 08:48:47.80 ID:T7iXp/Hl
>>799は798へのレス
0801デフォルトの名無しさん2017/04/12(水) 08:49:25.38 ID:T7iXp/Hl
間違えた
>>799は797へのレス
0802デフォルトの名無しさん2017/04/12(水) 08:58:03.74 ID:T7iXp/Hl
>>796
遅延評価を継続でどう表現したらいいか考えてみるといいよ。
0803デフォルトの名無しさん2017/04/12(水) 08:59:21.81 ID:q8AIUkhS
自分の狭い知識でつくったとりあえずの理屈を、
さも世界の主流であるかのように上から目線で語るところが
エンジニアガイジのゴミな所
知らないのにどうしてそんな偉そうに首突っ込めるんだろうね
これは人格批判なので無視してください
0804デフォルトの名無しさん2017/04/12(水) 09:02:05.38 ID:Q4aQcbYH
たしかに
0805デフォルトの名無しさん2017/04/12(水) 09:42:25.63 ID:bmLe4npf
>>795
意味があるのは最初の3行だけ。それ以降はナンセンス。
ゲーデルとかヴィトゲンシュタインの表層だけ知ってドヤ顔している馬鹿みたいだからやめとけ。
否定も肯定もできない仮説をありがたがるのは高校生までにしとけ。
0806デフォルトの名無しさん2017/04/12(水) 10:06:57.36 ID:T7iXp/Hl
光の位置が遅延評価されるのは仮説ではなく事実なわけだが・・・
物質的実在論では光が、なぜ観測されるまでは位置が不確定なのに観測された瞬間
位置が決まる意味がうまく説明できないんだよ。量子的実在論では説明ができる。
もう一つ言うと量子的実在論の登場によって
物理的実在論を無条件に肯定する理由もなくなるということだ
その意味でも全く意味がある。
0807デフォルトの名無しさん2017/04/12(水) 10:13:09.32 ID:Q4aQcbYH
こいつのアスペ具合エンジニアガイジ超えてんな
0808デフォルトの名無しさん2017/04/12(水) 10:18:45.10 ID:T7iXp/Hl
もしこの世界がシミュレーションだとしたらそれを隠そうとする意志を持つ人間に
まぎれて行動するAIはどんな行動を示すだろうね。
0809デフォルトの名無しさん2017/04/12(水) 10:33:27.62 ID:T7iXp/Hl
言えることは、この世界を作り出した神(プログラマー)は計算量節約の為に遅延評価を採用したこと。
言い換えると、遅延評価関数型言語の標準言語Haskellは神の使う言語に一番近いこと。
0810デフォルトの名無しさん2017/04/12(水) 10:46:10.65 ID:JbjRmmGH
知らないのに偉そうに語る奴は少数派だからな
偉そうに問い詰めるのが世界の主流
「何の役に立つの?」「さっぱりわからない」「中学生でもわかるように説明しろ」
0811デフォルトの名無しさん2017/04/12(水) 10:49:43.82 ID:wlijzWAe
少なくともこの世界でプログラミングするのは神じゃなくて我々人間なんですけどねえ。
神とやらには使いやすいかもしれんが遅延評価言語のクソみたいなのデバッグのしにくさを人間に押し付けないで欲しいもんですねぇ。
0812デフォルトの名無しさん2017/04/12(水) 11:15:04.61 ID:T7iXp/Hl
我々の神の住む高次の世界では連続の公理、選択公理も必要のないそれらに関す概念が自由に扱える
世界であろうが、この世界は、所詮制限された宇宙、神の数学を扱えない以上、複雑さが付きまとうのは宿命だよ。
それを回避して我々が別の世界の神になることは到底不可能であろう。
0813デフォルトの名無しさん2017/04/12(水) 11:20:59.68 ID:wlijzWAe
別に神になるためにプログラミングしてねえしなぁ……
次世代言語とは別に「シミュレーション世界でアセンションするための言語スレ」でも立ててそこでやってくれませんかねぇ。
0814デフォルトの名無しさん2017/04/12(水) 11:47:08.01 ID:T7iXp/Hl
次世代ではシミュレーション世界を構築することも必ず必要になるよ。
今の個人の必要性と次世代の必要性とは切り離して考える必要があるのは明らか。
0815デフォルトの名無しさん2017/04/12(水) 12:00:35.50 ID:zuO65uWi
オカ板でやれ。
08162017/04/12(水) 12:40:34.92 ID:PqTsbe1L
>>803
知らないのにどうして、は逆にそっちに聞きたいけどな。
なぜ俺が知らないと知っているのか自明じゃないし。
08172017/04/12(水) 12:43:04.76 ID:PqTsbe1L
>>809
計算力を節約するためではない。
0818デフォルトの名無しさん2017/04/12(水) 12:49:01.17 ID:T7iXp/Hl
>>817
話についていけないなら黙ってたほうがいいよ。
0819デフォルトの名無しさん2017/04/12(水) 12:51:41.95 ID:7Zbwqyi6
現世規模のシミュレーション構築なんて「次」世代どころじゃねーだろ。
それが現実的に「次」になる世代になったときに議論しろって話だ。
0820デフォルトの名無しさん2017/04/12(水) 13:01:23.28 ID:udCjUJ6f
やばいなオカルトマンと屁理屈マンしかいねえ
08212017/04/12(水) 14:55:01.10 ID:PqTsbe1L
>>818
だってオラクルがあれば計算量0だし、
そもそも計算量に上限がない物だってあるからな。
∞に0以外何掛けても、∞と-∞にしかならん。
そういう意味では節約ではなくて、取り出したいときに取り出すための方法でしかない。
そもそもチューリングマシン自体、無限の長さのテープという不思議な単語から始まるんだから。
0822デフォルトの名無しさん2017/04/12(水) 15:27:29.78 ID:T7iXp/Hl
物質の速度が増えるほど計算量が膨大になりCPUに負荷が掛り
光の速度に近づくほど時間が遅くなることは、双子のパラドックスにより
証明されてる事実だろ。
そのため光の速度に上限を設けるのは当然の設計だろ。
同時に光の位置に関しても同じことが言える。
さらに数学的宇宙仮説を仮定するとこの世界で無限の計算が出来ないのは当然の帰結と言える。
0823デフォルトの名無しさん2017/04/12(水) 16:20:49.76 ID:B8y0IwDQ
遅延評価は非正格関数の評価が嬉しいのであって計算量はむしろ増えるケースもある
08242017/04/12(水) 17:13:25.58 ID:PqTsbe1L
>>822
わざとやってるんだろうけど、離散値としてのサンプリングレート次第で速度なんか関係ないでしょ、シミュレーションに。
ナノ秒・Åスケールで1インチ四方の10秒のシミュレーションと一日分のCDレベルの音響解析だったら前者の方がよほど辛いぞ。
無限の中の有限範囲を扱えるからこその遅延評価なんであって。
0825デフォルトの名無しさん2017/04/12(水) 17:21:14.84 ID:13ZjTcRY
[{
"english": "Hello World",
"japanese": "こんにちは、世界",
"time":"現在時刻を出力"
}]

このJSONを出力するだけのwebサーバを作りたい時、お前らならどういう構成、言語を選択する?
なお、初期投資が無料かつ月間100万PV未満程度の負荷なら月額0円で運用できる必要があるとする。
処理性能は高いほうが好ましい。
0826デフォルトの名無しさん2017/04/12(水) 17:34:43.84 ID:T7iXp/Hl
>>842
遅延評価は評価を遅らせて不必要な計算をしない以外の目的は無い。
君の主張は一般の場合の有限個以上の無駄な計算をしないという特殊な場合に過ぎない。
0827デフォルトの名無しさん2017/04/12(水) 17:51:18.32 ID:B8y0IwDQ
>>824>>826も間違い。
非正格な関数の評価が目的。それだけ。
無限の中から有限というのは、非正格な関数評価の特殊な場合に過ぎないし、
計算量が減るというのも特殊な場合に過ぎない。
0828デフォルトの名無しさん2017/04/12(水) 18:07:06.98 ID:T7iXp/Hl
非正格関数は遅延しなくても引数の評価が終われば評価できるからそれは間違い。
すなわち君の言っていることは>>824の言い換えにすぎず完全な間違いに過ぎない。
08292017/04/12(水) 18:09:36.49 ID:PqTsbe1L
>>825
githubのpageにhellowold.jsonとして置く。
と言うのは半分冗談だけど、GAE使うわ。
>>827
おっしゃるとおり。こいつが言う遅延評価の使い方ではないものを挙げた、一般例ではない。
08302017/04/12(水) 18:12:32.28 ID:PqTsbe1L
>>828
実は別に遅延評価しなくても良いんよ。莫大なサイズの中間ファイルとか。
それは俺が引き合いに出したWhy Functional Programming Mattersで何十年も前に既に述べられてる。
読んだこと無かったら是非一読を勧める。
0831デフォルトの名無しさん2017/04/12(水) 18:39:52.92 ID:706vvBQm
一夜明けたら延々遅延評価の話ししてるけど、ifを言語の文じゃなく、関数として定義出来るのは遅延評価じゃ無いと無理ってのを雑誌で昔読んだな。

ついでに言えばHaskellは入力受け付けておいて、何も出力しないプログラム書くと、出力しないプログラムに意味は無いとばかりに何もせずに終了する。
0832デフォルトの名無しさん2017/04/12(水) 18:51:15.90 ID:B8y0IwDQ
>>828
バーカ、
True || 0.0 / 0.0 == 1
みたいな式でも評価できるのが非正格評価のいいところなんだよ。
0833デフォルトの名無しさん2017/04/12(水) 18:57:42.29 ID:TsOYzgLF
>>825
本当にこれしかしないならPHPが一番楽だわ
ちょっと拡張しようとすると死ぬけど
鯖は知らん
0834デフォルトの名無しさん2017/04/12(水) 18:58:36.47 ID:13ZjTcRY
>>829
やっぱGAEしかないか
ちなみに動的に変化する現在時刻をJSON内に含めて出力する必要があるので
Githubに静的なjson置く案は駄目だぜw
0835デフォルトの名無しさん2017/04/12(水) 19:00:12.95 ID:13ZjTcRY
>>833
GAE/PHPがあるけど、出来るだけ高速に、という縛りあるのでGolangが適正かな
08362017/04/12(水) 19:02:51.84 ID:PqTsbe1L
>>834
githubに毎分コミットするとか?(笑)
まぁその程度のjson撒くときはマジで毎分静的ファイルに落とすほうがアクセス数によっては良いよ。
あとは、あのドライブについてるスクリプトかな。それこそアクセス数次第だけど。
0837デフォルトの名無しさん2017/04/12(水) 19:05:29.79 ID:TsOYzgLF
現在時刻はミリ秒?秒?分?
0838デフォルトの名無しさん2017/04/12(水) 19:08:08.50 ID:tcmUBnfi
神の次元とか頭逝っちゃった戯れ言言う奴の言語論なんてまともに取り合ったらいかんよ。
スピノザとかいう言語()を作った究極のドアホウ思い出したわ
0839デフォルトの名無しさん2017/04/12(水) 19:09:41.72 ID:aNxD89/q
lisp のマクロならそういう評価順序にすることも可能なんだよね。
0840デフォルトの名無しさん2017/04/12(水) 19:20:56.10 ID:rV2fF7iL
>>834
本当にその程度の内容だとしたら鯖側でやる必要あるの?
クライアント側でjsで詰めた方が早いと思うんだが
鯖の時間を基準にしたいとかそんな話?
いずれにせよ、猛烈にスレチ感しかないけど
0841デフォルトの名無しさん2017/04/12(水) 19:52:11.40 ID:iot6o9M3
>>839
静的スコープを考慮しないマクロは簡単だが
静的スコープのせいでマクロも遅延評価も難しくなった
08422017/04/12(水) 20:04:57.59 ID:0PmvWJUv
>>840
例えば、じゃないの?
でも、サーバ時刻の配信とキーの配信なんかはまあニーズはある。
httpのヘッダで返しちゃうのもアリだけど。
0843デフォルトの名無しさん2017/04/12(水) 20:17:56.49 ID:GAq2a6cS
この程度じゃ何使っても変わらん
PHPでいい
08442017/04/12(水) 22:34:31.92 ID:EWS0zdZB
まあ、とにかく真空中に球状の乳牛を浮かべるような話は辞めよう。
0845デフォルトの名無しさん2017/04/13(木) 00:49:23.36 ID:4ASWZGo3
サーバ側で処理する必要があるJSONの一例を提示したのであって
あれを実際に使うわけ無いだろ
0846デフォルトの名無しさん2017/04/13(木) 00:50:25.62 ID:4ASWZGo3
運営コストも言語の優劣を語る上で重要な指標だからスレチではないと思う
0847デフォルトの名無しさん2017/04/13(木) 06:05:07.40 ID:O+jjaQEl
つまり、おまえらが言う「次世代」ってのはJSONのことか?

バカだろ
0848デフォルトの名無しさん2017/04/13(木) 06:29:53.47 ID:m/ZfxtWH
扱い易さや扱った際の実行速度は指標の一つになりそう。
0849デフォルトの名無しさん2017/04/13(木) 06:29:54.77 ID:FzTDBbXq
前にバトルロワイヤルスレで
フレームワークさえあれば言語はどれ使っても生産性は同じって主張を繰り返すバカに
証拠を出せったら数行のHelloWorld出力サーバーを出してきて爆笑だったのを彷彿とさせるな
0850デフォルトの名無しさん2017/04/13(木) 08:15:47.67 ID:O+jjaQEl
>>849
そのスレ見てなかった。面白そうだな。
JSON君、もっと俺を楽しませてくれよ。
0851デフォルトの名無しさん2017/04/13(木) 08:26:08.78 ID:j/iQfqLR
このスレの趣旨的には、せめて○×のアルゴリズムを
実装して比べてみた場合に・・・位の話にしてほしいところ
やっぱり、ゆるふわweb屋が多いんだろうな
色々な物に興味を持つのは悪いことではないけどさ
0852デフォルトの名無しさん2017/04/13(木) 09:47:55.41 ID:CarqWf/r
○×もいいんですが
今、トレイトとミックスインの衝突検知や回避処理の違いに興味があって調査してるんで
RubyとPHPで書かれたこれ↓を次世代言語だとどのくらいエレガントに書けるか見せてもらうことってできますか?

http://ideone.com/or6JyE
http://ideone.com/lcnAEj

おそらく仕様としては
1. ドアにはノブ(その先にラッチ=固定具)がついていて、ノブを回すとラッチ解除、戻すと固定
2. ラッチ解除状態でドアを押すと開けられ、引くと閉じる
3. 閉じた状態でノブを戻せばラッチで固定され、押しても開かなくなる
さらにこのドアに対して、ドアストッパー(ドアを解放状態で固定。引いても閉じない。押しても解除可能)
ドアクローザー(一定時間で自動で閉じるスレッド処理)をそれぞれ設置した拡張と、
その両方を同時に設置した拡張をミックスインかトレイトで実現ということだと思います

このRubyとPHPの違いを見る限りでは、前者のミックスイン(ただし動的型)だと衝突検出ができず、
衝突回避処理もパズル的で泥臭い、後者のトレイト(ただし同じく動的型)だと、
衝突検出はできるけど実行時のみで、回避はミックスインよりはマシという印象でした

オマケとして、スレッド周りの実装の容易さや柔軟性、安全性も見てみたいです

HelloWorldよりはマシとはいえ、悪名高いワンニャンとさして変わらない例で申し訳ないんですが
まあこのくらいなら使い慣れた言語なら15分くらいで書けると思うので
08532017/04/13(木) 12:37:31.73 ID:URoqxFhJ
面白そう。問題文自体あれば良いんだけど。
コンポーネント的に考えるのが一番楽そうだけど、ミックスインとかトレイトを意地でも使うとなるとちょっと面倒くさいかな。
0854デフォルトの名無しさん2017/04/13(木) 14:18:43.70 ID:m+G7Jnm+
声のデカイHaskeller達は
こういう具体例を求められると逃走するイメージだが果たして・・・
0855デフォルトの名無しさん2017/04/13(木) 16:01:39.67 ID:RXvGitp8
>>546
> むしろSchemeから学ぶとマクロ入門にはsyntax-rulesしか書いてなくてdefine-macro&gensym触る機会が無かった

>>547
> 伝統的マクロの方が動作モデルを想像しやすくはあるかもね。

Schemeの場合、何でもありのマクロを排除して意味や動作を形式的に定義でき、
展開結果の正しさ(変数が展開したとたんに突然バインドされたりしない等)を保証できる範囲に留めたいという発想が
根底にあるからね

だからsyntax-rulesなどSchemeでの「マクロ」はあくまでも構文の拡張(カスタマイズ)のためなんだよね
つまり字句レベルを勝手に弄らせるとどんなトラブルでも起こし得るから勝手に弄らせたくたくない、
プログラマがお好みの構文を既存構文を使って定義して追加したいというならそれは許してあげよう
(例えばCみたいにwhile文…ループ条件の判定が最初に行われる構文…がある言語にrepeat〜until文を追加したいなら
許してあげように相当)というのがSchemeの基本的なスタンス

つまり、Schemeの場合はソースレベル(テキストレベルと言っても良い)で好き勝手な操作を許す本来のマクロ
(ソースコードレベルのメタプログラミング手段)でなくて、抽象構文レベルでの変換規則を定義し使用する範囲だけに
限定しているんだと考えれば良いと個人的には思ってるけどね

だから(メタ)プログラムの動きで理解するタイプの人(プログラマには多い、特に優秀な人ほど)にとっては
古典的なマクロのほうが却って理解しやすく、逆に理屈が好きで系統的に理解したがる(代わりにプログラムの腕は
さほどでないのが多い)人間にはSchemeの構文拡張のほうが理解しやすくそちらを好む人が多い

もっともsyntax-rulesとかを提案して実現した向うの連中はプログラミングの腕力も上級者以上ばかりだけどね
(でも殆どの凡人は、プログラミングの腕か理屈かの高々どちらかしか得意でない、まあだからこそ凡人なわけでして
どっちも両立できちゃったらGuy Steele, Jr.みたいになれちゃうよね)
0856デフォルトの名無しさん2017/04/13(木) 16:02:46.11 ID:RXvGitp8
>>855は誤爆です、ごめんなさい m(__)m
0857デフォルトの名無しさん2017/04/13(木) 17:08:00.85 ID:Y/ykFvy5
>>852
あんまり詳しくないけどScalaでざっくり書いてみた
Scalaのtraitsはtraitsを名乗ってはいても実体はmixinなので継承パスを意識しないとバグる
静的型チェックのおかげで不完全ながら衝突チェックはできるけど、パズル感は否めない
もちろん15分では書けなかった
http://ideone.com/DZh8zL
08582017/04/13(木) 17:21:37.83 ID:URoqxFhJ
Goだと難しいな。埋め込みとかで解決しても結局読みにくい。
0859デフォルトの名無しさん2017/04/14(金) 02:52:14.47 ID:eFveBav+
ヘッダがない言語は基本読み難い
08602017/04/14(金) 08:00:23.71 ID:6kAIEFCu
ゴルーチンでドアとノブとストッパーとオートクローザーと個々に置いて、Channelで疎通させたらgoっぽい現実解になった。
ドアノブがあるとは限らんし、ドアノブとは別に鍵があるかもしれんし、とか思うと埋め込みではうまくいかんな。
この辺は機械と同じでコンポーネントにしとかないと後でわけわからん便利ボタン作られたときに面倒くさいと構えてしまったわ。
ラダーのほうがわかりやすいのかけるかも。
しかしideoneすげえな。
0861デフォルトの名無しさん2017/04/14(金) 08:31:43.83 ID:ZMmBa+NA
次世代言語ってこういうのやりにくく設計されてるの多いよな
「現実世界で時間がたったら他のスレッドから状態を変える」みたいな厄介な副作用は基本的に排除されてる
08628522017/04/14(金) 08:36:30.72 ID:LCA3GTmx
>>860
差し支えなかったらGoで書いたコード読ませてください
0863デフォルトの名無しさん2017/04/14(金) 08:45:54.48 ID:m+oOrEXV
で一位はどの言語なんだ
まさか最下位争いにしか興味ない意識低い系はいないよな
0864デフォルトの名無しさん2017/04/14(金) 09:07:32.06 ID:aK3T4zVf
俺のおすすめが一番さ
08658522017/04/14(金) 09:24:09.10 ID:LCA3GTmx
ドアの振る舞いや機能の拡張をシミュレートして遊ぶ、というゆるいお題ですので
設計や実装、必要とあらば仕様も自由に変えてもらってかまいません

あえて注文を付けるとすれば、次の2点くらいでしょうか
1. 最後はコードに落とせて実際に動作し検証できること(提案や指針のみで終わらない「論よりコード」)
2. まず基本機能のドアを作り、それには手を付けずに機能(ストッパー、クローザー、両方同時)等を増やしたドアを新たに作ること

継承、ミックスイン、トレイト等々にこだわらなくても、極端なはなしコピペでもその言語で書きやすい方法で十分です
むしろ言語の持っている思想(そもそもこういうコードは組ませない、書きにくくしている等も含め)が理解しやすくなって
いいと思います

以下参考まで

▼ドアの基本的な振る舞い
ドアのノブを回す→(固定解除)→ドアを押す→ドアが開く→ドアを引く→ドアが閉まる→(自動固定)
ドアが(閉まった状態でドア枠に)固定されている状態では押しても開かない(無視される)
ドアとノブには作用(ドアには「押す」「引く」、ノブには「回す」「戻す」)できるが固定状態は直接変えられない

▼ドアストッパー追加時のドアの振る舞い
ドアが開いた状態でストッパー設置→ドアを引いても閉まらない(無視される)
ドアストッパー解除→ドアを引くと閉まる
ドアストッパー設置状態でドアを押すとストッパー自動解除

▼ドアクローザー追加時のドアの振る舞い
ドアを開くとあらかじめ決められた時間をおいて自動的にドアが閉まる(ドアを引く動作は無人で行なわれる)
ドアが閉まるまでの時間は自由に変えられる(可能であれば設定後直ちに反映される)
08662017/04/14(金) 10:26:30.48 ID:6kAIEFCu
08672017/04/14(金) 10:38:08.94 ID:6kAIEFCu
>>865
ドアの基本的振る舞いと、ドアノブの基本的振る舞いは分けた方がいいと思う。
ドアノブじゃなくてパスコード付きテンキーになったら、とか考えた時。
ドアは押すか押されるかを受ける、かつ、自分の状態と施錠状態を持ってるくらいに留めといたほうが疎になるのでは?
一晩経って考えたら、オペレーションのメッセージも、ユーザ入出力と内部的なメッセージに分けたほうが良いだろうし、
ラッチのlock/unlockとドアのlock/unlockはさらに分けるべきだったかも。
0868デフォルトの名無しさん2017/04/14(金) 12:15:40.26 ID:4/2P9omq
>>865
ドアという型は存在しなくてはいけないの?
Clojureなんかではそもそもクラスなんか定義せずに辞書をそのまま使うことも多いんだけど
Pythonのattrdict使う場合もそうだし
0869デフォルトの名無しさん2017/04/14(金) 13:11:26.58 ID:X1XDmSGJ
>>865
スレチ巣に帰れ

オブジェクト指向って自然な文法だな 3 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1491118238/
08708522017/04/14(金) 13:24:30.90 ID:LCA3GTmx
>>865
お願いするだけでは悪いので、スレ違いですが流行りのPythonで書いてみました
http://ideone.com/oZAMmR
0871デフォルトの名無しさん2017/04/14(金) 14:03:01.11 ID:LCA3GTmx
>>868
なくてもぜんぜんかまいませんよ
Clojureならではの面白い実装みせてください

>>866
ありがとうございます
これ、ドアが複数必要なときはどうやって区別するんでしょうか?
0872デフォルトの名無しさん2017/04/14(金) 14:23:39.48 ID:8GTns2P0
あれだけ威勢の良かったHaskell使いが
1行もコードを書かない件w
あいつらどこに消えたんだ?
0873デフォルトの名無しさん2017/04/14(金) 14:40:49.98 ID:IIx0BRDV
Haskell使いは状態変化を嫌うから、ドアクローザーを見てそっ閉じだろ
08742017/04/14(金) 15:01:54.14 ID:6kAIEFCu
>>871
doorChと、ドアのgoroutineを必要な数作ったら良いんじゃない?
同じ形同じステートの持ち方のドアなら同じgoroutineでも良いし。
あるドアを開けるとあるドアが閉まったりとか融通きくと思う。
0875デフォルトの名無しさん2017/04/14(金) 15:04:23.07 ID:zsj348jq
closureだろバカ
0876デフォルトの名無しさん2017/04/14(金) 15:22:47.51 ID:9xGHgIEd
Ideonさあ…… Julia非対応ってどういうことだい?
0877デフォルトの名無しさん2017/04/14(金) 15:51:29.80 ID:cJUd9HAw
>>875
ネタなのかマジなのか
話の流れからプログラミング言語名なのは明白なのに
0878デフォルトの名無しさん2017/04/14(金) 16:05:55.33 ID:zsj348jq
ネ、ネタに決まってるジャン!
0879デフォルトの名無しさん2017/04/14(金) 16:34:57.83 ID:Q0q/qEOu
>>874
なるほど

Go言語おもしろそうなので、ドアの基本だけ書いてみました
http://ideone.com/CpihM4
0880デフォルトの名無しさん2017/04/14(金) 17:24:24.01 ID:fx+SykEL
Golang>>>Haskell が確定したな
0881デフォルトの名無しさん2017/04/14(金) 17:36:15.21 ID:vAXzWuh8
マウンティングせずにはいられない。
08822017/04/14(金) 18:27:43.16 ID:6kAIEFCu
>>879
これだと、ドアには開き戸で絶対にノブがある前提にならんかな。
クラス的な構造にするなら、Doorは空いてるか閉まってるかを提示するインターフェイスにして、
Push,Pullを持ってるものをPushableみたいなインターフェイスにして、
両方持ってるのを押戸にして、そいつがノブを持ってる構造のほうが、他の種類の扉とかストッパーとか勝手に閉まる機構とか組みやすそう。
>>880
全然前提無視してるから、トレイトとか使って衝突検知してるの見たい。
0883デフォルトの名無しさん2017/04/14(金) 19:24:53.38 ID:sIRL/SUt
もうHaskellはスレタイから外そう
信者がアレ過ぎて荒れる要因にしかならない
0884デフォルトの名無しさん2017/04/14(金) 20:10:14.65 ID:m+oOrEXV
まるで借金の取り立てだな
しかし金のやりとりがない世界では借金取りもまたHaskellと同レベルの無能になる
0885デフォルトの名無しさん2017/04/14(金) 20:28:25.66 ID:nQi7PEy4
prologはオワコンなの?
0886デフォルトの名無しさん2017/04/14(金) 21:12:44.64 ID:xdpSikYS
次世代言語の目的はマウンティングですから。
08872017/04/14(金) 23:22:39.11 ID:6kAIEFCu
わりと本気でHaskellのコード見たいんだけど。
狭量な世界観の絵空事並べてる人間に見せつけてやろう、この素晴らしさを!みたいなの、無いの?
つまんねえの
0888デフォルトの名無しさん2017/04/14(金) 23:49:57.09 ID:9xGHgIEd
俺はHaskellerじゃないけど、擁護するとしたらHaskellはそもそも他スレッドから状態変化させるような糞設計を弾く指針の言語だからこの問題はしんどいんじゃね?
08892017/04/14(金) 23:53:38.90 ID:6kAIEFCu
他スレッドの値なんかかえなくて?済むじゃん‥
0890デフォルトの名無しさん2017/04/14(金) 23:59:31.48 ID:9xGHgIEd
>>889
どうやって?
0891デフォルトの名無しさん2017/04/15(土) 00:10:26.03 ID:c8h4FgGB
C++も面白そうだけど使いこなせる人いないのかな
ストッパーあり< ノブあり< ドア > > d;
08922017/04/15(土) 00:16:19.44 ID:4VXj2s/u
>>890
他のスレッドにはお願いするだけ、
他のスレッドは解釈して、自分の状態を設定する
0893デフォルトの名無しさん2017/04/15(土) 00:22:06.56 ID:gAIu4OQN
>>892
俺の書き込みとの違いがわからん。っていうかぶっちゃけ同じだろ
0894デフォルトの名無しさん2017/04/15(土) 00:29:26.36 ID:K9HxC9IJ
エンジニアガイジにまともに伝わる表現を期待するほうが悪い
0895デフォルトの名無しさん2017/04/15(土) 00:30:48.22 ID:v99qvGb2
どうあがいてもフックとなるポイントはドア側に必要に思えるw
0896デフォルトの名無しさん2017/04/15(土) 01:13:00.05 ID:tU5rqsZm
μiTRON + C じゃないかな?
0897デフォルトの名無しさん2017/04/15(土) 06:12:26.50 ID:+wMKWHYi
>>890
STMモナドは使えませんか?
0898デフォルトの名無しさん2017/04/15(土) 06:18:42.18 ID:+wMKWHYi
>>888
設計は自由にかえてもらって構いませんよ
関数型にこれをこのまま組めというのは酷だと思うので
08992017/04/15(土) 08:06:05.18 ID:4VXj2s/u
>>893
なんかぼんやりしてたみたいですまん。同じだな。
09002017/04/15(土) 08:08:21.63 ID:4VXj2s/u
で。
ガイジと呼ばれるやつでもでも動くものを書いたんだが。
一向に動くものが出てこないのは。一体どういう了見なの?
ガイジができる事出来ないなんて、そりゃあれじゃねえの…?
09012017/04/15(土) 08:21:09.73 ID:4VXj2s/u
ドアは押す引くのベクトル受けて、空いたり閉まったりする。
ラッチはドアが受けたベクトルをゼロに出来る
ドアストッパーってドアの開度に応じてドアに引くベクトル与えてるんじゃん?
ドアストッパーは存在したらドアの負のベクトルをゼロにできて、正のベクトルかかったら消える事になるのかな?
ドア開度を0/1ではなくて、細かくして、開閉をスレッショルドで切ったらモデル化できないの?
上の方でHaskellerならモデルから落とし込めると聞いたけど。
0902デフォルトの名無しさん2017/04/15(土) 09:42:27.95 ID:c8h4FgGB
>ラッチはドアが受けたベクトルをゼロに出来る

>ドアストッパーは存在したらドアの負のベクトルをゼロにできて

これ同じ機能だな
ただどの関数を無効化したいのかが違うだけ
09032017/04/15(土) 10:48:21.98 ID:4VXj2s/u
>>902
似てる機能と言うか、方向を無視すれば同じものだと思うよ。
ドアストッパーもラッチも、要は引っかかってるんだから。

ただ、概念や動作が同じでも意味が違うなら、別のものとして用意したほうが良いと思う。

関数を無効化する、って考えたらモデル化しづらいかと。
ドアの開き方向速度を、開き方向加速度*dt*latch係数*ストッパー係数
から出して、
開き方向加速度を、操作の押す引く入力の力*(減衰時間-操作タイミングからのdt)^-1+(オートクローザー動作力*減衰時間-動作タイミングからのdt)^-1
から出せばなんかフワッとするんじゃないの?
latch係数とストッパー係数は、加速度方向と施錠情況を入力にするしかないかな。
式で書くとフリップフロップになってしまうだろうし。
だからラダーのほうが楽そうって発想に至ったんよ。
09042017/04/15(土) 10:49:14.70 ID:4VXj2s/u
あ、(の場所間違えた。
面目ない。脳内補完して下さい
09052017/04/15(土) 10:52:02.30 ID:4VXj2s/u
係数にしとけば、増えようが減ろうが変な動きするものが現れようが、さらに掛ければいいんだから。
0906デフォルトの名無しさん2017/04/15(土) 10:55:13.26 ID:c8h4FgGB
関数、無効化、等の難しい言葉をそのまま使えたら効率が良いが
犬、猫、ドア、ノブの世界との溝を埋めるにはコストが高い
09072017/04/15(土) 11:02:07.83 ID:4VXj2s/u
>>906
そのまま使えば効率がよく見えるなら、モデルからは乖離しとるし、
世界との溝を埋めるとなると面倒くさい。
その間のゴミみたいな解決策がガードと言うことか。
0908デフォルトの名無しさん2017/04/15(土) 12:05:56.20 ID:uc8MfgIW
おまえら釣られすぎ
0909デフォルトの名無しさん2017/04/15(土) 14:46:20.78 ID:zRemg0Dc
健全でいいと思うが
09102017/04/15(土) 17:31:31.97 ID:4VXj2s/u
>>903
これ足らんな。引きずり抵抗考えないとな。

しかし、なんでHaskellの人はここまで言ってもコードが出てこないんだろう。
まさかほんとに真空中に球状の乳牛を浮かべてたんだろうか。

俺も健全で良いと思うよ。なんやかんや色んなコードの例がそれが良いと思ってる人の書き方で出てきたりってのは、勉強になるし面白いから。
0911デフォルトの名無しさん2017/04/15(土) 18:31:19.72 ID:c8h4FgGB
「Haskellの人」っていうモデルが現実と乖離してる
複数の言語を使う人がいる現実に対応できない
0912デフォルトの名無しさん2017/04/15(土) 18:37:14.94 ID:IBPqtIvG
拡張なんて後から考えればええんやで…
オブジェクトという概念が存在しない退屈なRustの例↓
http://ideone.com/5Znz0T
継承もダックタイピングも無いからグルー的なコードが多数になるし、マルチスレッドにも安全性を要求されるから面倒だが、
最初のドアを複雑にしなくてもいい。上から順に読んでいけば何やってんのか分かるはず
09132017/04/15(土) 19:31:22.37 ID:4VXj2s/u
>>911
そこはポジショントークでしょ。
俺が古代言語書かんのと同じで。
09142017/04/15(土) 19:39:42.39 ID:4VXj2s/u
>>912
なるほど。
あとから、これがTDoorやで、DoorはTDoorやってんでって言い出せるのは便利そう。明示的だし。
Goもインターフェイスを定義するといつのまにかインターフェイスを実装していた事になるという、
やってみないと何を言ってるのかわからんしどれくらい便利なのかわからん機能があるからこそ成り立ってる部分あるし。
09152017/04/15(土) 19:54:32.52 ID:4VXj2s/u
しかし、グルー的なコードから無理に逃げる必要はないと思うんだよなぁ。
そこを無理に誤魔化して見えなくさせるから、どんどん暗黙的に行われる処理が増えて、今度はそれが足かせになってくし、
それを肯定するために自分で「バカには使えない言語だ」と鼻を高くする原因だと思うんだけど。

スーパーカリフラジリスティックエクスピアリドーシャスって言わなきゃいけないなら、それくらい覚えりゃいいのにっていつも思う。
いつまでもまじないとして丸暗記で覚えてていいわけではないけど、いつまでもその存在を知らないのはもっと無能かと。
printfとva_argsなんて、かなりの割合の「学校でC勉強しました、あれはカス言語、高級アセンブラ、○○こそ最高の言語」みたいな人は理屈わかってない。
0916デフォルトの名無しさん2017/04/15(土) 20:03:53.72 ID:tU5rqsZm
スーパーデリシャス遊星ゴールデンスペシャルリザーブゴージャスアフターケアーキッド28号 がどうしたって?
0917デフォルトの名無しさん2017/04/15(土) 20:24:03.74 ID:OiE5LGRy
HaskellのText.Printfはマジわからん
似たようなの作ろうとして挫折した
09182017/04/15(土) 21:02:17.80 ID:4VXj2s/u
あれ?意識高い系ってメリー・ポピンズとかサウンド・オブ・ミュージックとか好きじゃないの?
0919デフォルトの名無しさん2017/04/15(土) 21:12:20.49 ID:eW6dmEk0
どうでもいいから早くHaskellのコード出せよ
0920デフォルトの名無しさん2017/04/15(土) 21:59:02.02 ID:c1S+YiIU
クイックソートでいい?
あまりの簡潔さに、失禁するよ?
0921デフォルトの名無しさん2017/04/15(土) 22:00:58.09 ID:gAIu4OQN
HaskellのクイックソートはクイックじゃないのでNG
09222017/04/15(土) 22:04:46.57 ID:4VXj2s/u
>>920
パイプでsortかけるより短いなら見てみる。
0923デフォルトの名無しさん2017/04/15(土) 22:07:26.33 ID:fQUc2TK/
        ゴガギーン
             ドッカン
         m    ドッカン
  =====) ))         ☆
      ∧_∧ | |         /          
     (   )| |_____    ∧_∧   <  おらっ!出てこいHaskeller
     「 ⌒ ̄ |   |    ||   (´Д` )   早くラッチ動作させろよ!
     |   /  ̄   |    |/    「    \
     |   | |    |    ||    ||   /\\
     |    | |    |    |  へ//|  |  | |
     |    | |    ロ|ロ   |/,へ \|  |  | |
     | ∧ | |    |    |/  \  / ( )
     | | | |〈    |    |     | |
     / / / / |  /  |    〈|     | |
    / /  / / |    |    ||      | |
   / / / / =-----=--------     | |
0924デフォルトの名無しさん2017/04/15(土) 22:09:35.08 ID:gAIu4OQN
このスレって本当にHaskellerなんていたのか?
09252017/04/15(土) 22:19:34.40 ID:4VXj2s/u
Haskell書けないのに、Haskellなら!なんて言う事は無いだろうし、明日中ぐらいにあがるんじゃない?日曜だし。何日経ってるんだか。
上がらないなら、夢の世界の住人だったんでしょ。彼ないし彼ら全員が。
そうならば、Haskellという架空の概念を語られ、そしてそれを使える自分と架空のHaskellは素晴らしいと騙られてたようなもんだ。

そしてさらにそれが使えなくて、ガイジと呼んでるやつにここまで言われたら俺なら死ぬ。
0926デフォルトの名無しさん2017/04/15(土) 23:08:41.07 ID:v99qvGb2
Haskellに親でも殺されたのか?
0927デフォルトの名無しさん2017/04/15(土) 23:15:02.37 ID:VMfrbDxx
Scala,Go,Python,Rust>>>Haskell
という真実が明るみになった記念すべきスレだな
0928デフォルトの名無しさん2017/04/16(日) 00:23:54.21 ID:FszjxitP
日曜中にHaskellが出てこなかったらスレタイから外そう
0929デフォルトの名無しさん2017/04/16(日) 00:46:30.57 ID:t9Gum19O
すまんがガイジをガイジと呼んでるのはHaskellマニアではない
自分以外を同一視しすぎやね
0930デフォルトの名無しさん2017/04/16(日) 02:32:45.42 ID:irWKjJqL
エアプしかおらんなw
0931デフォルトの名無しさん2017/04/16(日) 05:43:18.79 ID:DIvJni4Q
Haskell嫌われすぎだろ
Qiitaでマウンティングしすぎたか?
0932デフォルトの名無しさん2017/04/16(日) 07:00:35.74 ID:YExgc8l/
たぶん書かないのはHaskellerの絶対数少ないからってだけじゃないの?
素人のクソコードでよければ、Haskellで書いてみてもいいよ
0933デフォルトの名無しさん2017/04/16(日) 07:40:13.44 ID:blUHUFpU
コード書く流れになるまで
毎日のように書き込んでただろw
絶対数とか言い訳してんじゃねぇよw
0934デフォルトの名無しさん2017/04/16(日) 07:47:52.20 ID:YbeWi1ps
批判も言い訳も自由だからこれでいいんだよ
もっと自由になった方が色々と便利だし
0935852,870,8792017/04/16(日) 08:49:33.29 ID:z1TgtbB7
Goで比較的仕様に忠実な版をとりあえず完成させてみました(Pythonより疲れた)
http://ideone.com/TW4PzD

Goはリリース直後にHelloWorld書いて以来なので拙いところはご容赦を
よりよくするアイデアは歓迎ですが、できればforkするか新たに起こして
そのアイデアが本当に機能するか試し済みのコードで示してもらえると助かります「論よりコード」
09362017/04/16(日) 09:13:40.40 ID:natpoZ0y
>>929
別に同一視してるわけではなく、Haskellを声高に叫ぶ奴が嫌いだと確か前スレで言った気が。
0937デフォルトの名無しさん2017/04/16(日) 09:14:16.24 ID:z1TgtbB7
>>932
是非お願いします
出てこなければ自分で書いてみようかとも思うのですがどうにも関数型は苦手で…
0938デフォルトの名無しさん2017/04/16(日) 09:26:12.72 ID:9RVEDHcM
検索で見つかるだろ
なんで書く必要があるんだ?
0939デフォルトの名無しさん2017/04/16(日) 10:45:58.91 ID:1ZXMaGQC
ゆとり?
0940デフォルトの名無しさん2017/04/16(日) 10:49:16.71 ID:Jwa8aGsr
まったく誰もまともなコード書けないのかよ
つかえねぇw
0941デフォルトの名無しさん2017/04/16(日) 10:54:10.16 ID:YExgc8l/
>>937
今実装だけを目的に書いてますが、Haskellだと難しいですね
手続き型みたく書くしか無いかもしれません
0942デフォルトの名無しさん2017/04/16(日) 11:35:37.08 ID:fx+LZUGE
じゃあ手続き型の言語でええやん
Haskellのメリット(笑)
0943デフォルトの名無しさん2017/04/16(日) 11:41:05.02 ID:YbeWi1ps
そうそう
Haskellで書かせようとするのは全く非合理的
0944デフォルトの名無しさん2017/04/16(日) 12:14:58.10 ID:+L6lxwem
仕方ないよ。
ハスケルは数学的に高尚だから。
こんな泥臭いコードを書くようにはできていないんだよ。
09452017/04/16(日) 12:24:49.33 ID:natpoZ0y
>>944
俺数学モデルに近づけるべく数式挙げたんだけど。
高尚で数学的なHaskellを使いこなすHaskellerさんか見てもらえば、もっと不備見つかるだろうし、改善もモデル化も動くコードも見えせてもらえると思ってんだけど。

でもなんで引きずり抵抗が必要だと指摘がつかなかったんだろうね。
普段Haskellerさんは瞬間湯沸かし器みたいにガイジ判定してくれんのに。

虚学者ですらなく、夢想家だったのかな?
0946デフォルトの名無しさん2017/04/16(日) 12:32:13.91 ID:DIvJni4Q
そろそろこのスレ潰しに行くか?

関数型プログラミング言語Haskell Part30 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1484491434/
09472017/04/16(日) 13:05:20.75 ID:natpoZ0y
>>946
潰しにいかんでもいいでしょ。
好き嫌い適不適の問題以前にここにいた奴が全員総てボンクラだっただけかもしれんしな。
言語自体を貶してるつもりもそこまでない。
0948デフォルトの名無しさん2017/04/16(日) 13:05:40.66 ID:YbeWi1ps
スレを潰すだけの力があると証明したいか
お前らは証拠を入手するために莫大なコストをかける傾向がある
09492017/04/16(日) 15:03:14.39 ID:natpoZ0y
まぁ、潰す事無くして無能/有能だと証明できんだから合理的なんじゃないの?
積極的な否定を行うフェーズはphpでさえ終わってるんだから。あとは消極的否定ないし、積極的肯定で間に合うでしよ。
0950デフォルトの名無しさん2017/04/16(日) 17:09:28.85 ID:YExgc8l/
調べてみましたが、結局継承の代替えが型クラス以外ありませんでしたので
Haskellでほぼ手続き型で書きました
http://ideone.com/GJV1KA

結局>>935と同じような長さになりました
疲れた〜
0951デフォルトの名無しさん2017/04/16(日) 18:26:14.52 ID:z1TgtbB7
>>950
早速にありがとうございます
これは大変だったでしょう
思ったより手続き的な処理も書けるのですね

>>912
遅くなりましたがRustもありがとうございます
Rustのトレイトは実装の多重継承向けではなくインターフェイス的に使われるのですね
09522017/04/16(日) 19:17:19.51 ID:natpoZ0y
>>950
おお!ありがとうございます。
俺が言うことじゃないけどな。ホントは言わなきゃならん奴が居るとは思う。
しかし、確かにひたすら手続き。
「らしい」のメリットを享受するには実用者じゃないと難しいんだろうなぁ。
0953デフォルトの名無しさん2017/04/16(日) 19:19:49.59 ID:3PeEvH/A
http://www.geocities.jp/takascience/haskell/monadius_ja.html 👀
Rock54: Caution(BBR-MD5:398130fb352551638c7f2379a2b1e0e9)
0954デフォルトの名無しさん2017/04/16(日) 20:36:37.02 ID:3nxh5+XY
まあ色々出た所で
実行速度を無視すると
Pythonが次世代の覇権を握りそうなのは分かった
0955デフォルトの名無しさん2017/04/16(日) 20:47:32.02 ID:9SOGpb5C
>>950
拡張機能も含めてnewtypeでくるむといいんじゃないかな

取り急ぎ基本のドアだけで、例外とか考慮せずにMVarだけの実装だが
http://ideone.com/E7lfRB
0956デフォルトの名無しさん2017/04/16(日) 21:04:50.30 ID:t9Gum19O
Juliaもけっこうええんやで本当は
0957デフォルトの名無しさん2017/04/16(日) 21:17:45.52 ID:z1TgtbB7
>>956
ideone.comはテキストも貼り付けられますのでそれでドアのコード見せてください
0958デフォルトの名無しさん2017/04/16(日) 21:36:16.38 ID:YExgc8l/
>>951
いえいえ恐縮です
拙いコードで申し訳ない

>>952
ですね
Elmのようなイベントを畳み込むようにした方が綺麗になるとは思うんですが、
実装を思いつくことができませんでした

>>955
添削ありがとうございました
拡張はTraitのような仕組みのため(mixinの順序を逆にしても良いよう)
Doorを再帰的な定義にして対応したつもりでした
この場合はどのように実装するのですか?
0959デフォルトの名無しさん2017/04/16(日) 21:42:07.63 ID:YExgc8l/
>>955
すみません追加で気になる部分があるのですが
putMVar/takeMVarを繰り返している理由は何かあるんでしょうか?
readMVarやmodifyMVar_では駄目なのですか?
0960デフォルトの名無しさん2017/04/16(日) 21:51:04.55 ID:dKq8/dn4
>>954
まあ python の浸透を見てると実行速度なんかは
ライブラリ(cで書く)でなんとかすりゃいいって方向なのはあるわな。
0961デフォルトの名無しさん2017/04/17(月) 02:54:10.68 ID:Drc9GzpW
>>957
は?なんで俺が「共有メモリ上での処理を他スレッドに丸投げして終了を待たずに次に行っちゃう」ような明らかなアンチパターン書かないといけないの?
http://ideone.com/SL99U3
しょうもないもん作らせやがって
それが人にもの頼む態度かよ
次からは「お忙しい所申し訳有りませんが書いて頂けませんでしょうか?」にしろよ
こんな糞問題は取り合わないのが正解だし、しつこく人に解かせようとするおまえは糞。
あと、こんな糞問題解いていい気になってるような傲慢な言動してる奴おるけど、正真正銘の馬鹿だな
0962デフォルトの名無しさん2017/04/17(月) 07:01:28.86 ID:q1BdEceZ
>>961
これだとクローザーで閉まりつつあるドアを改めて押しても問答無用で閉まっちゃわない?
09632017/04/17(月) 07:58:31.12 ID:kUqoB58e
>>961
共有メモリがアンチパターンなのはわかるが、
スレッドはアンチパターンでもないぞ。

メッセージパッシングにしとけばむしろスレッドやらマイクロスレッドやらプロセスやら、どうバラすこともできるんだし。

俺の書いたGoのコードは、chさえネットワーク通せば別端末でそれぞれ自分の持ち場のchをさばけるようにしてある。
09642017/04/17(月) 08:01:57.69 ID:kUqoB58e
>>961
具体例出さずにいいやんで→具体例見せて→作らせやがって
の流れがわからんが。
絵に描いた餅を排斥しましょうねって話なのに、絵に書いた餅を勧めてたってわけ?
0965デフォルトの名無しさん2017/04/17(月) 08:54:32.01 ID:SHahGqCB
>>963
仕様完全無視の実装の時点で首かしげざるを得ないのに
散々連投してこの傲慢っぷり

ただのメッセージパッシングなんてどの言語でもできるだろ
皆荒れるのわかりきってて面倒だからお前に突っ込まないだけだぞ
0966デフォルトの名無しさん2017/04/17(月) 09:22:10.03 ID:Drc9GzpW
なんで絵に描いた餅が良くないって、コードを介さないと
>>888>>889>>890>>892>>893>>899みたいな糞みたいな流れが出来上がるからだろうな
今回もそうなりそうだし、反応しないほうがいいんだろうな
それを考えると、コードを書かせようという働きかけ自体は悪くないけど、今回は問題が糞すぎ。この問題は「実在の餅」ではなくて「実在の糞」
09672017/04/17(月) 09:30:36.71 ID:kUqoB58e
>>965
え?じゃあ荒れるのをわかっててつっこんでる>>965は何なの?
しかも>>865で、その言語が持ってる思想、という風にokくれてんのに?
>>966
実在の糞だから存在「させない」という言語設計ならなるほどだけど。
糞だとは思わんし、それが存在できちゃった以上、ただの言い訳に聞こえるわ。
0968デフォルトの名無しさん2017/04/17(月) 09:58:21.20 ID:Drc9GzpW
>>967
「メインスレッドでドアクローズとは無縁の処理をしている最中に、特に同期処理も挟まずメインスレッド上のドアの状態が変化する」ことを要求している時点でこの問題は本質的にアンチパターンだ。
でもJuliaは意外と実在の糞を存在させない言語ではないから、書こうと思えば書けないことはない。
推奨機能のremotecallやparallel forではこの問題は書けないけどな
あと言い訳に聞こえるとか書いてるけど、糞を糞と知りつつ書いてやったこの俺が何か言い訳する必要があるか?何を言い訳してると言うんだ?
0969デフォルトの名無しさん2017/04/17(月) 10:09:06.47 ID:uP03ohIW
いつもなら「嫌なら問題解かなければいいのに」という流れだが
今回は問題解くの拒否するとどうなるかって所まできっちり見届けられてよかったね
0970デフォルトの名無しさん2017/04/17(月) 10:34:01.88 ID:+l3hCywu
>>964
ツンデレギャグにマジレスだめよ
09712017/04/17(月) 11:20:21.27 ID:kUqoB58e
>>968
メインスレッドでドアクローズとは無縁の処理をしているのが問題なんでしょ?
ドアクローズ、ドアオープンを別スレッドと言うか、ドア動作スレッドに任せるのが妥当だと自分で答えまで言ってると思うんだけど?違うの?
ドア動作スレッドが責任持ってドアの動作してりゃ、メインスレッドも何もないでしょ。
どっかで書いたように、書き方の問題じゃ?アンチパターンを作ってるのは実装者だよ、こりゃ。

書けないのが当たり前、言語仕様が良いからだ、実在の糞は起こり得ない、を逆説的に否定したから、言語仕様が良いのであれば、あれは実在の糞ではなくて、実在の餅であるはずなのにな、って所。

存在させない言語でないなら、別に特別な言語でもなけりゃ、設計の良さでバカを排斥する事はできない、ってのがわかったから、それはありがとうと思うよ。

なんか全否定したみたいに聞こえたらごめん。
09722017/04/17(月) 11:22:28.46 ID:kUqoB58e
>>641
要はで言ったように、銀の弾丸なんかねえなって話だよ。
0973デフォルトの名無しさん2017/04/17(月) 11:37:46.54 ID:XcBFR0Ye
>>865みたいな糞じゃなく次世代言語ならではのメリットをアピールできて
100行程度で気軽に書けて示せるお題を新しく考えるとなるとどんなのがいいですかね

個人的には拡張への柔軟性と曖昧さ回避の両立(静的チェックが通ったあとの安心感)、
スレッド処理の簡易さとその安全性の両立(できればそのパフォーマンスも)は盛り込みたいところですが
0974デフォルトの名無しさん2017/04/17(月) 11:54:39.96 ID:GVmJ+xSa
>>961
要件は >>865 にあるわけだが、
そこのどこにも共有メモリ使うなんてことは載ってないぞ。
他人が出した設計パクらないで自分なりの設計すればいいじゃん。
0975デフォルトの名無しさん2017/04/17(月) 12:10:13.54 ID:Drc9GzpW
>>973
スレッド処理じゃなくてマルチプロセスじゃいかんのか?
別プロセスに投げて、同期を取って結果を回収するほうが最近の流行りだと思うが
0976デフォルトの名無しさん2017/04/17(月) 12:16:36.33 ID:Drc9GzpW
ドア動作スレッドという発想はなかった
これスレッドセーフなのか?
09772017/04/17(月) 12:38:21.55 ID:kUqoB58e
>>976
>>852で、スレッド周りの実装の容易さや柔軟性って言ってて、
俺その辺考えてGo書いたんだけど。
ルール逸脱って割には何も読んでないのな。
0978デフォルトの名無しさん2017/04/17(月) 13:12:19.75 ID:Drc9GzpW
>>977
ルール逸脱っていつ俺が書いた?他の人と同一視して批判するのやめてもらえる?
0979デフォルトの名無しさん2017/04/17(月) 14:37:30.57 ID:XcBFR0Ye
>>975
> スレッド処理じゃなくてマルチプロセスじゃいかんのか?

ideone.comで動かせる方が気軽にコードを検証したり改変して試せてたりしてよいと思うので
もっともideone.comに無いJuliaには関係ない話かもしれませんが
09802017/04/17(月) 14:47:54.54 ID:kUqoB58e
>>978
あ!こりゃ申し訳ない。
ルール逸脱は違うIDだったな。すまんかった。
09812017/04/17(月) 14:50:18.68 ID:kUqoB58e
読んでないって結果は変わらんかもしれんが、そのスタートライン間違ってたらそりゃ怒るわな。
両方に失礼なことしてすまんかった。
0982デフォルトの名無しさん2017/04/17(月) 15:52:47.78 ID:+4uMiUoP
>>980
そもそも「ルール」だの「逸脱」だのに該当するレスが見当たらないんだけどどれ?
09832017/04/17(月) 17:09:08.42 ID:kUqoB58e
>>982
>>965の、「仕様完全無視の実装」を指してた。
これ自体俺の理解が足らんのかな。俺はミックスインもトレイトも使わんと実装したと読んだけど。
0984デフォルトの名無しさん2017/04/17(月) 17:50:55.43 ID:BUlkJtRH
>>983
お前さ自分の書いたコードの仕様もわかってねーの?
基本機能からの拡張性見たいって言ってるから皆必要分という空気読んでるのに
最初からハンドラ側でストッパー拡張まで付けて他も外に書いただけで全部実装って
お題完全に無視した自己満足だろ

おまけに書捨て程度のどの言語でも実装できる程度のメッセージパッシングで代表面でしゃしゃり出てんだから救えない
0985デフォルトの名無しさん2017/04/17(月) 18:29:02.83 ID:S/GDs5zT
>>971の2段落目見て思ったんだけど、この後に及んでコード出てこないHaskellってやっぱり有能言語だわ
0986デフォルトの名無しさん2017/04/17(月) 18:39:40.63 ID:S/GDs5zT
出てたわ
09872017/04/17(月) 18:40:51.93 ID:kUqoB58e
>>984
うん、
>>858
で難しいとは言ってるし、Goらしいコード、は参考になればと言われて貼ったんだけど?

是非、代表ヅラでししゃりでてくれ。
お前がやってるような、何も出さずに野次る事をやってやるから。
09882017/04/17(月) 18:45:14.34 ID:kUqoB58e
少なくとも、指摘されてるだけ救われてんだけどな。
何も出さない指摘されない奴に比べたら。
精神性からして朝三暮四の馬鹿じゃないのかな?って思う。
0989デフォルトの名無しさん2017/04/18(火) 00:23:40.61 ID:n/IUHgwq
>>988
> 少なくとも、指摘されてるだけ救われてんだけどな。

どの指摘の事?
救われるかどうかは指摘の内容にもよるし、無視されるってのと同列に扱うべきじゃないだろ。
09902017/04/18(火) 07:09:01.74 ID:Hw+wC29r
>>989
無視されるじゃなくて、無視もされない奴な。
何もコード上げずにただ黙って、そしてちゃちゃだけ入れる、
あまりに何もないから批判が人感批判になってしまうたぐいの人。
0991デフォルトの名無しさん2017/04/18(火) 07:20:44.03 ID:16rBXoJR
>>987
>>935はGoの埋め込みで書いた場合だと思うけど、これのどこらへんが>>866より読みにくい?
09922017/04/18(火) 07:55:26.85 ID:NtfK7SOb
>>991
835はうめこんで無いよ。
埋め込みは、ある構造体をそっくりそのまま自分にも実装する書き方で、
型名のみ書くあれ。

type Door struct {
/*なんか他の変数*/
Foo float32
}
func (door Door) Pushed {/*なんやかんや*/}
type DoorX {
Door //これ
}
みたいな書き方。
DoorX.Fooが使えたり、Pushedできるんだけど、
DoorXの中で結局少々面倒くさい事になる。
09932017/04/18(火) 08:13:06.82 ID:NtfK7SOb
あ、ごめん、
DoorXの後ろにstruct要るな
0994デフォルトの名無しさん2017/04/18(火) 08:58:28.37 ID:sMwumFKs
>>992
> 835はうめこんで無いよ。

安価狂ってるけど>>935のこと?だとしたらDoorWithCloser の *Door型
DoorWithCloserStopper の *DoorWithCloser型と *DoorWithStopper型は埋め込みだろ
09952017/04/18(火) 10:41:04.88 ID:NtfK7SOb
>>994
おお、ごめん、なるほど。
埋め込んでるね、見落としてた。両者ともにごめん。

ところで、次スレはどうするの?
半コテが立てても嬉しくないと思うし、俺しばらくまとまった時間無さげなので可能なら誰かにお願いしたい
0996デフォルトの名無しさん2017/04/18(火) 12:17:39.20 ID:OiYR9ME0
梅田彩佳
0997デフォルトの名無しさん2017/04/20(木) 04:43:42.21 ID:mNwXvrXv
次ス次世代言語議論スレ[Go Rust Kotlin Scala]第4世代 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1492631007/
09982017/04/20(木) 07:31:54.11 ID:AyFGgpwk
ありがとうございます。
0999デフォルトの名無しさん2017/04/20(木) 08:36:18.67 ID:Z1C/pUIW
何だよ
1000デフォルトの名無しさん2017/04/20(木) 08:43:43.74 ID:jJkbXdni
うわ建てやがった
10011001Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 46日 17時間 18分 3秒
10021002Over 1000 Thread
2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.2ch.net/

▼ 浪人ログインはこちら ▼
https://login.2ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。