From: claird@... (Cameron Laird) Date: 2004-07-22T03:07:21+09:00 Subject: Re: VB(ish) replacement In article <87isci8kho.fsf@pobox.com>, John J. Lee wrote: >Dave Boland 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: > >http://www.google.com/groups?threadm=87u12z90eq.fsf%40pobox.com&selm=D87u12z90eq.fsf%2540pobox.com > > >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 >gap > > >John 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 past ... 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 other languages.