関数型プログラミング言語Haskell Part11 >>942 RWHは例題が悪すぎる。
Haskell以前に例題が理解できない。
はじめて読む人は、まず例題の解説が必要。何をやろうとしてるのか分からない。
(C言語で解いた場合のプログラムコードが載ってるけど、いきなり見せられるとC屋さんでも首をかしげるレベル)
さらに、文法やイディオムのまとめがないので、後から文法を調べるときにももう一度分かりにくい例題を始めから読まないといけない。
あと、プログラミング論全般の話題をしてるときに、いきなりHaskell固有の文法の解説が入って話が飛ぶのも良くない。
結果、一つの記号や文法の説明が複数の章に散在してしまい、ハンドブックとしても使いにくくなっている。
>>952 使い方を間違えてないか。ハンドブックは別に用意すればいいw
例題が何とかは特に感じなかったのでパス
バーコードの章は途中でついていけなくなった。
Real World Haskellってただのライブラリ解説書でしょ
>>956 ネット。チュートリアルとリファレンスと論文を使い分けるのが正しいアプローチ。
ようするに、チュートリアルやリファレンスや論文の分かりやすい説明をRWHに期待するなということですよ
Real World Haskellってただのライブラリ解説書でしょ
>>960 持ってるから何が書いてあるか分かる。
ライブラリの解説ぐらいしかみどころがない。
ライブラリ解説書というほど多くのライブラリを網羅しているわけではない リストとか正規表現の関数も一部しか出てこない
>>961 ライブラリ解説書はライブラリ内の多くの機能を辞書的に解説す事に価値がある。
本書は、その機能をどう使うのか、なぜ使うのかを学べるとともに、
一般的なライブラリ解説書では学べない多くのことも学べる。
たとえば第5章では JSON 用のライブラリを書くことを通じて、
代数データ型で構文木を作り、それをルートから辿りながら
ノードをひとつひとつ処理していく方法を学ぶ。
他にも第9章では、可能な限り IO モナドに頼らずに、
プログラムの振る舞いを指示する表現力豊かな機能を作る問題に対して、
DSL という回答を与えて実演して見せている。
第10章なら、条件分岐の深い入れ子になりがちなデータ解析という処理を
状態遷移と捕らえ、かつ運ぶべき状態情報を隠蔽する方法を提示しており、
また後の章でさらに抽象化している。
このような方法論を学べる「ライブラリ解説書」はまず無い。
他にも例を提示しようか?
>>963 方法論、ぴったりの言葉ですね。
Real World Haskell (RWH)はHaskellプログラミングのマイルストーンです。
言語仕様や個別のライブラリについては他のドキュメンテーションをあたるべきです。
RWHはHaskell学習の出発点、ルートノードとして使われるべきリソースです。
>>963 そもそもJSONのライブラリを作るという例題が解説書として不適切な気が
>>967 ・JSON形式自体を理解するのにワンステップ必要だから
・Javaの意味の用語(オブジェクト、型、構成子)を知ってると微妙に混乱する
で、なんとか理解した気持ちになってページめくったら、Justで包むとかいう表現が出てきてワケ分かんないって
普通に show を別途実装するとかいう例題でよかったと思うのは俺だけか…
>・JSON形式自体を理解するのにワンステップ必要だから 簡単な紹介はするが、詳細は自分で調べてというのはごく普通の態度だろう。 >・Javaの意味の用語(オブジェクト、型、構成子)を知ってると微妙に混乱する Javaは関係ない。そもそもJavaが出てきたのはHaskellの後であり、十分な理論的基盤を構築せずに開発を始めたJavaが悪い
>>969 十分な理論的基盤を構築せずに開発を始めたJavaのために作られたJSONを例題に使うのは良くないと思う
横からだけど、詳細を調べる過程でその悪いJavaの知識が必要なJSONをわざわざ持ってくるのが悪いという話では?
オレもJSONのところ(5章)と次の6章はしんどかったなぁ。2回やったら 何をやらんとしてるかは分かったけど、でもまだ ? なところはある。 一応CとHaskellだけで全て賄おうと思ってるんで、先に進みます。
JSONがJavaScriptのサブセットだというのは知ってたが Javaのために作られたというのは知らなかった
JavaScriptという言語では、ブラウザ-サーバ間でデータ転送を行うことができて、 HTTPでデータ転送を行うときには、(Javaの世界の)オブジェクトをString型に変換(シリアライズ)してやりとりしている (Javaの世界の)オブジェクトをString型に変換する手法のひとつがJSON という最低限の知識を持ってないと、読むときにひっかかる 他の章でも、「プログラムコードのほとんどは例外処理」とか「ボイラープレートは面倒くさい」とか「ハンドル」とか「シノニム」とか「クロージャ」とか、最低限のリテラシを持ってないとスラスラ読めない そういう本です
そりゃ *Real World* Haskellだからなあ JSONぐらいで批判されるとは思わないだろう
JSONはもともとJavaScript由来のもの。 だからJSONとJavaは関係ない。
Scrap your boilerplateが話題になった頃にHaskell触ってた奴じゃないとボイラープレートとかわかんないだろうなぁ
というかboilerplateは普通の英単語なので、ただ日本人に馴染みがないだけ。 synonymも同様。普通の英文法用語。
>>976 コンピュータ言語とは構文解析するときの仕様である、という立場をとると、JSONもJava由来
>>979 わけがわからない。何でもJavaで考える頭の悪い子か?
http://www.merriam-webster.com/dictionary/boilerplate Main Entry: boil・er・plate
Pronunciation: \-?pl?t\
Function: noun
Date: 1897
1 : syndicated material supplied especially to weekly newspapers in matrix or plate form
2 a : standardized text b : formulaic or hackneyed language <bureaucratic boilerplate>
3 : tightly packed icy snow
うーん、わからん (´゚ω゚`)
2 かな・・・
涙拭けよ
× 頭が悪い ○ かわいそう
>>974 最低限の知識…いや、自分は読んだとき知らなかったけど、5.1を読み、そこで紹介されてる
web頁見るかwikiでもつつくかして、まあこんなもんがあるのか位に思えば済んだ事だけどね
そろそろ次スレ建てましょうか?
オブジェクト内のパラメータが増えるとセッター/ゲッターメソッドが増えてメンドいという経験がないと、ボイラープレートが云々の話はムズいと思う。 「type はただのシノニム」という説明もかえってムズい。
そこでdata-accessorやfclabelsですよ
>>985 ???
その前の部分を読んでいれば、Haskellでも抽象度の低いboilerplateな書き方は
読みにくいのがわかるはずだが?
おまいら次スレが重複したら自決してくださいね
>>57 例えば57ページだけど、ボイラープレートでも読みやすいけど。
nicerID (Book id _ _ ) = id
nicerTitle (Book _ title _ ) = title
nicerAuthors (Book _ _ authors) = authors
ここの説明だけ読むと、分かりやすいけどただコードをたくさん書くのがウンザりだから、ボイラープレートコードを避けてるようにしか見えない。
JSON が実際にどういうものかはどうでも良いと思うよ。 JSON という名前がついたシリアライズの方法のひとつを例に取るというだけのこと。 数値や文字列、オブジェクトなどを簡単な文字列でシリアライズする というくらいの前知識だけで、[5.6 JSON データを印字する] から 構文木をたどって処理する方法を学ぶのに十分だよ。 (最低限の簡単な前知識はその前の節で説明されてるし)。 俺も JSON が何か知らずに読み初めたけど方法論を学べたし、 理解できた後でも未だに JSON なんて実際に一回も使ったことがない。
できれば、「シリアライズ」の説明も欲しかった 前後にバイトコードの話もあったから、混乱するっちゃ
もう日本語の説明が必要って話だね。 いや、"Real World"って立ち位置で作者は良くまとめてくれていると思うよ。
本屋に行ってHaskellの本を探して、ふつうのHaskellとRWHしかなくて、両方買って、始めにふつうの方を読んで、その後でふつうの続編の感覚でRWH読んだら死亡ですか
人によってはそうかもしれないけど、間を埋める本があるわけじゃない。 プログラミングHaskellはふつうと並ぶ立ち位置だよね?
>>994 いまどきの子は直列化とか言われたら単三電池ですかって答えるぞ
埋め
Haskell: The Craft of Functional Programming The Haskell School of Expression: Learning Functional Programming through Multimedia The Haskell Road To Logic, Maths And Programming 洋書で分かりやすいのってどれですか? 1000はあきらめた
はじめてのCレベルの入門書はどれでしょうか?
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。