JBISC Progress

Monday, 2008-11-10 02:27, 1226284036 seconds since Unix epoch

As some of you might know, I’m working on a new programming language.

It sure takes more research than I expected. I’ve already dug into lexical analyzers, compilers, virtual machines and that sort of stuff. It’s a huge amount of new information which I’ve overlooked at the start of this project over a year ago. The low level work that goes into making a programming language actually work is simply overwhelming. But it’s so much fun! It really requires you to take your logic to a next level altogether. Did you think nuclear physics is hard? Try writing a compiler!

With all of this new information stuffed in between my ears I’ve got to tone down my OOP stance even more. It’s still valid, but the everything’s an object idea isn’t that bad at all. It really simplifies both compilers and virtual machines. There’s no real overhead. I really like the idea of extending or inheriting from standard types. It makes the language so much more customizable.

As a part of my journey through the world of programming languages I’ve stumbled upon several really interesting concepts. One of these is aspect oriented programming. I’d heard of it before, but never really got into it. Try writing some Java using AspectJ or watch this Google tech talk if you want some more information about the subject. AOP’s actually very useful when used properly.

The other gem I’ve found is Ruby. What a great language. A lot of the radical ideas for my language are already there, fully functional. I’ve never thought anything of the language, especially when the Rails flood hit. Too bad I’ve ignored it, since it’s an excellent allround language. Ruby also implements closures the way I want them to be implemented, not the Java hack Groovy uses. It uses closures transparently and in a highly compatible way. I had all but abandoned hope for proper closures in a modern non-Lisp language. I think I might actually going to use Ruby as a Bash replacement for day to day programming tasks.

In the next year or so I’m planning to collect even more knowledge about compilers and virtual machines, learn some more languages and maybe have some time off every now and then. I’ve also replaced that horrid Drupal thing with a proper HTML website.

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>