Learning to program is getting harder
allendowney.blogspot.com
Learning to program is getting harder
1–10 of 422 posts
Re: Learning to program is getting harder
#2Younger programmers seem to commonly have zero knowledge in this area. If they run into some problem with their environment, they are completely stuck. Oh, they're asked to install a VPN client but it doesn't work and they have to debug it? They're completely blocked. They have no idea how to continue.
For me, I learned these basic computer skills first (because I was obsessed with computers as a child). Then I learned to program.
I think this is a side effect of teaching programming as a career skill. You have people that want to be programmers but don't include "computing" as one of their hobbies. So of course they don't know anything about how to debug computer problems. This is totally expected.
Teaching these skills in CS curriculum would probably be a good idea.
Re: Learning to program is getting harder
#3In Commodore 64 days you got some book that was all you had. You couldn't email the author of the book or look online.
If you got through the huge filter of the initial steps being much harder than today then you were doing well and would go on.
However, the endless set ups and downloading every library that is used is going to make maintenance of programs in 5, 10 or 20 years a nightmare.
Re: Learning to program is getting harder
#4Having the patience to set them up is probably a good indicator for having the patience to learn them. (Or rather, the reverse is probably more true)
Re: Learning to program is getting harder
#5To add my take here, this was a problem in 2003 too when I wanted to learn, but C++ was such a hard starting point.
The big takeaway is modern commercial programming is so far from "learning to program". That's a hard gap to bridge when a newbie is learning "making a terminal based calculator and wondering how do I build an 'app' or 'web app'?". One Month a YC company tried to solve this but the market is hard to reach because education is hard.
Re: Learning to program is getting harder
#6Case in point: my first experience with the Delphi IDE in 1996 had me immediately writing a basic text editor without knowing anything about Delphi/Object Pascal at all prior to sitting down with it. Drag, drop, consult the context-sensitive help, write some code, and compile/run, all in the same IDE. It also helped that Delphi shipped with the entire source code to it's RTL and the VCL (Visual Component Library), but that's more important as you get deeper into the language/product.
Re: Learning to program is getting harder
#7Anecdotally, 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…
Re: Learning to program is getting harder
#8Anecdotally, 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…
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 programming.
I really like the idea of starting to call 'CS' something like 'Informatica' so people might stop looking at the field as just a valuable career skill. Google tells me that there is now a startup called 'Informatica', but that is also what the field is called or translates to in some other countries like the Netherlands; I think https://www.cwi.nl/ could probably claim prior use.
Speaking of, it seems odd to try to use an existing commonplace phrase as a trademark in the industry that the phrase was born from - it seems like it'd be impossible to argue that anyone was infringing - but I guess I'm not a corporate lawyer.
Re: Learning to program is getting harder
#9Anecdotally, 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 the one thing I don't agree with. A better placement for these skills is a generic course required for any degree, or an optional course that anyone could take to shore up these skills (and you could recommend it for your CS major). Importantly though, this isn't part of the field of computer science, and so it doesn't really belong in that curriculum.
Now, if we had more of a "software development" or "software engineering" major, or even trade school, I think that would be a perfect area to cover practical aspects of tooling that are required to work in the field. There's a large gap between what you need to learn to become a reasonably competent programmer at most organizations and what you learn in a computer science major, and it really shows if you've ever interviewed a lot of fresh graduates. Great algorithm and theory skills, but no idea how to set up a build system. There's definitely room for a more practical education that transitions more directly into industry.
Re: Learning to program is getting harder
#10Anecdotally, 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. This is the one thing I don't agree with. A better placement for these skills is a generic course required for any degree, or an optional course that anyone could take to shore up these skills (and you could recommend it for your CS major). Importantly though, this isn't part of the field of computer science, and so it doesn't really belong in th…