Bjarne Stroustrup on what new software developers should learn and what CS is

January 2, 2010 at 3:04 pm 4 comments

The January 2010 issue of Communications of the ACM has an interesting piece by Bjarne Stroustrup, What should we teach new software developers? Why?. He suggests that “the first degree qualifying to practice as a computer scientist should be a master’s,” and that “professors who teach students who want to become software professionals will have to make time and their institutions must find ways to reward them for programming.”

Look Inside >> 
January 2010

I’m pleased that he talks about “software developers” in his title, as opposed to making more global statements about “computer scientists.” He does make the general claim that “The ultimate goal of CS is to help produce better systems.” Is that really the goal? If a scientist writes a 50 line script that enables her to create a visualization or analyze some data in order to gain some new insight, and then throws that script away, isn’t that also a goal of CS? Maybe Stroustrup would also see that 50 line script as a “system,” or maybe he would disagree that there is any “CS” involved in the scientist’s 50 line script. Hamming famously said, “The purpose of computing is insight, not numbers.” I wonder if “systems” are more about “insights,” “numbers,” or something else entirely.

Entry filed under: Uncategorized. Tags: , , .

Introducing distributed over centralized version control system CMU’s Hybrid Education 2.0: Better than a classroom

4 Comments Add your own

  • 1. Ben Chun  |  January 3, 2010 at 4:38 pm

    I’m not sure if it makes sense to claim an “ultimate goal” for CS as a field any more than it does for, say, biology. There’s a bunch of good things people can do within the realm of the subject as we know it, so we might as well get down to doing them.

    One of those things (and a crucial one) is to use computation to gain insight. This is the underpinning, to my mind, for an argument that some CS course should be part of high school graduation requirements. As we live in an increasingly computationally-managed world, it becomes increasingly important for citizens to understand how computation is structured.

    Another good thing to do is produce better systems. I can see how Stroustrup has a point here: someone implemented the scripting language your hypothetical scientist used for her 50-line script. And maybe instead of throwing away the 50-line script, a better CS-as-CS practitioner would check it into a source repository of similar scripts, which would inform future work toward building a general tool to support that kind of analysis. Or maybe, as you say, that kind of work isn’t CS, where building the scripting language interpreter is.

    I think when we’re talking about developing software, the bigger question is how we ought to evaluate systems to determine if they are “better”. After all, someone might say that, “the ultimate goal of architecture is to help produce better buildings,” and really not have said much at all.

  • 2. Aaron  |  January 6, 2010 at 4:32 pm

    Time to revisit roles….

  • […] Stroustrup pointed out in his CACM piece on Jan 2010: Most CS faculty don’t program.  He was particularly focusing on developing […]

  • […] Visit link: Bjarne Stroustrup on what new software developers should learn and … […]


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Trackback this post  |  Subscribe to the comments via RSS Feed

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 9,057 other followers


Recent Posts

Blog Stats

  • 2,038,048 hits
January 2010

CS Teaching Tips

%d bloggers like this: