[hcs-d] Seat Computers at the Cool Table
tpak at fas.harvard.edu
Sat Dec 4 18:19:06 EST 2010
You can in fact write a Windows or iPhone app using pure C and gcc. For Windows, there was a time when writing Windows programs was all in pure C using #include <windows.h> ... and gcc does (mostly) run on Windows. For the iPhone, you have to jailbreak, but you can actually build gcc and then executables directly on the iPhone. You can't plug into Cocoa without using Objective-C, but a background process for your iPhone would be simple. I think we take issue with the imprecision in your statements because CS by nature often needs great precision in everything you say.
Regardless, if you were trying to argue that Harvard should spend time teaching people how to use IDE's and platform-specific libraries, I strongly disagree. These are the sort of things that good programmers with a foundation in the concepts should be able to pick up quickly--you learn by experience, and can learn quickly once you have a foundation. The foundation is what should be and is taught in the classes. No amount of fiddling in Java or C# is going to teach you why your algorithm will fail under high load because it is quadratically bound or deadlocking on a mutex. That sort of thinking is very portable between problems, and you pick up the specific languages/environments on a need-to-know basis. For example, I know a recent alum hired by Microsoft who has never used a .NET language or Visual Studio in his life, and now he comfortably writes C# every day. This isn't uncommon.
Also, people do write both Windows and iPhone apps as their final project in CS50.
On Dec 4, 2010, at 5:09 PM, Adam Gold wrote:
> Hey everyone!
> Thanks so much for reading my article. It seems like you all got a lot
> out of it.
> I submitted a request to my editor for a correction on the HCS name and
> the managed languages thing yesterday. Hopefully they'll get around to
> it soon. My column usually runs on the other Friday, but due to a last
> minute schedule change, they needed to run my evergreen piece that I
> wrote sophomore year (gasp!) back when the world was young and CS51 used
> to use Scheme. I tried to update what I could, but I didn't have enough
> time to catch everything on such short notice.
> My point about Windows/MacOS versus Unix was really more about
> development tools. You can't make a Windows or an iPhone app using pure
> C and gcc, which probably comes as a shock to most people who just come
> out of CS50.
> Just because MacOS uses a Unix kernel doesn't mean that if you already
> know how to write a Linux app, you don't need to learn anything new
> about making a Mac application in the real world. I didn't want to go
> into too much detail because I'm writing for a general audience (i.e.
> the Crimson readership).
> For those of you wondering what the "next step was," I think I spelled
> it out pretty clearly when I said that "More funding should be allocated
> towards speakers, seminars and programs that educate Harvard students
> about computers and reinforce the notion that it’s not geeky to
> understand them." I know it was pretty close to the end of the article,
> and the piece was a whopping 800 words, so I can see why some of you
> maybe were too busy to read all the way to the end before forming an
> If anyone else is thinking of checking out MIT's 6.839 (Adv. Computer
> Graphics), because Gortler's on leave this year, you should totally do
> it! Given how little I know about computers, I'm sure I'll bring down
> the curve for everyone on this list!
> On 12/4/2010 3:33 PM, Jim Danz wrote:
>>> Of course, the name itself is pretty obviously plastered all over
>>> official HCS material, and it's incumbent on the Crimson to get it
>> I greatly enjoyed your take on this, so thanks for writing that up. I
>> do think it's worth noting that many groups/activities don't have such
>> a choice to make. For instance, "consulting" is the name of an
>> activity but also the name of an industry; "Harvard (College)
>> Consulting Group" has got to be the only reasonable choice.
>> For what it's worth (and to be safe, with this I'm only speaking for
>> me personally), I think that part of the reason for the naming as we
>> do it is that "computing," in terms of connotation, generally seems to
>> describe using software (ie, "personal computing") rather than
>> developing software | configuring machines | building machines. But
>> yeah, it's all just words.
>> hcs-discuss mailing list
>> hcs-discuss at lists.hcs.harvard.edu
> hcs-discuss mailing list
> hcs-discuss at lists.hcs.harvard.edu
More information about the hcs-discuss