Enviar pesquisa
Carregar
PyCon UK 2008: Challenges for Dynamic Languages
•
3 gostaram
•
634 visualizações
Ted Leung
Seguir
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 60
Baixar agora
Baixar para ler offline
Recomendados
What's new in Perl 5.12?
What's new in Perl 5.12?
acme
An Introduction to SPL, the Standard PHP Library
An Introduction to SPL, the Standard PHP Library
Robin Fernandes
The Sincerest Form of Flattery
The Sincerest Form of Flattery
José Paumard
Free your lambdas
Free your lambdas
José Paumard
Using spl tools in your code
Using spl tools in your code
Elizabeth Smith
Analysis Software Development
Analysis Software Development
Akira Shibata
Php extensions
Php extensions
Elizabeth Smith
Perl Moderno
Perl Moderno
Tiago Peczenyj
Recomendados
What's new in Perl 5.12?
What's new in Perl 5.12?
acme
An Introduction to SPL, the Standard PHP Library
An Introduction to SPL, the Standard PHP Library
Robin Fernandes
The Sincerest Form of Flattery
The Sincerest Form of Flattery
José Paumard
Free your lambdas
Free your lambdas
José Paumard
Using spl tools in your code
Using spl tools in your code
Elizabeth Smith
Analysis Software Development
Analysis Software Development
Akira Shibata
Php extensions
Php extensions
Elizabeth Smith
Perl Moderno
Perl Moderno
Tiago Peczenyj
A bridge between php and ruby
A bridge between php and ruby
do_aki
Future of Ruby on the Web
Future of Ruby on the Web
Future Insights
Hacking with ruby2ruby
Hacking with ruby2ruby
Marc Chung
Web aplikāciju izstrāde ar Ruby on Rails un Oracle DB
Web aplikāciju izstrāde ar Ruby on Rails un Oracle DB
Raimonds Simanovskis
JavaScriptとLisp
JavaScriptとLisp
taiju higashi
Lisp Primer Key
Lisp Primer Key
Yuumi Yoshida
Lightweight Webservices with Sinatra and RestClient
Lightweight Webservices with Sinatra and RestClient
Adam Wiggins
Plataforma java
Plataforma java
Andre Fonseca
What's new in Perl 5.10?
What's new in Perl 5.10?
acme
Developing A Procedural Language For Postgre Sql
Developing A Procedural Language For Postgre Sql
Joshua Drake
Scala and Hadoop @ eBay
Scala and Hadoop @ eBay
ebaynyc
Care For The Community
Care For The Community
Murray Steele
Empire: JPA for RDF & SPARQL
Empire: JPA for RDF & SPARQL
Clark & Parsia LLC
Ruby - The Hard Bits
Ruby - The Hard Bits
Paul Gallagher
Workshop de Ruby e Rails na USP Leste 2012
Workshop de Ruby e Rails na USP Leste 2012
Fabio Akita
Ruby off Rails---rack, sinatra and sequel
Ruby off Rails---rack, sinatra and sequel
Jiang Wu
Workshop de Ruby on Rails
Workshop de Ruby on Rails
Fabio Akita
Web development with Lua: Introducing Sailor an MVC web framework @ CodingSer...
Web development with Lua: Introducing Sailor an MVC web framework @ CodingSer...
Etiene Dalcol
Ruby Sapporo Night Vol3
Ruby Sapporo Night Vol3
Koji SHIMADA
Sinatra + Heroku
Sinatra + Heroku
lvrubygroup
DjangoCon 2009 Keynote
DjangoCon 2009 Keynote
Ted Leung
A Survey of Concurrency Constructs
A Survey of Concurrency Constructs
Ted Leung
Mais conteúdo relacionado
Semelhante a PyCon UK 2008: Challenges for Dynamic Languages
A bridge between php and ruby
A bridge between php and ruby
do_aki
Future of Ruby on the Web
Future of Ruby on the Web
Future Insights
Hacking with ruby2ruby
Hacking with ruby2ruby
Marc Chung
Web aplikāciju izstrāde ar Ruby on Rails un Oracle DB
Web aplikāciju izstrāde ar Ruby on Rails un Oracle DB
Raimonds Simanovskis
JavaScriptとLisp
JavaScriptとLisp
taiju higashi
Lisp Primer Key
Lisp Primer Key
Yuumi Yoshida
Lightweight Webservices with Sinatra and RestClient
Lightweight Webservices with Sinatra and RestClient
Adam Wiggins
Plataforma java
Plataforma java
Andre Fonseca
What's new in Perl 5.10?
What's new in Perl 5.10?
acme
Developing A Procedural Language For Postgre Sql
Developing A Procedural Language For Postgre Sql
Joshua Drake
Scala and Hadoop @ eBay
Scala and Hadoop @ eBay
ebaynyc
Care For The Community
Care For The Community
Murray Steele
Empire: JPA for RDF & SPARQL
Empire: JPA for RDF & SPARQL
Clark & Parsia LLC
Ruby - The Hard Bits
Ruby - The Hard Bits
Paul Gallagher
Workshop de Ruby e Rails na USP Leste 2012
Workshop de Ruby e Rails na USP Leste 2012
Fabio Akita
Ruby off Rails---rack, sinatra and sequel
Ruby off Rails---rack, sinatra and sequel
Jiang Wu
Workshop de Ruby on Rails
Workshop de Ruby on Rails
Fabio Akita
Web development with Lua: Introducing Sailor an MVC web framework @ CodingSer...
Web development with Lua: Introducing Sailor an MVC web framework @ CodingSer...
Etiene Dalcol
Ruby Sapporo Night Vol3
Ruby Sapporo Night Vol3
Koji SHIMADA
Sinatra + Heroku
Sinatra + Heroku
lvrubygroup
Semelhante a PyCon UK 2008: Challenges for Dynamic Languages
(20)
A bridge between php and ruby
A bridge between php and ruby
Future of Ruby on the Web
Future of Ruby on the Web
Hacking with ruby2ruby
Hacking with ruby2ruby
Web aplikāciju izstrāde ar Ruby on Rails un Oracle DB
Web aplikāciju izstrāde ar Ruby on Rails un Oracle DB
JavaScriptとLisp
JavaScriptとLisp
Lisp Primer Key
Lisp Primer Key
Lightweight Webservices with Sinatra and RestClient
Lightweight Webservices with Sinatra and RestClient
Plataforma java
Plataforma java
What's new in Perl 5.10?
What's new in Perl 5.10?
Developing A Procedural Language For Postgre Sql
Developing A Procedural Language For Postgre Sql
Scala and Hadoop @ eBay
Scala and Hadoop @ eBay
Care For The Community
Care For The Community
Empire: JPA for RDF & SPARQL
Empire: JPA for RDF & SPARQL
Ruby - The Hard Bits
Ruby - The Hard Bits
Workshop de Ruby e Rails na USP Leste 2012
Workshop de Ruby e Rails na USP Leste 2012
Ruby off Rails---rack, sinatra and sequel
Ruby off Rails---rack, sinatra and sequel
Workshop de Ruby on Rails
Workshop de Ruby on Rails
Web development with Lua: Introducing Sailor an MVC web framework @ CodingSer...
Web development with Lua: Introducing Sailor an MVC web framework @ CodingSer...
Ruby Sapporo Night Vol3
Ruby Sapporo Night Vol3
Sinatra + Heroku
Sinatra + Heroku
Mais de Ted Leung
DjangoCon 2009 Keynote
DjangoCon 2009 Keynote
Ted Leung
A Survey of Concurrency Constructs
A Survey of Concurrency Constructs
Ted Leung
Seeding The Cloud
Seeding The Cloud
Ted Leung
Programming Languages For The Cloud
Programming Languages For The Cloud
Ted Leung
MySQL User Conference 2009: Python and MySQL
MySQL User Conference 2009: Python and MySQL
Ted Leung
PyCon US 2009: Challenges and Opportunities for Python
PyCon US 2009: Challenges and Opportunities for Python
Ted Leung
Northwest Python Day 2009
Northwest Python Day 2009
Ted Leung
OSCON 2008: Open Source Community Antipatterns
OSCON 2008: Open Source Community Antipatterns
Ted Leung
OSCON 2007: Open Design, Not By Committee
OSCON 2007: Open Design, Not By Committee
Ted Leung
Ignite The Web 2007
Ignite The Web 2007
Ted Leung
ApacheCon US 2007: Open Source Community Antipatterns
ApacheCon US 2007: Open Source Community Antipatterns
Ted Leung
OSCON 2005: Build Your Own Chandler Parcel
OSCON 2005: Build Your Own Chandler Parcel
Ted Leung
PyCon 2005 PyBlosxom
PyCon 2005 PyBlosxom
Ted Leung
SeaJUG March 2004 - Groovy
SeaJUG March 2004 - Groovy
Ted Leung
OSCON 2004: XML and Apache
OSCON 2004: XML and Apache
Ted Leung
OSCON 2004: A Developer's Tour of Chandler
OSCON 2004: A Developer's Tour of Chandler
Ted Leung
SeaJUG Dec 2001: Aspect-Oriented Programming with AspectJ
SeaJUG Dec 2001: Aspect-Oriented Programming with AspectJ
Ted Leung
IQPC Canada XML 2001: How to develop Syntax and XML Schema
IQPC Canada XML 2001: How to develop Syntax and XML Schema
Ted Leung
IQPC Canada XML 2001: How to Use XML Parsing to Enhance Electronic Communication
IQPC Canada XML 2001: How to Use XML Parsing to Enhance Electronic Communication
Ted Leung
ApacheCon 2000 Everything you ever wanted to know about XML Parsing
ApacheCon 2000 Everything you ever wanted to know about XML Parsing
Ted Leung
Mais de Ted Leung
(20)
DjangoCon 2009 Keynote
DjangoCon 2009 Keynote
A Survey of Concurrency Constructs
A Survey of Concurrency Constructs
Seeding The Cloud
Seeding The Cloud
Programming Languages For The Cloud
Programming Languages For The Cloud
MySQL User Conference 2009: Python and MySQL
MySQL User Conference 2009: Python and MySQL
PyCon US 2009: Challenges and Opportunities for Python
PyCon US 2009: Challenges and Opportunities for Python
Northwest Python Day 2009
Northwest Python Day 2009
OSCON 2008: Open Source Community Antipatterns
OSCON 2008: Open Source Community Antipatterns
OSCON 2007: Open Design, Not By Committee
OSCON 2007: Open Design, Not By Committee
Ignite The Web 2007
Ignite The Web 2007
ApacheCon US 2007: Open Source Community Antipatterns
ApacheCon US 2007: Open Source Community Antipatterns
OSCON 2005: Build Your Own Chandler Parcel
OSCON 2005: Build Your Own Chandler Parcel
PyCon 2005 PyBlosxom
PyCon 2005 PyBlosxom
SeaJUG March 2004 - Groovy
SeaJUG March 2004 - Groovy
OSCON 2004: XML and Apache
OSCON 2004: XML and Apache
OSCON 2004: A Developer's Tour of Chandler
OSCON 2004: A Developer's Tour of Chandler
SeaJUG Dec 2001: Aspect-Oriented Programming with AspectJ
SeaJUG Dec 2001: Aspect-Oriented Programming with AspectJ
IQPC Canada XML 2001: How to develop Syntax and XML Schema
IQPC Canada XML 2001: How to develop Syntax and XML Schema
IQPC Canada XML 2001: How to Use XML Parsing to Enhance Electronic Communication
IQPC Canada XML 2001: How to Use XML Parsing to Enhance Electronic Communication
ApacheCon 2000 Everything you ever wanted to know about XML Parsing
ApacheCon 2000 Everything you ever wanted to know about XML Parsing
Último
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Rafal Los
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
The Digital Insurer
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Igalia
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
The Digital Insurer
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
Enterprise Knowledge
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
Sinan KOZAK
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Neo4j
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Roshan Dwivedi
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
apidays
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
gurkirankumar98700
Slack Application Development 101 Slides
Slack Application Development 101 Slides
praypatel2
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
Delhi Call girls
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
Enterprise Knowledge
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
Radu Cotescu
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
ThousandEyes
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
V3cube
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
Gabriella Davis
Último
(20)
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Slack Application Development 101 Slides
Slack Application Development 101 Slides
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
PyCon UK 2008: Challenges for Dynamic Languages
1.
J2EE vs Django
Ted Leung Sun Microsystems
2.
Not!
3.
Challenges
for Dynamic Languages Ted Leung Sun Microsystems
4.
http://flickr.com/photos/pensiero/628674486/
5.
PHP - 9.2%
Python - 5% Perl - 4.8% JavaScript - 3.3% Ruby - 2.7%
6.
Do we want
to? http://flickr.com/photos/kk/1295074084/
7.
http://flickr.com/photos/thewmatt/1864823746/
8.
http://flickr.com/photos/access/277985573/
9.
http://flickr.com/photos/stuckincustoms/388394597/
10.
http://flickr.com/photos/mrbill/2502891680/
http://flickr.com/photos/mrbill/2502891680/
11.
12.
http://flickr.com/photos/stefan_michele/456453312/
13.
X=1024; Y=768; A=3; J=0;K=-10;L=-7;M=1296;N=36;O=255;P=9;_=1<<15;E;S;C;D;F(b){E=quot;1quot;quot;111886:6:??AAFquot; quot;FHHMMOO55557799@@>>>BBBGGIIKKquot;[b]-64;C=quot;C@=::C@@==@=:C@=:C@=:C5quot;quot;31/513/5131/quot; quot;31/531/53quot;[b
]-64;S=b<22?9:0;D=2;}I(x,Y,X){Y?(X^=Y,X*X>x?(X^=Y):0, I (x,Y/2,X )):(E=X); }H(x){I(x, _,0);}p;q( c,x,y,z,k,l,m,a, b){F(c );x-=E*M ;y-=S*M ;z-=C*M ;b=x* x/M+ y*y/M+z *z/M-D*D *M;a=-x *k/M -y*l/M-z *m/M; p=((b=a*a/M- b)>=0?(I (b*M,_ ,0),b =E, a+(a>b ?-b:b)): -1.0);}Z;W;o (c,x,y, z,k,l, m,a){Z=! c? -1:Z;c <44?(q(c,x ,y,z,k, l,m,0,0 ),(p> 0&&c!= a&& (p<W ||Z<0) )?(W= p,Z=c): 0,o(c+ 1, x,y,z, k,l, m,a)):0 ;}Q;T; U;u;v;w ;n(e,f,g, h,i,j,d,a, b,V){o(0 ,e,f,g,h,i,j,a);d>0 &&Z>=0? (e+=h*W/M,f+=i*W/M,g+=j*W/M,F(Z),u=e-E*M,v=f-S*M,w=g-C*M,b=(-2*u-2*v+w) /3,H(u*u+v*v+w*w),b/=D,b*=b,b*=200,b/=(M*M),V=Z,E!=0?(u=-u*M/E,v=-v*M/E,w=-w*M/ E):0,E=(h*u+i*v+j*w)/M,h-=u*E/(M/2),i-=v*E/(M/2),j-=w*E/(M/2),n(e,f,g,h,i,j,d-1 ,Z,0,0),Q/=2,T/=2, U/=2,V=V<22?7: (V<30?1:(V<38?2:(V<44?4:(V==44?6:3)))) ,Q+=V&1?b:0,T +=V&2?b :0,U+=V &4?b:0) :(d==P?(g+=2 ,j=g>0?g/8:g/ 20):0,j >0?(U= j *j/M,Q =255- 250*U/M,T=255 -150*U/M,U=255 -100 *U/M):(U =j*j /M,U<M /5?(Q=255-210*U /M,T=255-435*U /M,U=255 -720* U/M):(U -=M/5,Q=213-110*U /M,T=168-113*U / M,U=111 -85*U/M) ),d!=P?(Q/=2,T/=2 ,U/=2):0);Q=Q< 0?0: Q>O? O: Q;T=T<0? 0:T>O?O:T;U=U<0?0: U>O?O:U;}R;G;B ;t(x,y ,a, b){n(M*J+M *40*(A*x +a)/X/A-M*20,M*K,M *L-M*30*(A*y+b)/Y/A+M*15,0,M,0,P, -1,0,0);R+=Q ;G+=T;B +=U;++a<A?t(x,y,a, b):(++b<A?t(x,y,0,b):0);}r(x,y){R=G=B=0;t(x,y,0,0);x<X?(printf(quot;%c%c%cquot;,R/A/A,G /A/A,B/A/A),r(x+1,y)):0;}s(y){r(0,--y?s(y),y:y);}main(){printf(quot;P6n%i %in255quot; quot;nquot;,X,Y);s(Y);}
14.
http://flickr.com/photos/wink/2181740364/
15.
http://flickr.com/photos/66164549@N00/2778719952/
16.
Perl
http://flickr.com/photos/66164549@N00/2778719952/
17.
Python Perl
http://flickr.com/photos/66164549@N00/2778719952/
18.
Python Perl Tcl
http://flickr.com/photos/66164549@N00/2778719952/
19.
Python Perl Tcl
Dylan http://flickr.com/photos/66164549@N00/2778719952/
20.
Python Perl
Ruby Tcl Dylan http://flickr.com/photos/66164549@N00/2778719952/
21.
Python
Lua Perl Ruby Tcl Dylan http://flickr.com/photos/66164549@N00/2778719952/
22.
Python
Lua Perl Ruby Tcl Haskell Dylan http://flickr.com/photos/66164549@N00/2778719952/
23.
Python
Lua Perl Ruby Tcl Haskell Dylan Caml http://flickr.com/photos/66164549@N00/2778719952/
24.
Python
Lua Perl Ruby Tcl Haskell Erlang Dylan Caml http://flickr.com/photos/66164549@N00/2778719952/
25.
http://flickr.com/photos/almostinfamous/32546829/
26.
http://flickr.com/photos/fuschia_foot/2394726476/
27.
C#
http://flickr.com/photos/ndm007/171398958/
28.
# Builds a
function that returns true # when 'f' returns false, and vice versa. def complement f lambda {|*args| not f.call(*args) } end is_even = lambda {|n| n % 2 == 0 } is_odd = complement(is_even) is_odd.call(1) # true is_odd.call(2) # false
29.
var myRotator =
{ path: 'images/', speed: 4500, images: [quot;smile.gifquot;, quot;grim.gifquot;, quot;frown.gifquot;, quot;bomb.gifquot;] }
30.
31.
PHP
32.
Python PHP
33.
Python
PHP Perl
34.
JavaScript
Python PHP Perl
35.
Ruby
JavaScript Python PHP Perl
36.
Lua
Ruby JavaScript Python PHP Perl
37.
Lua
Erlang Ruby JavaScript Python PHP Perl
38.
Lua
Erlang Ruby JavaScript Python PHP Perl Haskell
39.
Lua
Erlang Ruby JavaScript Python PHP Perl Haskell Scala
40.
Lua
Erlang Ruby JavaScript Python PHP Perl Haskell Groovy Scala
41.
Lua
Erlang Ruby JavaScript Python PHP Perl Haskell Groovy Scala Lisp
42.
Lua
Erlang Ruby JavaScript Python PHP Perl Haskell Smalltalk Groovy Scala Lisp
43.
44.
45.
46.
47.
48.
Desktop Applications
49.
Web Applications
50.
http://flickr.com/photos/laughingsquid/218983827/ Scott Beale
/ LaughingSquid.com
51.
http://flickr.com/photos/paulmoody/225608884/
52.
http://flickr.com/photos/mojodenbowsphotostudio/95796251/
53.
http://flickr.com/photos/selva/36133233/
54.
http://flickr.com/photos/keinepanik/1081215934/
55.
?
56.
Scripting?
?
57.
Scripting?
Dynamic? ?
58.
Scripting?
Dynamic? ? Modern?
59.
Scripting?
Dynamic? ? Modern? ???
60.
Thanks! ted.leung@sun.com
Baixar agora