When programming was (still) fun
-
In 1984 I was 15 and owned a Coleco Adam. Of course it had its version of BASIC. I read magazines & saw the BASIC listings & tried typing some in.
I never got any of them working bec either:
a) there was a typo in the listing (I had no skills to fix)
b) I mis-typed the source
On top of all that, I had no idea what I was doing. I was just typing.
But, I remember the possibilities felt like fun. Such a fun time.Who knew I'd become a software dev & work in IT for over 35 years (now & still going). But the IT world has beaten the fun out of programming through things like:
Agile Scrum, My "Architecture" is best!, Proliferation of "best" Languages (convert all your C to Rust post-haste!!!), has really drained the last bits of fun.Yesterday I stumbled upon the book, Golden Flutes & Great Escapes: How to Write Adventure Games for the Commodore 64 by Delton T Horn ( a very prolific author of the time) at the local Half-Price Books.
I was either too lazy or too cheap or a combination of both and I didn't buy the book. So I looked it up and found it on archive[.]org (link shown above).
Very fun to read and see all the thing I didn't understand back in '84.
Ah, games were so much more simple & we were just as happy as kids are these days with their photorealistic graphics. Actually, I'm pretty sure we were happier.
I'm reading that book and converting the source code into C# for fun.
Because that is what programming is really supposed to be about: fun! -
I had a friend read the source code and I'd type it in or vice versa. On apple ][s mostly. I learned BASIC, then 6502 machine code, mostly from entering source code in magazines. It was only later that I discovered my GS had a built in mini-assembler. heh.
I like your attitude, but I don't know that programming is "supposed to be" about anything other than solving problems. It's nice when it's fun. I enjoyed it a lot more as a kid.
And yeah, I think we were happier too, a product of being simpler, and regarding the world as simpler in kind. But also the world has gotten kind of crowded lately.
-
I had a friend read the source code and I'd type it in or vice versa. On apple ][s mostly. I learned BASIC, then 6502 machine code, mostly from entering source code in magazines. It was only later that I discovered my GS had a built in mini-assembler. heh.
I like your attitude, but I don't know that programming is "supposed to be" about anything other than solving problems. It's nice when it's fun. I enjoyed it a lot more as a kid.
And yeah, I think we were happier too, a product of being simpler, and regarding the world as simpler in kind. But also the world has gotten kind of crowded lately.
@honey-the-codewitch said in When programming was (still) fun:
I don't know that programming is "supposed to be" about anything other than solving problems.
In my world, "Solving problems" is a synonym for fun.
Oh, yes, problems inflict pain, but wow, when I create a solution...it's all fun!
🤓
And the ones I can't solve?Well, that's what forgetting is for. 😂
-
@honey-the-codewitch said in When programming was (still) fun:
I don't know that programming is "supposed to be" about anything other than solving problems.
In my world, "Solving problems" is a synonym for fun.
Oh, yes, problems inflict pain, but wow, when I create a solution...it's all fun!
🤓
And the ones I can't solve?Well, that's what forgetting is for. 😂
@raddevus LOL that's fair
-
I learned BASIC on a TI/994a sometime in 1982 I think. At first it was fun and games, making the screen change colors, playing sounds, etc...then I realized that this thing can actually help with my geometry homework!
I was a CS major until '88 when I got burned out on school and spent a decade in box plants. When I came to my senses and went back to school, I was delighted to find that the world had changed...no more waiting for lab terminals...I could now write, debug, and compile code at home...in the middle of the night! I got my first windows PC (98 1st ed.) and a copy of Visual Studio 6. Within a year, I was working part-time on a new project that I am still maintaining to this day. It's been a great ride, wfh for the last 20 years.
The earlier days of writing code were probably the most fun...the nights staying up until 2AM because you were 'on a roll', building new stuff and learning new stuff every day. This was before Google when I accumulated lots of big thick books and anxiously awaited the arrival of the quarterly MSDN CD.
Fast forward a couple of decades, and although I still find joy in solving problems, I wouldn't call it fun. There's a lot less building new stuff and a lot more maintaining/migrating old stuff these days and that's definitely not fun!
One difference is that back then, you could actually get away from it all just by leaving the house/office. Cell phones have now made that impossible. Now we are constantly bombarded by spam calls, bored retired relatives, emails, text messages, group texts, game notifications, fb notifications, etc. Back then, I could code in peace for hours and hours...nowadays, I code in 20-minute sprints if I'm lucky, even on weekends.
-
I really enjoy hearing other people's stories about how they got into the IT jobs. Yours is a really great one.
I remember those MSDN CDs too. Lots of fun to be had. 😄and, you're right, the fact that "tech is everywhere" now has really dampened the enjoyment.
It was great when you went to your computer and worked on it and then forgot about it as you headed out to real life.
Smart Phones and the consequences they've created are what has really made the world quite terrible. But I'm sure 🚫🚫 AI 🚫🚫 and ⛔⛔brain embedded⛔⛔ technology will set everything right. 😣 -
-
I think it was more satisfying (avoiding the word fun) because the technology was newer and the tools were crude. I started as a jet engine mechanic. Later, my first "system" had vacuum tubes, relays, and core storage. then we graduated to trouble shooting using bit switch programs we wrote. The "good old days" were not as good as today, which will be somebody's "good old days".
-
I got hooked to computers in mid ‘70s, at the end of the era of punch cards and program listings on accordion paper. At the start of the first semester in CS, I meet a friend from high school, a year older and also in CS who says:
“I have a nice little problem for you. Write a program to find all the ways you can position 8 queens on a chessboard so that they don’t attack each other.”
The only game in town at the time was FORTRAN, and there is no recursion in FORTRAN, and this was my first program so, obviously it didn’t work. Cocky, like most 18 years old are, I said to myself “sure it’s compiler’s fault, my logic is impeccable” so I started to look at the assembler code generated by compiler. The only problem was that I didn’t knew assembler, so I started to learn assembler. Now I couldn’t understand how the compiler knew what code to generate, so I started to learn about context-free grammars, LL(1) and LR(1) parsers, and so on. Never finished the stupid program, but by the end of my adventure, I was thoroughly hooked. And still am. -
I got hooked to computers in mid ‘70s, at the end of the era of punch cards and program listings on accordion paper. At the start of the first semester in CS, I meet a friend from high school, a year older and also in CS who says:
“I have a nice little problem for you. Write a program to find all the ways you can position 8 queens on a chessboard so that they don’t attack each other.”
The only game in town at the time was FORTRAN, and there is no recursion in FORTRAN, and this was my first program so, obviously it didn’t work. Cocky, like most 18 years old are, I said to myself “sure it’s compiler’s fault, my logic is impeccable” so I started to look at the assembler code generated by compiler. The only problem was that I didn’t knew assembler, so I started to learn assembler. Now I couldn’t understand how the compiler knew what code to generate, so I started to learn about context-free grammars, LL(1) and LR(1) parsers, and so on. Never finished the stupid program, but by the end of my adventure, I was thoroughly hooked. And still am.@Mircea-Neacsu said in When programming was (still) fun:
there is no recursion in FORTRAN
Well, not before FORTRAN 90 anyway, and the only compiler I remember that actually checked for it was GNU g77. The others "took it as read" that it wasn't going to happen and let you do what you wanted (which was pretty much the ground state for anything in FORTRAN code!*). I used to simulate it by implementing my own stack instead of using local variables, and it worked fine (if slowly).
- Remember, you could declare a variable as a single integer and than use it as a 10 dimensional array of floting point values if you felt the need: COMMON was a handy keyword if you wanted to modify your OS from your app ...
-
The Fortran I used in 1978 did allow recursion. Neither compiler nor machine was mainstream, but a proprietary 16-bit mini. Its developers were more or less "fresh from school", they had learnt the academics of compilers for languages like Algol, Simula etc. and, I was told, never learned to handle function calls without a stack. So handling recursion came at no extra expense. They didn't know how to prevent it. :-)
I do believe that the first BASIC I used in 1975, on a Univac 1110 mainfram, allowed recursion - but the manual is buried so deep down in the basement that I will not spend the time to verify it.
-
I got hooked to computers in mid ‘70s, at the end of the era of punch cards and program listings on accordion paper. At the start of the first semester in CS, I meet a friend from high school, a year older and also in CS who says:
“I have a nice little problem for you. Write a program to find all the ways you can position 8 queens on a chessboard so that they don’t attack each other.”
The only game in town at the time was FORTRAN, and there is no recursion in FORTRAN, and this was my first program so, obviously it didn’t work. Cocky, like most 18 years old are, I said to myself “sure it’s compiler’s fault, my logic is impeccable” so I started to look at the assembler code generated by compiler. The only problem was that I didn’t knew assembler, so I started to learn assembler. Now I couldn’t understand how the compiler knew what code to generate, so I started to learn about context-free grammars, LL(1) and LR(1) parsers, and so on. Never finished the stupid program, but by the end of my adventure, I was thoroughly hooked. And still am.@Mircea-Neacsu How did FORTRAN enforce the no recursion rule? How could it detect recursion even when indirect?
-
Every Fortran function could have a flag indicating 'busy', to be reset upon return. It could be the return address: Zero it upon return, and if it is non-zero upon entry, then you have made a recursive call.
If you want to know at compile/link time: A flow analysis tool could follow all possible flow paths, graymarking every function on the current path being analyzed. If extending the path by one more call, and it hits a graymarked entry, then you have a direct or indirect recursion.
I don't know what old (pre '90) compilers did; these are jutst my thoughts about how it could be done. I suspect that a lot of implementations simply said: Oh, so the program crashed? Well, you broke the rules, it is your own fault!
-
I took a programming course in BASIC as a senior in highschool. I really enjoyed it and discovered I was pretty good at it (at least compared to most of my fellow students). My class instructor said a 4 year degree was the best path to make it my career (this was in 1975). Best advice I ever followed. 4 years later I was a FORTRAN and Assembler programmer for UNIVAC, moved to C and then C++ on UNIX workstations and ended in C++ and C# on Windows PCs when I retired in 2017. Fun times indeed.