Scala

Scalaに関することをごった煮

Scalaの特徴
・開発生産性を高める簡潔な表記が可能である
・Javaの豊富なライブラリが使える(.NET Framework上で実行する場合、.NETのライブラリが使える)
・全てがオブジェクトとして扱われるオブジェクト指向言語である。
・静的型付けを行う関数型言語である。静的型付けのため、コンパイル時点でのエラー(特に型関連の)検出が得意である。
・型(クラス)をJavaなどと比べてより容易に作ることができ、また、型を使った条件分岐をはじめとして、型に関する機能が豊富なため、メソッドやメンバ変数を束ねるだけのクラスではなく、型に積極的な意味を持たせてのプログラミングが可能である。
・型推論があるため、多くの場所で型を自動的に補ってくれる
・純粋関数型言語的な、val(定数)と不変List, Set, Mapという組み合わせでもプログラミングできるし、より手続き型的なvar(変数)と可変List, Set, Mapという組み合わせでもプログラミングができる
・関数もオブジェクトとして利用可能であり、カリー化が可能
・パターンマッチを利用可能であり、任意のクラスをグループ化してパターンマッチで判定させることが可能(CASEクラス)
・implicit def と言う宣言を用いて、既存のクラスを拡張したような記述が可能
・traitクラスを用いた、Mix-in機能を持つ
・クロージャの利用が可能
・XMLを直接プログラム内部に記述可能
・標準ライブラリとして、Actorと呼ばれるErlangライクな文法の軽量プロセスが提供されている
・遅延評価のある関数型言語であるため、無限リストを扱え、標準ライブラリにそのためのクラスが提供されている
・構文解析のための、パーサーコンビネータ(英語版)が標準ライブラリに入っている
引用:Wiki


===Playframworkのメモ===
Herokuで、Java Play framework 2.0 + cleardb を利用すると c.j.b.h.AbstractConnectionHook のエラー
http://programmer-jobs.blogspot.jp/2012/09/herokujava-play-framework-20-cleardb.html

「Herokuで始める 初心者のためのPlay Framework入門」
http://libro.tuyano.com/index2?id=1044005

Play! on Heroku でDBにMySQL使ってみる
http://gari-dev.blogspot.jp/2013/04/play-on-heroku-dbmysql.html



===リンク週===
●Scala公式
http://www.scala-lang.org/

●Scalaの基本構文等沢山
http://www.ne.jp/asahi/hishidama/home/tech/scala/index.html

●Scala入門スライドシート(IBM Geeks Japan:宮本 隆志さん)
http://download.boulder.ibm.com/ibmdl/pub/software/dw/jp/cz/jg-scala-intro.pdf

●Java使いをScalaに引き込むサンプル集
http://www.mwsoft.jp/programming/scala/java_to_scala.html

●刺激を求める技術者に捧げるScala講座
http://itpro.nikkeibp.co.jp/article/COLUMN/20080613/308019/?ST=develop

●「スケーラブルで関数型でオブジェクト指向なScala入門」最新記事一覧
http://www.itmedia.co.jp/keywords/scala.html

●多忙な Java 開発者のための Scala ガイド
IBM developer worksが提供する読み物。執筆者はTed Newardさん。
http://www.ibm.com/developerworks/jp/views/java/libraryview.jsp

●Anorm:Play-Scala での SQL データアクセス
http://playscalaja.appspot.com/documentation/0.9.1/anorm

●f81@githubさんのQiita
http://qiita.com/f81@github/items

●PlayのForm(Tupleやらなんやら分かりやすい)
http://www.mwsoft.jp/programming/play/scala_play_form.html

●Playframework2.0でTwitterやFacebookのOAuth認証を簡単に扱えるplay-pac4jまとめ
http://alfa.hatenablog.jp/entry/2013/06/23/025925

●独習Scalaz
http://eed3si9n.com/learning-scalaz/ja/

●Scalaの標準機能を使ってHTMLスクレイピング
http://www.mwsoft.jp/programming/scala/web_scraping.html

●Scalike JDBC
http://seratch.hatenablog.jp/entry/2013/08/03/151251

===気になる用語===
※なんかScalaで効果的に使える理論?だとかなんとかっぽい。
 まだちゃんと読んでない。

【圏論】
Scala で圏論入門
https://github.com/scalajp/introduction-to-category-theory-in-scala-jp/wiki

【モナド】
圏論とかモナドなんて簡単だからscalaを使って説明してみた
http://rirakkumya.hatenablog.com/entry/2013/03/31/191056

[Scala][モナド][備忘録]Scalaでモナド
http://d.hatena.ne.jp/papamitra/20101002/scala_monad




===その他===
eMacsでScalaを書く準備
http://rktm.blogspot.jp/2012/12/emacsscala.html

●Mountain Lion に emacs24.2 をインストール
http://mgrace.info/?p=1032

0 件のコメント:

コメントを投稿