Ted Leung - Sun - PyCon UK 2008 - Challenges for Dynamic Languages - Keynote


Mr Apache XML


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.