davidalayachew
Joined 3 years ago
Joined 3 years ago
This is one of the tradeoffs of maintaining backwards compatibility and stewardship -- you are required to keep track of each "cause" of that backwards compatibility. And since the number of "causes" can quickly become enumerable, that's usually what prompts people to reinvent the wheel.
And when I say reinvent the wheel, I am NOT describing what is effectively a software port. I am talking about going back to ground zero, and building the framework from the ground up, considering ONLY the needs of the task at hand. It's the most effective way to prune these needless requirements.
Here is an example.
By that metric, Spotify is actually doing better than they did, if memory serves.
Haskell is great in a pure world, but it has an undue amount of friction when in the IO world. It does work in the IO world just fine, but languages like Java handle the actual concerns of the IO world better than Haskell. And for that reason, I say that no, Haskell is not the one true way to write correct code.
It definitely is the One True Way to write happy path code though.
Agreed. If you do have performance improvements in mind, I would recommend you bring them up to the Javadoc jdk team. They would definitely take a look if you can point out a faster solution.
https://openjdk.org/projects/javadoc-next/
> That's why the search bar in the official java.base documentation is noticeably laggy.
On my $400 laptop from 2020, I have a response time of <= 0.25 seconds. Are you seeing something different?
Javadoc already gives you an extremely fast search index and search bar. Granted, it's only in the newest versions of Java.
final boolean hasUncollectedSecret =
switch (each)
{
case Wall() -> false;
case Goal() -> false;
case Player p -> false;
case BasicCell(Underneath(_, var collectible), _)
->
switch (collectible)
{
case NONE, KEY -> false;
case SECRET -> true;
};
case Lock() -> false;
};On the Java Mailing Lists, the creators/stewards of Java are constantly fighting back so many feature requests BECAUSE those features would threaten backwards compatibility. And that mailing list has been going on for a long time now. You can see feature requests (and their subsequent rejections) going as far back as the late 90's lol
And yes, excellent wording with the idea of "Should not even know about the concept". I think that is another good place where inheritance shines.
https://stackoverflow.com/users/10118965/davidalayachew