Gaucheをはじめてみませんか?

Gaucheとは 本連載では、今注目のプログラミング言語「Gauche」について解説しながら、簡単なWebアプリを作っていきます。Gaucheとは、ハワイ在住の日本人ハッカー「川合 史朗」さんが作ったLispの一種である、Schemeの処理系です。オープンソースで開発されています。

吉田 裕美

2008年5月16日 20:00

Gaucheとは

 本連載では、今注目のプログラミング言語「Gauche」について解説しながら、簡単なWebアプリを作っていきます。Gaucheとは、ハワイ在住の日本人ハッカー「川合 史朗」さんが作ったLispの一種である、Schemeの処理系です。オープンソースで開発されています。

 Gaucheの特徴は、Perlのように気軽に使える軽い処理系でありながら、正規表現、CommonLisp風オブジェクトシステムなど、Scheme標準にはない拡張機能や豊富なライブラリを持ち、実用的なプログラミングが行える点です。

 最近「Gauche」に関する本も出版され、「第4回:都内大手3書店の3月ベスト3発表!(http://www.thinkit.co.jp/article/49/4/2.html)」でも紹介されているように売れ行きも好評です。それは、なぜでしょうか? 筆者はLisp、特にSchemeの持つ「シンプルでありながらパワフル」という特徴がプログラマを引きつけるからではないかと思います。

LispとGauche

 読者の皆さんはLispのコードを目にした時、「何て変な言語だろう?」「どうやってこんな言語でプログラミングをするんだろう?」と思った方が多いのではないでしょうか。

 筆者がLispを知ったのは、大学の卒業研究でLispの処理系を作ることになったのがきっかけです。研究は先生の書かれた論文をもとにした実装で、処理系は主にアセンブラで書きました。いざ処理系が動き出し、Lispコードを動かす段になりましたが、その当時は、本に書かれた例題以外のコードがなかなか書けませんでした。

 しかし、Lisp処理系はとてもシンプルであり、ガーベッジコレクションなどの面白いアルゴリズムも備えていて、筆者はLisp処理系の虜になったことを覚えています。就職してからは、筆者はJavaやRubyでのWeb開発がメインでLispに直接ふれることはありませんでした。

 そんなある日、ネット上の情報からKahua(http://www.kahua.org/)というGaucheで書かれたWebフレームワークを知りました。Kahuaは「継続」という概念をベースにしたフレームワークです。

 通常のWebアプリケーションでは、ブラウザからのリクエストに対して処理を行い、レスポンスを戻すという流れを1つの単位としてプログラミングしていきます。したがって図1のように複数ページにまたがる処理を書く場合、処理はページ単位に細切れで書き、ページ間で渡す情報はセッションに格納するという煩雑なプログラムになります。

 しかし、「継続」を用いるとページとは無関係に一連の流れをプログラミングすることで、簡単にWebアプリケーションを書くことができます。「継続」はScheme(Lisp)の持つパワーの1つと言えるでしょう。このようなGaucheの持つ「シンプルでありながらパワフル」という特徴を本連載を通じて、感じ取っていだければ幸いです。

 では、早速インストールしていきましょう。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30