[Tutor] Shelve del not reducing file size

Alan Gauld alan.gauld at btinternet.com
Fri Jul 27 21:33:53 CEST 2007

"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 
stuff that does need specialist training to *do it well*. Of course 
can do virtually anything with a buit of brute force. But without 
understanding concepts like boolean algenra, lambda and predicate 
algorithm design, finite state automata thery etc much will either be 
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 
for fun!)

(*)BTW My own position is that I majored in Electrical/Electronic 
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.

Alan Gauld
Author of the Learn to Program web site

More information about the Tutor mailing list