[Tutor] xlwt & xlrd: can I refactor this code better?

ALAN GAULD alan.gauld at btinternet.com
Thu Jul 23 10:42:22 CEST 2009



> Btw, I see that you're the author of a Python book. I am using Python for my 
> work as a researcher. Should, in your opinion, the learning strategy for 
> somebody like me vis-a-vis somebody who is becoming a professional programmer be 
> very much different?


Not in the early days. The art of programming is basically the same 
and a good program is a good program. However a professional should 
study a lot more supplementary material, such as the math theory 
behind programming (predicate and lambda calculii for example, 
set theory, graph theory, statistics and geometry are all fundamental 
programming foundations). Also because professionals typically work 
on much bigger projects (eg the smallest professional project I've ever 
done had 6 people producing 50,000 lines of code in over 70 files, the largest 
was 450 people, 3.5million lines in 10,000 files) they need to better 
understand the use and value of automated build, test and configuration 
tools.

Finally professionals need to understand how to design programs and 
systems, they need to learn the indistry standard notations such as 
UML, ERDs and DFDs etc. They need to know about coupling and 
cohesion  (not just the concepts but how to measure them empirically)
as well as things like deadlock, race conditions etc... They need a 
much deeper understanding of the OS and computer hardware, of 
networks and comms, and so on. In essence they need to really understand 
what they are doing rather than just finding something that works - or seems to... 
This is why professional software engineers have degrees in the subject!

So in summary a casual programmer who just needs to build something 
for their own use (or maybe a few colleagues) doesn't need the breadth 
or depth of a professional who will be building mission critical (even 
safety critical - think Space Shuttle!) systems, often used by thousands or 
even millions of (often untrained) users.

Regards,

Alan G.


More information about the Tutor mailing list