David Beroff (d4b) wrote,
David Beroff

High-level abstraction vs. "efficiency"

One of my medium-level income projects involves developing some desktop software, and I recognized an ancient argument that I had observed decades before. Here's my response to one of the developers:

> [Y]ou do it yourself from scratch....
> C/C++ people will generally view software written in scripting/high/app
> level languages - outside of the web browser - as cr*p software.

May I respectfully suggest that you please consider that you may be
working with what some might call a prejudice?

When I started writing in C using the Whitesmiths compiler, circa '85, it
had its share of bugs, which forced me to learn Motorola 680x0 Assembler,
as well as many details about how the compiler itself worked. This, in turn,
opened my eyes to how the same tasks could be written with different levels
of efficiency, saving one or two or more instructions here or there.

Here's the thing: It usually didn't matter one bit. The computers almost
always are running far more quickly than the humans who need them, and
this of course is far more true now, 30 years later. (i.e., Moore's Law)

The way to approach this is as a scientist: In the few times where it does
matter, carefully measure your environment, and empirically determine where
code needs to be tightened. The answer will almost always surprise you.

High-level libraries help reduce development time and bugs because they
free you from having to think about all of the details. Sure, they can be
inefficient, but that can be addressed if it later proves to be an issue.
Tags: guamn, programming
  • Post a new comment


    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.