"ccc" <[EMAIL PROTECTED]> said: >I *am* a Perl fan, but after having looked at scripts someone else >wrote (who is no longer with us) with a view toward updating them, I >have concluded that a quick and dirty scripting language in someone >else's idiom isn't a very good choice institutionally. Which is why I'm >looking at OO Perl.
This tells a lot more about the original author of the scripts than the language used. I'm seeing unmaintainable code written in pretty much any language. Java (and in some ways, especially JSP in the web side) is no cure for that. Having said that, it may be easier to write unmaintainable Perl than unmaintainable Java. The key is to educate (and to a certain limit restrict) the programmers on what kind of code is acceptable to write. And this work I think is not that dissimilar between different languages. Also, OO is not a magic bullet in making code readable. At worst it gives the programmer a couple of extra levels of indirection to use just to complicate the otherwise streamlined program. OO is good where the data used naturally forms nice object relationships, but there are a good number of cases where this does not happen (or at least the relationships do not help that much in solving the actual problem). If you really, as you mentioned somewhere, want an all-around-language, then Perl might be your best bet. Java is nice for web applications, however I wouldn't use it for sysadmin stuff (or, it could be used for part, but part is that you need an one-off tool; something you cook up fast and use once or twice -- or a quick modification for the existing tools). Also, much of sysadmin (esp. on Unix side) is processing various text formats, which is one of the great strengths of Perl. It's not just regexes (which finally are available in Java as well), but overall facilities of the language. Then, regarding the performance/efficiency; yes; there are cases where use of C is justified for performance reasons. This performance comes at a cost of programmer productivity (and possible higher rate of certain kinds of errors). Also, in higher-level languages the libraries are getting pretty-well tuned at least for the general case, so it may well be that much of the general routines you find in the library of a given language are of better performance than something you yourself cook in C. Another area where C would be useful is for making the necessary glue to access some backend system (for which only C interface library is provided) in the higher-level language of your choice. A good example of this are the various database connectivity modules in Perl (part Perl, part C; linking to the database client library code). So, overall: - you're a Perl shop - however have lost some of your assets (knowledgeable personnel) - one problem may have been too great independence of the developers, and lacking maintainability guidelines for the created code - making the hop to another language would be a major hurdle (possibly giving major gains, though) - could the same potential gains be realised without doing the language hurdle? Potentially yes; but would require more-or-less redesign/rewrite of the whole current environment, so a major hurdle anyway - does the current language limit what you can do - doesn't seem so - what would be gained by another language? For some other languages it could be easier to find developers -- however, finding competent developers appears to be hard for any language (competent defined as "able to produce code that is maintainable in the long run") ... so, all in all, I wouldn't be that eager in shifting from the current. Java/JSP (and higher-level frameworks built on top of these) could be good for web side - but these require quite a lot of knowledge to do properly (just plugging things from a full Java/J2EE toolbox to solve your problem could well give you nothing else but horrible performance problems -- whereas proper use of J2EE technologies could give you a somewhat elegant solution). Apologies for omitting completely Python, Ruby, and MS technologies; I don't know enough of them to do any comparision. -- Wolf a.k.a. Juha Laiho Espoo, Finland (GC 3.0) GIT d- s+: a C++ ULSH++++$ P++@ L+++ E- W+$@ N++ !K w !O !M V PS(+) PE Y+ PGP(+) t- 5 !X R !tv b+ !DI D G e+ h---- r+++ y++++ "...cancel my subscription to the resurrection!" (Jim Morrison) -- http://mail.python.org/mailman/listinfo/python-list