Programming

Wednesday, 27 July 2022

BASIC

Programming started in circa 1985 with BASIC on the Sinclair Spectrum 48K. I was able to do basic looping, make things flash, beep and do more complex things by copying code from books and magazines. I earned a Computing badge at Scouts after making a database (in rudimentary BASIC) for my Dad’s antique business.

HTML/Javascript

In 1999 I worked in the web team of a UK Government Department as a “Web Producer”, converting to HTML Word documents sent to us on 1.44MB floppy drives. Javascript back then was for making things pop-up and flash. We used an application called Homesite for most of the markup, and Dreamweaver for some bits. Homesite and Dreamweaver!

I don’t think we even did much CSS in those days.

I’d had various hobby blogs and web sites, hosted for free using space provided by my ISP (Pipex?), including one that stuck, MadHaddy, about my home town in Scotland. Between 2000 and 2002 it gained a minor following. One of the pubs in the town complained when MadHaddy called it out for serving under-age drinkers. Drugs chat appeared on the forums, including folk apparently arranging deals (at the Mercat Cross, no less). After two years I took the site down to minimise the hassle - and after reading something online which claimed that I might be in some way liable for the hosting of transactions relating to the procurement of recreational drugs…

I wish the images were still available on the archive because MadHaddy was largely an exercise “satirical” photography for me - confusing the populace by Photoshopping photos of the town. Also, the purile writing, which is still a feature today… Great fun.

I still prefer flat-file web sites now of course.

Ruby

Round about 2004, I got sucked into the Ruby/Rails wave of popularity. It was cool, but never really stuck, other than as a gateway to more sustainable drugs, such as…

Python

… which did stick. Definitely my most productive language. I’ve been learning and writing Python for several years and was employed for a while to write it. I plan to talk more about those projects at another time.

Java

What got me into Java was Robert “Uncle Bob” Martin, and particularly the series of videos he did with his son, Micah Martin - Java Case Study - which I had access to for a short time as part of a Safari Books subscription. Something about the mixture of Java, Intellij IDEA and extreme TDD, along with Uncle Bob’s often cringeworthy goofiness, hooked me. I didn’t stay wedded to IDEA for long though, instead diving deep into Netbeans, to the point where I attended a Netbeans Conference in London in 2016. Niche, indeed.

Perl

There is something about Perl I love, even though I don’t really use it. When I have, I love it. It’s a total bitch to learn though: I’ve got the Camel Book and its a monster. Because Python got in first, I could never really justify investing much time with Perl. I hope it never dies - I don’t care about its lack of OOO features or the sigils.

Update: 7 October 2023: I am seriously thinking about writing my next web project in Mojolicious.

Haskell

That didn’t last long. I bought a book and was intrigued by functional programming. But I’m not clever enough to last long in that environment. Getting completely lost trying to configure xmonad was the point where I switched off.

C

I like C and have written a few bits using it and I’m not competent enough to really understand how dangerous it is. I don’t think I’d live long enough to master it enough to do anything useful with it. After writing in Python, it’s tough to implement your own lists, maps, etc. C is the pinnacle.

Update 7 October 2023: I got into C again this summer. Started to take the approach which that C is the only language worth knowing, which is ridiculous. Caught myself watching Quel Solaar streams on Twitch: there’s someone who does believe that C is the God language. I’ve changed my mind already and am back on Perl this week…

C++

I taught myself some C++ in August 2023 and became quite fascinated with it. After all the scare stories, I found it quite nice to program in, like a sort of Python-C hybrid, which makes sense I suppose. I wrote a little grep-like program in it to search through my journal files, and then decided to rewrite it in C (see paragraph above). The C++ version took a couple of days, learning the language on the hoof. The C version took about a week. I understand more about memory management now and how things can blow up in C. Loved writing it, and learned a lot.

Go

I like Go and have written a few bits using it.

Other languages

Other than what was necessary in 1999, I haven’t learned Javascript or been motivated to do so. Something about it gets on my tits - probably the fascination with it in “boot camps” and on social media, it’s irresistability to web devs and everything coming out on the web in recent years (SPAs), the tooling, Chrome, Electron, etc. I would rather do less in the browser, not more. I know you can’t avoid it. The browser is better than Swing and most other desktop UI toolkits. There are lots of reasons for Javascript being vital, but…

C++, Rust, Scheme, Racket, all the shell languages (zsh, bash, fish and now ksh) have all been dabbled with and each has its fascination. There are probably more that I’ve forgotten about.

My next learning project is to work through the book Crafting Interpreters which sits next to me as I write this.

This post is tagged with: code

© 2024 MR Lemon