Back in 2000 and 2001, I dabbled in Python for a while. It is pretty cool. But I make my living with Microsoft tools, so I have not really had alot of time to devote to it. It seemed easy to use.
At one point we used it as middleware between our MS SQL server and our web application (back in 2001) and at that time we had some issues with how flexible it was in dealing with MS SQL Server. It had some problems with return parameters from stored procedures. I believe I had to write the procedures so they returned the values as a recordset, then it was able to pick it up. At that time it really lacked a good interface to the SQL server.
On the upside, it processed large strings very fast!
Out of curiousity, do you think the problems are MS SQL specific or generally is python weak on DB's? One of my projects deals with DB's, so I'm curious to your opinion. The DB type interactions are likely to be simple, and perl has been great so far in that aspect. I've just read a bit about python, specifically by the author, so of course it will be flattering
Currently, the project I'm working on is string processing intensive, so python has been a pleasure to work with. I've done a good amount of work with Perl and sed, but its nice to have a bit more flexibility...
arnisador said:
I see this point. Yet, for us, it's the sole programming course taken by a variety fo science and engineering majors, and so I'd rather it to 'double duty' by teaching the concepts in a widely used language. If we teach them Python in CS I then they need to be taught something else later. I'm not sure we have the time in the curriculum to teach them a less used language that's good for the ideas, then a language in which they can do serious work using decades-old specialized libraries.
I'll agree on this point. I think C(++) makes a great entry point. I think however, some of the weak points in the language are covered very well in python/perl. Given the ultimatum of time for only -one- language, I'd probably have to chose C. That being said, in alot of my coursework a programming language was taught as a part of the class. I learned perl as part of a bioinformatics class for instance. Once you learn one or two languages, it's not too hard to move on to new ones.
arnisador said:
I don't know Python. But we're an engineering, math., and science college, and my understanding is that it's an interpreted language not known for its speed. While I know of books about doing scientific work in Python and packages like NumPy and SciPy for it, it can't match the libraries (like IMSL, NAG, and vendor-supplied BLAS) available for significant numerical work in C(++) or Fortran. I'd much rather we use a mainstream scientific computing language that people will actually use for serious work, not a newer language that someone thinks people should be using for it, but that currently lacks the same scientific software support.
Now, I'm not sure about performance of python in comparison to fortran, but I am aware of a large array of scientific computing packages for python. I've toyed with a few of them over the past few days. I'm sure there is not the same degree of support, but some does exist. I'd be curious to see some benchmarks for relatively common computations.
That being said, I'd have to agree. It's not in common use yet. Will it be? I don't know. I'm assuming there are valid reasons why its not (ie performance).