I hate python!

That’s it… I slightly feel better now. Sorry for the naive outburst of my temper. Move along.

34 Responses to “I hate python!”

  1. nacho Says:

    I hate it too!

    Anyway, can you tell us what your reasons for hating it are?

  2. Mathias Hasselmann Says:

    Hey, which snake bite you?

  3. Christian Kellner Says:

    I am totally with you here! ;-)

  4. Tiago Boldt Sousa Says:

    Still, Python loves you. You just have to be gentle with it.

  5. Andreas Skowron Says:

    why?

  6. sil Says:

    Guido hates capoeira, so you’re even :-)

  7. Stoffe Says:

    Haha!

    Well, anyone who likes it just stopped shopping once they found it so they don’t know better…

  8. simontol Says:

    ahahahahahahahahah ;-)
    Please don’t generate another flame…
    Explain why…

  9. Alberto Milone Says:

    What happened???

    Please, share the rest of your rant with us ;) .

    P.S. I love Python

  10. Marco Scholle Says:

    could you please give reasons?

  11. Rob J. Caskey Says:

    Turets?

  12. ANONIM Says:

    Why?

  13. Karl Lattimer Says:

    Dude! You can’t hate the snake, ride the snake, ride the kings highway baby!

    Sure I can understand some of pythons failings, but it does have some really good applications.

  14. MacSlow Says:

    @all: I hate it because being biased and coming from C and C++. Real experience with loosely typed languages I’m still lacking. That’s the sad but true fact. Add to this my unhealthy impatience with myself when learning new things and there you have the "perfect" reason for me hating python. Also might I point you again to the little word "naive" I used in my blog-entry. I certainly know very well that me disliking python at the moment is still due to the fact that I’m still within the initial learning-curve :)

  15. FelipeC Says:

    I passed the learning curve and I still don’t like Python.

    I also come from the C realm, and I found out Ruby much more pleasant than Python. In fact I fell in love with it. Perhaps if you build a C extension for Ruby you’ll feel more at home getting a grasp of it (it’s uglier in Python).

    There’s also lua. It’s gaining a lot of momentum and it gets along very well with C.

    P.S. Could you please make your id image more readable? And perhaps keep the contents of the reply between reloads. (It’s annoying to write the same thing again.

  16. ruby-lover Says:

    I love ruby too. http://ruby-gnome2.sourceforge.jp is the alternative to pygtk

  17. Ryan Pavlik Says:

    It’s definitely a different experience from c/c++: in my case, I overcame Basic/VB experience, and so I like how Python works. Switching back and forth from that to C++ definitely takes some mental stamina, and results in exciting cross-language coding style.

  18. mathew Says:

    Yeah, Python is Ruby with more ugly. And if you need more speed than Ruby (which is about to get 2x faster with the new VM), use Lua.

  19. Mark Ramm Says:

    Felepe, have you looked at ctypes? I think it makes writing c extensions for python awfully easy. I like both Ruby and Python, but it seems the Ruby people are always running around pointing at flaws in python that don’t really exist.

    The two languages have made different choices, and perhaps Python’s pragmatism beats purity philosophy means that Python isn’t always as pretty as Ruby. But when it comes down to daily work I get things done in python more quicly than in Ruby. This isn’t an objective judgment. I know I’m faster at Python because I know Python better, because the libraries are more mature, and because Python just fits my into brain easier. For example, Python lists are much simpler than Ruby arrays (python lists have 9 methods vs Ruby’s 80+), yet I can still do all the same stuff.

    I think less stuff to remember for the same feature set makes python easier to learn.

    I like Ruby’s blocks, and I think some parts of Ruby are definitely prettier than Python. But I’m tired of Ruby advocates’ dismissive attitude, and failure to actually do their research into the best ways to do things in Python. Too many people criticize Python for things that haven’t been true for years — such as the "ugly" the C extension mechanism (hasn’t been true since C Types) or the "type class distinction" (hasn’t been true since python 2.2).

  20. ken Says:

    I hate Python too!

    At least, some days. Other days it’s cool. When I’m feeling down I just go try to write C#. After about 5 minutes of that Python doesn’t look nearly so bad.

  21. ben underscore Says:

    i don\’t so much hate python as find it irrelevant … if i want to write hacky data management scripts i use perl. if i want to write web apps i use php or perl. if i want to write enterprise database applications i use java and oracle pl/sql.

  22. lgespee Says:

    Try C# for some time, you\\\’ll like it.

  23. Luke Says:

    I have a love/hate relationship with Python. On the one hand it can do pretty much everything, the libraries are extensive, its quick to write programs and it can be integrated with C++ using Boost::Python. The syntax isn’t too bad either, generally.

    The stuff I hate about Python:

    1. Member variables are public by default. This just promotes bad code and a complete lack of encapsulation.
    2. What is the deal with "self" ? In each program I write, at least a quarter of the lines contain the word self. I dread to think about the time wasted typing that word over and over again.
    3. Indentation, one of the "seems like a good idea, but not really" things. It does promote a standard layout for code. But it has a couple of problems. Firstly, if you are working in a team, and some guy uses an editor that has spaces instead of tabs, and another guy has tabs instead of spaces. You get all sorts of weird bugs coz of indentation, then you have to ‘find and replace’ the whole bloody thing. Secondly, sometimes there is a cleaner more readable way of laying out code that just strict indenting.
    4. Interpreted languages suck. Compilation really does find a lot of typos and minor errors before you even run the program. I’ve known large projects where the thing has "gone live" before crashing with a typo (granted you can blame testing here, but you don’t have to worry about this kind of thing in compiled languages)
    5. Dynamic Typing doesn’t make sense to me. At any time you need to know the type of a variable. You cant perform arithmetic on None for example. So you resort to checking the type before the line of code, which is more work which doesn’t have to be done for a statically typed language.

    For me Python is a very good language, but it’s not a perfect language. What we need is a language that takes Python’s strengths, and is statically typed and compiled. C++, Boost and STL nearly does it for me, but let’s face it, the syntax is a train wreck.

    I’m hoping D will bring me what I need when it becomes more mature. Who knows.

  24. FelipeC Says:

    Mark: I replied to you in my blog: http://felipec.wordpress.com/?p=115

  25. Matt Says:

    I hate Python and I don’t even code in it…

  26. Laterix Says:

    I’ve been learning Python too in two past weeks and I have to say that I love it. I have experience on Java, C, C++ and PHP. I like python, because as most of the high-level languages, it allows me to concentrate to the design. I don’t need to spend time on irrelevant things like memory management. Of course, there are fields where memory management is very important, but most of the time, I find it irrelevant. I agree with Luke about dynamic typing. I can’t see it’s benefits, because, as Luke said, you always have to know the type of the variable. Strong typing and better code capsuling would make python even better.

    Also, as fas as I know, python is a completely free. Because of this it can be delivered with Linux distributions and users doesn’t need to install any extra stuff to get their applications to run. This is not the case in Java at the moment. User needs to install run-time environment. This might sound a trivial task to us who program, but I’m sure that avarage user doesn’t even know that he/she needs some kind of environment.

  27. Trejkaz Says:

    Python is basically for people who haven’t discovered Ruby yet.

  28. Jens Says:

    Hey MacSlow,

    A Little update from Denmark. As I told you earlier I was planning on
    doing a lowfat + multitouch table implementation. Well the time has
    come, when I had to do it, so basically I took a long look at your code,
    used about 3 hours, and then it worked.
    I’m amazed, I’m not a really an amazing programmer, so the
    implementation is probably not good enough yet, and I would like to have
    it working much better.
    Furthermore it is written in C (mostly), so there are no classes, which
    is not the way I want it. This implementation is more a proof of
    concept. I have not tried it out on a real table yet, but did it with
    some videos. I believe it works with every webcam (at least it works
    with the two webcameras I have at home), working under linux.
    I only implemented one finger (actually two but I am not sure it is
    working) working right now, but the way you created your program it
    seems relatively easy to add more fingers. The program will crash if the
    brightness is to high on the image that it is trying to scan through,
    sorry have not found a way to fix it, but then again have not used that
    much time implementing.
    Here is the link to the source code, and a small video:

    http://dlai.jafu.dk/videos/lowfat-mtti.ogg

    http://dlai.jafu.dk/files/lowfat-mtti.tar.bz2

    The lowfat code is a git clone from thursday 31/5/2007. You will need to
    install opencv dev files aka. libcv-dev on debian/ubuntu.

    Well I hope everything is good at Fluendo (man, I envy you!), and you
    have learned to love python a little more ;)…

    Best Regards,

    Jens

  29. buzz_lightyear Says:

    why do you hate it?

  30. nina Says:

    I hate Python! I hate Python! I hate PYthon!
    I can not believe how stupid this language is! It is not intuitive at all! Its documentation is so bad.
    I am trying to learn it to use for ABAQUS scripting and am so angry with it. I am ready to throw my computer at the wall.
    It is such a stupid language, I hate it, I hate it, I hate it… arrrrrggggghhhh!!!!!!!!!!!

  31. Abaqus Snake Says:

    I too learnt Python for us with Abaqus … and it makes me mean moody and angry….arghhhh!!!!

  32. ATML Says:

    So far I’ve been learning Python and what I see is a bunch of people saying it’s good without any legitimate reasons as for why to learn it. Basically it’s only OKAY at Web Scripting, at everything else it is horrible crap.
    A Couple examples as to why Python is worthless:
    Can Python make a GUI email application? Yes it may but you have to go on a wild goose chase to find some 3rd party module that will do one thing. [1]
    Can it compile (a) source code into an executable? Yes, but it must create a directory which contains the exe, library, dat file, another exe for platform, ect, ect. Just a bunch of junk that’s included.
    Is Python fast? It’s alright but not that great.
    [2]

    So to sum it up, I recommend beginners stay away from Python, and Python sucks.

    [1] = ‘What’s with all the Py[namehere]’s and all those nonsense addons and crap? Why can’t it just be bundled up, as I said there’s a lot of addons and 3rd paty modules.’
    [2] = ‘There’s more reasons then what I have supplied.’

  33. Joe Programmer Says:

    I hate python too.. I typed “I hate python” into google out of hatred of python. It’s a completely ill thought out language.. I think Guido had a bulb go on in his head “whitespace = syntax” and then started coding. Python didn’t initially have nested function or objects, they were tacked on later.. meaning python was like a scripty pascal with meaningful whitespace. It pains me to hear people say python is like lisp, when python didn’t have working closures until the introduction of the nonlocal keyword in python 3000 (how much more ill though out can a language get when you have to introduce a keyword to forcibly _not_ define a variable). And I hear Guido talking about how useless lambda is and wanting to take it and map/filter/reduce out (they weren’t written by Guido btw, they were contributed).. of course lambda is useless.. when the whitespace syntax limits lambda to one line and when you don’t have working closures! *sigh*

  34. Snake hater Says:

    Hell… why do so many games use this worthless piece of steaming, bad performing dung to describe game logic?

    Tracking errors in Python is a pain in the rear already, especially when some unexpected, odd error occurs in the deconstructor. But it being black boxed in some “major blockbuster” game in most of the cases makes it even worse!

    Right now I am pulling my hair out and I will be bald by the time I am done with “black box scripting” :mad:

    I am sure this scripting language is excellent for very specific tasks, but it sure is not suitable for anything that requires non-blocking execution… let alone game logic!

    Honestly… I’d like to spank all those moronic, black boxing “technical directors” for choosing this language over anything strongly typed!

    Curse you, technical director!

    Ah… i feel much better now!

Leave a Reply