当方、Rubyを使っており、Scalaを学んでみようと思っております。
Scalaを学習するにあたっておすすめの書籍などありますでしょうか?
また、ネットの情報を見るとJavaプログラマ向けのScala学習情報が多い気がしますが、まずJavaを触ってみるのがいいのでしょうか?
Javaプログラマの方でScalaを使っている方、Rubyプログラマの方でScalaを使っている方などいましたらご意見を伺いたいです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答6件
0
私自身Scalaは勉強中の身ですが、水島さんにいい本がないか尋ね、紹介していただいた事があります。
ある程度プログラミングを書いたことがあって、関数型言語を深くは知らない人の取っ掛かりとして、Scala逆引きレシピを紹介されました。確かに、Scalaだと「こう書く」というのが段階的に知ることができました。オススメです。
投稿2015/08/10 13:57
退会済みユーザー
総合スコア0
0
関数型プログラミングScala がおすすめです。
最近読んでいるのですが、演習問題があるので読みつつ解きつつ進められて良いです。
Scalaで関数型プログラミングをテーマに学ぶのであればこれが良いかと思います。
もしなにか既に作るものが例えば決まっているのであればコップ本と呼ばれる本を辞書的に読むと良いです。
また、書籍ではないですがScalaで躓いたら http://www.ne.jp/asahi/hishidama/home/tech/scala/ のページを参考にすれば大概のことが解決されるので、こちらも参考にされると良いかと思います。
投稿2015/08/03 16:53
総合スコア82
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
Java、Rubyはすでに使っていて、Scalaは学習中です。
ご質問は参考書籍ということですが、「これ!」と
自信を持って推薦できる書籍をまだ見つけてないので、
とりあえず上記の入門サイトを紹介しておきます。
まずJavaを触ってみるのがいいのでしょうか?
ScalaはJavaの後継的なポジションでしょう。
これと似ているのがCに対するC++(またはC#)の立場で、
Cからやる派と、最初からC++(C#)をやる派に分かれます。
私はCからやる派(やった派)です。
というのも段階的学習のほうが、万人向けだと思うからです。
逆に過程を飛ばすのは飛び級と同じで、つまずく人も出るでしょう。
だから、Javaも触ってみるのが良い、と個人的には思います。
けっきょくScalaもライブラリはJavaのを使ったりするので、
すごい回り道をさせられる、というわけでもないと思います。
ただScalaの難しさは、Java(と似た部分)よりも関数型にあると思います。
それはC++(C#)の難しさが、Cよりオブジェクト指向にあるようなものです。
ですからScalaを攻略するのは、関数型プログラミングを学ぶのが良いと思います。
ただ関数型はどれも難しいので、どの言語かまでは指定しかねます。
私の場合はLispを学んでいますが、難解なのでにわかにおすすめできません。
ただなぜ選んだかといえば、そもそもRubyがLispの流れを汲んでいるからです。
投稿2015/08/03 13:51
総合スコア5592
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
書籍でしたら実践Scala入門、webサイトでしたらドワンゴScala研修テキストが初心者にはおすすめかと思います。
実践Scala入門はScalaを書くのに最低限の知識がコンパクトにまとまっており、なおかつ実践的な内容まで網羅されているので、とりあえず書き始めたいのでしたらこの本を読むのがいいかと思います。
また、ドワンゴのテキストは文法の基本からScalaの有名webフレームワークであるplayを使ったサンプルプロジェクトまでありますので、playについて学びたい場合はこちら勉強するのがいいと思われます。
上の2つが読み終わればScalaのバイブルであるコップ本を読むのがいいでしょう。
他の回答者様が挙げられている関数型ScalaやScala逆引きレシピも良著ではあるのですが、いかんせんScala習熟者向けまたは辞書的な本ですので初心者にはあまり向かないかと思います。
投稿2020/05/02 23:36
総合スコア172
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
入門書は他の回答者の方々が推薦されているのであげません。
Scalaの前にHaskell入門をやっておくと見通しが良くなるでしょう。
Coursera - Functional Programming in Scala
CourseraのScalaコースを受講されることをお勧めします。Functional Programming in Scala
5コース構成です。最初の2コースはScalaの生みの親、Martin Odersky教授がレクチャーします。
教材はScalaスケーラブルプログラミング第3版です。
レクチャーでは、Odersky教授のさりげない一言が実に興味深かったりします。
2コース目の途中2コマになぜかHaskellの研究者Erik Meijerが登場します。
残りの3コースは並行コンピューティングの解説、Sparkの解説と演習です。
5コースすべてを受講すると最短でも3ヶ月、仕事をこなしながらだと1年程度かかるでしょう。
最初のコースだけでも受講する価値はあると思います。受講実績をみると日本人が多数います。
投稿2020/05/09 09:45
総合スコア1081
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
書籍でなく web ページですが、次のページを読んでみては?
(java や他の言語で 素数の列挙をエラトステネスの篩で書いたことがあることが前提です。)
- Scalaでエラトステネスの篩 http://bach.istc.kobe-u.ac.jp/lect/ProLang/org/scala-sieve.html
scala だとこんな風にかくことができるのかということを知ることができます。
お勧めの書籍は、 amazon.co.jp や amazon.com で scala で検索して、レビューの評価が高いもの、人気があるものを立ち読みしたりサンプル版を読んだりして、自分が気に入ったものから選ぶのがよいと思います。
投稿2015/08/16 16:01
編集2016/04/07 06:34総合スコア22324
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。