top | item 36876211

(no title)

trhr | 2 years ago

Programming 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.

discuss

order

rpigab|2 years ago

If 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|2 years 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|2 years ago

LOL. 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|2 years ago

My 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|2 years ago

Yes 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.

partomniscient|2 years ago

Unless its python, in which case you used the wrong whitespace, dummy.

scarface_74|2 years ago

25 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.

supportengineer|2 years ago

There's not much compiling any more in the age of python, Javascript, etc