I'm going to add another favourite Python story that i forgot to include in my first comment.
A couple of years after i first learned Python, i took a software engineering class as part of my engineering degree at the University of Waterloo. The purpose of the class was to teach us how to manage and complete a large software project, so large that it would require multiple people to develop and would require some advance planning and project management to get it done on time. The project we were assigned was to develop a PBX — a telephone exchange with twenty phones that could dial each other, a limited number of touchtone receivers for decoding the dialed touchtone sounds, and a limited number of audio channels to be allocated for connecting phone calls. The job of the PBX was to keep track of the states of the various phones and to connect them to the touchtone receivers and channels, produce busy signals when necessary, and so on.
This project was supposed to be implemented in C++ and to take about four weeks to be developed by a team of three or four programmers. I asked for permission to work on the project in a two-person group, with my friend Tyler Close. I was by this point convinced that it was a good idea to program just about anything in Python, and managed to persuade Tyler that we should prototype the PBX in Python even though he wasn't that familiar with it and even though we would eventually have to do it in C++.
We got together one afternoon to work on the project. We decided what we needed to do, divided the project up into modules, and started coding. Tyler picked up Python fast — very fast. Three hours later, we had a complete working implementation. We translated the Python script into C++ almost trivially, line for line, and we were finished. I had expected working in Python to be fast, but even so i was amazed that we were already done. Just like that, my plans to work on the project for the rest of the four weeks vanished.
I just went through some old files and found the Python program, with its Tkinter GUI for testing and dialing the phones, and it still just works today.
I still recall that project as one of my most productive and pleasant programming experiences ever. Unfortunately, we failed to learn anything about managing a long-term project because the project was already done before we had a chance to do any project management. :)
Thank you, Guido, for this and many, many other productive and pleasant programming experiences!
Flat View: This topic has 54 replies
on 55 pages
[
«
|
353637383940414243
|
»
]