The rantings of a beautiful mind

On life, society, and computer technology.

My Photo
Location: Toronto, Ontario, Canada

I live in the Fortress of Solitude. I drive the Silver Beast. My obsession is justice. I used to be a Windows software developer. I retired in 2000 when my stock options helped me achieve financial security.

Wednesday, October 25, 2006

Smalltalk Debate

I’ve observed that all hard-core C++ programmers have one thing in common: they are performance-obsessed. (This probably spills over in their bedrooms, as well.)

Ted hit the nail squarely on the head: To C++ programmers, “good enough” performance is never good enough. The hacker mentality is that they must write the most terse and efficient code possible in order to impress the heck out of each other. It’s a glorified pissing contest. “My dick is bigger than your dick.”

Since Ajith has studied economics, I am astonished that he doesn’t understand the application of economics in software development. Given the state of today’s hardware, native code applications are no longer the necessity that they used to be; interpreted code is now an acceptable alternative in most application domains.

Why interpreted code? In two words: programmer productivity. It comes down to economics... Hardware costs are no longer a big deal, but labour costs — i.e., programmer labour — are absolutely critical in most software development organizations. Why the f*ck do you think everybody is trying to outsource software development to f*cking India???

If I can hire a Smalltalk developer to do THREE or FOUR times the amount of work that a C++ programmer can do, I’d be f*cking nuts not to go that route! The alternative is to hire THREE or FOUR C++ programmers. At a salary of $80,000 per year, that’s a big, f*cking chunk of your IT budget!

Ajith didn’t answer my question — what application domain is he working in that is so performance-sensitive? Maybe he’s one of the exceptions that must work in C++. If so, I feel sorry for him.

But for the rest of us, we would be wise to look at Smalltalk or Ruby or Python or even Lisp!

Ajith, do you have the gonads to prove that you’re anywhere near as productive as a Smalltalk developer??


On 10/25/06 12:21 PM, "Edward (Ted) Doig" wrote:

WTF? Did I personally offend you or something?

Performance is not the Be All and End All of every fucking programming task. Of course you can write it all in a compiled language and it will run with blinding speed and work in a MILSPEC environment and mana will rain down from Heaven and you can go off and write your Turing Award acceptance speech etc. etc. etc.

Yes, I'll be the first to admit that "good enough" ain't necessarily "performance optimal". My point is that what amount of efficiency is appropriate to the task at hand? While you're busy writing your oh-so-efficient STL/C++ program that is gonna run circles around me, I'll have already rattled off my one line of script, got my answer, and have gone out for a beer already. ;-)

I did not, nor did I ever imply, that writing everything in shell script is a panacea, but for certain problem domains, it is more efficient for me overall. So a dedicated C program will run 5x faster. So what? So I get my response back in 25 milliseconds rather than 5 milliseconds. Big deal. I'll learn to live with it.

Your initial argument was based on lines of code, and I provided a counter-argument. You then mention performance, and I assert that it simply doesn't matter in this case. You'd better be careful, Ajith, you're starting to sound even more curmudgeonly than Richard! :-)

Thx - Ted

From: rengranting On Behalf Of Ajith Shanmuganathan
Sent: Tuesday, October 24, 2006 10:59 PM
Subject: RE: [rengranting] Studying Smalltalk


Come on, no one believes the crap you write.

I've written shells from scratch, I know how inefficient they can be.

I've also seen scripts from hell, so I know script programming is not for novice programmers. If you want write maintainable, fast, robust software in a production environment, you wouldn't choose shell scripts.

Ever heard of process overhead? Your little shell script will be at least 5 times slower than a dedicated C program. Measure the performance, you will be surprised how slow your code is.

I've heard the lame arguments for using PERL and other scripting languages. In reality, these languages suck for just about everything otther very simple tasks.

My STL and GNU library code is definitely orders of magnitude faster than any shell script. So don't be stupid.

- Ajith


Post a Comment

<< Home