{"id":570,"date":"2008-07-24T16:00:45","date_gmt":"2008-07-24T23:00:45","guid":{"rendered":"https:\/\/www.reenigne.org\/blog\/?p=570"},"modified":"2008-08-04T16:40:51","modified_gmt":"2008-08-04T23:40:51","slug":"twenty-years-of-programming","status":"publish","type":"post","link":"https:\/\/www.reenigne.org\/blog\/twenty-years-of-programming\/","title":{"rendered":"Twenty years of programming"},"content":{"rendered":"<p>I recently came across an archive of old files that I hadn't looked at in a while, and found what I think are the first programs I ever wrote. In particular, the oldest program I can find that I'm sure I wrote all by myself (that wasn't written by a relative or typed in from a book) is dated 24th July 1988, 5:23pm. It's possible that I started it earlier than that or that other programs written at the same time predate it - the only timestamp supported by the DOS filing system was \"last modified\".<\/p>\n<p><a href=\"http:\/\/www.reenigne.org\/misc\/MORELESS.BAS\">\"More or Less\"<\/a> was written in Locomotive BASIC2 which ran under GEM on our <a href=\"https:\/\/www.reenigne.org\/blog\/machines\">Amstrad PC1512<\/a>. GEM and BASIC2 (and therefore \"More or Less\") can still be run on a modern PC with the help of the instructions <a href=\"https:\/\/www.reenigne.org\/blog\/gem\">here<\/a> and <a href=\"http:\/\/www.dosbox.com\">DOSBox<\/a> (when run under Windows XP the instruction pointer seems to end up pointing to non-code data for some reason, and Vista graphics drivers don't support graphical DOS programs).<\/p>\n<p>\"More or Less\" is a rough clone of a piece of educational software of the same name that ran on the BBC micros at school. I found a copy of the original - the copyright information says:<br \/>\nMLESS \/ More or Less<br \/>\nMicroelectronics Education Programme<br \/>\nMICROPRIMER Software Pack 4<br \/>\n(c) CET 1982 \/ISBN 0-86184-085-2<br \/>\nProgram idea: A Straker, I Drysdale, A J Curtis<br \/>\nProgrammed at C.E.C.C.<br \/>\nEditor: Bob Coates &amp; Five Ways Software<br \/>\nVersion 1.0 \/ 1 November 1982<br \/>\nWorks with BBC Micro 32k (480Z and SPECTRUM versions also available)<\/p>\n<p>The program displays two numbers and you have to say whether the left one is more than, less than or the same as the right one.<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" class=\"centerwide\" src=\"http:\/\/www.reenigne.org\/misc\/moreless.gif\" alt=\"\" \/><\/p>\n<p>Not particularly challenging (even for 9 year olds) but I think the BBC version at least kept track of how long you took. I intended to add more features but (like so many of my programs since) I never got around to finishing it.<\/p>\n<p>Another interesting feature of the BBC version was the intro\/title screen. This printed \"More or Less\" in letters that grew and shrunk in height so that the line formed by the tops of the letters bulged in and out:<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" class=\"centerwide\" src=\"http:\/\/www.reenigne.org\/misc\/moreless_bbc.gif\" alt=\"\" \/><\/p>\n<p>(kind of a primitive version of texture mapping I suppose). I wanted to reproduce this effect, but my programming skills were not up to it at the time. But I recall being quite proud of what I came up with instead - the title was centered, printed in a large font, double-spaced and the letters appeared one by one, each one accompanied by a beep (without a third party driver that I wouldn't come across for several years, BASIC2 was only capable of generating that one sound programmatically).<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" class=\"centerwide\" src=\"http:\/\/www.reenigne.org\/misc\/moreless_title.gif\" alt=\"\" \/><\/p>\n<p>My version did have a few interesting features - it asked for the player's name and addressed him\/her by name for right and wrong answers. The program maintained a table of scores in a disk file (not sorted, though, and not necessarily \"high scores\" - I didn't know about arrays at that point).<\/p>\n<p>I'm sure I had written some other programs around the same time or earlier, but I guess I wasn't sufficiently proud of them to save them. In my last year at Goring primary school (which ended around the same time I wrote \"More or Less\") I also wrote some Logo programs to draw letters of the alphabet with turtle graphics. These were not particularly sophisticated (just sequences of forward and turn instructions, plus loops for the curved bits) but were probably the first actual programs I wrote. I don't have any record of them, though.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I recently came across an archive of old files that I hadn't looked at in a while, and found what I think are the first programs I ever wrote. In particular, the oldest program I can find that I'm sure I wrote all by myself (that wasn't written by a relative or typed in from [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-570","post","type-post","status-publish","format-standard","hentry","category-computer"],"_links":{"self":[{"href":"https:\/\/www.reenigne.org\/blog\/wp-json\/wp\/v2\/posts\/570","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.reenigne.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.reenigne.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.reenigne.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.reenigne.org\/blog\/wp-json\/wp\/v2\/comments?post=570"}],"version-history":[{"count":1,"href":"https:\/\/www.reenigne.org\/blog\/wp-json\/wp\/v2\/posts\/570\/revisions"}],"predecessor-version":[{"id":627,"href":"https:\/\/www.reenigne.org\/blog\/wp-json\/wp\/v2\/posts\/570\/revisions\/627"}],"wp:attachment":[{"href":"https:\/\/www.reenigne.org\/blog\/wp-json\/wp\/v2\/media?parent=570"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.reenigne.org\/blog\/wp-json\/wp\/v2\/categories?post=570"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.reenigne.org\/blog\/wp-json\/wp\/v2\/tags?post=570"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}