sodiumイオンにっき2.0

トップ «前の日記(2008 08/29) 最新 次の日記(2008 08/31)» 編集
2002|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|

 この日記にツッコミを入れたい人は、ツッコミを入れたい日付をクリックすると、フォームが現れることもある模様です。


2008 08/30 LL Future [長年日記]

LL Future@なかのZERO

というわけで今年もLightweight Languageイベントやってまいりました。

今年の会場はなんと1000人規模、継続していると力が集まってくるのですかね。

基調講演

今年はついに外人選手の招聘です。というわけでPatchのえらい人のLarry Wall氏の講演…… はいいんですけど、なんか半分もわからんかったです。言語の壁は厚い。

どうやら主にPerl6について語っていただいていたようです。

以下、キーワード列挙で。

Simplicity

Cargo-cult Programming:(初心者のうちは?)いいです。

Cargo-cult Parsing:わるいです。

base language <-> derived language

JIT lexer(per language)

extensibility

LLで未来を発明する

100年後の(コンピュータ)言語について

100年後の言語はどうなっていると思いますか?という問いに対して……
  • 自然言語でコンピュータと意思疎通を図るようになっている(まつもとさん、住井さん)
  • 数学的な記法は残るだろう(まつもとさん)
  • わからない。けれども今(は実現できないけど)面白いアイディアを後世に残しておけばそれが100年後に実装されているかもしれない。(住井さん)
  • メモリの確保、解放や並列処理に伴う資源管理などの面倒な処理ががCPUのハードで管理されるようになり、言語として実装する必要がなくなる。(藤田さん)
  • 2078年に言語大統一理論が発見され、全ての言語がLispであることが明らかになる。(笑)(ひげぽんさん)
  • Community-Based Languageであろう(Larryさん)
会場からの質問
  • 数学的記法で好きなものは?>まつもとさん:'+'とか……

(実は'+'の記法が発明されたのが16世紀ぐらいなんだそうです。意外と新しい。)

あなたは今まで未来の言語のために何をしてきましたか?という問いに……
  • Perl6(Larryさん)
  • Ruby(笑)というのは置いといて、プログラミング言語に関心を持つ層を増やすべく活動をしている(まつもとさん)
  • 「プログラミング言語理論」の基礎研究(WordやExcelの研究をしての?と言われたそうです。)あとMinCaml(笑)……
  • Schemeの実装を通じて、Schemeの素晴らしさを世に広めたい(藤田さん、ひげぽんさん)
  • MonaOSで、面倒な設定なしのデフォルトで、いいものが使えるようにしていきたい(ひげぽんさん)
これから何をしていきたいですか
  • フルスタックOS(MonaOS)で、統一された「よい」環境を使ってほしい(ひげぽんさん)
  • 「面白い」仕様を実装していきたい(藤田さん)
  • 「象牙の塔」の中ではあまりいい実装は生まれなさそうなので基礎研究を。あと「面白い」アイディアを形として残していく(住井さん)
  • 言語人口を増やしたい。言語内で文法を拡張する機能は各人の言葉が通じなくなる元なのでそういう機能は作らない(まつもとさん)
  • オレPerl6が終わったら引退するんだ(Larryさん)
会場からの質問で……

(Schemeとかの)関数型言語って何がいいの?

  • 関数型言語はアイディアの草刈場
  • 副作用がない(はず)ので形式的に仕様検証が(論理的には)可能
  • 関数型言語ユーザには妙に頭のよい人が多いので、関数型言語を使っているとそういう人とオトモダチになれる

エラーメッセージはどうあるべきか?

  • 最初は最小限だけど、必要な人には詳細にアクセスできるようにリンクされていると便利だと思う(というようなことを言ってたのだと思う)

その他

  • 個人的には、100年後でもコンピュータの中身が見えるようになっていてほしい

今回の「言語の未来」の発表では「セキュリティ」という言葉が出なかったがどう考えているのか?

  • 考えないわけではないが、今思いつくことは実装してきている。セキュリティ研究者からの要望、挑戦があれば受ける

サイコー!?フレームワーク

このあたりでだいぶへばってきてます。なのであんまり書けることがなかったりします。

