Live data from Hacker News

Learning to program is getting harder

allendowney.blogspot.com

351–360 of 422 posts

Re: Learning to program is getting harder

#351

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 comm…

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.

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

#352

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 comm…

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

#353
post #344

Earlier quoted context omitted.

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.

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.

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

#354
post #150

Earlier quoted context omitted.

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…

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" ¯\_(ツ)_/¯

'African out European' next time, it is.

Re: Learning to program is getting harder

#355

Earlier quoted context omitted.

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 cons…

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.

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

#356
post #346

Earlier quoted context omitted.

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 mor…

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…

> '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

#357
post #340
post #312

Earlier quoted context omitted.

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.

Wasn’t there himem on the 286 as well?

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

#358
post #274

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 comm…

> 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?"

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

#359
post #187

Earlier quoted context omitted.

Why is a pothole round? Nope - sorry, looks like you're not a mythical unicorn!

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.

You're hired! SVP of Aerospace Engineering. How many people do you need under you, killer?

Re: Learning to program is getting harder

#360
post #76

Earlier quoted context omitted.

But the learning curve of getting an environment setup to do that is steeper.

Is it? When I was learning to program, I had a computer with Windows on it and no money. First, I needed to install Borland's C++ compiler / IDE, because that's what they used in the class and computer lab at my high school and I didn't know of anything else. But I had no money, so first I had to figure out how to pirate it. Then awhile later I heard that there was a free compiler on this operating system called Linu…

It's as if you were describing my own experience. With the only difference, that I had to figure out how to use vi. Such fun! I took me some time to figure out how to exit the editor, let alone how to make changes or write the file.

We didn't have all the resources at out fingertips back then. Just the books. We couldn't find copy-and-paste hideous solutions on StackOverflow, we had to figure it out on our own. Programming had the air of wizardry.

I do believe that nowadays it's much easier to learn the basics of programming, considering massive number of resources available just a few keystrokes away. On the other hand the expectations have changed a lot after programming went mainstream.

In my line of work, before I became a consultant, I had interviewed a lot of candidates for web development positions. In my rough estimate only 2 out of 10 are cut out for it. And no wonder - the demand on the market is massive, the money is all right, so more people jump on the bandwagon and try to get by. They don't want to learn a great deal, they don't have a real interest in the domain. They just want to do the job as painlessly as possible and get paid good money.

This also means, they have to cut corners. They don't have time to figure things out and build solid foundations. They are after quick results. They just want to become employable. The passion in our profession is hugely diluted, with the inflow of people who want to do the job just because it pays nicely. It's pure economy.

And because it is economy, the expectations have changed. Maximising return on investment, where the time spent on learning something is the investment, means that steep learning curve is no good anymore.

So maybe let's not dwell on how hard it is to become a programmer these days. In my view it's definitely harder to stay one, than to become one, with everything changing so fast. However becoming a programmer is not more difficult today than it was 20 years ago.

Post reply on HN