- 1 名前:デフォルトの名無しさん mailto:sage [2017/02/11(土) 21:32:37.61 ID:0GjTSBdX.net]
- いざ、語ろうぞ。
前スレ 次世代言語議論スレ【Go Rust Haskell Scala Erlang Elixir】 [無断転載禁止]©2ch.net echo.2ch.net/test/read.cgi/tech/1479434349/
- 64 名前:デフォルトの名無しさん mailto:sage [2017/02/12(日) 19:06:39.11 ID:ElZAn973.net]
- 手続き脳は悪口じゃなくて自身の経験からですが。。。
私はJavaも触った上でHaskellから得られるものは多いと言ってますが、あなたは? (C#がメインですが)
- 65 名前:デフォルトの名無しさん mailto:sage [2017/02/12(日) 19:12:03.87 ID:VGD3y4dr.net]
- >>64
>>20 >>23 って言ってるから何言ったってしゃーないんじゃね? 坊主憎けりゃ袈裟までって奴だと思う。 実際Haskell原理主義者がうざいっていうのは超同意するところではあるんだけど、 本人がその原理主義者と同じ行動してりゃ世話ないわ。
- 66 名前:26 mailto:sage [2017/02/12(日) 19:18:08.80 ID:UIkULlkI.net]
- >>56 fizzbuzz(M,A) :- fizzbuzz([_],M,[M,M,fizz,M,buzz,fizz,M,M,fizz,buzz,M,fizz,M,M,fizzbuzz],[],A).
この本体( :- の右側)のfizzbuzzの第三引数のリストのMがPrologプログラマにとっては 盲点なんです。本来は [1,2,fizz,4,buzz,fizz,7,8,fizz,buzz,11,fizz,13,14,fizzbuzz] であるところを全部Mを置いたらfailしてしまうと考えてしまうのです。 ところが、実際に利用するのは先頭の要素だけ。一時的に [1,1,fizz,1,buzz,fizz,1,1,fizz,buzz,1,fizz,1,1,fizzbuzz]となったとしても 次はバックトラックしてこの束縛は解消してしまいますから。POPして出てくるのは どれもMで、すなわち第二引数と同じであるサインが出続けるというわけです。
- 67 名前:26 mailto:sage [2017/02/12(日) 19:26:06.73 ID:UIkULlkI.net]
- それではfizzやbuzzの時はどうなのか。これはMではありませんから、
第二引数と無関係です。それでこのリストからPOPされたものが最後の 引数、すなわち、Xとなります。解です。 Mの場合はカウンターリストLnの長さがlength述語でMとなり、それがXと なりますから、1,2,4,7,8,11・・などが解として埋まっていくのです。
- 68 名前:デフォルトの名無しさん mailto:sage [2017/02/12(日) 19:37:29.11 ID:32IkYRZ8.net]
- いやいや初心者でまだ仕事に使う言語覚えるだけで精一杯のやつに
Haskellなんか無理やり押し付けて、 それで拒否られてるのに性懲りもなくまだ布教しようとしてる奴はヤバイでしょ。 マジで宗教じゃん。
- 69 名前:デフォルトの名無しさん mailto:sage [2017/02/12(日) 19:43:22.57 ID:SukjnWiy.net]
- 一番最初に授業でやったのがLispだったけど特に抵抗は無かったなぁ
でも関数型は手続き型に較べて抽象度が高い傾向にあるし頭弱い人には厳しいと思う
- 70 名前:デフォルトの名無しさん [2017/02/12(日) 19:46:25.84 ID:32IkYRZ8.net]
- まーウザがられるのは承知でやってるからね。
普段Haskell原理主義がやってる事と同じ事を そのままこのスレでやってみただけだし。
- 71 名前:デフォルトの名無しさん mailto:sage [2017/02/12(日) 19:47:01.73 ID:52ZDIEYO.net]
- 仕事で使う言語とは別に、コードのまとめ方の勉強としてHaskell触らせるのがそんなにおかしいかね?
仕事で使わないものの勉強を押し付けられてたまるかっていうのは分からんでもないが、地力育てるって意味はあるしな。
- 72 名前:デフォルトの名無しさん [2017/02/12(日) 19:49:46.33 ID:32IkYRZ8.net]
- >>71
自分が新人の頃の事忘れてるんじゃねーの?お前 仕事を覚えなきゃいけない、職場にも馴染まなきゃいけない。 そんな大変な時期に新しくもう一つ言語なんて学ぶ余裕ある訳ないだろ。 押し付けって言うんだよそういうのは。 本人の為に全くなってない。
- 73 名前:デフォルトの名無しさん mailto:sage [2017/02/12(日) 19:51:19.51 ID:ElZAn973.net]
- ?
教育期間とか無かったですか? Haskell教えるっと言っても、触り程度で良いですし。 それなら、半日も掛かりませんよ。 それでも十二分に大きなものを得られます。 (教えたいのはHaskellではなく、構造を見抜く力。Haskellはその手段) 次の日からはどうぞ仕事用の言語を覚えて下さい。
- 74 名前:デフォルトの名無しさん mailto:sage [2017/02/12(日) 19:53:17.09 ID:52ZDIEYO.net]
- >>70
狂人の真似とて大路を走らば、即ち狂人なり。 って言葉知ってる?
- 75 名前:デフォルトの名無しさん [2017/02/12(日) 19:55:10.92 ID:32IkYRZ8.net]
- >>73
そういうのが有難迷惑って分からないかな? 自分がハマってるからって、仕事と関係ない言語を先輩後輩の力関係使って無理やり触らせるとか迷惑すぎるから。 そんな暇があるなら仕事のことを先に覚えたいに決まってるよね?新人君の気持ちとしては。
- 76 名前:デフォルトの名無しさん mailto:sage [2017/02/12(日) 19:59:58.88 ID:ElZAn973.net]
- Haskellは手段書いてるやん。
言語覚えるより考え方覚える方が重要なのはプログラマなら分かるよね? 文法覚えたけど入門書以上の事何も書けないって奴を何人も見て来たよ。
- 77 名前:デフォルトの名無しさん mailto:sage [2017/02/12(日) 20:06:49.91 ID:52ZDIEYO.net]
- >>72
Haskellじゃねーけど新人のころに直属のOJTに 仕事と全く関係無いLinuxの低レベル処理まわりの勉強させられたが その時には役に立たなくても数年後に効いたのよね。 全然考え方の違う言語さわって見聞広める分にはいいんじゃねえの。 まあ強制する謂れはないかもしれんが。
- 78 名前:デフォルトの名無しさん [2017/02/12(日) 20:08:53.00 ID:32IkYRZ8.net]
- だったら仕事を通じて必要なことを教えてやればいいだけ
訳の分からない言語の本読ませるより、そっちのほうがよっぽど新人も言う事聞くわ。
- 79 名前:デフォルトの名無しさん [2017/02/12(日) 20:09:42.74 ID:32IkYRZ8.net]
- >>76へのレスな。
- 80 名前:デフォルトの名無しさん [2017/02/12(日) 20:13:57.00 ID:32IkYRZ8.net]
- 大体自分が新人の頃考えてみろって話だよ。
死ぬほど覚える事一杯あるのに、仕事と関係ない言語の本なんて読んだってアタマに入る訳ないだろうが。 お前らだってHaskellだの勉強始めた時は ある程度仕事も覚えて余裕ができた頃だろうが。 自分と新人を同じ土俵で考えるなよ。
- 81 名前:デフォルトの名無しさん mailto:sage [2017/02/12(日) 20:23:57.35 ID:VGD3y4dr.net]
- >>80
院生時代に学会と論文書きで死にそうになりながらHaskell覚えてすまんな
- 82 名前:デフォルトの名無しさん mailto:sage [2017/02/12(日) 20:27:34.22 ID:VGD3y4dr.net]
- むしろ新人の頃は生まれて一度も使ったことがないC++と関連ライブラリの使い方覚えるのに必死だったな。
別に既存コードで使ってる部分ないのにわざわざテンプレートもやらされてからに。 それでも今役に立ってるからいいが。
- 83 名前:デフォルトの名無しさん mailto:sage [2017/02/12(日) 20:27:37.03 ID:GC8FZ4sL.net]
- Haskell叩き名目に周囲に憂さ晴らししてるだけだろ
嫌儲に帰れ
- 84 名前:デフォルトの名無しさん mailto:sage [2017/02/12(日) 20:32:01.96 ID:VGD3y4dr.net]
- いやHaskell原理主義者にヒャッハーされた憂はめっちゃ良くわかるんだよな。
だからこそそいつらと同じ事やって同じところに堕ちてりゃしゃーないわな感が強い。
- 85 名前:デフォルトの名無しさん mailto:sage [2017/02/12(日) 20:33:07.80 ID:zPfOuuFT.net]
- 関数型のおいしい部分は別にHaskellじゃなくても非純粋関数型で学べるし
そういう部分だけ勉強したいって人にはHaskellじゃなくてもっといい選択肢があるんじゃないかな Haskellだとモナドなんかの初心者には理解しにくい部分がどうしても気になる 今は書籍もサイトも充実してきて、順を追って学べば誰でも既存のモナドを使えるレベルになれるけど それってこの場合の本来の目的とは違うし 今Haskellやってる人は自分も含めて楽しいからやってるって人がほとんどでしょ
- 86 名前:デフォルトの名無しさん mailto:sage [2017/02/12(日) 20:36:00.02 ID:ol+GRPUy.net]
- マウンティングの為に悪意で薦めるか、相手のことを思い善意で薦めるか、そこじゃね?
- 87 名前:デフォルトの名無しさん mailto:sage [2017/02/12(日) 20:36:05.84 ID:VGD3y4dr.net]
- >>85
そういう観点から言うとOCamlかScala辺りが候補か?
- 88 名前:デフォルトの名無しさん mailto:sage [2017/02/12(日) 20:38:14.03 ID:bL+fjtQh.net]
- >>87
LispかOCamlでしょ ScalaはJavaやった後でなきゃ勧めちゃ駄目だと思う
- 89 名前:デフォルトの名無しさん mailto:sage [2017/02/12(日) 20:39:59.90 ID:VGD3y4dr.net]
- Lispか。Scheme辺りなら処理系も手に入りやすいな。
- 90 名前:デフォルトの名無しさん mailto:sage [2017/02/12(日) 20:46:37.83 ID:ol+GRPUy.net]
- それでSICP読めとかやると今度はLISP叩きが始まるのか。
- 91 名前:デフォルトの名無しさん mailto:sage [2017/02/12(日) 20:47:36.66 ID:ElZAn973.net]
- >>80
むしろ新人の頃のが暇じゃね? どんなコード書く(書ける)か分からん新人に、いきなり仕事は振らない。 独習C渡されて、数日はひたすら入門書読んで練習問題解くだけだった。(教育期間) 確かに最初の仕事はCだった。(と言うか、C++でベターC) だけど、Javaだって当時仕事と関係無いけど自分で覚えた。 VBに至っては一回きりの仕事な上に、教えて貰ってすら無い。 覚えながら書いた。 文法覚えるより、練習問題させたかったんだと思うけどな。 割とすぐにVBだったし。
- 92 名前:デフォルトの名無しさん mailto:sage [2017/02/12(日) 21:02:49.53 ID:b/z7m0Iw.net]
- LISPは括弧の羅列とか逆ポーランド記法とか、虫酸が走る要素満載だから
OCamlとF#で決まりだな
- 93 名前:デフォルトの名無しさん mailto:sage [2017/02/12(日) 21:26:51.34 ID:Lac5VkvP.net]
- 関数型といっても、テキスト処理なんかには全く無力だから。
これからは前途多難だな。
- 94 名前:デフォルトの名無しさん [2017/02/12(日) 21:32:22.04 ID:D9dWxmTY.net]
- 括弧の羅列で虫酸が走るやつはLispエアプだってはっきりわかんだね
Cの中括弧の羅列のほうがよっぽどウザい
- 95 名前:デフォルトの名無しさん mailto:sage [2017/02/12(日) 21:32:47.33 ID:9Y6cAsF4.net]
- SICP通ってないのにプログラマ面して次世代かたってんのか
だいたいGoのベースにあるCSPがいつの時代の概念かしってんのかよ 正直次世代の言語は次世代のハードがないかぎり生まれて来ない 現行のアーキテクチャでやりつくせることは概ねどんな言語でもやりつくせる あとはシンタックスシュガーのこのみでしかねえんだよ
- 96 名前:デフォルトの名無しさん mailto:sage [2017/02/12(日) 21:33:18.96 ID:ashgYgUc.net]
- ClojureとF#で
JavaScriptで関数型っていうのを詐欺って書いてる人いたけど 実際にWebサイトいじくるコード書きながら部分的だけど関数型の考え方を身に付けることができるから 手続き脳からの脱却する初手としては有効だと思う
- 97 名前:デフォルトの名無しさん mailto:sage [2017/02/12(日) 21:57:05.96 ID:ElZAn973.net]
- >>93
え、テキスト処理に関数型は向いてると思うが。。。 LLのが手軽ってだけで。 だからこそ堅牢性、並列性とテキスト処理必要なWeb鯖とか向いてるとも思う。
- 98 名前:デフォルトの名無しさん mailto:sage [2017/02/12(日) 21:59:08.12 ID:RJmiTmR1.net]
- 今この時代SICP読むのはもう趣味でしょ
CTMとかなら得るものあるだろうけど
- 99 名前:デフォルトの名無しさん mailto:sage [2017/02/12(日) 23:09:03.26 ID:wxhE3H1K.net]
- ocaml覚えた動機は、エロゲーからテキストをぶっこ抜くツールを
新作ゲームに対応させるため
- 100 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 00:49:48.93 ID:9ylADHSn.net]
- CTM欲しいけど日本語のはもう絶版なんだろうか
いずれにしてもSiCPの枠組みをでてない次世代ってなんなんだって話
- 101 名前:デフォルトの名無しさん [2017/02/13(月) 01:50:16.82 ID:bklcWYrm.net]
- >>91
> >>80 > むしろ新人の頃のが暇じゃね? > > どんなコード書く(書ける)か分からん新人に、いきなり仕事は振らない。 > 独習C渡されて、数日はひたすら入門書読んで練習問題解くだけだった。(教育期間) おま、それは典型的な駄目な部署の教育方法じゃねーかw そりゃ教える側はその方が楽だよ。本渡してわかんないことあったら聞けってのは。 でも、教育する、他人を指導する、という役割においては駄目駄目よ。 もっとちゃんと教えるところは新人で暇になんてならないから。
- 102 名前:デフォルトの名無しさん [2017/02/13(月) 01:52:14.35 ID:bklcWYrm.net]
- >>92
リスプは逆ポーランド記法じゃない
- 103 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 01:57:28.83 ID:3qGYyBZv.net]
- HP電卓か?RPL : reverse polish lisp
- 104 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 04:00:04.87 ID:gZ/8QOyo.net]
- >>97
本質的? に項変換だからね。関数型は。 論理型は推論と同一性。思想の解明というようなレベルの 知識プログラミングの領域では優劣は明らか。
- 105 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 04:24:42.25 ID:rgdFF/HE.net]
- >>104
ごめん、よく分からない。 具体例を挙げてもらえるとありがたい。
- 106 名前:デフォルトの名無しさん [2017/02/13(月) 05:33:46.88 ID:vGCo2kzU.net]
- あながちマウンティングしたいだけの奴が多いのは否定できないな
- 107 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 05:45:53.47 ID:gZ/8QOyo.net]
- >>105
思想を解明する知識プログラミングは殆ど手付かずだと思うので、極めて簡単な文例で。 「津軽海峡冬景色」からつぎの一節。論理型だと以下になります。二つのパターンを 見比べ、重ね合わせて理解します。こんな端的な表現が関数型にできるかということです。 私は帰ります --> 私は,帰ります. 私は --> 私,は. 私 --> [私]. は --> [は]. 帰ります --> 帰り,ます. 帰り --> [帰り]. ます --> [ます]. 文 --> 名詞句,動詞句. 名詞句 --> 名詞,後置詞. 名詞 --> [私]. 後置詞 --> [は]. 動詞句 --> 動詞,助動詞. 動詞 --> [帰り]. 助動詞 --> [ます].
- 108 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 06:41:13.16 ID:GOtEVvRl.net]
- それ、テキスト処理、違う
- 109 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 06:51:29.86 ID:dJZmi+77.net]
- >>101
ああ。 ブラックだったさ。 そんなしっかり教える環境なら、そもそも新人にも教える側にも選択の余地なんぞないだろ。 教え得るノウハウあるんだから。
- 110 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 06:57:26.15 ID:dJZmi+77.net]
- >>104
Prologと比べられればね。 論理の勉強はあんまりしてこなかったから、だいぶ初心者用の入門書しか理解出来なかったな。。。 Haskellは巷で流行ってるのよりは向いてると思う。 K1だかKL1だかって並列論理型言語があるらしいが、研究室専用なのか処理系には出会えてない。 触ってみたかった。
- 111 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 07:30:07.81 ID:gZ/8QOyo.net]
- 関数型は冗長な情報をより洗練されたものに書き換えるためのもの。
ところが、19-18世紀の大思想を読み解くというような対象は、 「ここに書かれていることは全て正しい」と仮定して掛かるような対象。 関数型のコンセプトとは全く合わない。論理型はテキストを述語化してから それ自体は動かさず、補間情報を探すもの。我々が過去の思想を理解しよう とする時の態度と一致する。
- 112 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 07:30:33.52 ID:PoWXNXBh.net]
- >>110
第5世代アーカイブにPCで動く処理系のソースがあったような
- 113 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 07:44:49.04 ID:dJZmi+77.net]
- 第5世代言語なのは知ってたけど、アーカイブなんてあったのね。
ありがとう。
- 114 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 07:57:27.96 ID:gZ/8QOyo.net]
- >>112 >>113
もう10年は前だとおもいますが、Webを整理して解消する際にCDが売り出され ました。最近、この再版を求める動きがありますが難しいようです。 Ubuntuを含むDebian系Linuxには32ビット時代はKL1のパッケージが載って いましたが、64ビットになってからはないようです。
- 115 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 08:06:53.18 ID:dJZmi+77.net]
- 10年前でも2007年。。。
90年代の遺産だと思っててごめんなさい。 そして、追加情報感謝です。
- 116 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 08:50:20.89 ID:fjEEeyAB.net]
- Σプロジェクトは出来たものが恥ずかしいゴミ過ぎて
この手の資料公開は無かったみたいだね。 https://ja.m.wikipedia.org/wiki/Σプロジェクト
- 117 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 08:54:34.63 ID:fjEEeyAB.net]
- これもオモロイ
シグマはどこへ消えた? www.yamdas.org/column/technique/sigma.html
- 118 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 09:42:44.82 ID:mcSza9v8.net]
- >>114
KL1は上田研究室が最後の砦ですね。 こういう時はInternet Archiveがありがたい。 並行論理プログラミング (KLIC version 3.01) www.ueda.info.waseda.ac.jp/software-j.html けいえるわん www.ueda.info.waseda.ac.jp/~takagi/kl1/ 並列論理型言語処理系 KLIC のページ web.archive.org/web/20100815015107/http://www.klic.org/software/klic/index.ja.html 第五世代コンピュータ プロジェクト アーカイブ web.archive.org/web/20150121033015/http://www.jipdec.or.jp/archives/icot/ARCHIVE/HomePage-J.html
- 119 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 10:33:26.43 ID:9gMxi0s2.net]
- >>107
これだけなら演算子作れば関数型でも簡単に出来そうな気が 利点が良くわからない
- 120 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 11:00:52.83 ID:gZ/8QOyo.net]
- >>119
それが論理型との違いでしょう。論理型は上の方の定義を書き終えたら できたできた。「私は帰ります」からはこれ以上の情報はない。この後で、 「どこに帰るのか」「いま私はどこにいるのか」「私とはどんな私だ」と いうような情報を引数に付加するかも知れないが、それは後の話です。
- 121 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 11:23:25.21 ID:nSPUHPPd.net]
- >>120
耳に入ってくる言葉の端々を述語として書き並べることが論理プログラミングと いうことですか?
- 122 名前:120 mailto:sage [2017/02/13(月) 12:16:38.41 ID:gZ/8QOyo.net]
- >>121
基本的にそうだと思っています。構造は述語だけで、後は構造を持たずシンボル をならべただけのものです。 ただ誤解がないように言うのですが、プログラミングの中心的な課題が思想を 解明することになるのは、それこそ自動車の無人自動運転が当然の時代となる くらい先だと思います。ですから現時点でこの次世代言語スレで関数型言語が 不適格であるとは全然思っていません。
- 123 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 12:20:56.87 ID:l1N3ICNN.net]
- クラスベースOO=C++もあるけど、もっとわかりやすく便利で理想的なやつ
関数型=Haskell以下同文 論理型=Prolog以下同文
- 124 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 13:19:41.96 ID:9gMxi0s2.net]
- >>122
プログラミングというよりも、論理?の列挙に見えるんですけど つまりそういう事を言ってるんですか?
- 125 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 13:23:43.98 ID:9gMxi0s2.net]
- 論理というか集合の要素?
演算はまた別になってしまうだろうし、よくわからない こういう記述だけで圏より素朴に演算を定義できるとも思えないし
- 126 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 15:24:22.49 ID:l1N3ICNN.net]
- 適当に具体例を列挙してボトムアップする能力も評価されるべき
トップダウンとマウンティングは似ている
- 127 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 15:41:49.88 ID:HSaRDCl9.net]
- オブジェクト指向なんてダッセーよなー、関数型のほうが面白いよなー
- 128 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 16:28:13.09 ID:AmcZDedG.net]
- 今までの歴史からして遠からずPythonすら置き換わる汎用言語も出るだろうけどどんなだろうな
まったく違うパラダイムだろうか
- 129 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 17:10:45.69 ID:X/RmwKxM.net]
- 関数だけを使う関数型言語っていうのは初めにあって、
次にそれをパワーアップさせてリストだけを使うリスト型言語が出来て 次にそれをパワーアップさせてオブジェクトだけを使うオブジェクト型言語 ができたんだからオブジェクト型が今のところ最先端だな。 次のパラダイムは何か新しい一つの物だけを使った言語だと思うな。
- 130 名前:デフォルトの名無しさん [2017/02/13(月) 18:31:51.83 ID:lgjAPN1q.net]
- >>129
マルチパラダイム言語ディスってんの?
- 131 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 19:18:42.74 ID:HSaRDCl9.net]
- >>129
某ゲームメーカーの昔のCMネタで書き込んだだけなのに、こうやって釣れるんだよな。 ネットのOOP解説関連のHPも、頭悪い人間や旧世代を見下してるの多いし、 同じことを歴史を繰り返して関数型にやられてるだけじゃん。
- 132 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 19:26:15.09 ID:l1N3ICNN.net]
- 関数の中に関数を書くっていう関数型が初めにあったとすると
クラスの中に関数を書くっていうのは別にパワーアップしてない 粉飾パワー系
- 133 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 19:27:22.92 ID:MQ2CnNxG.net]
- 因果は巡るのじゃw
- 134 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 19:41:12.63 ID:X/RmwKxM.net]
- >>132
オブジェクト型はオブジェクトの中にオブジェクトを書くんだよ。 メソッドはオブジェクトのインターフェイスでオブジェクトの一部として考えられる オブジェクトのコアの中にオブジェクトが入って外部から遮断されてる。
- 135 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 19:51:42.41 ID:zwnL86Oa.net]
- OOP言語のJavaで作られたものは数あれど、
関数型言語のHaskellで作られたものって何があるん?
- 136 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 20:02:53.28 ID:l1N3ICNN.net]
- 人間が作ったものは人間の手柄
それを巧妙なマウンティングで言語の手柄にされてしまう 更に言語の上にパラダイムが乗っかってパラダイムの手柄になる
- 137 名前:デフォルトの名無しさん [2017/02/13(月) 20:06:34.96 ID:SRrzQdIe.net]
- 129はなんか間違ってるだろ。
- 138 名前:デフォルトの名無しさん [2017/02/13(月) 20:12:19.53 ID:SRrzQdIe.net]
- 関数型とオブジェクト指向は共存できるだろし。
説明はできないが、別次元の概念だとおもうぞ。 進化するとか比較対象になるものではないだろ。 オブジェクト指向をベースにした純粋関数型言語って可能だろ?
- 139 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 20:17:27.40 ID:l1N3ICNN.net]
- オブジェクト指向を入れると型推論のアルゴリズムが複雑
ゆえに現実主義者はダックタイピングでオブジェクト指向するか純粋関数型で型推論する
- 140 名前:デフォルトの名無しさん [2017/02/13(月) 20:23:35.51 ID:SRrzQdIe.net]
- ぐぐった、抜粋。
関数型言語のウソとホント - Qiita ?「関数型言語もいずれオブジェクト指向などのスタイルを取り入れたマルチパラダイムな言語になる」 関数型言語は関数というたったひとつの武器だけをひたすら研ぎ澄まして問題に立ち向かおうとする言語であり、それ以外の武器はかえって邪魔になります。 OCamlなんかはCamlという言語にオブジェクト指向的な機能を付け加えたObjective Camlが改名されたものだそうですが、OCamlが積極的にオブジェクト指向で設計されているようには見えないです。 Haskellに至ってはオブジェクト指向を取り入れる動きはほとんど皆無ですし、そうする必要がないです。 O'Haskellといってオブジェクト指向の概念を取り入れたHaskellが提案されたこともあったようですが、現在O'Haskellが使われているという話は聞いたことがありません。 最近では関数型以外の言語が関数型のスタイルを取り入れる動きがしばしば見られる一方で、関数型のほうから例えばオブジェクト指向を取り入れる動きはあまり積極的ではないようです。 しかし近年ではやはりScalaがオブジェクト指向と関数型の融合を目指したものとして台等しています。 qiita.com/hiruberuto/items/26a813ab2b188ca39019
- 141 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 20:24:33.73 ID:9ZqcI6aJ.net]
- >>139
純粋関数型にとって型推論とはそんなに重要なものなのですか?
- 142 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 20:54:36.75 ID:3XLU4PQN.net]
- OCamlは型システムが柔軟で強力なら、大抵の場面でOOじゃない方が楽だってことを教えてくれる良い言語
わざわざオブジェクトにするのは、遅延結合が必要な所とヘテロジーニアスなオブジェクトを統一して扱う場合くらい 弊害として、過激なOO不要論者になる可能性がある
- 143 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 21:01:24.48 ID:l1N3ICNN.net]
- >>141
個人的には、重要かどうかではなく本当に実現するのか騙されてるだけなのかを知りたい
- 144 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 22:01:47.07 ID:tn7uWAuX.net]
- 当たり前なのかもしれないけど
データと処理が強く結びついてるドメインにおいてはオブジェクト指向の恩恵のほうが大きいんじゃね グラフィック系のツールで選択してるブラシによっていろんな動作が変わるやつとか データと処理が一箇所にまとまっててその結びつきが強制されてることにどの程度の価値を見出すか Strategyパターンみたいなもを例に考えるといい気がする
- 145 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 22:17:28.21 ID:JsOR7Nm6.net]
- 実践 Common Lisp とか読んでれば common lisp はだいぶ穏やかな言語だって
思うんだけどね。 あれもマクロマクロうるさい馬鹿のせいで偏見持たれてる気がする。
- 146 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 22:21:19.27 ID:ut1LFOtS.net]
- >>145
わかる そんなに尖った機能無いよな
- 147 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 22:22:45.43 ID:GOtEVvRl.net]
- >>140
おはスケル なんJ民かな
- 148 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 22:23:57.02 ID:GOtEVvRl.net]
- Lispはかっこつけすぎ
- 149 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 22:56:11.66 ID:HSaRDCl9.net]
- プログラミングは免許制にすればいいよ、
関数型プログラミングができるかどうかで。 馬鹿プログラマでも扱えるように色々と冗長にする -> 冗長だから手番が増えてさらにプログラマが必要となる -> 馬鹿プログラマが補給される このコンボが決まって悪循環が続いている、と。 別に関数型プログラミングが全能とは思わないが、現時点でのひとつのリトマス試験紙にはなるかと。
- 150 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 22:56:44.30 ID:g1s3e9Z7.net]
- ((L)(((i)s)p)))
- 151 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 22:58:39.38 ID:g1s3e9Z7.net]
- >>149
関数型の基礎になる数学知識があるかを問うたほうが良さげ
- 152 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 22:59:44.86 ID:ut1LFOtS.net]
- マクロが自然に馴染む構文というと、結局S式しかないという気はする
IDEでマクロの構文まで面倒見てくれる言語ってなんかある? あれば使ってみたい
- 153 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 23:44:14.31 ID:HSaRDCl9.net]
- >>151
そうかもね。抽象化の最たるものだね、数学は。 >>152 emacsのLispモードについてんじゃないの?(適当)
- 154 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 23:50:25.63 ID:ut1LFOtS.net]
- >>153
「S式(lisp)ならマクロに対する特別な支援は(殆んど)要らない」ってこと Juliaでマクロ書いてて思ったのよ、インデント崩れたりとか
- 155 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 23:57:47.13 ID:kQGSvZ2q.net]
- S式は括弧使って構文解析サボってるだけ。
逆ポーランドとかの怠け記法と同類。
- 156 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 23:58:31.38 ID:HSaRDCl9.net]
- >>154
なる。Julia知らんけどemacsなら(ry
- 157 名前:デフォルトの名無しさん mailto:sage [2017/02/13(月) 23:59:24.88 ID:HSaRDCl9.net]
- >>155
emacsなら(ry
- 158 名前:デフォルトの名無しさん mailto:sage [2017/02/14(火) 00:35:59.85 ID:gfvqdCIF.net]
- 数学知識より国語力高いやつのほうが欲しい
- 159 名前:デフォルトの名無しさん mailto:sage [2017/02/14(火) 00:40:40.70 ID:4G8SInJT.net]
- 数学知識。まずは自分の国語力を見直そうか。
- 160 名前:デフォルトの名無しさん mailto:sage [2017/02/14(火) 00:46:48.47 ID:gfvqdCIF.net]
- それはごもっともだが>>151の引用だから
- 161 名前:デフォルトの名無しさん mailto:sage [2017/02/14(火) 00:53:58.87 ID:4G8SInJT.net]
- これは失礼。国語力も大事ですね。
- 162 名前:デフォルトの名無しさん mailto:sage [2017/02/14(火) 02:34:10.88 ID:4XLa6m2a.net]
- オブジェクト思考はそもそもの設計思想からミスってるというのが持論だけど、割とハードにちかいとこでのでーたのやりとりのラップにつかえんのかなってかんじ
- 163 名前:デフォルトの名無しさん [2017/02/14(火) 07:08:37.44 ID:izwS/hYI.net]
- LispやってるとなんでCでは中括弧を閉じるとき重ねずに一つ一つ改行していくんだろうと感じる
- 164 名前:デフォルトの名無しさん mailto:sage [2017/02/14(火) 07:54:13.53 ID:deUQRuVA.net]
- >>163
LISPは行エディタ時代の言語。Cは画面エディタ時代の言語。 カーソルを縦に下ろしていって、ブロックを確認するのに、 改行しておいた方が都合よかったからではないか。
- 165 名前:デフォルトの名無しさん mailto:sage [2017/02/14(火) 08:15:42.74 ID:uoklH2m8.net]
- 実際に書いてみると、以下みたいなタイミングで改行を押すことになると思う
(define (fact n)[改行] (if (<= n 1)[改行]1[改行](* n (fact (sub1 n))))) そうなると自然に閉括弧の中には改行が入らなくなるんじゃないかな 特にコーディングルールなんかを意識しなくても、閉括弧が密集するはず
- 166 名前:デフォルトの名無しさん mailto:sage [2017/02/14(火) 08:19:39.83 ID:uoklH2m8.net]
- Juliaってまだ次世代言語という認識も無い感じなのかな、ver1.0出ないし
それとも対象領域が狭いのか
- 167 名前:デフォルトの名無しさん [2017/02/14(火) 08:41:27.92 ID:ptdZF2Do.net]
- Juliaはすでにダメかと
放置ぎみ これは言語に特色あるというより、LLVM用のスクリプト言語って位置づけだろ? JavascriptをベースにしてLLVMを動かしてもいい。
- 168 名前:122 mailto:sage [2017/02/14(火) 08:44:44.67 ID:deUQRuVA.net]
- >>124 >>125
どう答えればよいか考え倦ねていたのですが、 Prologの場合は、基本論理式であることは確かですから、論理かなと 言われればその通りなのでしょう。 >>107の「私は帰ります」から始まるスレッドで言いたかったのは、 受け取った文そのものが、シンボルで即ち述語となるということ。 それが我々が自然言語を扱う時、自然言語に接する時の作法に近い。 そのシンボルはやがて分解されて、詳細な述語が生まれる。そしてまた それがDCG節で書いた二番目の定義、即ち、句構造への文法的な解析と ほぼ同型になる。そういう主張です。
- 169 名前:デフォルトの名無しさん [2017/02/14(火) 08:45:48.11 ID:ptdZF2Do.net]
- 開発されてた
GitHub - JuliaLang/julia: The Julia Language: A fresh approach to technical computing. https://github.com/JuliaLang/julia
- 170 名前:デフォルトの名無しさん mailto:sage [2017/02/14(火) 09:38:35.37 ID:OAj0rQR0.net]
- >>168
Prolog、面白そうですね。やってみます。 FPでの自然言語処理だと、全てを読んだ訳ではない上での感想と理解いただきたいですが、 Computational Semantics with Functional Programming がFPらしい流儀で本格的なことやってるように見えました。 Draft版がpdfで読めます。
- 171 名前:デフォルトの名無しさん [2017/02/14(火) 10:03:37.62 ID:lPJlbUrB.net]
- Juliaはとりあえず永遠にStableにならなそうなふいんき()をなんとかしてくれ。
同じ事がNimやElmにも言えるが。
- 172 名前:デフォルトの名無しさん mailto:sage [2017/02/14(火) 11:20:46.81 ID:QO8CQqzs.net]
- 俺数学大っ嫌い文系だけどオブジェクト指向言語より関数型言語のが好きなんだが異端なのか?
- 173 名前:デフォルトの名無しさん [2017/02/14(火) 11:33:19.82 ID:ptdZF2Do.net]
- 手続き型は関数型を一般化したようなもので、関数型は手続き型を制限したようなもの。
手続き型ができれば、注意深くやれば関数型はかけるはず。 記法は別にしてほぼ一行でプログラムするようなこと。ハンターハンターでこんなのあるが。 制約と誓約についての詳しい考察 | キルアから見たHUNTER×HUNTER 念能力における概念の一つ。 自らの念能力に対し制約と誓約を課すことによってその威力と精度を著しく向上させることが出来る。 能力者のほとんどは「制約」のほうだけを自らの念能力に取り入れているケースが多く、 純粋に制約と誓約の両方を取り入れている能力者はクラピカくらいだと言える。 クラピカ 中指の鎖に対して「旅団以外には使わない」という制約と「旅団以外に使った場合は命を絶つ」という誓約を立てた。 作中では述べられていないが、恐らく制約のみを課すよりも制約と誓約の両方を課した方が能力がより向上するものと思われる。 kirua-hunterhunter.com/seiyaku/
- 174 名前:デフォルトの名無しさん mailto:sage [2017/02/14(火) 12:28:22.89 ID:PhsD9VtO.net]
- >>172
洗練ということに価値をみる人だと至極当たり前の方向だと思う。
- 175 名前:デフォルトの名無しさん mailto:sage [2017/02/14(火) 12:33:23.61 ID:OAj0rQR0.net]
- >>172
物事の抽象化という点では文理関係ないのでは? 受験数学だと抽象的でない暗記的な内容もあるでしょうし。例えば積分公式の暗記とか。 微分と積分が逆だとぼんやり理解するのが大事で、 ばっちり解析解(公式)が出るかはそりゃ出れば嬉しいけど、出ない方が多い。 そういう狭い領域が○×を判定しやすいという理由で試験にでているだけなのに、 それが数学の全てで、そういうテクニカルなことが嫌いだから数学も嫌いと思っている人は多いのではないでしょうか。
- 176 名前:デフォルトの名無しさん mailto:sage [2017/02/14(火) 13:05:57.35 ID:he6YB8dM.net]
- lim
ver->1.0 JULIA ver
- 177 名前:デフォルトの名無しさん mailto:sage [2017/02/14(火) 15:41:28.41 ID:90/NuRRw.net]
- Haskellからは関数型言語という制約を課しながら手続き型言語になりたい
という気持ちが伝わってくるからな。 結局、多様なオブジェクツからなる手続き型言語の理想世界を関数という アトムで表すことが夢の最終目的なんだよな。
|

|