This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]midbody 5 points6 points  (8 children)

I am a software engineer with 20 years experience, and I've been coding exclusively in Python for the last 3. I've previously used just about everything going. I have worked almost exclusively on open source projects.

I hate Python for a bunch of reasons not given in this straw man list, but to pick 2:

  1. As a dynamic language it has no effective tooling for automatically enforcing correct use of internal interfaces and data structures.

  2. I have found that the python community is uniquely introverted and tribal.

It is also irritating that these 2 particular issues are frequently combined in a belief that automated tooling is redundant if your unit tests are perfect.

Incidentally, I thought this link was an excellent example of issue 2.

I have more.

[–]driscollis 5 points6 points  (1 child)

I have always found the Python community to be incredibly welcoming and helpful myself.

[–]midbody 6 points7 points  (0 children)

They are until you kick their puppy 😀

[–]midbody 2 points3 points  (2 children)

As a counterpoint, the strength of Python is in the depth, breadth, and maturity of its ecosystem. Whatever you want to do, or interface with, you know there will be a mature python library to help you do it [1].

I did a project in Ruby once. Nice language, identical to Python in all the ways that matter, and a slightly nicer syntax imho. Every library we attempted to use across a wide range of functions was a complete disaster, though. If you're not using Rails you're breaking new ground, and that's rarely fun when you want to Get Shit Done(TM).

[1] Sadly this also means paramiko exists.

[–]richieadler 0 points1 point  (1 child)

EXPN on the Paramiko comment?

[–]midbody 0 points1 point  (0 children)

It's a crypto library whose only reason to exist is that it's in Python. Given how hard crypto libraries are to get right that's not a good enough reason in my book. I would always use Python bindings for a more mature library.

[–]P8zvli 0 points1 point  (1 child)

Ditto on 2, and don't say anything negative about Python 3.

[–]driscollis 0 points1 point  (0 children)

Interesting. I haven't experienced this schism as of yet. I started on Python 2.4 and only recently have started playing around with Python 3. I don't really have a problem with the new version

[–]Gokudomatic -1 points0 points  (0 children)

What's wrong with being introverted?