3 ms·
Programming is not harder than it used to be. For example, I was programming Macs in the pre-Internet era which meant lots of thick books. If you got stuck th
by narrator 9y ago
Programming is not harder than it used to be. For example, I was programming Macs in the pre-Internet era which meant lots of thick books. If you got stuck there was nobody who was going to help out and you just had to puzzle it out vs the example in one of the few how-to books like the famous Mac Programming Primer. Also, there was little open source, so you couldn't read the library source to figure out how things were supposed to work. Simple data structures that come with every language these days were something you had to pay a significant amount for or handcraft. If you hit a null pointer dereference, the machine crashed and you had to reboot. This happened fairly often.
- eropple 9y agoMaybe programming isn't, but perhaps finishing something is? Because while the hands-on-the-keyboard, moment-to-moment writing of code is almost certainly easier than ever, actually making a thing out of that is nowhere near as simple as it used to be. Building a nontrivial thing in QBasic was really, really easy. Building a nontrivial web app--whether it's strict server-side PHP or strict client-side JavaScript or whatever--is really, really hard, requiring the consideration of a lot more stuff, and the failure cases are much bigger and much nastier.
- NortySpock 9y agoI do feel that one has to do some careful thinking and digging to find an appropriately sized project, library, and toolset before you can start working on a decent sized project you have a chance of finishing. It took me 5 years of screwing around with Java, Python, and C++ "I want to help humanity" projects before I found that I really should just write small game clones in P5.js for fun. I'm a new stepdad, and if I want to be motivated to work on side projects in my tiny amount of free time, it's going to have to be a game. Project: 80's game clone. Library: P5.js. Toolset: Notepad++, Python SimpleHTTPServer.
- JeremyNT 9y agoYou can make a rails app and run it in heroku within an hour into your first tutorial. You can get an interactive JavaScript environment in any web browser. I cut my teeth on c++ on lab computers. I was crap at it. The compilation and debug cycle was slow and frustrating. I couldn't Google for answers on anything. It's easier than ever to start programming, without any question, and so many batteries are included everything else is easier too. People in some ways do expect more from their software now, and to help deliver all that there are tons of open source libraries available that can feel overwhelming at times, but that's moving the goalposts. Somebody learning to code doesn't need all that just to get something basic and interesting working. If you're tasked with making a functionally equivalent piece of software now versus 20 years ago, it's better and easier in every single way.
- eropple 9y ago> You can make a rails app and run it in heroku within an hour into your first tutorial. How long does it take to actually understand what all of that does? I can claim to understand it, sure--but I'm also thirty years old and I've been getting paid for this stuff for the last fifteen. (Not, like, random POKEs into memory to make syscalls, for sure, but I understood why stuff like SCREEN 13 worked, along with the general constructs of the language.) On the other hand, I pretty much fully understood how QBasic worked and its interactions with DOS at age 5. I was able to parlay that into C and C++ and into understanding how the thin virtual machine there, simultaneously into PHP and Java and how those actually worked by relating them back to lower-level concepts I'd picked up... Cargo-cult monkeying about doesn't adequately, to me, replace understanding and insight--and "just make a Rails app and push it to Heroku" is fundamentally cargo-culting. If you don't understand how your tools work, you don't understand what you're doing. (I've written everything from CPU emulators to Rack frameworks to prove that I do understand what I'm doing.) I started doing that literally from the jump as a kid, and the systems were built so that it was something you could easily do.
- JeremyNT 9y agoIt's "and" not "or" here. The new easy highly abstracted stuff doesn't prevent people from digging deeper, it's just one more potential entry point. There is nothing stopping anybody from digging into lower level languages now, in fact that is also easier than ever with open source IDEs, free compilers, fast processors, ubiquitous documentation, and helpful communities too. The mere existence of a totally open source operating system like Linux and its ability to function on commodity PCs and embedded devices is huge. You can argue (and I believe this is the point of the article) that people don't bother going deeper because for most computing purposes interacting with very high level abstractions of really complex systems is sufficient (and indeed becoming the norm), which leaves users at a loss when asked to grok lower levels of abstractions. It's also true that there is now more complexity and there are simply more possible things to learn, making it less likely that any individual has the time to develop deep knowledge of all of the systems they use. Those assertions may well be true, but I'd argue they are not the same thing as it being harder to learn anything in particular. It's daunting, maybe, because of the sheer possibility space, but all of the knowledge is out there and the tools are better than ever.
- Will_Parker 9y agoBuilding a server-side PHP app is really not that hard. That is arguably the biggest historical problem with PHP. :)
- eropple 9y agoI don't agree. It took me multiple years to really wrap my head around building web pages (to say nothing of apps) in PHP. There's just too much h*ckin' stuff in the web that you have to be aware of and being able to build stores of relevant information is definitely in some ways easier--Stack Overflow exists--but in others, thanks to the volume of crap you just have to chew through, it is much more difficult.
- Will_Parker 9y agoOh, if you're talking about anything on the front end more rich than simple classic forms and full page reloads, I agree. It just wasn't clear what you meant by "non-trivial".
- eadmund 9y ago> Programming is not harder than it used to be. For example, I was programming Macs in the pre-Internet era which meant lots of thick books. Same here, and I was a kid who a) had no idea what he was doing b) couldn't afford to buy Inside Macintosh c) really had no idea what he was doing. But honestly, I achieved more with C and some cargo-culted System 7 (6?) Pascal calls than I have with Go, with respect to UIs. I achieved more with HyperTalk than I have with Common Lisp, with respect to full-fledged application environments. Honestly, HyperTalk was by far the single most productive system I've ever used in my life. Life was pretty great back then. I can only imagine how much better it could have been with highspeed Internet in my home. Or maybe we'd just be on the dozenth round of Macintosh Toolbox wrappers written by sleep-deprived college students by now.
- Will_Parker 9y ago> If you got stuck there was nobody who was going to help out and you just had to puzzle it out vs the example in one of the few how-to books Maybe, ironically, one of the advantages we had is that these difficulties forced us into a much better learning environment, when the answers weren't all immediately available through Google? Being the one who can self-learn extremely well gives us a big advantage when given a new problem or technology stack.
- BigJono 9y agoI think this is definitely the case. Have a browse over Stack Overflow. Most of the questions are asking very specific things and getting very specific answers. Rarely is the context explained properly by either party. People use these questions for future reference, which results in them just trying random stuff until it works. If it doesn't work, they just revert the code and go on to the next question instead of learning why.
- FranOntanaya 9y agoIt was a lot harder to be discouraged as a young adult. Some year you'd feel you were outgrowing your happy QBasic hacking and pick up a massively thick Turbo Pascal book and feel a bit humbled, but that was once in a blue moon. Now you are always one search away from some harrowing design pattern depths or cryptic industry standard source code.
- CJefferson 9y agoOn the other hand, nowadays if you think (for example) for web development you need Babel and webpack and npm modules and vue.js, it's easy to give up before you even get to hello world. Now of course you don't need that to do hello world, but a beginner doesn't know that!