Re: Your first programming experience?
Posted: Sat Oct 19, 2019 5:43 pm
Jeff_Birt wrote:
Over the last 30+ years I have learned many flavors of BASIC, different scripting languages, strange programming 'languages' for industrial controllers, ladder logic, C, C++, Forth, Java, Python, etc. It seems to me that the first language you learn is not as important as learning the concept of programming. Loops and conditionals might be expressed diffrently in diffent langauages but they are the same concept. If you learn the concepts you can move between languages much more readily.
Anyway, I wanted to learn about programming from the moment I learned what computers were; when my dad brought home a Mac IIcx in my eighth year on this earth, he was able to snag a samizdat copy of MacBASIC - the good one, the one actually designed for the Mac, which Microsoft had killed to protect their own Mac version of MS BASIC. I was thrilled by the prospect, and spent as much time as he'd let me trying to figure this stuff out (the first program that I can recall writing? A five-room choose-your-own-adventure game about dinosaurs. No points for guessing that it had no interactable objects and was implemented with a single INPUT statement and four IF...THEN PRINT clauses.) Unfortunately, since the project was killed before the Mac was even released, compatibility was a little iffy by the System 7 days, so a number of the examples in the book we got on MacBASIC didn't work properly, and around the time we upgraded to 7.5 either 32-bit compatibility issues or disk corruption killed it entirely.
After that, there was a pretty long period where I didn't really have any access to programming languages at all - my dad picked up one of those BBS archive CDs everybody was making in the mid-'90s that was supposed to have a bunch of development software on it, but nearly everything was for PC, Amiga, or Unix and the few Mac programs required unarchiver software that we didn't have and never managed to get. On the bright side, when my aunt and uncle bought us our first PC a few years down the line, I was able to start playing around with some of that stuff and got back into learning how to program. Mostly spent that time futzing around with various DOS BASICs, but later on I took a look into learning C; unfortunately, the only reference text I had was oriented around developing for Win16, which was a baffling mess. I got my paws on a limited version of Visual C++ for Win32, which was better, but C++ is hardly a beginner language in the best of circumstances, and Visual C++ is definitely not the best of circumstances, so I mostly stuck with Visual Basic at that time. Finally did get into C later on, when I got my own computer and broadband Internet at college and found some halfway-usable free tools, and found FreeBasic around that time as well. Those've been my mainstays for general purposes ever since, though I've taken an interest in plenty of others.
As far as object-oriented concepts go, I was initially introduced to C++, which was a gigantic, confusing mess on the language level, and in college I became acquainted with Java, which was a gigantic, confusing mess on the library level. I never did properly wrap my head around OOP until years later when I learned about Smalltalk - which, apart from never properly separating out the program from the operating environment and thus being mostly useless for general-purpose application development on any OS other than native Smalltalk, is still one of the nicest, cleanest, most sensible languages I've ever encountered.
Edit: haha, wow, that CD is finally up on archive.org, though it's a later edition than the one I had. Been trying to track that sucker down for years.