タグ

Scalaに関するTAKESAKOのブックマーク (11)

  • 第14回 関数脳のつくり方 Second Season ~モナドで悟りをひらく~

    大手SIベンダにてSEやPMやアーキテクトとして勤務したのち,株式会社豆蔵を経て,現在は合同会社シンプルアーキテクト代表社員であり,株式会社匠Business Placeのチーフコンサルタント。主に超上流のプロセスである要求開発やオブジェクト指向,アジャイル開発のコンサルタントとして活躍中。開発の現場にこだわり,開発の現場を少しでもよくしたいと日夜奮闘している。要求開発アライアンス執行委員。著書に『オブジェクト脳のつくり方』や『eXtreme Programming実践レポート』(ともに翔泳社発行。後者は共著)などがある。 Javaなど,オブジェクト指向や手続き型のプログラミングの経験はあるけれど,関数型のプログラミングは初めてという皆様のための,そして筆者自身のための「関数脳のつくり方」シリーズのSecond Season(First Seasonはこちら)。今回は「モナド」を取り上げま

    第14回 関数脳のつくり方 Second Season ~モナドで悟りをひらく~
    TAKESAKO
    TAKESAKO 2009/10/29
     "私が勝手に関数型プログラミングの「師匠」と呼んでいるujihisa(氏久達博)氏" via http://twitter.com/kakutani/statuses/5223450059
  • https://blog.8-p.info/2009/10/scala-scripting

  • 理想の言語? - 書評 - Scalaスケーラブルプログラミング : 404 Blog Not Found

    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

    理想の言語? - 書評 - Scalaスケーラブルプログラミング : 404 Blog Not Found
  • 型レベルプログラミングの会 - kmizuの日記

    型レベルプログラミングの会、略して型レ会、行って来ました。メモとか取ってなかったので詳細な感想は書けないのですが、とにかく濃い話が盛りだくさんで面白かったです。このように魅力的なイベントを主催していただいたk.inabaさん、魅力的な発表をしてくださった皆様、会場を提供してくださったサイボウズラボの光成さんに感謝です。 C++の可変引数テンプレートの便利さに舌を巻いたり Haskellの関数従属とか使った型レベルプログラミングの方法にうなったり Haskellのtype familyほげほげの話がよくわからなくなってorzしたり いけがみさんの発表を聴いて428を買いに行きたくなったり Dのテンプレートメタプログラミングの自由さ&読みやすさに感動したり G'Camlのgeneric関数のシグネチャの読み方がなかなかわからなくてうなったり 初めて聞く話とか、話は聞いたことあるけど実際にどんな

    型レベルプログラミングの会 - kmizuの日記
    TAKESAKO
    TAKESAKO 2009/05/14
    うはw
  • http://www.codecommit.com/blog/scala/implementing-groovys-elvis-operator-in-scala

  • マルチコア危機:ScalaとErlangの対立

    ブロゴスフィアでは最近Scala対Erlangの議論がややヒートし続けている。マルチコアの世界(参考記事)が訪れようとしている今、いかにマルチコア危機を解決するかが問題になっている。ScalaとErlangはその解決法たらんとしている言語だが、少し違いがある。それぞれのアプローチの長所短所はなんだろうか? 問題 ムーアの法則はもう通用しない。かつてのようなクロック周波数の向上(リンク)は見込めず、かわりにコアの数を増やそうとしている。今の時代、あなたのノートPCでさえも2つコアを搭載していることだろう。 2つ以上のコアを有効に使うには、アプリケーションが並列処理を意識してないといけない。もしあなたの顧客が8コアのマシンを買ったとしたら、たとえそれをあるアプリケーションの専用マシンにしたとしても、そのアプリケーションがCPU性能の12%しか使えなくてもおかしくない、とあなたは顧客にどうにかし

    マルチコア危機:ScalaとErlangの対立
  • Scala, JavaScript, Java の違い - yukobaのブログ

    ScalaJavaScript はありとあらゆる事が対極なので、面白いです。 Scala はたくさん型(クラス)を作ることが推奨されている言語です。型は1行で簡単に作れるし、型のパターンマッチングの機能をはじめとして、型に関する機能が充実しています。ちょっとでも何か違う時は型を作り、複雑な問題は型を変えることで、より小さな簡単な問題に分割していきます。他の言語では、メンバ変数に対する if 文で書くような箇所も、型のパターンマッチングを使うと吉です。 それに対して、JavaScript はあまり型を作らずに、どんどん相乗りして行く方が、僕の経験から言うとベターです。{} で簡単にオブジェクトを作れてしまいますし、僕は結構、{type:"Hoge"} という感じで type というメンバ変数を使って、型に相当する物を識別しています。コーディングしている最中に型の問題を先送りにすることに

    Scala, JavaScript, Java の違い - yukobaのブログ
  • ナップサック問題をHaskellとScalaで - yukobaのブログ

    ナップサック問題という大昔からある有名な問題があります。怪盗が重量制限のあるナップサックにできるだけ物を詰め込んで、詰め込んだ価値を最大化する問題です。 そのための、教科書的な解法は、動的計画法を使うことです。プログラミングコンテスト(IOIやICPCなど)では非常に良く出るアルゴリズムです。 まずは、教科書的なボトムアップの解法。Scalaで書いています。 object KnapsackBottomUp extends Application { val goods = List((3,1), (4,2), (5,3)) val n = Integer.parseInt(Console.readLine) val solved = new Array[int](n + 1) for(weight <- 1 to n) { solved(weight) = goods.map( g =>

    ナップサック問題をHaskellとScalaで - yukobaのブログ
  • なぜScalaなのか?

    ”なぜScalaなのか?”という質問に答える前に、”Scalaとは何か?”という質問に最初に答える必要がある。ScalaのWEBサイト(source)から、以下の概説を見ることが出来る。 Scalaは、簡潔かつエレガント、そして型安全な手法で、一般的なプログラミングパターンを表現するために設計された、複数のパラダイムを持つ近代的なプログラミング言語です。それは関数型言語とオブジェクト指向の機能を、スムーズに統合しています。 Scalaはオブジェクト指向です:  Scalaは、全ての値がオブジェクトであるという意味においては、純粋なオブジェクト指向言語です。オブジェクトの型と振舞いは、クラスとその特性として記述されます。クラスの抽象性はサブクラス化と、mixinをベースとした柔軟なコンポジションメカニズムによって拡張されます。後者については、複数継承のクリーンな代替方法です。 Scalaは関

    なぜScalaなのか?
  • [Think IT] 【新・言語進化論】次にくる!新登場言語

    プログラミングを嗜む普通の社会人。はじめてのプログラミングは「Hello World」ではなく、N88-BASICで画面上に円を描いたこと。「外国語のよいところはそれをいくつ学ぼうと構わないことだ」という或る言語学者の言葉はプログラミング言語にも当てはまると最近感じ始めている。 http://blog.so-net.ne.jp/rainyday/ 技術部 教育ビジネス担当部長 CやFORTRANコンパイラなどの言語処理系の設計・開発に約10年間従事。その後ユーザ系企業でUNIXによるクラサバの設計・開発を主導。同時に企業の内外で人材育成に注力する。現在はオープンソースソフトウェアの普及と教育のため OSS に関する教育事業を企画する傍ら、神戸情報大学院大学で講師として教鞭をとる。「ソフトウェア工学の基礎を勉強してオールラウンド・プレーヤーを目指せ」が技術者育成についての口癖。

  • Onion開発日記(2007-08-11) - LLSpirit LT発表資料「Power of Scala」

    TAKESAKO
    TAKESAKO 2007/08/11
    LLSpirit LT発表資料「Power of Scala」
  • 1