Posts tagged with vintage-computing - page 3

How did I get started in software development?

Ken Egozi tagged me with the latest meme and this time it’s at least relevant :)

How old were you when you first started in programming?

Some time between 10 and 12 when my father bought home a ZX Spectrum and I ended up delving into the excellent programming manual when I finally ran out of games to play. At the same time my school opened up the computer room at lunchtimes…

What was your first programming language?

BASIC on the Sinclair Spectrum (evenings) and BBC Micro (lunch-times and after school). Multi-platform from the outset ;-)

What was the first real program you wrote?

Probably the MultiFile +3 disk & file management tool for the Spectrum in a mix of assembler and BASIC but I was also creating menu and copy protection for the BBC Micro around the same time.

I also trashed an expensive 3” disk drive at the time with a small bug in my end-of-disk detection code that resulted in the drive trying to step itself beyond the end several times and knocked it out of alignment.

What languages have you used since you started programming?

Well I’ve *used* the following although ones in italics for only brief periods involving one or two small applications.

  • BASICs: Sinclair, BBC, Microsoft, QBASIC, Mallard, QuickBasic, ASIC
  • Assemblers: Z80, 6502, 8051
  • Visual Basic, VBA, VBScript, VB.NET
  • C, C++, Objective-C, C#, Java, JavaScript, ActionScript
  • Turbo Pascal, Delphi, SQL, PHP
  • COBOL, RPG, SmallTalk, Algol, Prolog

I’m not sure if XSLT/XPath or RegEx’s count.

What was your first professional programming gig?

Writing IBM AS/400 (iSeries) banking applications in COBOL age 17 joining a team where the leader was already known as the Kindergarten Cop as everyone in his team was “only 23-25”. I got to delve into the kernel, general ledger and securities systems eventually single-handedly developing intricate multi-base-currency support leaving days before my 19th birthday. (Okay, a little pride there ;-)

If you knew then what you know now, would you have started programming?

Without a shadow of a doubt.

If there is one thing you learned along the way that you would tell new developers, what would it be?

Enjoy the journey, new languages are going to come and go so learn them just-in-time ;-)

It’s a shame computers and languages are more complex now but with the Internet and great books available there is no real barrier to entry.

What’s the most fun you’ve ever had programming?

Any application that brings a smile to a users face :)

Some ‘interesting’ moments have been revisiting school-level physics for a pool game and an on-the-fly domain class construction system for an international configurable payroll package.

Who am I calling out?

I’m not sure any of them are reading my blog any more but you never know ;-)


Adding depth to my programming ability

Elite on the BBC MicroI remember gazing at the screen of Acornsoft’s Elite in my childhood wondering what the code behind those 3D images looked like.

How did they rotate like that? How did it know which lines to hide? And more importantly where I can get a good price for this cargo hold of radio-actives and platinum?

Scouring through magazines, books and the library revealed nothing. Where on Lave was this elusive magic formula?

My attempts at reverse engineering Vu-3D shed no light and the web was still being conceived in Mr Berners-Lee’s brain so Google wouldn’t be able to exist for some time yet.

My programming continued on a more serious tract writing first silly hacks and demo’s, then utilities and into business software as an actual paid job. In my spare time I knocked out some other developer tools, utilities, drivers and even a Flash game of pool for a National Lottery.

3D remained the elusive beast long after the information became available to me. Matrices were not something my mind wanted to grasp a second time.

Then along came OGRE, written by a long-time friend of mine – Steve Streeting.

We’d actually hoped to write a game a long time ago when we were younger and less informed about how much work that would involve. The only thing that survived was the company name I still use for my consulting work – Envy Technologies.

Ogre looked promising. Object-oriented design meant it could hide most of the complexity and let me get on with high-level concepts and setting properties.

If only my degree wasn’t in the way!

Still I had a play and then the lure of Microsoft’s XNA came along.

Based on .NET Framework 2 and C# – the very two technologies I use day-in day-out to write those aforementioned serious apps. Write a game once and deploy it to the PC and Xbox 360 and from C# – a more enjoyable experience than the last C++ stuff I did (under DOS!)

XNA has been interesting to mess with at least on the 3D front. I’ve managed with not too much effort to plot a pyramid on the screen using co-ordinates I figured out, get it bobbing about a bit and changing the color via vertex and pixel shaders respectively and even get it and the viewpoint spinning round from the 360 controller.


From there on you find yourself soon needing features that aren’t there and you have to build yourself or acquire an engine to do it. The managed nature of XNA means that any engine you want to use will have to be specifically written for XNA itself – I guess Garage Games is hoping to cash in once XNA 1.0 gets out with their XNA engine Torque X.

Steve popped round this weekend for a chat about the usual geek topics we discuss I was very grateful that he lent me one of his complementary copies of Pro Ogre 3D Programming (he was technical reviewer and wrote the foreword).

I’m only at the end of Chapter 3 so far and with the exception of wondering what Scene Graphs were I’m still following everything.

Maybe I’ll be able to escape my 2D prison soon.