News for hackers. Stuff that matters.
Re:Learning to program is getting harder by socialist_coder on Friday February 16, 2018 @03:42PM (#16395969)
Anecdotally, what I've seen is that older programmers, in addition to being programmers, also have the skills of a computer helpdesk technician. They can debug Windows problems, hardware problems, know how to mess with the BIOS, and have no problem installing or configuring any piece of software. This helps immensely when setting up your IDE or debugging weird problems with compiling.

Younger programmers seem to commonly have zero knowledge in this area. If they run into some problem with their environment, they are completely stuck. Oh, they're asked to install a VPN client but it doesn't work and they have to debug it? They're completely blocked. They have no idea how to continue.

For me, I learned these basic computer skills first (because I was obsessed with computers as a child). Then I learned to program.

I think this is a side effect of teaching programming as a career skill. You have people that want to be programmers but don't include "computing" as one of their hobbies. So of course they don't know anything about how to debug computer problems. This is totally expected.

Teaching these skills in CS curriculum would probably be a good idea.

Re:Learning to program is getting harder by userbinator on Friday February 16, 2018 @08:24PM (#16398249)
I agree completely --- being one of the "older programmers" --- and think it could be phrased thus: a new generation of "coders" is being forced to learn how to write instructions for the machine, when they are barely computer-literate.

Having taught some introductory CS courses a few years ago, the amount of struggling with basic things like file naming, directory hierarchies, and even simple hardware use was a constant distraction.

On one memorable occasion, I had to help a student by turning on the monitor: he would sit down at a workstation, move the mouse and tap the keyboard, and seeing nothing show up on the monitor after a moment, go to another unoccupied one. I watched, without intervention, him try this with all the unoccupied workstations in the lab until he finally came to me and said, in an exasperated tone, "all the computers left are broken!" I lead him over to one, and upon pressing the power button on the monitor, the expression he made was quite unforgettable...

Re:Learning to program is getting harder by skookumchuck on Friday February 16, 2018 @09:10PM (#16398462)
There aren't really any clues as to how a computer works on an iphone. There isn't even a visible filesystem. It's no wonder students today have no idea how a computer works.
Re:Learning to program is getting harder by IIAOPSW on Saturday February 17, 2018 @02:22AM (#16399519)
thirding this.

In the bad old days computers weren't wide spread but just by virtue of having one you would learn programming / tech skills. Today computers are everywhere but owning one doesn't teach you anything as fundamental functionality is hidden/locked away from the user in the name of being "consumer friendly".

I wonder if those born between 1988 and 2002 will be the last of the so-called naturally computer literate.

Re:Learning to program is getting harder by ajmurmann on Friday February 16, 2018 @09:47PM (#16398606)
This! I'm very concerned that we are growing a population that is more and more monitored by their devices and has less and less understanding of how they work and how they or even if they are being monitored.
Re:Learning to program is getting harder by Arkight on Friday February 16, 2018 @11:38PM (#16399049)
Aye, I second this, got me really pissed off when fellow CS student told me he has ''experience'' in using Iphone extensively, and that counts towards computing.

Makes you wonder what does computing mean to people nowadays.

Re:Learning to program is getting harder by mrexroad on Saturday February 17, 2018 @01:01AM (#16399310)
I ask this out of genuine interest... why does it matter? Why’d it piss you off?
Re:Learning to program is getting harder by Hextinium on Saturday February 17, 2018 @02:24AM (#16399524)
Not OP but, it's the classic Dunning-Kruger effect, they know so little about how to use a computer that they think that using a iPhone is a skill that is equivalent. This usually isn't a problem for most people but this person is in CS, where you would expect them to have at least passing knowledge in computers to join the major.
Re:Learning to program is getting harder by mrexroad on Sunday February 18, 2018 @12:17AM (#16404581)
Again, why? FWIW I have a fancy degree in computer science and spent my childhood rebuilding and scraping together old 2/3/486 boxes. Yet I think it’s terrific that someone would be interested enough to enroll in a CS program without having wintel/Linux boxbuilding trivia knowledge.

The perception of what makes a viable CS major needs to evolve past what those born during the “Personal Computer” era think it should be.

Re:Learning to program is getting harder by Hextinium on Monday February 19, 2018 @04:22AM (#16411746)
I do agree with that and I have seen quite a few brilliant programmers be born in classes but there is a point where you start to expect them know some basic stuff like what a router, IDE and script are so that I don't have to explain them in full just to say how to make something work.
Re:Learning to program is getting harder by mixmastamyk on Saturday February 17, 2018 @03:43AM (#16399760)
It is a computer, of a different design.
Re:Learning to program is getting harder by yousir on Saturday February 17, 2018 @04:23AM (#16399865)
A jet fighter is a computer with wings. I don't think we should expect pilots to be computer literate the same way a software programmer needs to be.
Re:Learning to program is getting harder by mixmastamyk on Saturday February 17, 2018 @12:50PM (#16401747)
Was correcting several statements that mobile devices aren’t computers. Lots of “computer knowledge” had to be aquired in the 90s due to the poor design of wintel boxes.
Re:Learning to program is getting harder by roboyoshi on Saturday February 17, 2018 @04:25AM (#16399869)
"what's a computer?"

looks like there is some truth in that ad

Re:Learning to program is getting harder by tartrate on Saturday February 17, 2018 @03:27AM (#16399713)
Wait, the previous generation had no phones at all. Do you mean that today's generation use phones instead of computers? In that case, I understand your point.
Re:Learning to program is getting harder by j45 on Saturday February 17, 2018 @04:05AM (#16399816)
This reminds me of a story I recently heard where a student at a digital arts college reported they were saving their file inside photoshop instead of a folder.

It sounds bizarre - because they were using an iPad/iPhone instead of a computer.

Re:Learning to program is getting harder by bmn__ on Monday February 19, 2018 @11:14AM (#16413688)
Re:Learning to program is getting harder by epmaybe on Friday February 16, 2018 @10:54PM (#16398879)
I'd argue something a bit different. Coding is far more accessible today and far more visible as a field one could get a job in than ever before. As such, you have way more students trying to learn some introductory CS. Maybe the proportion of CS learners is going up while the proportion with more technical literacy stayed the same?
Re:Learning to program is getting harder by Buttons840 on Saturday February 17, 2018 @12:45AM (#16399265)
I hope you weren't too smug about knowing to turn on the monitor. I can't remember the last time I've had to do so. Remember, there are no intuitive interfaces, only familiar ones.
Re:Learning to program is getting harder by stinos on Saturday February 17, 2018 @04:02AM (#16399813)
I can't remember the last time I've had to do so.

I do, but that's mainly because of working with older and/or more professional devices which don't (want to?) consume power even when technically off. But for the rest, yup, doesn't really happen that often.

there are no intuitive interfaces, only familiar ones

Most screens in the office, when 'off', look like a matte black box with a single clearly visible button with a dim light. You can claim it's familiar because nearly every techincal appliance has a power button, but on the other hand: I am quite sure if you'd give this thing to a homo sapiens or similar, arguably not familiar with a button, it would not take too long befoer that button would get pressed.

Re:Learning to program is getting harder by wyclif on Saturday February 17, 2018 @01:48AM (#16399425)
A lot of these kids probably learned to program on a laptop, so they've never used anything that didn't wake from sleep upon opening.
Re:Learning to program is getting harder by _betty_ on Sunday February 18, 2018 @12:19AM (#16404589)
A lot don't have a clue about programming before uni they just like playing games and saw the word computer in the degree
Re:Learning to program is getting harder by viraptor on Saturday February 17, 2018 @06:58AM (#16400315)
Or maybe the student just had a brainfart. People make stupid mistakes sometimes, or fail to see a completely obvious solution. It happens to everyone.
Re:Learning to program is getting harder by bostik on Saturday February 17, 2018 @02:46AM (#16399585)
> Having taught some introductory CS courses a few years ago, the amount of struggling with basic things like file naming, directory hierarchies, and even simple hardware use was a constant distraction.

Or to put it the other way: users (future would-be programmers) are being distanced[sic] from how the machines work. Even at the most rudimentary level.

Frankly, I'm not surprised. Interfaces are systematically being dumbed down in the name of usability. Users may be buying powerful computers, but they are using appliances. Pieces of shiny machinery that, to all intents and purposes, work with magic. [Queue A.C. Clarke quote here.]

The immediate downside is that when the interface is dumbed down to the level of non-confusion for the large masses, the features that power users would find appealing are being stripped off.

Curiosity may have killed the cat, but what happens when curiosity itself is being killed?

Re:Learning to program is getting harder by mirimir on Saturday February 17, 2018 @03:09AM (#16399661)
Familiarity with how computers work arguably peaked during the early-mid PC era. The first computer that I used was an IBM 360. Basically, someone showed me how to punch cards, and how to enter my data. After submitting the job, I'd find out the next day whether it crashed, or completed properly. And after a few tries, I got my results.

But nowhere in that process did I know anything about IBM 360s, or how to program or run them. I more-or-less understood the mathematics involved in the data processing. And I could somewhat parse the Fortran. But I had no concept of anything like a directory hierarchy.

With an IBM XT 286, on the other hand, it was all in my face.

Re:Learning to program is getting harder by veddox on Saturday February 17, 2018 @04:23AM (#16399862)
> Familiarity with how computers work arguably peaked during the early-mid PC era.

Now there's an interesting observation. I'm not quite sure whether you're right, but quite possibly.

Looking around my local libraries and bookstores, most of the books that deal with using personal computers do seem to be from the 90s/early 2000s era. The question is whether the decline in these books indicate that they are not needed any more, or that they are not wanted anymore (due to "hidden complexity")?

Re:Learning to program is getting harder by josteink on Saturday February 17, 2018 @08:49AM (#16400643)
> With an IBM XT 286, on the other hand, it was all in my face.

Earlier in the pre-PC age, for the hobbyists you had similar experiences with home computers like Tandy RadioShack, ZX spectrum, Commodore Vic-20 or 64, not to mention the Amigas and Ataris (and all the others I’m old enough to have forgotten).

Early Macs also let you mess around (and mess up) your system too.

It was an exciting time in computing indeed, but it did in no way start with the PC.

Re:Learning to program is getting harder by mirimir on Saturday February 17, 2018 @05:24PM (#16403109)
Yes, it was sloppy of me to say "PCs". I meant personal computers, more generally. Which arguably includes all the pre-PC ones.
Re:Learning to program is getting harder by tripzilch on Monday February 19, 2018 @01:30PM (#16414637)
I believe they were called "home computers", then?
Re:Learning to program is getting harder by mrexroad on Saturday February 17, 2018 @12:59AM (#16399303)
Can’t help but wonder if in another 40 years, if this sentiment be viewed as being absurd, similar to how we’d find hypothetical comments from 35-40 years ago as absurd: personal computers being nothing more than calculator or hobby, and “not a real computer since it came already assembled and someone else already wrote the software!”
Re:Learning to program is getting harder by zo1 on Saturday February 17, 2018 @05:41AM (#16400096)
We recently got a junior-dev straight out of finishing his CS degree. And he didn't know you could "extend" your desktop and show different things on each side by plugging in a monitor. When quizzed, he told me he's "always just had a laptop", and never a monitor next to it I assume. He was then equally perplexed by the resolution and corresponding font-size change that occurred on the monitor because it could now run its own native resolution rather than what the laptop screen was forcing it to mirror.

It was quite eye-opening to see that.

Re:Learning to program is getting harder by Hextinium on Monday February 19, 2018 @04:29AM (#16411775)
I think there is something to be said for what classes don't teach you. You can ace a test but have very little practically knowledge if you don't work with stuff outside of class. I honestly think that you learn 10-50x more in practical knowledge from the organizations that you can join in college than the classes themselves.
Re:Learning to program is getting harder by TallGuyShort on Friday February 16, 2018 @06:30PM (#16397556)
I think that's a side-effect of degrees that focus only on coding or applied math, whereas before the computing industry was as developed as it is now and there was less specialization within it, a CS degree would have covered the basic data structures and algorithms that were common knowledge then and still had plenty of time to cover systems things. My degree wasn't in CS - it included basically a CS minor, but it also focused on network protocols and hardware architectures that most CS students had never heard of. So when I was interviewing for jobs around graduation and was asked to explain everything that happens after someone types "google.com" in their browser, I could explain all the network protocols in detail right down to how binary was encoded into specific 5V fluctations on certain lines, DNS resolution, routing algorithms, the server's filesystem, etc. But when I was doing a coding problem and they asked me what the invariant was in my loop, I had to ask what an invariant was. And yet I had been coding full time for 4 years by that point and never needed to know that term. I knew stuff CS majors didn't, and they knew stuff I didn't. It was different specialities, each of which really filled 4 years of heavy, heavy semesters.
Re:Learning to program is getting harder by NTDF9 on Friday February 16, 2018 @08:07PM (#16398158)
Reminds me of a recent interview where they asked me, "How does the client to a server?"

I replied "over the socket"

To which they replied, "Using REST over HTTP"

¯\_(ツ)_/¯

Re:Learning to program is getting harder by __blockcipher__ on Friday February 16, 2018 @08:51PM (#16398362)
I would have murdered them on the spot for that response
Re:Learning to program is getting harder by aurelianito on Friday February 16, 2018 @09:08PM (#16398456)
Probably both are correct. But which one is more useful in this context?
Re:Learning to program is getting harder by __blockcipher__ on Friday February 16, 2018 @09:17PM (#16398494)
The interviewer or whoever should provide the context. Otherwise it’s a pointless question.

The issue is when they don’t provide context and expect you to list off some random framework or something.

Re:Learning to program is getting harder by esmi on Friday February 16, 2018 @11:40PM (#16399055)
Or they expect you to ask for context.
Re:Learning to program is getting harder by aje403 on Friday February 16, 2018 @09:24PM (#16398525)
Why is a pothole round?

Nope - sorry, looks like you're not a mythical unicorn!

Re:Learning to program is getting harder by thaumasiotes on Friday February 16, 2018 @10:17PM (#16398741)
The famous question is "why are manhole covers round?" Manholes being artificial, this leaves some room for speculation about why the shape was chosen.

"Why is a pothole round?" is a more objective question.

Re:Learning to program is getting harder by aje403 on Saturday February 17, 2018 @07:10AM (#16400351)
You're hired! SVP of Aerospace Engineering. How many people do you need under you, killer?
Re:Learning to program is getting harder by marcv81 on Saturday February 17, 2018 @01:56AM (#16399444)
Most manholes are round because that is the most practical shape such that the cover cannot fall in. There are actually other shapes, but they are usually hinged and most costly.
Re:Learning to program is getting harder by zo1 on Saturday February 17, 2018 @05:48AM (#16400113)
I've never thought about it, but a circle of the correct size has no less reason to not fall in than say a square or triangle of the appropriate size. I.e. if it's smaller than the hole, it'll most likely fall in.

My theory: They're heavy, so making it a circle at least eliminates the need to "align" it when putting it back. You can basically just drag it using a hook and it'll slot itself into place.

Re:Learning to program is getting harder by mjlee on Saturday February 17, 2018 @06:18AM (#16400205)
But manhole covers are always bigger than the hole. Otherwise, they'd fall in at installation and the problem would be immediately obvious.

The point here is more that a circle has the same diameter regardless of orientation. There's no way to rotate it to make it fit through a hole it couldn't before, like you can do with a rectangle.

Re:Learning to program is getting harder by jpindar on Sunday February 18, 2018 @05:20PM (#16409145)
This is also true of a triangle, and indeed there are triangular manholes.
Re:Learning to program is getting harder by sobani on Monday February 19, 2018 @11:12AM (#16413684)
Aren't the altitudes/heights of a triangle shorter than its sides?

The height of an equilateral triangle is about 87% of the length of one of its sides.

Re:Learning to program is getting harder by jpindar on Monday February 19, 2018 @12:51PM (#16414359)
True. Whether they fit through the hole depends on how thick they are.
Re:Learning to program is getting harder by shagie on Saturday February 17, 2018 @11:23AM (#16401319)
You might be interested in reading about Prince Rupert's cube. https://news.ycombinator.com/item?id=16399079

In particular from https://en.wikipedia.org/wiki/Prince_Rupert%27s_cube

> In geometry, Prince Rupert's cube (named after Prince Rupert of the Rhine) is the largest cube that can pass through a hole cut through a unit cube, i.e. through a cube whose sides have length 1, without splitting the cube into two pieces. Its side length is approximately 6% larger than that of the unit cube through which it passes. The problem of finding the largest square that lies entirely within a unit cube is closely related, and has the same solution.

That 6% larger is the key.

Re:Learning to program is getting harder by mtreis86 on Saturday February 17, 2018 @06:28AM (#16400241)
Man hole covers aren't flat discs nor thin cylinders, but are truncated cones. The diameter of the bottom of the cover is smaller than the top. There is no way for a cone to fall through an opening smaller than the widest diameter end.
Re:Learning to program is getting harder by pavelrub on Saturday February 17, 2018 @09:31AM (#16400800)
The difference is that this "appropriate size" (= cost of materials) is smaller for circles than it is for any other shape.
Re:Learning to program is getting harder by thaumasiotes on Saturday February 17, 2018 @05:43AM (#16400104)
Re:Learning to program is getting harder by mrexroad on Saturday February 17, 2018 @01:06AM (#16399321)
Sorry, confused here on why the pothole variant is more objective? If anything, the manhole cover one seems pretty clear cut?
Re:Learning to program is getting harder by thaumasiotes on Saturday February 17, 2018 @05:54AM (#16400134)
Potholes are naturally occurring. For any particular pothole, there is a reason it took whatever shape it did.

The only real constraint operating on manholes is that they fit the opening. Unless you can produce a design document specifying the requirements for the manhole you're looking at, there isn't really a "why".

Re:Learning to program is getting harder by aje403 on Saturday February 17, 2018 @10:50AM (#16401167)
Please clear out your desk. Security will escort you out.
Re:Learning to program is getting harder by tripzilch on Monday February 19, 2018 @01:32PM (#16414649)
Is it murder?
Re:Learning to program is getting harder by baq on Saturday February 17, 2018 @06:56AM (#16400308)
'African out European' next time, it is.
Re:Learning to program is getting harder by TallGuyShort on Saturday February 17, 2018 @02:29PM (#16402274)
I don't understand this - could you enlighten me?
Re:Learning to program is getting harder by chiph on Saturday February 17, 2018 @02:40PM (#16402326)
"African or European" - refers to Monty Python's classic film Holy Grail

https://www.youtube.com/watch?v=rFQgwwXOfR4

note: Watch the witch scene later in the film - there's a coconut and swallow at the start of it.

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.

Re:Learning to program is getting harder by rconti on Friday February 16, 2018 @06:00PM (#16397343)
I absolutely agree with your first few paragraphs. As a hobbyist before I was a professional (Linux desktop since '95), I'm surprised when I meet people who have a technical skill but not a hobbyist background. I first encountered it with Oracle DBAs who sometimes were amazing at Oracle but had rudimentary Unix skills, and that's becoming more commonplace as people do things like phone app development but without the background "we" expect (whether rightly or wrongly).

That said, my background as a Sysadmin/Ops person also landed me in my own silo. I don't have much programming experience, and running production systems means NO, the environment does NOT give you access to wide-open CPAN, RPM, pip, whatever downloads. It's a regimented release process where someone upstream has to provide the relevant dependancies and you don't just go around installing stuff, running services, etc.

As a result of my background and not being a developer, on HN I hear of new languages/frameworks/libraries/methodologies on a daily basis. Things that, clearly, a large number of readers hear must already be familiar with, even though many of them will be out of fashion in 6 months.

And then the process to install a lot of these things is "oh, just pipe a wget of this script into bash, RPM install this, pip install that, don't worry, it's all quite safe for your system..."

In many ways, it feels like worlds are diverging.

Re:Learning to program is getting harder by yjftsjthsd-h on Friday February 16, 2018 @08:16PM (#16398221)
> In many ways, it feels like worlds are diverging.

We are specializing.

Enterprise shops have always wanted stability, and so they develop ever more elaborate build processes to control exactly what versions go into production. Embedded systems have always wanted to run only what needed to run, and so we have developed ever-improving systems to pick out only exactly what needed to be run. Developers, in the meantime, have always wanted the newest and shiniest, and so have gotten 10,000 ways to install newer and shinier toys.

Edit: typo

Re:Learning to program is getting harder by Clubber on Friday February 16, 2018 @05:30PM (#16397093)
I'm and older programmer. I learned how to build a computer because my parents scraped enough money to buy a computer when I was young, but not wealthy enough to get it fixed when I inevitably broke it. This was back when PCs were friggin expensive as were parts. Fellow computer friends (we had few back then) would let each other borrow hardware (parts) and whatnot, so we had to learn how to install it and configure it (IRQ's COM ports, etc), but it was fun, and without internet! It's what I liked to do in my spare time.

The funny thing is the C64 and VIC-20 were self contained, for the most part. You didn't have to add cards and swap out processors and all that. All you really had to do is know how to put wad of aluminum foil where your fuse should go when your fuse goes out. :)

When the dot boom came around, I had to learn how to not only write web sites, but I had to learn how to host a website out of my house, which includes everything you would need to host a website, which involves a lot. DNS server, mail server, database server, server admin, TCP/IP, security, and more. I still host out of my house today.

Re:Learning to program is getting harder by drharby on Friday February 16, 2018 @07:43PM (#16398048)
I tried hosting my own mailserver out of an ec2 instance in an excercise.

Learned lots in those hours and hours

Re:Learning to program is getting harder by behringer on Friday February 16, 2018 @08:52PM (#16398371)
It took me a month to setup a mail server including redundancies. But now I can postfix like none other :)
Re:Learning to program is getting harder by gricardo99 on Friday February 16, 2018 @04:08PM (#16396282)
I have not seen any age-correlation in what you describe. For sure there are "career" programmers who don't know much about computers beyond their narrow scope of expertise.

You're admittedly obsessed with computers, which presumably means you spend a lot of your free timing tinkering and learning. You've picked up a lot of very useful knowledge, but surely there's room in a profession for those who are not obsessed with their field? The programmer who doesn't know anything about a BIOS perhaps spends their free time bike riding.

Re:Learning to program is getting harder by sametmax on Friday February 16, 2018 @04:48PM (#16396731)
Yes but computing is a very young field.

It's not like architecture or cooking.

Everything sucks. Most stuff breaks, are buggy, badly documented and poorly explained. Things gets obsolete fast.

If you are "just a programmer", you will be half productive and very dependent on others.

Re:Learning to program is getting harder by namelost on Friday February 16, 2018 @06:34PM (#16397587)
Being a programmer without advanced computer skills is like being a paramedic who can't drive. Sure it's possible and there's probably some niche where such a person can fit in, but definitely career limiting.
Re:Learning to program is getting harder by adrianN on Saturday February 17, 2018 @12:26AM (#16399220)
I know a couple of grey haired professional programmers who have only rudimentary "computer" skills. They're still decent programmers though.
Re:Learning to program is getting harder by pasabagi on Friday February 16, 2018 @07:00PM (#16397808)
I don't really think of programming as a career skill - I'm a hobbyist. But I love it, and I love learning about it, even the really low-level stuff. I like reading about algorithms, and data structures, and architecture.

Computers, on the other hand, I despise. Every piece of knowledge I have to learn about how a specific computer works, not in the sense of ALUs and registers and whatnot, but in the sense of 'if Windows gets a BSOD it's probably the boot usb you've left plugged in', I hate - and only let into my brain with a great deal of teeth-grinding and swearing.

Fundamentally, computers are interesting devices. Using them, however, is generally horrible. So I can see why people get into programming without really taking an interest on the devices we normally use to program on. I think programming would be an interesting activity if you were just doing it with pen and paper. For me, it's really a shame that the best device we have available for it is some kind of crazy-house compendium of horrors and bizarre compromises.

Re:Learning to program is getting harder by titanix2 on Friday February 16, 2018 @11:51PM (#16399100)
Personal anecdotes here. I never occurred to me that people who could program couldn't do some sysadmin stuff to some extends until I work a small contract in a company. A day I was to demoing something there was a problem, so I fired Powershell to to some command line stuff... and someone asked "why do you have IT skills?". At first, I didn't even understand the question, I mean, installing systems, playing with VM, and the like was my daily bread, so I thought it was the some for every programmers...

Another day, I went to the local of the university's CS student association. I was excited about what I did the previous day so I told after entering: "yesterday I installed FreeBSD in a virtual machine and did XX". One people replied by what is a virtual machine, and another by what is FreeBSD. I explain to them briefly then left wondering where the people actually interested by the field were. It turns out I met some of them a few months/years later. Both mostly self learners, one with formal training in theology and the other a musicology.

Re:Learning to program is getting harder by northwest66 on Friday February 16, 2018 @08:30PM (#16398279)
I've never met a good programmer that wasn't (at least initially) self taught. Presumably they exist, but I've never met one.

I do agree though, I find when I'm teaching my juniors I sometimes have to give a little history lesson as part of it (things like why 8.3 filenames).

Re:Learning to program is getting harder by sevensor on Friday February 16, 2018 @08:37PM (#16398312)
> why 8.3 filenames

Why is that, exactly? I grew up in that era, I remember when floppies were actually floppy, and I've been well into computers ever since, but I don't believe I could tell you why. If I had to guess, I'd guess that FAT used a fixed number of bytes for each filename.

Re:Learning to program is getting harder by northwest66 on Friday February 16, 2018 @08:49PM (#16398352)
Yep you got it. My first actual PCs (I don't count the Apricot PCs haha) were DOS 3.3, and I still remember the transition away from 33MB partitions although it's so long ago I can't remember if that came in with DOS 4.0 (abort abort!) or 5. I thought I was so cool having a PC with drives A B C D E F G H I.
Re:Learning to program is getting harder by u801e on Saturday February 17, 2018 @12:14AM (#16399177)
I had a 486 PC with a 100 MB hard drive running Dos 5.x (can't recall the minor version). The hard drive was definitely a single partition.
Re:Learning to program is getting harder by FranOntanaya on Saturday February 17, 2018 @01:07AM (#16399323)
Oh man, rich kids had a D: drive. The rest of us had to make do with A: and C:
Re:Learning to program is getting harder by skookumchuck on Friday February 16, 2018 @09:11PM (#16398469)
It was 6.3 before that. The PDP-10 system :-)
Re:Learning to program is getting harder by kbob on Saturday February 17, 2018 @09:05PM (#16404018)
I don't know about PDP-10s. DEC's PDP-11 operating systems used a character set called RAD-50, short for radix (octal) 50, for filenames and various other purposes.

The (decimal) 40 characters were A-Z, 0-9, and four punctuation characters -- I don't remember which. Three characters could be stored in a 16 bit word, so a 6.3 filename required 3 words or 6 bytes. The '.' separator was not stored, of course.

The implementers of CP/M or one of those early PC OSes copied the idea but not the encoding and picked 8.3 as a slightly more usable size. Floppy drives were relatively capacious (!) so bigger filenames were reasonable.

The only reason I know this PDP-11 trivia is that end users could recompile the RT-11 kernel to save space, and DEC distributed the OS sources to enable that. The distributed version was written in assembler and had had comments stripped, so it wasn't quite like reading the Lions book, but you could read it if you really wanted to.

Re:Learning to program is getting harder by HankB99 on Friday February 16, 2018 @10:11PM (#16398718)
Didn't that include a ';' and version number too? (Or was that later - RSX-11M on a PDP 11/23)
Re:Learning to program is getting harder by skookumchuck on Saturday February 17, 2018 @12:40AM (#16399252)
I think that was later.
Re:Learning to program is getting harder by jclulow on Friday February 16, 2018 @08:47PM (#16398345)
It did.
Re:Learning to program is getting harder by fsloth on Saturday February 17, 2018 @03:28AM (#16399715)
I think I'm one.

I don't think starting early or on your own is a requirement. Like in any field, intrinsic motivation is what counts (IMO).

I started programming in university at... um... 19? As a part of a physics degree. And fell totally in love with it. 20 years later I'm doing it for living and the love really hasn't faded.

Computer graphics is a demanding mistress, you really need to understand why programs and computers work.

Based on my experiences I would consider myself a pretty OK programmer.

Re:Learning to program is getting harder by astura on Friday February 16, 2018 @09:00PM (#16398424)
Hi, I'm a good programmer (according to my bosses and peers) and I wasn't initially self taught, CS 101 was the first time I programmed ever. Nice to meet you.
Re:Learning to program is getting harder by incompatible on Friday February 16, 2018 @10:02PM (#16398687)
I thought 8.3 filenames were obsolete, even on Windows? Do your juniors even have any idea what you are talking about?
Re:Learning to program is getting harder by Arkight on Friday February 16, 2018 @11:43PM (#16399071)
It is quite obsolete, but we can still use them in modern windows for legacy program support.

As for whether such legacy program exist anymore it is a mystery.

Re:Learning to program is getting harder by ZenoArrow on Saturday February 17, 2018 @05:06AM (#16399994)
I still use .htm as an extension name for HTML files, even though all modern OS' can support .html. I wonder how common that is.
Re:Learning to program is getting harder by mirashii on Friday February 16, 2018 @04:03PM (#16396233)
> Teaching these skills in CS curriculum would probably be a good idea.

This is the one thing I don't agree with. A better placement for these skills is a generic course required for any degree, or an optional course that anyone could take to shore up these skills (and you could recommend it for your CS major). Importantly though, this isn't part of the field of computer science, and so it doesn't really belong in that curriculum.

Now, if we had more of a "software development" or "software engineering" major, or even trade school, I think that would be a perfect area to cover practical aspects of tooling that are required to work in the field. There's a large gap between what you need to learn to become a reasonably competent programmer at most organizations and what you learn in a computer science major, and it really shows if you've ever interviewed a lot of fresh graduates. Great algorithm and theory skills, but no idea how to set up a build system. There's definitely room for a more practical education that transitions more directly into industry.

Re:Learning to program is getting harder by Retric on Friday February 16, 2018 @04:42PM (#16396677)
There are a lot of useful skills. Teaching people how to fix a flat tire would also be rather useful.

Basic computer administration falls into that huge category of useful skills that are not worth teaching to a general population who have completely viable alternatives.

Specialization is extremely valuable for society and having more competent doctors etc is worth doctors having a more narrow focus.

Re:Learning to program is getting harder by Griffinsauce on Friday February 16, 2018 @05:51PM (#16397262)
I disagree. Having a broader skill set means you can be more creative with problems. The separation between doctors and computer science is holding both fields back. Think of machine learning and big data, we are _just now_ starting to apply those ideas to medical problems, while those problems are fundamental to our existence as a species.

Computers in hospitals are a chore and a drain on doctors. They should be empowering, instead doctors spend the majority of their time typing reports. Reports of things that are already registered in other parts of the system. (You're already thinking of a solution right? That proves my point)

Hearing about how hospitals handle technology from my SO (neurologist) makes me want to rip my hair out. Specialization is a great thing but we need generalists to bridge the gap to help specialists empower each other.

Re:Learning to program is getting harder by pm90 on Friday February 16, 2018 @06:53PM (#16397752)
I think you would be familiar with what it takes to become a doctor v/s a software engineer, education wise, but let me reiterate:

For a doctor: 1. 4-5 years Bachelors degree 2. A Masters Degree (at least 2 years) 3. Residency (at least 2 years? And this is working weird shift at hospitals and whatnot)

For a SE: Degrees are optional. Perhaps a Bachelors.

So if you require the same amount of rigor from SE's, that's probably gonna scare off many who don't want to spend the better part of their youth buried in books.

And since there is such a huge demand for SE's who don't need to know OS fundamentals, there is no push for having more rigor in the curriculum.

Maybe I'm being too pessimistic. I would certainly like there to be more generalists. But that would require the same kind of attention to credentials that doctors are put through. And I think a vast majority of current engineers are opposed to more formal education.

Re:Learning to program is getting harder by Retric on Friday February 16, 2018 @06:47PM (#16397694)
I see zero connections between having computer administration skills and fixing those problems. Knowing how to install and troubleshoot software would be a waste of their time.

Programming on the other hand would take a significant commitment to be useful. Sure having say ~1% of doctors go down that path might be useful but for the other ~95% it would be a horrible waste of time and cost literally hundreds of billions of dollars over time.

Re:Learning to program is getting harder by exDM69 on Saturday February 17, 2018 @03:45AM (#16399765)
If there were doctors and nurses who have basic computer literacy and entry level coding skills taking part in the acquisition and development process of the IT systems they use, I bet they wouldn't suck as much as they do.

Most specialized software systems, e.g. those that are used in hospitals or selling you train tickets, are developed by people who don't have a faintest idea how the software is used daily. This ends up being an expensive disaster more often than not.

This is why I think everyone should have basic computer literacy and programming skills. Which is not the same as everyone should be a professional quality software engineer.

Re:Learning to program is getting harder by Retric on Saturday February 17, 2018 @07:15AM (#16400361)
Yea, even basic programming is not part of basic computer literacy. You are looking a very different and expencive in terms of time to acquire sill set.

Worse, Doctors are often not part of these decisions in the first place. Further there are plenty of doctors with these skills however they don't work for cheap and most of this software is build by people that are paid as little as possible. Remember their workflow is not actually complicated, it's just not helpful when selling this software.

Really, this software is not terrible because it's hard to make, it's terrible because of how it's sold and maintained.

Re:Learning to program is getting harder by pedrosorio on Friday February 16, 2018 @07:18PM (#16397902)
> Specialization is a great thing but we need generalists to bridge the gap to help specialists empower each other.

That is the dream: https://en.wikipedia.org/wiki/Biomedical_engineering

Re:Learning to program is getting harder by tj-teej on Friday February 16, 2018 @04:06PM (#16396258)
I don't think the experienced engineers earlier referred to learned these things in a CS curriculum.
Re:Learning to program is getting harder by acdha on Friday February 16, 2018 @09:05PM (#16398439)
One other factor I've wondered about over the years is how quickly they give up when they hit a problem. In the 90s and early 2000s people had to develop local diagnostic skills, read documentation, etc. more before things like Stack Overflow were so pervasive.

I wouldn't say it's a scientific observation but I've definitely gotten the impression that it's taking people longer to outgrow the cycle of immediately searching for a copy-paste answer and moving on without developing a better understanding of the issue for the next time something similar shows up.

Re:Learning to program is getting harder by eadmund on Friday February 16, 2018 @10:59PM (#16398901)
> I wouldn't say it's a scientific observation but I've definitely gotten the impression that it's taking people longer to outgrow the cycle of immediately searching for a copy-paste answer and moving on without developing a better understanding of the issue for the next time something similar shows up.

I wonder if that's a phenomenon on the same spectrum as HN-Driven Development, where whatever one has last seen posted on HN is clearly the New Best Thing Evar. It's a bit like a voluntary outsourcing of one's own agency.

Re:Learning to program is getting harder by acdha on Friday February 16, 2018 @11:19PM (#16398972)
I definitely see a connection between that and complexity: people think that they need what someone else with a bigger, different problem did and amplify the number of things they need to learn.
Re:Learning to program is getting harder by gonzo41 on Saturday February 17, 2018 @02:29AM (#16399536)
Your right there arnt that many top rated post on HN about someone running up a small ec2 instance with wordpress and mysql. A lot of web stuff is plugging in the DB and not tripping over the cord. Yet thing of all those crazy frameworks that keep popping up and they look so impressive!

Just something to think about aswell. When things were simpler and there was less choice there was also more concentrated documentation. It wasn't a bad investment to by a book about a language.

Re:Learning to program is getting harder by xbryanx on Friday February 16, 2018 @04:52PM (#16396782)
I think another big culprit in this situation is the IT department. I visited a research university recently in a computer science related field. The IT department wouldn't allow even graduate students and researchers to have admin access on their machines. Even if the programmers could debug basic issues, they often had to go track down and IT staff member to install some library or program for them. If this is happening at the computer research level it's happening even more in non-tech company business environments. How do we expect staff at non-tech companies to experiment with new skills in programming if they can't even use their computers at their full potential?
Re:Learning to program is getting harder by Clubber on Friday February 16, 2018 @05:47PM (#16397232)
Ya, I had an intern position at my school that did computer lab build support (the hardware and network, not as a teacher). We installed Windows NT 4 Workstation everywhere and it wasn't overly secure. At least 4 times, someone changed the default background to a porn still. Blame that guy.
Re:Learning to program is getting harder by koffiezet on Wednesday February 28, 2018 @11:53AM (#16484343)
Has little to do with age, but more with the amount of people in the CS field right now. Only a fraction of them are enthusiasts. I notice that especially with my "front-end" developer colleagues - of whom 3/4th is here to do a job and at home many of them don't even have their own computer. Sure they play video games on their XBox or PS4, but that's the extent of their technical interest. For them it's simply a well-paid 9-to-5 job.

Now my other colleagues are mostly doing back-end and embedded C++/Python stuff, and are in general a lot more interested in the technical side. I think it's more or less the other way around, 1 out of 4 is not really tinkering with tech at home - but even they are more interested in tech outside of their field. I show them stuff like docker, kubernetes, time-series databases and metrics collection stuff, ansible/tower and what we can do with those things, and how they could make changes in the way they design their software to make things more reliable or easier to deploy/monitor - and their reaction is "oh cool!". Our front-end team? Completely the opposite attitude and completely averse to changing the way they work. I hear "we'll do this manually" or "why? this works too"...

Most of the front-end dev roles seem to attract people who're not really into tech, but can code a bit. I think because of the immediate visual feedback? They end up hiding behind their frameworks with a lack of even basic understanding of HTTP or networking. Me as an embedded developer rolled into sysadmin role then has to tell them what the hell HTTP2 is, catch their screw-ups when they serve mixed http/https content on their site, ... Now they're not all like that, there are some pretty good guys there - but the majority can write basic code, and that's where it ends. Sadly it's no surprise their team-leads all fall in the wrong category. On the other side, I have the last say when stuff is deployed in production, so they are forced to adapt to certain things - but they'll always complain.

Re:Learning to program is getting harder by leggomylibro on Friday February 16, 2018 @04:02PM (#16396215)
But those skills have nothing to do with computer science as a field of study - wouldn't they be more useful to teach in general education like K-12?

Like I remember in middle school, we had an elective option between woodshop and CAD. The 'CAD' class was really more about performing simple automation in programs like MS Word/Excel, but that sort of thing is still useful in just about any job these days - not just programming.

I really like the idea of starting to call 'CS' something like 'Informatica' so people might stop looking at the field as just a valuable career skill. Google tells me that there is now a startup called 'Informatica', but that is also what the field is called or translates to in some other countries like the Netherlands; I think https://www.cwi.nl/ could probably claim prior use.

Speaking of, it seems odd to try to use an existing commonplace phrase as a trademark in the industry that the phrase was born from - it seems like it'd be impossible to argue that anyone was infringing - but I guess I'm not a corporate lawyer.

Re:Learning to program is getting harder by zerkten on Friday February 16, 2018 @05:15PM (#16396964)
I think you are trying to make some good points, but your language could have been clearer. If I'm understanding correctly you mean:

1. Treat Computer Science (CS) as a specific field, and don't dilute the curriculum with related items. 2. Introduce a course that covers these broader, non-CS items, and actually push it out beyond the audience of CS?

Did I get that right?

I think you might have meant the term "informatics" (https://en.wikipedia.org/wiki/Informatics). Depending on your position CS is either subordinate, equal, or above informatics. I have a degree from a UK university and there is a much wider spectrum degree types in this field than exist here in the US where I now live.

I'm conflicted on the original post that elicited your response. I have that background where I inherited a broken PC, a bunch of floppy disks, and some manuals. In some ways this gives me an advantage, especially given that I'm comfortable being dropped into a messy project or some problem that is debugged. I've seen lots of folks who can't handle this, but can churn out code on to need more support around the edges.

I now see more and more folks attempting things like devops and at least being able to learn some of these skills later on. I think where it stands me in better stead is problem avoidance, but even that is subjective.

Re:Learning to program is getting harder by mattmanser on Friday February 16, 2018 @09:07PM (#16398448)
Better to stop trying to create programmers by teaching them a theoretical discipline like CS and to teach them software engineering instead?
Re:Learning to program is getting harder by eropple on Friday February 16, 2018 @10:03PM (#16398694)
Frankly, I think we would need to know what software engineering looks like, outside of the spaces where engineers (like, ones with PEs) more than developers own the project, before we start teaching it to novices.

I mean, I've been getting paid for this for going on fifteen years now and I'm not an engineer. I try to build resilient, reliable systems, I try to test heavily and comprehensively...but I'm not an engineer, and most of the time I'm worried when somebody calls themselves one.

What "software engineering" is, in the context of a web app or a point of sale system, rather hard to define. Worth taking a crack at. But we shouldn't put the cart before the horse.

Re:Learning to program is getting harder by arbie on Friday February 16, 2018 @11:37PM (#16399046)
Completely agree. The mantle of _engineer_ is not passed on simply via a job title.

Responsible engineers (i.e., those that I aspire to emulate) seem to spend non-trivial amounts of time predicting and avoiding potential-negative outcomes. They also seem to have a near-total understanding of the processes that impact these outcomes.

If only I could figure out how they _know so darned much_ about everything ...

Re:Learning to program is getting harder by KMag on Saturday February 17, 2018 @03:31AM (#16399724)
> If only I could figure out how they _know so darned much_ about everything ...

As someone with a degree in Mechanical Engineering, I'd say that your observation is mostly due to (1) several hundred years' worth of head start (2) the field not shifting under them (much) over their careers (3) intuition from interacting with the real world being applicable and (4) you're also unaware of the crazy amount of accumulated computer knowledge you have. Now, due to the changing nature of software development, a lot of that accumulated knowledge is useless, but it wouldn't be useless in a more mature field. Imagine if all of the random arcania I've had to pick up from AppleSoft BASIC, Pascal, Perl 5, Tcl, ANSI C , etc. were directly applicable in my day job using C++, Scala, and Java.

Sure, there's some overlap, particularly from ANSI C to C++, but with Mechanical Engineering the basic tool kit changes much more slowly. I learned about common steel and Aluminum alloys, polyethylene, ABS... advantages and disadvantages of each, things to watch out for.

If a Mechanical Engineer really gets to know 1040 vs 1045 vs. 4130 steel alloys, that's knowledge that's going to pay dividends for the rest of her career. It's not like 10 years ago or 10 years in the future there was/will be a massive shift away from Aluminum and steel and the majority of engineers had/have to throw out most of what they knew/know about metals and learn how to design for Nickel and Titanium alloys. 3D printing brings something new, and heat treatment and machining techniques have improved, but even 3D printed metal parts aren't fundamentally different from the powdered metallurgy that my dad's cousin was researching in the 1940s.

You're also accumulating a ton of arcane knowledge, it's just that most of it has a relatively short useful life.

There's also survivor bias. The engineers that were promoted and kept through economic downturns tended to be the ones that were really interested in their field and readily soaked it in.

Re:Learning to program is getting harder by chuckdries on Friday February 16, 2018 @04:17PM (#16396407)
ASU has a degree called 'informatics' that's run by the computer science faculty but focused more on <the application of technology to other things> rather than <the technology and creation of technology itself.>

I just transferred into it from computer science, because I spend all my free time making games anyway, and the informatics program lets me take an elective track to get credit for that. I do think CS is probably a better fit for what I see as my long term plan, but I think this program has a lot of potential for people who wouldn't otherwise call themselves engineers.

Re:Learning to program is getting harder by alonmower on Friday February 16, 2018 @06:20PM (#16397490)
Calling Informatica a startup is a bit of a stretch given that they've been around for 25 years, were public for a long time, make ~1 billion in revenue a year, and have thousands of employees (though I don't doubt that CWIs use of the word predates the company's founding)
Re:Learning to program is getting harder by currymj on Friday February 16, 2018 @05:11PM (#16396940)
in some other languages it's basically called that. "Informatik" in German. there's still the vestigial title in some department names in the US, "Department of Computer Science and Informatics".

I agree it would be a better name but I think the battle is lost, informatics now refers to an applied discipline (closely related to library science) involving building up big systems to store and organize data.

Re:Learning to program is getting harder by Clubber on Friday February 16, 2018 @05:40PM (#16397185)
When I went to college, CS required 3 semesters of Calc and 3 semesters of Physics. It's almost as if CS was trying to fill in some hours. Calc and Physics are great and all, but very narrowly applicable. The only benefit is how it works your brain (and a good weed out course).

I would ditch that and concentrate only on computer related issues. Database would be a big one that is usually missing. Networking as well. Computer architecture (like building a computer and the Von-Neumann model) should also be included. Basic project management would be helpful too. That's 4-6 courses you could suppliant with Physics 1-3 and Calc 1-3.

It just seems silly to force CS kids to learn Physics and Calc when it is seldom used in the real world. I would much rather have a grad know the ins and outs of networking and how a computer actually works than Calc and Physics.

Re:Learning to program is getting harder by rocqua on Friday February 16, 2018 @06:28PM (#16397533)
I agree on physics, less on Calc.

However, the explanation behind such a program is probably the distinction between vocational training and academic training. At least, here in the Netherlands, academic CS taught in academic institutions lies on the theoretical side. In such an academic CS program there are some practical courses. Stuff on databases, networking and computer architecture. But those are high level, and quite theoretical. Were they not, there would be a lot of push-back because they are almost considered demeaning.

Meanwhile, with the vocational instituion, things are very practical as far as I know. Much of those courses are actually building practical software. In large projects aimed at real uses. Meanwhile, in the academic institutions, you'll have multiple projects that boil down to 'implement gradient descent in MATLAB'.

I've heard it said that even though the academic institution is much harder and prestigious, when it comes to making practical software you are better of taking someone from the vocational instituion. Or at the very least, if you take someone from the academic institution you'll need to invest more time into training.

There is a bit of tension here where 'really smart people' who want to just become really good at a job are still expected to go to the academic institution for the prestige. Then, those people get less practical knowledge than they want because they are at an academic institution.

Re:Learning to program is getting harder by kuerbel on Saturday February 17, 2018 @01:40AM (#16399405)
In Germany we have two different kinds of universities, the normal ones and the universities of applied sciences. After spending two semesters at a university (with fairly good grades) I switched to the uni of applied sciences. It was far too theoretical, and I'm not talking about the algorithms and data structures kind of theoretical. More like prove that a nondeterministic fa is not "mightier" / able to compute more than a DFA.

That was not what I wanted and I'm quite happy at the uni of applied sciences now, and since most of our profs have an industry background (and a Dr.) we learn a lot of practical things.

E.g. Git, build management, agile development, a module about usability and user experience, networks, applied algorithms and data structures, some math (proofs where a side note though) etc

On the other hand, some of my fellow students ... Well, one task last semester was to program some really easy program with java, connect to a database with jdbc, do something with the data and write it back. We didn't know about jdbc until then. After a module is finished we have the opportunity to fill out a questionnaire about it and at least half of the class wrote that it was not ok to demand something like this. It boggles the mind.

Re:Learning to program is getting harder by rocqua on Saturday February 17, 2018 @06:13AM (#16400190)
We should have something like that in the Netherlands. We do have 'university' and 'technical university' but I just looked at the curriculum for CS at a technical university and it is similarly theoretical. You really need to go to HBO (höhere Berufsbildung, Higher Professional Education) to get that practical approach.

This is sadly considered as plain easier than university. It probably is as well, but that leaves a gap for professional training at a higher level. It sounds like the 'Technische universitat' in Germany nicely fills that gap, or is that still considered as easier than normal university?

Re:Learning to program is getting harder by kbwt on Saturday February 17, 2018 @06:59AM (#16400321)
> 'Technische Universität'

That's just what the Universities which focus more on STEM as opposed to Literature/Law/Psychology call themselves.

Re:Learning to program is getting harder by mywittyname on Friday February 16, 2018 @05:58PM (#16397328)
I've found that some universities have a program like this -- replacing the calc, physics and higher-level math with more hands-on classes. At my university, a BA in CS was like this, while a BS maintained the rigorous math requirements. I've also seen programs labeled Information Systems that's similar.

Not sure I agree with whole-scale removal of it though. I have to use calculus every once in a while in my job. While I never integrate by hand, I certainly need to know what integrals and derivatives are and how/when they are applied.

Re:Learning to program is getting harder by Clubber on Saturday February 17, 2018 @10:37AM (#16401111)
Also, I would think just 1 semester Calc and Physics would be beneficial to add more applicable subject would be a fine compromise. 3 of each seems really excessive. That cirriculum was created when computers weren't overly complicated. I know that had it back in the 90s. There's just been too many important innovations in computing that are ignored because of Calc and Physics IMO.
Re:Learning to program is getting harder by Clubber on Friday February 16, 2018 @06:01PM (#16397347)
Yes, Information Systems type degrees are close, but at my school they weren't strong on programming, instead required Accounting I+II, Finance, Marketing, Management, Business Ethics and that sort of thing.

My wife got her CIS degree a few years ago and they seem to have improved a bit. She had multiple programming courses in several languages along with more advanced CS courses and database courses.

Re:Learning to program is getting harder by namelost on Friday February 16, 2018 @06:50PM (#16397723)
Asymptotic notation is defined using limits. In fact a lot of concepts in CS involve limits, convergence, etc.

The problem is that most calculus courses were devised before the widespread availability of Wolfram Alpha and focus too much on hand computation rather than understanding of the subject.

Re:Learning to program is getting harder by rhizome on Friday February 16, 2018 @05:39PM (#16397180)
There's lots of money in computers, which has increased the proportion of graduates who know only how to add an IDE to the factory install of their computer. I saw this a lot back in my desktop support days.
Re:Learning to program is getting harder by shagie on Friday February 16, 2018 @08:36PM (#16398305)
This brings up another interesting point... "back in my desktop support days."

I had a few jobs once out of college (phone support, QA (before automation was much of a thing), sysadmin, back to phone support) before I got a programming job. That was a good two years out of learning the other parts of a computer. It was because I knew perl that I was able to do the sysadmin - web programmer transition.

That wasn't too unusual of a path back in the mid-late 90s.

A good chunk the developers over in the engineering department and nearly everyone in the programing wings of IT and customer support had done tech support or system administration. It was just part of the "working your way up" within the career path.

Many of my classmates in college went to a "the computer guy" job which did all of the computer stuff for a small company (hardware, software, helping with excel, writing programs to serve dynamic text to the web server). Being a computer person back then was a much more generalized skill set.

As an aside, recently I was tapped on my team (Java developers) to do work on an older website. LAMP. I had to brush up on Linux from the past decade (I was another decade out of date with some of the package management)... but being able to do that sysadmin, read perl (I know of one other perl coder in the department, but he doesn't have any sysadmin background) and get it running was a skillset that didn't exist much of anywhere else.

Re:Learning to program is getting harder by mattmanser on Friday February 16, 2018 @08:58PM (#16398406)
I was telephone support for people installing freeview boxes in the UK in the early 2000s. Same skills. Same skills as programming your VCR without the manual. Same skills as getting Doom to work over a direct pc to pc connection. None of that crap worked first time. We had to learn how to debug to get basic stuff working.

In some ways computers are too usable these days. In other ways the experienced programmers are too sloppy and put in too many barriers to get their tools to work flawlessly in the modern world. We don't live in the tinker world any more.

But ultimately to be a good dev you must learn to debug.

Hard problem to solve.

Re:Learning to program is getting harder by shagie on Friday February 16, 2018 @11:30PM (#16399017)
(I'm going to reference it again... one of my favorite essays on programming) How To Be A Programmer - https://github.com/braydie/HowToBeAProgrammer/tree/master/en

The first skill listed in the first section is "Learn to Debug" ( https://github.com/braydie/HowToBeAProgrammer/blob/master/en... )

> Debugging is the cornerstone of being a programmer. The first meaning of the verb "debug" is to remove errors, but the meaning that really matters is to see into the execution of a program by examining it. A programmer that cannot debug effectively is blind.

I don't think its a coincidence that that's the very first bit. It is indeed the most essential of skills.

Re:Learning to program is getting harder by el_benhameen on Friday February 16, 2018 @04:18PM (#16396420)
I think this skill is what kept me going through the frustrating patches after I decided that I wanted to be a programmer. I started programming later than many here (after I had obtained a degree in an unrelated field), but I'd always enjoyed breaking and fixing computers and software as a kid and so I'd picked up "computing", as you put it, as a hobby.

That sort of hobby teaches you to keep ramming your head against the wall until the bricks start to crumble, which is helpful when you're trying to learn a language but the package you want fails to install on Ubuntu, or your program won't run despite you having checked the syntax a thousand times, or a concept doesn't click until you've re-read it every day for a week. You learn to see computers and software as a mess that you will necessarily have to untangle and rearrange for things to work properly, instead of thinking of things that don't yet work as "broken". And you learn to Google until your eyes start to melt.

Re:Learning to program is getting harder by PeterStuer on Saturday February 17, 2018 @02:41AM (#16399570)
(btw, I'll use 'older' and 'younger' as a sort of statistical reference, not implying a strict age separation exists and all on either side are clones of a prototype)

I recognize this. My 'younger' colleagues can't install a computer from scratch, a get completely stuck on the slightest network issue. But I don't thin it is related to education. The 'older' programmer had to squire these skills by necessity as it was completely impossible to use a computer otherwise. For us getting a new release of Windows or VS usually meant wiping everything clean and install from scratch a we all knew how dodgy 'upgrading' was. My 'younger' colleagues wouldn't know where to begin when they can't hit update and everything works. They have to wait and rely on a system manager to re-image their machine for them.

Re:Learning to program is getting harder by cheschire on Saturday February 17, 2018 @02:46AM (#16399586)
The youngest guy on my team refuses to reinstall his development environment like the rest of us when new major platform changes occur. Then every few months complains when his environment causes an error in the build.
Re:Learning to program is getting harder by analog31 on Saturday February 17, 2018 @12:58AM (#16399300)
>>> I think this is a side effect of teaching programming as a career skill. You have people that want to be programmers but don't include "computing" as one of their hobbies.

It may be the result of the competitiveness of the education system. Everything is more competitive. As I understand things, CS is the hottest undergraduate major right now. You can't just sign up because you learned to program in high school and think it's cool. You have to be a top student just to get admitted. So it may be that the kids who want to be computer scientists just aren't able to have hobbies at all, or their hobbies are chosen to look good on their college applications.

One of the things I've noticed between then and now, is that when I was in high school, I learned programming because I had a lot of spare time to kill. My kids have no spare time.

>>> Teaching these skills in CS curriculum would probably be a good idea.

Granted, I didn't study CS, but instead math & physics, decades ago. But I think that some things don't belong in a college curriculum, especially given the price tag. I didn't take college courses to learn soldering, or even programming.

But also, not all CS majors are destined to become hackers, and there has to be room for a student who might be all thumbs but really has a deep interest in the subject matter of the field. In physics, we called them "theoreticians."

A deeper question is why someone is studying theoretical computer science for 4 years in order to become a coder. Programming is getting harder, but that much harder? When my mom taught programming in the early 80s, her students were getting jobs after one year of coursework.

Re:Learning to program is getting harder by Nullabillity on Saturday February 17, 2018 @08:04AM (#16400490)
> It may be the result of the competitiveness of the education system. Everything is more competitive. As I understand things, CS is the hottest undergraduate major right now.

Hardly. Looking at the Swedish admissions statistics[1] from this year (because that's what I'm familiar with):

- Of the top 5 programmes, 3 were for physicians (doctors), with the required GPA ranging 22.09-22.29

- The hardest engineering programme to get into was no. 8, technical physics, requiring 21.98

- The hardest computer-related programme to get into was no. 56, software engineering, requiring 20.73

That said, it was above 20.0 (straight As), so the requirements do seem to have increased in the last few years

[1]: https://statistik.uhr.se/uhr.html, to see applications to programmes based on high school GPAs you'll want to pick "Bara program", "Urval 1", and then set "Visa urvalsgrupp" to "BI". You'll want to sort by "Antagningspoäng".

Re:Learning to program is getting harder by j45 on Saturday February 17, 2018 @04:00AM (#16399803)
This is a subtle and sublime point - it may not just be a function of age, maybe somewhat about having a wider interest in computers and tech.

10-20 years ago, it was a requirement to learn the layers support your own hardware, network, security, hosting.... all for the opportunity to try to build a piece of software. You could spend a few years improving at each and it was perfectly normal. Now there seems to be a rush to get through it all to become awesome by skimming the surface.

As a result of learning multiple layers (because there was little other choice), one picked up a lot of transferable skills. You can sometimes literally traverse debugging an issue between all of these layers.

In school computers were taught, first from how a computer physically worked, booted up, etc.

Then, you learned some basic operating system, applications, and how they interacted with the computer.

Once that was completed, you started some amount of creation, whether it was visual design, games, programming, etc. Not to create a programmer, but as a form of creation with the computer.

Re:Learning to program is getting harder by AlexCoventry on Friday February 16, 2018 @05:32PM (#16397119)
I too am obsessed with computers, and will push through "helpdesk" type issues to get my work done. However, I don't consider that to be a remarkable skill. Such issues can almost always be resolved with a bit of googling. Perhaps I'm too close to see the foundational knowledge I'm depending on, though.
Re:Learning to program is getting harder by fenwick67 on Friday February 16, 2018 @05:50PM (#16397259)
Here's the thing: You need to know what to look for.

You can't just google "The internet won't work" or "blue screen help" or "I can't see files".

Web search is a super powerful tool but it requires some fundamental knowledge before it can help.

Re:Learning to program is getting harder by megaman22 on Friday February 16, 2018 @08:31PM (#16398284)
Actually reading error messages is an apparently very rare skill. Almost always, if you just google what it tells you, you'll hit something... Yet I constantly see people automatically click through popups milliseconds after they appear, only to fume about things not working. It takes a surprising amount of effort to get them to do it over and slow down long enough to figure out what went wrong.
Re:Learning to program is getting harder by nikofeyn on Saturday February 17, 2018 @01:39AM (#16399403)
i would just like to get error messages that actually said something more than something went wrong. yea, no shit something went wrong, i already know that, but what and why and how do i fix it are questions i want answered. i know the code knows what went wrong, so just tell me.
Re:Learning to program is getting harder by digi_owl on Saturday February 17, 2018 @02:49AM (#16399596)
Why i love the older parts of Linux, but hate the more recent DE centric stuff. Because the older, unix derived, stuff will tell you front and center what went wrong (unless it is so wrong that all the kernel can do is barf a hex dump of the memory region on screen).

The newer stuff will come up with unhelpful messages or just an eternally spinning pointer, and yet they are supposedly bringing Linux to the desktop. F that.

And i wonder how many times now i have fed a Windows error code into a search term and found a bunch of people asking all manner of channels (both Microsoft and otherwise) for help and get nothing (W10 don't like the card reader on a tablet i have, and all i can find is that maybe, just maybe, MS screwed up the driver. But Intel seems to no longer provide any usable chipset bundle...).

Re:Learning to program is getting harder by DoreenMichele on Friday February 16, 2018 @08:35PM (#16398304)
I confess, I was very guilty of that at my old job, which was very fast paced. Whenever reflexively closing the pop up resulted in things not going as I expected, I would, indeed, do it over, slow down and carefully read the messages.
Re:Learning to program is getting harder by txcwpalpha on Saturday February 17, 2018 @12:21AM (#16399201)
IME, you usually can just google things like that and as long as you're willing to read through the first ~5 results to see if the situation is similar to yours, you'll very often find the solution to your problem.

I used to be a teaching assistant for a programming class at a top university, and it was astounding how often my students' issues could be solved by simply copy/pasting the error message into Google.

It seemed like most of my students were often so intimidated by the scary red error text that they didn't even try to solve it themselves, they just gave up and assumed it was unfixable. About halfway through my semester I reached a breaking point and spent an entire lecture where I had a list of previous emails from students asking for help, copy/pasted their questions verbatim into Google search, and showed how often the solution was found within the first few search results.

Re:Learning to program is getting harder by akvadrako on Saturday February 17, 2018 @06:26AM (#16400236)
The skill is being able to solve the issues with the help of google. A skill many lack.
Re:Learning to program is getting harder by rorykoehler on Saturday February 17, 2018 @02:41AM (#16399571)
Another anecdote... My experience with older programmers and sys admins is that the vast majority of them know a lot about how a computer works (as you mentioned) but many also haven't kept up to date on tools available to simplify and automate processes. This leads to unnecessarily convoluted and confusing configurations that are far from optimised considering todays available tooling. This frustrates me to no end as it creates a load of needless busy work which at the same time makes the dev/admin feel both smart and productive whilst not optimising for what the business actually cares about.
Re:Learning to program is getting harder by bazfoo on Saturday February 17, 2018 @06:20AM (#16400212)
On the flipside, I see a lot of tools pushed that are more complicated, less flexible, and far buggier than the old tools. And then inevitably in a few years they're deprecated in favour of something newer and shinier and the old tools are still perfectly fine (e.g. Make).
Re:Learning to program is getting harder by waxwander on Friday February 16, 2018 @09:54PM (#16398641)
I've had the opposite experience, with older programmers balking at new libraries, techniques, and setting up any environment they're not used to. If it doesn't work right away they go back to what they know. I know one guy who absolutely refuses to learn c++ because it doesn't compile for him and he only "trusts" c. Another who writes only in good ol' python2.7 (scipy dropping support; subprocess bugs; cough cough). Younger people tend to be aware of and use newer tools. But we're all bias I suppose.
Re:Learning to program is getting harder by telchar on Saturday February 17, 2018 @12:35AM (#16399245)
I dream of the day I'm happy and productive enough with one set of tools that I refuse to switch to another. I still largely feel like I'm wandering the desert when it comes to tooling, where a new toolset looks good from a distance but when I start using it I discovered the ugly underside and start looking for greener pastures.
Re:Learning to program is getting harder by blt on Saturday February 17, 2018 @04:32AM (#16399886)
Tell me about it, I'm using tensorflow now and it does amazing things, but the API is so bulky for anything besides setting up the computational graph... Planning to check out pytorch for next project. Imo most dev environments and software leave a lot to be desired, we should not settle.
Re:Learning to program is getting harder by btschaegg on Saturday February 17, 2018 @02:57AM (#16399620)

  I think this is a side effect of teaching programming as a career skill.
My guess is that you don't even have to go as far as "computing" in order to see the negative effects of this. I've had a couple of encounters where I helped out a peer that was stuck in a particular problem merely by applying some basic deduction. And I had those situations both with fellow students and later on in the workplace.

In all those situations, the underlying problem was that the person in question didn't have a firm grasp of the programming language they were using, but seemed to program in terms of "patterns" -- they knew how a for loop has to look like, but as soon as there was a slightly more nuanced problem (say a parsing expression in Boost.Spirit), they weren't able to see how the underlying syntax was treated by the respective language.

While I get that it's almost impossible (and certainly impractical) to learn every edge case in most modern programming languages, I couldn't help but think of cargo cults.

Edit: On second thought: OTOH, it seems to me that it isn't helpful to view what a software engineer does merely as "programming" in this regard. I don't see a problem if, say, an electrical engineer is missing said "computing" skills, but they are in their way to complete a program. Many modern professions benefit greatly if the respective person is able to program (maybe only in a specific language, e.g. Matlab or LabView), but that doesn't mean they have to know their working machines inside out.

Re:Learning to program is getting harder by piracykills on Friday February 16, 2018 @09:03PM (#16398430)
Yeah, I'm always amazed when someone my company hired as a developer doesn't understand what "open a terminal" means on Windows or I have to coach them through digging up the environment variables screen in control panel.

I assume it's because I was a power user before I became a developer and so had that foundational knowledge and interacted with OS APIs to build on it... now people just go right into mashing JS code at web browsers which seem to be hacked into everything.

Re:Learning to program is getting harder by gutnor on Saturday February 17, 2018 @07:44AM (#16400435)
Well, that's an effect of experience. You don't just become a better programmer with experience, you become better at software development. Better handling stress, better understanding requirement, gathering requierment, better navigating political corporate structure, better explaining yourself, better defending yourself, ... and yes, better getting your environment sorted.

That said, the specific point you raised is interesting because I was having the same problem at work. Except it was caused by automation. We have automated pipeline for everything, zero downtime deployment, containers, ... all of that is working very well - so well that there is just no enough big stuff to do so that newcomer on the project can build enough experience with the pipeline to master it. The best people achieve is some sort of very rudimentary debugging capability, earned from the monthly minor tweak the system require. Basically either you build similar pipeline on another project, something that is extremely unfrequent, or you missed the train.

Re:Learning to program is getting harder by Figs on Saturday February 17, 2018 @01:25AM (#16399368)
> Teaching these skills in CS curriculum would probably be a good idea.

It was included in my college CS curriculum, using the most obvious text (Debugging, by Agans) almost 10 years ago -- though I had a head start, since I read a copy of it from my public library about 4~5 years before that.

If other schools haven't followed suit, I have to ask "What on earth is taking them so long?"

Re:Learning to program is getting harder by kbwt on Saturday February 17, 2018 @07:06AM (#16400340)
The consensus seems to be that those types of skills do not belong in a Higher Learning institution. In Germany, the saying is "You do not need a Computer to study CS", although it sounds wrong in English because CS literally contains the word "Computer" while the German term for CS (Informatik) is a mashed-together version of Information and Mathematics.

Some German Universities (TUM, KIT) pride themselves on that last point so much, they actually pass off the CS degree as an Informatics degree on the English version of their diploma transcripts.

Re:Learning to program is getting harder by klum on Saturday February 17, 2018 @06:27AM (#16400238)
Agreed. The article sort of presents these kind of "computer problems" as a barrier to getting started with programming. I don't quite agree -- or maybe they are, but only in the sense that they "filter out" those who don't really want to be programmers at an earlier point in time.

Don't get me wrong; I don't think there's any point in making new programmers jump through arbitrary hoops because "programming should be hard". But I think that today, programming is necessarily intertwined with computing and problem-solving in general, and all the Dockers and specialised positions in the world don't change that. To be a good developer, you need to have some idea about the systems your code will be running on. A program doesn't just exist in a bubble. (This is more true for some kinds of applications, less for others, of course.)

Re:Learning to program is getting harder by SophosQ on Monday February 19, 2018 @11:44AM (#16413899)
Perhaps it's more to do with the stock of people who learnt CS.

In the older generation, CS was a relatively obscure and difficult skill with little to no easy-guides that it filtered the set of students to only those who were insatiably curious and were fuelled by learning new things.

In contrast, CS has become so ubiquitous that nearly everything has a "how do it" guide that eases the entry of nearly anyone, with little or not interest or whose motivation might be less than ideal. Thereby, possibly leaving room for more anecdotal evidence for this perceives shift in skill.

Re:Learning to program is getting harder by seanmcdirmid on Friday February 16, 2018 @11:51PM (#16399099)
I know plenty of younger programs who can diagnose their own problems, so the generalization doesn't hold so well.

I think the issue is more about experience and need: when we were learning to program, we HAD to do those things. For the younger generation, it is totally possible to get by without because the ecosystems are so much easier, coupled with a lot of online knowledge that they can access quickly, which was mostly missing in our age.

On the other hand, those young programmers that are faced with a complex ecosystem will usually learn how to deal with it. Heck, with the web and its many step backwards in programming environments (e.g. try debugging in Chrome!), many things are actually harder for them and they acquire skills that I didn't need!

Re:Learning to program is getting harder by southphillyman on Friday February 16, 2018 @08:14PM (#16398211)
That's something that shocked me as I began to help onboard new developers. Some of them can't set up an IDE, local server, or get a build to compile in the first couple of days. Onboarding documentation is key to smoothly integrate new team members if your process is convoluted. Even without documentation I feel like guys should be able to get projects up and running just by having general familiarity with how most set ups are configured. My first "project" as a newbie developer was performing pseudo dev ops setting up continuous integration and then creating a project set up guide for the existing project, with no help.
Re:Learning to program is getting harder by hobs on Friday February 16, 2018 @11:00PM (#16398910)
I am 31 years old. Reading this makes me feel like a million years old.
Re:Learning to program is getting harder by sdwisely on Saturday February 17, 2018 @12:06AM (#16399150)
perfectly normal - it's quite overwhelming to think about how much computing has changed in the last 30 years.
Re:Learning to program is getting harder by hobs on Saturday February 17, 2018 @03:43AM (#16399761)
Right, except I wasnt using computers when I was born, and really wasnt using them well until I was maybe 24.

We are taking half a decade until my cadre is unfamiliar to me. That's insane.

Re:Learning to program is getting harder by mixmastamyk on Saturday February 17, 2018 @02:52AM (#16399605)
Interesting, I'm old enough to have grown up before the scourge of Wintel PCs in the 90s. Had a Commodore Vic-20 instead. You'd hit the power button and about 5 seconds later a BASIC interpreter started. There was no complicated debugging to be done to get it working.

Still, I learned to manage/hate computers by the Win '95 era and grow to love them again by the time Linux became tolerable about 10 years later.

Re:Learning to program is getting harder by xstartup on Saturday February 17, 2018 @12:31AM (#16399234)
I have these skills too and yes they prevent me from getting blocked when I run into these issues. I hate relying on others for help on small issues like this. But I also get not everyone would want to waste their time with issues with do not challenge them. As a company owner, I will prefer a dedicated help desk to sort my programmers with these issues but as an entrepreneur, I want to be self-reliant.
Re:Learning to program is getting harder by Globz on Friday February 16, 2018 @06:53PM (#16397751)
You couldn’t have said it better, I had the same kind of learning path as you did and I believe it makes everything a lot easier to understand since you can clearly see the full spectrum of what you are dealing with while programming and usually it helps open new doors so you can explore a problem from a different angle since you have a deep knowledge of your stack available to you from the start.
Re:Learning to program is getting harder by matchagaucho on Friday February 16, 2018 @10:51PM (#16398868)
The downside of growing up on Commodores was their default imperative and procedural programming environment.

My introductions to object-oriented and functional programming came much later in life, and I can't help but wonder how many bad coding habits I had to "unlearn" as a result of my Commodore foundation.

Re:Learning to program is getting harder by KMag on Saturday February 17, 2018 @04:00AM (#16399805)
One thing about non-imperative languages (functional, logic, etc.) is that they tend to encourage a much higher level of abstraction that's useful for dealing with complexity, but difficult for most novices to deal with. In particular, young children have relative trouble with abstract reasoning.

If your standard library makes pervasive use of higher order functions, and you haven't yet wrapped your head around elementary algebra, you're going to have a bad time.

I'm having a hard time thinking of an existing functional or logic programming language that requires a minimum of abstract thinking. You can use many languages in a functional style, but if e.g. you're using Python with a low level of abstraction, then you're likely using it as an imperative language.

Re:Learning to program is getting harder by u801e on Saturday February 17, 2018 @12:20AM (#16399198)
> The downside of growing up on Commodores was their default imperative and procedural programming environment.

That could be an upside if you wanted to learn assembly since BASIC really wasn't that far removed from it in terms of what you could do and how you did it.

Re:Learning to program is getting harder by matchagaucho on Saturday February 17, 2018 @01:16AM (#16399348)
Good point. The commands were really hands-on with memory and CPU.
Re:Learning to program is getting harder by andredublin on Saturday February 17, 2018 @02:15PM (#16402192)
Interesting point, I'll add that we don't see many desktop computers any more. Kids or those wanting to learn to program don't see the whole machine. Instead we have these slim downed devices that require existing knowledge to take apart and put back together again.
Re:Learning to program is getting harder by zappo2938 on Friday February 16, 2018 @04:41PM (#16396666)
I'm a relative newcomer and didn't have a problem downloading Android Studio and setting it up on Ubuntu to run an emulator to develop React Native apps.

Learning to program is getting harder because the programs are far, far more complicated than they were 10 years ago.

Re:Learning to program is getting harder by ende on Saturday February 17, 2018 @12:49AM (#16399276)
I disagree. These skills might be applicable to a Software Engineering degree, but not Computer Science.
Re:Learning to program is getting harder by ghrifter on Friday February 16, 2018 @07:25PM (#16397932)
This is a good example. Im in my mid twenties and just discovered yesterday that (at least on Windows 10) that a user and a computer have _entirely_ different permissions.

I always thought it was account based! At least thats what my coworker and IT guy explained it to me as.