タグ

scalaに関するmanatenのブックマーク (97)

  • ドワンゴScala勉強会で学んだ、ハイブリッド言語「Scala」の魅力 | Lab by engineering@dwango.jp

    こんにちは初めましてー。2011年度新卒の田中です。 12月から急に寒くなってきましたね。 11月が暖かかったからといって油断していませんか? 私は完全に油断していました。まだ冬服を買っていません。 さて、まだ暖かかった11月、ドワンゴでScala勉強会という熱いイベントがありました。 私は最近Scalaを勉強し始めたのですが、この勉強会で、Scalaの魅力的な機能をたくさん知ることができました。 今回はScala勉強会から持ち帰った情報や今まで私が勉強してきたことを元に、Scalaのどこが魅力的なのかを記事をしていこうと思います。 それではよろしくお願いいたします。 対象読者 Javaを書いたことがある方 Scalaを知りたい方 Scalaを始めたばかりの方 Scala? ドワンゴはエンジニア同士の技術交流が盛んな会社で、プログラミング言語を中心に日々、情報交換、議論が行われています。

  • アクターモデル - GIOの日記

    Erlang Land を読んでErlangを学んだ。 Erlangの並列処理を学ぶことでアクターモデルの理解ができた! 概念的に理解できてなかったScalaのActorライブラリも読み書きができるようになりました。 Erlangの並列版フィボナッチをScalaで書いてみました。 import scala.actors._ class FibActor(var name:String) extends Actor { def act = { receive { case i:Int => println(name + ": " + fib(i)) } } def fib(n:Int):Int = { n match { case 0 => 1 case 1 => 1 case _ => fib(n - 1) + fib(n - 2) } } } object ActorTest { def

    アクターモデル - GIOの日記
  • プログラミング言語「ほむほむ」 - ( ꒪⌓꒪) ゆるよろ日記

    なんか、極めると「ほむほむ」だけで会話できるみたいですね? 俺はまだそこまでの域には至ってないんですが、「ほむほむ」だけでプログラミングできたらステキですよね? そこで、ちょっと草植えときますね型言語 Grassを元にして以前作ったプログラミング言語「天使ちゃんマジ天使」とか 「ブブゼラ」をベースに、 またまたネタ言語を作りました。 Grassの文法と異なる点は以下のとおり。 wがほむ スペース・タブにはさまれた"ほむ"がW vは改行 wを出力するプログラム: ほむ ほむほむ ほむほむほむほむ xを出力するプログラム: ほむ ほむほむほむ ほむほむほむほむ ほむほむほむ ほむ "Hello, world!"を出力するプログラム ほむ ほむ ほむ ほむほむほむほむ ほむ ほむほむほむほむほむほむ ほむほむほむほむほむ ほむ ほむほむほむほむほむ ほむほむほむほむ ほむほむほむほむ ほむほむほ

    プログラミング言語「ほむほむ」 - ( ꒪⌓꒪) ゆるよろ日記
    manaten
    manaten 2011/06/01
    Anko C++思い出した
  • 【コラム】イマドキのIDE事情 (103) Scalaプログラミングなら「IntelliJ IDEA Community Edition」 | エンタープライズ | マイコミジャーナル

    Scalaの開発環境事情 ScalaJavaVM上で動作するプログラミング言語の1つで、オブジェクト指向プログラミング言語に関数型プログラミング言語の特徴を取り入れている。Javaプログラマを中心に次世代のプログラミング言語として注目を集めている。 Scalaの開発環境としてはEclipseやNetBeans用のプラグインが存在するが、現時点ではこれらと比較してIntelliJ IDEAのScala向けプラグインが一段抜けた完成度を誇っており、Scalaを用いたプログラミング環境としては一押しだ。 IntelliJ IDEA Community Edition IntelliJ IDEAはJetBrains社が提供する商用のJava統合開発環境で、細部までこだわった使い勝手のよさで多くの熱心なユーザを持つ。ここ数年はJava以外の言語も積極的にサポートしており、2009年には機能は限定さ

  • Eclipse で Scala

    Scala IDE のインストール Scala IDE for Eclipse によると、必要なものは Java Developer Toolkit 1.6 Eclipse Classic 3.5.2 Eclipse は Release Build: 3.5.2 よりダウンロード。 Scala を書くためのプラグインをインストールするには、Eclipse を起動し、メニューより Help > Install New Software… を選択。 Install ダイアログの work with: には、Scala IDE for Eclipse – Downloads にお勧めとして記載されている以下の URL を入力して、 http://download.scala-ide.org/nightly-update-master-2.8.1.final 必要なものをチェックしてインストールを

  • 理想の言語? - 書評 - Scalaスケーラブルプログラミング : 404 Blog Not Found

    2009年08月20日18:00 カテゴリ書評/画評/品評Lightweight Languages 理想の言語? - 書評 - Scalaスケーラブルプログラミング インプレス石橋様より献御礼。 Scalaスケーラブルプログラミング Martin Odersky Lex Spoon Bill Venners / 羽生田栄一監 / 長尾高弘訳 [原著:Programming in Scala] 素晴らしい言語の、素晴らしい入門。 何が素晴らしいかというと、言語の思想が、頭ではなく体で覚えられるようになっていること。これなら言語オタクでなくとも、いや言語オタクでない方が、無名関数やActorの素晴らしさがよくわかる。 それだけに、結構残念である。 Scalaが、Java上の言語であることに。 書「Scalaスケーラブルプログラミング」の原題は、「Programming in Scala

    理想の言語? - 書評 - Scalaスケーラブルプログラミング : 404 Blog Not Found
  • Amazon.co.jp: ボクらのScala ~ 次世代Java徹底入門: 浅海智晴: 本

    Amazon.co.jp: ボクらのScala ~ 次世代Java徹底入門: 浅海智晴: 本
    manaten
    manaten 2011/04/14
    生協に唯一あったScala本。
  • Java使いをScalaに引き込むサンプル集 | mwSoft

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

  • 今からでも遅くない これから始めるScala(前編)

    なぜ、いまScalaなのか? TwitterScalaを利用しているのは有名ですが、他にも位置情報を利用したfoursquareはScalaで構築されたLiftというWebフレームワークを利用していますし、GTDツールとして有名なRemember The MilkもScalaの利用を検討しているようです。 Scalaは、Java Virtual Machine(以下JVM)上で動くオブジェクト指向+関数型言語です。簡潔で柔軟な記述が可能であり、マルチコアを意識したライブラリがあり、JVMでのスケールメリットを享受できることが、これらの企業で採用に踏み切った理由であると考えられます。 Scalaは、非常にバランスの取れたプログラミング言語です。連載では、Scalaの基的な文法を解説しながら、オブジェクト指向と関数型言語を組み合わせたプログラミングスタイルについて、解説したいと思います。

    今からでも遅くない これから始めるScala(前編)
  • Scala開眼

    1階受付:インストール等 / 1階案内版:コマンド / 2階:書き方 / 3階:文と式 / 4階:関数 / 5階:オブジェクト指向 / 6階:型 / 7階:注釈等 / 屋上:言語仕様要約 / 雲:scalaパッケージ概観 / 青空:その他の付属パッケージ概観 なお、以上の解説はJavaの文法とコマンドや標準ライブラリ等を一応知っていることを前提(現行のScalaはなおJavaライブラリへの依存度が高くScalaだけで完結できる状態では無い。なお、Scalaのコンパイラ自体はJava1.4用のコードも吐けるが、標準ライブラリが多く1.5を前提としている)とし、その違いだけをとりあえずは書き留めるものである。もっぱら文法やライブラリ参照用であることを目指しているので、例や特長等は次のリンクを参照されたい(なおただし、原著者たちの配慮にもかかわらず、それらの例は関数型言語に関する事前の概要的把握

  • RubyからScalaに乗り換えた15くらいの理由 - ヽ( ・∀・)ノくまくまー(2010-04-26)

    ● [Scala] RubyからScalaに乗り換えた15くらいの理由 [注意] この文章を読むと、既存のRubyコードをScalaでrewriteしたくなる、 Rubyコードで型チェックをやるのがになる、Ruby案件でやる気が出なくなる、 などの幻覚や異常行動が報告されています。 現在関わっているプロジェクトや家族のことを常に意識し、 気を強く持って冷静に読むとよいでしょう。 「Scalaプログラミング入門」を読みはじめて、いきなり大きく頷いてしまった。 "コーディング時間の半分をテスト作成に費やさなければならなかった"(p.3) "Railsによって得られた生産性の向上は、テスト作成の作業に失われてしまいました"(p.3) まさにここ数年私が抱いてた漠然としたストレスの正体が、的確に文章となっていたからだ。そしてほどなく、「あ、この機能がRubyに欲しかった!」という驚きと共に Sc

  • Twitterが分散フレームワーク「Gizzard」公開! Scalaで書かれたShardingを実現するミドルウェア

    Twitterが分散フレームワーク「Gizzard」公開! Scalaで書かれたShardingを実現するミドルウェア Twitterは独自に開発した分散フレームワークの「Gizzard」をオープンソースとして公開しました。GizzardはScalaで書かれたJavaVM上で動作するミドルウェアで、PHPRubyといったWebアプリケーションからの要求を自動的にデータベースに分散することで、大規模で可用性の高い分散データベースを容易に実現するためのものです。 Gizzard:フォルトトレラントな分散データベースを実現 The Twitter Engineering Blog: Introducing Gizzard, a framework for creating distributed datastores Twitterのブログにポストされた「Introducing Gizzard

    Twitterが分散フレームワーク「Gizzard」公開! Scalaで書かれたShardingを実現するミドルウェア
  • マルチコア危機:ScalaとErlangの対立

    ブロゴスフィアでは最近Scala対Erlangの議論がややヒートし続けている。マルチコアの世界(参考記事)が訪れようとしている今、いかにマルチコア危機を解決するかが問題になっている。ScalaとErlangはその解決法たらんとしている言語だが、少し違いがある。それぞれのアプローチの長所短所はなんだろうか? 問題 ムーアの法則はもう通用しない。かつてのようなクロック周波数の向上(リンク)は見込めず、かわりにコアの数を増やそうとしている。今の時代、あなたのノートPCでさえも2つコアを搭載していることだろう。 2つ以上のコアを有効に使うには、アプリケーションが並列処理を意識してないといけない。もしあなたの顧客が8コアのマシンを買ったとしたら、たとえそれをあるアプリケーションの専用マシンにしたとしても、そのアプリケーションがCPU性能の12%しか使えなくてもおかしくない、とあなたは顧客にどうにかし

    マルチコア危機:ScalaとErlangの対立
  • Scala的な考え方 - Scalaがとっつきにくいと思っている人へ - ( ꒪⌓꒪) ゆるよろ日記

    Javaな人から見ると、「Scalaって難しい」ってイメージがありますね。俺も最初はそう思ってました。今もですけど。 で、考えてみたんですが、何が難しいって考え方・イディオムになじみがないのが原因かと思ったんです。 ここでは、俺が今までScalaをやってきて得た考え方を紹介します。「Scalaをちょっとやってみたんだけど、とっつきにくくて…」と思われている方は、ぜひご一読ください。 参考資料: Scala入門 - Scalaで書きはじめたJava使い向け - Scala勉強会@東北 Dropbox - 404 神は言われた。「リストあれ。」 Lisperは、リストをどう作るかをまず考えるらしいです。適切なリストが出来たら、プログラムはもうできたも同然だと。同じ考え方は、Scalaでも通用すると思います。 大まかに、こんな流れで考えてます。(リストは最初から与えられることもあるでしょう) 「

    Scala的な考え方 - Scalaがとっつきにくいと思っている人へ - ( ꒪⌓꒪) ゆるよろ日記
  • NetBeansとScalaを使ってAppEngineたんといちゃいちゃする方法 - ( ꒪⌓꒪) ゆるよろ日記

    俺「新しいアプリだよ。さぁ、デプロイするからAppSlotを解放するんだ…!」 appengineたん「で、でぷろい…ですか…?こんなおっきなあぷり…は、入るかな…?」 俺「今日はScalaを使ったアプリケーションなんだよ」 appengineたん「Scalaなんて…そんな変態的なこと…で、できません ///」 俺「もう遅いよ。どうだ? どんどんアプリがアップロードされていくぞ!」 appengineたん「は、入りました…。こんなおっきなアプリケーション…あついです…」 俺「よしテストだ。どんどんリクエストをおくってやるからな」 appengineたん「そ、そんなにリクエストされたら…らめぇっ!!SpinUpしちゃうぅっ!!」 俺「まだまだいくぞ。おらっ!データストアにputしてやるっ!」 appengineたん「らめぇぇ!あっ、あふれちゃうっ!!データが…quotaからあふれちゃうよぉぉ

    NetBeansとScalaを使ってAppEngineたんといちゃいちゃする方法 - ( ꒪⌓꒪) ゆるよろ日記
  • プログラミング言語 Scala Wiki

    プログラミング言語 Scala このWikiの目的は? Scalaのマニュアルの日語訳を作成する。首尾よく日語訳が完成したら、www.scala-lang.orgに置いてもらうように頼むつもり。--> 完成したのを連絡したのだけど、全然家サイトに置いて貰えない...。 →置いてあるようです。Translations of the Scala Manuals ScalaのTipsなどの情報をまとめる。 使い方 普通に自由にWikiとして自由に編集して下さい。spam投稿で荒れたりするまでは、自由に編集出来る様にしておきます。 ご意見や不具合などありましたら管理人(tmiya@bu.iij4u.or.jp)までご連絡下さい。 もう何冊も日語でのScala解説が出たので管理人は和訳プロジェクトを放置状態です。このサイトの翻訳文を管理者がPDF化の作業は実施しませんのでご了承下さい。 チ

    プログラミング言語 Scala Wiki
  • Javaの限界を超えて実用化を目指す 新開発言語「Scala」のメリットとは~前編

    Scalaとは Scalaは、2003年にJavac(コンパイラ)やJavaのGenericsの設計/開発貢献者であるMartin Odersky氏(スイス・ローザンヌ工科大学教授)によって、開発が開始された比較的新しいプログラミング言語です。Javaは実用言語として幅広いシステムで使用されてきましたが、下位互換性を保つという要請の中、言語としての機能強化がなかなか進まないといった限界も見えてきています。そのような現状もあることから、ScalaJavaの後継として実用的な言語を目指して開発されています。 Scala最大の特徴は、Javaの良さを最大限継承しつつ、スクリプト言語や関数型言語の良いところも吸収し、先進的な機能/文法を取り入れている点です。また、今後のハードウェアのマルチコア化を見据え、簡易に並列処理プログラミングを行うことができるライブラリが付属しています。 Scalaのメリ

    Javaの限界を超えて実用化を目指す 新開発言語「Scala」のメリットとは~前編