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.