タグ

scalaとJavaに関するairj12のブックマーク (4)

  • Java 8 vs Scala: 特徴を比較する

    Java 8はついにラムダ式を導入します。ラムダ式自体は2009年からProject Lambdaで利用することができました。当時はラムダ式はJava Closuresと言われていました。サンプルコードを紹介する前に、ラムダ式がJavaプログラマにとってなぜ歓迎すべき機能なのかを説明しましょう。 なぜラムダ式を使うのか ラムダ式の一般的な使い方はGUI開発においてです。一般的に、GUIプログラミングではイベントと結びつく振る舞いを解決する必要があります。例えば、ユーザがボタンを押したとき(イベントが発生したとき), プログラミングは何らかの処理を実行する必要があります。例えば、Swingでは、次のコードで示すようにActionListenersを使います。 class ButtonHandler implements ActionListener { public void actionP

    Java 8 vs Scala: 特徴を比較する
  • Java開発で泣かないためのPlay frameworkの基礎知識

    Javaの常識を変える「Play framework」とは 「Play framework」は、サーバサイドJavaScalaのためのMVCフレームワークです。この連載では、主にJavaのフレームワークとしてのPlay frameworkを紹介していきます。でも「Javaで、Web向けで、MVCで……」なんて、ありふれた感じですよね。それなら「Scalaで、どう作るのか」という話の方が興味あるという方もいるでしょう。 しかし、Play frameworkはバージョン1まではJavaのフレームワークとして作られていました。また、ScalaJavaVM上で動作するプログラミング言語です。つまり現在の最新バージョンの2でも基礎の部分で動いているのはJavaです。Play frameworkを知るためには、まず基礎から固めていくのが正攻法だと思います。Scalaについて知りたい読者は、以下の記

    Java開発で泣かないためのPlay frameworkの基礎知識
  • AndroidのfindViewByIdで型推論(?)させて、ちょっとだけ記述量減らす方法 - xuwei-k's blog

    Javaの話です。 Androidだと、普通xmlで画面を定義して、そのインスタンス生成するためにfindViewByIdというメソッドを使う。かなり多く使う。xmlで定義する時点で、型は(android.view.Viewのなんらかのサブクラスで)決まっているわけですが、それが必ず android.view.View 型で返ってくる。で、これ使いにくいし、ちょっと工夫すれば微妙に記述量減らせるんじゃないか?っていう話。 たとえば、大体のサンプルを見ても*1 Button myButton = (Button) findViewById(R.id.my_button); とか ListView view = (ListView)findViewById(R.id.my_view); となって なんで、型を2回も書かないといけないの?Scalaだったら、Typed Resources といっ

    AndroidのfindViewByIdで型推論(?)させて、ちょっとだけ記述量減らす方法 - xuwei-k's blog
    airj12
    airj12 2012/03/16
    C#だったらvarでおk
  • Java使いをScalaに引き込むサンプル集 | mwSoft

    前書き Scalaという言語をご存知ですか? Javaと同じくコンパイルされるとclassファイルになり、実行時はJVM上で動作する、オブジェクト指向+関数型のプログラミング言語です。 Scalaを開発したのはJavaのgenericsの設計を手がけたり、javacの開発をしていた経歴も持つMartin Odersky氏。 Scalaは後発の言語ということもあって、Javaを書いている時に感じる冗長さに対する様々な解が用意されています。 記事では、ScalaJavaのコードを比較しながら、JavaユーザがScalaに移った際に得られるメリットを提示していきます。 尚、序盤のサンプルコードはJavaユーザに伝わりやすいように、returnを明記したり、メソッドは必ず{ }で囲むなど、極力Javaっぽい記述をしています。 だいたいJavaと同じような書き方ができます ScalaJava

    airj12
    airj12 2011/02/14
    デフォルト引数と高階関数は嬉しいなぁ。throws強制は寧ろJavaの長所だと思ってるけど。
  • 1