タグ

scalaとjavaに関するryoasaiのブックマーク (5)

  • ちょっとしたJavaコードをScalaに書き直してみた - xuwei-k's blog

    元コードはの118ページ目 変数多いぅぉ・・・try catchやifが値を返せばretValとかいらないのに・・・ という「Javaコードを見るとscalaで書き直したい病」が発病したので(・ω・`) 元のJavaコード↓ @Override public int compare(Player o1,Player o2) { float o1A, o2A; int retVal; if(o1.getId() == o2.getId()) return 0; if(o1.hasRole(Player.Roles.Batter)){ try{ o1A = o1.asBatter().getAverage(); }catch(NotEnoughAtBatsException e) { o1A = 0.0f; } } else o1A = 0.0f; if(o2.hasRole(Player.R

    ryoasai
    ryoasai 2011/03/07
    if文などが値を返すというのは意味があるが、「式自体が値を返す」というのはトートロジーではないのかな。
  • Javaの10個のBad Partsのほとんどはscalaだと解決されちゃうんだぜ - xuwei-k's blog

    ネタ元 業務系のJavaプログラマーが知っておくべき10個のBad Partsとその対策 結論から先に言うと、3と10以外は結構直接的にscalaで解決できるというか、javaに比べてscalaの方が便利だとおもいます。*1 あと、元ネタのblogの人はgroovy詳しいみたいですが・・・ groovyとscala比べるとgroovyの方が手軽で便利だったり、scalaのほうが型安全だったり*2いろいろあるかもしれませんが、groovyあまり詳しくないので、その辺の言及というか、比較はやめておきます。*3 1.標準APIのチェック例外が扱いにくい チェック例外ってなにそれおいしいの?(・ω・) java Field field; try { field = getClass().getField("testField"); Object value = field.get(this); }

    Javaの10個のBad Partsのほとんどはscalaだと解決されちゃうんだぜ - xuwei-k's blog
  • Akkaが1.0になった。JavaとScalaにアクターモデルをもたらす

    原文(投稿日:2011/02/16)へのリンク Akkaは、Scalaで書かれたライブラリで、アクターモデルを使って、耐障害性のある、非常にスケーラブルなアプリケーションをJavaScalaで書くことを簡単にする。 Carl Hewitt氏によって1973年に始めて提案されたアクターモデルは、Erlangのような言語に採用されて成功した。電気通信業会では、非常に高可用性のある、非常にスケーラブルなシステムが普通である。 Scala言語の生みの親である Martin Odersky氏が言うには、 Akkaアクターは、欲しい物をたくさん備えている。非常にスケーラブル、高パフォーマンスで、分散システムで非常に良く機能する。 プロジェクト リードの Jonas Boner氏が今日、Akkaは、1.0マイルストーンに到達した、とアナウンスした。InfoQは、氏にプロジェクトについてより詳しく聞いた

    Akkaが1.0になった。JavaとScalaにアクターモデルをもたらす
  • JavaでActorっぽいものを作ってみる - かとじゅんの技術日誌

    前回 JavaScalaの"アクターのようなもの"を作ろうということだったので、早速 作ってみました。目的は、Actorの概念に触れることで、並行処理プログラミングの勘所を学ぶことなので、その前提で読んでいただければと思います。 リソース共有モデルには限界がある 「オブジェクト指向プログラマが次に読む Scalaで学ぶ関数脳入門」には、複数のスレッド間でリソースを共有する「リソース共有モデル」の限界について触れています。 「リソース共有」モデルを前提としている限り、プログラムの規模が大きくなるに従って、並行処理にまつわる複雑さや問題に対処することが困難になってきます。 これに対して、もしスレッド間で同一リソースを共有しないで、協調処理を行うとしたらどうでしょうか。リソースを共有しなければ、データ不整合やデッドロックなどの、並行処理で問題とされていることを回避できるのです。メッセージパッ

    JavaでActorっぽいものを作ってみる - かとじゅんの技術日誌
    ryoasai
    ryoasai 2011/02/19
    一見無駄なようですが、アクターのイディオムをJavaで実装してみることで、Scalaの仕組みがより深く理解できると思います。
  • Re: いまさらだけど、Java言語にはクロージャーがない - Aufheben - GLAD!! の日記

    id:ryoasaiさんと先日会社で話した内容が、「いまさらだけど、Java言語にはクロージャーがない」にまとめられたけれど、関数リテラルが利用できるという文法の話と、引数以外の外部変数(自由変数)が参照できるという機能の話が混ざっている気がします。 前者の意味では現在の Java 6 にはクロージャがないけれど、後者の意味では Java でも内部クラスで同様なことが実現できます。他の言語が内部的にクロージャをどう実現しているか詳しくは知りませんが、クロージャを導入する土台は既にあると考えています。C/C++ でクロージャを実現するよりはかなり敷居が低いかと。 「想像以上にガラパゴス化した日IT業界?」で、Groovy と Scala の比較もされているようなので、クロージャに関して、JavaScala、Groovy の違いを整理しておこうと思います。 記事で引用されている クロージ

    Re: いまさらだけど、Java言語にはクロージャーがない - Aufheben - GLAD!! の日記
    ryoasai
    ryoasai 2011/01/30
    こういう比較をするとJavaがいかにイケテイナイか良く分かるのですがね。でもOOPもできないのはそれ以前の問題。
  • 1