Live data from Hacker News

Learning to program is getting harder

allendowney.blogspot.com

91–100 of 422 posts

Re: Learning to program is getting harder

#91
The issue is with annoying, irrelevant and complete-but-not-quite-you-must-tinker-actually-quite-a-lot-first frameworks and build systems.

Not to mention inadequate documentation.

You can learn to program easily still, say with Python or C but learning to use the all the time progressing tools is a completely different thing.

Re: Learning to program is getting harder

#92
Its not getting harder, the old systems just forced the users to learn- today, its just magic who works or wont.

Windows, MacOS, Chromebooks - none of them have a compiler and a ide by default. Even the "bash-scripting" is not introduced to new users.

So if you do not choose this occupation, you will never grow into it now a days.

Re: Learning to program is getting harder

#93
I also think learning to program is getting harder, but at least you can start easy today. When I started to program in the early/mid 90s it was very difficult for me to start as teenager. I didn't know anybody who did and had a (copy) of a compiler for me. At least I found QBasic (was in DOS included). It was very easy to program and debug something. The program could be as just one line of code. Just hit F5 (as far I remember) and the thing did run. But it was just an interpreter and slow. The included help was pretty good. Later I tryed to program Assembler under DOS. But again, no compiler, I had just the DEBUG function from DOS. With that it was possible to write Assembler direct in memory (but not save to a file). Also no marks for jumps .. you had always to calculate the address by yourself.

My QBasic book had (still has) 416 pages. It included EVERYTHING you could do in QBASIC. My Assembler book was a bit more slim (XT-486, before MMX). A "complete" book today would need over 10000 pages. There are sooo many things you can do. There are almost a infinite number of librarys on github.

Re: Learning to program is getting harder

#94

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…

But those skills have nothing to do with computer science as a field of study - wouldn't they be more useful to teach in general education like K-12? Like I remember in middle school, we had an elective option between woodshop and CAD. The 'CAD' class was really more about performing simple automation in programs like MS Word/Excel, but that sort of thing is still useful in just about any job these days - not just pr…

Calling Informatica a startup is a bit of a stretch given that they've been around for 25 years, were public for a long time, make ~1 billion in revenue a year, and have thousands of employees (though I don't doubt that CWIs use of the word predates the company's founding)

Re: Learning to program is getting harder

#95
post #76

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…

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.

Re: Learning to program is getting harder

#96
post #69

Earlier quoted context omitted.

But those skills have nothing to do with computer science as a field of study - wouldn't they be more useful to teach in general education like K-12? Like I remember in middle school, we had an elective option between woodshop and CAD. The 'CAD' class was really more about performing simple automation in programs like MS Word/Excel, but that sort of thing is still useful in just about any job these days - not just pr…

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, and quite theoretical. Were they not, there would be a lot of push-back because they are almost considered demeaning.

Meanwhile, with the vocational instituion, things are very practical as far as I know. Much of those courses are actually building practical software. In large projects aimed at real uses. Meanwhile, in the academic institutions, you'll have multiple projects that boil down to 'implement gradient descent in MATLAB'.

I've heard it said that even though the academic institution is much harder and prestigious, when it comes to making practical software you are better of taking someone from the vocational instituion. Or at the very least, if you take someone from the academic institution you'll need to invest more time into training.

There is a bit of tension here where 'really smart people' who want to just become really good at a job are still expected to go to the academic institution for the prestige. Then, those people get less practical knowledge than they want because they are at an academic institution.

Re: Learning to program is getting harder

#97

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 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 also focused on network protocols and hardware architectures that most CS students had never heard of. So when I was interviewing for jobs around graduation and was asked to explain everything that happens after someone types "google.com" in their browser, I could explain all the network protocols in detail right down to how binary was encoded into specific 5V fluctations on certain lines, DNS resolution, routing algorithms, the server's filesystem, etc. But when I was doing a coding problem and they asked me what the invariant was in my loop, I had to ask what an invariant was. And yet I had been coding full time for 4 years by that point and never needed to know that term. I knew stuff CS majors didn't, and they knew stuff I didn't. It was different specialities, each of which really filled 4 years of heavy, heavy semesters.

Re: Learning to program is getting harder

#98

Earlier quoted context omitted.

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…

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

Hello Autoexec.bat and config.sys. :)

Re: Learning to program is getting harder

#99

The author is making an excuse for not including an intro chapter and tool in his book to get the reader to a place where they can start using the book. My sixth grader checked-out a Python game programming book from the school library. He was able to install all the tools necessary to follow along and learn from the book. Today you have Google, Youtube and every programming language available from scratch to assembl…

Yeah, typing in LOAD "Blah",8 whatever it was was so much easier and more intuitive than jupyter python notebooks. /sarcasm.

Re: Learning to program is getting harder

#100
post #89

Earlier quoted context omitted.

>We have Python, Ruby, Javascript... We have the Web as a platform Can you explain how any of those things makes learning programming easier?

A generation ago, many (most?) apps were C++ for Win32. That means wndprocs, LPARAM, pointer casts everywhere. No STL, buggy templates. Dialog resources, manual layout of controls. Build the app for both * A and * W, ship unicows for win95 support. Crashes on machines without IE4. A lot of that was just incidental complexity and is covered up now.

Plus, it's really nice having a REPL.
Post reply on HN