Live data from Hacker News

Learning to program is getting harder

allendowney.blogspot.com

311–320 of 422 posts

Re: Learning to program is getting harder

#311
I had this same problem as the OP describes and my solution after a lot of frustration was taking some tutorials on Linux from Youtube. That actually might not be a bad place to start because bash is a programming language (right?). Teaching some simple bash scripts plus navigating the file system wouldn't be the worst intro to programming and it can now be done in Windows.

Re: Learning to program is getting harder

#312
post #225
post #148

Earlier quoted context omitted.

And, in some cases, himem.sys :)

himem.sys seemed like black-magic to me at the time.

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

#313
I enjoyed the article, the author has some good points. I started on the Commodore 128 and I'd have to disagree with the author's conclusion. I think the filter is far less for self-motivated, truly interested users today than it was in the Commodore's heyday.

None of the issues presented are really issues, it's just that there's a larger swath of people who have accepted computers as mainstream devices and can now afford one. Or are simply too young and missed the heyday of the truly "personal" computer.

If I were to write a response, it would be titled The Great Filter. I was a computer nerd most of my life, by the advent of the smartphone and the majority of people realized how much the career paid, that whole stigma blew out the window. Unfortunately, the Great Filter is gone, people who would've been filtered out in the 80s are only visible by observing the students who aren't even computer literate enough to have bothered to investigating figuring out how a filesystem works before trying to program.

Re: Learning to program is getting harder

#314
post #159

Earlier quoted context omitted.

This really just sounds like issues with whatever web IDE you are using. Remote development does not need to be a huge pain like that.

I wasn't using a web IDE, but the dev server was remote. While I suppose remote environments do not have to be a huge pain, I'd be interested to know how to mitigate all of the issues I mentioned in my previous comment. The only solution I've been able to setup is a local environment with minimal set of dependencies calling the network.

most of the time, I don't really need to compile/run the code/tests to know I'm on the right track/it'll work well this minor cleanup. Then, once every few days I can pull out the remote box/IDE and clean up whatever bits of syntax/imports/typos I got wrong or forgot about.

Re: Learning to program is getting harder

#315

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…

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

#316

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…

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.

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

#317

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.

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

#318

Earlier quoted context omitted.

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.

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.

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

#319
post #238

Earlier quoted context omitted.

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

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

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

#320
post #65

Earlier quoted context omitted.

> It's ridiculous to expect newcomers to a language and/or programming in general to slog through a 20 or 30-step environment setup process Modern IDEs often require an hour long install, and then you turn them on and are faced with 10,000 buttons and 50 windows, they aren't simple either. I have had good success with making beginners people sit through a 30 minute dev environment set up process, in video form. No co…

VS Code is modern ide. And I would really like to know which IDE takes an hour long install. Because I tried multiple on windows and they all required download, double click and that was it.

Installing visual studio 2017 in a windows VM on a ryzen 1600 with an ssd and 16GB ddr4 and a fast internet connection took 3 hours, just did it a few days ago
Post reply on HN