Live data from Hacker News

Learning to program is getting harder

allendowney.blogspot.com

141–150 of 422 posts

Re: Learning to program is getting harder

#141
post #60

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'm and older programmer. I learned how to build a computer because my parents scraped enough money to buy a computer when I was young, but not wealthy enough to get it fixed when I inevitably broke it. This was back when PCs were friggin expensive as were parts. Fellow computer friends (we had few back then) would let each other borrow hardware (parts) and whatnot, so we had to learn how to install it and configure…

I tried hosting my own mailserver out of an ec2 instance in an excercise.

Learned lots in those hours and hours

Re: Learning to program is getting harder

#142

I find this difficult to understand. Computers in 1979 would be 500 dollars in equivalent today money for something like a sinclair zx-80. Now computers are cheaper than lunch. Computers of long ago couldn't do much... the raspi zero wireless can do a lot. We're looking for treasure - but there's diamonds on the soles of our feet. We just need some curriculum worked out - like the article indicates computer usage + c…

yeah, nowadays you can get a PC which you can use to develop anything under $300.

Nowadays there are millions of prime quality materials on the web for free - audiobooks, videos, books, whatever suits you.

Nowadays the best IDEs in the industry are free - a few years ago you needed to shell out hundreds of dollars.

The only thing that got worse is the confusing amount of choices that you need to make.

Re: Learning to program is getting harder

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

Add a decade and your statement is correct.

Getting a C++ toolchain in 1998 was pretty easy. You were either Windows and lived with whatever Microsoft abomination they shipped or you were on a Unix and you installed gcc and vi/emacs. Truly smart people installed CVS.

In 1988 on the other hand, you sometimes had to figure out how to bootstrap gcc--possibly from the broken garbage compiler the manufacturer shipped and sometimes from nothing at all.

Re: Learning to program is getting harder

#144

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 article is specifically discussing the ease of getting into an IDE on a new PC. When I started, I could turn on the PC, type “basic”, and press enter. Now, at minimum, I would need to know to start notepad, save an html file, point a browser at it, and type some html and js boilerplate. That’s what the article says is harder (except the article goes on to discuss installing other languages, which is even harder).

Re: Learning to program is getting harder

#145
I get along pretty good on blind trust, issuing commands provided in tutorials or setup guides sometimes having little understanding of what the heck it is that I'm doing. There is always an end point that I'm highly interested in and I spend my time learning the ins and outs of. I spend my time learning what I need to learn when I'm stuck. Sure this attitude can be disasterous. I keep current and offline backups at all times and not nuking the production code is a standing order. I know enough to install Gogs, but I am by no means an expert on all things git quite yet. If it weren't for stack overflow and search engines I'd still be writing inconsequencial stuff in Director Lingo. No one can afford the time to really understand the stack, its tens or hundreds of millions of interconnected lines of thought. When I take time to learn something I intend to do something useful with it. At this time my mind is like a buffer. For every new thing I learn, stuff from 10 years ago is fading fast. There is a lot to learn sure. There is even more that is forgetable.

Re: Learning to program is getting harder

#146
I love Ruby the language, but I absolutely hate Ruby the platform. I've never run across a more hostile landmine-ridden terrain for new developers. Every time I have to ramp up a new dev, I just resign myself to the fact that it's going to take anywhere from an hour to three or four to get everything installed. God forbid they've actually tried to use Ruby before on their machines.

I've dipped on job prospects which involved code challenges that require me to get their codebase working on my machine. I inevitably wind up having to troubleshoot their broken setup and that takes way more time than doing the actual challenge.

Ruby desperately needs innovation in this space. Bundler and rbenv / chruby / rvm just isn't good enough. Vagrant / Chef just isn't good enough. I understand that dependency management is a hard problem, but other languages aren't half the headache that Ruby is.

Re: Learning to program is getting harder

#147
As many others, I also disagree. Back in the day, laptops are more expensive and less capable. Now you can program everywhere with laptop and wifi. More importantly, sites like SO makes learning to program so much easier than before. Back then, if you don’t know somebody you might be stuck with some silly issues for a long time. Not to mention Windows had frequent blue screen of death.

Re: Learning to program is getting harder

#148
post #98

Earlier quoted context omitted.

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

And, in some cases, himem.sys :)

Re: Learning to program is getting harder

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

I was you a few years ago. There's two ways forward:

1. Get a job programming and slowly build up your skills/expertise by learning from those around you.

2. Develop a lesson plan for yourself and figure out how to build and deploy different kinds of apps.

I don't know if you're into #1 but I think it can be massively useful. There's so much stuff you don't know about that some dude who's been working somewhere for 5 years does. You can pick up best practices, design ideas, constructive criticism, better coding, better tools, knowledge that's easier to get in person than from a webpage. Today no single person makes a truly great and novel software application, and working at a tech company will make that apparent to you.

As for 2, some ideas assuming you know how to code:

1. Write an HTTP API that talks to several different databases. Learn how the databases work and when to use them. Get good at using them both from their CLI and a programming language.

2. Write a site using React/Angular/etc. and HTML/CSS to query an external API and display the results or organize user input into a fun framework.

3. Find a way to publish both of the above so that mom can interact with them.

4. Figure out how to wire a web app that you wrote to an API you wrote.

5. Find a way to deploy that as a complete system.

6. Figure out how to write a simple iPhone/Android App if you're interested in that.

7. Now make it do something cool, presumably by hooking it up to an API that does the heavy lifting.

8. Now make it all pretty.

9. Now figure out how to get it in people's hands. Collect their feedback and figure out what's working and what's not.

10. Go back to whichever step needs work and fix it.

That's easy to say, but there's a ton of work in learning all of these skills. It's one thing to write an app, it's another thing to get it in people's hands, and it's a third thing to get it to really really work to the point where people love it. A lot of people spend 40 hours a week doing that for years and don't/can't do everything - that the reason there's so much specialization in the world of software engineering.

Re: Learning to program is getting harder

#150

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…

Reminds me of a recent interview where they asked me, "How does the client to a server?"

I replied "over the socket"

To which they replied, "Using REST over HTTP"

¯\_(ツ)_/¯

Post reply on HN