Hacker News new | ask | show | jobs
by nromiun 299 days ago
> Python is not my favorite programming language. In fact, allow me to drop the euphemism and express my pure, unadulterated thoughts about it: I never liked Python, I see it as a huge red flag and I think the world would be a better place if we all decided to finally move on from it.

Why do people make hating a tool their entire personality? I have noticed this same thing with languages like Go ("oh no Go still bad") and C++. I don't like C++ myself but I don't hate it. It would be like hating a screwdriver.

If you don't like a language simply don't use it, there are hundreds of alternatives. If your employer is making you write in that language you should hate your employer, not the language.

14 comments

If you do carpentry and you've previously lost a finger using a saw without a saw-stop, and now table saws with saw-stops are an option, you might rightly hate using table saws without one, to the point you wouldn't be willing to work at a shop that forces you to use one.
Whose forcing you to work at an unsafe shop?
The commenter above asked why people hate tools and compared it to a type of screwdriver ("It's not the tools fault, just use the proper tool")

My point is that get hurt by tools that have footguns, and they realize there are superior tools that don't have the footguns, they may come to hate the tool that they cut themselves on

Sorry, I understood but I'm not sure if the analogy is falling apart. My point was that's okay to use a language and determine it's not for you. It's even fine to write a blog post or two with your learnings and takeaways to warn others. It's not okay, as the gp put it, to make hating the language your entire personality.

This problem extends to other domains as well, I'm not sure why as a society we tolerate other people forcing their beliefs on others when they are not being put in harm's way.

If you don't like a language and are going to turn down a job because if their chosen language, that's fine. If you choose not to use a product because of the underlying technology, also fine. It's not fine to demand everyone see things your way and demand they do the same.

your landlord.
You left out this part:

> The reasons behind this choice of employment are very much unrelated to the technology stack.

Programming language isn't the only factor for employment. People don't always get to just change jobs when an aspect isn't ideal for them.

On top of that, python is ubiquitous in some sectors. It's not as easy to avoid as a lot of other languages.

> Why do people make hating a tool their entire personality? I have noticed this same thing with languages like Go

It runs very deep for some people. "That's not Pythonic!" or "That's all unreadable line-noise!"

It becomes a kind of language bigotry similar to English-speakers hating a foreign language. And yet, as you rightly say, these are just programming tools.

I suppose that when humans invest in any type of language, they form and protect the orthodoxy.

Their entire personality, really? You got that from a single paragraph from a blog post?
I know why. People can hate tools if the tools are frustrating to use. The frustration causes anger and hate.

I know this is hard to understand for logical genius savants like you. A lot of HNers are like that and don’t understand human emotions.

> If you don't like a language simply don't use it, there are hundreds of alternatives. If your employer is making you write in that language you should hate your employer, not the language.

I think this is tricky. I work in the world of data and, although I like python fine, I'd find it very hard to find a role in my field that doesn't involve, if not working in python, then at least integrating very closely with work data-scientists produce that's in python.

Some languages just have a big dominance in their field. Python has that for data, and javascript for front-end.

Realistically there is only so much mindshare available, especially if you like the kind of language that benefits from extensive tooling. I miss the days when my preferred language was the #1 option in some spaces and had two first-class IDEs available; my life is genuinely worse now that that's no longer the case.
Humans have a very strong tendency to identify with certain groups (while distancing from other groups).

This is just one such example and it's similar to how group dynamics with sport teams and politics work.

You haven't used many screwdrivers if you don't hate some of them for stripping screws, slicing your hand etc.

Likewise, other ones exist that make jobs super easy - be they having a ratchet, or quick change of bits, etc

Programming languages seem to be a pretty good parallel. Though, I don't see why Python in particular would be hated. It has its bullshit, but it's workable.

I have used many of them. Some of them are easier to use but all of them were useful at some place and time. I still don't understand how anyone can hate a tool. Dislike maybe, but some people really hate some tools with a passion.
This comparison doesn't make much sense. When a person chooses a language for their project it implies a long term commitment. And all the headaches that follows for years to come. It's unlike a screwdriver, which can be easily replaced in the matter of hours.
I pretty much hate any screwdriver that's not a Robertson.
Eh, I wrote a lot of python back in the day, and it was pretty miserable experience back in the pre-2.6 era. If you had to use it for work, there was a pretty good chance you'd try to steer away from Python on your own time.

Modern python is a much better language across the board, even if the packaging/deployment story still needs some love

> It would be like hating a screwdriver.

I hate Philips screwdrivers (but love JIS).

Exactly!

Both Python and Ruby are screwdrivers.

In my highly opinionated opinion, the parallels are:

  - Flat head: Perl. Functional, and revolutionary at the time! But awkward to work with.
  - Phillips head: Python. Awesome improvement, much easier to work with. But still annoying in frustrating ways.
  - JIS: Ruby. A further refinement that resolves the last annoying 5% of work. (Well, OK, resolves 4 of the last 5%) ... (Also Japanese, coincidentally?)
... and in the real world, when you don't get to choose, you almost always find Phillips/Python. Better is good enough. :)
Someone once said,

"Ruby is Scheme mated with Perl in such a way that the best genes of both failed to exert a phenotype."

For internet points!
Especially strong from someone using Ruby, which is basically Hipster-Python.

/s

> Hipster

Is it 2007 again already?