Hate is a very strong word that I choose not to use for libraries, APIs, design, language.

There are two primary reasons for this:

1. These are just abstract concepts. Hating them brings no benefit. It will only eat me up from inside.

2. I may have to deal with them and if my psychological association with them is of hate, I won't be able to do my job properly. I don't control the decision of what language or tool is adopted or needed in my job.

For example, I don't like the variable naming convention of Go e.g. v,ok = m[k] and I'd rather avoid it but I can't say I hate it. I've worked with it in the past and may have to deal with it again in the future.

Similarly, I don't like the syntax and intendation of Python but I have to deal with it now and I'm able to write cryptic code like this even though I don't like it because I don't hate it.

The same goes for singletons, goto, statics, globals, etc.
Hate in my worldview is appropriate for things like injustice, oppression, violence, racism, sin, promiscuity, drugs, etc.