3 ms·
40+ years of programming. Full time, most every day of the week. I almost always have a look at some thing or other on the weekends, home projects, problems I
by mianos 3y ago
40+ years of programming. Full time, most every day of the week.
I almost always have a look at some thing or other on the weekends, home projects, problems I think I solved badly at work during the week or experiments on ideas for things coming up.
You know what is kinda wacky? I still feel exactly the same as I did when I started. Things I have done before get done very quickly or better and then I hit a challenging new thing. I love this shit.
- trhr 3y agoProgramming has changed a lot in 60 years, but not much in 40 years. By the early 80s, at least the workflow was fixed: type code on keyboard, read code on monitor, compile code, make cup of coffee, compile failed, debug code, you used the wrong brace, dummy.
- rpigab 3y agoIf you describe the woodcutting workflow as "go to forest - cut tree - put on carrier - repeat - ship", you could argue that woodcutting never really changed, but you now have forestry harvesters that cut a tree and remove all branches in less than 10 seconds, so it still changes some things like cost, scale and number of humans needed. In programming, if you have a modern IDE like the Jetbrains ones, you have all local source code indexed for auto imports, autocomplete and enhanced code search, no braces errors at compile time because the closing one is added automatically and if you still manage to put it wrong, there's an instant notification about it and a one-click smart autofix, also there's full local history if you mess up, without even taking the time to make small commits, then there's CI/CD pipelines depending on what you're building, you can also use Sonar in IDE and in CI, also Sourcegraph, and even if some of this was already possible with good ol' grep, it was not the same IMO. Then there's Copilot and ChatGPT, for many uses including prototyping stuff you don't even want to take the time to RTFM. But yeah, I can recognize that the workflow looks the same, because it's the same job, we still use keyboards and monitors, and we edit files on drives hoping that it produces some expected result, and get disappointed in our lives when it doesn't. And lots of us are still using the basic UNIX tools in their GNU versions like grep, awk, sed, vi/vim, etc., aged 30 (vim, ssh) to 50 years (grep, sed).
- trhr 3y ago> And lots of us are still using the basic UNIX tools in their GNU versions like grep, awk, sed, vi/vim, etc., aged 30 (vim, ssh) to 50 years (grep, sed). Including myself. That's sort of my point. It's always fun reminding the Junior Engineers that, unlike whatever flavor of the month library the blogosphere calls The Next Big Thing, the majority of the stuff that comes preinstalled into their multiarch container image is older than they are. I'm not a dinosaur, I'm a native.
- AnimalMuppet 3y agoLOL. Nailed it. But some things are quite different in the last 40 years. The standard libraries are much better. If I need a map, I don't have to implement a map; I just use the one in the standard library unless there's good reason not to. The amount of code that I don't have to write, but can still use, has gone way up. Debugging tools are better. Code sanitization tools are better. Unit testing tools are better. Type checking is better (for statically typed languages). Oh, yeah, and the monitors these days don't bathe you in soft x-rays. Those may not be the same level of change as moving from octal to assemblers to compilers with punched cards to terminals with monitors, but they still add up to a significant amount of change.
- trhr 3y agoMy parents have a photo of me from the mid-90s on their fridge; I'm shirtless, sitting at a computer, working in an IDE. Not that much has changed. Sometimes I put on a bathrobe for Zoom calls now.
- mianos 3y agoYes everything is better. I like the way languages like python have dicts completely built in and in modern C++ maps are almost as native. The amount of code that needs to be done is the same it just does a lot more. I started in 8085 assembly language. Everything had to be done from scratch. It was still similar; see a problem, work out how to solve it, write it and debug it. It is certainly much better now. I am not sure about debugging. There were years at a time when I only used IDE based debuggers, but now, with much more containerisation I probably do as much visual code inspection to solve issues as I ever did.
- scarface_74 3y ago25 years ago, before I could build out the system we designed, it took weeks to provision hardware. Now I can stand up an entire data center with databases, unlimited storage, etc by creating a yaml file. Even 25 years ago I was optimizing code by using inline assembly to get the performance I needed.
- partomniscient 3y agoUnless its python, in which case you used the wrong whitespace, dummy.
- supportengineer 3y agoThere's not much compiling any more in the age of python, Javascript, etc
- mattrighetti 3y agoI’m a couple of years into this professionally and have been programming for almost 10 years now. My greatest fear is to reach a point where I don’t feel like "I love this shit" as I do right now, I hope I’ll feel the same as you in 40 years!
- scarface_74 3y agoI started programming in assembly using AppleSoft Basic as a glue language in 1986 as a hobbyist in 6th grade. By the time I was in college for two years, I found other things I enjoyed much more than programming. From 1994 to the present, coding has become no more than a method to exchange labor for money to support my addiction to food and shelter. I spent the first decade and a half of my adult life as a fitness instructor and running with friends as a hobby. My wife and I now travel half the year, “nomadding” flying between cities every three weeks. I still spend of time after work at the gym of whatever hotel I’m at.
- zwieback 3y agoyou and me both: CALL 768
- zwieback 3y agoI agree, getting to play with a new system is still as exciting as getting my first AppleSoft Basic program running back in the 80s. Also, with all the cool low-cost micros and robotics gear available now this is truly still the golden age.
- mianos 3y agoThe ESP8266 was a game changer for me. I had some STM32 boards and some Arduinos but when we got wifi and low level hardware things really got fun. I have a temperature controller and a platinum temperature sensor with a dedicated 3 wire board controlled by SPI, 30 bucks. Controlling 12V 5A motors with PWM another 30. All in C++ on the board, integrated with mqtt, nodered and Caddy for the UI SSL. So easy with parts from Ali and datasheets available. (Sometimes even useful existing libraries).