Python evangelists unite!

Peter Milliken peter.milliken at gtech.com
Mon Dec 3 23:37:38 EST 2001


I am only writing in this thread to gain information myself :-). I have strong opinions (formed over 2 decades of being involved in software production) but am always prepared to learn from others experiences and opinions. So there is no offence taken :-)

I would (invariably :-)) choose Ada for a full scale production programs. It is a language that embodies support for many of the software engineering principles, has all of the "mod cons" such as OO etc and was intended for real-time applications - so it is fast! But as I mentioned in other responses, this is not "black and white". Python is my preferred choice of scripting language (I have only ever used awk) and if the job demanded it then I would quite happily integrate Python into the program so that it and Ada where doing appropriate parts of the job. 

My last 20 years I spent in defence doing embedded systems (simulators, procedural trainers, train control systems, weapons systems). Surprisingly there is very little call for manipulation of information such as strings etc (something that I use Python to good advantage for). Similarly, there is very little need for maintaining information in "lists of things" (another place where Python shines). In fact I have seen people work on defence projects for 10 years and never even learn how to do I/O to a user in the chosen language i.e. string I/O because the problem being programmed contained nothing like that. I have years of experience in C/C++ (not so many in C++, but enough :-)), Ada, some small amount of Java (my second preference if I couldn't use Ada - but it is interpreted, so it is *slow*), assembler, some Fortran and Pascal/Modula-2. Outside of these languages, I can't comment (and don't pretend too :-)).

So Ada would be my choice, but as I said, if someone has any experience to offer up then I am more than happy to consider it and learn from it - I have Steve McConnell's Code Complete on my bookshelf - I wished he had written it 20 yrs earlier, it would have saved me some "lumps"! :-)

The software industry is (IMO) a very immature industry - it can't be called an engineering discipline because I have rarely seen any examples of true engineering principles applied (I am not talking about writing a program to meet customers needs, but rather the framework of the software organisation i.e. why did the company choose Java for this project - is it because a study was performed on available languages and Java won out due to best features? or was it because the chief architect wanted to learn Java for his resume? :-)). It strikes me that software engineering is still very much a "cottage industry". Good programs are written by good individuals, rarely do you see a software shop put out a good program using average or sub-standard programmers, it always comes down to a few individual "heroes" (hence the drive for CMM - another silver bullet :-)). Look at people's reaction to code review - they learn it in college don't they? It is taught as a "good practice", but as soon as they get that piece of paper and get out in the "real world", amongst "real programmers", then horror of horrors - "You want to review *my* code?" "You want to *criticise* my creative talents?" They approach the entire exercise with fear and trepidation :-) Personally, I like others to review my code - it helps me become a better software engineer! (But only if they put the time in!).

Hope this answers your questions.....
Peter

"Peoter Veliki" <peoter_veliki at hotmail.com> wrote in message news:mailman.1007077727.20252.python-list at python.org...
  > I use Python as a good, quick and dirty hacking language. For real (read
  > production) stuff that I expect a customer to run or will require more than
  > a single person working for a couple of hours, I look elsewhere :-). 

  What do you use for production?  I'm just curious, not challenging your opinion.  Is there an interpreted language that you would use before you would use Python?  Perl?  Or would you stick to compiled languages for production?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20011204/5c537970/attachment.html>


More information about the Python-list mailing list