[Tutor] Shelve del not reducing file size

Eric Brunson brunson at brunson.com
Fri Jul 27 21:51:48 CEST 2007


One thing I don't think people realize, or at least don't talk about 
often enough, is that good programming, like good art, takes talent.

I can draw a cat to make my 2yo happy or sketch my house well enough 
that someone could pick it out driving down the street, but if I paint 
every day for the next 100 years, I'll never be a Picasso or a Monet.  I 
remember back when the web was starting to prosper, offices would hand 
their secretary a copy of FrontPage and tell them to make a web page for 
the company and *bam* she's a web designer.  The fact is, good web 
design takes talent. 

You can go to school for math, engineering, architecture, art, music or 
computer science, but that's not going to turn the average student into 
a John Nash, a Gustave Eiffel, a Frank Lloyd-Wright, a Vincent Van Gogh, 
an Eddie van Halen or an Alan Turing.  Of course, there are plenty of 
people that make a living at those occupations that aren't the towering 
persona's of the field, but having talent will get you good faster and 
having no talent means you're going to have to work hard to achieve 
mediocrity.

Now *this* thread has gone seriously philosophical...

Alan Gauld wrote:
> "Eric Brunson" <brunson at brunson.com> wrote
>
>   
>>> newbie-friendly. My only complaint is that I'm starting to feel 
>>> like I
>>> won't get much further than that without a computer science degree.
>>>       
>> I'll disagree with you on that, if you can get a PhD in genetics 
>> then
>> programming should be a snap...
>>     
>
> I'm not sure I agree. There is a reason that CS is a degree subject,
> and that you can get PhDs in it too. There is a lot of advanced 
> programming
> stuff that does need specialist training to *do it well*. Of course 
> you
> can do virtually anything with a buit of brute force. But without 
> actually
> understanding concepts like boolean algenra, lambda and predicate 
> calculii,
> algorithm design, finite state automata thery etc much will either be 
> inelegant
> or just cut n paste.
>
> I often see comments lie software engineering is different to other
> engineering because theres no mathematical basis. Thats plain false,
> and although the basis is less complete and certainly not a unified
> whole almost every aspect of programming can be validated and proved
> mathemaically. Programs can be designed and specified formally.
> But most programmers aren't trained. And those that are are
> discourageed from doing so because its quicker to "just hack it"
> As an applied mathematics man you probably know most of that
> stuff at some levelk. Not surprising since CS started off as a branch
> of math after all.
>
> BTW This trend has been true in almost every engineering discipline
> and the only thing that corrects it is when companies and programmes
> start getting sued and put in prison for writing faulty software. 
> (Just like
> civil engineers were when bridges started falling down, and Electrical
> engineers were when householders got electrocuted switching on lamps!)
>
>   
>> written and you *are* actually the smartest person in the room.  At 
>> that
>> point you have to look other places for your documentation, like the
>> source code or the RFCs.
>>     
>
> Absolutely true. Not good but its where we are.
> (And continuing the simile, the same is true in electronics, sometimes
> you just have to reverse engineer the circuit board! but you never do 
> it
> for fun!)
>
> (*)BTW My own position is that I majored in Electrical/Electronic 
> engineering
> but early on decided software was my interest so took every CS related
> class going. I also spent a lot of time doing background reading (and 
> still do)
> on the formal math side of CS - formal logic etc being one of those 
> areas where
> I have an almost constant learning curve.
>
>   



More information about the Tutor mailing list