A little while ago I was discussing with some friends why dynamic languages (I mean those that allow for rapid prototyping, such as Python) are not used more often on embedded devices. And one argument was that those languages need dynamic memory management, which sounds reasonable. So it would take quite something to run Python on some embedded device and build all the necessary memory management etc. around it. But hardware is getting cheaper and even faster, Flash RAM could replace a hard disk and you could be up an running in a low budget area. Just throw Damn Small Linux on it and that’s it.
Ok, there are some embedded devices that are just too small or have too time critical applications where you can’t do that. But DSL just refreshes this question in my head, since I am currently working with embedded devices again. I think the good old C will stick around, of course, but dynamic languages will more and more spread where C is still used. The prices just have to drop and the devices just need to get smaller. Or not?
Just imagine which impact that would have on the development cycles, the stability and testability of this kind of software. When you are programming you actually don’t want to manage the memory, you want to solve a problem. And this fact needs to be more focused on when programming. And languages like C just don’t allow that.
There is hope …