Live data from Hacker News

Learning to program is getting harder

allendowney.blogspot.com

221–230 of 422 posts

Re: Learning to program is getting harder

#221

It's getting harder because it's become fashionable to shun IDEs that make most of these issues obsolete, and have done so since at least the 90's. 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. This idea that using an IDE will discourage someone from finding out the more detailed workings of the language, compiler, etc. is no…

Yeah if anything it's people moving away from IDEs that's making life much more difficult. The complicated part of an install is rarely ever just downloading some software, clicking the executable and then 'next' a few times. The hard part is docker throwing out nonsensical error messages into your console, offering 3 equally illegible possible solutions, which after 2 hours of googling and attempts turn out to be wr…

> The hard part is docker throwing out nonsensical error messages into your console, offering 3 equally illegible possible solutions, which after 2 hours of googling and attempts turn out to be wrong, because all you needed was a reboot to get to the next error (which ends up being caused because of one of the 3 attempts to fix the earlier problem).

Docker is a CLI program written by GUI programmers — it's a whole new level of terrible. It's certainly not a stain upon the CLI escutcheon.

Re: Learning to program is getting harder

#222
post #125

I disagree. Creating a program that meets todays' users expectations is what's harder. But learning programming by itself, is way easier. We have Python, Ruby, Javascript... We have the Web as a platform and as documentation. We have communities and cheap, fast computers. The hello world has never been easier to do. What's hard is to make a real time offline first SPA with a beautiful responsive design that uses the…

> The hello world has never been easier to do. We also used to have BASIC pre-installed on a lot of different systems, and were able to write a GUI just by writing to the frame buffer directly. A helloworld was just: 10 PRINT "Hello, World!" I learned to program in BASIC, with just the on-disk manuals. I can't say that it's easier today - I didn't need anything extra back then, and had a snake game up and running in…

Today's modern and accessible example (in Chrome) is to hit ctrl-shift-i, then type out `console.log('Hello world!')`.

Users these days browse the web, so having Chrome/Firefox/Edge isn't anything extra. It may take a bit longer to write snake though; games these days have user accounts, achievements, and multiplayer.

Kids these days have something better than get_ch; a mouse!

It's way easier today with all the free, spoon-fed resources available. It's also way easier to get distracted, with the Internet just a tab away.

If we can manage to throw out preconceived notions about "serious" computing, that is. There are still language prejudiced corners that actually believe Python isn't "real" programming; that javascript is "just" a scripting language.

Meanwhile, people are passing jsfiddle links around and learning to program.

Glitch.com lets users build a whole apps (meaning frontend and backend) for free!

Re: Learning to program is getting harder

#224
post #177

Earlier quoted context omitted.

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

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

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

#226
post #163

Earlier quoted context omitted.

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…

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…

(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

#227

Earlier quoted context omitted.

It's a total shitshow. But since ruby manages everything with environment variables, you need some kind of tooling to manage multiple versions. Horrendous. Ruby should just standardize on a way to point projects to rubies. Instead of a zillion environment variables, just a shebang. It's how everything else works.

> Instead of a zillion environment variables, just a shebang. It's how everything else works. I would like to tell you about an environment variable called PATH...

[deleted]

Re: Learning to program is getting harder

#228

Earlier quoted context omitted.

Better to stop trying to create programmers by teaching them a theoretical discipline like CS and to teach them software engineering instead?

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

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

#229

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…

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.

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

#230

Earlier quoted context omitted.

Probably both are correct. But which one is more useful in this context?

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.

Or they expect you to ask for context.
Post reply on HN