[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