フレームワークはどうあるべきか。上にアプリケーションを背負っているのだから仕様をころころ変えるのはよくないのか、 それとも上にアプリケーションがあるからこそ、下のフレームワークが洗練されていくべきなのか。

中身がきちんと見えたほうがいいのか、見えるだけではなくアプリケーション側で思ったとおりに動作するように自身の動作を変えるべきなのか。

自身はシンプルさを保ち、自身の学習コストをアプリケーションの開発に振り向けるべきなのか、学習コストをかけさせてもアプリケーションの生産性を向上させるべきなのか。

そんなようなことを言ったとか言わないとかそんな感じで。

あんまり関係ないけど、Javaは文字列操作がすげー面倒なので、できればWebアプリは別の言語で組みたいと私は思います。

LLでアート

MAXとかProcessingとか、あまり聞かない処理系の話とか、センサからの入力をインタラクティブに処理する話とか。

試行錯誤が簡単にできる分だけLLとアートは相性がよさそうです。

実は結構寝てしまっていました。すみません。

キミならどう書く?

今回はLLでCodeGolfです。より少ないバイト数で書けたら勝ち。というだけじゃなく、その中に込められた創意工夫(一発ネタ含む)も評価したいですね、という話。

バイト数のPrettyPrintを出すのにddでファイルを作ってlsするってのはすげー。

たくさん書いてみると定跡みたいなものができてくるようです。

古い言語、新しい言語

いままでのLLイベントにはあまりなかった、司会者のストーリーにそってパネラーにインタビューしていくような進行でした。

竹迫さんがちょっとだけ前に出すぎてるように感じたけれど、そういうスタイルも面白いとも思います。これでいくとセッションの出来が司会者の技量によって決まるので、司会者の技量に自信がないと怖いスタイルだとも思いました。

ECMAScriptとLLVMを「マシンインディペンデントな新しいアセンブラ」という視点で捉えて一緒に扱うというのは面白い趣向だと思いました。

LLVMですが、「機械語」レベルでも(だからこそ?)結構いろんな最適化が効くというのが面白いですね。

ライトニングトーク

いろんな発表がありました。ネタ上等

twitterで人工無能を作ろう

twitter「で」作るというので、てっきり入力をtwitterにAPIで渡してそのFollowを返すのかと思ったら違ってた。

Client-side Database Storageで実際にアプリケーションを作成してみた

ローカルなソーシャルブックマークを作ってみた、という話。自分専用のデータベースがあると好き勝手にViewとか作れて便利だね、とか。でもViewでできることって大抵素のSELECT文で書けるような気が。

私は如何にしてNarioを作り、一面をクリアしたか

某横スクロール型アクションゲーム「みたいな」ゲームを作って、RubyGCのデモをした、というかクリアできるかどうかハラハラ

主人公キャラの胸ワッペンに「M」と書くのはやめたほうがいいとおもいました。

「Pit」で救う世界

アプリケーションで「デフォルト」ユーザとパスワードを設定することで、どれだけ膨大な時間と労力が無駄になっているかを力説するスレ

unbabel LLにLLを埋め込んでみた

端末入出力(+リダイレクト/パイプ)がない処理系だと辛そう

Ruby on Railsで実現する自走式Webサーバ

本当に自走するし。RoRがあまり関係なさげ

ちょっと草植えときますね型言語Grass

grassとWebの親和性は高いとかwww

Sclabで数値計算

物理計算のデモとか。微分方程式で挙動を書けるとか

Yet Another Prototype Oriented 〜NewtonScriptに見るもうひとつのプロトタイプ志向

NewtonScriptのお話。

超未来言語Gallina

GallinaはLLだ、という話とか。型も関数に渡せるのでC++のテンプレートが関数で書けます、とか。静的な仕様検定をソースに書くことで動的なテストを省略しよう、とか。

未来の並列っプログラミング言語としてのHaskell

並列配列という型を用意することで、演算を自動で並列展開できるぜ、という話。ちょっと書かなければいけない部分がまだ多すぎるような、でもまあ将来的にはこっちがデフォルトになるのかも。

Tags: ll llfuture

[]