Live data from Hacker News

Learning to program is getting harder

allendowney.blogspot.com

271–280 of 422 posts

Re: Learning to program is getting harder

#271

I work at JetBrains on https://datalore.io/ It's an interactive computational notebook for data science, which automatically recalculates code as you change it. We believe that such an interface lowers the barrier for entry into data science (and programming).

How is it different from Google's Colab Notebook or Microsoft's Azure Notebook ?

It has incremental recalculation, smarter editor, realtime collaborative editing and integrated version control.

Re: Learning to program is getting harder

#272

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.

I wasn't able to use version control at all when I graduated; I didn't even realize it was an option. I just every now and then would make a tar of my project in case I lost something.

I suppose I had copy/pasted some cvs commands from sourceforge in order to download the source of some open-source projects, but that was the full extent of my interactions with source control.

Re: Learning to program is getting harder

#273
post #247

Earlier quoted context omitted.

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.

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

Good point. The commands were really hands-on with memory and CPU.

Re: Learning to program is getting harder

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

Re: Learning to program is getting harder

#275

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.

Agreed. The hard parts of programming have been removed ( especially for entry level people ).

> We have communities and cheap, fast computers.

And online tutorials ( youtube, coursera, etc ).

Learning to program today is much easier than just 10 years ago.

Not only that, the setup to start programming today is much simpler. Not only does almost everyone have a computer, there are IDEs/programming suites available that eases you into programming.

Re: Learning to program is getting harder

#276

Earlier quoted context omitted.

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.

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.

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

#277
post #96
post #69

Earlier quoted context omitted.

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

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

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

#278

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…

Surprisingly I think I'm the first to disagree. I find a modern IDE comes with so much implied mental baggage that new users can get completely overwhelmed. Sure, languages which require complex build environments almost demand one, but in simpler environments it can be a lot easier to reduce the cognitive load in a simplified environment. One can do a lot of programming and learning with just a simple editor (Nano?)…

My first few years of programming were all in Java/Eclipse, and I had an irrational fear of the java/javac CLI compile & run commands. I was completely incapable of modifying build and run scripts (which were customized by one guy at my company), and it was a huge gap in my knowledge. So I have lived this firsthand and can see the value in retrospect.

That being said, I did get a LOT done with the pure IDE (three years of school programming and a year of part time work). So there's something to be said for both sides.

Re: Learning to program is getting harder

#279
> Computer retailers stopped installing development environments by default. As a result, anyone learning to program has to start by installing an SDE -- and that's a bigger barrier than you might expect. Many users have never installed anything, don't know how to, or might not be allowed to. Installing software is easier now than it used to be, but it is still error prone and can be frustrating. If someone just wants to learn to program, they shouldn't have to learn system administration first.

I'm not sure I agree with this statement. macOS provides Python, Java, Ruby, etc. out of the box, and a C compiler is one button click away. On Linux a C compiler is provided. For web languages, every browser comes with a full suite of development tools.

Re: Learning to program is getting harder

#280

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.

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.
Post reply on HN