small medium large xlarge

Back to: All Forums  PragPub
04 Mar 2011, 13:02
Jim Cooper (1 post)

Is it April already?

05 Mar 2011, 07:29
Frank Mitchell (1 post)

Perhaps it’s a symptom of modern complexity that every so often someone stands up to proclaim the virtues of “old school” seat of the pants practice. Robert Martin’s “I’d rather use a socket” comes to mind. (It’s not just programming, as the “Old School Renaissance” in tabletop role-playing games demonstrates. I’m sure there are better examples, just not ones I can think of at 1 am.)

Sometimes it’s good to consider the teetering tower of abstractions we rest upon, and ask ourselves whether we need them. On the other hand, I worked briefly with a company that built web applications in C++, and often someone would complain that some string handling routine or other corrupted memory. When I reasonably asked whether a higher level language might eliminate memory corruption, they mocked me for advocating Perl. To them, Java was a joke because it was slow and memory-intensive (in 2001 admittedly), and scoffed at Sun’s claims that the Hotspot VM sometimes outperformed C. Bertrand Meyer’s infamous “Beware of C Hackers” rant does have a grain of truth: some programmers care more about fast and small than correct or maintainable. Gerald Weinberg’s The Psychology of Computer Programmers pointed out over thirty years ago.

To cut to the chase, the author does have a point, albeit one that must be taken with a mountain of salt. For small well-defined problems, and for beginning programmers, C and JavaScript suffice. As problems grow more complicated or vague, those annoying modules, restrictive object references, and funny linguistic tricks become really important. If there were no Python, we would have to invent it.

You must be logged in to comment