タグ

ocamlに関するbrendonのブックマーク (13)

  • 「プログラミングの基礎」を使った授業紹介

    「プログラミングの基礎」を使った授業紹介 浅井 健一 このページでは、お茶の水女子大学、理学部、情報科学科の2年生を 対象とした授業「関数型言語」のビデオほかを公開しています。 この授業は反転授業 (flipped class) を行っており、 受講生は授業前に以下の予習を求められます。 毎回の授業用に用意されたビデオを見て、 予習クイズに答えること。 教科書の該当部分を読んで、 教科書問題に答えること。 授業時間中は特に内容の説明はせず、 受講生は別途、示される練習問題とレポート問題を各自、解きます。 その際に生じた疑問点等について授業で個別に対応しています。

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

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

    オブジェクト指向や関数型は「敗者の道具」である
  • OCamlの開発環境の作り方(2014年夏版) - osiire’s blog

    OCaml 4.02.0が出ましたね。PCを新しくしたついでにemacs 24系でOCaml環境を作った時のメモを置いておきます。 $ apt-get install opam $ opam init $ opam update $ opam switch 4.02.0 $ eval `opam config env` $ opam install omake ocp-index ocp-indent $ apt-get install auto-complete-el $ cat .emacs.d/ocaml.el (if window-system (require 'caml-font)) (setq auto-mode-alist (cons '("\\.ml[iylp]?$" . caml-mode) auto-mode-alist)) (autoload 'caml-mode

    OCamlの開発環境の作り方(2014年夏版) - osiire’s blog
  • OCamlによるプロダクト開発

    「作らないことも選択肢に」「なぜやるのかを自分の言葉で」未経験エンジニアが社会人1年目で学んだ6つの教訓|(株)リブセンスLivesense Inc.

    OCamlによるプロダクト開発
  • お茶の水女子大学 理学部 情報科学科 准教授 浅井健一さんインタビュー

    プログラミングをどのような観点に着目して学生に学んでほしいとお考えですか?またそれを落とし込むためのどのような教育を実施していますか? 何かしらのソフトウェアを制作する際、それが何をするものなのか、一番外側の部分をしっかりと把握して全体をとらえること、それを構造的に分解して個々のパーツをきちんと組み上げること、そして最後にきちんとテストをして正しく動くことを確認するという流れをしっかりと学んで欲しいです。 そのために、お茶の水女子大学 理学部 情報科学科では C を中心にしつつ Java や関数型言語 OCaml などいろいろな言語を使って講義をしています。 C では、ポインタ操作やメモリ構造を意識したプログラミングなど低レベルの記述を求められますが、情報科学科を卒業したからにはそういったことも扱える人になって欲しいです。 一方で、より抽象度の高い言語を使うことで、細部にとらわれずに高度な

    お茶の水女子大学 理学部 情報科学科 准教授 浅井健一さんインタビュー
  • OCamlとRubyで同じプログラムを書いてみた

    以前書いたとおり、OCamlとRubyで簡単な家計簿プログラムmohを作った。全く同じというわけではなく、後に作ったRuby版のほうが機能を追加したりしているけど、面白い経験だったので感想を書いてみる。 客観的な比較 サイズを行数で比較すると、OCaml版は279、Ruby版は360で、Ruby版の方が機能が増えていることを考えるとほぼ同じくらいといえると思う。ただし、Rubyはユニットテストが作成に不可欠だったので、それを加えると499行とOCaml版に比べて倍くらいになる。まあユニットテストはOCamlでもした方がいいのだろうが、あとで述べる通り、しなくても動いてしまったのでユニットテストはしていない。いずれにしても、どちらも同じくらいコンパクトな言語だといえると思う。 OCamlのいいところ これからは主観の入った比較となる。 よくOCamlは「コンパイルが通ればバグはないと言わしめ

  • 私が愛するオブジェクト指向とそれを使わない理由 - takuto_hの日記

    この記事では、私がオブジェクト指向のどこを愛しどこを素晴らしいと感じていて、そのうえでなぜオブジェクト指向を使うことを避けているのかを書き留めておきます。関数型言語使いの方で、「オブジェクト指向の何がいいのかわからない」「オブジェクト指向難しすぎ・複雑すぎ」とおっしゃる方にぜひ読んでいただきたいと思っています。また、「オブジェクト指向言語完璧に理解したわ」と思っている方にも読んでいただきたく思います。 なお、ここでのオブジェクト指向の定義は、「各言語でオブジェクト指向と呼ばれているものすべて」とします。JavaScalaJavaScriptやSmalltalkやRubyやCommon LispやOCamlがオブジェクト指向と呼んでいるものすべての総称です。もっとまともな定義が知りたい方は以下の記事がおすすめです。 オブジェクト指向の概念の発明者は誰ですか?(改訂版) - Smallta

    私が愛するオブジェクト指向とそれを使わない理由 - takuto_hの日記
  • azito.com

    This domain may be for sale!

  • [OCaml]書評「プログラミングの基礎」 - あどけない話

    僕はよく「関数プログラミングの入門書には何がいいか」という質問を受ける。そのときは必ずこの(と他のいくつか)を答えるようにしている。書評を書いたつもりになっていが、検索してみると書いてないようなので、反省して良書を紹介してみようと思う。 プログラミングの基礎 ((Computer Science Library)) 作者: 浅井健一出版社/メーカー: サイエンス社発売日: 2007/03/01メディア: 単行購入: 17人 クリック: 409回この商品を含むブログ (127件) を見る 書はプログラミングの経験のない人を対象としており、書名通りプログラミングの基礎が説明されている。使用する言語は OCaml である。著者の浅井先生は、お茶の水女子大学でプログラミングを教えている。授業の経験を元にしたにはよくあることだが、内容が実に整然としており、例題がこなれている。 初心者を対象と

    [OCaml]書評「プログラミングの基礎」 - あどけない話
  • emacs+omakeなocamler向けのflymake設定 - osiire’s blog

    下記の設定を.emacsに入れてocaml-flymake.shを適当な場所に置くだけ。色はお好みにどうぞ。 (require 'flymake) (push '("File \"\\(.*\\)\", line \\([0-9]+\\), characters \\([0-9]+\\)--?\\([0-9]+\\):\\(.*\\)" 1 2 3 5) flymake-err-line-patterns) (push '("\\.ml\\'" flymake-ocaml-init) flymake-allowed-file-name-masks) (defun flymake-ocaml-init () (list "~/.emacs.d/ocaml-flymake.sh")) (custom-set-faces '(flymake-errline ((((class color)) (

    emacs+omakeなocamler向けのflymake設定 - osiire’s blog
  • 実務で使うOCaml - 泥臭い仕事をサクっとこなす方法 - keigoiの日記

    プログラマが実務で出会うのは、問題が整理されたキレイな仕事ばかりじゃない。プロダクトに質的じゃない部分でもプログラムを書く必要に迫られる。いわゆる開発方法論では抽象化されてしまう、今ここにいるソフトウェア開発者の悩みだ。 今日は、私が仕事で書いたOCamlのコードを晒して、如何にOCamlがプログラマの仕事の道具として優れているかを主張したい。泥臭く、関数的でない、エレガントさのかけらもない、生活臭のあるコードだ。勤務先はOCamlをメイン言語として使っている。研究所とかではなく普通に受託開発を生業としている会社だ。OCamlは理論一辺倒で、マニア向けで、現実のソフトウェア開発には使えない、という誤解が万が一あるかもしれないが、全くそんなことはない。 (Haskellもそうだけど、それはまたの機会に) いかにOCamlが優れているかについての概論めいた話は、OCamlを数十人体制で10年

    実務で使うOCaml - 泥臭い仕事をサクっとこなす方法 - keigoiの日記
  • ウェブブラウザで関数型プログラミング! js_of_ocaml - camlspotter’s blog

    js_of_ocaml が熱い。 GoogleDart とか、そんな場合じゃない!! OCaml で書かれたプログラムがなぜか JavaScript に変換され、それがブラウザで動く。 JS で型がついていないオブジェクトでも何となく型をつけて OCamlで型安全に呼び出せる! 既存の JS ライブラリ資産が、ほとんど手間をかけずに、そのまま関数型言語パラダイムで使える! え?よくわからない? http://ocsigen.org/js_of_ocaml/manual/ の demo を試してご覧なさい。これが全部 OCaml で書かれている…! そんなわけで、 js_of_ocaml 体験記。だいたい実際に行っていった Hack を(行き止まりになった失敗枝は刈り去って)なぞっている。あ、ちなみに当方 JavaScript に関してはほとんど知識が無い。JS に関しては用語とか間違

    ウェブブラウザで関数型プログラミング! js_of_ocaml - camlspotter’s blog
  • OCaml標準ライブラリの拡張 | 黒曜の吹き溜まり

  • 1