タグ

scalaに関するfragarach_the_swordのブックマーク (7)

  • オブジェクト指向や関数型は「敗者の道具」である

    私は「もし完全無欠のプログラマがいるとしたら、どんなプログラマだろう」と夢想することがあります。「完全無欠のプログラマ」と聞いてどんなプログラマをイメージするかは人によって異なるでしょう。「難しいアルゴリズムを使いこなしてすばらしいプログラムを書く人」を想像する人もいるでしょうし、「チーム内のプログラマの能力を極限まで引き出して最良の結果を生み出す人」といったチーム寄りのイメージを持つ人もいるかもしれません。 「オブジェクト指向プログラミングや関数型プログラミングをバリバリ使いこなして優れたソフトウエアを作る人」というイメージを持つ人もいると思います。しかし、ちょっと考えてみると、これはおかしな話です。なぜなら、オブジェクト指向プログラミングも関数型プログラミングも、「人間がコンピュータの挙動をすべて把握することはできないことを前提に、そうした人間であっても良いプログラムを作れるように編み

    オブジェクト指向や関数型は「敗者の道具」である
    fragarach_the_sword
    fragarach_the_sword 2014/09/26
    記者の眼 - オブジェクト指向や関数型は「敗者の道具」である:ITpro
  • オブジェクト指向と関数型の特徴を備える---Scalaの準備

    Scalaは、スイス連邦工科大学ローザンヌ校のMartin Odersky(マーティン・オーダスキー)教授率いるチームが開発しているプログラミング言語です。オープンソース(BSDライセンスに似たSCALA LICENSE)で開発・公開されており、その範囲内で自由に利用できます。最初に、“なぜ、Scalaの人気が高まっているのか”を説明します。 Scalaは、オブジェクト指向に加えて関数型言語の特徴を備えた比較的新しい言語です。この、“オブジェクト指向に加えて”というのがポイントです。新しいパラダイム(問題解決のための考え方)を、従来のパラダイムに重ね合わせていることから、マルチパラダイムの言語ともいわれます。 ちなみにScalaという名前は、Scalable Language(拡張性のある言語)の短縮形です。そのスケーラブルという言葉には、「小さいプログラムも大規模なプログラムも同じ概念で

    オブジェクト指向と関数型の特徴を備える---Scalaの準備
    fragarach_the_sword
    fragarach_the_sword 2011/10/17
    ITPro:JavaユーザーのためのScala早わかり:オブジェクト指向と関数型の特徴を備える---Scalaの準備
  • 第19回 アクターで楽々並行プログラミング(1)

    有限会社ITプランニング勤務のプログラマーScala、OCaml、F#などの静的型付け関数型言語を利用したシステム開発業務に従事。定理証明支援器Coqやモデル発見器Alloyといった形式手法ツールの業務への応用にも興味を持っている。 Scalaの標準ライブラリは、Java程大きくありませんが、パーサーコンビネーターを筆頭に小粒でもぴりりと辛い逸品が揃っています。この記事でご紹介する「アクター」もその一つ、マルチスレッドのスパゲッティをおいしいペペロンチーノに変えてくれる、魔法のスパイスです。new Threadとしたくなったら、一歩立ち止まってscala.actorsパッケージの扉を叩いてみてください。 なお、稿では2回にわたって、アクターとは何なのか、アクターを使うとどのような事が可能なのかをご紹介する予定です。並行処理に興味があったり、なんらかの形で並行処理に触れたりしたことがあれ

    第19回 アクターで楽々並行プログラミング(1)
    fragarach_the_sword
    fragarach_the_sword 2010/08/30
    第19回 アクターで楽々並行プログラミング(1) - 刺激を求める技術者に捧げるScala講座:ITpro
  • 今からでも遅くない これから始めるScala(前編)

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

    今からでも遅くない これから始めるScala(前編)
    fragarach_the_sword
    fragarach_the_sword 2010/06/25
    今からでも遅くない これから始めるScala(前編)(1/7):CodeZine
  • AjaxとCometを利用したLiftのアプリケーションを作る

    前回までで、LiftのViewとModelを利用した簡単なアプリケーションの作成までを解説してきました。連載は今回で最終回となります。これまでのまとめの意味もこめて、いままで作成してきたTwitterのクローンのようなアプリケーションを改良して、Liftの目玉であるAjaxとCometを利用したアプリケーションの作成方法を解説します。 はじめに 前回までで、LiftのViewとModelを利用した簡単なアプリケーションの作成までを解説してきました。 連載は今回で最終回となります。これまでのまとめの意味もこめて、いままで作成してきたTwitterのクローンのようなアプリケーションを改良して、Liftの目玉であるAjaxとCometを利用したアプリケーションの作成方法を解説します。 対象読者 Javaは知っているが、Scalaも学んでみたいと思っている方 ScalaでのWebアプリケーショ

    AjaxとCometを利用したLiftのアプリケーションを作る
    fragarach_the_sword
    fragarach_the_sword 2010/03/17
    CodeZine連載:Scala+Liftによる実践Webアプリケーション開発(5)
  • Javaの限界を超えて実用化を目指す 新開発言語「Scala」のメリットとは~前編

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

    Javaの限界を超えて実用化を目指す 新開発言語「Scala」のメリットとは~前編
    fragarach_the_sword
    fragarach_the_sword 2009/11/12
    Javaの限界を超えて実用化を目指す 新開発言語「Scala」のメリットとは~前編(1/6):CodeZine
  • ScalaによるWebアプリケーションフレームワーク「Lift」とは

    Java仮想マシン上で動くオブジェクト指向+関数型言語として、Scala(スカラ)が最近注目を集めています。Scalaで構築されたWebアプリケーションフレームワークはいくつかありますが、 連載ではその中で比較的歴史のある(といっても2年程度ですが) フレームワークである、Lift(リフト)を紹介したいと思います。 はじめに Java仮想マシン(以下JVM)上で動くオブジェクト指向+関数型言語として、Scala(スカラ)が最近注目を集めています。 Scalaで構築されたWebアプリケーションフレームワークはいくつかありますが、 稿ではその中で比較的歴史のある(といっても2年程度ですが) フレームワークである、Lift(リフト)を紹介したいと思います。 対象読者 Javaは知っているが、Scalaも学んでみたいと思っている方 ScalaでのWebアプリケーション開発に興味がある方 必要な

    ScalaによるWebアプリケーションフレームワーク「Lift」とは
    fragarach_the_sword
    fragarach_the_sword 2009/09/16
    ScalaによるWebアプリケーションフレームワーク「Lift」とは(1/5):CodeZine
  • 1