読者です 読者をやめる 読者になる 読者になる

by shigemk2

当面は技術的なことしか書かない

基調講演 #lldecade

LL DECADE2012

ほぼメモ書き

@miyagawa 宮川達彦 サンフランシスコ在住

Lightweight Languageとは?
より少ない能力、労力の消費で開発できる言語 → C?
10年を振り返る

Community

Perlの国へようこそ


Vim vs Emacs

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

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して気に入らなければ書き換えたらよいのでは?

PSGI

Culture

Plack/PSGI 最初はあまりうまくいかなかった

# 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
PerlRubyにinspireされることもある

(clackup
  (lambda (env)
     ;200
....

非同期親エクステンション

そのコードRubyでもできない? というのを常に続けていき、影響を与え合っている

RVM
PHP Brew
xxのPerl

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

COOKPAD

go to conferences and inspire each other

YAPC::Asia
Keep cross-language conference like this going!

Pythonは制約をつけたがる。
Rubyは限界がない(書くぶんにはいいけど後でカオスになりがち)

新しい言語を習得したいなら独学するより転職したほうがいいっす。

あるていどecosystemがあって言語Aでは使えない機能を言語Bの機能から引っぱってくる