From Matt Curtin, founder of Interhack Corporation, author of the fascinating book Brute Force: Cracking the Data Encryption Standard, and one of the most colorful characters on the net (who we're lucky to have right here in Columbus, and teaching a course at OSU CSE)

First, a little background... I'm a professional programmer who has never taken any class on Resolve/C++.  My entire exposure to Resolve/C++ consists of reading the papers that describe it, some code in the language, and random other stuff that I used to grok the language enough to write rcpp-mode for (X|Gnu)Emacs.

Languages, whether natural (such English, French, or Russian) or artificial (such as Esperanto, Lisp, or Resolve/C++), are frameworks for expressing ideas.  In particular, computer languages are frameworks for changing the state of finite state machines in order to make them do some kind of nifty stuff.

People who know one language, or two, or even three, are not programmers.  Programmers understand what programming is about and should be able to program in any language given them.  You don't take 221/222/321 to learn how to program in Resolve/C++.  You take that series to learn how component-based programs work.  You don't take three quarters of "how to use Resolve/C++" -- you look at problems and how to solve them using software components.  The fact that you're using Resolve/C++ is completely irrelevant to the main point.

As I understand it from reading the papers that are available on the web, the series basically works like this:

Guess what?  You haven't spent any time mastering a language you'll never see again.  If you think that in three courses you're going to master anything, you're in for a seriously rude awakening when at the end of one year in the professional workforce you come to the realization that you know almost nothing.  No matter how good your education or how smart you are, you're going to be a pretty bad programmer until you've been doing it for years.  You're not going to be really good until you've been doing it for about a decade.  Programming is complicated, just like playing an instrument, using a human language, or anything else that's really worthwhile.  Unless you do it every day for many years, you'll never get beyond mediocrity.  Unless you're particularly wired in that direction, you probably won't ever get that good unless you really apply yourself.

What you do during the course of the 221/222/321 series, however, is to get yourself exposed to all of the main concepts of modern software engineering.  You take a tour of what all of this "object-oriented" and "reusable software" stuff is all about.  That means you're going to write better code if you can manage to apply those concepts to yourself and to your programs.  Your C is going to be better, your Java is going to be better, and your Lisp is going to be better for having entertained the kinds of thoughts that were presented in class.  You're going to be able to look at problems and more quickly recognize when something belongs in the program that you're writing and when instead it belongs in some more general-purpose library that is available to others, or at least to yourself at a later time in another program.

There's no guarantee that you're going to be using the languages that are popular now in five, 10, or 15 years.  Languages, for the most part, just don't last that long.  Languages like FORTRAN and Lisp are notable exceptions, but even they are very different languages today than what they were 20 or 30 years ago.  That means that you're always going to be learning new languages, learning new techniques, and learning new features of languages you've been using.  If you're not looking forward to a career of constant learning and rehoning of your skills, do yourself and the industry a favor and just quit now.

What you will have learned in 221/222/321 are more important than mastering any language.  They're the concepts that will make you a productive programmer no matter what language you're using.  That's the kind of education that's worth basing a multi-decade career on.