POV-Ray : Newsgroups : povray.off-topic : I found this interesting : Re: I found this interesting Server Time
4 Nov 2024 17:53:43 EST (-0500)
  Re: I found this interesting  
From: Chambers
Date: 6 Apr 2008 16:25:18
Message: <47f931ae$1@news.povray.org>
Warp wrote:
>   I believe that the most usual reason for the negative attitude is
> that the "noobs" are getting the job "done" faster, but at the cost
> of software quality. The software made by a newbie usually lacks
> robustness and efficiency. However, because bosses usually cannot
> see past the GUI, they are fooled into thinking that the newbie is
> actually a better programmer than the experienced one because he got
> something visible done faster. Then they hire the newbie and kick out
> the experienced programmer.

This reminds me of a problem that I saw working in the math study center 
at my local college.

We were explicitly told not to help the Business Math students with 
their homework, because the requirements of what they wanted were so 
different from what students in the regular math courses needed. 
Specifically, they didn't need to know "how it worked", just "how to 
press buttons on a calculator to get the correct result".  As a result, 
it was felt that our teaching them correct mathematical principles would 
be a waste of time, both theirs and ours.

This drove me nuts.  In fact, on several occasions (when there weren't 
other students needing help), I explicitly ignored the instructions and 
helped the business math students.  But I wouldn't do it the way their 
instructors wanted (press this button, get this result).  Instead, I 
would teach them the theory behind what they were doing, to the point 
that if they forgot the correct button press, they could still work out 
the answer (or at least, figure out what buttons to press on their own). 
  Usually, they expressed gratitude for my helping them to finally 
understand what they were doing.

I think software is the same way.  While I never coded with 1s and 0s, 
relatively soon after learning BASIC I learned x86 assembly, in real 
(not protected) mode.  Things like pointers aren't a problem to me, 
because they're an inherent part of computer architecture (virtually 
everything uses pointers), and I understand the underlying architecture 
fairly well.  I'm not against using VB, C# or LISP, per se.  But I *do* 
think that my understanding of the underlying architecture is important 
even in those languages.

The disdain that "real" programmers feel for newbies who crank out quick 
code using "toy" languages is, I think, more akin to the disdain "real" 
mathematicians feel towards business math majors.  Sure, they can "press 
the buttons", but they don't really know what they're doing.  It's not 
about jealousy - after all, many programmers who started out writing 
assembly code are now using higher level languages and cranking out code 
just as quickly.  It's about perceived understanding of what your code 
actually does.

Personally, I think this understanding is so important that I would say 
*all* programmers should, at one point or another, learn to write 
complete programs in assembly language, by hand.  Not that they should 
use machine language for their jobs, but because knowing how computers 
*really* work will help them write better programs in the long run.

-- 
...Ben Chambers
www.pacificwebguy.com


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.