Which is a shame, because the Imp of the Perverse programer in my dreams always wanted to do low level coding in some other language besides assembly, C or Forth...
Which is a shame, because the Imp of the Perverse programer in my dreams always wanted to do low level coding in some other language besides assembly, C or Forth...
Seriously, I use Inferno every day, but my job is building software, so I mostly use it to write shell scripts and execute shell commands. It interfaces well with its host (I can thread calls to host commands in Inferno-sh pipelines), and runs over top of Windows, Linux, and MacOSX.
One advantage of using Limbo to play around with systems programming in Inferno is that since it's a VM, you can muck it up as much as you like without affecting your host. Also, with the clean, spare implementation, there's less cruft to learn to work with the OS (also the userland).
To start, there's a few blogs and Google code projects on programming in Inferno, as well as a book.
http://www.ueber.net/who/mjl/inferno/getting-started.html
http://doc.cat-v.org/inferno/books/inferno_programming_with_...
Limbo is also a good way to learn some of the ideas in Go, which also has modules, strong types, IPC over typed channels, automatic garbage collection, and simple abstract data types. (I'd love to see Inferno updated and re-implemented in Go.)
(Note that both the Free Pascal project and its sister project, Lazarus, have horrid websites that are not reflective of the activity or quality of either product. In fact, the top post on the Lazarus website right now is about how they need to fix the website.)
Overall the current popularity of C (in systems software) gives an advantage to any language with similar syntax and semantics.
God I wish K&R layout would just up and die already, at least in terms of having function headers that span multiple screen widths. Personally, I like having "end" keywords, and a bit more freedom in the layout. (mostly, I like to be able to write one formal parameter per line in a function heading, and to use "Whitesmiths" layout vs K&R)
Go feels much more like Pascal semantically than it does like C. I wonder if there is any research to back up the decision to make Go look sorta, kinda, like C, or if it was all ego and/or inertia.