Live data from Hacker News

Learning to program is getting harder

allendowney.blogspot.com

241–250 of 422 posts

Re: Learning to program is getting harder

#241

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…

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

Memory management. I started on C which made me a better programmer in the end, but extremely frustrating to learn.

Re: Learning to program is getting harder

#242

Earlier quoted context omitted.

> why 8.3 filenames Why is that, exactly? I grew up in that era, I remember when floppies were actually floppy, and I've been well into computers ever since, but I don't believe I could tell you why. If I had to guess, I'd guess that FAT used a fixed number of bytes for each filename.

Yep you got it. My first actual PCs (I don't count the Apricot PCs haha) were DOS 3.3, and I still remember the transition away from 33MB partitions although it's so long ago I can't remember if that came in with DOS 4.0 (abort abort!) or 5. I thought I was so cool having a PC with drives A B C D E F G H I.

I had a 486 PC with a 100 MB hard drive running Dos 5.x (can't recall the minor version). The hard drive was definitely a single partition.

Re: Learning to program is getting harder

#243
There was a great blog article on all the non-programming "stuff" you have to do get productive in programming.

Everyone resents doing it but it is very hard to avoid. And it's unclear whether it's inessential to programming.

Does anyone remember this blog article?

The author's name might have been Paul, and he might have been a Coursera teacher.

Re: Learning to program is getting harder

#244
A couple of things bother me about this. First the idea that someone would be a data scientist and not want to first learn how to do the most basic things with their computer. Second the idea that it's hard to do anything on a computer when you can literally type into Google what you want to do, and seconds later can be watching someone else do it on YouTube or reading detailed curated answers on StackOverflow.

Re: Learning to program is getting harder

#245
post #56

I'll be honest with you. Programming is actually pretty easy to learn. As long as you have a vague idea of how logic works and are eager to learn with the right approach, you can pick it up pretty quickly. A lot of the concepts floated around in programming have crazy sounding names but are actually not that bad. What's really hard to learn, however, is full on software engineering. Knowing how something works end to…

Hi, I completely agree you. I am currently learning how to code. I am at that point where I know the syntax of of a few language pretty well and can code up small programs. However, I do have difficulties in architecting and developing a fully functional application. How did you solve this problem?

As someone who came from a completely unrelated background (marketing). Here is how I managed to start 5 tech companies:

Your problem can't be unique. So, look around and see if someone has already solved it. After looking at their solution, ask yourself - Is it good enough or you still want to make effort implementing the same thing albeit in a different way.

The trick to complete a project never takes one that doesn't excite you. Since I mostly develop products for my own company, I have the luxury of picking up my team, project, and tools.

I started procedural programming with python then started picking up OPP. (OPP did not make sense to me since I wasn't working on real projects, just hobby scripts)

Finally, I learned C and it all began making perfect sense to me!

-> I finally understood how python does stuff it does at a low level.

Then I learned more advanced python stuff like decorators, generators etc...

Then I hired a few professional programmers to work for me and learned the software development practice, writing code is a small part of actual software project development.

-> I learned how software testing, planning, and decisions are done in teams. We were doing Agile SCRUM.

You can probably, pick up good workflow from some opensource GitHub projects which are developed in open!

Then there are special tricks/methods which you can not learn from books, so I hang out on Reddit, twitch, youtube channels and occasionally come across interesting tricks.

Then I learned Haskell, F#, OCaml which helped me in understanding functional programming.

After this, I learned Scheme and then Clojure.

I started writing JavaScript frontends with React and Vue.

Got interested in Reverse Engineering, reading Assembly etc... but then got bored because I was spending hours and hours and achieved very little.

Experimented with Java as my company has Java projects written by other devs and I wanted to contribute but didn't like Java and its ecosystem. (It's too complicated for me)

I learned Rust and moved from VIM to Sublime Text then finally to VSCode.

Then I learned Ruby and OPP magic became FINALLY clear to me.

These days I mostly write Go/Rust/Ruby/Vuejs(Typescript) and deploy on Kubernetes which made deployment soo easy, CI with Gitlab or Drone.

Re: Learning to program is getting harder

#246

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…

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…

> 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

Maybe, ironically, one of the advantages we had is that these difficulties forced us into a much better learning environment, when the answers weren't all immediately available through Google? Being the one who can self-learn extremely well gives us a big advantage when given a new problem or technology stack.

Re: Learning to program is getting harder

#247

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…

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.

Re: Learning to program is getting harder

#248

Earlier quoted context omitted.

I too am obsessed with computers, and will push through "helpdesk" type issues to get my work done. However, I don't consider that to be a remarkable skill. Such issues can almost always be resolved with a bit of googling. Perhaps I'm too close to see the foundational knowledge I'm depending on, though.

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.

IME, you usually can just google things like that and as long as you're willing to read through the first ~5 results to see if the situation is similar to yours, you'll very often find the solution to your problem.

I used to be a teaching assistant for a programming class at a top university, and it was astounding how often my students' issues could be solved by simply copy/pasting the error message into Google.

It seemed like most of my students were often so intimidated by the scary red error text that they didn't even try to solve it themselves, they just gave up and assumed it was unfixable. About halfway through my semester I reached a breaking point and spent an entire lecture where I had a list of previous emails from students asking for help, copy/pasted their questions verbatim into Google search, and showed how often the solution was found within the first few search results.

Re: Learning to program is getting harder

#249

Earlier quoted context omitted.

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…

Maybe programming isn't, but perhaps finishing something is? Because while the hands-on-the-keyboard, moment-to-moment writing of code is almost certainly easier than ever, actually making a thing out of that is nowhere near as simple as it used to be. Building a nontrivial thing in QBasic was really, really easy. Building a nontrivial web app--whether it's strict server-side PHP or strict client-side JavaScript or w…

Building a server-side PHP app is really not that hard. That is arguably the biggest historical problem with PHP. :)

Re: Learning to program is getting harder

#250

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…

I know a couple of grey haired professional programmers who have only rudimentary "computer" skills. They're still decent programmers though.
Post reply on HN