Comments by "Winnetou17" (@Winnetou17) on "No Boilerplate"
channel.
-
42
-
8
-
2
-
2
-
Whoa, I mostly agree with the message of the video, but you REALLY need to be more careful on getting the information right.
First, Go being a better C++ is... questionable. But there have been other comments and is not exactly my area so I'll just leave it at that.
But later, "Java and Javascript are 3-4 times slower". Jeez. Holy crap! Java is like an order of magnitude faster than Javascript. You absolutely cannot put them in the same category. Javascript is interpreted, hence why it's slower. It's on the same page as Python and PHP. You don't create executables in Javascript, you need to run it through a runtime. Not to mention that, like PHP (don't know about Python) it basically single threaded. While Java is up there with the most performant languages if you know what you're doing and if the workload isn't prone to suffer from having Garbage Collection. I remember seeing that on ARM, some highly optimized program was 4% faster in Java than C (which also had a highly optimized version). I forgot the site with the benchmarks name though.
Really, this is such a basic and fundamental difference that I really cannot trust anything else you say now about Java nor Javascript. It's almost like comparing C++ with Python. No, just no.
2
-
@NoBoilerplate But Java had trillions of dollars of optimisations too! That's why I was shocked. If I'm not mistaken Java has about the most advanced (and complex) garbage collection algorithms. And I know the JDK is quite a beast. And I say that as someone who doesn't like Java (and I like javascript, though I kind of hate about all frameworks on it).
Of course, there's no ceiling in optimisations. Unless you don't have enough data. And Javascript (unlike Typescript) does lack having strong typing everywhere for example. That by itself includes some run overhead. I guess it's a matter of things like Python having those ML libraries that are basically implemented in C and calling them in Python gives you basically the same speed (for those specific functions). Also like the Falcon framework/module in PHP is basically a collection of C functions presented in PHP which, if you only use them, you're close to C speed. But in both cases, you're restricted to a set of functions. And the language itself, being dynamic, has an overhead of its own.
I think that the benchmarks in which JS runs well are just that - cases where the engine already has an optimized solution implemented. Though if these cases are in good enough number, especially for the domain where JS is used, that's good and I think they can be used as representative of the language. But in general I'd go by worst case.
I guess I'll just have to up my game on current language speeds. I did a quick search now and I can't say I'm happy with the first page of google's results. To be fair, I did find in there some instances where JS is faster or on the same plane (to say so) with Java. But I'm still not convinced. To be frank, I really don't see something like Elasticsearch being implemented and running as well on Javascript.
While on this topic, do you have any good benchmarks sites ?
2
-
1
-
1
-
6:01 "It's impossible to leave yourself in an unbootable state" - my @s$! Have a "lucky" grub update and then tell me how well that quote aged.
I kinda get the reproductibility, but I don't see what it's SUCH a big thing. It's ... nice. Surely not everybody needs it. It does sound good for a dev environment though, I agree.
The "every program has its own libraries" aka kind of (or actually, I don't know) statically linked is ... not that good ? I mean, it's very nice to have the ability, when you need two or more libraries at different versions for different programs. But... it's good to also have it like only once if you only need it once, instead of potentially 100 times. And, yeah, in some instances I do prefer it instead of virtualization (like when it's not about security but about making sure it has all the dependencies properly set, with the correct versions). But I don't want this to be the default for all my programs. Feels like waste.
That graph with the number of packages and fresh packages ... it smells funny to me (to put it mildly). Any source on that ? I find it hard to believe that nix has so much over all the rest, it's either through a gimmick (like counting each version of a package as individual packages) or some other kind of BS. At least that's what I think. EDIT: ok, I checked a bit, apparently it's just super easy to contribute to it, which at least partially, is a good reason to have high number of packages. So I guess it's legit high number. Neat!
So... yeah, I'll stick with Gentoo. It's still the most powerful and configurable/customizable of the bunch. Also cutting edge and stable, mind you. And you can choose if you want a more stable version of an app or a more bleeding edge version. And theoretically you can set automatic updates but it wouldn't be a good idea, sometimes un update needs a bit of manual care, like a configuration change. Gentoo tells you nicely about this, but you won't be able to see it if it's running in the background. But starting the update and seeing if there's extra things to check/do barely takes a minute anyway, after which you can leave it compiling in the background, so I don't see the appeal anyway.
1
-
1