Thomas' writings, builds, toys

2007-01-01

Coding during my teens

Note

This is an outdated article, written during my teens, long before I became a professional software developer. This is not a resume!

A little history

When I was about 15 I started 'playing' with Visual Basic 6, you might have read about that stuff on another page of my website. Over the years I've had two Visual Basic courses, one in highschool, and one at college. These were both pretty basic and easy though, they were meant to be an introduction to programming. On the positive side, I got good grades. At that time I liked VB, but looking back I really should have picked a more serious language. Below I present a list of software I played with (thus being very familiar with that subject). I also elaborate a bit more and share my experience.

Web technologies

After playing with VB my interests shifted towards (digital mostly) electronics and web technologies. I learned HTML, CSS, a bit of JavaScript and after I switched to Linux I installed apache and PHP on my PC. I've put down quite a bit lines of PHP code. I created a framework to render HTML with PHP macro's to static html pages, with templating and excessive use of XML, I used this system to easily maintain the writings on my webpages. By the end of that framework's lifespan (every technology gets superseded...), it used a combination of XML and XSLT (XML Transformations) to maintain a tree shaped menu for navigating through my webpages. The menu consisted of an XML file that represented the exact tree of the menu. Using XSLT this was rendered to HTML, with foldable branches (simple JavaScript), providing friendly navigation of my pages.

Perl

After writing a few small scripts in PHP, It was obvious that PHP wasn't the best suited language for these kind of things. Although you can perfectly do shell scripting in PHP, I explored PERL, the infamous scripting language. I wrote Skymeter in PERL. I didn't like PERL very much though, I found the documentation to be a bit cryptic. The language's syntax is also very loose, there seem to be a thousand ways to do the same syntactic thing. Most PERL scripts I found were complicated and each used other syntax to do basic operations.

Python

I really fell in love with python. It's a simple, beautiful object orientated language and has lots of extensions. It also has great platform bindings for the GNOME desktop and the WxPython bindings allow you to create a GUI that runs on Windows, Linux, and the Mac OS. Using WxPython you can build programs that use the native widgets on all three platforms! Accessing the serial port is very easy too, so this combination allows you to create nice interfaces for microcontroller projects. Database access is made easy by the SQLObject library, and you can find modules for all the big web technologies, for a complete list of these web technologies, refer to the Turbo-Gears project.

Python code is platform independent by design. Recently ports to the .NET framework have reached maturity, so .NET zealots can have fun in style.

Embedded systems

I had a C course in school, and also learned 8051 assembler. I know my way around JAL, a simple and free (as in freedom) programming language for PIC microcontrollers, which isn't as popular as it should.