Stuart Turner <[EMAIL PROTECTED]> wrote: > "Python is a scripting language like Perl, awk, tcl, Java etc...
It is difficult to say whether Python is a scripting language or not until you define what you mean by "scripting language". People throw the term "scripting language" around with wild abandon these days. As far as I can tell, what they usually mean is something like, "It's not C++", or perhaps somewhat more generally, "It doesn't fit the compile-link-load-execute model I learned in college 20 years ago". > it is not quite a fully developed OO language Ask the guy in what way he thinks it's not quite fully developed. My guess is he doesn't really know, or perhaps will latch onto something like "it doesn't have private data". That is true, but only partially so. And for people who are hung up on that, you can point out that it's also only partially true about C++. Some people have been working with C++ and Java for so long they have started to think that "OO" means "The way C++ and Java do things", which pretty much means static typing and complex access control models. It doesn't have to be that way. > To be clear, these scripting languages have their place in our > environment, but they are not full replacements for C#, Java, C, etc... With this I am in complete agreement. A good craftsman keeps a wide selection of tools at his or her disposal. Each is useful for some tasks, can be pressed into service for many more, and is utterly wrong for others. > because they do not come with the full range of libraries e.g GDI > libraries. No language has libraries for everything you might ever possibly want to do. Python has a wide range of libraries for many common tasks, but my no means all. Still, if it comes down to "language X has a good library for what we need and language Y doesn't", that will often be (and rightly so) the decision maker as to which language to use. > Python has to be compared to Perl, Awk in order to evaluate it. Comparing Python to Perl makes a lot of sense, but comparing it to Awk is absurd. What Awk provides is decent flow control (including an implicit read-match-execute outer loop), excellent pattern matching, automatic memory management, implicit string-numeric conversion, and associative arrays. Packaging all this up in a handy to use form was a great advance, and the features it provides are well suited for a large class of data reduction and text processing tasks. But, Awk has no OO features, is not extensible, has poor error handling, and provides no system access. It doesn't even have subroutines. It is, with some minor exceptions, a "read one input stream, process it in a single pass, write one output stream" text processing scripting (there's that word again) language. If you want to compare Python to other roughly similar languages, I would include Perl, Java, Tcl, and Ruby. If this guy thinks comparing Python to Awk makes sense, he either has no clue what Awk is, or no clue what Python is. BTW, comparing Java, Tcl, or Ruby to Awk would be equally absurd. > Essentially any language with a pointer can claim to be OO, And Perl is the proof of that statement!
-- http://mail.python.org/mailman/listinfo/python-list