Years ago these type of systems would run a realtime OS like vxWorks, if they used an OS at all. Nowadays they frequently run Linux. Programming for an embedded target, even one running Linux, is a bit different from writing a web service or desktop application:
- The target is likely using an embedded processor like PowerPC, MIPS, or ARM. Everything is cross-compiled.
- The target may have a reasonable amount of RAM, but it will probably not have any swap space. Memory footprint is an issue.
- The target is likely using flash for its filesystem. Image size is an issue.
In this blog I don't expect to say much about Ruby on Rails, web services, or functional languages of any description. This is a blog about the dirty business of building systems. I hope you enjoy it.