Posted
by
Soulskill
on Sunday January 13, 2013 @02:24AM
from the they-are-occasionally-benevolent-dictators dept.

An anonymous reader writes "Derek Sivers, creator of online indie music store CD Baby, has a post about why he thinks basic programming is a useful skill for everybody. He quotes a line from a musician he took guitar lessons from as a kid: "You need to learn to sing. Because if you don't, you're always going to be at the mercy of some a****** singer." Sivers recommends translating that to other areas of life. He says, 'The most common thing I hear from aspiring entrepreneurs is, "I have this idea for an app or site. But I'm not technical, so I need to find someone who can make it for me." I point them to my advice about how to hire a programmer, but as most of the good ones are already booked solid, it's a pretty helpless position to be in. If you heard someone say, "I have this idea for a song. But I'm not musical, so I need to find someone who will write, perform, and record it for me." — you'd probably advise them to just take some time to sit down with a guitar or piano and learn enough to turn their ideas into reality. And so comes my advice: Yes, learn some programming basics. Just some HTML, CSS, and JavaScript should be enough to start. ... You don't need to become an expert, just know the basics, so you're not helpless.'"

It's in one of the comments [sivers.org], and a pointer from that linked page shows some exercises his instructor had him perform -- singing at different speeds and pitches. I myself wonder why software engineering never tries to teach solving the same problem in a variety of paradigms or languages; 99 bottles [99-bottles-of-beer.net] is the closest example I can find.

This is exactly what I was thinking., HTML is a markup language. JavaScript is a scripting language. There are some basics to learn from it such as control variables, statements, and loops, but it is not a full blown language. Of course CSS is not a language. I guess if they don't know the difference between these, then they really do need to learn some basics.

You certainly can be an expert computer maker without knowing computer science. You should know a bit about electrical engineering, though. To program those computers, you can then safely let to the programmers.

Rosetta Code is a wiki composed of the same problems solved with many different computer languages. Rosetta Code currently has 626 tasks, 101 draft tasks, and is aware of 486 languages. http://rosettacode.org/ [rosettacode.org]