タグ

JavaとScalaに関するsakadonohitoのブックマーク (7)

  • Scalaプログラミング入門

    Martin Oderskyによる 関数型かつオブジェクト指向プログラミング言語 Java 1.1–1.4コンパイラの開発者 Pizzaの開発者 (Philip Wadlerと共同) オープンソース 活発に開発が行われている 応用 Twitterの分散DBフレームワークGizzardはScalaで記述されている Foursquare, Tumblr, LinkedIn, Amazon, VMware, はてな, ドワンゴなどでも利用されている WebアプリケーションフレームワークとしてPlayなどがある プログラミング言語別年収ランキング 2017年は1位, 2018年は2位 言語の特徴 関数型プログラミング言語とオブジェクト指向プログラミング言語の融合 強力な型推論 高階関数 Immutable Collections 並行計算 Java言語もJava 8から,関数型プログラミングの特徴

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

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

    今からでも遅くない これから始めるScala(前編)
  • Google App Engine/JavaでのScala/Liftアプリケーション開発(後編)

    はじめに 前回の「Google App Engine/JavaでのScala/Liftアプリケーション開発(前編)」では、Google App Engine(GAE)JavaでLiftアプリケーションを利用する基的な方法を解説しました。 後編である稿では、前回作成したイベント管理アプリケーションに機能追加を行いながら、Googleが提供するemailサービスやスケジュールサービス(cron)、TaskQueue(非同期バックグラウンド処理)などを利用してアプリケーションを構築する方法について説明します。 また、これまで説明していなかったLiftViewによるテンプレートを利用しないレスポンスの生成や、カスタムディスパッチで任意のURLの処理を行う方法も紹介します。 対象読者 Javaは知っているが、Scalaも学んでみたいと思っている方 ScalaでのWebアプリケーション開発に興味が

    Google App Engine/JavaでのScala/Liftアプリケーション開発(後編)
  • Google App Engine/JavaによるScala/Liftアプリケーション開発(前編)

    はじめに Google App Engine(GAE)/Javaでは、Java仮想マシン上で動作する言語を利用することができます。例えば、JRubyやGroovyなどです。 Scalaも、コンパイルすることによりJava仮想マシン上で動作するクラスファイルを生成する言語ですので、当然、GAE/Java上で動作させることができます。 Scalaが動作するということは、ScalaでできているWebアプリケーションフレームワークであるLiftを元に作成されたアプリケーションを、GAE/Javaに載せることができるということです。 前後編で構成される連載では、ScalaおよびLiftをGAE/Java上で動作させる方法を解説した後、サンプルアプリケーションでGoogleが提供するさまざまなAPIを利用した、GAEならではのアプリケーションを作成して、GAEでのアプリケーション作成のイメージをつか

    Google App Engine/JavaによるScala/Liftアプリケーション開発(前編)
  • Javaの限界を超えて実用化を目指す 新開発言語「Scala」のメリットとは~後編

    はじめに 前回に引き続き、Javaの後継候補として注目されているプログラム開発言語「Scala」について説明していきます。今回は、ScalaJavaの代替として使える点(「ベターJava」として使える点)に注目します。 シリーズ前編として、前回はScalaのメリットや、基礎的な文法について説明しました。シリーズ後編となる今回は、プログラムのコンパイルや、データベース接続について扱っていきます。 これまでの連載 Javaの限界を超えて実用化を目指す 新開発言語「Scala」のメリットとは~前編 コンパイルとデータベース接続 ここからはプログラムのコンパイルとデータベース接続を扱います。なお、以降すべてのプログラムを実行するためにはエディタの文字コードを、UTF-8に設定する必要があります(UTF-8以外の文字コードでは、日語などの取り扱いに失敗します)。 Scalaでのソースコードの記述

    Javaの限界を超えて実用化を目指す 新開発言語「Scala」のメリットとは~後編
  • Scala+LiftフレームワークのView/Template

    はじめに 前回は、関数型Webアプリケーションフレームワークというコンセプトで構築された、ScalaのWebアプリケーションフレームワーク「Lift」の概要を紹介しました。 第2回となる稿では、LiftにおけるView層であるテンプレート、Snippetについてサンプルを用いて解説したいと思います。 対象読者 Javaは知っているが、Scalaも学んでみたいと思っている方 ScalaでのWebアプリケーション開発に興味がある方 必要な環境 最低動作環境 J2SE 5.0 JDK 推奨環境 J2SE 6.0 JDK Apache Maven 2.10 Scala 2.7.5 LiftのViewはSnippet+Template LiftのView層は、基的にテンプレートとSnippetによって構成されています。開発者は、HTMLページのテンプレートを用意し、動的な出力を行う部分をSnip

    Scala+LiftフレームワークのView/Template
  • Javaの限界を超えて実用化を目指す 新開発言語「Scala」のメリットとは~前編

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

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