Live data from Hacker News

Learning to program is getting harder

allendowney.blogspot.com

101–110 of 422 posts

Re: Learning to program is getting harder

#101

I remember when I was first learning Java, whacking my head repeatedly against all these sorts of problems - WTF is a JRE vs. a JDK, why is it asking to install a browser toolbar, WTF is Eclipse and why doesn't it just let me run the file that I'm working on without going through half an hour of researching "Run configurations" and classpath BS first, etc. It was doable, but as a new person to the whole ecosystem, it…

On the other hand, Python's "batteries included" means you can go a long way without installing anything. Sometimes I think people forget to look in the stdlib:

https://docs.python.org/3/library/index.html

Re: Learning to program is getting harder

#102

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

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

#103

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

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

#104
I got my CS degree in 2012. It was kinda scary how many students were on the verge of graduation, and were unable to use a terminal, use SSH, or tell you what git is (not that I know exactly o_o).

Those aren't particularly complex concepts. It is definitely partially the schools fault, but CS is also a field where you have to have some interest in what you do. You can't just go through the motions.

Re: Learning to program is getting harder

#105

I don't understand this viewpoint at all. There's a breathtaking amount of tutorials, Q/A (stackoverflow), forums, chats, that can get someone started with a fraction of the effort it took for me to learn programming 20 years ago. There are one-click installers for programming languages and for IDEs. There are entire free books online to learn specific languages or frameworks. I think people have gotten lazier and th…

As relatively young person I agree. Many people my age and/or younger expect quick results and don't really have the patience to see something through. But like with any other facet in life, if people take shortcuts they totally deprive themselves of vital experiences that are necessary for them in the long run if they want to experience any decent amount of success. Especially if they are wishing to learn something for their career.

In other words, if your objective is to learn programming, how can you possibly hope to create or do anything more meaningful than trivial examples without challenging yourself to learn the environment nor learning howto import 3rd party software libraries so that you don't have to recreate the wheel?

It's part and parcel of not doing anything trivial. Learning to be resourceful by visiting Q/A websites, forums, chats and asking questions, and trying things and failing and getting up and trying again just makes you better.

You learn more by failure and experimentation than by following an example to a T but never venturing outside the sandbox.

Re: Learning to program is getting harder

#106
post #76

Earlier quoted context omitted.

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

It's not. Installing a C++ tool chain two decades ago is much harder than any current environment.

"Learning programming" doesn't mean "learning C++".

A lot of people learned on some BASIC that came pre-installed on whatever device they bought.

Re: Learning to program is getting harder

#107

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

Yeah sure, with an IDE you might not grasp what really happened, but do you really with the 15 step install instructions? Both GUIs and CLIs only ever show the information that the programmer decided to output anyway, and GUIs are actually much better at showing legible output due to all the extra space, formatting options, etc. So what is it that people think makes a CLI somehow grasp what's happening better? The fact you just copy pasted some command with 3 flags?

Re: Learning to program is getting harder

#108
> Some of them send me email. They often express frustration, because they are trying to learn Python, or Bayesian Statistics, or Digital Signal Processing. They are not interested in installing software, cloning repositories, or setting the Python search path!

None of that is new. Setting up an environment that is conducive to coding takes effort if you don't have someone to set it up for you, which describes most new coders. I had a hell of a time learning to code on cheap hardware running Windows 15 years ago.

Re: Learning to program is getting harder

#109
When I tried to learn Java years ago, I got stuck with setting path on my Windows computer. Afraid to break it somehow, I gave up on learning Java.

I picked up Shell scripting and html/css years later but I think the logistics of anything is the really hard part. Not the actual activity.

Re: Learning to program is getting harder

#110
> Computer retailers stopped installing development environments by default. As a result, anyone learning to program has to start by installing an SDE

What?

Notepad and a browser is all you need to get started learning the most popular programming language in the world.

Post reply on HN