次世代言語議論スレ[Go Rust Haskell Scala]第3世代 [無断転載禁止]©5ch.io
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2017/03/04(土) 15:25:41.48ID: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.55ID:X2My6T7M0003デフォルトの名無しさん
2017/03/04(土) 15:56:40.80ID:X2My6T7M- Elixir
- Erlang
- Go
- Haskell
- Kotlin
- Rust
- Scala
(sorted in alphabetical order)
0004デフォルトの名無しさん
2017/03/04(土) 16:52:26.37ID:2fztGO7X0005デフォルトの名無しさん
2017/03/04(土) 17:48:13.76ID:/imazuHh0006デフォルトの名無しさん
2017/03/04(土) 19:21:56.52ID:S34ljy53次の次世代の本命はProlog
それ以外はなくなる
0007デフォルトの名無しさん
2017/03/04(土) 21:07:48.36ID:gyQpa9Hb>それ以外はなくなる
知識プログラミングの時代は来るだろうがさすがにこれは言い過ぎ
0008デフォルトの名無しさん
2017/03/04(土) 21:13:28.87ID:wuF6ZyHX乙
個人的には、それらと異なるパラダイムのCoqかAgdaをスレタイに入れてほしかったが。
0009デフォルトの名無しさん
2017/03/04(土) 21:18:09.53ID:a1Qd0ocB0010デフォルトの名無しさん
2017/03/04(土) 23:17:47.90ID:N8WZp5ToAgdaやCoqはプログラム言語としても浮上できそうなのかな
0011デフォルトの名無しさん
2017/03/04(土) 23:52:16.78ID:+9qG5EdN0012デフォルトの名無しさん
2017/03/05(日) 05:17:38.13ID:rlVSvpqMGroovyがそうだったけど
Kotlinは堅めだと思う
0014デフォルトの名無しさん
2017/03/05(日) 09:15:29.11ID:CRVYE2F+Prologって一階の述語論理以上を扱えるの?
自分はProlog触ったこと無いから、CoqやAgdaの方が表現力が上だって勝手に思ってるけど、どうなんだろう。
マウンティングうるさい人がいるので、そうだと思わないで欲しい。素直な疑問。
0015デフォルトの名無しさん
2017/03/05(日) 10:57:44.27ID:BRHv0ACrPrologは一階の述語論理のサブセットですから、強力なサポートがあるのは
一階の述語論理だということだと思います。
否定の定義は二階の述語論理だと思いますし、
\+(P) :- call(P),!,fail.
\+(P).
'句を評価してその第一引数が整数だったらそれを返す'(_句,_整数) :-
call(_句),
_句 =.. [_,_整数|_],
integer(_整数).
のような記述は可能ですから、扱うことはできます。
0016デフォルトの名無しさん
2017/03/05(日) 11:14:46.94ID:BRHv0ACr\+ , setof , bagof , findall , forallなどが組込述語として存在しますが、
こんなものです。さらには、
二階述語論理を再帰述語の中で使うと、句の中にある変数が一度、単一化されて
しまうと、受け取った句と次に再帰する時の句が別の意味になってしまう。
変数が束縛されてしまっているから。
この問題を回避するために再帰述語に入った途端にcopy_termをして変数の
ままの構造体を保存しなくてならない。というような、深刻な不都合が存在
します。
0017デフォルトの名無しさん
2017/03/05(日) 11:16:31.37ID:YjhEGGhg0018あ
2017/03/05(日) 11:29:01.53ID:YuVF0M5o扱うべきかどうかはまた別。
0019デフォルトの名無しさん
2017/03/05(日) 11:33:33.34ID:BRHv0ACr再帰の中でPをcallする(P,X) :-
・・・
call(P), % ここでPの引数の変数が束縛されてしまうとする
・・・
再帰の中でPをcallする(P,X). % このPは変数が束縛されたPであり最初のPとはちがう
0020デフォルトの名無しさん
2017/03/05(日) 11:39:56.31ID:BRHv0ACr実務の中で出てくることは今のところ皆無。
知識プログラミングが高い段階に進んだら、そういう課題も現れるように
なると思いますが。
0021デフォルトの名無しさん
2017/03/05(日) 12:09:25.64ID:rlVSvpqMなるほど、Pの評価によって再帰自体も制約されてしまうって事ですね
Prologはここまで考えないといけないのか…
0022デフォルトの名無しさん
2017/03/05(日) 12:19:21.43ID:rlVSvpqMなぜ扱うだけで証明が必要なんです?
0024デフォルトの名無しさん
2017/03/05(日) 12:48:36.53ID:FZcEb+sxそれガイジ
0025デフォルトの名無しさん
2017/03/05(日) 13:05:36.69ID:BRHv0ACrこういう部分のサポートは全くない訳です。
再帰の中でPをcallする(P,X) :-
copy_term(P,P_2),
・・・
call(P), % ここでPの引数の変数が束縛されてしまうとする
・・・
再帰の中でPをcallする(P_2,X).
% 上のように引数のストリームを断ち切って使います。
0026デフォルトの名無しさん
2017/03/05(日) 13:21:16.68ID:rlVSvpqM?
わからなくて聞いてるのはこっちですよ
扱うだけならいらなくないですか?
なぜ必要があるんです?
0027デフォルトの名無しさん
2017/03/05(日) 13:27:47.30ID:HN9/KcX+0028デフォルトの名無しさん
2017/03/05(日) 13:29:26.27ID:rlVSvpqMなるほど、そう書くと自由なままとして渡せるんですね
Prolog難しいけど面白いですね
これって、述語部だけ取り出して、引数一部だけ束縛、またはフリーにして渡す事ってできますか?
できるなら、再帰でかなり複雑なパターンマッチもできそう
0029デフォルトの名無しさん
2017/03/05(日) 13:37:23.93ID:BRHv0ACr先ほどの述語定義で渡されたPですが、これは
P =.. [_述語名,_引数1,_引数_2, ・・・ ,_引数n]
でどれとも部分的に単一化可能です。この組込述語 =.. はLISPから
ヒントを得たちょっとインチキ臭さがありますが、本格的には
functor(P,_述語,_引数の数) と arg(_引数位置,P,_引数の値) の二つを
使って再帰的に部分項を取り出します。
0031デフォルトの名無しさん
2017/03/05(日) 14:16:47.04ID:rlVSvpqMなるほど、=..これでマッチングさせれば、
callもapplyなどの一般的な関数適用のようにできるわけですね
引数適用が適宜変更できるなら、Prologの探索と、関係の列挙と、シンプルな再帰的な動作で、かなり面白い挙動をさせることもできそうですね
例えば、何かパズルや網羅的な物の解析など、有機的な処理とかできそう
途中から割り込んでおいてすみませんが、説明ありがとうございました
今まで食わず嫌いしてましたが、ちょっとProlog環境入れてみようと思います
0032デフォルトの名無しさん
2017/03/05(日) 14:42:06.46ID:YjhEGGhgこれが次世代言語なのか?
0033デフォルトの名無しさん
2017/03/05(日) 14:51:12.72ID:OTWGYsmMわざわざ次世代とか入れないで、関数型総合スレにすれば変な奴も湧かないのに。
0034デフォルトの名無しさん
2017/03/05(日) 14:53:44.75ID:YjhEGGhgGoは関数型だった説????・
エスウィフタはマックイオス専用なんだろ?
次世代になれんやんけ
0035デフォルトの名無しさん
2017/03/05(日) 16:58:39.65ID:tyZD49qc0036デフォルトの名無しさん
2017/03/05(日) 17:07:10.16ID:HN9/KcX+0037あ
2017/03/05(日) 19:21:57.46ID:YuVF0M5o>>33
そーだと思うよ。
プログラミングは関数型プログラミングができるかどうかで免許制にするべきらしいからw
間接参照と、プログラムメモリとデータメモリの壁を取り払ってデータメモリにjmpする事を許すアーキテクチャ、なんてかたちで
40年以上前に既にやってることが、次世代のプログラミングらしい。
ちょっと違うのは40年前の闇魔法使いはちゃんとステップ数ヒープ容量クロック数把握してたって事くらいだよ。
0038デフォルトの名無しさん
2017/03/05(日) 20:29:04.88ID:eFmYAyos生ぬるく見守ってあげましょう
0039デフォルトの名無しさん
2017/03/05(日) 20:43:48.12ID:iMAERu5Y0040デフォルトの名無しさん
2017/03/05(日) 20:44:50.91ID:uF+9myNK0041デフォルトの名無しさん
2017/03/05(日) 21:09:51.59ID:Snq+LO9g0042デフォルトの名無しさん
2017/03/05(日) 21:43:00.59ID:J/TxCHLcHaskellはさんざん出てきてるから分かる。
0043デフォルトの名無しさん
2017/03/05(日) 22:31:05.03ID:Kh31TaEWCommonLisp 関数型ではない
Scheme 関数型とはいい難い
Clojure 関数型
Scala 関数型ではない
ML, F# 関数型
0044デフォルトの名無しさん
2017/03/05(日) 22:32:10.15ID:eU4nuStdRust,Scalaはオブジェクト指向でも問題なく書けるように作ってあるしね
そう考えると関数型オンリーでメジャーなのはHaskellぐらいで
関数型でしか書きたくなくなるのは(ここにはないけど)OCaml,F#?
0045デフォルトの名無しさん
2017/03/05(日) 22:44:57.43ID:iMAERu5Y1. ガード節による if の表現
2. 再帰による for の表現
3. 返り値による値の受け渡し(副作用?に関する内容)
4. カリー化(関数の引数の部分適用)
5. クロージャー生成(関数内で関数を構築して返す)
6. 関数合成
こんなとこかね。
0046デフォルトの名無しさん
2017/03/05(日) 23:05:17.41ID:f1XixyjTパターンマッチングのことだろうか?
0047デフォルトの名無しさん
2017/03/05(日) 23:16:03.21ID:YjhEGGhgJavaScriptも関数型です
0048デフォルトの名無しさん
2017/03/05(日) 23:35:10.14ID:uF+9myNK0049デフォルトの名無しさん
2017/03/05(日) 23:58:25.01ID:DhZRJ8mI3は「参照透過性」の方がわかりやすい。
0050デフォルトの名無しさん
2017/03/05(日) 23:59:00.45ID:Fth8SIItscalaは関数型言語とオブジェクト指向言語のハイブリッドだと
言われてる(いた?)けどRustもそんな感じの言語?
状況に応じてどっちもできるみたいな。
0051デフォルトの名無しさん
2017/03/06(月) 00:01:30.29ID:TElIZB3P従ってscalaは関数型じゃない
005246
2017/03/06(月) 00:31:18.21ID:tkAhRfWWガード節って言われるとOOで普通に書いてるガード節を思い浮かべる
0053デフォルトの名無しさん
2017/03/06(月) 00:58:30.96ID:CmbzzojEワイにも気付きを授けてクレメンス
0054デフォルトの名無しさん
2017/03/06(月) 01:09:26.57ID:i7/wxVG9まさかこんな基地外が産まれるとは
0055デフォルトの名無しさん
2017/03/06(月) 01:23:32.91ID:tkAhRfWWhttp://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.42ID:cEBf17opパターンマッチングが使えるところは、ガードを使わずにパターンマッチングした方が良い気がする。
引数のデータ構造が左辺から右辺へ消耗されているのと、終わりが決まっているのを見れば機械的に分かるんでないかい?
0057デフォルトの名無しさん
2017/03/06(月) 03:34:08.64ID:cEBf17op網羅性の判別についてif_then_elseだと分かり難い気がする。
0058デフォルトの名無しさん
2017/03/06(月) 04:56:05.24ID:yHzqr3h1> 網羅性の判別についてif_then_elseだと分かり難い気がする。
elseがあれば形式上は必ず網羅してることになるって理解してない?
0059デフォルトの名無しさん
2017/03/06(月) 06:47:41.91ID:ykOEd1Btそういうことじゃないな。
見たこと無いなら一度ガード文をよく見てみ。すぐ気づくから。
0060デフォルトの名無しさん
2017/03/06(月) 07:25:56.79ID:VtmVq+jZ0061デフォルトの名無しさん
2017/03/06(月) 07:36:54.23ID:vYFC3IUg0062デフォルトの名無しさん
2017/03/06(月) 10:00:34.77ID:KF1pGar00063デフォルトの名無しさん
2017/03/06(月) 14:37:48.67ID:IelCg/4C0064デフォルトの名無しさん
2017/03/06(月) 14:38:32.73ID:NJsYPQA5ラムダ計算というようなことは最近は言わないのかな
0065デフォルトの名無しさん
2017/03/06(月) 14:48:54.03ID:yHzqr3h1うん?
>>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.93ID:yHzqr3h1誤> 私の知る限りでは、“guard”という言葉を使い始めたのはEdsger W. Dijkstraが
正> 私の知る限りでは、プログラミング言語論の分野で“guard”という言葉を使い始めたのはEdsger W. Dijkstraで
0067デフォルトの名無しさん
2017/03/06(月) 15:01:50.48ID:tkAhRfWW>見やすくしているだけの代物に過ぎない
>>57の言ってるのはその見やすさの話だよ
ダイクストラより読解力
0068デフォルトの名無しさん
2017/03/06(月) 15:12:02.80ID:OUYDva0Vコード書いてない奴にはわからんかもしれないけど
0069デフォルトの名無しさん
2017/03/06(月) 15:23:37.65ID:vYFC3IUg0070デフォルトの名無しさん
2017/03/06(月) 15:39:34.99ID:WFOJxtdk>>66
長々言ってる割に、誰が言っただのと、ガイジと大して変わらんね
重要な点は非決定性、半順序性だけ
ガードは条件に漏れは許されない
リスト内包表記にも使える
馬鹿にしてるインデント云々という点も一般に文であるIfとは違う
こういう他言語を貶めるために、構文糖でしかない、という奴はよくいるが
まさにその形式言語の話題だぞ?
難癖と気づかずに、専門家かのように振る舞うから質が悪い
それなら一生に一つの言語だけ使ってればいいと思うが、なぜこういうスレに出張って来るのか
0071デフォルトの名無しさん
2017/03/06(月) 15:43:46.77ID:vYFC3IUg0072デフォルトの名無しさん
2017/03/06(月) 15:44:37.53ID:WFOJxtdk恥ずかしい…
0073デフォルトの名無しさん
2017/03/06(月) 16:36:57.18ID:OYPA5xsGlet-inよりもwhere句のほうがいいとか、
おまえらどれだけMLディスれば気がすむんだよw
おまえらが喜んで崇拝しているのは関数プログラミングじゃなくて
単なるハスケルの構文糖衣だw
0074デフォルトの名無しさん
2017/03/06(月) 17:02:04.05ID:OUYDva0V0075デフォルトの名無しさん
2017/03/06(月) 17:28:02.69ID:NJsYPQA5>そんなものを“guard”なんて大袈裟な名前で呼ぶのは羊頭狗肉の類だ
少なくとも、Guard部を頭に持った句が並行計算される可能性を「見て」
ガードなんて、呼んでいるのではないのかな
そうだとすると、糖衣構文というのは外れている部分もあると思うが
0076デフォルトの名無しさん
2017/03/06(月) 17:45:46.45ID:g8E8d1VFそれに比べてletは変数を重視しすぎてスクリプト言語みたいになってるな
0077デフォルトの名無しさん
2017/03/06(月) 17:49:31.36ID:OYPA5xsGHaskellでは意味論で上から順に評価されると定義されているんだから構文糖衣そのものだろ。
0078デフォルトの名無しさん
2017/03/06(月) 17:58:04.73ID:OUYDva0V0079デフォルトの名無しさん
2017/03/06(月) 17:59:35.20ID:WFOJxtdkあらゆる機能はアセンブリの構文糖です
0080デフォルトの名無しさん
2017/03/06(月) 18:08:08.68ID:WFOJxtdkMonadだと必須だ
後ろのin嫌いだからML系はF#しか受け付けないけど
0081デフォルトの名無しさん
2017/03/06(月) 18:14:31.69ID:NJsYPQA5そういうものなのですか
私は将来、この部分を実際にガードとして並行計算さらには並列計算される
であろうから、ガードと名付けられているのかと思っていました
勘違いなら、>>75は撤回ですね
0082デフォルトの名無しさん
2017/03/07(火) 02:17:32.06ID:bsRgFXRJif (arg == null) {
thrown new IllegalArgumentException();
}
のことなん?
0083デフォルトの名無しさん
2017/03/07(火) 07:35:02.01ID:cugNxFV20084デフォルトの名無しさん
2017/03/07(火) 08:03:05.67ID:s1edUXSNそれ以外の部分で書く記法があるの?
0085デフォルトの名無しさん
2017/03/07(火) 08:15:24.99ID:1C2Ly4AW0086デフォルトの名無しさん
2017/03/07(火) 12:58:56.72ID:s1edUXSNありがとうございます
0087デフォルトの名無しさん
2017/03/07(火) 13:48:16.69ID:1C2Ly4AWHaskellのガードの議論をしているのに、「一般に文であるif」とか言われてもねえ。
0088デフォルトの名無しさん
2017/03/07(火) 14:51:57.97ID:d/UktTsb> 長々言ってる割に、誰が言っただのと、ガイジと大して変わらんね
> 重要な点は非決定性、半順序性だけ
半順序じゃない全順序だ (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.62ID:d/UktTsb> あらゆる機能はアセンブリの構文糖です
それは間違い
アセンブリ言語の意味論を展開しようとすれば、その意味領域(プログラムの意味を捉えるための集合)は
有限ビット列の集合(やその上の写像の集合)とならざるを得ず、整数などは現れない
「固定小数点演算があるではないか」という反論が出るかも知れないが、そういう演算で処理した(その時点では固定小数点数と看做した)
メモリ領域にあるビット列はその後で単なるビット操作(特定ビットの反転など)の対象となり固定小数点数として扱われない可能性が常にあるから
即ち、アセンブリ言語における「固定小数点演算命令」は固定小数点の集合からそれへの写像でなく、あくまでもビット列の集合からビット列の集合への写像であり、
そのビット列を特定のフォーマットの固定小数点数と看做すと加減乗除算や符号反転などと理解できるような写像となっているというだけだ
つまりアセンブリ言語(とその意味領域としての全ての有限ビット列たちの集合やその上の写像たちの集合)は、様々なプログラミング言語とその意味論を
展開するための意味領域を、★埋め込む★ための埋め込み先として使えるのだよ
つまり、計算可能な対象ならばどんな高度な論理的な構造を持っていたとしても、しょせんはビット列での表現に帰着しようと思えばできるということであって、
アセンブリ言語の世界に高度な論理的構造そのものが存在している訳では★ない★のだ
それは12の音それ自体の組み合わせであらゆる名曲が表現できようと、12の音そのものが既にして名曲ではないようにね
(あるいは絵具で名画を描けるからと言って、絵具が既にして名画でもなければ、絵具メーカーが名画を描いたのでないように)
高水準プログラミング言語やその言語機能は、その意味を捉えるための意味領域がビット列の集合でなく整数の集合や文字の集合やその直積といった
様々な構造(それは言語が持つ論理的な内容の投影された姿)を持つ形で構成できるからこそ、「高水準」なんだよ
単にそれらの構造を幾らでも埋め込めるよりフラットなアセンブリの世界は逆に言えば論理を反映した構造が欠落しているという意味で「低水準」なのだ
0090デフォルトの名無しさん
2017/03/07(火) 15:26:29.93ID:d/UktTsb「構文糖衣(syntax/syntactic sugar)」と呼ぶのが適切な範囲は、意味領域や検証条件など意味の世界に影響せず
文字通り、構文=字面だけの操作で片付けられるもの
つまりparser/unparserだけ作ればsugarを除いた基本形だけからなるプログラムコードに帰着できるようなもの
高水準言語のコードをアセンブリ言語のコードの世界へ埋め込むためのプログラム、つまり高水準言語のcompilerは
型の定義や変数宣言と変数の型などの宣言情報を記録・チェックしてその型に応じた様々な処理が必要になる等、
parserの構文チェックだけでは済まない、つまり、それは高水準言語はアセンブリ言語の構文糖衣ではないということを表している
0091デフォルトの名無しさん
2017/03/07(火) 15:36:20.49ID:onovVgfaすげえ汚いコード書いてそう
0092デフォルトの名無しさん
2017/03/07(火) 15:41:53.46ID:d/UktTsb70のように無知な人間相手に説明するには長くならざるを得ない、また君みたいに理解力・思考力が不足している人間相手の場合もね
彼や君みたいな不勉強な人間の学習不足とそれによる知識不足(それに論理的な思考力の不足も)を補って説明してやる必要があるからね
上の2行の内容を推理できず、なぜ長くなっているかが理解できない反応を君がしていのは、君自身が思考力(推理力)・理解力が不足している何よりの証拠だ
0093デフォルトの名無しさん
2017/03/07(火) 16:04:00.90ID:OR7b+iU30094デフォルトの名無しさん
2017/03/07(火) 16:21:51.51ID:1C2Ly4AW0095デフォルトの名無しさん
2017/03/07(火) 16:25:00.05ID:OR7b+iU30096デフォルトの名無しさん
2017/03/07(火) 16:34:05.43ID:d/UktTsb構文糖衣に関して間違った理解を読むのは不快なんだよ
構文糖衣それ自体は悪くはない(ないよりもあった方が良い)というのは同意するが
>>70に見られるようにそれが本質的に重要だという勘違いや、>>79に見られるように意味を変えるのも構文糖衣と呼ぶ間違いとかはね
構文糖衣なんて見せ掛けだけの代物は、このスレの主題である次世代言語がどうあるべきかという問題の議論では何ら重要でないということだよ
その程度の言語の構文の見掛けの改良でプログラムの信頼性(バグの発生率)を1%でも改善できるならばとっくに殆どのバグが無くなっている
ところが現実にはバグ発生率はむしろ増えている
それはプログラミングの大衆化と共に不勉強なプログラマが多くなったからだ
次世代言語はバグを減らしプログラムの信頼性を回復する目的で言語設計されるべきだと個人的には思っている
そしてバグを減らすにはその言語とそれで書かれるプログラムを支配している論理や意味をより良いものへと改良する必要がある
またコードが短ければ良いという今の風潮も信頼性の観点からは間違いだから個人的に嫌い
短いコードはしばしばトリッキーでバグの潜在的な巣になりやすい
(書かれた時点では正しくとも後の機能追加とかでバグが入り込む原因になりやすい)
長くても論理的に筋が追いやすいコードが後のメンテナンスでトラブルを起こしにくくプロの書くコードとしては正しいというのが私の考え
趣味のプログラミングと人々に使ってもらえる(その対価として報酬をもらえる)プロのプログラミングとは別ということだ
趣味を仕事にする、仕事を趣味にする、という考え方には反対、なぜならばプロとして甘えが入り込む隙が生ずるから
0097デフォルトの名無しさん
2017/03/07(火) 16:38:17.94ID:OR7b+iU30098デフォルトの名無しさん
2017/03/07(火) 16:46:07.18ID:buHXdcTx>長くても論理的に筋が追いやすいコード
わかりやすい構造があればね
君の文章にそれはないよ
0099デフォルトの名無しさん
2017/03/07(火) 17:03:21.49ID:1C2Ly4AW君って本当に馬鹿だね。
0100デフォルトの名無しさん
2017/03/07(火) 17:08:41.42ID:1C2Ly4AW> ところが現実にはバグ発生率はむしろ増えている
> それはプログラミングの大衆化と共に不勉強なプログラマが多くなったからだ
おそらくそれが次世代言語の鍵だ。
不勉強なプログラマを相手にしたら、意味論だけではバグを抑えられない。
構文にいともたやすく左右されるプログラマが作るバグを減らすには、
構文による対処も重要だ。
0101デフォルトの名無しさん
2017/03/07(火) 17:13:04.28ID:Ac9fXCP4>誰が言っただのと、ガイジと大して変わらんね
これは「誰かの言葉を引用するなんて障害児みたいだ」ではなく
「誰かの言葉を引用する所がエンジニアガイジみたいだ」だろう。
本人が「あ」と名乗ったのにガイジと呼び続ける>>70もどうかとは思う。
0102デフォルトの名無しさん
2017/03/07(火) 17:38:29.56ID:cugNxFV2文章にナチュラルに「あ」を入れても分からなくね?
分かりにくい名前は定着しないってはっきりわかんだね
0103デフォルトの名無しさん
2017/03/07(火) 17:39:30.03ID:cugNxFV2これもう荒らしだろ
0104デフォルトの名無しさん
2017/03/07(火) 17:58:14.78ID:04iMZGzn上の長文の人はともかく、たかだか数行でも長い長い
言う輩が最近多いからなぁ・・・
そんな奴らがまともに仕様を読み取れるとは思えないし
プログラミング言語以前な話な気はする
0105デフォルトの名無しさん
2017/03/07(火) 18:01:47.91ID:sN5zB8qN0106デフォルトの名無しさん
2017/03/07(火) 18:03:43.65ID:Ac9fXCP4分かりやすい構文は人間が読みやすいという点で重要だけど、
コーディングで作ったバグはコンパイルとテストで検出できるはずだ。
不勉強なプログラマでもテスト結果がおかしければ気がつく。
バグが増えたのはソフトウェアが複雑になってテスト漏れが増えたからだろう。
だからテスト漏れしにくいプログラミング言語が根本的な解決策だと思う。
たとえば強い型があり参照透過なプログラミング言語ならバグは減る。
0107デフォルトの名無しさん
2017/03/07(火) 18:07:19.53ID:sN5zB8qN0108デフォルトの名無しさん
2017/03/07(火) 18:08:34.57ID:WHQdRSrt自分が間違えたら不快だが他人が間違えるのは自由だよ
本当の問題は、間違いが多いというより自由が足りないことじゃないかね
0109デフォルトの名無しさん
2017/03/07(火) 18:53:25.60ID:TjKLocSV0110デフォルトの名無しさん
2017/03/07(火) 19:02:53.48ID:OR7b+iU3選択してプログラムを作る方式のプログラム言語出来ないかな。
0111デフォルトの名無しさん
2017/03/07(火) 19:03:23.95ID:YuKXNQNEそんな当たり前のこともできないやつに限って、くだらん言語機能に凝りだす。
0112デフォルトの名無しさん
2017/03/07(火) 19:08:42.86ID:TjKLocSV0113デフォルトの名無しさん
2017/03/07(火) 19:22:27.71ID:Skok7ILu0114デフォルトの名無しさん
2017/03/07(火) 19:27:24.56ID:TjKLocSV0115デフォルトの名無しさん
2017/03/07(火) 19:28:14.33ID:OR7b+iU3これから人が人であるためには巨大で複雑で参照透過性のないプログラムを書くしかないな。
0116デフォルトの名無しさん
2017/03/07(火) 19:31:50.92ID:s1edUXSN次世代言語ということになると、日本語プログラミング言語も候補に
あげるべきだと思う。
0117デフォルトの名無しさん
2017/03/07(火) 19:32:44.28ID:7e8mS6v1一言だけ
糖衣構文は見せかけではなく、バグの余地を減らすものの一つだよ
キミらすぐにプロを名乗るけど、本当にプロなのか?
0118デフォルトの名無しさん
2017/03/07(火) 19:38:24.79ID:OR7b+iU3日本語のソースコードをを英語のソースコードにコンパイルするソフトがあればいいだろ。
0119あ
2017/03/07(火) 19:45:15.79ID:9QvrX/Qz言葉が足りないと責められるのから徹底的に逃げた感じ。
「過ぎたるは猶及ばざるが如し」そのもの。過猶不及と書くのが俺なら対極。
意味論で言うと、写像ではないの?全射であり単射で無いだけの。
整数なんて捉えるから変な話になっていくのであって、そりゃオペコード次第じゃん。
>>102
何でもいいから名乗れといった割に贅沢な話だ。
0120デフォルトの名無しさん
2017/03/07(火) 19:50:48.65ID:OR7b+iU3ユニットテスト言語はユニットテストのテストだけを
使ってプログラムを作るから、テストされてない部分は一つも無い
間違いのないプログラムが作れる。
0121あ
2017/03/07(火) 19:51:53.37ID:9QvrX/Qzガイジと言っておけば大体の事を大半の人間にとって戯言として処理させられるんだから。
大半の人間には自分も含まれるけど。
類するジャンルとして天才とか、あの人は別だからってのもある。
σを絞る事で、自分を平均より少し上に持っていくよくあるやつ。
ちょいちょい居るから別に違和感も無かった。
0122デフォルトの名無しさん
2017/03/07(火) 19:55:21.48ID:74O8Sr0Dそういう読み方の人もいるからいい迷惑だな。音の響きだけだとかっこいいから普通に付けそうだし。
0124デフォルトの名無しさん
2017/03/07(火) 19:59:50.64ID:OR7b+iU3ガイジが差別主義者としってむしろがっかりした。
ガイジと言われることに誇りを持てる差別のない世の中にしていかないと駄目だね。
0125デフォルトの名無しさん
2017/03/07(火) 20:00:59.93ID:74O8Sr0D近畿か。愛知では聞かなかったな。
そして、書いてから気づいたが上の発言は適切でないので、撤回する。不用意だった、
0126デフォルトの名無しさん
2017/03/07(火) 20:02:32.36ID:7e8mS6v1すまないがもうちょい突っ込んどく
まず長文についてはもう流石に自覚してるよな?
記号の羅列を想像しているか知らないが、短いければトリッキーになると言うレッテルは、プログラミングを完全に履き違えてるな
コードは適切に抽象化し、 短く読みやすい方が良い
そんなものは経験者のがわかってる事だろうに
それと強弁しようが高水準言語だろうと、意味論も結局実装に書き下されてるだけの存在で
所詮は抽象で改善してるに過ぎないし、レイヤーが異なるだけで構文糖と同じもの
不勉強と言うのは勝手だが、そりゃただ話をずらして目を背けてるだけだ
それとバグが増えていると言うが、一体どういう基準のどこのデータの話だ?
0127デフォルトの名無しさん
2017/03/07(火) 20:04:07.53ID:bsRgFXRJワイがバカだから読む気にならないんじゃなくて
読む気になれない文だからワイが読む気にならないんだね
0128デフォルトの名無しさん
2017/03/07(火) 20:05:34.14ID:OR7b+iU30129デフォルトの名無しさん
2017/03/07(火) 20:08:24.06ID:Ac9fXCP4https://www.indeed.com/jobtrends/Python,Ruby,Perl,Scala.html
Pythonはデータサイエンスの標準言語になって求人が急増中だね。
だけどScalaも今の求人増加率が続けば3年以内にPerlとRubyを追い抜く。
大規模ソフトウェアのための次世代言語の本命はScalaだろう。
0130デフォルトの名無しさん
2017/03/07(火) 20:11:03.55ID:cugNxFV20131デフォルトの名無しさん
2017/03/07(火) 20:14:39.12ID:YuKXNQNE社会に出ればピンキリだってことがよくわかる。
0132あ
2017/03/07(火) 20:16:15.01ID:9QvrX/Qz多分なんJみたいな感じで関西弁っぽい感じの言葉が流行ったタイミングで全国区な言葉になったのでは?芸人もテレビでは言わないし。
不適切でもないんじゃないの?そういう姿とそういう言葉があって、傷ついたり、傷つけているかもしれないと思うからガイジと言う言葉がヤジとして成立するんだから。
要は、ヤジとして成立させるために引っ込める必要も無い。
言う奴も、要は言われて傷ついた奴に過ぎんよ。
ただ言う奴はそういうつもりで言っている、という認識があるだけで、そうなりたくはないという認識を自分がそうではないという意思表明にせんでも良いと思う。
0133デフォルトの名無しさん
2017/03/07(火) 20:18:19.05ID:Ac9fXCP4客先常駐だと無理だけど、持ち帰り案件なら自由にネットを使えるよ。
0134あ
2017/03/07(火) 20:18:47.41ID:9QvrX/Qz年度末だからな。
今動いてるのは予算消化が中途半端な所か、法改正対応か、計画の無い仕事を取らないといけない会社くらいじゃないの?
0135デフォルトの名無しさん
2017/03/07(火) 20:32:50.23ID:1C2Ly4AWバグがどこかにあることがわかったとしても、
具体的にどこがバグなのか、どうして誤った動作をするのか、
それが理解できないのが、次世代言語が相手にしなきゃならないプログラマだ。
このスレにも沢山いる、意味論なんて全く理解していない奴に、
意味論に基いたエラーメッセージからバグを特定できるか?
誤魔化しでもなんでもいい。構文による負荷軽減は必要だよ。
0136デフォルトの名無しさん
2017/03/07(火) 20:33:13.39ID:WHQdRSrt0137デフォルトの名無しさん
2017/03/07(火) 20:34:49.92ID:1C2Ly4AWじゃあお前はWhitespace系の言語でOSでも書いてろ。
0138デフォルトの名無しさん
2017/03/07(火) 20:37:49.91ID:cugNxFV2>>137
安価する相手間違ってなーい?
0139デフォルトの名無しさん
2017/03/07(火) 20:38:40.11ID:7e8mS6v1むしろ今普通に忙しいぞ
Webも新規案件多いし
0140デフォルトの名無しさん
2017/03/07(火) 20:39:40.75ID:7e8mS6v1どういう意味だ?
0141デフォルトの名無しさん
2017/03/07(火) 20:40:22.31ID:cugNxFV2そいつ組み込みらしいで
0142デフォルトの名無しさん
2017/03/07(火) 21:07:30.18ID:HLoo0rfy勉強になる。こういう話も楽しいな。
0143デフォルトの名無しさん
2017/03/07(火) 23:10:29.98ID:5c7MTUF9トレンディーでナウいヤングメンは Python に夢中ってことですね
とてもわかりやすいです
0144デフォルトの名無しさん
2017/03/07(火) 23:25:14.34ID:d/UktTsb> >>96
> 一言だけ
> 糖衣構文は見せかけではなく、バグの余地を減らすものの一つだよ
そんなことでバグが減るならば良いエディタを使うんだね
プログラミング言語に専用のモードやチェック機能を作り込めるような
構文糖衣でやれることはその程度のことだ
良いエディタは重要だがバグのほとんどはそれでは救えない範囲に住んでいるんだよ
> キミらすぐにプロを名乗るけど、本当にプロなのか?
構文糖衣でバグがsignificantlyに減らせると思ってるプロのソフトウェア技術者がいるとは信じられないね
自称プロならばいくらでもいるだろうが
0145デフォルトの名無しさん
2017/03/07(火) 23:30:34.14ID:TRrf8/Mo君がpythonでできることは僕もpythonでできるからね
0146デフォルトの名無しさん
2017/03/08(水) 00:04:55.28ID:dAIzB0VC> 記号の羅列を想像しているか知らないが、短いければトリッキーになると言うレッテルは、プログラミングを完全に履き違えてるな
> コードは適切に抽象化し、 短く読みやすい方が良い
抽象化とコードの長さとは論理的に別だ
ついでに言えば関数プログラミングで共通構造をどんどん高階関数として切り出し抽象化するとコードは極めて短くなり得る
しかしそういう手段で出来上がるプログラムは当人を除いてほとんどの人間には読み難く、後で機能追加などのために
元のコードにも変更を加えねばなくなると大変いじり難い代物となる
> そんなものは経験者のがわかってる事だろうに
その言葉は君に返しておこう
> それと強弁しようが高水準言語だろうと、意味論も結局実装に書き下されてるだけの存在で
> 所詮は抽象で改善してるに過ぎないし、レイヤーが異なるだけで構文糖と同じもの
> 不勉強と言うのは勝手だが、そりゃただ話をずらして目を背けてるだけだ
「意味論も実装に書き下されてるだけの存在」と思ってるのなら単に意味論について不勉強だと言ってるだけだね
「所詮は抽象化で改善している」とは何を改善してるのかな?
プログラミング言語について意味をどう選ぶかこそがその言語が提供する抽象化のレベルの限界を規定していると理解できないか?
つまり、ビット列の集まりという構造のない抽象性ゼロとも言える泥沼のような世界に対してどこまで抽象的な値(数とか直積とかね)を
抽象的な形のまま(実装を考えずに)扱えるようにできるのか、ということの限界をだ
本来、プログラミング言語の実装をその言語を使っているプログラマが意識せねばならないとしたら次のどれかであって、�B以外は誰かが間違っている
�@ その言語の言語設計が間違っているか、または
�A その言語の使い方が間違っているか、または
�B ハードウェアの限界まで使うプログラムを書こうとしている (そんなのはスパコンか組み込み系でも最小メモリのかをやってる人間以外は極めて稀)
(オブジェクト指向でメモリを湯水のように使いながら「俺はメモリの限界ギリギリのプログラムを書いてるんだぞ」なんて自慢しないでくれよ、頼むから)
0147あ
2017/03/08(水) 00:14:34.83ID:F8XXETq2そうなんだ。世間は年度とかに縛られてないもんなんだな。
>>141
俺は組み込みじゃないよ。
工業は工業だけど。
>>144
スルー決め込んでるけど、バグの起こりにくい無い専用の良いエディタの極論は統計ならSPSS、計測器ならLabVIEW、シーケンス制御なら各社のPLCのラダーエディタみたいなもので、
実際には糖衣文と糖衣図と言うか、コードを記号まで落とし込んじゃった物だよ。
その程度の事、ではないよな。
どれも使った事無いならわかんないかもしれないけど。
殆どのバグは、それに向いてない言語で無理に書く所が発端。
良いエディタと正しい鎖はバグを産みづらいよ。
0148あ
2017/03/08(水) 00:16:55.57ID:F8XXETq2丸囲みは使うなよ。
「(3)以外は誰かが間違ってる」って、なんで列挙してるものに「間違ってる」って書いてるのに対してわざわざ話すの?
蛇足の極みかww
0150デフォルトの名無しさん
2017/03/08(水) 01:13:41.47ID:sPopLWFS0151デフォルトの名無しさん
2017/03/08(水) 07:09:24.17ID:vbyaKny6議論の中心にいる長文氏がそこをクリアにしてくれ。
0152デフォルトの名無しさん
2017/03/08(水) 08:41:23.89ID:f0ZRB9R+0153デフォルトの名無しさん
2017/03/08(水) 09:36:33.28ID:8YPePj4Q議論の中心にいる長文氏がそこをクリアにしてくれ。
0154デフォルトの名無しさん
2017/03/08(水) 10:27:58.42ID:WMt88/kI抽象的な人の目にはそれを認識できてない
0155デフォルトの名無しさん
2017/03/08(水) 10:30:55.37ID:pMznqIBv実際問題、テキストエディタよりも統合環境が優れているのはまさに「そんなことでバグが減る」点だよ。
意味論による静的解析で減らせるバグもあるが、構文論のレベルで減らせるバグは十分にsignificantだ。
0156デフォルトの名無しさん
2017/03/08(水) 10:48:42.38ID:icCtDpEn0157デフォルトの名無しさん
2017/03/08(水) 10:49:28.98ID:icCtDpEnほんとそれな
0158デフォルトの名無しさん
2017/03/08(水) 11:53:16.74ID:8YPePj4Q間違いないね。
俺はvimとemacsというテキストエディターでやってるからわかるけど
絶対一発でコンパイル通ることなんて今まで一度もない。
10回くらい直してやっと通るレベル。
0159あ
2017/03/08(水) 12:03:08.39ID:F8XXETq2そーそー。
ドメインに特化するなら、どうとでもグラフィカルにした上で、裏でゴリゴリのチューンしたり複数の計算機に分散させたりできたり。
そういう意味では3DCG屋さんのアセットパイプラインとやらは凄いわ。
動画作ってもらうとき、何故か呼ばれて、よくよく話すとこのシーンでのテンソル場が欲しいって話で、
「初期状態からの経過時間ごとに変わるんだけど、観測点の密度によってはデータ量ヤバいと思うし、欲しいデータ形式言ってくれたら経過時間を引数にもらったら帰すプログラム作るよ」って言って作ったら、
きれいにパイプラインに乗ったらしくていたく感謝された。
0160デフォルトの名無しさん
2017/03/08(水) 12:18:59.05ID:Smd3EfGE話が発散してるが構文糖の話の文脈な
あと推敲してくれな時間あんまないから端的に返す
文字数や記号化の話でなく、構文などの単位で短くと言い、適切な抽象化が必要と言ったe.g.構造化
改善の話は効率と思ってるが、反論しても多様過ぎて平行線だろ
選択云々も関係ないからスルー
でその表示意味論全般を含むかの言い方では、構文糖は直接でないだけで意味あるので肯定になる
でも意味ないと言った
操作的には前レスの話で終わり
それですらないなら、何の文脈の「意味論」を援用してるかわからん
まあとにかく俺は正直これ以上お前と絡むの嫌だわ
0161デフォルトの名無しさん
2017/03/08(水) 13:50:31.90ID:sH4DJtGdこれって英語のライブラリを使いたくないということでしょ
0162デフォルトの名無しさん
2017/03/08(水) 14:06:12.69ID:icCtDpEnそら(読めないんだから)そう(英語はクソ)よ
0163デフォルトの名無しさん
2017/03/08(水) 17:17:33.07ID:p/HdyyRL日本語に変換して、日本語でプログラミングしたいという方向だろう
0164デフォルトの名無しさん
2017/03/08(水) 18:14:25.73ID:ISgA6Zglあ氏、そこまで書くと周りに特定されないかい?ww
意味論、構文論でのエラーチェックって、
例えば型が違ってますってのは構文論、
関数について引数のどれかに未定義部分がありますてのも構文論という認識でおけ?
0165デフォルトの名無しさん
2017/03/08(水) 18:18:35.88ID:pMznqIBv0166デフォルトの名無しさん
2017/03/08(水) 19:31:19.53ID:ISgA6Zgl0167デフォルトの名無しさん
2017/03/08(水) 19:40:39.74ID:ca5pzCiAC++にUFCS導入されるのが待ち遠しい
0168デフォルトの名無しさん
2017/03/08(水) 20:09:17.86ID:8YPePj4Q独立的な2つの意味を統合して意味が一つになるという意味もあるよな。
0169デフォルトの名無しさん
2017/03/08(水) 20:39:54.25ID:p/HdyyRL'AはBの要素である'(A,B) :- member(A,B).
'Bからひとつ取り出したのがAである'(A,B) :- member(A,B).
'AはBの要素であれば、則ち、Bからひとつ取り出した要素がAである'(A,B) :- member(A,B).
0170あ
2017/03/08(水) 22:07:28.33ID:F8XXETq2同業他社も同じ事してるの見た事あるし、あるあるだと思うよ。
型が違ってます、と言う文句には、割と深い闇が眠ってると思う。
キャストできたり、ポインタを取り出せたりする時点で実は最初から型なんか無かったのかもしれない。
共用体や、類するものがある言語ならいよいよヤバい。
概念が無いと苦労する場合があるのも確かだけど。
>>168
全射と単射で検索するとよりわかりやすい図が出てくると思う。
0171デフォルトの名無しさん
2017/03/08(水) 23:02:47.06ID:oksZ54sT>丸囲みは使うなよ。
20年ぶりくらいに聞いたw
ISO2022-JPじゃねーんだから。
0172あ
2017/03/08(水) 23:27:39.83ID:F8XXETq2懐かしいだろ。
でも、害しか無いからな。検索にもひっかからん、20までしか無い、汚いフォントが多いなどなど。
結合文字で書いてるならいざしらず、だよ。
0173デフォルトの名無しさん
2017/03/08(水) 23:54:40.15ID:FRdQUG/z0174デフォルトの名無しさん
2017/03/09(木) 07:34:03.92ID:eRv4aOzH型はキャップやラベルみたいなものだと思ってる。
型関数で明示的に操作することで、やって良いことといけないことをその都度与えておくというか。
>>168
商集合の感覚が大事だと思ってる。/~が何である前提での同じなのか。
0175あ
2017/03/09(木) 08:13:25.90ID:S16Ef4Wiそうだよね。印でしかない。
これはこう使ってます、と処理系に教える記号でしか無くて、それこそオペコードとオペランドや、ILのスタックトップと命令から逆に決まるものかもしれない。
そういう意味では、処理系がまず決めた一つの型に別名の縛りが加えられるってのは汎用言語でもDSLでも凄く効果的な、次世代言語にあってほしい機能だと思う。
一見自由に見える不自由は絶対に必要。
0176デフォルトの名無しさん
2017/03/09(木) 08:32:31.26ID:F0HEqrn+0177デフォルトの名無しさん
2017/03/09(木) 08:43:16.46ID:F9CUJ5lt型なら静的アサートを使えばできる。
0178デフォルトの名無しさん
2017/03/09(木) 08:54:14.24ID:F9CUJ5lt型チェックだけやればいい。
このときわかる範囲で型を推論して間違ってれば実行前にわかる
0179デフォルトの名無しさん
2017/03/09(木) 10:23:18.09ID:BFR+GBdm0180デフォルトの名無しさん
2017/03/09(木) 10:39:16.32ID:F9CUJ5lt0181あ
2017/03/09(木) 10:59:03.07ID:S16Ef4Wiごめん、冗長だったか。
糖衣文ではないとくだくだ言うのと同じ事してすまん。
>>177
問題は、Objectとかそういう、根となるオブジェクトのキャストじゃないかな。その言語内、そのシステム内で完結するならAdaあたりが既にやってたら話。
0182デフォルトの名無しさん
2017/03/09(木) 12:00:23.47ID:F9CUJ5lt代入できるようすにすれば型のようなものは作れる。
この関数が静的に評価できれば静的型付けになる。
0183あ
2017/03/09(木) 12:12:15.48ID:S16Ef4Wi例えば、スーパークラスや大きな集合の変数を定義して、サブクラスや部分集合のインスタンスを代入する事は可能だけど、
それらを取り出すときに、スーパークラス、大きな集合ではなく、サブクラス、部分集合として扱うのは難しいんでは?
0184デフォルトの名無しさん
2017/03/09(木) 12:23:16.65ID:fMNEO3H70185デフォルトの名無しさん
2017/03/09(木) 12:33:19.91ID:6hqIxzkr0186デフォルトの名無しさん
2017/03/09(木) 18:54:49.57ID:doSZ2c0jinterface {}でなんでもオーケー、ジェネリック無いGoが秀逸?
0187デフォルトの名無しさん
2017/03/09(木) 19:57:21.71ID:fMNEO3H7Goは静的型の仲間だからいじめても反撃してこないという
これがPythonのメリットとGoのデメリット
0188デフォルトの名無しさん
2017/03/09(木) 20:16:16.11ID:HQPo78pm0189デフォルトの名無しさん
2017/03/09(木) 20:16:48.14ID:BKoRqRQsそれはサブクラスではなくサブタイプだ。
0191デフォルトの名無しさん
2017/03/10(金) 07:28:49.26ID:hAWWnXrs0192デフォルトの名無しさん
2017/03/10(金) 07:53:34.94ID:1pxhheef0193デフォルトの名無しさん
2017/03/11(土) 16:30:18.02ID:yCUlIQxqなのでよく行われる。
0194デフォルトの名無しさん
2017/03/11(土) 17:20:30.04ID:WF0uzZUg0195デフォルトの名無しさん
2017/03/11(土) 17:36:18.32ID:UsQ6q5bp以下、議論を進めるために敢えて晒すわ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.59ID:UsQ6q5bpmapdiv : ∀{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.11ID:am67U6Y0agdaはよく知らないので全部解説はできないけど、reflよりrewriteが何か調べると分かるんじゃないかな
0198デフォルトの名無しさん
2017/03/11(土) 20:22:58.43ID:OUHk1Upkreflの字義でなく関数定義と同じ感覚で書いてるのがなんだこりゃってこと。
上の型の部分が仕様で、下の = reflは実装とか書かれたりしてるのの感覚がいまいち分からない。
rewrite、調べてみるわ。左辺を右辺で置き換えているだけの所もあるがそうでないところもあるようだ。
0199デフォルトの名無しさん
2017/03/11(土) 23:44:07.08ID:jzJlFNOo> 某言語なのだが、リストに対してfをmapしたあとにさらにgをmapしたものと、
196のコードを見ると上の文中の f と g とは逆
コードでは g が f より先にリスト l の各要素に作用している
0200デフォルトの名無しさん
2017/03/12(日) 00:59:10.61ID:/gRPWqC6両辺の型が等しいだけでいいなら他の言語でも簡単に証明できるが
0201デフォルトの名無しさん
2017/03/12(日) 07:09:18.06ID:E7xVInlQが型で、この型にあった関数を見つけることが証明になることがカリーハワード対応なんだよ
0202デフォルトの名無しさん
2017/03/12(日) 09:24:03.72ID:5INw13PV↑は日本語だからとっつきやすいし、大体がagdaに適用できるはず。Prop_Jまで読んで触れば分かるはず
0203デフォルトの名無しさん
2017/03/12(日) 09:35:36.35ID:/gRPWqC6見つけるだけでは証明にならない
例えばunsafePerformIOを見つけても何の証明にもならない
0204デフォルトの名無しさん
2017/03/12(日) 10:36:50.53ID:E7xVInlQ0205デフォルトの名無しさん
2017/03/12(日) 11:42:36.62ID:TErsZ5va0206デフォルトの名無しさん
2017/03/12(日) 11:54:13.45ID: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.30ID:/gRPWqC6型が存在するだけでなく「証明した」クラスのインスタンスにならないと
0208デフォルトの名無しさん
2017/03/12(日) 13:07:55.61ID:5INw13PVdataとvalueなら公理なので証明する必要が無いし、signatureとfunctionなら「証明した」クラスって何ってなる
「証明できなかった」クラスって何よ
0209デフォルトの名無しさん
2017/03/12(日) 13:28:54.02ID:/gRPWqC6カリーハワード対応は、どのような命題と、どのような型システムに限定されるべきか
0210デフォルトの名無しさん
2017/03/12(日) 13:57:09.80ID:5INw13PVクラスとかインスタンスという言葉をどういう意図で使っているのか不明瞭
クラス=型でインスタンス=その値っていう意味で使ってるなら、型システムについて語るには迂闊過ぎる
明確に型とクラスが違う言語だってあるんで混乱させるような言葉を使わないでくれ。使うとしたらちゃんと関係性をはっきりさせてくれ
0211デフォルトの名無しさん
2017/03/12(日) 18:24:23.43ID:/gRPWqC6検索すればなんでもわかるというのは嘘
嘘に協力するようなことはあまりやる気が出ない
0212デフォルトの名無しさん
2017/03/12(日) 19:14:56.22ID:5INw13PV0213デフォルトの名無しさん
2017/03/12(日) 19:21:01.82ID:/gRPWqC60214デフォルトの名無しさん
2017/03/13(月) 13:17:30.54ID:EOfJmdmf0215デフォルトの名無しさん
2017/03/13(月) 22:15:23.08ID:r5sZRhSo>>213
この人、病気か何か?
0216デフォルトの名無しさん
2017/03/13(月) 22:43:32.01ID:15JNqH0Uお前が来ると周囲の人間が病気になるんじゃないか
名探偵が来ると事件が起きるみたいに
0217デフォルトの名無しさん
2017/03/13(月) 23:21:56.25ID:r5sZRhSoそれ皮肉のつもりなのか?
0218デフォルトの名無しさん
2017/03/14(火) 00:09:55.61ID:G8tWzBEA0219デフォルトの名無しさん
2017/03/14(火) 03:49:52.63ID:NF858NUD25年以上前にも同じ噂が流れたことがある。AS/400上にPrologがサポートされると。結局これは誤報で、
GeneXus(当時はPrologで書かれていた)のことだったらしい。
0221219
2017/03/14(火) 08:53:01.13ID:NF858NUD私は製品としてのワトソンのユーザではなく又聞きですが、「クイズ王」の
ワトソンのはずなのに検索がサポートされていないらしく、それが不満と
いうことらしい。自然言語解析と質問文の生成にはPrologが使われている
から、今のうちに勉強しておこうという話はあるらしい。IBMがサポートする
という話は今のところ私は聞いていない。
0222219
2017/03/14(火) 09:02:38.55ID:NF858NUD十分に役に立つのではないか。Prologとはそういう言語。
0223あ
2017/03/14(火) 10:15:15.15ID:FzZ45/UG検索してる訳ではないからね。
条件と条件の組み合わせからの確率を求めるために、今より確度を上げるための質問を作ってるような。
自然言語解析はまた別レイヤの話だったはず。
基本的にはWatsonがわかるようにデータ送ったほうが良かったんじゃないかな。
0224219
2017/03/14(火) 10:47:32.93ID:NF858NUD>検索してる訳ではないからね。
元々のワトソンも即時的な検索はしていないのか。そうすると話の筋が
通らないな。わからない。
Prologについては、自然言語解析の補助に使われていて、それについて
研究者に聞いたところ、もっと大事な部分でも使われていると。
言語解析より大事なところというと質問の生成かなと、勝手に解釈して
いた。
0225デフォルトの名無しさん
2017/03/14(火) 10:50:44.02ID:ezhD6+vS違うのかな。
0227デフォルトの名無しさん
2017/03/14(火) 11:09:41.56ID:vWpG+ZpD>ワトソンのはずなのに検索がサポートされていないらしく、それが不満と
Hey,WatsonとかOK,Watsonみたいなこと?
0228あ
2017/03/14(火) 11:57:18.12ID:FzZ45/UGあくまで、確度の推定しかしていなかったはずだよ。
検索ではなくて、推定。何%でこれっぽい、何%でそれっぽい、みたいな。
三段論法で物事を整理していけるなら、prologとかで整理すりゃいいんだろうけど、それならHPCでProlog動かしちゃおうぜで終わる。
逆にWatsonへは、意味ネットワークへの投げ方って意味では、画像で投げたり、音声で投げたりとか無茶が出来たはずなので、どれをもって入力を解析してるかってのはキッパリ言えないと思う。
結局NDA結ばずだったから俺もフワッとした事しか言えなくてすまん。
0229219
2017/03/14(火) 19:54:23.57ID:NF858NUDありがとう。
確度の推定というと、30年近く前のエキスパートシステムの時のことを
思い出す。案外、あれに近いのだろうか。
0230デフォルトの名無しさん
2017/03/14(火) 23:21:12.43ID:G8tWzBEAプロロロ厨はプロロロロロを使ったら人工知能ができるとか本気で信じてるの?
0231デフォルトの名無しさん
2017/03/15(水) 00:53:34.98ID:m7IuZi0i0232デフォルトの名無しさん
2017/03/15(水) 01:08:39.07ID:FiGu7lnE0233デフォルトの名無しさん
2017/03/15(水) 01:25:06.04ID:mEkvdkZEPL/Iならユーザが死滅したか?
0234デフォルトの名無しさん
2017/03/15(水) 01:59:11.31ID:U4yUdXtL信じています
0235234
2017/03/15(水) 02:03:53.52ID:U4yUdXtL述語論理を欠いたら、人工知能にはならないということではないか
Prologでなければならないということではない
0236デフォルトの名無しさん
2017/03/15(水) 08:02:55.70ID:Nk04poRC寝て待て
ええ?!
0238デフォルトの名無しさん
2017/03/15(水) 22:34:40.35ID:jBxwJulH0239デフォルトの名無しさん
2017/03/15(水) 23:06:02.15ID:lNG1lg3Aもう次世代言語もいらんだろ
人工知能が人間様のケツ拭きまで処理してくれるんだから
毎日うまい飯食って頭に電極刺して最高級のオナニーライフが送れる最高の未来がくっど
0240デフォルトの名無しさん
2017/03/15(水) 23:32:33.35ID:lZYbRWrG0241デフォルトの名無しさん
2017/03/16(木) 00:04:13.44ID:y81VNmzi主語とか倫理の事かな…?
0242デフォルトの名無しさん
2017/03/16(木) 00:47:06.24ID:ckmEHJQv0243デフォルトの名無しさん
2017/03/16(木) 02:48:18.28ID:nS5r2MC50244デフォルトの名無しさん
2017/03/16(木) 12:45:56.20ID:XMZButq8ディープラーニングが絡まないとAIではない思っている人さえいる
0245デフォルトの名無しさん
2017/03/16(木) 17:41:28.94ID:L2BK4jtk0246デフォルトの名無しさん
2017/03/16(木) 19:20:39.21ID:S807fhSR「なんでもいい」
「じゃあカレーな」
「カレーは昨日食べたから嫌」
述語論理に違反してる。
0247デフォルトの名無しさん
2017/03/16(木) 20:06:48.49ID:ckmEHJQv必ず何か答えるべきという前提があると論理が破綻する
0248デフォルトの名無しさん
2017/03/17(金) 00:23:15.48ID:JFrUXgZp蟻コロニー最適化法が出てこなくてアリの巣コロリ法って言った奴思い出した
0249デフォルトの名無しさん
2017/03/17(金) 08:01:45.05ID:TGk3cPOz0250デフォルトの名無しさん
2017/03/17(金) 08:03:31.66ID:TGk3cPOz0251デフォルトの名無しさん
2017/03/17(金) 08:07:18.66ID:Q/Btx3kS0252デフォルトの名無しさん
2017/03/17(金) 09:28:15.87ID:26Dl/sor「Matlabで焼きなまし法を用いること」を人工知能と呼んでたから草生えたんだゾ
AIへの応用とかそんなレベルじゃなかったゾ
0253デフォルトの名無しさん
2017/03/17(金) 10:32:55.43ID:Q/Btx3kS言ってることとORが以前からやってきたことと、どこが違う?
ということになり、そちらの専門家を呼んで、この点をどう見ているか
議論しようということになった
0254デフォルトの名無しさん
2017/03/17(金) 11:49:38.66ID:cRED0m9Rそれともメジャーなら正常でマイナーな方が異常なのか
0255デフォルトの名無しさん
2017/03/17(金) 13:58:39.46ID:TGk3cPOz90年ごろのAIというと、文字認識が流行してた頃かな。
文字認識は典型的な最適化問題だからORとはモロかぶりだな。
0256デフォルトの名無しさん
2017/03/17(金) 14:48:16.19ID:oZ5n5DDzとは言ってもNN(応用例)の認識率は圧倒的だしねー
そっちがブームになるのは仕方ない気もする
0257デフォルトの名無しさん
2017/03/17(金) 15:31:19.22ID:M5hLDc+J応用ということでブームになるのはわかる
でも認識なんて人工知能のほんの一部
0258デフォルトの名無しさん
2017/03/17(金) 22:02:45.09ID:7ICN0IaOニューロ・ファジーだぜ!
0259デフォルトの名無しさん
2017/03/18(土) 16:18:45.98ID:CmUN4f7yだが知能に対立するものが何かさっぱりわからない
0260デフォルトの名無しさん
2017/03/18(土) 19:47:12.42ID:GPk99yeXこの場合の、動物とかセックスは多分に知能に対立するものとして
たてられているのではないか
0261デフォルトの名無しさん
2017/03/18(土) 21:37:42.80ID:CmUN4f7y0262デフォルトの名無しさん
2017/03/18(土) 22:56:26.01ID:tmgM3nCR>>202
遅レスだが、ありがとう。
実はSFとCPDTを読みながらCoqを先にやってた。
でも、上で挙げたreflの感覚が分からないのは型理論の本質的なところを理解していないからだと気づいたので、
Coqよりも型理論寄りのAgdaに変えた。習得済みのHaskellにも近かったし。
今は、HOTTの教科書のChap.1の型理論を読み進めてる。なんか自分の違和感の答えが見つかりそうな雰囲気。理解してから書きこもうと思ったけど、情報への礼を先に言っておくべきと思って書いた。
0263デフォルトの名無しさん
2017/03/18(土) 23:06:24.77ID:tmgM3nCRそこから先は、論理を扱えるCoq、Agdaなどに渡して処理することになると漠然と思ってる。
連続的なモノを統計で離散化して型に落とし込んで、型での議論に持ち込む。
人間が自然言語でやってるのって、まさにこういうことだと思う。
0264デフォルトの名無しさん
2017/03/19(日) 03:07:49.43ID:gbzadtpNPrologではだめなのですか?
0265デフォルトの名無しさん
2017/03/19(日) 07:47:10.71ID:pNv57oujPOSは型とはちょっと違うと思うけど。
0266デフォルトの名無しさん
2017/03/19(日) 09:29:42.74ID:7GUCcHR6POSってPartially Ordered Set?人工知能、専門ではないんだわ。
手始めにやってみたいなと思ってるのは、型の図式=知識の構造を得ておいて、その図式のこの条件を緩めたら知識として一致してる、とか議論できないかなと。
例えば、移動現象に関係する方程式で、物質、熱、粘性を考えたとき、それぞれ次元としてスカラー、ベクトル、テンソルというズレがあるけど、
それを外せば一致していて、ベクトルで新規の項を見つけたら、他の二つにも対応物というか、見逃していた現象があってとか議論される。
こういう一見違う他領域を結び付けて何かを発見するのに使えないかなと。
チラ見だとそれこそPrologの方が得意そう、というかxmlでワトソンみたいなのが既にやってそうだけどね。
0267あ
2017/03/19(日) 10:57:42.71ID:U5iVsXHKスカラは零階、ベクトルは一階のテンソルなんだけど、意識してないだけ。
それぞれの方程式でブレがあると思ってるけど、実はブレなかったんじゃねえの?ってのが物理学者の人のやってること。
知識の構造と言う意味では、SPSS(PSPPにもあった気がするけど)に、デシジョンツリーをサクサク作れる機能があるから、
相関してる、とかそう言うのは過程仮設と集計の連続作業して見たほうが早いよ。
0268デフォルトの名無しさん
2017/03/21(火) 01:34:13.51ID:Zo5CVS0M0269デフォルトの名無しさん
2017/03/23(木) 09:15:50.10ID:9wMBGcicJavaとかに組み込むん?
0270デフォルトの名無しさん
2017/03/23(木) 09:50:58.92ID:DGRvwCAe0271デフォルトの名無しさん
2017/03/23(木) 09:53:53.40ID:DMbSvcf+0272デフォルトの名無しさん
2017/03/23(木) 10:53:48.16ID:H3+7QbOUHaskellの組み込まれたのは見たことない
0273デフォルトの名無しさん
2017/03/23(木) 11:46:43.28ID:dT4NbpKbhttp://www.utali.io/entry/2017/02/24/170000
Scalerの信念の拠り所の1つであるTwitterが死んだ
もうScalaはダメかもわからんね
関数型うんぬんよりもさ、
暗黙、烏賊記号乱舞、コンパイル檄遅
この辺りがダメだったんだろうな
オワタよ、本当にオワタ
愛してたよ、Scala
0274デフォルトの名無しさん
2017/03/23(木) 13:56:22.90ID:GetMPohahttps://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.11ID:dT4NbpKb>関数型+オブジェクト指向という特徴から、学習コストが高すぎると感じました。
>そして実運用をするには、それに加えてJavaのライブラリの知識やJVMのパフォーマンスに気を配る必要があります。
>つまり、面倒すぎる言語なのでしょう。
実質捨てます宣言やん
0276デフォルトの名無しさん
2017/03/23(木) 14:48:23.05ID:GetMPoha>今週にはJames Bellenger(僕たちのチームのNode.jsの帝王)が
>残りのログインしていないユーザーのトラフィックをScalaからJavaScriptに移行した。
ここまでがツィートの翻訳だ。
その続きは記事を書いた人の「個人的な意見」だ。
0277デフォルトの名無しさん
2017/03/23(木) 15:22:18.24ID:eYsVrQFwとにかく簡単で見慣れた記法で人集めが楽とかそんなんばっか
0278デフォルトの名無しさん
2017/03/23(木) 15:44:01.50ID:DGRvwCAeしかもフェイクニュースのリスクもある
だから事実ではなく自分の意見を持って動く方が速いしリスク管理しやすい
0279デフォルトの名無しさん
2017/03/23(木) 17:36:04.80ID:V7qjAb4k誰か教えてください。
0280デフォルトの名無しさん
2017/03/23(木) 18:54:58.39ID:t4BX+2Gm副作用あるのがだめなら関数型とはうたえないって言うの?
ocamlもダメか?
0281デフォルトの名無しさん
2017/03/23(木) 19:07:08.08ID:V7qjAb4kライブラリコードを読んでも破壊代入だらけでとても関数型とは思えないのですが。
0282デフォルトの名無しさん
2017/03/23(木) 19:14:50.43ID:cbUpLCW60283デフォルトの名無しさん
2017/03/23(木) 23:00:16.95ID:dT4NbpKb0284デフォルトの名無しさん
2017/03/24(金) 12:02:11.34ID:jgAm1kRt0285あ
2017/03/24(金) 12:11:45.40ID:Vu4/NCj/別に新しい概念でもない気がする。
0286デフォルトの名無しさん
2017/03/24(金) 12:16:57.43ID:ol6kAPRpんなこといったらlispより古い関数型言語あんのかよ?
0287デフォルトの名無しさん
2017/03/24(金) 12:23:47.67ID:jgAm1kRt0288デフォルトの名無しさん
2017/03/24(金) 12:30:46.46ID:imsTG+qA0289デフォルトの名無しさん
2017/03/24(金) 12:33:53.83ID:jgAm1kRt機械学習とかアルゴリズムの塊だからHaskellの方が向いてrそうだけど
0290デフォルトの名無しさん
2017/03/24(金) 13:09:45.95ID:wKLctAe5Pythonは餃子ならHaskellは肉饅
0291デフォルトの名無しさん
2017/03/24(金) 13:24:11.16ID:poXmNItAスクリプトだからだろ
0292デフォルトの名無しさん
2017/03/24(金) 14:50:52.48ID:7ExrmzyhTravis OliphantがSciPyとNumPyを作ったのが大きい。
Google Summer of Codeでscikit-learnが作られたのが決定打だ。
なぜ機械学習にPythonが選ばれるのか
http://qiita.com/yaju/items/5502115d7e3d06e6bbdd
0293デフォルトの名無しさん
2017/03/24(金) 17:32:56.06ID:SZtJoIW2haskellは教育用言語
0294デフォルトの名無しさん
2017/03/24(金) 17:42:24.32ID:2f+nVLXA0296デフォルトの名無しさん
2017/03/24(金) 18:46:44.65ID:ol6kAPRpなんで純粋かどうかなんてでてくるんだよ。
勝手に条件の後付すんなよ。
0297デフォルトの名無しさん
2017/03/24(金) 18:52:24.63ID:XfLnpFqH0298あ
2017/03/24(金) 19:16:05.28ID:Vu4/NCj/>>279
の話から
>>285
の、フィルタ言語とクエリ言語に言及してるんだよ。
だから、SQLやその他そういうのを含まず、クエリ(問合せ)と言ってるんじゃないか。
もとからあった条件だろ。
0299あ
2017/03/24(金) 19:19:19.90ID:Vu4/NCj/遡って俺の発言読まなきゃいけないとかそういう次元じゃねえじゃん。
ホントに何考えて発言してるかわからん。思考と指がいろんな意味で直結してんじゃねえの?
0300デフォルトの名無しさん
2017/03/24(金) 20:14:10.16ID:ol6kAPRpある意味かっこいいww
0301デフォルトの名無しさん
2017/03/24(金) 22:08:32.99ID:wKLctAe5それが嫌なら定義を書く言語とクエリ言語は二つに分ける
肉とパンを別売りにする
0303あ
2017/03/24(金) 23:51:05.48ID:UElfGnb8理解してもらえないんじゃないよ。
理解出来ない奴が居るだけ。
そりゃ相対差であって、どっちがどうって話じゃないじゃん。
指摘を適当に発狂とか誤魔化して自分を保つとか、なかなか今まで頑張ってだましだまし生きてきた感ある発言だな。
0304デフォルトの名無しさん
2017/03/25(土) 00:32:52.29ID:UB3e1JZS0305あ
2017/03/25(土) 00:39:29.85ID:+U7vTGENそりゃ、人格批判されたのであれば、ある程度は言い返すし、
人格批判ではなくて、態度を批判してるよ。持ってってるつもりもなく、最初からしてる。
0306デフォルトの名無しさん
2017/03/25(土) 00:57:39.39ID:9EdwFWSB0307デフォルトの名無しさん
2017/03/25(土) 01:00:00.44ID:MfRZ/KS00308デフォルトの名無しさん
2017/03/25(土) 01:07:38.03ID:ta2mL4810309デフォルトの名無しさん
2017/03/25(土) 01:20:55.87ID:kaPA30KF0310デフォルトの名無しさん
2017/03/25(土) 01:27:59.69ID:92weDEMC0311デフォルトの名無しさん
2017/03/25(土) 01:34:05.28ID:h4sfGwdyマウンティングされること自体が不快極まりない
0312デフォルトの名無しさん
2017/03/25(土) 02:19:41.89ID:ta2mL481もっと本当に強い奴を探して戦えばいいんじゃないの
0313デフォルトの名無しさん
2017/03/25(土) 05:59:42.60ID:eOXqgpwp0314デフォルトの名無しさん
2017/03/25(土) 07:04:18.16ID:/fA5gLxr君ってばか?
0315デフォルトの名無しさん
2017/03/25(土) 09:26:43.15ID:ta2mL4810316あ
2017/03/25(土) 10:13:37.88ID:+U7vTGENだから人格は批判してないじゃん。
態度が変わっても考えている事が変わる訳でないし、
そもそも心がけで変えられるものを人格とは呼ばんだろう。
0317あ
2017/03/25(土) 10:20:16.33ID:+U7vTGEN不快極まりないのであれば、させないようにすればいいのでは?
する事ができないから、されたら不快だと言う言い分に聞こえる。
屁理屈だと言うには、屁理屈を屁理屈だと言い張るためのまた別の屁理屈があれば良いだけなんだし。
ただdisるのなんか簡単なんだから。
0318デフォルトの名無しさん
2017/03/25(土) 10:27:13.90ID:oEnzGui40319デフォルトの名無しさん
2017/03/25(土) 10:29:27.88ID:urA4p71k0320デフォルトの名無しさん
2017/03/25(土) 10:44:02.05ID:pYu9V7t60321あ
2017/03/25(土) 12:13:23.29ID:+U7vTGEN自分で『それだけが自分の人格を支えてると体現してる』って自覚はあるのだろうか。
0322デフォルトの名無しさん
2017/03/25(土) 13:19:27.20ID:sfLkR9Za0323あ
2017/03/25(土) 13:40:08.45ID:UU/6XFAl「論旨や態度の批判は人格批判じゃないでしょ、貴方か成果があり知識があり、例えば給与や売上といった何らかの他者評価があり、それらで構成されている揺らぐことのない人格を持ち、論旨や態度はただの手段に過ぎない人間ならば」って言ってるんだよ。
0324デフォルトの名無しさん
2017/03/25(土) 15:11:31.94ID:wf/QK0vh>>303とかまさに他人の人格を軽視した上での人格批判だと思うが
他の人間は人格批判を行うレスでも、ちゃんと境界の自覚あるだろうとわかるけど、お前さんからはそれが感じられない
他人に甘えてないで態度を改めるべき
0325あ
2017/03/25(土) 15:27:28.69ID:D186SEHy第一段落は単なる事実。
第二段落は、それに対する考察。
三段落目のことであれば、感があると言ってるでしょ。俺の主観。
よく読んで感じて。
0326デフォルトの名無しさん
2017/03/25(土) 16:03:47.32ID:P+Eymz64一番悪いのは悪口によって乱される心の弱さ。
悪気地によって心が乱れたときはそれを制御する意思の力。
悪口を言ってくれる人がいるから鍛えられる。
ありがたくおもわないとな。
0327デフォルトの名無しさん
2017/03/25(土) 16:09:47.56ID:/fA5gLxr自己紹介オツ!がんばれ!
0328デフォルトの名無しさん
2017/03/25(土) 16:47:58.87ID:K3B0zgWa0329デフォルトの名無しさん
2017/03/25(土) 17:04:19.88ID:ecqG0ALX書き込まないで欲しいわ
0330デフォルトの名無しさん
2017/03/25(土) 17:53:44.95ID:OEEX15fJお前のレス会話になっとらんぞ
0331デフォルトの名無しさん
2017/03/25(土) 18:29:21.19ID:SWo7K2yfボディランゲージ
0332あ
2017/03/25(土) 18:58:37.41ID:D186SEHyちゃんと話してる事もあるけど、何故かマウンティングとか言い出す奴が居るから横道に逸れるんじゃん。
>>329そのものに、次世代言語の話題が書いてあるわけでなし、同じ穴のムジナに言われてもなんともならんな。
0333デフォルトの名無しさん
2017/03/25(土) 19:11:55.27ID:ecqG0ALX0334デフォルトの名無しさん
2017/03/25(土) 19:41:42.65ID:l9ixdBxw読みやすいスクリプト言語で静的型付けをもっとうまくこなせてスケーラビリティに優れる言語
0335デフォルトの名無しさん
2017/03/25(土) 19:48:08.05ID:ecqG0ALX0336デフォルトの名無しさん
2017/03/25(土) 20:36:21.93ID:SWo7K2yf0337デフォルトの名無しさん
2017/03/25(土) 20:55:38.32ID:eOXqgpwp0338デフォルトの名無しさん
2017/03/25(土) 21:14:28.91ID:l9ixdBxw小手先がきいてお手軽でちょっとしたツールが楽に作れるやつ
0339デフォルトの名無しさん
2017/03/25(土) 21:46:36.94ID:ZnS2c8Uq0340デフォルトの名無しさん
2017/03/25(土) 22:08:48.57ID:ta2mL4810341デフォルトの名無しさん
2017/03/25(土) 22:31:00.89ID:eOXqgpwp0342デフォルトの名無しさん
2017/03/26(日) 00:19:49.27ID:/3yly5bm0343デフォルトの名無しさん
2017/03/26(日) 00:35:30.81ID:jD/lvJjB/ `ヽ. お薬増やしておきますねー
__/ ┃)) __i |
/ ヽ,,⌒)___(,,ノ\
(´・ω・) チラッ >>340
/ `ヽ.
__/ ┃ __i |
/ ヽ,,⌒)___(,,ノ\
(´・ω・`)
/ `ヽ. 今度カウンセリングも受けましょうねー
__/ ┃)) __i |
/ ヽ,,⌒)___(,,ノ\
0344デフォルトの名無しさん
2017/03/26(日) 00:49:42.64ID:5JDNqbXO0345デフォルトの名無しさん
2017/03/26(日) 10:26:02.92ID:9/vJOC7I0346デフォルトの名無しさん
2017/03/26(日) 11:44:45.47ID:suWAcC220347デフォルトの名無しさん
2017/03/26(日) 12:44:31.80ID:jD/lvJjB0348デフォルトの名無しさん
2017/03/26(日) 13:19:20.55ID:XA6YgUQb0349デフォルトの名無しさん
2017/03/26(日) 14:23:40.31ID:nb0JbwQ90350デフォルトの名無しさん
2017/03/26(日) 18:59:13.16ID:24iyyPay0351デフォルトの名無しさん
2017/03/26(日) 19:33:47.86ID:7Z16OKwKHFTはC++一択でしょ
Haskell使ってるのはクオンツとかじゃないの?
0352デフォルトの名無しさん
2017/03/26(日) 20:06:36.28ID:DXggLQC60353デフォルトの名無しさん
2017/03/26(日) 20:32:17.83ID:i70DjqT80354デフォルトの名無しさん
2017/03/26(日) 21:10:38.83ID:cyHlMDDkパイソンでええやん
0355デフォルトの名無しさん
2017/03/26(日) 22:01:13.16ID:nb0JbwQ9これ以上となると awk くらい使い道を制限する以外に方法はない。
0356デフォルトの名無しさん
2017/03/27(月) 01:44:03.93ID:eUHhKYGs0357デフォルトの名無しさん
2017/03/27(月) 01:48:08.80ID:UxXnYzuG0358デフォルトの名無しさん
2017/03/27(月) 01:48:51.59ID:UxXnYzuG0360デフォルトの名無しさん
2017/03/27(月) 04:51:54.15ID:YOTOg8v7これから伸びる最新の技術身につけられると思ってわくわくしてたけど
0361デフォルトの名無しさん
2017/03/27(月) 08:38:01.83ID:xsfHl8fnまた4.0 で大幅に変わるからいいんだよ。
0362デフォルトの名無しさん
2017/03/27(月) 09:24:03.08ID:9ObHSaYAコストかけてまでscalaを覚えさせるメリットを説明できるやつなんておらんやろ
そんなもの無いし
0363デフォルトの名無しさん
2017/03/27(月) 09:27:09.56ID:ochSyXWl0364デフォルトの名無しさん
2017/03/27(月) 09:30:15.92ID:9ObHSaYA吐き気がするぜ
0365デフォルトの名無しさん
2017/03/27(月) 09:45:41.07ID:8hcsZ/Rvいつまで経っても残ってるじゃんこの糞言語
0366デフォルトの名無しさん
2017/03/27(月) 10:06:24.35ID:nOebeY9rそれになりえるのはRustぐらいしか無いよな
0367デフォルトの名無しさん
2017/03/27(月) 10:07:49.10ID:nOebeY9rtypescriptつかえばだいぶマシだよ
0368デフォルトの名無しさん
2017/03/27(月) 11:23:23.07ID:zzGGm9lIScalaより便利かも試練
0369デフォルトの名無しさん
2017/03/27(月) 11:41:02.89ID:cCQD+5Ly0370デフォルトの名無しさん
2017/03/27(月) 12:47:47.88ID:zzGGm9lI0371デフォルトの名無しさん
2017/03/27(月) 13:17:14.08ID:9ObHSaYAそういやtypescriptはここに上がってるものより遥かに有力な次世代言語だな
0372デフォルトの名無しさん
2017/03/27(月) 13:49:46.19ID:M8+U5ZaQJavaScriptは素晴らしい言語言ってる奴たまに見るけど
俺も全く賛同出来ないなぁ・・・ホント何が良いんだろ
ActionScriptも含めて散々飯の種にはしたけど
仕事じゃなかったら絶対触りたくない
0373デフォルトの名無しさん
2017/03/27(月) 14:30:32.87ID:zzGGm9lI軽々しくJavaScriptが糞だなんて言える
おまえらは便器にこびりついた10年物の糞を味わったことがあるか?
0374デフォルトの名無しさん
2017/03/27(月) 15:53:48.04ID:eUHhKYGs0375デフォルトの名無しさん
2017/03/27(月) 16:49:39.75ID:GZjcktmhシフトキー強制されるとてぃてぃんがエレクトロしてまう
0376デフォルトの名無しさん
2017/03/27(月) 19:03:22.34ID:CNqKC79h0377デフォルトの名無しさん
2017/03/27(月) 21:17:37.42ID:i1isobdbいや単純に cabal が糞だからだろ。
厳密性が売りなのにパッケージ管理もまともにできんとは。。
0378デフォルトの名無しさん
2017/03/27(月) 21:30:10.57ID:hxVTicGO0379デフォルトの名無しさん
2017/03/27(月) 21:32:23.54ID:AB7bbJBWまともなアプリ作ろうとすると、手間かかる、FFIも超だるい
信者は純粋云々の有用性を説くけど、IO絡むとすぐliftだので一発で壊してる
FRPもはっきり言って開発効率悪い
おまけにパフォーマンスの制御が簡単にできないから、遅延評価いちいち取り除かないといけない
モナドがムズいとかそういう事じゃないのに、今でも勘違いしてるHaskeller達
はっきり言っておもちゃ以外の何物でも無い
0380デフォルトの名無しさん
2017/03/27(月) 21:35:22.07ID:AB7bbJBWそら普通の頭してたらRustやC++やGoに流れますわ
0381デフォルトの名無しさん
2017/03/27(月) 21:53:43.53ID:zzGGm9lIポストネクストジェネレーションランゲージはルースト&ゴーで決まり
特にCを凌駕するルーストは最強と言っていい
Chatw●rkを半死に追い込んでTwitterにも捨てられてスカラとかいうサゲマン死産の事は忘れよう
0382デフォルトの名無しさん
2017/03/27(月) 21:56:05.01ID:DZ7KBqWQ究極のベルゼブルなり
0383デフォルトの名無しさん
2017/03/27(月) 23:04:16.84ID:8CT7MInZ最近名前が出た言語はすでにHaskellより求人が多い。
個人的には少ない記述で高速実行できるJuliaに期待している。
科学技術計算でも軽量Web開発でもJuliaを選べるようになって欲しい。
0384デフォルトの名無しさん
2017/03/27(月) 23:07:02.32ID:oJN/ijnwJuliaでggったら・・・
0385デフォルトの名無しさん
2017/03/28(火) 00:10:22.59ID:gx/WaW8t0386デフォルトの名無しさん
2017/03/28(火) 00:14:55.72ID:SE6jqt3z0387デフォルトの名無しさん
2017/03/28(火) 03:46:09.79ID:LE5T0lTA正格評価にするためだけに
イチイチ余計な手間かけさせるのが鬱陶しいよな
バグが混入しにくい事を自慢してるけど
遅延評価のせいで空間計算量が読みにくいのはバグよりたち悪い
0388デフォルトの名無しさん
2017/03/28(火) 07:58:08.60ID:gzrV6Hbe0389デフォルトの名無しさん
2017/03/28(火) 08:14:58.81ID:88LwyzTy0390デフォルトの名無しさん
2017/03/28(火) 08:25:42.67ID:xK9w46xb時空間を司る神のオペレーション、まさにエクスカリバー!
0391デフォルトの名無しさん
2017/03/28(火) 08:32:38.57ID:U6roseEh一体誰に向けて話してんだよそれ
0392デフォルトの名無しさん
2017/03/28(火) 09:02:49.60ID:3ckoJGGq次世代言語でもないし信者がうざすぎる
0393デフォルトの名無しさん
2017/03/28(火) 09:08:34.68ID:D2g9aNol0394デフォルトの名無しさん
2017/03/28(火) 09:23:54.09ID:xK9w46xbそう、フェニックスのようにな!
0395デフォルトの名無しさん
2017/03/28(火) 10:02:46.39ID:wO7rF6oeユー
0396デフォルトの名無しさん
2017/03/28(火) 10:36:50.48ID:U6roseEh会話になってねえ…
Haskellいらんって言ってるレスに対しての返答なのか、信者に向けていってるのか
前者なら噛み合ってない
0397デフォルトの名無しさん
2017/03/28(火) 13:16:53.64ID:wO7rF6oe0398デフォルトの名無しさん
2017/03/28(火) 14:13:28.17ID:Eo2NYuap同意。
しょせんjsベースだろって思ったけど、けっこう使いやすくて驚いた。
0399デフォルトの名無しさん
2017/03/28(火) 15:50:31.00ID:pUaGBgqk本物の型推論・多相を見せてあげますよって感じではじめて触った時は感動した
0400デフォルトの名無しさん
2017/03/28(火) 16:12:35.84ID:pnMbSu0j0401デフォルトの名無しさん
2017/03/28(火) 17:48:03.30ID:U6roseEh有効もクソも意味通じてないだろ
アスペかよ
0402デフォルトの名無しさん
2017/03/28(火) 18:02:45.19ID:U6roseEhなぜか反論になってると思いこんでる>>397ちゃんはどういう頭してんの?
0403デフォルトの名無しさん
2017/03/28(火) 19:13:19.92ID:MPzmpLCn0404デフォルトの名無しさん
2017/03/28(火) 21:42:13.30ID:1Xk99MX50405デフォルトの名無しさん
2017/03/28(火) 22:19:09.52ID:F34OC8Lz0406デフォルトの名無しさん
2017/03/28(火) 22:25:54.20ID:pnMbSu0j0407デフォルトの名無しさん
2017/03/29(水) 00:04:09.64ID:lKoLHMOuGo
Rust
Elixir
Swift
Typescript
脱落決定言語
Scala
Haskell
Clojure
Groovy
可能性を秘めている言語
Kotlin
0408デフォルトの名無しさん
2017/03/29(水) 00:19:34.02ID:P86Lax6O0409デフォルトの名無しさん
2017/03/29(水) 00:48:26.90ID:Py2m0gKr0410デフォルトの名無しさん
2017/03/29(水) 02:20:50.26ID:xow85mIVこれが「次世代台頭の可能性がある有力言語」の真実だ。
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.09ID:xow85mIVOCamlと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.69ID:8zEKqVfn0413デフォルトの名無しさん
2017/03/29(水) 08:33:29.85ID:06ZundR+普通に現行世代だろ
0414デフォルトの名無しさん
2017/03/29(水) 08:48:40.64ID:mw5FgGWZ前からちょくちょくindeedを基準にしてるの見るけど
単に失業中で必死なのがいるんじゃない?
まぁそれで本当に勉強するなら悪い話ではないけど
0415デフォルトの名無しさん
2017/03/29(水) 09:09:08.20ID:VZqvhY7a0416デフォルトの名無しさん
2017/03/29(水) 09:12:03.88ID:VZqvhY7aラトナーが腐林檎やめたしこれからだろ
0417デフォルトの名無しさん
2017/03/29(水) 09:19:52.10ID:GlMPgUxx海外基準がTiobe(Google)とIndeedだからだろ
恥ずかしい奴
0418デフォルトの名無しさん
2017/03/29(水) 09:41:46.77ID:mw5FgGWZTIOBEで語ってない時点で後から何を言ってもねぇ
そもそも今のトレンドと次世代はイコールじゃないという
話なのに日本語も不自由なのかな
0419デフォルトの名無しさん
2017/03/29(水) 09:55:31.44ID:5zywoMjj0420デフォルトの名無しさん
2017/03/29(水) 10:29:42.55ID:QtB4A/n8awkとsedを合体してperlにするだけでいい
この傾向から次に何が来るか
0421デフォルトの名無しさん
2017/03/29(水) 10:31:32.34ID:8zEKqVfn0422デフォルトの名無しさん
2017/03/29(水) 10:35:06.18ID:8zEKqVfn次世代言語はCとJavaってことになるよ。
10年前もそんなに変わらないから永遠に
CとJavaが次世代言語になるけどいいの?
そんな想像力もないの?
0423デフォルトの名無しさん
2017/03/29(水) 10:46:17.43ID:1GiRLdWP0424デフォルトの名無しさん
2017/03/29(水) 10:49:33.07ID:UiSeZvwpというわけでJavaはKotlinになって
標準のゴミCollectionを捨てて、
EclipseCollectionsを標準化すれば最強になるよ
あぁ、俺みたいな先見性のある天才が
Javaのコミッターだったら、時代は変わるだろうに
0425デフォルトの名無しさん
2017/03/29(水) 10:55:48.66ID:8zEKqVfnハスケル
0426デフォルトの名無しさん
2017/03/29(水) 11:10:22.76ID:mw5FgGWZてっきりアカデミックな視点というのか、言語仕様とか
実装とかという面から次世代の言語を語るスレだと思ってた。
次に何が流行るかって単に話題になるサービスを実装するのに
使ったとか、新しいプラットホームが立ち上がったとか
言語そのものの話より周辺依存じゃん。
0427デフォルトの名無しさん
2017/03/29(水) 11:14:40.29ID:UiSeZvwp君のように人格批判や悪口しか書かない、典型的議論不全のジャップランド土人は
お帰り願おう
0428デフォルトの名無しさん
2017/03/29(水) 11:19:05.62ID:GlMPgUxxいんや、TIOBEとIndeedは同列っていう意味なんだけど…
その読解力で他人と張り合えると思える厚顔無恥さが羨ましい
0429デフォルトの名無しさん
2017/03/29(水) 11:35:13.71ID:8zEKqVfn0430デフォルトの名無しさん
2017/03/29(水) 11:43:46.22ID:QtB4A/n8批判だろうが崇拝だろうがどうでもよくて実在の人物を対象にすることが危険なんだろう
0431デフォルトの名無しさん
2017/03/29(水) 11:58:05.01ID:GlMPgUxxまあそうだよな
現状は置いておくとしても、長期に渡って実需要が無い物は、流行る兆しないしな
0432あ
2017/03/29(水) 12:07:27.95ID:227rFy4l人格批判と個人崇拝はほぼイコールだよ。
天才と言われると、こいつ生まれてこなきゃ良かったのにって思うくらいの感情に襲われるのと同じ。
0433デフォルトの名無しさん
2017/03/29(水) 13:24:07.26ID:wysGCAMZtiobeの是非はさておき、そういうことではないだろう
トップにいるものはトップゆえに現世代
次世代候補の条件は誕生が最近かつランク上昇傾向にあるものだ
0434デフォルトの名無しさん
2017/03/29(水) 13:55:30.83ID:UiSeZvwp0435デフォルトの名無しさん
2017/03/29(水) 14:42:14.44ID:zmhiSSt8あの妄想記事信じたの
0436デフォルトの名無しさん
2017/03/29(水) 14:50:17.41ID:yZhMATNEGoはPythonと同じように、ユーザーを取り込むために色々ストレスになる部分を削って使いやすさを上げた感じが強い
Rustは逆方向に突っ走ってる。上げられてる言語の中で一番うるさくて厳格。その代わりHaskellレベルのバグ無し感を低レベルで実現してる
swiftは継ぎ接ぎ感がひどくて近づきたくない。今さらownershipを導入しようとしてるのが恐ろしい
0437デフォルトの名無しさん
2017/03/29(水) 15:04:02.29ID:qgb9T8iF0438デフォルトの名無しさん
2017/03/29(水) 17:09:42.24ID:QtB4A/n8それは複数の言語を使えばバランスが取れる
だが一つにまとめないと損をするような独特な評価方法があるんだろ
0439デフォルトの名無しさん
2017/03/29(水) 18:00:34.55ID:UiSeZvwp0440デフォルトの名無しさん
2017/03/29(水) 18:14:34.09ID:ZPkAMMY3デマおつ
0441デフォルトの名無しさん
2017/03/29(水) 18:35:49.70ID:qgb9T8iF0442デフォルトの名無しさん
2017/03/29(水) 20:08:26.97ID:8zEKqVfnそのスペクトルを黄金比で分割した2地点こそが完全なる美を兼ね備えた
究極の言語と言っても過言ではないだろう。
0443デフォルトの名無しさん
2017/03/29(水) 20:23:54.49ID:H2M6ba190444デフォルトの名無しさん
2017/03/29(水) 20:25:42.03ID:UiSeZvwp0445デフォルトの名無しさん
2017/03/29(水) 21:05:06.95ID:zrYSsU9gc
javascript
は天下を取ったといってもいいがそれ以外は微妙。
0446デフォルトの名無しさん
2017/03/29(水) 21:10:12.26ID:hAiUpU4zなんでやねん
0448デフォルトの名無しさん
2017/03/30(木) 05:43:43.12ID:TcYK9xCvメモリリークするし、
unsafePerformIOでgdgdだし、
あんなのでよければ型無しでもいいだろ。
0449デフォルトの名無しさん
2017/03/30(木) 07:16:35.47ID:GLBn35fY自分の理解を超えているので、マウンティングは止めろなどとその人間を叩き始める。その人間が書き込みを自重する。
何々が来るはず、マウンティングするな、○○はクソ言語、マイナーチェンジの是非、などの内容のあまりない短文しか書けない多数が復活する。
話題がだんだんなくなってくる。
長文の人間が再びわいてくる。
だいたいこれの繰り返しだな。
0450デフォルトの名無しさん
2017/03/30(木) 07:24:22.33ID:+4L9eEF10451デフォルトの名無しさん
2017/03/30(木) 07:36:59.65ID:N5VsvtFW0452デフォルトの名無しさん
2017/03/30(木) 07:50:12.02ID:N5VsvtFWJuliaついにver1来るのか
Haskell のwhereとかlispのletにあたるものがなくて、文法が片手落ちに感じてんだけど今はどうなんだろ?
0454デフォルトの名無しさん
2017/03/30(木) 08:24:25.40ID:nRyTu5Ljそれは失礼した
0455デフォルトの名無しさん
2017/03/30(木) 09:32:16.35ID:7nYsYOYk「マウンティング」って単語をマジで使う奴はヴォーイしかいない
0456デフォルトの名無しさん
2017/03/30(木) 15:11:12.88ID:NSo0HQFR人の名前はヴォーイとガイジ
命名癖のある奴は二人か三人いる
0457あ
2017/03/30(木) 19:14:24.09ID:CLtqHggbそれ自体は有意義な事なんだけど、斜眼帯にはしないように気をつけないと、
割ともったいない思いをする。
炭酸入りワインを安物のスパークリングワインだと強弁して、何かの祝いにもらった年号が入ったモエシャンとそれを贈ってくれた人をdisるようなそこそこ無様なやつ。
0458デフォルトの名無しさん
2017/03/30(木) 19:41:29.98ID:n1oBjryNお前のレスは全員から叩かれてただろ
0459デフォルトの名無しさん
2017/03/31(金) 02:33:47.76ID:+zNaXNgl仕事でまで縛りプレイを継続(Haskellを使う)する必要はない
0460デフォルトの名無しさん
2017/03/31(金) 02:49:01.33ID:S+dmZ2B6何もかもが糞自由で糞仕様で糞まみれのPHPでも使ってろ
0461デフォルトの名無しさん
2017/03/31(金) 03:32:45.02ID:GJ3wuwZ1仕事こそ縛りプレイして欲しいわ。もうC言語で書かれたメモリリークやバッファーオーバーフローやスレッド間のデータ競合を見るの疲れたよ…
0462デフォルトの名無しさん
2017/03/31(金) 03:33:33.90ID:GJ3wuwZ1もちろん他人の書いた、ね。
0463デフォルトの名無しさん
2017/03/31(金) 04:27:57.75ID:FcWj0OtHその仕事はC言語の代わりにRustを使うと不具合を減らせそうだね。
プロジェクトで使用するプログラミング言語は選択できないの?
0464デフォルトの名無しさん
2017/03/31(金) 06:10:39.29ID:nEOWFaOW0465デフォルトの名無しさん
2017/03/31(金) 06:40:08.63ID:ErVm1/xe外からみると凄そうだけど
実際には全てを台無しにする設計ミスさえなければなぁ・・・
0466デフォルトの名無しさん
2017/03/31(金) 07:37:39.42ID:T9Rd9eoo俺のいる組み込みの世界だと未だC/C++だな。
UI周りにJava使うのが流行ったけどほかの言語は
議論にすらなったことないかも・・・。
下回りは泥を含めてLinuxベース増えたからC一択だし。
0467デフォルトの名無しさん
2017/03/31(金) 11:33:06.49ID:QFIFdqS8IntellijでRustプラグインは試してみたけど補完は良さげに動いてるイメージだけど
0468デフォルトの名無しさん
2017/03/31(金) 20:10:26.72ID:iNHdp8Xoわかります…
0469デフォルトの名無しさん
2017/03/31(金) 20:19:58.32ID:r/gawwbX他IDEやエディタは補完にracer、整形にrustfmtといった外部プログラムを使うのが多いんで、機能的にはどれも変わらない。
導入のしやすさはvisual studio codeが一番だったけど、普段使ってるatomでもvimでもemacsでもEclipseでもいいと思う。
0470デフォルトの名無しさん
2017/03/31(金) 21:23:23.14ID:4qwJlBYLありがとうございます
普段Intellijでやってるんで嬉しい情報でした
0471デフォルトの名無しさん
2017/03/31(金) 21:43:57.36ID:2pVYUpSbHaskellとIDEは意外に似たもの同士だった
0472デフォルトの名無しさん
2017/04/01(土) 08:05:14.03ID:lXyHd0mz0473デフォルトの名無しさん
2017/04/01(土) 10:29:32.75ID:mDgO5px+0474デフォルトの名無しさん
2017/04/01(土) 10:40:15.72ID:Xk39Ujbl0475デフォルトの名無しさん
2017/04/01(土) 11:45:39.14ID:jGaFyZcT0476デフォルトの名無しさん
2017/04/01(土) 16:29:37.42ID:lXyHd0mzバランス型の言語だと、自分は何もしてないのに壊れたって感じ
0477デフォルトの名無しさん
2017/04/01(土) 16:32:40.34ID:vuhvnafMいや、仕様詳しく知ってるかどうかだけだろそれ
0478デフォルトの名無しさん
2017/04/01(土) 17:31:01.33ID:m99QLuku書く奴が苦労するとは限らないという点でC言語は嫌い
0479デフォルトの名無しさん
2017/04/01(土) 18:27:21.11ID:OD8T/+xwその実装が仕様を満たしてるとは限らないんだぜ。
とくに c++ なんかはな。
0480デフォルトの名無しさん
2017/04/01(土) 19:29:05.22ID:oVxxWPWlそれを踏まえた上なら縛りプレイなんぞ人間もコンピューターも誰も得しない事やん?
0481デフォルトの名無しさん
2017/04/01(土) 19:48:58.08ID:URsxNallOCamlなんかいろいろあるのに。
0482デフォルトの名無しさん
2017/04/01(土) 20:52:19.55ID:YRorHdwv0483デフォルトの名無しさん
2017/04/01(土) 21:02:17.97ID:MTP5Q2cp毎回毎回遅延評価を取り除く作業してたら日曜プログラム以外で使う気にならないよ
0484デフォルトの名無しさん
2017/04/01(土) 21:04:49.82ID:7Z2mzMqaoffにしたらパフォーマンスどのくらい落ちるの?
デバッグの時だけoffとか
haskell使った事ないんだけど
0485デフォルトの名無しさん
2017/04/01(土) 21:05:52.60ID:vuhvnafM意味不明だな
言語関係ない
0486デフォルトの名無しさん
2017/04/01(土) 21:12:09.79ID:f3ZvdNyS無限まで計算するときオフするとメモリーがマックスまで増えるし
オンのときに再帰でどんどんメモリーにサンクを追加してもメモリーがマックスまで増える
から使いどころが難しい。
0487デフォルトの名無しさん
2017/04/01(土) 21:23:07.74ID:9ksxl7rV0488デフォルトの名無しさん
2017/04/01(土) 21:27:30.22ID:7Z2mzMqa0489デフォルトの名無しさん
2017/04/01(土) 22:11:40.43ID:xnQEi2JFsh 32
python 17
c 12
haskell 4
java 2
awk 1
c++ 1
perl 1
だった。
0490デフォルトの名無しさん
2017/04/02(日) 08:06:17.51ID:9m7GPV2vこういう種類の問題が起きた時、
言語の仕様と実装がだいたいどういう感じになってるかは
だいぶ重要なんだけどな。
0491デフォルトの名無しさん
2017/04/02(日) 08:55:30.27ID:Z4FPulUz事実上1つの処理系実装しか考慮していない言語仕様とかほんと迷惑。
0492デフォルトの名無しさん
2017/04/02(日) 09:30:45.87ID:2xl08NN30493あ
2017/04/02(日) 09:42:04.46ID:EqjzwyRP実際に言語を作ると、書いたやつの趣味出るからね。
俺だいたいスタックマシンベースの単純な命令セットのコアにして、関数定義できるようにした処理系にする。
0494デフォルトの名無しさん
2017/04/02(日) 12:00:19.89ID:yIDQYizHジェネリクスがない仕様や、参照カウントしかない仕様を知ってるだけでは意味がない
その仕様をどうやって正当化しているか知らないと
0495デフォルトの名無しさん
2017/04/02(日) 12:40:35.77ID:HvxQ2fcsFORTH ですね!
0496デフォルトの名無しさん
2017/04/02(日) 13:01:31.11ID:ZMIUbj5xLuaですね
0497あ
2017/04/02(日) 14:48:29.45ID:EqjzwyRPあ、ほぼそう。
どっちかというとPostScript寄りの部分もあるけど、基本はワードを積み重ねる。
パーザもコンパイラも超小型になるし、割と色んなものにつっこみやすい。
0498デフォルトの名無しさん
2017/04/02(日) 15:10:39.48ID:HvxQ2fcs無理に仕様拡張し過ぎた感はあるけど、ローカルで使う分には便利。
0499デフォルトの名無しさん
2017/04/02(日) 15:11:18.74ID:yIDQYizHseqの一番簡単な使い方はたぶんseq hoge (return ())
hogeの中身を最適化するのではなく外側を手続き型にする
0500デフォルトの名無しさん
2017/04/02(日) 15:32:56.87ID:jsBMGnyg0501デフォルトの名無しさん
2017/04/02(日) 16:39:54.48ID:yhAnz0vw0502デフォルトの名無しさん
2017/04/02(日) 19:53:46.99ID:ep6aYRPo0503デフォルトの名無しさん
2017/04/02(日) 21:08:07.87ID:B53CcJcz0504デフォルトの名無しさん
2017/04/02(日) 22:53:55.28ID:t2mTVSMXまたHaskellの悪口言ってる…
0505あ
2017/04/02(日) 23:24:50.65ID:jzeah5aV2個以上プロセス起こせばいいんでないの?
実際のプロセス間通信は何を使うかは処理系依存だけど。
そういう意味じゃなくて?
0506デフォルトの名無しさん
2017/04/03(月) 04:31:28.49ID:tESoI2WrもうCかJavaに統一してくれ
0507デフォルトの名無しさん
2017/04/03(月) 07:00:36.22ID:8fALzOk/さすがにそれらを次世代と言うには、、、
0508デフォルトの名無しさん
2017/04/03(月) 12:19:22.39ID:y7XoLu16最終的にGolangに落ち着いたわ
0509デフォルトの名無しさん
2017/04/03(月) 12:25:02.59ID:y7XoLu16完全放置(ガチで1円もかからない)でwebアプリケーションを公開できて
しかも競合のPython、Javva、PHPとくらべてスピンアップが超早いので
すぐにスピンダウンしてしまう個人サイトに最適
万が一ヒットして月間数十億PVになっても、課金有効にするだけでスケールアウトするのがいいわ
大手の実績もちゃんとあるから安心
https://www.mercariatte.com/jp/
https://www.andapp.jp/
0510デフォルトの名無しさん
2017/04/03(月) 12:34:36.13ID:RU1P7uZQgoはジェネリック入ればなぁ。
でもjavaよりはコード書くの楽しそうか。
0511デフォルトの名無しさん
2017/04/03(月) 16:25:33.93ID:T2InbWRTそういうのは現世代言語であって次世代言語じゃないだろ。
次世代言語ってのはもっとライブラリもインフラも何もなくて
処理系すら未実装な言語機能があったりして、殺伐としているものだ。
0512デフォルトの名無しさん
2017/04/03(月) 17:20:22.25ID:1Qke4Aaxおまえの常識をおしつけてくんな
0513デフォルトの名無しさん
2017/04/03(月) 17:42:10.36ID:T2InbWRT0514デフォルトの名無しさん
2017/04/03(月) 17:42:46.08ID:OlsWZk+G0515デフォルトの名無しさん
2017/04/03(月) 17:52:43.82ID:tESoI2WrVBやん
しかも継承なし、エラーハンドリング非推奨
Genericsが無いのも理解できるわ
使い所が謎すぎる
0517デフォルトの名無しさん
2017/04/03(月) 18:53:58.55ID:T2InbWRTもちろんそうだが、現時点で実用になっているのは現行世代だろう。
次世代というのなら現時点ではまだ実用になっていない言語から選ばないと。
0518あ
2017/04/03(月) 19:02:43.87ID:fNwHjCbCVBよりパスカル寄りな位言語としてはなんの機能もないよ。
継承は無いけど埋め込みはあるし、実は継承なんて形だけの問題。コンポーネント指向やないか、と言う意味では確かにVBとかに近いかもしれんが、
interfaceをほぼ無宣言で実装できるのがミソになってる。
Goの世界だけに居れば継承なんか要らんと言う事に気づくと思う。
エラーハンドリングも同じで、panicがON ERROR GOTO xxxxと、Resume Nextに見えてるんだろうけど、
throwするならエラーを返せよ、それはお前の正常系のエラートラップの結果で、異常系としてどっか知らないところに飛ばす必要もねえんじゃねえの?いよいよどうにもならんなら死ね、って言うスタンスなんだと。
逆にジェネリクスが無いのは不満っちゃ不満だけど「まあ無くても何とかなってるじゃん?それよりサポートしたらコンパイラが辛いから譲れ」って言われたら諦める気にもなる程度の不満。
go generateみたいな闇魔法でなんとかするってのも1つだけど、いっそ諦めるのも潔いかと。
0519あ
2017/04/03(月) 19:04:34.98ID:fNwHjCbCそんな事言ってしまうと、全部現行言語じゃないの?
殺伐として、なんのドキュメントもライブラリも無いのが次世代言語なら、Racketが可哀想。
0520デフォルトの名無しさん
2017/04/03(月) 19:08:42.44ID:OUsiIH4Gsetjmp/longjmp は有用だよ
0523デフォルトの名無しさん
2017/04/03(月) 20:14:52.89ID:RXhWFoWI0525デフォルトの名無しさん
2017/04/03(月) 21:04:32.50ID:eOnOxhRVgenericsはほしいよ
なんだかんだで実務では、 型機能維持したまま、コードを使いまわせたりとか
コンパイル時解決のコード生成に準ずる機能がいる
後者はFFIとかAPI生成とか
0526デフォルトの名無しさん
2017/04/03(月) 21:04:50.26ID:I+ijJ92ZGAE/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.49ID:eOnOxhRVそいつただの煽り屋のヒキコモリだから無視していいよ
0528デフォルトの名無しさん
2017/04/04(火) 00:56:09.00ID:1jI/+dFT次世代だな
0529あ
2017/04/04(火) 07:09:58.73ID:WM4dyDBO便利なのはわかってるんだけど、構文解析が大変になるし、解析終わってバイナリ吐くときも辛い、とのこと。
コード生成って意味ではgeneratorって言うあれに手を出すとや闇の住人な機能があるので、一回見てもらえればなるほどと思うかと。
0530デフォルトの名無しさん
2017/04/04(火) 08:27:57.84ID:htp/C2K60531デフォルトの名無しさん
2017/04/04(火) 09:03:29.88ID:Y80clcxw0532デフォルトの名無しさん
2017/04/04(火) 09:05:15.63ID:ByseOKkA0533デフォルトの名無しさん
2017/04/04(火) 09:08:07.80ID:46531qN9つまりコンパイラ作るのめんどくせーっことじゃん
死ねばいいよ
0534デフォルトの名無しさん
2017/04/04(火) 10:29:33.17ID:ByseOKkAどんなにこの言語は理論的!とか仕様がすごい!とかマウンティング気味に言われるよりも
こういう実用的なメリット挙げてくれる方がよっぽど使う気になるんだよなぁ
0535デフォルトの名無しさん
2017/04/04(火) 10:47:46.02ID:1jI/+dFT敢えてそれ以上を目指すことは果たして実用なのかマウンティングなのか
0536あ
2017/04/04(火) 11:10:30.78ID:YvDQ56bDコンパイラ作ること自体はそこまで面倒じゃないよ。go generateで大体近いことまでは出来るから。
そうじゃなくて、コンパイル時間的な辛さ。
現状、本当に早いから。スクリプト言語として使っても耐えれるレベルのコンパイル言語はこれぐらいだと思う。
0537デフォルトの名無しさん
2017/04/04(火) 11:18:44.07ID:Xl5SbJww「ぼくが大好きな言語」でしかないじゃん、ここのヨタ話って。
0538デフォルトの名無しさん
2017/04/04(火) 11:19:46.62ID:g8/Agg210539デフォルトの名無しさん
2017/04/04(火) 11:26:19.69ID:zhDQUeAladaの汎用体(generics)みたいなのでもいいんだけどなぁ
0540デフォルトの名無しさん
2017/04/04(火) 11:27:00.00ID:ByseOKkA次世代を担う言語になるに違いないって話をするスレだから
0541デフォルトの名無しさん
2017/04/04(火) 11:46:48.06ID:1jI/+dFTよくわからんがこういうデータを発見する人をデータサイエンティストっていうんだろ
0542あ
2017/04/04(火) 12:40:56.65ID:YvDQ56bDGetValueみたいなinterface作って生やすぐらいがギリGoだけで、さらに妥当な方法での解決策かなぁ。
ジェネレータで関数作りまくっても良いかもしれんけど、Goっぽく無いし。
rangeでぶん回す前提なら、selectで判断な、って今の形に落ち着いちゃうかも。
0543デフォルトの名無しさん
2017/04/04(火) 12:45:13.57ID:yB9dvwaOつっかえねー言語やな
0544デフォルトの名無しさん
2017/04/04(火) 15:02:03.45ID:zhDQUeAlhttps://github.com/golang/proposal/blob/master/design/15292-generics.md
0545デフォルトの名無しさん
2017/04/04(火) 19:10:53.18ID:htp/C2K60546デフォルトの名無しさん
2017/04/04(火) 19:51:30.73ID:2JJ+/2h+0547デフォルトの名無しさん
2017/04/04(火) 21:13:48.49ID:Z3NPb7vMググったけど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.05ID:P/CYX0p5全然簡潔じゃないじゃん
0549デフォルトの名無しさん
2017/04/04(火) 21:54:25.60ID:pJiiTfw5中間言語なら次世代言語から外してええな
0550デフォルトの名無しさん
2017/04/04(火) 21:59:51.76ID:zhDQUeAl> GoにはGenericsを入れないで好きな言語で書いてGoにコンパイルするに一票。
そんなプリプロセッサ対応はして欲しく無いな。
0551デフォルトの名無しさん
2017/04/04(火) 23:39:38.90ID:pk8dL5nN・静的言語の安全性
・実用的な速度
・学習コストと生産性のバランス
・大量のライブラリと情報
・OS非依存
これを全部備えた言語があるらしい
0552デフォルトの名無しさん
2017/04/04(火) 23:43:14.50ID:pk8dL5nNC#は「ポインタは複雑だけど、別言語で書いてコンパイルするのは大変だろうからどうしても必要な場合のみ使ってね」って感じで入れてるのにな
複雑だから入れないって…
Genericsすらないとか使えね
0553デフォルトの名無しさん
2017/04/05(水) 00:07:00.28ID:OUFI3r3hむしろgenerics無いから同じコード書き散らすカスがいるんじゃん。
0554デフォルトの名無しさん
2017/04/05(水) 00:20:59.08ID:/F29zlGmそちらの方が害は少ないかな。
全然一般的でもないのに勝手にまとめて糞みたいにモジュラリティー低いコード書く
馬鹿のが立ち悪い。
0555デフォルトの名無しさん
2017/04/05(水) 00:26:15.80ID:QXjM+MPVTypescriptあたりが当てはまるんじゃないの
0556デフォルトの名無しさん
2017/04/05(水) 00:45:24.37ID:JWlAJRH6よく分かったな
せやで
0557デフォルトの名無しさん
2017/04/05(水) 00:49:48.63ID:fcgbvxT7Scalaちゃんがこのポジにいるはずだったのに
今やtwitterにさえ捨てられてしまった
0558デフォルトの名無しさん
2017/04/05(水) 02:19:48.33ID:Ul25awQd今はTypeScriptで書くとサーバはNode.js、フロントエンドはJavaScriptエンジンだけど、
サーバはGAE/Go、フロントエンドはWebAssemblyにすればコストと性能で圧倒できそうだ。
そしてWebAssemblyを出力するTypeScriptコンパイラはMicroSoftが作るだろう。
でもGoを出力するTypeScriptコンパイラはMicrosoftもGoogleも作りそうにない。
JavaScript出力TypeScriptコンパイラを改造してGo出力にしたら需要があるかもね。
0559デフォルトの名無しさん
2017/04/05(水) 03:33:38.37ID:T1xSqOuQ0560デフォルトの名無しさん
2017/04/05(水) 05:09:50.02ID:Ul25awQdWebプログラマは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.88ID:OUFI3r3h0562あ
2017/04/05(水) 07:59:55.32ID:9/VRcfODそうそう。ずっと言ってるから、2でも実装されないし、
無くてもホントに問題ないケースがほとんどだから、
たった数パーセントの絶対に必要、黒魔法使ってでも使いたいって層のためにわざわざ実装するのもどうかと、とは俺も思う。
>>550
プリプロセッサじゃなくて、そういう言語だよ。pythonをネイティブで妥当なGoにトランスパイルするとか、そういう試みの事かと。
0563あ
2017/04/05(水) 08:02:00.61ID:HZgZB74P0564デフォルトの名無しさん
2017/04/05(水) 09:37:59.12ID:fDBf9BNZfoldじゃなくてunfoldじゃないの?
mapは並列の文脈でチャネルと組み合わせるのはわかるけど、unfoldはストリームにしか使えないんじゃ?
0565あ
2017/04/05(水) 10:07:06.78ID:HZgZB74Pgoroutineで、inのチャンネルとoutのチャンネル貰うだけかと。
使う側はinにじゃんじゃか放り込んで最後に終わったよを放り込む。
goroutineはもらったものをoutに書き出すだけ。
そんで、outを別のinにしても良いし、コンソールに出しても良いし。
そもそもrange自体、順番には取り出さないという鬼仕様だし。
0566デフォルトの名無しさん
2017/04/05(水) 10:09:42.43ID:Got6J3YM0567デフォルトの名無しさん
2017/04/05(水) 11:06:09.59ID:JWlAJRH6Scalaはコンパイラが軽ければな
>>558
Go出力しないでネイティブ出力すればいいやん
何故Goとかいうゴミに出力する必要があるんや
WASM出力はそのうち出るだろうね
0568あ
2017/04/05(水) 13:14:30.83ID:HZgZB74Pネイティブかつシングルバイナリをやってくれるかはわからんぞ。
動的言語の鈍足さと静的言語のコンパイル時間と実用程度の速度とOSに依存したVMの上で動く、チョコがけ柿の種くらいの存在。
Functionを文字列でnew呼んじゃえるのとか、TSでは今どうなってるんだろ。
0569デフォルトの名無しさん
2017/04/05(水) 17:24:34.10ID:Ul25awQdGrumpyはよいね。
Pythonで書いてGAE/Pythonで実行するより
Cythonで書いてGAE/Goで実行するほうが桁違いに速いだろう。
Grumpy(Go running Python)を試してみた。
http://qiita.com/kmry2045/items/998250b3d430d82594c2
0570デフォルトの名無しさん
2017/04/05(水) 17:28:57.15ID:Ul25awQdGCEやAWSを使うならなら直接ネイティブ出力すればよい。
だけどGAEはユーザーが作った実行可能バイナリを実行できない。
GAE Standard Environmentで実行できるのはGo、Python、PHP、Javaの4種だ。
この中でGAEで実行可能バイナリにコンパイルされるのはGoだけだ。
0571デフォルトの名無しさん
2017/04/05(水) 17:34:38.89ID:JWlAJRH6GCEでいいやん
自由に設定できるし
0572デフォルトの名無しさん
2017/04/05(水) 18:40:30.07ID:Ul25awQd>>509と>>526は読んだ?
0573デフォルトの名無しさん
2017/04/05(水) 18:42:50.34ID:JWlAJRH6読んでない
0574あ
2017/04/05(水) 19:51:33.58ID:IZ4X43tBそもそもGoのバイナリ自体、cgiとして動かしても苦しくないレベルで起動するし。
0575デフォルトの名無しさん
2017/04/05(水) 20:26:55.83ID:DXpzlGNR0576デフォルトの名無しさん
2017/04/05(水) 21:54:16.67ID:W+oabWVIなぜかC++だけ次世代になれないよう圧力をかける方が逆に難しいだろ
0577デフォルトの名無しさん
2017/04/05(水) 22:10:47.94ID:/F29zlGm0578デフォルトの名無しさん
2017/04/05(水) 22:24:43.79ID:fDBf9BNZやりたいことはわかるけど、foldは畳み込みの方向あるし非同期処理できないよ
だからストリーム的なチャネルとしてしか使えないと思う
mapはわかるけど
0579デフォルトの名無しさん
2017/04/06(木) 01:19:49.93ID:SmHL6D2gC++に全然似てない言語が増えるといいね
なぜかC++のパクリみたいなのばっかり出てくるけどな
0580デフォルトの名無しさん
2017/04/06(木) 05:57:00.65ID:Ow2PjSIZもしかして並列化のことを言いたい?
0581デフォルトの名無しさん
2017/04/06(木) 06:04:40.79ID:GqxQ8wHX何が言いたいのかわからないけど、ストリーム取り出す側の話じゃないよ
言いたいのはfoldの中に同期がいるって事
0582デフォルトの名無しさん
2017/04/06(木) 06:13:14.65ID:+FAb3ydx0583デフォルトの名無しさん
2017/04/06(木) 06:14:22.44ID:GqxQ8wHX並列化できない理由として、再帰的処理だから同期が必須と書いてるだけ
0584デフォルトの名無しさん
2017/04/06(木) 06:17:45.14ID:GqxQ8wHX0585あ
2017/04/06(木) 08:40:02.85ID:VCs4lZJm非同期処理できなくて、順序も変えられないから、チャンネルなんだよ。
あれはストリームではないよ。メールボックスの特殊形。
0586あ
2017/04/06(木) 08:47:17.31ID:VCs4lZJmべつに並列処理としてしか使えないわけじゃない。むしろ、goroutineと組み合わせると、goroutine回してからそいつに放り込んで、
終わるまで待ってから次へ進むなんて同期的なクロージャにもなる。
rangeは、順番には取り出さない、という鬼仕様だから、そもそもが違う
0587デフォルトの名無しさん
2017/04/06(木) 09:09:01.32ID:cx9NRO0R0588デフォルトの名無しさん
2017/04/06(木) 09:12:06.74ID:sp2ENUYJ0589デフォルトの名無しさん
2017/04/06(木) 09:26:07.71ID:cx9NRO0ROpenMXの信徒か? Cで使いやすい配列インターフェース見たことないんだが
0590デフォルトの名無しさん
2017/04/06(木) 09:49:37.44ID:Ow2PjSIZ0591デフォルトの名無しさん
2017/04/06(木) 10:17:16.46ID:cx9NRO0R0592デフォルトの名無しさん
2017/04/06(木) 12:18:25.77ID:GqxQ8wHXだからチャネルは知ってるよErlang使ったことあるから
ただmapをチャネルにと言ったら、並行させるのに非同期にチャネルに入れてく感じじゃないの?
foldでもunfoldでも、処理そのものが同期的だから、チャネル使う意味なくない?
できても単一ストリームになるだけだし
0593デフォルトの名無しさん
2017/04/06(木) 13:13:18.24ID:xPySJpbPてかfortranは次世代だと思う
0594デフォルトの名無しさん
2017/04/06(木) 13:18:18.22ID:fKQHZKUE0595デフォルトの名無しさん
2017/04/06(木) 14:16:06.40ID:u8lruaNjPython使いを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.99ID:+37RyH8RJuliaは使ったことあるけど、lispのletにあたるものがへぼいとか、突然intが文字列非対応になるとかイライラすることご多いからやめたんだ
0597あ
2017/04/06(木) 18:28:25.50ID:VCs4lZJm意味を問われてもな。そういう言語だとしか。
並行させても使えるものは、させなくても使える。
channelは並行の為だけの機能ではない。
自分のための自分のキューの形のバッファとしても充分に有用だし、自分が呼びたい一連の処理のキューとしても十二分に有用。
しかしストリームになるだけってのがわからん。
selectでチャンネルからの値待ちみたいな構文が無意味に聞こえるけど。
手で書いてるだけで普通にいわゆる関数型言語のパターンマッチそのものだと思うんだけど。
0598デフォルトの名無しさん
2017/04/06(木) 19:11:27.00ID:WMPnePk1Standard Environment はスケールアウト時間がスピンアップ時間と同等だけど(数ms)
GCE(Flexible Environment)の場合、分単位でかかる
つまりアクセスが一気に集まった時(はてぶ砲、ヤフー砲、GIGAZINE砲など)
顧客の何人かは「中々サイトが表示されない」時間帯が生まれてしまう
これは大きなロスとなる
0599デフォルトの名無しさん
2017/04/06(木) 19:17:10.21ID:WMPnePk1スピンアップが糞重くて(3秒〜10秒)苦労したわ
cronでスピンダウンしないように定期的にアクセスさせたり
Always Onオプション(有料)入れたり、色々回避策はあったけど
今はGolangがあるおかげで大分楽になった
0600デフォルトの名無しさん
2017/04/06(木) 19:34:41.59ID:Zrdd7ICZC++ほど強力な言語が他にあるかい?
0602デフォルトの名無しさん
2017/04/06(木) 20:02:00.82ID:+37RyH8Rnumpyクラスの多次元配列ライブラリがない言語がなんだって?
C++なら多次元配列を自分で適当につくれると思うよ
0604デフォルトの名無しさん
2017/04/06(木) 20:20:29.28ID:+37RyH8Rそう思うなら作って公開してくれよ。俺は無理だったし、みんな無理だったからEigen以上のものはこの世にないんじゃないの?
0605デフォルトの名無しさん
2017/04/06(木) 20:52:37.51ID:lSyaolUa結局 c, fortlan でいいっていう。
0606あ
2017/04/06(木) 21:04:19.07ID:VCs4lZJmだってGUIが無いんだもの。
バッチかwebかコンソールかってところじゃない?
シングルバイナリがありがたいから、大量のマシンに撒いて集計してもらったり、逆に負荷調査したりしてる。
ホントにkernelプラスαで動いちゃうからな。
0607デフォルトの名無しさん
2017/04/06(木) 21:49:33.08ID:GqxQ8wHXいやそちらが並列についての話題にレスして、foldでチャネル使うって言ったからどういう事なのかと
ストリームというのはunfoldの話だよ
chanelはMQのように使う物だけど、unfoldでは型も結果も変化することないからね
0608デフォルトの名無しさん
2017/04/06(木) 21:58:05.77ID:GqxQ8wHX普通に速いのに、こういう話題で全く出てこない無valarray…
ublasとかeigenばかり使いやがって
0609デフォルトの名無しさん
2017/04/06(木) 22:21:29.39ID:Y/JBioIjそれ1次元オンリーやん
0610デフォルトの名無しさん
2017/04/06(木) 22:34:24.49ID:SR4XZy36ガーベージコレクション付けてくれ。
0611デフォルトの名無しさん
2017/04/06(木) 22:47:30.32ID:Ao1zg6OQstd::shared_ptrがあるやん
0612デフォルトの名無しさん
2017/04/06(木) 23:55:46.82ID:qaBug2etプテラかよ
0613デフォルトの名無しさん
2017/04/06(木) 23:57:28.47ID:IMWNs2Zi0614片山博文MZ ◆T6xkBnTXz7B0
2017/04/07(金) 00:09:57.04ID:h5rZiyBe0615デフォルトの名無しさん
2017/04/07(金) 00:31:28.85ID:7g/og4rQ0616デフォルトの名無しさん
2017/04/07(金) 01:10:42.46ID:aXgJeOL0多次元扱うライブラリだよ
実体が一次元なだけで
0617デフォルトの名無しさん
2017/04/07(金) 01:40:16.23ID:kzCGkGxbhttp://qiita.com/hirokidaichi/items/adccebb41f77eaa6132f
Goは次世代PHPになるためにシンプルな仕様がよいと思う。
PHPプログラマが理解できないとPHPに代わる言語になれない。
0618デフォルトの名無しさん
2017/04/07(金) 01:55:58.85ID:AoBlsTLM0619デフォルトの名無しさん
2017/04/07(金) 11:25:29.88ID:qK3X4ILJ0620デフォルトの名無しさん
2017/04/07(金) 14:47:07.18ID:e4/98DWWコンパイラ言語でプログラミング言語開発そのものにも使えるGolangじゃ
比較にならんだろ
0621デフォルトの名無しさん
2017/04/07(金) 14:51:37.26ID:e4/98DWW標準ライブラリに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.25ID:e4/98DWWPHPはC言語で書かれてる、つまりPHPインタプリタをGolangで書くことも出来る
PHPerがGolangを否定するのは、自分の生みの親を否定する愚行に等しい
0623デフォルトの名無しさん
2017/04/07(金) 15:26:23.52ID:E9+XPTIr高いパフォーマンスを求めて少し低い抽象度でプログラミングする場合に使う言語
0624デフォルトの名無しさん
2017/04/07(金) 15:32:32.15ID:Fuvg5lKD0625デフォルトの名無しさん
2017/04/07(金) 16:33:40.58ID:ZeBi+5LCGoの本元のGoogleですらFuchsiaというOSのカーネル(magenta)にGoは全く使わず主にCとC++を使ってる。
0626デフォルトの名無しさん
2017/04/07(金) 19:25:41.37ID:kzCGkGxbファイル入出力があってチューリング完全ならコンパイラを書ける。
つまりGolangコンパイラをPHPで書くこともできる。
>>624
同じくRustが次世代Cだと思う。
Cを置き換えるのはCよりも不具合が出にくい事を追求した言語だろう。
0627デフォルトの名無しさん
2017/04/07(金) 19:30:12.48ID:Fuvg5lKDGoは何か違うよな
シンプルさを追及した感じで次世代感はない
0628デフォルトの名無しさん
2017/04/07(金) 19:42:47.21ID:hSdZidmM実際に何本かコード書いてみたけど妙に泥臭いというか
古臭い感覚があるんだよな・・・
0629デフォルトの名無しさん
2017/04/07(金) 20:24:41.31ID:oLYrJc00Rustは次世代C++や
0630デフォルトの名無しさん
2017/04/07(金) 20:36:08.17ID:99i4egho微妙にmatlabの嫌な臭いがする
0631デフォルトの名無しさん
2017/04/07(金) 23:46:09.43ID:D3WCz+HDだからGoはカーネル書けないから次世代Cにはなりえないってば。
対してRustなら書ける
0632デフォルトの名無しさん
2017/04/08(土) 00:18:34.44ID:nGmMTnshきょうび流行りの関数型直系の次世代言語たちも
適材適所で使えば良いと思うよ
0633デフォルトの名無しさん
2017/04/08(土) 00:33:33.37ID:ZmPKT6lF適材適所で道具を選んで使えばいいだけなのに
XXXができないからYYYはZZZみたいな話に
終始してるやつってなんなのかね
0634デフォルトの名無しさん
2017/04/08(土) 00:47:59.16ID:MmqHTY99次世代言語はプログラマの甘えの産物なんだから
妙なストイックとかいらねえんだよ
0635デフォルトの名無しさん
2017/04/08(土) 00:56:57.27ID:HSOubv4jどこに危険があるのか制御できない言語と
0636デフォルトの名無しさん
2017/04/08(土) 01:06:26.95ID:/cdCDPu4ルースト?ルストゥ?
0637デフォルトの名無しさん
2017/04/08(土) 01:08:28.37ID:6RHBDVWo0638デフォルトの名無しさん
2017/04/08(土) 01:40:57.36ID:GAoRTfTW0639デフォルトの名無しさん
2017/04/08(土) 04:39:05.22ID:N0c155CY0640デフォルトの名無しさん
2017/04/08(土) 04:48:07.24ID:N+5uce1L適材適所で選ぶには何が出来てん何が出来ないかを把握することが大事だろう?
カーネルを書けないからGoはCの代替にはなりえない。
というのはそういう話
0642デフォルトの名無しさん
2017/04/08(土) 08:34:00.95ID:hvFUfQwI暴論かも知れんが正直このスレではHaskell以外取り扱って欲しくない。
0643あ
2017/04/08(土) 09:29:26.36ID:7kzA7BVi何言ってるのかわからんが、俺が解釈したとおりであればならば専スレが相応しいのでは?
議論スレでそれ?
俺はHaskellだけは無いと思ってる。
いいとこ取りしたつもりで最悪の部分を寄せ集めたRubyの仲間の言語。
0644あ
2017/04/08(土) 09:39:34.42ID:7kzA7BVi0645デフォルトの名無しさん
2017/04/08(土) 09:41:11.09ID:80zcJTU3おハスケル
0646デフォルトの名無しさん
2017/04/08(土) 09:59:50.41ID:2ZQzVf4I0648デフォルトの名無しさん
2017/04/08(土) 11:24:48.56ID:euqYWZLM0649デフォルトの名無しさん
2017/04/08(土) 11:29:46.28ID:NjQGfhpXむしろこのスレでHaskellを取り扱うのがおかしい。
Haskellが実用言語になれない最大の原因は遅延評価だ。
結局Haskellは生まれた時から実用言語としては死産だった。
遅延評価の難点を示した功績は大きいが次世代言語ではない。
HaskellのFunctorとApplicativeとMonadはどれかひとつにしろと思うが
理論研究のために仕方ない面もある。でも遅延評価だけは論外だ。
Haskellファンは正格評価のHaskell後継言語を作る気はないのか?
0650デフォルトの名無しさん
2017/04/08(土) 11:50:38.42ID:N+5uce1Lはすけるさんは人類には早すぎる言語として永遠に次世代候補ということでええんちゃう?
0651デフォルトの名無しさん
2017/04/08(土) 11:56:16.27ID:GLhbhenKモナドはファンクターとかのサブクラスだしどれか一つにするとかの問題じゃないし
分かって無いのに変な風評流すのはやめてほしい
0652デフォルトの名無しさん
2017/04/08(土) 12:03:27.12ID:MmqHTY99言葉を盗んでるのはオブジェクト指向のほうだから
0653デフォルトの名無しさん
2017/04/08(土) 12:05:20.44ID:GLhbhenKオブジェクト指向はスケールしない
0654デフォルトの名無しさん
2017/04/08(土) 12:07:12.53ID:VPJTEtSp0655デフォルトの名無しさん
2017/04/08(土) 12:09:31.17ID:GAoRTfTW0656デフォルトの名無しさん
2017/04/08(土) 12:12:36.86ID:euqYWZLM0657デフォルトの名無しさん
2017/04/08(土) 12:16:18.61ID:n4HDNcFzいや遅延評価の難点をまだ誰も示してないんじゃないか
何かバグがあったとして自己責任論を論破して遅延評価が悪いと示せる者がいないだろ
0658デフォルトの名無しさん
2017/04/08(土) 12:24:46.95ID:FmwPLc4P>スケールする
の意味について
0659デフォルトの名無しさん
2017/04/08(土) 13:03:54.76ID:8ssaps+e評価順を完璧に把握してるニュータイプだけが使えばいい。
0660デフォルトの名無しさん
2017/04/08(土) 13:05:34.30ID:GLhbhenK0661デフォルトの名無しさん
2017/04/08(土) 13:22:46.90ID:NjQGfhpXパラメータ多相は型が増えても修正不要だが
クラスはサブクラスが増えるとコード追加が必要という話?
オブジェクト指向言語にもジェネリックがあり
関数型言語にもアドホック多相があるから
それは言語の優劣とは別の話では?
0662デフォルトの名無しさん
2017/04/08(土) 13:26:15.96ID:NjQGfhpXHaskellによる開発ははソフトウェアの規模が大きくなると破綻するよね。
厳格なコンパイラにより大部分のバグが摘出されると宣伝しているのに
デバッグの困難さには自己責任論を唱えるのは二重基準だと思う。
0663デフォルトの名無しさん
2017/04/08(土) 13:26:20.01ID:euqYWZLM0664デフォルトの名無しさん
2017/04/08(土) 13:29:12.80ID:FmwPLc4Phttp://www.officiallyjd.com/wp-content/uploads/2011/11/20111128_fujimotomiji_15.jpg
http://up.gc-img.net/post_img/2015/07/yLYbM5DUSpvSCcP_bgubJ_1553.jpeg
http://amaebi.net/wp-content/uploads/2016/04/c4185a8042c2cbfdfb21b786c0c11816.jpg
http://s.eximg.jp/exnews/feed/Iphone_girl/Iphone_girl_443445_1.jpg
http://i2.wp.com/otabibo.com/wp-content/uploads/2016/08/sx0prax.jpg
0665デフォルトの名無しさん
2017/04/08(土) 13:44:35.39ID:jOveR2k3intelのでないのがwwと思ったが、gccの結果と比べたら速かったって記事を見たが、誰か解説頼む。
Fold-Fusionてやつ。
0666デフォルトの名無しさん
2017/04/08(土) 13:49:17.43ID:MmqHTY99ぼろっかすに崩壊してるじゃん
お前みずほに出稼ぎ行ってこいよ
0667デフォルトの名無しさん
2017/04/08(土) 13:50:23.60ID:v9enVIHUそういうの気にしてたら c++ みたいに肥大化するしかないからな。
go はそういう傾向に対するアンチテーゼみたいなもんだよ。
0668デフォルトの名無しさん
2017/04/08(土) 13:56:17.81ID:n4HDNcFz二重基準の原因は
宣伝のプロと技術のプロが分業し
なおかつ両者があたかも同一人物であるかのように扱われたこと
0669デフォルトの名無しさん
2017/04/08(土) 13:57:58.71ID:8ssaps+eオブジェクト指向は確かに破綻してるかもしれんが、その解決がHaskellかって言ったら嘘だろ。
別方向に破綻してるだけだ。
0670デフォルトの名無しさん
2017/04/08(土) 14:10:51.64ID:jOveR2k3Foldでなく、Stream Fusionだった。
Haskell Beats C�using Generalized Stream Fusion.
てやつ。限定的な領域だけなんかね。
0671デフォルトの名無しさん
2017/04/08(土) 14:14:07.91ID:GWDTEHUpなんか数年前のJavaScript思い出した
この手の人らって本当にWeb以外触ったことあるんだろうか
0672あ
2017/04/08(土) 14:15:08.34ID:Ldcg+BSnえげつない規模のシステムいくつかあるけど、べつに崩壊してないぞ。
ベンダが悪いんじゃねえの?
最新だ!次世代だ!と言われてるものが陳腐化してきたんだなー、って思うけど、依然として整然とした伽藍を見てる側としては、どれも作り手の問題。
0673デフォルトの名無しさん
2017/04/08(土) 14:20:05.74ID:GWDTEHUp運用や仕様段階で破綻してるなんて多々あるけど
情報の統合取れないとかさ
0674デフォルトの名無しさん
2017/04/08(土) 14:25:54.37ID:v9enVIHU技術の詳細を知らず理解しようともしない管理側
この両方の責任の擦り付け合いによってプロジェクトの破綻する。
0675デフォルトの名無しさん
2017/04/08(土) 14:55:43.37ID:N+5uce1Lシステムプログラミングといいつつアプリケーションプログラムしか書いてない連載…
0676デフォルトの名無しさん
2017/04/08(土) 15:05:55.58ID:n4HDNcFz損得がないオープンソースなら責任を取ることは損失ではなくむしろ名誉かもしれない
0677あ
2017/04/08(土) 20:47:33.19ID:/ZbQjSbYそりゃ、手戻りを防ぐという名で、実質手戻りをさせないところくらいでしょ。
運用が変わるから仕様変更して当然だし、仕様変更するなら設計変更して当然なんだから、それ認めれば歪さ減るし、むしろこなれてくよ、マジで。
0678デフォルトの名無しさん
2017/04/08(土) 20:58:30.62ID:cXe/TGOqでも納期は変わらないんですね。
0679あ
2017/04/08(土) 22:19:44.38ID:/ZbQjSbY納期が遅れるどころか、納期の見積もりからし直してもらうよ。発注できないし。
その中で「間に合わないなら2次開発にまわすから、2次開発でどこへでも頼めるようにきちんとやりきって納品物に引き継ぎ用の内部仕様書を追加してね」って言う感じ。
基本は伸ばしても別のところに頼むことは少ないけど。
0680デフォルトの名無しさん
2017/04/09(日) 00:03:51.49ID:1d0tPbjiみずほがC使おうがJava使おうがHaskell使おうが
崩壊するもんは崩壊する
ジャップランド土人にマネジメントなんて不可能なんだよ
0681デフォルトの名無しさん
2017/04/09(日) 01:28:57.65ID:tAppFcfW0682デフォルトの名無しさん
2017/04/09(日) 05:46:19.55ID:sHxSc8xQHaskell好きだけど、smalltalkと同じで純粋過ぎて実用では普及しないと思う。
0683デフォルトの名無しさん
2017/04/09(日) 06:37:30.75ID:bWQLB/aV遅延評価という致命的なデメリットのせいだから。
全部自分で書いたコードならともかく
他人の書いた謎にメモリ大量使用するHaskellのコードを
デバッグしてイチイチ原因特定出来るかよって話。
0684デフォルトの名無しさん
2017/04/09(日) 06:40:08.81ID:sHxSc8xQHaskellはプログラミングに拡張された数学そのもの。
本質的には整数、実数の集合の様に特徴で分ける型。
等価や比較、逐次処理などの機能で分けた型クラス。
その二つを数学に追加したらもうHaskell。
遅延評価やパターンマッチは数学をプログラミングにほぼそのまま持ち込むための手段と言って良い。
モナドとかファンクタは型クラスの一種でしかない。
算数や数学知ってれば、型と型クラスの概念覚えればそれでおk。
型クラスがオブジェクト指向のインターフェイスに似てるってのは、自作の型に=や<とか使いたかったら型クラスのインタンスとして登録する為に=や<を使える様に自作の型用の実装を書くから。
まあ、基本的な型クラスは型定義の後ろにderiving (Eq,Show)とかで自動実装してくれるんだが。
難しいのはモナドやファンクタであって、それはHaskellの特徴だがHaskell固有じゃない。
Haskellそのものはとても簡単。
0685デフォルトの名無しさん
2017/04/09(日) 06:50:17.48ID:bWQLB/aV型推論のせいで型宣言を省略したコードが氾濫してる
他人と共同作業するように作られてない言語だから
個人の趣味レベルのプログラミングにしか基本使われない
0686デフォルトの名無しさん
2017/04/09(日) 07:14:57.76ID:sHxSc8xQはて?
foldrとかみたいなリストから値になる様なのを再帰で書く以外は遅延評価でもそんなにメモリ消費しないはずだが。。。
リストから値は末尾再帰でループになる。
リストからリストはそのままで遅延評価のお陰でループとして取り扱うし?
IOモナドの再帰関数もループになるし。。。
まあ、元々手続き型よりメモリ消費するのはHaskellの性だから、そんなにメモリ気にするなら関数型言語使う事自体が間違ってる。
他人のHaskellコード手直しするとか無いからかもだが。
ネットに落ちてるコードをもう少し短く書けるだろ!って書き直して動かして見たぐらいか。
マルチスレッドを遅延評価が邪魔してシングルスレッドで動くってのはチャンク外しが面倒だが、メモリで問題になったことないな。
まずメモリより実行速度の方が先に問題になる。
私が実用じゃないと感じるのはライブラリとか、速度求めると結局手続き型っぽくなって、じゃあ手続き型言語でいいじゃんってなる所。
Haskellの楽しい部分は実用ではなりを潜める。。。
言語としては一番自分にしっくり来るんだが、好きな言語と作りたいものを作りやすい言語が違うジレンマよ。。。
C#が作りたいものを作りやすいって意味では一番かな。
0687デフォルトの名無しさん
2017/04/09(日) 07:18:17.78ID:sHxSc8xQコーディング規約でトップレベルの関数だけには型宣言必須とかすればええやん。
どんだけ自由な職場環境よ。
そもそもHaskellでグループ開発する仕事自体経験ないわ。
そんな環境存在するのけ?
0688デフォルトの名無しさん
2017/04/09(日) 09:16:16.24ID:yIbUPAX9使えないと思ったらコード読まずに捨てるね
この方法で職場で利益を出せないという根拠がどこにあるのかね
趣味レベルでも利己的に行動しているのは同じなんだけど
0689デフォルトの名無しさん
2017/04/09(日) 09:47:18.43ID:YX7QQL6aそりゃないだろ
外向けで型省略はありえないし
内部なら何使おうが自由だろ
Haskellに限らず
何でも叩けば良いってもんじゃない
0690デフォルトの名無しさん
2017/04/09(日) 10:29:08.57ID:1d0tPbji型なし言語の悪口はヤメタマエ
0691デフォルトの名無しさん
2017/04/09(日) 10:34:51.41ID:A51Ag1E00692デフォルトの名無しさん
2017/04/09(日) 11:16:08.50ID:YEkpvkONIDE使えば型出てくるだろ
0693デフォルトの名無しさん
2017/04/09(日) 11:27:13.79ID:yIbUPAX9ガードに手間をかけたHaskellはコスパ悪い疑惑をかけられて評価が低い
0694デフォルトの名無しさん
2017/04/09(日) 11:54:32.87ID:ZljUPaIU結論は、「ハスケルはコード規約でガチガチに縛られた土方専用言語」ということか。
0695デフォルトの名無しさん
2017/04/09(日) 11:55:54.26ID:ZljUPaIU0696デフォルトの名無しさん
2017/04/09(日) 12:05:40.33ID:1d0tPbjiSI戦士ジャップランド土人に最適やンけ!
でもジャップは低脳池沼低学歴ばっかやから
やっぱりハスケルは無理なんやろな(涙)
0697デフォルトの名無しさん
2017/04/09(日) 12:47:24.08ID:LWvMrATl型なんてないほうがコードは読みやすいんだけど
そしてグループでコーディング必須ってそれ効率悪いってことだよね
どれくらいの納期でどれくらいの機能を作らないといけないかによるけど、たいてい1機能は一人で実装仕切るよね、変な仕事分割してんじゃね
そりゃオブジェクト指向ならクラスが分割単位だけど、僕らの分割単位は関数なんでね
協調して決めないといけないのはデータレコードの設計、インターフェースであってプログラムにおいて重要な機能の作り込みにおいては完全に分業できる
わかるかな、重要で難しいのはインターフェースの規約をうまく設計することであって、クラス設計をうまくやることじゃない
この単純な規則がわからない馬鹿はみずほみたいな事態をまねく
0698あ
2017/04/09(日) 12:59:03.78ID:DQhpfsZQだから、事務屋には向いてない。
数学に近くてもでも、統計屋とか物理屋にも向いてない。
事実はモデル化すると必ず乖離すると理解してるしな。
単にそれだけ。純粋数学がartでなくscienceである根本。
>>685
型推論は便利だよ。
それが何であろうが良いんだから。インターフェイスで固めるJavaより、推論のある言語の方がはるかに保守性高いよ。
0699デフォルトの名無しさん
2017/04/09(日) 13:01:32.29ID:LmbO/Apg2.7と3.xで紛争してる辺りが
0700デフォルトの名無しさん
2017/04/09(日) 13:04:10.56ID:1O2xBFKG0701デフォルトの名無しさん
2017/04/09(日) 13:12:59.60ID:yIbUPAX9オブジェクト指向「うっせーなGUI作ってんだよ」
0702デフォルトの名無しさん
2017/04/09(日) 13:16:17.69ID:ZljUPaIUおまえはまだそのレベルか。
マトモなインターフェイス設計は、きちんとした機能設計とクラス設計が前提なんだぜ。
0703デフォルトの名無しさん
2017/04/09(日) 13:19:50.93ID:k7pBYoHGHaskellは1人で書いて1人で手直しする言語
他人のコードを流用しにくいのは
普及においては致命的なデメリット
0704デフォルトの名無しさん
2017/04/09(日) 13:26:19.44ID:LmbO/ApgHaskellに限らずこのスレでよく話題にあがるGoもRustもScalaもSwiftもみんな型推論積んどるし
Javaとかいう土人専用化石言語すら推論入れるだ入れないだとJSRで議論始める位だし
0705デフォルトの名無しさん
2017/04/09(日) 13:27:19.63ID:Cfl4+wb20707a4
2017/04/09(日) 13:44:46.10ID:DSOZ4McD議論も可能でしょうか?
http://echo.2ch.net/test/read.cgi/tech/1488681839/
0708デフォルトの名無しさん
2017/04/09(日) 14:18:02.14ID:1d0tPbjiようこそ、次世代言語(ネクスト・ジェネレーション・ランギュエージ)スレッドへ
共に遙かなる高みから宇宙を目指しましょう
0709a4
2017/04/09(日) 14:47:06.04ID:DSOZ4McDありがとうございます。
統合失調症により、情報制限をしないといけないと勘違いしてないので、cygwinでしか動かず、
使いづらいと思うんですよ。メモリの保存機能とかもまだないですし、意見をたくさん聞きたいです。
強制入院で日曜日しか病院から出られず、VisualC++なども上手くdownloadできないままなのです。
5月中旬あたりに退院できそうな話が出てるので、それから本格化していく予定ですね。
0710デフォルトの名無しさん
2017/04/09(日) 14:52:06.73ID:1d0tPbji陰謀により囚われの身なのですね
まずは奴ら倒し奴らの手から一刻も早く逃れることを
最優先に考えましょう
奴らの言いなりに薬などを飲んでは絶対にいけませんよ
それは脅威を封じる奴らの常套手段です
あなたは監視を受けています。
お気を付けて。
0711デフォルトの名無しさん
2017/04/09(日) 15:02:07.06ID:YX7QQL6a意味不明
Javaやc++もtoStringとか実装しなきゃ文字列か無理だろ
0712a4
2017/04/09(日) 15:06:31.53ID:DSOZ4McDご意見ありがとうございます。
薬は飲まないと、アメリカの軍事のお偉いさんとエスパー通信できる状態になったりと、
対照実験が終わっていますが、日常生活に支障が出ることもあります。薬は飲みたくない
のですが、薬を飲まないと、
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.02ID:YEkpvkON0714デフォルトの名無しさん
2017/04/09(日) 16:20:08.10ID:ZljUPaIU0715デフォルトの名無しさん
2017/04/09(日) 17:50:55.73ID:YX7QQL6a先程から反論の具体例を一つも示せてないが、
お前の言う勝手に表示してくれる言語とやらを例示してくれ
0716デフォルトの名無しさん
2017/04/09(日) 18:01:29.26ID:ZljUPaIU0717デフォルトの名無しさん
2017/04/09(日) 18:25:50.04ID:d4QOn6J60718デフォルトの名無しさん
2017/04/09(日) 18:45:16.86ID:YX7QQL6aすまん何言ってるんだ?
少なくともF#はリフレクションでも使わない限り、Obj.ToStringぐらいしか動かないはずだが
まさかそれのこと?
0719デフォルトの名無しさん
2017/04/09(日) 19:51:31.77ID:ZljUPaIU君さあ、ハスケル書いたことないでしょ
0720デフォルトの名無しさん
2017/04/09(日) 19:53:23.34ID:YX7QQL6aなんだただのクソ野郎か
0721デフォルトの名無しさん
2017/04/09(日) 20:41:47.90ID:ZljUPaIU0722デフォルトの名無しさん
2017/04/09(日) 20:59:21.10ID:LWvMrATl0723デフォルトの名無しさん
2017/04/09(日) 21:01:54.07ID:f2e8qNbGADTであることと定義しただけで表示可能なことに関係があるなんて聞いたことが無いし、
F#等がやってるのはderiving Show相当を自動で作ってるだけだし、
どういう風に表示されるかなんて言語仕様には無いからそれに頼ったコードは書いちゃいけない
デバッグやREPLで遊ぶときにちょっと便利なだけの機能だと使っていれば分かるだろうに
0724デフォルトの名無しさん
2017/04/09(日) 21:14:34.90ID:ZljUPaIU普通は「代数データ型」でも通じるんだけどねえw
> 代数データ型って何だよちゃんと的をつけろ的を
ごめんね、「代数的データ型」にしないと検索できなかったのかな?
恥ずかしい思いさせちゃってごめんねww
0725デフォルトの名無しさん
2017/04/09(日) 21:20:05.30ID:f2e8qNbG0726デフォルトの名無しさん
2017/04/09(日) 21:40:57.79ID:tAppFcfW誰もまともに読まない2chならなおさらである
0727デフォルトの名無しさん
2017/04/09(日) 22:03:16.10ID:YX7QQL6aAlgebraじゃなくてAlgebraicだから「代数的」だぞ
0728デフォルトの名無しさん
2017/04/09(日) 22:08:00.96ID:tAppFcfW0729デフォルトの名無しさん
2017/04/09(日) 22:12:22.92ID:YX7QQL6aclojure最近触ってないな
leiningenの代替とかできた?
0730デフォルトの名無しさん
2017/04/09(日) 22:28:26.98ID:LWvMrATlガイジはここまで丁寧に説明されても噛み付いて来るからガイジなんだよなあ
0731デフォルトの名無しさん
2017/04/09(日) 22:29:40.28ID:tAppFcfWそんな代用出てないと思うけど、Leiningen じゃダメなのですか?
0732デフォルトの名無しさん
2017/04/09(日) 22:51:35.12ID:1d0tPbji0733デフォルトの名無しさん
2017/04/09(日) 23:38:02.89ID:tAppFcfWあなたはゴミじゃない
0734デフォルトの名無しさん
2017/04/09(日) 23:52:08.69ID:1d0tPbjiだがお前はゴミだ
0735デフォルトの名無しさん
2017/04/09(日) 23:55:21.95ID:tAppFcfWでも本当は?
0736デフォルトの名無しさん
2017/04/10(月) 00:28:51.43ID:BpI1rs+Nゴミ!死ね!型無し池沼糞言語死ね!
0737デフォルトの名無しさん
2017/04/10(月) 00:51:18.88ID:CykROrgz0738デフォルトの名無しさん
2017/04/10(月) 02:04:22.92ID:IhGuSZfbmain = do
cs <- getContents
putStr cs
実行結果はどうなるでしょう?
1.一行入力したら、そのまま一行出力して終了
2.一行入力したら、そのまま一行出力するを繰り返す
0739デフォルトの名無しさん
2017/04/10(月) 02:06:38.86ID:rnnGdTpxwebアプリケーション公開するならこれでいいわ
VPSレンタルするのがアホらしくなる
0740デフォルトの名無しさん
2017/04/10(月) 05:14:17.99ID:Bqb/3XEYdbはdatastore使ってるの?使いづらくない?
0741デフォルトの名無しさん
2017/04/10(月) 05:24:41.21ID:qMbArUCC代数データ型を知ってれば >>723 の2行目以降は全くのナンセンスだとわかるはずだけど。
きみにはそれが理解できないんでしょ?代数データ型を全く知らないから。
だからハスケルやったことない人だってバレバレなんだよ。
わかったかい?おばかさんw
0742デフォルトの名無しさん
2017/04/10(月) 06:46:18.43ID:Z2z2+xyG>>741
この話は文字列変換の事だから、代数的データ型についての話は本質的に関係ないよね
マーシャリングができるとかでもないし
そのまま議論すればいいものを、間違いを認められず蛇足に意固地になって煽る様がとても滑稽
ガイジ扱いされても仕方がないね
0743デフォルトの名無しさん
2017/04/10(月) 06:49:40.88ID:qMbArUCC0744デフォルトの名無しさん
2017/04/10(月) 06:58:03.67ID:BpI1rs+N0745デフォルトの名無しさん
2017/04/10(月) 07:01:03.43ID:ETR5lUxM君が自分でよくわかってないんだよね
問題の本質は代数データ型云々ではなく、文字列変換処理の組み込みの話なんだから
みんな丁寧に答えてるのに、 煽り倒せればそれで満足なんて可哀想な人だね
0746デフォルトの名無しさん
2017/04/10(月) 07:04:19.36ID:qMbArUCCうへー、toStringバカ?
型システムの問題だということが理解できてない?
かわいそうすぎる。。。
0747あ
2017/04/10(月) 07:15:53.61ID:SH+zL9uE0748デフォルトの名無しさん
2017/04/10(月) 07:30:21.57ID:yQdu1Sgd本当にそれでいいの?
ただの事前の実装の有無と利便性の話で
むしろ型で見るなら、暗黙的動作を型で制御できない方が問題だけど
0749デフォルトの名無しさん
2017/04/10(月) 07:31:35.04ID:F2jNQBvsそれは失礼した
0750あ
2017/04/10(月) 07:36:17.38ID:SH+zL9uE表示関数側でいろんな型を文字列に変換して表示するか、
色んな型に文字列化関数を持たせて表示関数に投げるかでも設計から変わるし。
0751デフォルトの名無しさん
2017/04/10(月) 07:38:44.81ID:jEveIq4j0752デフォルトの名無しさん
2017/04/10(月) 07:51:34.60ID:qzWEprT0全部 complex でいいよ。
0753デフォルトの名無しさん
2017/04/10(月) 09:10:18.71ID:I+h/NYJQ0754デフォルトの名無しさん
2017/04/10(月) 12:00:24.70ID:8Fd0gRuqそこを理論上綺麗にしたのがMonadic IOだったのだが
今でもまだ叩けば埃が出る
0755デフォルトの名無しさん
2017/04/10(月) 12:29:03.38ID:Bqb/3XEY俺、新年度早々から腸閉塞で入院中ださ
0756デフォルトの名無しさん
2017/04/10(月) 18:14:03.22ID:rnnGdTpxdatastoreだよ
他のNoSQLにしても制限は同じだし
スケールアウトのしやすさを重視したほうがいいっしょ
業務用アプリ(帳票)つくるわけじゃないから、そんなに複雑なクエリ使わんしさ
0757デフォルトの名無しさん
2017/04/10(月) 18:16:02.93ID:rnnGdTpx放置系webアプリには向いてない
0758デフォルトの名無しさん
2017/04/10(月) 18:45:20.78ID:Bqb/3XEYなるほど。サンクス
0759デフォルトの名無しさん
2017/04/11(火) 04:59:01.04ID:sWLBbUjrこれもう次世代言語だろ
0760デフォルトの名無しさん
2017/04/11(火) 05:23:31.11ID:9INkT/1L0761デフォルトの名無しさん
2017/04/11(火) 06:12:03.28ID:nJGqJspN>>> type("abc")
<type 'str'>
0762デフォルトの名無しさん
2017/04/11(火) 06:42:46.06ID:cxxmNlgyむしろHaskellはそれらにこそ向いてる。
それらはライブラリ無くても数学モデルから自分で関数書き下しやすい。
むしろ普通のアプリ書くためのライブラリ不足とか、あってもGUI書くと普通の言語っぽくなって「じゃあ普通の言語で良くね?」ってなるのが問題。
関数型っぽくGUIを書くとかじゃなく、XAML+C#みたいにGUIを完全に別言語にして、バインディングされた関数が呼ばれる様にした方が自然だと思う。
MVVMもしくはそれをもう一歩進めたものこそHaskellのGUIに相応しい。
あとJpegエンコーダ/デコーダとか、やる気無さすぎ。
作りかけばっか。
スマフォ向けアプリ作れないか、作る情報が少ないのも問題。
何つーか、研究機関かエンタープライズ用途。
0763デフォルトの名無しさん
2017/04/11(火) 06:45:21.29ID:CVg4OJe7Haskell開発環境はSDDの無駄遣いだからアンインスコしとこうっと
0764デフォルトの名無しさん
2017/04/11(火) 06:50:42.12ID:zPfyv50a0765デフォルトの名無しさん
2017/04/11(火) 07:09:53.64ID:cxxmNlgy手続き脳に毒された後だと苦労するかもしれんが、まっさらな新人に教える上じゃJavaより教えることは少なくて済む。
コマンドの入出力からしてデータ、ロジックと外部とのやりとりを切り離すことを強制される(GUIとロジックの切り分けとかしやすいと言うか、強制される)とか、
MVC/MVVMと言われるのをHaskellだと言語レベルで強制されるあたりは不便と言えば不便だが、データと関数を再利用し易い。
手続き型だとコマンドでテキストに行番号を付けて出力する時、テキスト読んで、行毎に出力しながら行番号付ける書き方が主流だが、
Haskellだとテキスト読んで、行に分割して、行番号付けて、それを結合してテキストに戻してから出力を強制される。
逆に言えば、テキスト入れる変数や行番号付ける関数はGUIにもそのままコピペで使えるくらいまで部品化される。
手続き型だとそう言うのは設計次第。
0766デフォルトの名無しさん
2017/04/11(火) 07:28:43.19ID:XuktN477> >>694
> 手続き脳に毒された後だと苦労するかもしれんが、まっさらな新人に教える上じゃJavaより教えることは少なくて済む。
その後その新人にどんな仕事させるのさ?
0767デフォルトの名無しさん
2017/04/11(火) 07:35:14.38ID:cxxmNlgyHaskellが普及したらの話だが。
ドカタ向けか?って質問にYesと答えた迄。
まあ、Haskellの仕事なんて今後も無いとは思う。
0768デフォルトの名無しさん
2017/04/11(火) 07:42:16.97ID:nJGqJspNHaskellは、単に数式をコードにするだけなら簡単だが、「効率良い」コードにするのは極端に難しい。
バグりにくいが、型エラーとして検出できなかったバグを取り去るのも極端に難しい。
だから作りかけライブラリばかりになる。
Haskellを実用で使うなら、数年前に流行したエンドユーザプログラミングみたいな領域だろう。
0769デフォルトの名無しさん
2017/04/11(火) 08:01:49.33ID:cxxmNlgyえらい品質の高いコード書けて、再利用性高められるのに、普通の言語より長いコンパイルをじれったく待った結果がRubyやPythonと同程度の処理速度ってのとライブラリの貧弱さが致命的。
だから結局Haskellは学ぶべき言語だけど、それを他の言語で活かす形になる。
遅延評価に関係するバグはRealWorldHaskell無かったらハマってたな。。。
0770デフォルトの名無しさん
2017/04/11(火) 08:04:13.48ID:CVg4OJe7先に何をしたいか決めて
後からHaskellが最適な言語だなんて結論に至る分野が見当たらないよね
0771あ
2017/04/11(火) 08:12:59.87ID:AksdZOrl数学モデル、が実務と乖離しがちだと言ってるんだよ。
伝票を軸にしたワークフローは手続きとして処理するのが一番当たり前で妥当なワークフローだし、
パラメトリックに設計した3DCADのデータに対して何らかの手を加えるのであればヒストリに対して手を加えるのが正規ルート。
数学モデルはあくまでモデルであって、現実ではない。
だから、シミュレートの前提に○○法で、と注記を入れる。その○○法がニュートン力学の範囲では成り立つが、ミクロな話では正確でないことがわかるように。
GUIなんか要らんよ。300台のクラスタに対してGUIで制御するとか馬鹿そのものだろ。
MVVM自体は否定しないけど、入力値と出力値はフィールドわけましょうねとかやってると、行き着くところはダム端のTUIにいきつくようなもん。
エンコーダに関しては大体同じ意見だが、それこそ純粋数学ではなくて、認知科学と言うか生理学的なモデルに対して誤魔化しをかけるエンコーダが増えてる中で、純粋数学について熱く語られても、鼻白んでしまう。
>>768
そーそー。そーなると、フィルタ言語に押し込んで画面で触らせるほうが余程良いんよ。SPSSみたい感じ。
0772デフォルトの名無しさん
2017/04/11(火) 08:15:20.36ID:cxxmNlgy数式を実際に動かしてみるのに余計なこと書かないで良いし。
代数的データ型で自然数型作って、「もしこの世界に数字が無かったら?」って例えで動かして見せて数とは何か興味持ってもらったりすると、子供の数学に対する興味も惹き易いんじゃ無いかとか。
0773あ
2017/04/11(火) 08:17:58.67ID:AksdZOrl机の上だけでモノ考えて終わる人がライブラリ書くわけ無いし、そもそもRubyやPythonで充分なシーンでHaskell使う必要もない。
Haskellでしかできない!って事があるならば学ぶべき人間は居るかも知れないが、それって「これ以上の高速化は高級言語では無理ですね」に対するアセンブラへの学習のモチベーションと同じ。
もちろんアーキテクチャとアセンブラ知ってれば、最適化がかかりやすいコードが書ける、って意味では学ぶ必要はあるかもしれないけど、だいたいのHaskellの人はそういう観点持ってないからな。
0774あ
2017/04/11(火) 08:21:26.37ID:AksdZOrl子供のおもちゃや学習や自分の書いた式の検算に使うなら、Mathematicaやmaximaで十分でしょ。充分に代数においての現実的な答や変形式を教えてくれるし、グラフにもしてくれるぞ。
0775デフォルトの名無しさん
2017/04/11(火) 08:29:17.03ID:cxxmNlgy専門家じゃ無いから勝手な想像でしか無いけど、それらはHaskellに限らず苦労するわけで、結局バッドノウハウが蓄積されてるかどうかな希ガス。
すでにその分野でメジャーな言語を除けば、乖離を抑えられたりバッドノウハウ蓄積し易そうなんだが。
まあ、結局餅は餅屋なんだろうけど。
0776デフォルトの名無しさん
2017/04/11(火) 08:29:59.04ID:1lDZVwtU0777デフォルトの名無しさん
2017/04/11(火) 08:40:52.83ID:CVg4OJe7R言語のように完全に特化した言語を使うよね
0778デフォルトの名無しさん
2017/04/11(火) 09:17:59.63ID:9INkT/1LRこそマジもんのオモチャだな、面白いけど
0779あ
2017/04/11(火) 10:24:32.07ID:AksdZOrlバッドノウハウと言うか、手続きをシステム化するなら手続き型で、に尽きる。
わざわざモデル化し直して乖離を抑えるってのは無駄そのものだよ。
Haskellとかの強硬派は、何が何でもHaskellを使うがために歪で適当なモデル化するのが問題。Haskellだからこそ苦労するので、バッドノウハウの問題じゃない。
>>776
ごめん、パラグラフの途中で改行するのが生理的に気持ち悪いだけだから、
適宜改行するように心がけるわ。
0780デフォルトの名無しさん
2017/04/11(火) 10:46:08.72ID:MhYRbK9E実用技術として未完成ってこと。
完成した部分の美しさは他の追随を許さないけど、突然目の前で道路が切れて断崖絶壁に落ちる。
0781デフォルトの名無しさん
2017/04/11(火) 10:53:56.22ID:9INkT/1L「実用技術」って言葉の理解に俺と違いがあったみたいだけど、まあ分かるわ
Rは「実用技術」として完成してるなw
0782デフォルトの名無しさん
2017/04/11(火) 11:10:46.33ID:CVg4OJe7Hackage眺めると分かるけど
実行速度の為にIOArray使ったりと
特殊なテクニックを駆使しないとロクに使えないポンコツ関数になるし
Haskellの自慢で頻繁に出される
フィボナッチ数列のコードなんかはその典型
0783デフォルトの名無しさん
2017/04/11(火) 11:48:36.98ID:DhbIYplJ実行速度拘らないなら書きやすいけど、結局実行速度欲しいから別の言語行く感じ。
CPU速くなったから問題じゃ無くなったと言っても、元々速い言語ならさらに速いわけで。
0784デフォルトの名無しさん
2017/04/11(火) 12:25:48.45ID:hF7dmyxm信者の気持ちを忖度しないテクニックではあるが
忖度しないことを特殊と思うかどうかは人それぞれ
0785デフォルトの名無しさん
2017/04/11(火) 13:53:37.55ID:MhYRbK9E次の関数型ブームが来たらその時には実用になるかもな。
0786デフォルトの名無しさん
2017/04/11(火) 16:02:28.07ID:CwLKi0hQSchemeブームが終わってPythonとHaskellに半分ずつ吸収されたと考える方が自然だ
0787デフォルトの名無しさん
2017/04/11(火) 16:07:14.97ID:jCNVV0Lfhttps://ja.m.wikipedia.org/wiki/Io_(プログラミング言語)
0788あ
2017/04/11(火) 18:35:14.01ID:AksdZOrl吸収とは随分な。
パクった挙句の蛇足だろ。
さらに歪さに自己欺瞞を重ねたのがHaskellってとこじゃねえの?
Pythonは、メンバメソッドの第一引数がselfみたいな開き直りすら感じる。
CppとJavaに至っては後継でもないし、気取ってすらない。
ユーザが意識だけ高いのも悩みどころだな。あの手の言語は。
実用性皆無でもrustの方が相当まとも。
0789デフォルトの名無しさん
2017/04/11(火) 18:44:39.43ID:AMzfxezXてかほとんどのコードの問題がこれに起因してる。
正直に書けばいいのにと思うコードが世の中には山ほどある。
0790デフォルトの名無しさん
2017/04/11(火) 19:24:46.91ID:nJGqJspNHaskellの先祖はMiranda。
Javaの先祖はないが、強いて言えば構文はC++、アーキテクチャはSmalltalk、型周りはEiffelの影響が強い。
ところでSchemeってそんなにブームだったか?
むしろRubyからHaskellへの流出が目立つが。
0791デフォルトの名無しさん
2017/04/11(火) 20:59:03.93ID:CwLKi0hQHaskellが正直に書かないというか何か隠しているものがあるとすれば継続
0792デフォルトの名無しさん
2017/04/11(火) 21:04:04.52ID:nJGqJspN0793デフォルトの名無しさん
2017/04/11(火) 21:46:01.73ID:UT2aAcJz継続知らんくてネットや文献漁ってモナド理解した時間返せよ。。。
0794デフォルトの名無しさん
2017/04/12(水) 00:37:40.33ID:4ODEWlBkhttps://pbs.twimg.com/media/C8tQxI7VYAAl2uK.png
今後のOSはAndroidが主流な訳で
Android上でまともに動かない言語は過去の遺物となるよ
(この場合Webアプリも広い意味でAndroid上に含む)
0795デフォルトの名無しさん
2017/04/12(水) 06:01:46.07ID:T7iXp/Hl共通の基盤が無くて困ってた。
それを解決するためにhaskellは研究者たちで協力して作られたのだった。
遅延とは観測した瞬間計算されるということで
光は観測した瞬間、波から粒に変わるのと同じようなこと。
つまりこの宇宙は観測されなければ計算しないように出来ている。
それはなぜかというとこの宇宙自体がシミュレーション世界であって
どこかの世界のコンピューターで計算される世界だから。
詳しく知りたければシミュレーション仮説で調べて見ると言い。
0796デフォルトの名無しさん
2017/04/12(水) 07:21:56.30ID:+63jhcQwもしかして継続って継続渡しのこと?
JavaとJavaScriptくらい別物だぞ
0797あ
2017/04/12(水) 08:14:18.36ID:PqTsbe1L遅延評価に関して言えば、そんな小さな話じゃない。
Why Functional Programming Mattersにも書いてある程の古典的な話。
要は、終わらない関数を使って終わる関数を書けるよねって所に行き着く所が肝であって、いわゆる手続き型言語言語で言うジェネレータやらイニュメレータがあったらいいよねって話。
純粋かどうかで言えばSchemeもF#もErlangも不純だし、そもそもMLもあんまり覚えてないけど不純にも書けたはず。
逆に言えば、どんな言語でも純粋には書ける。
0798デフォルトの名無しさん
2017/04/12(水) 08:35:42.91ID:q8AIUkhS0799デフォルトの名無しさん
2017/04/12(水) 08:48:13.10ID:T7iXp/Hlもっと勉強したほうがいい。
0800デフォルトの名無しさん
2017/04/12(水) 08:48:47.80ID:T7iXp/Hl0801デフォルトの名無しさん
2017/04/12(水) 08:49:25.38ID:T7iXp/Hl>>799は797へのレス
0802デフォルトの名無しさん
2017/04/12(水) 08:58:03.74ID:T7iXp/Hl遅延評価を継続でどう表現したらいいか考えてみるといいよ。
0803デフォルトの名無しさん
2017/04/12(水) 08:59:21.81ID:q8AIUkhSさも世界の主流であるかのように上から目線で語るところが
エンジニアガイジのゴミな所
知らないのにどうしてそんな偉そうに首突っ込めるんだろうね
これは人格批判なので無視してください
0804デフォルトの名無しさん
2017/04/12(水) 09:02:05.38ID:Q4aQcbYH0805デフォルトの名無しさん
2017/04/12(水) 09:42:25.63ID:bmLe4npf意味があるのは最初の3行だけ。それ以降はナンセンス。
ゲーデルとかヴィトゲンシュタインの表層だけ知ってドヤ顔している馬鹿みたいだからやめとけ。
否定も肯定もできない仮説をありがたがるのは高校生までにしとけ。
0806デフォルトの名無しさん
2017/04/12(水) 10:06:57.36ID:T7iXp/Hl物質的実在論では光が、なぜ観測されるまでは位置が不確定なのに観測された瞬間
位置が決まる意味がうまく説明できないんだよ。量子的実在論では説明ができる。
もう一つ言うと量子的実在論の登場によって
物理的実在論を無条件に肯定する理由もなくなるということだ
その意味でも全く意味がある。
0807デフォルトの名無しさん
2017/04/12(水) 10:13:09.32ID:Q4aQcbYH0808デフォルトの名無しさん
2017/04/12(水) 10:18:45.10ID:T7iXp/Hlまぎれて行動するAIはどんな行動を示すだろうね。
0809デフォルトの名無しさん
2017/04/12(水) 10:33:27.62ID:T7iXp/Hl言い換えると、遅延評価関数型言語の標準言語Haskellは神の使う言語に一番近いこと。
0810デフォルトの名無しさん
2017/04/12(水) 10:46:10.65ID:JbjRmmGH偉そうに問い詰めるのが世界の主流
「何の役に立つの?」「さっぱりわからない」「中学生でもわかるように説明しろ」
0811デフォルトの名無しさん
2017/04/12(水) 10:49:43.82ID:wlijzWAe神とやらには使いやすいかもしれんが遅延評価言語のクソみたいなのデバッグのしにくさを人間に押し付けないで欲しいもんですねぇ。
0812デフォルトの名無しさん
2017/04/12(水) 11:15:04.61ID:T7iXp/Hl世界であろうが、この世界は、所詮制限された宇宙、神の数学を扱えない以上、複雑さが付きまとうのは宿命だよ。
それを回避して我々が別の世界の神になることは到底不可能であろう。
0813デフォルトの名無しさん
2017/04/12(水) 11:20:59.68ID:wlijzWAe次世代言語とは別に「シミュレーション世界でアセンションするための言語スレ」でも立ててそこでやってくれませんかねぇ。
0814デフォルトの名無しさん
2017/04/12(水) 11:47:08.01ID:T7iXp/Hl今の個人の必要性と次世代の必要性とは切り離して考える必要があるのは明らか。
0815デフォルトの名無しさん
2017/04/12(水) 12:00:35.50ID:zuO65uWi0818デフォルトの名無しさん
2017/04/12(水) 12:49:01.17ID:T7iXp/Hl話についていけないなら黙ってたほうがいいよ。
0819デフォルトの名無しさん
2017/04/12(水) 12:51:41.95ID:7Zbwqyi6それが現実的に「次」になる世代になったときに議論しろって話だ。
0820デフォルトの名無しさん
2017/04/12(水) 13:01:23.28ID:udCjUJ6f0821あ
2017/04/12(水) 14:55:01.10ID:PqTsbe1Lだってオラクルがあれば計算量0だし、
そもそも計算量に上限がない物だってあるからな。
∞に0以外何掛けても、∞と-∞にしかならん。
そういう意味では節約ではなくて、取り出したいときに取り出すための方法でしかない。
そもそもチューリングマシン自体、無限の長さのテープという不思議な単語から始まるんだから。
0822デフォルトの名無しさん
2017/04/12(水) 15:27:29.78ID:T7iXp/Hl光の速度に近づくほど時間が遅くなることは、双子のパラドックスにより
証明されてる事実だろ。
そのため光の速度に上限を設けるのは当然の設計だろ。
同時に光の位置に関しても同じことが言える。
さらに数学的宇宙仮説を仮定するとこの世界で無限の計算が出来ないのは当然の帰結と言える。
0823デフォルトの名無しさん
2017/04/12(水) 16:20:49.76ID:B8y0IwDQ0824あ
2017/04/12(水) 17:13:25.58ID:PqTsbe1Lわざとやってるんだろうけど、離散値としてのサンプリングレート次第で速度なんか関係ないでしょ、シミュレーションに。
ナノ秒・Åスケールで1インチ四方の10秒のシミュレーションと一日分のCDレベルの音響解析だったら前者の方がよほど辛いぞ。
無限の中の有限範囲を扱えるからこその遅延評価なんであって。
0825デフォルトの名無しさん
2017/04/12(水) 17:21:14.84ID:13ZjTcRY"english": "Hello World",
"japanese": "こんにちは、世界",
"time":"現在時刻を出力"
}]
このJSONを出力するだけのwebサーバを作りたい時、お前らならどういう構成、言語を選択する?
なお、初期投資が無料かつ月間100万PV未満程度の負荷なら月額0円で運用できる必要があるとする。
処理性能は高いほうが好ましい。
0826デフォルトの名無しさん
2017/04/12(水) 17:34:43.84ID:T7iXp/Hl遅延評価は評価を遅らせて不必要な計算をしない以外の目的は無い。
君の主張は一般の場合の有限個以上の無駄な計算をしないという特殊な場合に過ぎない。
0827デフォルトの名無しさん
2017/04/12(水) 17:51:18.32ID:B8y0IwDQ非正格な関数の評価が目的。それだけ。
無限の中から有限というのは、非正格な関数評価の特殊な場合に過ぎないし、
計算量が減るというのも特殊な場合に過ぎない。
0828デフォルトの名無しさん
2017/04/12(水) 18:07:06.98ID:T7iXp/Hlすなわち君の言っていることは>>824の言い換えにすぎず完全な間違いに過ぎない。
0829あ
2017/04/12(水) 18:09:36.49ID:PqTsbe1Lgithubのpageにhellowold.jsonとして置く。
と言うのは半分冗談だけど、GAE使うわ。
>>827
おっしゃるとおり。こいつが言う遅延評価の使い方ではないものを挙げた、一般例ではない。
0830あ
2017/04/12(水) 18:12:32.28ID:PqTsbe1L実は別に遅延評価しなくても良いんよ。莫大なサイズの中間ファイルとか。
それは俺が引き合いに出したWhy Functional Programming Mattersで何十年も前に既に述べられてる。
読んだこと無かったら是非一読を勧める。
0831デフォルトの名無しさん
2017/04/12(水) 18:39:52.92ID:706vvBQmついでに言えばHaskellは入力受け付けておいて、何も出力しないプログラム書くと、出力しないプログラムに意味は無いとばかりに何もせずに終了する。
0832デフォルトの名無しさん
2017/04/12(水) 18:51:15.90ID:B8y0IwDQバーカ、
True || 0.0 / 0.0 == 1
みたいな式でも評価できるのが非正格評価のいいところなんだよ。
0833デフォルトの名無しさん
2017/04/12(水) 18:57:42.29ID:TsOYzgLF本当にこれしかしないならPHPが一番楽だわ
ちょっと拡張しようとすると死ぬけど
鯖は知らん
0834デフォルトの名無しさん
2017/04/12(水) 18:58:36.47ID:13ZjTcRYやっぱGAEしかないか
ちなみに動的に変化する現在時刻をJSON内に含めて出力する必要があるので
Githubに静的なjson置く案は駄目だぜw
0835デフォルトの名無しさん
2017/04/12(水) 19:00:12.95ID:13ZjTcRYGAE/PHPがあるけど、出来るだけ高速に、という縛りあるのでGolangが適正かな
0836あ
2017/04/12(水) 19:02:51.84ID:PqTsbe1Lgithubに毎分コミットするとか?(笑)
まぁその程度のjson撒くときはマジで毎分静的ファイルに落とすほうがアクセス数によっては良いよ。
あとは、あのドライブについてるスクリプトかな。それこそアクセス数次第だけど。
0837デフォルトの名無しさん
2017/04/12(水) 19:05:29.79ID:TsOYzgLF0838デフォルトの名無しさん
2017/04/12(水) 19:08:08.50ID:tcmUBnfiスピノザとかいう言語()を作った究極のドアホウ思い出したわ
0839デフォルトの名無しさん
2017/04/12(水) 19:09:41.72ID:aNxD89/q0840デフォルトの名無しさん
2017/04/12(水) 19:20:56.10ID:rV2fF7iL本当にその程度の内容だとしたら鯖側でやる必要あるの?
クライアント側でjsで詰めた方が早いと思うんだが
鯖の時間を基準にしたいとかそんな話?
いずれにせよ、猛烈にスレチ感しかないけど
0841デフォルトの名無しさん
2017/04/12(水) 19:52:11.40ID:iot6o9M3静的スコープを考慮しないマクロは簡単だが
静的スコープのせいでマクロも遅延評価も難しくなった
0842あ
2017/04/12(水) 20:04:57.59ID:0PmvWJUv例えば、じゃないの?
でも、サーバ時刻の配信とキーの配信なんかはまあニーズはある。
httpのヘッダで返しちゃうのもアリだけど。
0843デフォルトの名無しさん
2017/04/12(水) 20:17:56.49ID:GAq2a6cSPHPでいい
0844あ
2017/04/12(水) 22:34:31.92ID:EWS0zdZB0845デフォルトの名無しさん
2017/04/13(木) 00:49:23.36ID:4ASWZGo3あれを実際に使うわけ無いだろ
0846デフォルトの名無しさん
2017/04/13(木) 00:50:25.62ID:4ASWZGo30847デフォルトの名無しさん
2017/04/13(木) 06:05:07.40ID:O+jjaQElバカだろ
0848デフォルトの名無しさん
2017/04/13(木) 06:29:53.47ID:m/ZfxtWH0849デフォルトの名無しさん
2017/04/13(木) 06:29:54.77ID:FzTDBbXqフレームワークさえあれば言語はどれ使っても生産性は同じって主張を繰り返すバカに
証拠を出せったら数行のHelloWorld出力サーバーを出してきて爆笑だったのを彷彿とさせるな
0850デフォルトの名無しさん
2017/04/13(木) 08:15:47.67ID:O+jjaQElそのスレ見てなかった。面白そうだな。
JSON君、もっと俺を楽しませてくれよ。
0851デフォルトの名無しさん
2017/04/13(木) 08:26:08.78ID:j/iQfqLR実装して比べてみた場合に・・・位の話にしてほしいところ
やっぱり、ゆるふわweb屋が多いんだろうな
色々な物に興味を持つのは悪いことではないけどさ
0852デフォルトの名無しさん
2017/04/13(木) 09:47:55.41ID:CarqWf/r今、トレイトとミックスインの衝突検知や回避処理の違いに興味があって調査してるんで
RubyとPHPで書かれたこれ↓を次世代言語だとどのくらいエレガントに書けるか見せてもらうことってできますか?
http://ideone.com/or6JyE
http://ideone.com/lcnAEj
おそらく仕様としては
1. ドアにはノブ(その先にラッチ=固定具)がついていて、ノブを回すとラッチ解除、戻すと固定
2. ラッチ解除状態でドアを押すと開けられ、引くと閉じる
3. 閉じた状態でノブを戻せばラッチで固定され、押しても開かなくなる
さらにこのドアに対して、ドアストッパー(ドアを解放状態で固定。引いても閉じない。押しても解除可能)
ドアクローザー(一定時間で自動で閉じるスレッド処理)をそれぞれ設置した拡張と、
その両方を同時に設置した拡張をミックスインかトレイトで実現ということだと思います
このRubyとPHPの違いを見る限りでは、前者のミックスイン(ただし動的型)だと衝突検出ができず、
衝突回避処理もパズル的で泥臭い、後者のトレイト(ただし同じく動的型)だと、
衝突検出はできるけど実行時のみで、回避はミックスインよりはマシという印象でした
オマケとして、スレッド周りの実装の容易さや柔軟性、安全性も見てみたいです
HelloWorldよりはマシとはいえ、悪名高いワンニャンとさして変わらない例で申し訳ないんですが
まあこのくらいなら使い慣れた言語なら15分くらいで書けると思うので
0853あ
2017/04/13(木) 12:37:31.73ID:URoqxFhJコンポーネント的に考えるのが一番楽そうだけど、ミックスインとかトレイトを意地でも使うとなるとちょっと面倒くさいかな。
0854デフォルトの名無しさん
2017/04/13(木) 14:18:43.70ID:m+G7Jnm+こういう具体例を求められると逃走するイメージだが果たして・・・
0855デフォルトの名無しさん
2017/04/13(木) 16:01:39.67ID:RXvGitp8> むしろ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.11ID:RXvGitp80857デフォルトの名無しさん
2017/04/13(木) 17:08:00.85ID:Y/ykFvy5あんまり詳しくないけどScalaでざっくり書いてみた
Scalaのtraitsはtraitsを名乗ってはいても実体はmixinなので継承パスを意識しないとバグる
静的型チェックのおかげで不完全ながら衝突チェックはできるけど、パズル感は否めない
もちろん15分では書けなかった
http://ideone.com/DZh8zL
0858あ
2017/04/13(木) 17:21:37.83ID:URoqxFhJ0859デフォルトの名無しさん
2017/04/14(金) 02:52:14.47ID:eFveBav+0860あ
2017/04/14(金) 08:00:23.71ID:6kAIEFCuドアノブがあるとは限らんし、ドアノブとは別に鍵があるかもしれんし、とか思うと埋め込みではうまくいかんな。
この辺は機械と同じでコンポーネントにしとかないと後でわけわからん便利ボタン作られたときに面倒くさいと構えてしまったわ。
ラダーのほうがわかりやすいのかけるかも。
しかしideoneすげえな。
0861デフォルトの名無しさん
2017/04/14(金) 08:31:43.83ID:ZMmBa+NA「現実世界で時間がたったら他のスレッドから状態を変える」みたいな厄介な副作用は基本的に排除されてる
0863デフォルトの名無しさん
2017/04/14(金) 08:45:54.48ID:m+oOrEXVまさか最下位争いにしか興味ない意識低い系はいないよな
0864デフォルトの名無しさん
2017/04/14(金) 09:07:32.06ID:aK3T4zVf0865852
2017/04/14(金) 09:24:09.10ID:LCA3GTmx設計や実装、必要とあらば仕様も自由に変えてもらってかまいません
あえて注文を付けるとすれば、次の2点くらいでしょうか
1. 最後はコードに落とせて実際に動作し検証できること(提案や指針のみで終わらない「論よりコード」)
2. まず基本機能のドアを作り、それには手を付けずに機能(ストッパー、クローザー、両方同時)等を増やしたドアを新たに作ること
継承、ミックスイン、トレイト等々にこだわらなくても、極端なはなしコピペでもその言語で書きやすい方法で十分です
むしろ言語の持っている思想(そもそもこういうコードは組ませない、書きにくくしている等も含め)が理解しやすくなって
いいと思います
以下参考まで
▼ドアの基本的な振る舞い
ドアのノブを回す→(固定解除)→ドアを押す→ドアが開く→ドアを引く→ドアが閉まる→(自動固定)
ドアが(閉まった状態でドア枠に)固定されている状態では押しても開かない(無視される)
ドアとノブには作用(ドアには「押す」「引く」、ノブには「回す」「戻す」)できるが固定状態は直接変えられない
▼ドアストッパー追加時のドアの振る舞い
ドアが開いた状態でストッパー設置→ドアを引いても閉まらない(無視される)
ドアストッパー解除→ドアを引くと閉まる
ドアストッパー設置状態でドアを押すとストッパー自動解除
▼ドアクローザー追加時のドアの振る舞い
ドアを開くとあらかじめ決められた時間をおいて自動的にドアが閉まる(ドアを引く動作は無人で行なわれる)
ドアが閉まるまでの時間は自由に変えられる(可能であれば設定後直ちに反映される)
0866あ
2017/04/14(金) 10:26:30.48ID:6kAIEFCuhttp://ideone.com/yvttId
0867あ
2017/04/14(金) 10:38:08.94ID:6kAIEFCuドアの基本的振る舞いと、ドアノブの基本的振る舞いは分けた方がいいと思う。
ドアノブじゃなくてパスコード付きテンキーになったら、とか考えた時。
ドアは押すか押されるかを受ける、かつ、自分の状態と施錠状態を持ってるくらいに留めといたほうが疎になるのでは?
一晩経って考えたら、オペレーションのメッセージも、ユーザ入出力と内部的なメッセージに分けたほうが良いだろうし、
ラッチのlock/unlockとドアのlock/unlockはさらに分けるべきだったかも。
0868デフォルトの名無しさん
2017/04/14(金) 12:15:40.26ID:4/2P9omqドアという型は存在しなくてはいけないの?
Clojureなんかではそもそもクラスなんか定義せずに辞書をそのまま使うことも多いんだけど
Pythonのattrdict使う場合もそうだし
0869デフォルトの名無しさん
2017/04/14(金) 13:11:26.58ID:X1XDmSGJスレチ巣に帰れ
オブジェクト指向って自然な文法だな 3 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1491118238/
0870852
2017/04/14(金) 13:24:30.90ID:LCA3GTmxお願いするだけでは悪いので、スレ違いですが流行りのPythonで書いてみました
http://ideone.com/oZAMmR
0871デフォルトの名無しさん
2017/04/14(金) 14:03:01.11ID:LCA3GTmxなくてもぜんぜんかまいませんよ
Clojureならではの面白い実装みせてください
>>866
ありがとうございます
これ、ドアが複数必要なときはどうやって区別するんでしょうか?
0872デフォルトの名無しさん
2017/04/14(金) 14:23:39.48ID:8GTns2P01行もコードを書かない件w
あいつらどこに消えたんだ?
0873デフォルトの名無しさん
2017/04/14(金) 14:40:49.98ID:IIx0BRDV0874あ
2017/04/14(金) 15:01:54.14ID:6kAIEFCudoorChと、ドアのgoroutineを必要な数作ったら良いんじゃない?
同じ形同じステートの持ち方のドアなら同じgoroutineでも良いし。
あるドアを開けるとあるドアが閉まったりとか融通きくと思う。
0875デフォルトの名無しさん
2017/04/14(金) 15:04:23.07ID:zsj348jq0876デフォルトの名無しさん
2017/04/14(金) 15:22:47.51ID:9xGHgIEd0877デフォルトの名無しさん
2017/04/14(金) 15:51:29.80ID:cJUd9HAwネタなのかマジなのか
話の流れからプログラミング言語名なのは明白なのに
0878デフォルトの名無しさん
2017/04/14(金) 16:05:55.33ID:zsj348jq0879デフォルトの名無しさん
2017/04/14(金) 16:34:57.83ID:Q0q/qEOuなるほど
Go言語おもしろそうなので、ドアの基本だけ書いてみました
http://ideone.com/CpihM4
0880デフォルトの名無しさん
2017/04/14(金) 17:24:24.01ID:fx+SykEL0881デフォルトの名無しさん
2017/04/14(金) 17:36:15.21ID:vAXzWuh80882あ
2017/04/14(金) 18:27:43.16ID:6kAIEFCuこれだと、ドアには開き戸で絶対にノブがある前提にならんかな。
クラス的な構造にするなら、Doorは空いてるか閉まってるかを提示するインターフェイスにして、
Push,Pullを持ってるものをPushableみたいなインターフェイスにして、
両方持ってるのを押戸にして、そいつがノブを持ってる構造のほうが、他の種類の扉とかストッパーとか勝手に閉まる機構とか組みやすそう。
>>880
全然前提無視してるから、トレイトとか使って衝突検知してるの見たい。
0883デフォルトの名無しさん
2017/04/14(金) 19:24:53.38ID:sIRL/SUt信者がアレ過ぎて荒れる要因にしかならない
0884デフォルトの名無しさん
2017/04/14(金) 20:10:14.65ID:m+oOrEXVしかし金のやりとりがない世界では借金取りもまたHaskellと同レベルの無能になる
0885デフォルトの名無しさん
2017/04/14(金) 20:28:25.66ID:nQi7PEy40886デフォルトの名無しさん
2017/04/14(金) 21:12:44.64ID:xdpSikYS0887あ
2017/04/14(金) 23:22:39.11ID:6kAIEFCu狭量な世界観の絵空事並べてる人間に見せつけてやろう、この素晴らしさを!みたいなの、無いの?
つまんねえの
0888デフォルトの名無しさん
2017/04/14(金) 23:49:57.09ID:9xGHgIEd0889あ
2017/04/14(金) 23:53:38.90ID:6kAIEFCu0890デフォルトの名無しさん
2017/04/14(金) 23:59:31.48ID:9xGHgIEdどうやって?
0891デフォルトの名無しさん
2017/04/15(土) 00:10:26.03ID:c8h4FgGBストッパーあり< ノブあり< ドア > > d;
0893デフォルトの名無しさん
2017/04/15(土) 00:22:06.56ID:gAIu4OQN俺の書き込みとの違いがわからん。っていうかぶっちゃけ同じだろ
0894デフォルトの名無しさん
2017/04/15(土) 00:29:26.36ID:K9HxC9IJ0895デフォルトの名無しさん
2017/04/15(土) 00:30:48.22ID:v99qvGb20896デフォルトの名無しさん
2017/04/15(土) 01:13:00.05ID:tU5rqsZm0897デフォルトの名無しさん
2017/04/15(土) 06:12:26.50ID:+wMKWHYiSTMモナドは使えませんか?
0898デフォルトの名無しさん
2017/04/15(土) 06:18:42.18ID:+wMKWHYi設計は自由にかえてもらって構いませんよ
関数型にこれをこのまま組めというのは酷だと思うので
0900あ
2017/04/15(土) 08:08:21.63ID:4VXj2s/uガイジと呼ばれるやつでもでも動くものを書いたんだが。
一向に動くものが出てこないのは。一体どういう了見なの?
ガイジができる事出来ないなんて、そりゃあれじゃねえの…?
0901あ
2017/04/15(土) 08:21:09.73ID:4VXj2s/uラッチはドアが受けたベクトルをゼロに出来る
ドアストッパーってドアの開度に応じてドアに引くベクトル与えてるんじゃん?
ドアストッパーは存在したらドアの負のベクトルをゼロにできて、正のベクトルかかったら消える事になるのかな?
ドア開度を0/1ではなくて、細かくして、開閉をスレッショルドで切ったらモデル化できないの?
上の方でHaskellerならモデルから落とし込めると聞いたけど。
0902デフォルトの名無しさん
2017/04/15(土) 09:42:27.95ID:c8h4FgGB>ドアストッパーは存在したらドアの負のベクトルをゼロにできて
これ同じ機能だな
ただどの関数を無効化したいのかが違うだけ
0903あ
2017/04/15(土) 10:48:21.98ID:4VXj2s/u似てる機能と言うか、方向を無視すれば同じものだと思うよ。
ドアストッパーもラッチも、要は引っかかってるんだから。
ただ、概念や動作が同じでも意味が違うなら、別のものとして用意したほうが良いと思う。
関数を無効化する、って考えたらモデル化しづらいかと。
ドアの開き方向速度を、開き方向加速度*dt*latch係数*ストッパー係数
から出して、
開き方向加速度を、操作の押す引く入力の力*(減衰時間-操作タイミングからのdt)^-1+(オートクローザー動作力*減衰時間-動作タイミングからのdt)^-1
から出せばなんかフワッとするんじゃないの?
latch係数とストッパー係数は、加速度方向と施錠情況を入力にするしかないかな。
式で書くとフリップフロップになってしまうだろうし。
だからラダーのほうが楽そうって発想に至ったんよ。
0904あ
2017/04/15(土) 10:49:14.70ID:4VXj2s/u面目ない。脳内補完して下さい
0905あ
2017/04/15(土) 10:52:02.30ID:4VXj2s/u0906デフォルトの名無しさん
2017/04/15(土) 10:55:13.26ID:c8h4FgGB犬、猫、ドア、ノブの世界との溝を埋めるにはコストが高い
0907あ
2017/04/15(土) 11:02:07.83ID:4VXj2s/uそのまま使えば効率がよく見えるなら、モデルからは乖離しとるし、
世界との溝を埋めるとなると面倒くさい。
その間のゴミみたいな解決策がガードと言うことか。
0908デフォルトの名無しさん
2017/04/15(土) 12:05:56.20ID:uc8MfgIW0909デフォルトの名無しさん
2017/04/15(土) 14:46:20.78ID:zRemg0Dc0910あ
2017/04/15(土) 17:31:31.97ID:4VXj2s/uこれ足らんな。引きずり抵抗考えないとな。
しかし、なんでHaskellの人はここまで言ってもコードが出てこないんだろう。
まさかほんとに真空中に球状の乳牛を浮かべてたんだろうか。
俺も健全で良いと思うよ。なんやかんや色んなコードの例がそれが良いと思ってる人の書き方で出てきたりってのは、勉強になるし面白いから。
0911デフォルトの名無しさん
2017/04/15(土) 18:31:19.72ID:c8h4FgGB複数の言語を使う人がいる現実に対応できない
0912デフォルトの名無しさん
2017/04/15(土) 18:37:14.94ID:IBPqtIvGオブジェクトという概念が存在しない退屈なRustの例↓
http://ideone.com/5Znz0T
継承もダックタイピングも無いからグルー的なコードが多数になるし、マルチスレッドにも安全性を要求されるから面倒だが、
最初のドアを複雑にしなくてもいい。上から順に読んでいけば何やってんのか分かるはず
0914あ
2017/04/15(土) 19:39:42.39ID:4VXj2s/uなるほど。
あとから、これがTDoorやで、DoorはTDoorやってんでって言い出せるのは便利そう。明示的だし。
Goもインターフェイスを定義するといつのまにかインターフェイスを実装していた事になるという、
やってみないと何を言ってるのかわからんしどれくらい便利なのかわからん機能があるからこそ成り立ってる部分あるし。
0915あ
2017/04/15(土) 19:54:32.52ID:4VXj2s/uそこを無理に誤魔化して見えなくさせるから、どんどん暗黙的に行われる処理が増えて、今度はそれが足かせになってくし、
それを肯定するために自分で「バカには使えない言語だ」と鼻を高くする原因だと思うんだけど。
スーパーカリフラジリスティックエクスピアリドーシャスって言わなきゃいけないなら、それくらい覚えりゃいいのにっていつも思う。
いつまでもまじないとして丸暗記で覚えてていいわけではないけど、いつまでもその存在を知らないのはもっと無能かと。
printfとva_argsなんて、かなりの割合の「学校でC勉強しました、あれはカス言語、高級アセンブラ、○○こそ最高の言語」みたいな人は理屈わかってない。
0916デフォルトの名無しさん
2017/04/15(土) 20:03:53.72ID:tU5rqsZm0917デフォルトの名無しさん
2017/04/15(土) 20:24:03.74ID:OiE5LGRy似たようなの作ろうとして挫折した
0918あ
2017/04/15(土) 21:02:17.80ID:4VXj2s/u0919デフォルトの名無しさん
2017/04/15(土) 21:12:20.49ID:eW6dmEk00920デフォルトの名無しさん
2017/04/15(土) 21:59:02.02ID:c1S+YiIUあまりの簡潔さに、失禁するよ?
0921デフォルトの名無しさん
2017/04/15(土) 22:00:58.09ID:gAIu4OQN0923デフォルトの名無しさん
2017/04/15(土) 22:07:26.33ID:fQUc2TK/ドッカン
m ドッカン
=====) )) ☆
∧_∧ | | /
( )| |_____ ∧_∧ < おらっ!出てこいHaskeller
「 ⌒ ̄ | | || (´Д` ) 早くラッチ動作させろよ!
| /  ̄ | |/ 「 \
| | | | || || /\\
| | | | | へ//| | | |
| | | ロ|ロ |/,へ \| | | |
| ∧ | | | |/ \ / ( )
| | | |〈 | | | |
/ / / / | / | 〈| | |
/ / / / | | || | |
/ / / / =-----=-------- | |
0924デフォルトの名無しさん
2017/04/15(土) 22:09:35.08ID:gAIu4OQN0925あ
2017/04/15(土) 22:19:34.40ID:4VXj2s/u上がらないなら、夢の世界の住人だったんでしょ。彼ないし彼ら全員が。
そうならば、Haskellという架空の概念を語られ、そしてそれを使える自分と架空のHaskellは素晴らしいと騙られてたようなもんだ。
そしてさらにそれが使えなくて、ガイジと呼んでるやつにここまで言われたら俺なら死ぬ。
0926デフォルトの名無しさん
2017/04/15(土) 23:08:41.07ID:v99qvGb20927デフォルトの名無しさん
2017/04/15(土) 23:15:02.37ID:VMfrbDxxという真実が明るみになった記念すべきスレだな
0928デフォルトの名無しさん
2017/04/16(日) 00:23:54.21ID:FszjxitP0929デフォルトの名無しさん
2017/04/16(日) 00:46:30.57ID:t9Gum19O自分以外を同一視しすぎやね
0930デフォルトの名無しさん
2017/04/16(日) 02:32:45.42ID:irWKjJqL0931デフォルトの名無しさん
2017/04/16(日) 05:43:18.79ID:DIvJni4QQiitaでマウンティングしすぎたか?
0932デフォルトの名無しさん
2017/04/16(日) 07:00:35.74ID:YExgc8l/素人のクソコードでよければ、Haskellで書いてみてもいいよ
0933デフォルトの名無しさん
2017/04/16(日) 07:40:13.44ID:blUHUFpU毎日のように書き込んでただろw
絶対数とか言い訳してんじゃねぇよw
0934デフォルトの名無しさん
2017/04/16(日) 07:47:52.20ID:YbeWi1psもっと自由になった方が色々と便利だし
0935852,870,879
2017/04/16(日) 08:49:33.29ID:z1TgtbB7http://ideone.com/TW4PzD
Goはリリース直後にHelloWorld書いて以来なので拙いところはご容赦を
よりよくするアイデアは歓迎ですが、できればforkするか新たに起こして
そのアイデアが本当に機能するか試し済みのコードで示してもらえると助かります「論よりコード」
0937デフォルトの名無しさん
2017/04/16(日) 09:14:16.24ID:z1TgtbB7是非お願いします
出てこなければ自分で書いてみようかとも思うのですがどうにも関数型は苦手で…
0938デフォルトの名無しさん
2017/04/16(日) 09:26:12.72ID:9RVEDHcMなんで書く必要があるんだ?
0939デフォルトの名無しさん
2017/04/16(日) 10:45:58.91ID:1ZXMaGQC0940デフォルトの名無しさん
2017/04/16(日) 10:49:16.71ID:Jwa8aGsrつかえねぇw
0941デフォルトの名無しさん
2017/04/16(日) 10:54:10.16ID:YExgc8l/今実装だけを目的に書いてますが、Haskellだと難しいですね
手続き型みたく書くしか無いかもしれません
0942デフォルトの名無しさん
2017/04/16(日) 11:35:37.08ID:fx+LZUGEHaskellのメリット(笑)
0943デフォルトの名無しさん
2017/04/16(日) 11:41:05.02ID:YbeWi1psHaskellで書かせようとするのは全く非合理的
0944デフォルトの名無しさん
2017/04/16(日) 12:14:58.10ID:+L6lxwemハスケルは数学的に高尚だから。
こんな泥臭いコードを書くようにはできていないんだよ。
0945あ
2017/04/16(日) 12:24:49.33ID:natpoZ0y俺数学モデルに近づけるべく数式挙げたんだけど。
高尚で数学的なHaskellを使いこなすHaskellerさんか見てもらえば、もっと不備見つかるだろうし、改善もモデル化も動くコードも見えせてもらえると思ってんだけど。
でもなんで引きずり抵抗が必要だと指摘がつかなかったんだろうね。
普段Haskellerさんは瞬間湯沸かし器みたいにガイジ判定してくれんのに。
虚学者ですらなく、夢想家だったのかな?
0946デフォルトの名無しさん
2017/04/16(日) 12:32:13.91ID:DIvJni4Q関数型プログラミング言語Haskell Part30 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1484491434/
0947あ
2017/04/16(日) 13:05:20.75ID:natpoZ0y潰しにいかんでもいいでしょ。
好き嫌い適不適の問題以前にここにいた奴が全員総てボンクラだっただけかもしれんしな。
言語自体を貶してるつもりもそこまでない。
0948デフォルトの名無しさん
2017/04/16(日) 13:05:40.66ID:YbeWi1psお前らは証拠を入手するために莫大なコストをかける傾向がある
0949あ
2017/04/16(日) 15:03:14.39ID:natpoZ0y積極的な否定を行うフェーズはphpでさえ終わってるんだから。あとは消極的否定ないし、積極的肯定で間に合うでしよ。
0950デフォルトの名無しさん
2017/04/16(日) 17:09:28.85ID:YExgc8l/Haskellでほぼ手続き型で書きました
http://ideone.com/GJV1KA
結局>>935と同じような長さになりました
疲れた〜
0951デフォルトの名無しさん
2017/04/16(日) 18:26:14.52ID:z1TgtbB7早速にありがとうございます
これは大変だったでしょう
思ったより手続き的な処理も書けるのですね
>>912
遅くなりましたがRustもありがとうございます
Rustのトレイトは実装の多重継承向けではなくインターフェイス的に使われるのですね
0952あ
2017/04/16(日) 19:17:19.51ID:natpoZ0yおお!ありがとうございます。
俺が言うことじゃないけどな。ホントは言わなきゃならん奴が居るとは思う。
しかし、確かにひたすら手続き。
「らしい」のメリットを享受するには実用者じゃないと難しいんだろうなぁ。
0953デフォルトの名無しさん
2017/04/16(日) 19:19:49.59ID:3PeEvH/ARock54: Caution(BBR-MD5:398130fb352551638c7f2379a2b1e0e9)
0954デフォルトの名無しさん
2017/04/16(日) 20:36:37.02ID:3nxh5+XY実行速度を無視すると
Pythonが次世代の覇権を握りそうなのは分かった
0955デフォルトの名無しさん
2017/04/16(日) 20:47:32.02ID:9SOGpb5C拡張機能も含めてnewtypeでくるむといいんじゃないかな
取り急ぎ基本のドアだけで、例外とか考慮せずにMVarだけの実装だが
http://ideone.com/E7lfRB
0956デフォルトの名無しさん
2017/04/16(日) 21:04:50.30ID:t9Gum19O0957デフォルトの名無しさん
2017/04/16(日) 21:17:45.52ID:z1TgtbB7ideone.comはテキストも貼り付けられますのでそれでドアのコード見せてください
0958デフォルトの名無しさん
2017/04/16(日) 21:36:16.38ID:YExgc8l/いえいえ恐縮です
拙いコードで申し訳ない
>>952
ですね
Elmのようなイベントを畳み込むようにした方が綺麗になるとは思うんですが、
実装を思いつくことができませんでした
>>955
添削ありがとうございました
拡張はTraitのような仕組みのため(mixinの順序を逆にしても良いよう)
Doorを再帰的な定義にして対応したつもりでした
この場合はどのように実装するのですか?
0959デフォルトの名無しさん
2017/04/16(日) 21:42:07.63ID:YExgc8l/すみません追加で気になる部分があるのですが
putMVar/takeMVarを繰り返している理由は何かあるんでしょうか?
readMVarやmodifyMVar_では駄目なのですか?
0960デフォルトの名無しさん
2017/04/16(日) 21:51:04.55ID:dKq8/dn4まあ python の浸透を見てると実行速度なんかは
ライブラリ(cで書く)でなんとかすりゃいいって方向なのはあるわな。
0961デフォルトの名無しさん
2017/04/17(月) 02:54:10.68ID:Drc9GzpWは?なんで俺が「共有メモリ上での処理を他スレッドに丸投げして終了を待たずに次に行っちゃう」ような明らかなアンチパターン書かないといけないの?
http://ideone.com/SL99U3
しょうもないもん作らせやがって
それが人にもの頼む態度かよ
次からは「お忙しい所申し訳有りませんが書いて頂けませんでしょうか?」にしろよ
こんな糞問題は取り合わないのが正解だし、しつこく人に解かせようとするおまえは糞。
あと、こんな糞問題解いていい気になってるような傲慢な言動してる奴おるけど、正真正銘の馬鹿だな
0962デフォルトの名無しさん
2017/04/17(月) 07:01:28.86ID:q1BdEceZこれだとクローザーで閉まりつつあるドアを改めて押しても問答無用で閉まっちゃわない?
0963あ
2017/04/17(月) 07:58:31.12ID:kUqoB58e共有メモリがアンチパターンなのはわかるが、
スレッドはアンチパターンでもないぞ。
メッセージパッシングにしとけばむしろスレッドやらマイクロスレッドやらプロセスやら、どうバラすこともできるんだし。
俺の書いたGoのコードは、chさえネットワーク通せば別端末でそれぞれ自分の持ち場のchをさばけるようにしてある。
0964あ
2017/04/17(月) 08:01:57.69ID:kUqoB58e具体例出さずにいいやんで→具体例見せて→作らせやがって
の流れがわからんが。
絵に描いた餅を排斥しましょうねって話なのに、絵に書いた餅を勧めてたってわけ?
0965デフォルトの名無しさん
2017/04/17(月) 08:54:32.01ID:SHahGqCB仕様完全無視の実装の時点で首かしげざるを得ないのに
散々連投してこの傲慢っぷり
ただのメッセージパッシングなんてどの言語でもできるだろ
皆荒れるのわかりきってて面倒だからお前に突っ込まないだけだぞ
0966デフォルトの名無しさん
2017/04/17(月) 09:22:10.03ID:Drc9GzpW>>888、>>889、>>890、>>892、>>893、>>899みたいな糞みたいな流れが出来上がるからだろうな
今回もそうなりそうだし、反応しないほうがいいんだろうな
それを考えると、コードを書かせようという働きかけ自体は悪くないけど、今回は問題が糞すぎ。この問題は「実在の餅」ではなくて「実在の糞」
0967あ
2017/04/17(月) 09:30:36.71ID:kUqoB58eえ?じゃあ荒れるのをわかっててつっこんでる>>965は何なの?
しかも>>865で、その言語が持ってる思想、という風にokくれてんのに?
>>966
実在の糞だから存在「させない」という言語設計ならなるほどだけど。
糞だとは思わんし、それが存在できちゃった以上、ただの言い訳に聞こえるわ。
0968デフォルトの名無しさん
2017/04/17(月) 09:58:21.20ID:Drc9GzpW「メインスレッドでドアクローズとは無縁の処理をしている最中に、特に同期処理も挟まずメインスレッド上のドアの状態が変化する」ことを要求している時点でこの問題は本質的にアンチパターンだ。
でもJuliaは意外と実在の糞を存在させない言語ではないから、書こうと思えば書けないことはない。
推奨機能のremotecallやparallel forではこの問題は書けないけどな
あと言い訳に聞こえるとか書いてるけど、糞を糞と知りつつ書いてやったこの俺が何か言い訳する必要があるか?何を言い訳してると言うんだ?
0969デフォルトの名無しさん
2017/04/17(月) 10:09:06.47ID:uP03ohIW今回は問題解くの拒否するとどうなるかって所まできっちり見届けられてよかったね
0970デフォルトの名無しさん
2017/04/17(月) 10:34:01.88ID:+l3hCywuツンデレギャグにマジレスだめよ
0971あ
2017/04/17(月) 11:20:21.27ID:kUqoB58eメインスレッドでドアクローズとは無縁の処理をしているのが問題なんでしょ?
ドアクローズ、ドアオープンを別スレッドと言うか、ドア動作スレッドに任せるのが妥当だと自分で答えまで言ってると思うんだけど?違うの?
ドア動作スレッドが責任持ってドアの動作してりゃ、メインスレッドも何もないでしょ。
どっかで書いたように、書き方の問題じゃ?アンチパターンを作ってるのは実装者だよ、こりゃ。
書けないのが当たり前、言語仕様が良いからだ、実在の糞は起こり得ない、を逆説的に否定したから、言語仕様が良いのであれば、あれは実在の糞ではなくて、実在の餅であるはずなのにな、って所。
存在させない言語でないなら、別に特別な言語でもなけりゃ、設計の良さでバカを排斥する事はできない、ってのがわかったから、それはありがとうと思うよ。
なんか全否定したみたいに聞こえたらごめん。
0973デフォルトの名無しさん
2017/04/17(月) 11:37:46.54ID:XcBFR0Ye100行程度で気軽に書けて示せるお題を新しく考えるとなるとどんなのがいいですかね
個人的には拡張への柔軟性と曖昧さ回避の両立(静的チェックが通ったあとの安心感)、
スレッド処理の簡易さとその安全性の両立(できればそのパフォーマンスも)は盛り込みたいところですが
0974デフォルトの名無しさん
2017/04/17(月) 11:54:39.96ID:GVmJ+xSa要件は >>865 にあるわけだが、
そこのどこにも共有メモリ使うなんてことは載ってないぞ。
他人が出した設計パクらないで自分なりの設計すればいいじゃん。
0975デフォルトの名無しさん
2017/04/17(月) 12:10:13.54ID:Drc9GzpWスレッド処理じゃなくてマルチプロセスじゃいかんのか?
別プロセスに投げて、同期を取って結果を回収するほうが最近の流行りだと思うが
0976デフォルトの名無しさん
2017/04/17(月) 12:16:36.33ID:Drc9GzpWこれスレッドセーフなのか?
0977あ
2017/04/17(月) 12:38:21.55ID:kUqoB58e>>852で、スレッド周りの実装の容易さや柔軟性って言ってて、
俺その辺考えてGo書いたんだけど。
ルール逸脱って割には何も読んでないのな。
0978デフォルトの名無しさん
2017/04/17(月) 13:12:19.75ID:Drc9GzpWルール逸脱っていつ俺が書いた?他の人と同一視して批判するのやめてもらえる?
0979デフォルトの名無しさん
2017/04/17(月) 14:37:30.57ID:XcBFR0Ye> スレッド処理じゃなくてマルチプロセスじゃいかんのか?
ideone.comで動かせる方が気軽にコードを検証したり改変して試せてたりしてよいと思うので
もっともideone.comに無いJuliaには関係ない話かもしれませんが
0981あ
2017/04/17(月) 14:50:18.68ID:kUqoB58e両方に失礼なことしてすまんかった。
0982デフォルトの名無しさん
2017/04/17(月) 15:52:47.78ID:+4uMiUoPそもそも「ルール」だの「逸脱」だのに該当するレスが見当たらないんだけどどれ?
0983あ
2017/04/17(月) 17:09:08.42ID:kUqoB58e>>965の、「仕様完全無視の実装」を指してた。
これ自体俺の理解が足らんのかな。俺はミックスインもトレイトも使わんと実装したと読んだけど。
0984デフォルトの名無しさん
2017/04/17(月) 17:50:55.43ID:BUlkJtRHお前さ自分の書いたコードの仕様もわかってねーの?
基本機能からの拡張性見たいって言ってるから皆必要分という空気読んでるのに
最初からハンドラ側でストッパー拡張まで付けて他も外に書いただけで全部実装って
お題完全に無視した自己満足だろ
おまけに書捨て程度のどの言語でも実装できる程度のメッセージパッシングで代表面でしゃしゃり出てんだから救えない
0985デフォルトの名無しさん
2017/04/17(月) 18:29:02.83ID:S/GDs5zT0986デフォルトの名無しさん
2017/04/17(月) 18:39:40.63ID:S/GDs5zT0987あ
2017/04/17(月) 18:40:51.93ID:kUqoB58eうん、
>>858
で難しいとは言ってるし、Goらしいコード、は参考になればと言われて貼ったんだけど?
是非、代表ヅラでししゃりでてくれ。
お前がやってるような、何も出さずに野次る事をやってやるから。
0988あ
2017/04/17(月) 18:45:14.34ID:kUqoB58e何も出さない指摘されない奴に比べたら。
精神性からして朝三暮四の馬鹿じゃないのかな?って思う。
0989デフォルトの名無しさん
2017/04/18(火) 00:23:40.61ID:n/IUHgwq> 少なくとも、指摘されてるだけ救われてんだけどな。
どの指摘の事?
救われるかどうかは指摘の内容にもよるし、無視されるってのと同列に扱うべきじゃないだろ。
0990あ
2017/04/18(火) 07:09:01.74ID:Hw+wC29r無視されるじゃなくて、無視もされない奴な。
何もコード上げずにただ黙って、そしてちゃちゃだけ入れる、
あまりに何もないから批判が人感批判になってしまうたぐいの人。
0991デフォルトの名無しさん
2017/04/18(火) 07:20:44.03ID:16rBXoJR>>935はGoの埋め込みで書いた場合だと思うけど、これのどこらへんが>>866より読みにくい?
0992あ
2017/04/18(火) 07:55:26.85ID:NtfK7SOb835はうめこんで無いよ。
埋め込みは、ある構造体をそっくりそのまま自分にも実装する書き方で、
型名のみ書くあれ。
type Door struct {
/*なんか他の変数*/
Foo float32
}
func (door Door) Pushed {/*なんやかんや*/}
type DoorX {
Door //これ
}
みたいな書き方。
DoorX.Fooが使えたり、Pushedできるんだけど、
DoorXの中で結局少々面倒くさい事になる。
0993あ
2017/04/18(火) 08:13:06.82ID:NtfK7SObDoorXの後ろにstruct要るな
0994デフォルトの名無しさん
2017/04/18(火) 08:58:28.37ID:sMwumFKs> 835はうめこんで無いよ。
安価狂ってるけど>>935のこと?だとしたらDoorWithCloser の *Door型
DoorWithCloserStopper の *DoorWithCloser型と *DoorWithStopper型は埋め込みだろ
0995あ
2017/04/18(火) 10:41:04.88ID:NtfK7SObおお、ごめん、なるほど。
埋め込んでるね、見落としてた。両者ともにごめん。
ところで、次スレはどうするの?
半コテが立てても嬉しくないと思うし、俺しばらくまとまった時間無さげなので可能なら誰かにお願いしたい
0996デフォルトの名無しさん
2017/04/18(火) 12:17:39.20ID:OiYR9ME00997デフォルトの名無しさん
2017/04/20(木) 04:43:42.21ID:mNwXvrXvhttp://echo.2ch.net/test/read.cgi/tech/1492631007/
0998あ
2017/04/20(木) 07:31:54.11ID:AyFGgpwk0999デフォルトの名無しさん
2017/04/20(木) 08:36:18.67ID:Z1C/pUIW1000デフォルトの名無しさん
2017/04/20(木) 08:43:43.74ID:jJkbXdni10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
life time: 46日 17時間 18分 3秒
10021002
Over 1000Thread運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.2ch.net/
▼ 浪人ログインはこちら ▼
https://login.2ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。