Ted Leung - Sun - PyCon UK 2008 - Challenges for Dynamic Languages - Keynote
Introduction
Mr Apache XML
Notes
Challenges for Dynamic Languages
Ruby, python, PHP, JavaScript
At the point of early adoption. Alot of interest at conferences, but nothing compared to Java (for example).
A little bit of controversy as the different communities start working together e.g. JRuby and Java.
We are living in a world where we need more and more software. We need every tool we can get which will help us build more reliable software.
We are starting to get significant support from commercial companies e.g. Google, Microsoft, Sun. We are starting to get jobs using these technologies.
Java found a very good niche, for various reasons, including it was free and cross platform. A big eco-system (training etc) made it acceptable for large companies.
Features like closures are causing major problems for static languages.
Major advantages of dynamic languages are construction of maps etc…
Everybody hates PHP: loads of really good software is written in it. python: version 3, virtual machines - in pretty good shape. perl: pretty much dead in the water. JavaScript: the authors are big fans of python - many of the new features came from python. ruby: is not that fast, fragmentation. Lua: really big in gaming engines - essentially unknown. Erland: great for concurrency, not good for anything else. haskell:, scala and groovy: essentially targetted at Java programmers. lisp: time has come and gone. smalltalk: trying.
Challenges:
There are three new JavaScript JITs in the world. All competing these guys are getting very fast.
Tools: People coming from environments where the tool-sets are very good. They will expect the same.
Cross platform UI: Is never going to work.
www.medhelp.com, big challenge is deployment and management. Perhaps JRuby deployment onto Java app servers will solve a problem.
We need to tell our story to more people.
Paid support. Commercial companies want someone to sue!
Libraries: python is in pretty good shape. One of the benefits of Java is the huge, huge range of libraries.
Package management: Sucks in python.
Be careful about:
Over-hype: Ruby is probably doing too much, python, probably not enough.
We need to be honest about our weaknesses.
Big commercial companies wanting to own a language or web framework.
How do we describe our language? Scripting, modern, dynamic… none of these words describe what we have properly.