Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Does python suck?

Status
Not open for further replies.

marsd

IS-IT--Management
Apr 25, 2001
2,218
US
A lot of devs in my workplace use python for
multithreaded apps: I suspect because it's easier than learning a native C interface.
I noticed recently that python uses a global locking
mechanism(at least on unix) for base functionality.

I've also discovered that OO in python is no better than any other scripting language OO: that is it is a veneer over the
C core interpreter and parsing engine. That the provided IDE or interpreter environment for python is really substandard,
and that the heterogeneous nature of the language, while probably well intentioned, only complicates things for the procedural prgrammer moving to python.

In my opinion even C++ is more honest in practice than python.
 
I don't have your range of programming experience, but IMO this is a silly comment.

First, because the range of important and well-known applications where Python has proven useful demonstrate its relevance.

Second, because I don't think anyone has claimed that Python is particularly amazing in terms of number-crunching speed.

Surely the whole point of Python is that it provides a language where it is very easy to translate a concept into a working program, in a minimum of code lines and with very little debugging time needed. The language is thus necessarily very different from something like C++. The two languages have very different purposes.

Python is there to enable extremely easy coding, not shit-hot benchmark performance. C++ allows very good performance, but takes a lot more time to code and debug effectively. C allows even better performance, but is even more finnicky in terms of coding.

The end result is that you're faced with a trade-off: what's more important to you, getting a working program as quickly as possible or getting a program that performs at the highest speed? Clearly the devs in your workplace are interested in the former. They probably also want their code to be easily portable, and again this is more important to them than a speed hit.

As for your comment about the language being complicated for procedural programmers moving to Python, surely that's a problem of your personal mental flexibility, not Python's syntax. ;-)
 
Hi Marsd,

I have worked for 20 years in coding, design, maintenance and support (you don't know how "good" the language you are using is, until you take on support esp. overnight support!) - and I can tell you from personal experience that I have found Perl is better than Shell/Awk (which is better than C), and that Python is better than Perl in some respects e.g. much-easier-to-remember, comes-with-most-libraries-preinstalled etc. Of course, Perl has more libraries and a bigger user base. I myself use Perl more frequently than Python, because many Unix admins. have sadly not heard of the latter and do not have it installed, but have at least heard of Perl and hence keep it around. I have also introduced those of my colleagues who are technically-minded to both Perl and Python, and they liked Python more.

Re: the OO-ness of Python, OO is certainly not a panacea and if you don't want/need the OO part of Python, you can use it in a procedural fashion. Being more of a Procedural than OO Programmer myself, I can understand your pain in OO programming, but there are several good tutorials available.

The Python IDE can be a problem, but have you used Pycrust? It provides in-depth prompts as you type out the program, reducing the chances of error.

Re: the speed considerations - I think we are long past the point (at least in non-embedded environments) where microsecond-differences matter. So C takes x millisecs and Python 3x millisecs - both appear to be nearly instantaneous to the end-user in most cases. In the few exceptions where every millisecond counts, interpreted languages like Python wouldn't even be considered anyway.

Best wishes,

- Problemsolver
 
Google uses python. Find a search engine faster and more efficient than theirs and ill believe you. ;)

- Why didnt we just start out keeping things simple?
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top