Hacker News new | ask | show | jobs
by jimbokun 5439 days ago
"You will in all likelihood be a glue programmer: you'll rely on APIs and libraries, most of which have been written by someone else, and you will simply string them together by applying the functions that most obviously address whatever problem you're trying to solve."

If you come out of a curriculum where all you learn is how to string together APIs and libraries, it's pretty much guaranteed you will end up with a job doing that, because that's all you will be qualified for.

If you want a job where you are pushing the envelope of what's possible with computers, you're going to be much having taken SICP.

1 comments

> If you come out of a curriculum where all you learn is how to string together APIs and libraries, it's pretty much guaranteed you will end up with a job doing that, because that's all you will be qualified for.

If all you learn is how to string together APIs and libraries, then it probably wasn't a "curriculum" at all. But emphasizing certain technology domains other than programming and computer science does have its advantages, especially for program meant for engineers more than computer scientists.

It's hard to argue against the merits of SICP and I'm not going to try, but if your goal is to produce engineers that push the envelope of next generation technology beyond just computers (eg robotics, optics, advanced human-computer interfaces, gene sequencers, advanced materials, etc.) then "stringing libraries and APIs" together might be more exciting than one might assume.

> if your goal is to produce engineers that push the envelope of next generation technology beyond just computers

Then computer science isn't where you belong. There is a solid argument for teaching everyone the basics of programming, and this is it. I can hammer a nail into a wall, too, but that doesn't make me a carpenter.

If computer science is all you want to study, then an engineering school might not be the best place for you. You're probably better off at a small liberal arts school. At Schools like MIT and Berkeley, computer science is an optional specialization in the EECS program. If you look at the MIT course maps for the three main degree paths (EE, EE+CS, and CS) you'll see that 6.01 and 6.02, the replacements for 6.001 (the SICP course) are foundational for all 3 specializations.

http://www.eecs.mit.edu/ug/ug_6-1.html

http://www.eecs.mit.edu/ug/ug_6-2.html

http://www.eecs.mit.edu/ug/ug_6-3.html