Hacker News new | ask | show | jobs
by Nadya 3628 days ago
I consider programming to be on the same level as "knows how to properly phrase Google searches". It won't make or break your life but it will make it a degree easier. For better or worse, Google has become a means of finding information - and finding accurate information quickly is a bonus. Programming allows you to automate many trivial but time consuming tasks. Even being able to write a few functions in an Excel sheet can save you hours at your job (and yes, FWIW I consider functions in excel sheets to be a form of programming). Everyone should be able to read and write basic programs, and as you said, people can still leave software engineering to software engineers.

I've easily saved more hours automating small tasks with Javascript (w/ JQuery) then I ever spent learning Javascript & JQuery...

Now on a completely unrelated tangent, please forgive me.

>you'd be well-justified in not spending a third of your lifespan (or whatever 12 years is to a pre-industrial-age lifespan)

Average lifespan was so much lower back in the day because children dying very young was relatively common (winters and illnesses, infections from injuries, etc.). If you made it into adulthood your life span looked to be much of what it is today (living to be 60-70+ years of age). But you didn't need to be able to read and write to farm, smith, or tailor. From a young age, your time was better spent doing minor tasks like gathering eggs from the hens and helping feed the pigs. So what fraction of your lifetime depends if you mean "average lifespan" or "typical lifespan assuming you made it through the early years". :P

1 comments

Only a small portion of population would personally benefit from programming skills without doing it as a job. That means for absolute majority learning to code would be wasteful.
>Only a small portion of population would personally benefit from programming skills without doing it as a job.

I disagree entirely on this premise. Not because it is wrong, but because it has become less and less true over the past few decades.

Anyone who performs any trivial or repetitive task on a computer benefits from being able to set up a small (think 3-5 lines thrown in a for loop) script to automate the task for them and there is an increasing amount of people who perform trivial and/or repetitive tasks on computers. If it is only an hour once a week and they can have a small program turn that into a few seconds - they save 52 hours of doing a mindless, boring task each year. Having 52 hours to do literally anything else is a personal benefit. Minus time spent on automating the task of course. [0]

It's death by a thousand papercuts - except most people are failing to see the papercuts because they don't have an education enough to see what they could be automating with little effort. They go through their daily routine doing the same trivial tasks hundreds of times because the possibility of automating those tasks never crosses their minds.

Are the benefits minor? In most cases, yes. Just like the benefits of being able to properly phrase your Google searches is also minor.

Leave programming a photo-recognition app to the professionals. The average person won't need to know how to program that. Creating a small AHK macro that writes today's date? "Life changing"; actual quote from a coworker. The "life changing" program?

    :R*?:mdyy::
    FormatTime, CurrentDateTime,, MM/dd/yy
    SendInput %CurrentDateTime%
    return
>It won't make or break your life but it will make it a degree easier.

[0] https://xkcd.com/1205/

> Anyone who performs any trivial or repetitive task on a computer benefits from being able to set up a small (think 3-5 lines thrown in a for loop) script to automate the task for them and there is an increasing amount of people who perform trivial and/or repetitive tasks on computers.

I agree, this is the main reason (nearly) everyone should be taught to program. I often draw parallels between levels of programming and levels of mathematics. Not in a sense of understanding, but of complexity, and often when describing languages.

But I think that's a useful comparison here. Few people would say that teaching everyone arithmetic is a bad idea. Because being able to count is essential to surviving in our society (just from handling your own basic finances). More, but still few, people would argue against teaching everyone algebra (the high school sort, not the abstract sort). Because it enables people to take their understanding of arithmetic and extend it with variables, create more complex expressions and solve them for common problems. Same with geometry. Trig and calculus are where the "everyone should learn" part stops, those topics are for everyone who's going into STEM fields, and other (non-STEM focused) students that are sufficiently advanced and interested.

The parallel to programming:

Everyone should learn basic algorithmic thinking. Writing out a series of steps and understanding looping and conditional expressions and subroutines. These are the things that BASIC, shell scripts, and other (relatively) simple languages provide. These are the skills needed for automating many office jobs.

Fewer people need to know low-level bit twiddling, network code (to the point of implementation of protocols rather than application of libraries that implement protocols).

Fewer still need to understand more complex data structures, more complex algorithms, and full-blown application development (whether it's server-side, mobile, web-app, desktop, doesn't matter).