claird at lairds.us
Wed Jul 21 20:05:24 CEST 2004
In article <87isci8kho.fsf at pobox.com>, John J. Lee <jjl at pobox.com> wrote:
>Dave Boland <NOSPAMdboland9 at stny.rr.com> writes:
>> What they seem to be looking for is:
>> 1. High level language, but not necessarly VB compatible.
>> 2. OOP
>> 3. Reasonalble learning curve
>> 4. Cross-platform
>> 5. IDE and ability to graphically design windows.
>> 6. Distribute programs as .exe's, so some sort of compiler needed.
>> 7. Serial communications library (RS-232, 485, USB)
>> 8. SNMP library
>> 9. Good performance (not expected to be as fast as C/C++)
>> 10. Windows are native to each O.S.
>> 11. Database support of Access and MySQL
>> It looks like any of the three languages have most or all of what they
>> need, but I don't use scripting languages enough to give a good answer.
>Can't speak for Ruby, but I'm fairly sure both Perl and Python do fine
>on all points but 3.
>Python does fine on the remaining point. Perl fails *badly* here:
>I've used a fair number of programming languages. Perl is the only
>one I'd unhesitatingly call 'pathological'. And I do speak as an
>admirer of the language: before Python was around and well-supported,
>it served an important purpose. Now, though, it fills a much-needed
I'm going to complexify the story slightly: I'm unconvinced about
the health of the SNMP facilities for Python and Ruby. On the other
hand, VB's offerings in that category also didn't impress me in the
It's possible some or all of this has improved a lot in the last
year. I personally wouldn't mind working with SNMP under Python,
because I'm confident I can get it to do what I need. It might
frustrate a newcomer, though ...
Moreover, I perceive incoherence in the combination of 4., 6., 7.,
and 10. When you talk about ".exe-s", I wonder what "cross-plat-
form" means to you. Similarly, you really, *really* don't want to
be thinking about USB and such; with any concern for cross-platform
maintenance, you just want to read to and write from serial devices.
My first instinct would be to choose Tcl. People are doing this
sort of work happily with each of Perl, Python, Ruby, Tcl, and even
More information about the Python-list