macquigg at ece.arizona.edu
Mon Mar 31 21:45:26 CEST 2008
At 10:50 AM 3/30/2008 -0700, you wrote:
>My dept chair finally agreed to let me have an hour to present Python to the math dept during our staff development day last Friday. I knew that an hour wouldn't be enough, so I wrote a manifesto : ) which is attached.
Excellent!! I'll pass this on to the faculty at our community college. When I suggested Python a few months ago, the reaction was - Oh God, not another language! We've tried C, Java, QBASIC. Our students just can't handle it. So they switched to ALICE!!
I like your comments about the status quo:
>Many people think of technology as something that programmers create for us, that programmers should just do their job while we kick back and play with, or 'use', what they have created. We, the users, shouldn't have to worry about programming itself, as, after all, that's what 'programmers' get paid to do.
>This is what is happening in the sciences these days. Scientists cannot rely on already existing software packages to be able to express the ideas they are working on. What they need is an easy to use language that is also robust. For many, Python fits the bill.
I would add "engineering" and maybe some areas of business management as well. As a circuit design engineer, I can say this description fits perfectly what I have seen.
Modern IC design is so complex, all we can do is rely on professional programmers to provide us with the tools to simulate our designs. Big companies, like where I worked, have entire departments with as many as 30 programmers working full time for just the engineers in that one company. Smaller companies have to rely on what comes with the original software, which is often poorly written by programmers who don't understand what circuit designers need, or just don't have time to provide all the options needed for every design problem.
The Monte Carlo analysis, for example, was just awful - menus and forms with poorly documented options, and results you could never trust. In the time it took to "experiment" with the tools, and try to figure out what they really did with my circuit, I could write my own Monte Carlo analysis, and that is what I wanted to do. I even sketched out a bit of pseudo-code (was not aware of Python at the time).
I felt handicapped by the tools, and very frustrated. Engineers can understand algorithms, and they can easily read and modify a program written in Python. They just don't have time to keep up to speed in Java or C++, or to learn the proprietary languages that most of these tools are written in. What they really need is a framework in which the circuit-analysis "engines" may be written in C, but the controlling scripts are written in Python. Instead of trying to provide every possible option for a Monte Carlo analysis, just give us a script that runs the engines to do a basic analysis. Thank you, we'll take it from there.
Keep up the good work!!
More information about the Edu-sig