<body> This document uses frames to assist navigation. Your browser is currently not supporting the use of frames, but you may still access the <a target="_top" href="collections-impl_0.html">non-framed version</a>. </body>
どう書く?orgでScalaを書いてくれる人もでてきたので、超一部の方向けにScalaのことでも書いてみようと思います。言うなれば、基礎を終えた人のScalaミニtips。知っている人は知っている、でもあまり知られていないことを並べていきます。 下に行くほどマニア度あがります、たぶん。FPよりの話が多いかもしれません。はやりのYコンビネータの話とか。たぶん。 ではいってみましょう。 Predefされているものは把握しておきましょう Scalaにはscala.Predefというオブジェクトがあります。この中で定義されているものは常にインポートされていて使える状態になっているので把握しておきましょう。 例: 1def exit(status: Int): Nothing = { 2 java.lang.System.exit(status) 3 throw new Throwable() 4}
● [Scala] RubyからScalaに乗り換えた15くらいの理由 [注意] この文章を読むと、既存のRubyコードをScalaでrewriteしたくなる、 Rubyコードで型チェックをやるのが鬱になる、Ruby案件でやる気が出なくなる、 などの幻覚や異常行動が報告されています。 現在関わっているプロジェクトや家族のことを常に意識し、 気を強く持って冷静に読むとよいでしょう。 「Scalaプログラミング入門」を読みはじめて、いきなり大きく頷いてしまった。 "コーディング時間の半分をテスト作成に費やさなければならなかった"(p.3) "Railsによって得られた生産性の向上は、テスト作成の作業に失われてしまいました"(p.3) まさにここ数年私が抱いてた漠然としたストレスの正体が、的確に文章となっていたからだ。そしてほどなく、「あ、この機能がRubyに欲しかった!」という驚きと共に Sc
Twitterが分散フレームワーク「Gizzard」公開! Scalaで書かれたShardingを実現するミドルウェア Twitterは独自に開発した分散フレームワークの「Gizzard」をオープンソースとして公開しました。GizzardはScalaで書かれたJavaVM上で動作するミドルウェアで、PHPやRubyといったWebアプリケーションからの要求を自動的にデータベースに分散することで、大規模で可用性の高い分散データベースを容易に実現するためのものです。 Gizzard:フォルトトレラントな分散データベースを実現 The Twitter Engineering Blog: Introducing Gizzard, a framework for creating distributed datastores Twitterのブログにポストされた「Introducing Gizzard
先日@yuroyoro氏により開催されましたScala Hackathon #1に行ってきました。Scalaは初めてだったので、ハッカソン資料に従ってまずはHello Worldから作ってみました。資料によると、インタラクティブコンソールを使うEclipseのプラグインを使う非推奨NetBeansのプラグインを使うIntelliJ IDEAのプラグインを使うテキストエディタとMavenとmaven-scala-toolsを使うテキストエディタとsbt(Simple build Tool)を使うこれだけの開発手法を選択することが出来るそうです。そこであえて私はMaven2を使ってScalaのHello Worldを書いてみることにしました。 参考にした資料はこちら。 http://dl.dropbox.com/u/261418/scala-hackathon/setup.html#maven
Home / Developer API / Tour / Get a Project - Solutions for Bug & Issue Tracking, Collaboration Tools, Subversion Hosting, Git Hosting Scala ide for eclipse is powered by Assembla. Scala support in the Package explorer view with embedded outline, outline view, quick outline, open type, open type hierarchy. Incremental compilation, application launching with integrated debugger, hyperlinking from
val fruits = List("apple", "banana", "avocado", "papaya") val countsToFruits = // count how many 'a' in each fruit fruits.groupBy(fruit => fruit.count(_ == 'a')) for (count, fruits) <- countsToFruits do println(s"with 'a' × $count = $fruits") // prints: with 'a' × 1 = List(apple) // prints: with 'a' × 2 = List(avocado) // prints: with 'a' × 3 = List(banana, papaya)
Posted at 2010/01/22 08:06, Modified at 2010/01/22 23:00 去年から Scala を勉強していて、お正月には Martin Odersky の『Scala スケーラブルプログラミング』(コップ本、と呼ぶらしい) も読んだ。Scala はかなり良い。私が言語を選べる立場にあるときに、いままで好き好んで使っていた言語は Ruby だった。でも、これからは Scala も積極的に検討していこうと思っている。 プログラミングの間違いが静的にみつかる Scala を推す一番の理由はここだ。型がちがうとか、引数の個数がちがうとか、存在しないメソッドを呼び出しているとか、そういう間違いは静的にみつかるべきだと最近は思っている。型をいちいち書くのはだるいけど、Scala には型推論があるので比較的だるさは軽減される。また、実行時例外として名高い Nul
1階受付:インストール等 / 1階案内版:コマンド / 2階:書き方 / 3階:文と式 / 4階:関数 / 5階:オブジェクト指向 / 6階:型 / 7階:注釈等 / 屋上:言語仕様要約 / 雲:scalaパッケージ概観 / 青空:その他の付属パッケージ概観 なお、以上の解説はJavaの文法とコマンドや標準ライブラリ等を一応知っていることを前提(現行のScalaはなおJavaライブラリへの依存度が高くScalaだけで完結できる状態では無い。なお、Scalaのコンパイラ自体はJava1.4用のコードも吐けるが、標準ライブラリが多く1.5を前提としている)とし、その違いだけをとりあえずは書き留めるものである。もっぱら文法やライブラリ参照用であることを目指しているので、例や特長等は次のリンクを参照されたい(なおただし、原著者たちの配慮にもかかわらず、それらの例は関数型言語に関する事前の概要的把握
This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.
Scalaとは Scalaは、2003年にJavac(コンパイラ)やJavaのGenericsの設計/開発貢献者であるMartin Odersky氏(スイス・ローザンヌ工科大学教授)によって、開発が開始された比較的新しいプログラミング言語です。Javaは実用言語として幅広いシステムで使用されてきましたが、下位互換性を保つという要請の中、言語としての機能強化がなかなか進まないといった限界も見えてきています。そのような現状もあることから、ScalaはJavaの後継として実用的な言語を目指して開発されています。 Scala最大の特徴は、Javaの良さを最大限継承しつつ、スクリプト言語や関数型言語の良いところも吸収し、先進的な機能/文法を取り入れている点です。また、今後のハードウェアのマルチコア化を見据え、簡易に並列処理プログラミングを行うことができるライブラリが付属しています。 Scalaのメリ
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
原文(投稿日:2009/7/9)へのリンク Scalaが最近,将来のJava 後継者の有力候補として注目を集めている。Java の創作者である James Gosling 氏やJRuby の主要開発者である Charles Nutter氏に続いて,Groovy の創作者であるJames Strachan氏もScalaへの賛意を表明している。 氏はJava の好ましくない点について,次のように語っている。 Javaはとんでもなく複雑な言語です(仕様書は600ページもありますし,Javaのgenerics を本当に理解できている人はいるのでしょうか?)。オートボクシング(に隠されたNullPointerException),基本型,コレクションではない時代遅れの配列,文字列/テキスト/バッファ/コレクション/配列に対するポリモーフィズムの全般的欠如,データ構造体やbean プロパティを扱うとき
twitterが2007年後半に先進的なユーザーに急速に受け入れられて以後、そのruby on railsアーキテクチャーはたびたびトラブルに見舞われてきた。しかし2008年中盤にtwitterがこっそり一部コードをscalaにポートして以来トラブルはなくなった。Twitterの開発者であるAlex Payneによれば普通に考えられているRuby on RailsやPHPやPythonなどいわゆるアジャイルな言語はすばやい変化に対応するには見合っているが非同期的プロセスのような力仕事には、スイス連邦工科大学ローザンヌ校のマーティン・オダースキーMartin Oderskyにより開発されたscalaが合っているという。2007年のある時点でtwitterにおけるrubyベースのメッセージ・キュー・システムが増えるプロセスに対応できずに壁にぶちあたったことに気付いた。2008年中盤にはメッセー
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く