タグ

scalaに関するpaselaのブックマーク (9)

  • Scalaのnull/Nothing/Nil/Noneはやりすぎなのか? - ぐるぐる~

    Twitterしてたら目に入ったので軽く。 Javaにおけるnull。これまでとこれから この後のスライドで、 Scalaにおける「何もないもの」の分類はやり過ぎ感はある と言われているんですが、ある程度は誤解に基づく意見だよなぁこれは、ということを言っておこうかなと。 Scalaについて 日では説明が不要なくらいScalaって有名になってると思うんですが一応。 ScalaはJVMの上で動作する、(クラス指向の)オブジェクト指向プログラミングと関数型プログラミングを融合させた言語です。 そして、Scalaのコア機能はどちらかというとオブジェクト指向プログラミング寄りです。 オブジェクト指向プログラミングをベースに、関数型の色々なものを実現している感じです*1。 オブジェクト指向プログラミング的な機能として真っ先に思いつくのは何でしょうか? 割と上位の方に、「継承」とか「型階層」とか来るん

    Scalaのnull/Nothing/Nil/Noneはやりすぎなのか? - ぐるぐる~
    pasela
    pasela 2015/04/16
  • Twitter製のScala向けConfigライブラリのutil-evalが素敵すぎる - ブログなんだよもん

    現在作ってるアプリで設定ファイルを作りたくなったので、Scalaで人気の設定ファイルライブラリであるutil-evalを使ってみた。 このライブラリの特徴は何と言っても設定ファイルをScalaで記述できること。XMLやYAML, プロパティファイルじゃなくて内部DSLです。とは言うものの、Railsrubyで設定を記述しているし、仕事ではPHP使って似たようなことはしているので、これだけだと絶賛するほどじゃなかったり。重要なのはScalaが静的型付け言語だと言うことです!(キリ それの何が嬉しいの? と言われそうなので、皆さん想像してみてください。モード切替でマジックナンバーや文字列で指定している状況を。入力間違えにより容易に謎のエラーとなります。でも、util-evalならenumやcase classを使うことで特定の値以外が入力されたらコンパイルエラーにできます。もちろん、文字列や

    Twitter製のScala向けConfigライブラリのutil-evalが素敵すぎる - ブログなんだよもん
    pasela
    pasela 2012/07/22
  • Scalaの統一アクセス(プロパティ構文)がなかなかイカしてる件 - かとじゅんの技術日誌

    今回は統一アクセス(プロパティ構文)がなかなかイカしてる件について。C#とかRuby,Pythonやってる人からすると何を今頃という感じなのですが。 Scalaで統一アクセス(プロパティ構文)を使う Scalaでフィールドを宣言する場合は以下のような書き方になります。 class Employee(name_ : String) { var name = name_ } クライアント側のコードは以下。 val e = new Employee("Kato") e.name = "Kato" println(e.name) // Kato 追記: 上記のようなコードは以下と同じ意味なので、こちらのほうが短くてわかりやすいので適切。 class Employee(var name : String) Employeeのnameはpublicなフィールドですね。*1 nameフィールドには大文字

    Scalaの統一アクセス(プロパティ構文)がなかなかイカしてる件 - かとじゅんの技術日誌
    pasela
    pasela 2011/03/11
  • 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
    pasela
    pasela 2011/02/27
  • Java使いをScalaに引き込むサンプル集 | mwSoft

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

    pasela
    pasela 2011/02/14
  • Scalaってホントに来るかなぁ : mwSoft blog

    最近、自宅で軽い処理を書くときはScalaを使っている。そろそろScalaをメインの言語として使うようにしてみようか、という想いも抱くようになってきた。 使っている人たちの評判もいいし、記述量は確かに減るし、いろんな概念が組み込まれているので書いていて勉強になるし、機能不足で困ることもない。 Scalaの特徴をまとめると、こんな感じだろうか。まだ学習中だから間違ってる部分もありそうだけど。 ・記述量が少なくて済む Javaの半分のコード量で書ける、というのがScalaの売り。実際に書いてるとものによっては半分以下になる場合もある。これは一般的なスクリプト言語と比べても、それほど差がない。 ※参考 当に ScalaJava の半分のコーディング量で済むのか? http://d.hatena.ne.jp/itoasuka/20091007/1254884868 おまけに関数型的な書き方

    pasela
    pasela 2010/11/15
  • プログラミング言語 「天使ちゃんマジ天使」と「ブブゼラ」を作ってみたよ - ( ꒪⌓꒪) ゆるよろ日記

    今AngelBeats!見てます。天使ちゃんマジ天使でいいと思います。 で、だいぶ前に作ったScala版のちょっと草植えときますね型言語 Grassを改造して、プログラミング言語 「天使ちゃんマジ天使」とプログラミング言語 「ブブゼラ」を作ってみたよ。 Grassは、id:uenoB 作の型無しラムダ計算がベースをした関数型言語らしいです。(6/22追記) ちょっと草植えときますね型言語 Grassについてはこちら。 世界で最初のGrassプログラム - Garage uenoB ちょっと草植えときますね型言語 Grass プログラミング言語 「天使ちゃんマジ天使」 ちょっと草植えときますね型言語 Grassの派生言語というかまんまです。 Grassで使用する文字(w,W,v)をそれぞれ(天使, マジ, ! )に置き換えただけです。 wを出力するプログラム: 天使ちゃんマジマジ天使天使ちゃ

    プログラミング言語 「天使ちゃんマジ天使」と「ブブゼラ」を作ってみたよ - ( ꒪⌓꒪) ゆるよろ日記
  • 第17回 Scalaとパーザコンビネータ(基本編)

    筑波大学第三学群情報学類を卒業したのち、現在は、筑波大学大学院システム情報工学研究科コンピュータサイエンス専攻博士後期課程3年。プログラミング言語や処理系に強い興味を持っている。現在の研究テーマは、プログラミング言語の構文解析アルゴリズム。Scala勉強会を不定期で行うなど、研究の合間にScalaの普及活動を行っている。 Scalaにはパーザコンビネータライブラリという、構文解析を行うための専用ライブラリが存在します。パーザコンビネータライブラリを使うことで、特定の用途に特化した設定ファイルやDSLのパーザを手書きで書くよりも簡単に書けるようになります。 記事では、Scalaのパーザコンビネータライブラリの基的な使い方から、パーザコンビネータを使ったJSONのサブセットのパーザの実装までを解説します。構文解析の実装手法に関する知識は前提としませんが、構文解析とはどのようなものか、という

    第17回 Scalaとパーザコンビネータ(基本編)
    pasela
    pasela 2010/06/02
  • RubyからScalaに乗り換えた15くらいの理由 - ヽ( ・∀・)ノくまくまー(2010-04-26)

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

  • 1