> Plus all of these starting points imply the use of new languages, configurations, and programs, in particular, builds.
Oh yeah, true, some people keep saying a language is just a tool trying to convince somebody to use it, but they forget, or omit for some reason, the fact that it's not "just a tool", it's a huge ecosystem that brings additional, enormous mental burden with it - build system(s), libraries popular within that specific ecosystem, language syntax, language quirks, project structure, its own conventions and so forth.
It's much simpler and more efficient (technically and labour market-wise) to write everything in a single language, as much as possible - unless you start going completely against the grain. Like, auxilliary scripts are usually written in cli-centric languages like Bash, as opposed to API-centric like Python, because you get maximum convenience using cli programs and composing them together.
But no, some people casually shoot themselves in the foot by jumping from language to language depending on the task because it's "just a tool". Ripgrep is a just tool. An entire programming language with its ecosystem is not.
MacOS. Project scripts and software are hardcoded for Mac. The alternative is Windows, but making the project dev environment cross-platform takes time. I dislike non-standard keyboard shortcuts for everything, lack of FAR Manager (using Midnight Commander has the same problem as all the different keyboard shortcuts), its constant annoying notification popups that covert part of my windows, its problem with handling non-Apple mice (have to jump through many hoops to make mouse movements sensible, put mouse wheel in the proper direction etc), its windows rounded corners that cut at the application's view area (run Alacritty without status bar, the rounded corners at the left bottom corner will obscure part of the shell prompt), its support for Linux that is significantly worse than in Windows and probably more that I cba to remember.
The other thing that I dislike but can't get rid of is JVM. Mind you, Python, Go, Javascript and so on is worse, but JVM is what I have to work with, unlike the rest of them.
Java was released in 1996. It got generics in 2004, 8 years later. I don't remember anyone panicking and yelling from every corner that the world is ending. Everyone understood the benefits and it was a much awaited feature. And yes, after Java got them, it became easier and more typesafe to use. End of story. And by the way, Java too was a very simple language and generics didn't ruin it.
I’m in a team where every member was forced into macOS against their will, because a lot of project scripts were hardcoded for macOS by a long-gone “architect”. My biggest gripes with macOS, after decades of Windows and Linux:
- Windows has better Linux support than macOS (WSL gives better integration which means Docker is easier to use compared to Minikube via Hyperkit vm)
- macOS doesn’t have the crucial software I need: FAR Manager
- I’ve had terrible experience with Apple’s customer support in the past where they couldn’t fix broken font antialiasing for external monitors
- I’ve been plagued by serious macOS bugs where it would cause 100% cpu load that could only be cured with closing/reopening the lid, and there are still some sleep-related bugs in it, whereas on Windows everything’s fine
- The window manager in macOS lacks basic features compared to Windows: no tiling, but Windows gets it out of the box with Win+arrows
- All hotkeys on macOS are different from the rest of the world (Windows, Linux) for no good reason and it makes switching between computers very difficult. And no, switching Cmd to Ctrl doesn’t solve it
- Rounded window corners make the first character on the bottom line of terminals unreadable
And how are emails any different from web articles? Both contain structured thoughts represented as structured text, both often contain code and quotations, lists and so on. Why special treatment?
But, almost everyone does? Would you prefer all web articles to be strictly in plain text, same colour? No font changes between text and code, no colors for quotations, no indented multilevel bullet points? Basically, nothing that markdown can do. In your opinion, those things don’t improve ease of reading, right? What about syntax highlight in code - nobody needs that either, am I getting it right?
Any closed community ends up as a cult, derangement reinforced through the circular patting on the backs. HN already got a bit of a loony reputation (for example, see the comment about being a think tank), and it’ll get even worse behind a paywall.
By "attacked" you probably meant "criticised"? Criticising something is not only a perfectly normal activity, it's a necessary one and is an important part of the scientific method.
If you think what I said is wrong, you're welcome to explain why. Personal attacks are neither productive nor interesting.
My reasoning is the following:
People would only listen to you if you can prove what you say is right, because nobody is interested in hearing wrong things or unexplained things, they just aren't helpful.
"We should use nodejs!" "Why?" "I don't want to argue, we just should." Is that helpful?
If you don't have the reasoning skills to convince others, you can't present constructive ideas and back them up with an explanation.
If you can't do that, literally, what is your value to the team? Blindly and quietly execute the will of other team members? That would take too much energy from those people, to direct you on every step of the way.
When you hire engineers, you expect them to give more than they take, otherwise they're a drain on the team resources.
Collective problem solving is impossible without arguing. Arguing is trying to improve something, identify mistakes, logical contradictions, basically you're doing the work of a compiler that checks your program for correctness. Would you want a compiler that always agreed with you, whatever you fed into it? Don't think so. Same thing with engineers working together to reach a common goal. You're checking and improving each other's ideas.
Edit: moreover, if you lack reasoning skills to convince others, means you lack reasoning skills themselves. How are you going to solve problems in the first place?
Your statement implies that arguing is something bad. Arguing is presenting arguments that attempt to show (prove) why something is true or false. It's the most important tool (convincing each other) in the progress of civilization. If you don't try to convince each other, the only alternative, in the end, is just shoot whoever you disagree with.
And it also diminishes your value as a team member. If you can't convince others, means the reasons you present are weak and nobody would be interested in listening to you and therefore there's not much reason in having you around.
This thread made me read about conditional types in TS and in general more about its type system. I was ignorant. I agree now that it's advanced. Previously I only heard bad things about it without bothering to study it myself. Turns out, it's not all bad, there is some good as well. Still wouldn't want to work with it, ever; but that's beside the point.
Same thing but actually readable and maintanable would've been better implemented as a compile-time (build-time) script, basically source code generation.
What compile-time guarantees does that SQL library give? I don't see any docs or explanations at that Github repo and my TS knowledge is limited to be able to infer everything from a small code example.