19 April
2006

I have been using python for about 4 years, since my sabbatical in Palo Alto. I started teaching it in a systems programming a year or two after learning it. While initially I was a bit concerned about both how stable and healthy the language would be, and how well it would be accepted. Well, python is clearly becoming a very prevalent and popular language.


The students in my class really like it. In 15 years of teaching, I
don't think I have seen a language embraced this enthusiastically before.


Why is it so good? I think the manner it enforces indentation helps. I think the fact it's a scripting language helps. Also, there are a few data structures and operators are well delivered and that have a huge impact. In particular, I think the support for
slicing and dictionary (hash) data structures are really important. Type conversion is done well.



Python does have flaws and limits:



  • For large projects, the flexibility it allows can faciliate hidden
    bugs.
  • It does less compile-time analysis than langauges like C, Java, and C++ so there is a greater risk of obvious bugs being hidden
    undetected in code paths that haven't be tested. This is a serious issue for a big project.
  • A problem with object-oriented langauges, in my opinion, is losing track of where things are inherited from (and this is even worse with multiple inheritance). Python allows a constuct of
    the form import XX from YY where the name XX
    can be used in a module without a qualifier [i.e you can say XX(3) instead of YY.XX(3)]. This can make small modules a bit easier to write, but it's a really really bad idea if you want to create maintainable code.

By Gregory Dudek at | Leave a comment |    
Comments
There are no comments.
Trackbacks
Please send trackback to:/blog/1/tbping
There are no trackbacks.
Post your own response

Each comment is manually screened for the presence of appropriate and substantive content, due to a constant onslaught of comment-spam. This means there may be a delay before your comment appears.


(Some kind of name is required, will be visible)

Required, whatever you enter will be visible to other users.


(Optional, used for "mailto" link)

Your email address is not required, but if you insert it it will be displayed so people can contact you.

Answer this question correctly to demonstrate that you are not a dumb spambot.



The title for your comment.



Your comment goes here. All relevant comments are welcome, except for those that simply promote an irrelevant product or else are used to fraudulently inflate the link count to an irrelevant web page. They appear after moderation. Don't forget to also fill in the captcha below or your text will be rejected automatically!

You must answer this question to prove you are human
which has the least friendly public image: 1:collie, 2:beagle, 3:doberman, 4:dachsund, 5:dalmatian?

Answer this question correctly to demonstrate that you are not a dumb spambot.