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.