ほぼメモ書き
@miyagawa 宮川達彦 サンフランシスコ在住
Lightweight Languageとは?
より少ない能力、労力の消費で開発できる言語 → C?
10年を振り返る
Community
Perlの国へようこそ
2003 すごくJavaJavaしい
Java Worldとか…
fxxkin' java という結論に。
BLOG HACKS
Open Collaboration Beyond Code
コードだけにこだわらない部分で色々な会社のエンジニアとコラボレートしよう
2005 Six Apartへ
Resume search.cpan.org/~miyagawa
Software=people, My code is What I Really Am..
YAPC::Asia 2006
Code
polyglot ... Knowing or using several languages
いろんな言語のコードを見て、状況に応じて使い分ける
Python ドキュメンテーションが素晴しい(perlはライブラリを作ってCPANに投げたがる)
There sould be on and preferably only one -- obvious way to do it.
Sharing Code github(or SOCIAL CODING)
software を folk する
github 敷居がものすごく下がって可視化されてる
you don't need someone's permission to write code.
どんどん書いてfolkして気に入らなければ書き換えたらよいのでは?
Culture
# WSGI def hello (envirion, start_response): start_response("200 OK", [ ('Content=Type', 'text/plain') ]) return ["Hello World"]
ぶっちゃけPythonにこだわる必要はまったくなく、Perlで書いてもいいんじゃね?
It's been a huge success.
CGI.pm (仮想CGIでも動く) → PSGIをサポートしていればどの環境、言語でも動く
言葉の意味をちゃんと理解すること
Plack
Insprired by: Rack, Werkzeug
Plack-Middleware-InteractiveDebugger
Don't just borrow the idea. Copy it
Copyt the ecosystem too
Be awasere of the difference in notations
WSGI: dec 2003 Rack:Aug 2009
遅く始まると先人の苦労した部分を造作もなく引き継げるのでよい。
better late than never
Better late than too early
now is better than never (今すぐやらない。でもやらないよりはやれ)
Plack 1.0 (19/07/2012)
Plack 2.0??? Rack for the feature
Cross-Language Pollination
PerlやRubyにinspireされることもある
(clackup (lambda (env) ;200 ....
非同期親エクステンション
そのコードRubyでもできない? というのを常に続けていき、影響を与え合っている
Plack: Another thing stolen from RubyTrhere're only two hard things in Computer Science: cache invalidation and naming things Phil Karlton
(or off-by-one errors)
Hard to type nor say. People tend to shorten the names. (略しすぎ)
Perl (Descriptive boring, simple)
HTTP::Server::Simple JSON::XS
Python (Descriptive confusiong py*, *.py)
python-json pyoauth2 pygeoip PyYAML Numpy
Ruby
Yajl kaminari Psych paperclip (Fancy, createive chaotic)
Expect Frameworks,
Django, bottle, Catalyst, Dancer
People tend to love software with names. (lcitation needed)
Starman Starlet Twiggy Markapl Corona Pinto Xslate Carton
Confusing for a bit, but it feels more "real"
Sapporo Ruby Kaigi 2012
go to conferences and inspire each other
YAPC::Asia
Keep cross-language conference like this going!
Pythonは制約をつけたがる。
Rubyは限界がない(書くぶんにはいいけど後でカオスになりがち)
新しい言語を習得したいなら独学するより転職したほうがいいっす。
あるていどecosystemがあって言語Aでは使えない機能を言語Bの機能から引っぱってくる