I get this but, for what I know (I might be wrong tho), steam doesn’t get a cut from keys sold externally so they are technically selling them at better conditions elsewhere?
It is a grey area. But I think the key point is that humble bundle at least don't distribute the games in the same way as epic does. They typically offer steam keys which they get from steam probably with a different license or agreement with steam. Valve seems to not care that much about how the game is sold as long as you can activate it on steam. It cares more about people buying games on a competing platform cheaper then they can get a steam key for.
I know that but that’s not really steam’s fault?
Whos fault it is is irrelevant. If you have effective monopolistic power you are effectively a monopoly. If you abuse that power then that is bad. Does not really matter if you got there because you mostly do things people like or bully your way there. If you abuse the power that is still bad. And they could arguably be abusing that power against game devs by setting a fixed 30% fee with the devs not having much if any power to argue for less.
You have picked some weird hills to die on there.
This is fine. Many languages now do it. The extra brackets around a for or if dont really add any clarity or make things easier or harder to read. This is the type of thing you just get used to and prefer what you are used to. You get over it quickly.
This is a bit stupid, but really is legacy reasons for it. Since it didnt use to have static type declarations and wants to remain somewhat backwards compatible it needs to ignore them at runtime. But as a JS and PHP developer you should be used to this. Both do the same thing as python here with types (well, TS for JS and the many other attempts at getting types into JS). So it is weird that you are singling out python for this behavior.
DIcts are not array like here. Tuples sets and lists are all common is many languages as well. PHP is a real weird case here given everything, even arrays are effectively a dict - that is a strange language design feature. But Java is way worst for different types of array types in the language.
What? I hate setting up python projects. Each one wants to use a different dependency or version manager. Yeah you might have python on most systems but they are all different versions and python is famously terrible at backwards compatibility. It seems every few versions they throw something in the breaks some existing scripts so you really need a version manager for things. Which is more complex setup and management of things. There are far too many different tools to help you with this and fetching dependencies which means if you work on lots of different projects by different people you have a hodge podge of diffing tools you need. It is a complete mess.
Personally I hate python as a language, but you have picked some minor points that IMO dont really matter or that the other languages you use also suffer from. There are far better things to pick from that are far more annoying in the language.