Hacker Newsnew | past | comments | ask | show | jobs | submit | davidalayachew's commentslogin

Isn't the entire point of "reinventing the wheel" to address this exact problem?

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.


enumerable -> innumerable

(opposite meaning)


> (opposite meaning)

Funnily enough, e- means "out" (more fundamentally "from") and in- means "in(to)", so that's not an unexpected way to form opposite words.

But in this case, innumerable begins with a different in- meaning "not". (Compare inhabit or immiserate, though.)


Yeah, English has so many quirks. As a software dev, the "enum" type cane to mind, making this one easier to spot. (shrug)


> Yeah, English has so many quirks.

Arguably true in general, but in this specific case everything I said was already true in Latin.


Relevance? I'd say it's inarguable -- and the words being discussed are English.


Thanks, you are right. Wish I could edit it.


The IDE that I use is called jGRASP (https://www.jgrasp.org/) and it has a viewer that shows off the changes in data structures over time.

Here is an example.

https://www.youtube.com/watch?v=D-zrayZQj6w


Interesting. Are there GRASPs for other languages?


Oh, sweet, they have an Eclipse plugin!


But then it is no longer an apples to apples comparison. This is Spotify. Spotify is the embodiment of the top radio stations idea.

By that metric, Spotify is actually doing better than they did, if memory serves.


Spotify is both in one.

The modern equivalent would be a curated stream, station, etc.


Is it fine? How would we determine that? What's the metric?


I strongly disagree.

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.


> Instead of relying on Javadoc, the built-in doc generator, I created the engine from scratch to give the documentations a modern look, build fast search indexes, and enable link resolution to other packages.

Javadoc already gives you an extremely fast search index and search bar. Granted, it's only in the newest versions of Java.


Author here. Yes, the search bar is nice already, and the performance is good enough for most use cases. Fun fact, javadoc's search is O(n), Docland uses binary search so it's O(log2n). That's why the search bar in the official java.base documentation is noticeably laggy.

The real benefit of customizing search is custom ranking and filtering logic. Docland sorts the search results by relevance (matching prefix length and casing) and dedupes overloads. In my (possibly biased) opinion it's easier to use.


> Author here. Yes, the search bar is nice already, and the performance is good enough for most use cases.

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?


I don't see a search bar, and as long as they might be looking at this thread, something strange is going on, everything is sized absurdly small, as if its rendering my HiDPI* display at 1x

* Retina, MBP 14"



It absolutely does. Here is a (modified) snippet of my Java code from yesterday.

    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;
               
       };


It's ABSOLUTELY by design.

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


Complete distraction of a question -- for that video clip, what is the song playing at the time stamp you selected? Is that in-game music? I figure not.


Don't know the song but that is the ingame music for that specific map, and gets triggered each time certain enemy buildings are destroyed. Different music for each type of building


Very helpful, ty vm.


Excellent. I love Checked Exceptions, and this just made them that more useful. Can't wait for it to land.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: