タグ

javaとfunctional-programmingに関するnabinnoのブックマーク (3)

  • Javaによる関数型プログラミング

    書はJava 8で追加された新機能のうちラムダ式とStream APIに焦点を絞り、これらを使った関数型プログラミングについて解説します。今までのJavaには存在しなかったこの新しいパラダイムに踏み込むことで、冗長さを排し、より簡潔なプログラミングを実現します。しかし、これを使いこなすためには、従来のJavaにおける考え方を一旦捨て去り、新たな考え方をもってプログラミングを行わなければなりません。 書では、従来の手法と対比させつつ、APIの使用方法や設計手法を詳解し、基礎を固めます。遅延評価や再帰、そして並列化についてもサンプルコードを使って詳しく解説します。日語版ではJava Championである櫻庭祐一氏による「日語版まえがき」を収録。Java 8の特性を十分に生かしたプログラミングを行う技術者必携の一冊です。 まえがき はじめに 1章 Hello、ラムダ式! 1.1 考え方

    Javaによる関数型プログラミング
  • Clojure - Wikipedia

    Clojure (発音は/'klouʒər/[3], クロージャー)は、関数型プログラミング言語であり、LISP方言の一つである。関数型プログラミングのプログラミングスタイルでのインタラクティブな開発を支援し、マルチスレッドプログラムの開発を容易化する汎用言語である。Clojure言語のプログラムはJava仮想マシンで動作する。.NETで動作するClojureCLRも開発されている。Clojure言語は「データとしてのプログラムコード」 (英語:「code as data」) という思想で設計されており、洗練されたマクロ機構を持つ。 リッチ・ヒッキー (Rich Hickey)がClojure言語を設計した目的は、既存のJavaプラットフォーム上で動作して、並行コンピューティングができる、関数型のLISP系の言語を作ることである。[4][5] Clojure言語が並行コンピューティングを実

    Clojure - Wikipedia
  • Scala - Wikipedia

    Scala(スカラ、SKAH-lah[3])はオブジェクト指向言語と関数型言語の特徴を統合したマルチパラダイムのプログラミング言語である。名前の「Scala」は英語の「scalable language」に由来するものである。 主にJavaプラットフォーム(Java仮想マシン)上で動作し、既存のJavaのプログラムと容易に連携させることができる。 対応プラットフォーム Scala - Javaプラットフォーム Scala.js[4] - Scala から JavaScript へとトランスパイルする。 Scala Native[5] - LLVM を使用し、マシンネイティブの実行ファイルを出力 また、過去には下記のプラットフォームもサポートしていたが、現在は開発が中断している。 .NET Framework[6] Java Platform, Micro Edition CLDC Scal

    Scala - Wikipedia
  • 1