You haven't explained why but I can preemptively say it isn't. Go outside the confines of American suburbia/countryside and you will see how out of touch these vehicles are to sustainable and healthy living.
Sure, but that applies just as well to driving any car, eating any meat, etc. Very little of modern human living is particularly sustainable or healthy.
It doesn't apply just as well because there's unique challenges. For example, SUVs and trucks being over an order of magnitude more dangerous for pedestrians.
We have got to stop hand-waving things as "well other stuff!"
You're 100% right, car dependency as a whole is a big problem. One that we need to move away from and towards more sustainable modes of transportation. However, that is a big task. One part of that task is deconstructing the American obsession with ego-boosting via motor vehicle.
Sorry if dumb question, but is LSP similar to what Steve Yegge talked about years ago, I think on a StackOverflow podcast, whereby a language would declare its capabilities to tooling?
I haven't listened to the podcast you mention, but the answer to your question is yes. Quoting the langserver.org homepage[0]:
> The Language Server protocol is used between a tool (the client) and a language smartness provider (the server) to integrate features like auto complete, go to definition, find all references and alike into the tool
In LSP terms, these are called "capabilities". The relevant section in the LSP spec is here [1].
There's some variation across editors in exactly how the config works - or, at least, part of it. Some config is done in native files that form part of the plugin. Those are largely editor-specific. The protocol itself defines messages for the server to indicate which facilities it supports. Those are (mostly) editor neutral from my experience thus far (mostly VSCode, a little Emacs).
--
EDIT: added link to capabilities section in the LSP spec.
Yes, the genius of LSP is that it doesn't attempt to define common semantic operations across languages, which would be (and has been) an endless impossible task to get right. It operates at the level of editor UI. So you don’t ask LSP “what are the members of this struct”, you ask it “what are the autocompletions of this code fragment”. It leaves the decisions about what would be appropriate in the language to the language server written by the experts in the language.
Sort of, except not really. It’s largely the other way around: LSP gives the editor a way to declare its capabilities to the language.
The key insight with LSP is that languages are _way_ too different to have that notion of language capabilities. Instead, the LSP defines functionality that the editor wants to use (syntax highlighting, refactoring, autocomplete, etc) and the language server tells the editor what to display.
When you trigger autocomplete in VSCode, the editor has no clue whether it’s autocompleting a method, a class name, or a variable. It’s just telling the language server “hey the user asked for autocomplete in file X, offset Y” and the language server tells the editor what completion options to offer.
The $8 plan is such an obvious unforced error that you have to wonder if Elon has anybody pushing back on him. This entire debacle also draws into relief the difference between a product company like Tesla, or Apple, for that matter, and Twitter. Musk can establish a vision for Tesla or SpaceX, and then it’s all about the execution. With Twitter, there’s the vision, then the execution, then the unintentional side-effects. And the personnel who have the crucial seasoning needed to anticipate the side-effects are mostly gone.
He is too arrogant to listen to anyone at Twitter who knows. He's been redpilled into believing the employees are all idiots; it's a major Chesterton's fence moment. Now he's paranoid and untrusting of the remaining engineers, with a company-wide code freeze requiring his personal sign off on any changes. I'll be surprised if the company still exists a year from now.