Randal Schwartz talk about dynamic languages
posted Thu 14 May 2009 by Michael Galloy under HPC, IDL, PythonRandal Schwartz recently gave a talk called “Dynamic Returns” dealing with misconceptions about dynamically typed languages (published as episode 135 of the Industry Misinterpretations podcast). His audience for the talk is composed of Smalltalk developers, but the points made are general and equally valid for other dynamic languages like IDL, Python, etc (at least in concept). The six myths are that statically typed languages like Java, C++, and C:
- reduce development cost
- increase speed of development
- eliminate need for some tests
- improve run-time stability
- scale better
- are faster
I agree that the first five points are indeed myths, but I’m not sure IDL has the tools for making IDL as fast or faster than a statically typed language. I know Python has a lot more tools in this area: Pyrex, Psyco, ctypes, f2py, and a bunch more. Of course, there are some things in IDL’s favor: the thread pool automatically uses multiple processors for array operations, there are libraries to make GPU computing and cluster computing easier, and a fairly straight-forward way to extend IDL using C when needed.
May 14th, 2009 at 11:34 am
Thanks for linking to the presentation!
May 24th, 2009 at 2:40 am
I think that talk is way too black and white and is so general it is bordering on misinformation.
I won’t go into detail, but I will show that modern statically typed languages like Scala invalidate most of his points.
1. Scala gives more power to the expert than most dynamic typed languages. (It is OO and functional.)
2. With Eclipse, Maven etc compile times are neglectable. And if they matter, you just need better tools.
3. You don’t have to test for type, so less testing. Furthermore dynamic types in web application open up a lot of new attack vectors. Newest being http parameter pollution.
4. Scala is build for scalability and so it scales better than most dynamic languages
5. Scala runs on the JVM and is faster than Jython and Groovy.
And btw most dynamic languages today don’t offer all the modern JIT functionality that RS talks about. They are just way slower.
6. Scala offers a concise syntax (type inference etc.)
So in essence: “It depends” and “Dynamic is no silver bullet”. But experts should already know that ;)
April 17th, 2013 at 1:00 pm
[…] Randal Schwartz talk about dynamic languages – michaelgalloy.com – April 17th ( tags: randal_schwartz podcast talk dynamic languages typed data types ) […]