The more I learn the more I realise everyone else is wrong too. Especially when it comes to general purpose tools - there's so many tradeoffs even in an ideal world but really often the original author just did things wrong, but right enough that his solution stuck and everyone kept piling on and building on top.
PHP and node come to mind immediately.
Ruby is down right retarded with promoting Concerns for modeling cross cutting concerns and fat controller/model is a pattern for creating technical debt.
Dealing with python environments and packages makes me want to avoid python if at all possible.
Using C# and Java means I'm probably going to have 3 projects for a hello world.
I'm not positively opinionated about my tools - it's more about deciding which one sucks least for a particular task.
> Dealing with python environments and packages makes me want to avoid python if at all possible.
I see this a lot, and I don't blame folks for having this stance. It's taken me over a decade to dial in my workflow.
Quick rundown:
- don't use python2. Ever.
- don't use the system python, or brew python for anything other than bootstrapping
- only use `pip install --user` for exactly one thing: `pip install --user pipx` when you don't have brew
- never, ever, ever `sudo pip` anything. No exceptions.
- use pyenv to manage your python versions.
- use `pipx` to install stand-alone CLI tools, like virtualenvmanager, poetry, black, mypy.
- always develop in virtualenvs. No exceptions
- prefer installable python packages over scripty standalone .py files
- using PYTHONPATH is a smell
- poetry is likely the future of tooling, but it's not mature enough to be considered best practice for python beginners just yet. Stick with pip if you are uncertain.
- use lockfiles for writing applications but not writing libraries
I think the fact that you feel working with python requires adhering to a specific 12-step programme may go some way to explaining why I've never gotten comfortable with it.
I love Python and the Python 2-3 debacle really soured things for me as well. It was hard to get over that hump and I can understand that many were put off by it forever.
True, my problem with Ruby is stuff like having select/filter/find_all or map/collect and then frameworks also inventing their own conventions and this somehow being ruby philosophy. Also naming conventions like to_i to_a to_s to_h. And then the scoping rules. I'm not a fan of the language or the design philosophy and will avoid in all future projects.
As for calling it retarded - it's the emotion it evokes, I don't find it particularly offensive - but thankfully I'm not from the pronoun declaring part of the world.
Tasteful is subjective by definition. In a casual conversation on a anonymous forum ? I don't really see the issue. The only people that might be offended here are authors of RoR but then again, I have no qualms about offending them since their designs caused me a lot of pain the year I worked on a project written with it.
PHP and node come to mind immediately.
Ruby is down right retarded with promoting Concerns for modeling cross cutting concerns and fat controller/model is a pattern for creating technical debt.
Dealing with python environments and packages makes me want to avoid python if at all possible.
Using C# and Java means I'm probably going to have 3 projects for a hello world.
I'm not positively opinionated about my tools - it's more about deciding which one sucks least for a particular task.