News for hackers. Stuff that matters.
Re:Learning to program is getting harder by blackbagboys on Friday February 16, 2018 @04:46PM (#16396713)
I agree with your observation, but I don't agree with your diagnosis of the cause. I think it's mostly down to the increasing abstraction and ease of using software. When I was a kid, I wouldn't have described "computing" as a hobby, but just getting certain games to install and run on my parent's cheap Gateway PC would require a lot of fiddling around. My younger siblings have no more or less interest in computing than I did, but if they want to play a game they can seamlessly download and run it from Steam or the app store.
Re:Learning to program is getting harder by narrator on Friday February 16, 2018 @06:34PM (#16397591)
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.
Re:Learning to program is getting harder by eropple on Friday February 16, 2018 @09:54PM (#16398644)
Maybe 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.
Re:Learning to program is getting harder by NortySpock on Friday February 16, 2018 @10:39PM (#16398821)
I 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.

Re:Learning to program is getting harder by JeremyNT on Friday February 16, 2018 @10:53PM (#16398874)
You 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.

Re:Learning to program is getting harder by eropple on Saturday February 17, 2018 @12:05AM (#16399144)
> 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.

Re:Learning to program is getting harder by JeremyNT on Saturday February 17, 2018 @02:50AM (#16399597)
It'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.

Re:Learning to program is getting harder by 8note on Saturday February 17, 2018 @03:26AM (#16399711)
have you breadboarded it out with transistors though? when was the last time you designed a board? when was the last time you laid telephone poles or dug tunnels for wires? designed fiber optics for cross ocean communications? launched a satellite for your GPS?

at some level, you're always going to be assuming the layer before reasonably works the way somebody gave it to you.

Its not cargo culting if you know where the actual dependence is, and both rails and heroku make it fairly clear what kinds of things they are doing. Even if you don't know how they're doing it, you know that without running the heroku part, you cant load the page in the browser, and without the rails part, you don't get any files you can change.

Re:Learning to program is getting harder by tluyben2 on Saturday February 17, 2018 @04:25AM (#16399868)
Not really the point; if you know the dependencies but do not know the fundamentals, you can build stuff but when things go wrong and the fix is not the first SO hit, you are going to waste a lot of time on something you have no clue how to even start diagnosing.
Re:Learning to program is getting harder by Will_Parker on Saturday February 17, 2018 @12:23AM (#16399206)
Building a server-side PHP app is really not that hard. That is arguably the biggest historical problem with PHP. :)
Re:Learning to program is getting harder by eropple on Saturday February 17, 2018 @12:42AM (#16399260)
I 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.
Re:Learning to program is getting harder by Will_Parker on Saturday February 17, 2018 @01:34PM (#16401961)
Oh, 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".
Re:Learning to program is getting harder by eadmund on Friday February 16, 2018 @10:56PM (#16398889)
> 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.

Re:Learning to program is getting harder by FranOntanaya on Saturday February 17, 2018 @01:04AM (#16399317)
It 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.
Re:Learning to program is getting harder by Will_Parker on Saturday February 17, 2018 @12:20AM (#16399197)
> 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.

Re:Learning to program is getting harder by BigJono on Saturday February 17, 2018 @12:33AM (#16399242)
I 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.
Re:Learning to program is getting harder by CJefferson on Saturday February 17, 2018 @07:41AM (#16400429)
On 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!

Re:Learning to program is getting harder by m_fayer on Friday February 16, 2018 @06:14PM (#16397441)
I think you're exactly right. I learned my way around computers as a kid because I wanted to do the same stuff that kids today want to do. Play games, prank my brother, talk to random people online. And I just followed that thread until it got me what I wanted. That thread involved some basic shell programming, learning what IRQs are, the difference between TCP/IP and IPX and what they did, how to setup the modem so call waiting wouldn't interrupt the connection, dealing with the rather technical nature of early IRC, usenet, BBSs. I wasn't trying to learn computers, it just happened along the way, and pursuing the same goals today won't teach you anything along the way.
Re:Learning to program is getting harder by mathgeek on Friday February 16, 2018 @05:09PM (#16396921)
> but just getting certain games to install and run on my parent's cheap Gateway PC would require a lot of fiddling around

Ah, that brings me back to memories of boot floppies in order to change the memory settings of the system.

Re:Learning to program is getting harder by stryk on Saturday February 17, 2018 @12:02AM (#16399135)
IRQ conflicts! Holy mother of hell IRQ conflicts! particularly when dealing with those early gen Sound Blasters -- and trying to get that Roland MT32 you borrowed from the greasy weirdo in your big brother's band hooked up and pumping out that sweet, sweet midi
Re:Learning to program is getting harder by stinos on Saturday February 17, 2018 @04:12AM (#16399834)
IRQ conflicts!

Recently I had this surface, some RT kernel extension we use would display possible conflicts. Despite programming a lot these days, my background is electronic engineering, so I still have a rough idea of what an IRQ is and does even on the lowest level. However had no luck trying to explain that to a 'pure' programmer.

Re:Learning to program is getting harder by ZenoArrow on Saturday February 17, 2018 @04:48AM (#16399942)
> "However had no luck trying to explain that to a 'pure' programmer."

Interrupt requests are easy to explain to even a novice computer user if you frame them in the context of something they're familiar with.

For example, when you press a key on your keyboard an interrupt request will be created to make sure the computer knows you've pressed the key. So in simplified terms, you could say when you press the "A" key on your keyboard, there is a part of the computer that says "pause what other things you're doing, respond to the "A" key press, then continue with what you were doing before".

Re:Learning to program is getting harder by pjmlp on Friday February 16, 2018 @06:31PM (#16397559)
Hello Autoexec.bat and config.sys. :)
Re:Learning to program is getting harder by u801e on Friday February 16, 2018 @07:55PM (#16398100)
And, in some cases, himem.sys :)
Re:Learning to program is getting harder by arbie on Friday February 16, 2018 @11:19PM (#16398975)
himem.sys seemed like black-magic to me at the time.
Re:Learning to program is getting harder by drxzcl on Saturday February 17, 2018 @03:50AM (#16399781)
It still does.

I mean, it pokes the keyboard controller in order allow the processor to control an additional bus line to the memory controller. Then, thanks to 8086’s overlappping segmentation architecture, you can access 65519 additional bytes that were never intended to be there in the first place.

There’s Cthulhu mythos that is more acc si le than that.

Re:Learning to program is getting harder by Flow on Saturday February 17, 2018 @05:30AM (#16400057)
Wasn’t there himem on the 286 as well?
Re:Learning to program is getting harder by bananaboy on Saturday February 17, 2018 @07:02AM (#16400327)
That is in fact when the A20 gate was introduced. I suspect the poster above was referring to 80x86 and not specifically the 8086. The 8086 (and 8088, 80186) could only address 1Mb of memory and only have 20 address lines, while the 80286 has 24 address lines. In real mode the 80286 is supposed to be compatible with the 8086. However, it has a bug where the A20 line is not 0 in real mode, which can cause problems with real mode software that relies upon address space wraparound using seg:ofs addressing. So Intel introduced the A20 gate which could be controlled by software and allowed or prevented address line 20 from being seen on the bus. Enabling it allowed your 80286+ real mode software access to an extra 65520 bytes of memory.
Re:Learning to program is getting harder by gt_ on Friday February 16, 2018 @05:36PM (#16397151)
I agree. My first computer had Windows 3.1, then soon upgraded to Windows 95, and I was probably worse off because of it. I made Angelfire sites with HTML for a summer but it didn’t hold my interest. I still don’t care for making HTML/CSS websites, but eventually learned I love programming. I firmly believe that if I were required to use command line simply to interact with my computer at that early stage, I would have pursued more programming.
Re:Learning to program is getting harder by elihu on Friday February 16, 2018 @09:13PM (#16398481)
I think there's also an aspect of people's expectations changing. Twenty or thirty years ago, no one expected new software to run on a ten-year-old computer and no one expected Windows software to run on a Mac or vise versa. (Linux was pretty far outside the mainstream.)

Now, we have a proliferation of computing environments, and it's hard to give people generic advice about how to install and use a tool that would apply equally across all those various environments. Browser standards seem to be the one thing that's relatively common across platforms, so a lot of that stuff moves online.