Rust keeps making JavaScript faster

Поділитися
Вставка
  • Опубліковано 8 січ 2025

КОМЕНТАРІ • 197

  • @letsgetrusty
    @letsgetrusty  11 місяців тому +7

    📝Get your *FREE Rust cheat sheet* :
    letsgetrusty.com/cheatsheet

  • @Speykious
    @Speykious 11 місяців тому +185

    Fun fact: NaN is a number in every programming language that uses floats, which is pretty much every single one of them. That's because it's defined by the IEEE754 standard

    • @letsgetrusty
      @letsgetrusty  11 місяців тому +62

      Hmm this fact doesn't seem to fit my narrative

    • @phill6859
      @phill6859 11 місяців тому +5

      Ever since fpus became ubiquitous then the languages use whatever the fpu uses. Which isn't always IEEE, but usually similar and generally includes NaN

    • @krccmsitp2884
      @krccmsitp2884 11 місяців тому +5

      To be more precise, NaN really represents a particular value of a numeric type (namely those following IEEE 754), but this value is not a number by itself, hence the name NaN.

    • @vaisakh_km
      @vaisakh_km 11 місяців тому

      @@letsgetrusty XD justs today i learn that in collage

    • @JasminUwU
      @JasminUwU 10 місяців тому

      ​@RecoilR Bot behavior

  • @Benni1000games
    @Benni1000games 11 місяців тому +105

    NaN being a Number is not the fault of JS but due to the floating point standard. This is also the case in rust.

    • @arobie92
      @arobie92 11 місяців тому +7

      Yeah, I've given JS enough guff about its many eccentricities and foibles, but I really do wish people would stop harping on JS about that one. It's just the IEEE spec from what I understand. Now their lack of a real integer type is fair game IMO.

    • @jongeduard
      @jongeduard 11 місяців тому +3

      The issue with JS is that it has only 1 number type, and which is actually just 64bit floating point, and this causes lots of issues, such as with precision.
      Just consider things like 9999999999999999 and 0.1 plus 0.2, which show clear rounding errors when evaluated. This is a real limitation.
      I am not a TypeScript developer, but since it just compiles to JS, I believe it cannot even have solved that problem. And some people say that JS is better than TS anyways. I can understand that, when it's not a real type system but a simulated one.

    • @tukib_
      @tukib_ 11 місяців тому +6

      @@jongeduard Wanting a simple type for 64 bit ints is fair. But, 0.1+0.2 and other precision issues with non-integers is not an issue with JS only having a single number type, it's IEEE754.

    • @turolretar
      @turolretar 11 місяців тому

      @@jongeduardyou could do fixed point arithmetic in js

    • @letsgetrusty
      @letsgetrusty  11 місяців тому +5

      Thanks for clarifying :)

  • @AlexyMiro
    @AlexyMiro 11 місяців тому +107

    It would be interesting to see you building a beginner friendly website project using rust.

    • @codejunki567
      @codejunki567 11 місяців тому +16

      That's an oxymoron

    • @turolretar
      @turolretar 11 місяців тому +3

      good one

    • @letsgetrusty
      @letsgetrusty  11 місяців тому +2

      Thanks for the suggestion :)

    • @idedary
      @idedary 11 місяців тому

      @@codejunki567 In my experience, Rust and JS difficulty even out. JS might be initially easy, but all the bloat, tooling concepts and things that evolved over time and got deprecated is quite crazy. Rust on the other hand is hard to learn from the start, but after you overcome the beginning hurdle, its as easy as python and nothing will surprise you down the line.

    • @codejunki567
      @codejunki567 11 місяців тому

      @@idedary Well what you just compared isn't a beginner friendly JS program so idk about your comparison still.

  • @Beryesa.
    @Beryesa. 11 місяців тому +168

    What I don't understand is, why they get surprised by the performance when they should be questioning how slow the others are?

    • @electrolyteorb
      @electrolyteorb 11 місяців тому +1

      That's the real question

    • @Mr.BinarySniper
      @Mr.BinarySniper 11 місяців тому +9

      What do you mean by others.. they have compared these selves with their older JavaScript version..
      I don't know what you mean by others

    • @phill6859
      @phill6859 11 місяців тому +2

      Because they should not be in the industry.

    • @Beryesa.
      @Beryesa. 11 місяців тому

      @@Mr.BinarySniper yes I mean the js versions ofc

    • @nubunto
      @nubunto 11 місяців тому +2

      You can make JS tooling faster by optimizing it. Maintainers are either burned out or working on other stuff and it isn’t a priority

  • @chris94kennedy
    @chris94kennedy 11 місяців тому +32

    NaN being a number is from IEEE 754. Rust adheres to this with floats as well

    • @peterfireflylund
      @peterfireflylund 11 місяців тому

      Not a number.

    • @jongeduard
      @jongeduard 11 місяців тому

      Yes but Rust even has 128 integer numbers, both a signed and an unsigned version. Not many languages have that. I am quite happy.
      JS has only floating point numbers, that's the problem.
      It is literally only using the floating point unit your CPU and nothing else. This is really strange when you need to work with indexes into arrays. Rounding errors and not a number values do not really add up.

    • @pepkin88
      @pepkin88 11 місяців тому

      @@jongeduard JS uses integer types under the hood with JIT optimization.

    • @jongeduard
      @jongeduard 11 місяців тому

      @@pepkin88 I know, but it does not make a difference in all aspects, it is an implementation detail of the V8 runtime. It matters for performance, partially.
      It does this for the smaller integer numbers where difference between integers and floats is impossible to notice, but for higher numbers where FP values loose precision, it cannot keep integers.
      The burden of JS is that it needs to maintain compatibility with everything on the web, at least as long as it does not introduce actual declared types but relies on the current loosely typed variables only.
      Declaration with a new syntax should be able to fix that I believe. But no one wants that and too many people believe that TypeScript is the better option apparently.

  • @thekwoka4707
    @thekwoka4707 11 місяців тому +39

    Not a number is a number. That's from the floating point spec. That's not JS fault.

    • @carlosmspk
      @carlosmspk 11 місяців тому +5

      Beat me to it. Out of the 999 weird behaviors JS has, that one is not JS specific, and, as you've said, it comes down to the binary level of how floating numbers are interpreted.
      Moreover, not only is it "not JS fault", it would be highly impractical if it was not considered a number

    • @briggsmiller7095
      @briggsmiller7095 11 місяців тому

      @@carlosmspk I have always found that NaN === NaN is false to be an odd one. I have never dug into it as to the "why". Maybe I'll do that right now.
      Edit: According to the standard, NaN is considered unordered, so it is not equal to, less than, or greater than anything, including itself.

    • @bloody_albatross
      @bloody_albatross 11 місяців тому

      Yep, that's where I stopped watching the video. Clearly they don't know what they're talking about. Also they called NaN a type!?

    • @cipher01
      @cipher01 11 місяців тому +1

      From a readability standpoint, it's busted af.

    • @casperes0912
      @casperes0912 11 місяців тому +3

      It is the fault of js. The type is number. Not float

  • @DiogoBaeder
    @DiogoBaeder 11 місяців тому +14

    It would be nice to do another video about Rust being used more and more in the Python community - with tools like Polars, Ruff, Robyn etc getting more and more traction.

  • @yds6268
    @yds6268 11 місяців тому +18

    Tauri is good, especially for people who like/use Javascript a lot. I'm not one of them though. So if a comparable cross-platform and stable Rust GUI appears, I'll switch to that. So far it seems like Tauri is the best one for user/developer experience, other GUI libraries are either still in development or have quirks preventing from their serious adoption.

    • @forthphoto
      @forthphoto 11 місяців тому +5

      You can use tauri with almost only rust in front end and backend. It works with yew for example for fronted. It's still not the same as native rust gui (you have separation of fe/be).
      Worth looking into gtk rust library- not stable yet however.

    • @yds6268
      @yds6268 11 місяців тому

      @forthphoto Tauri/Yew stack doesn't seem to be officially supported, and you still need Javascript glue, as far as I know. When something more convenient comes up, I'll definitely use that

    • @h-j-k-z
      @h-j-k-z 11 місяців тому

      @@yds6268 take a look at dioxus. it is based on webview and there's no javascript glue for desktop apps. also, the tauri cli officially supports leptos, sycamore, yew and one other that i can't remember at that moment.

    • @Speykious
      @Speykious 11 місяців тому

      What do you think of Slint, which reached 1.0 last year, and Iced, which System76 is using for the Cosmic desktop?

    • @mixed_nuts
      @mixed_nuts 11 місяців тому

      @@yds6268yes because at the end of the day, the browser only supports JS. The benefit over using WebView vs native, is the speed in which you can iterate the front end. With the ever increasing cross-platform standards, it's a huge no brainer.

  • @StephenRayner
    @StephenRayner 11 місяців тому +15

    Rust compilation time isn’t even its strongest point

    • @lgasc
      @lgasc 11 місяців тому

      Lol many rustaceans actually complains about the compilation times.

    • @thegoldenatlas753
      @thegoldenatlas753 11 місяців тому +1

      ​@@lgasc which confuses me continuously cause it seems extremely fast to me.

    • @iceteazen
      @iceteazen 11 місяців тому

      i heard that they are experimenting with multi-threading to improve rust compilation times. hopes that goes well.

    • @Microphunktv-jb3kj
      @Microphunktv-jb3kj 10 місяців тому

      rust compile time compared to Go is joke

  • @sledgex9
    @sledgex9 11 місяців тому +10

    So basically it has nothing to do with Rust itself but with going from interpreted languages to compiled/native languages. Same performance could be gotten with eg C++, but somehow the JS ecosystem all these years ignored native language implementation. For whatever reason, they took interest now and decided to use Rust as the new kid on the block.

    • @patrickkkkkkkkkkkk
      @patrickkkkkkkkkkkk 11 місяців тому +10

      WAAAAA THEY WONT USE MY FAVORITE template LANGUAGE

    • @sledgex9
      @sledgex9 11 місяців тому +5

      @@patrickkkkkkkkkkkk You missed my point. I wonder why the JS world didn't use native/compiled languages for their tooling already? Why the hell did they wait for something like Rust to do it?

    • @lack_of_awareness
      @lack_of_awareness 11 місяців тому +7

      @@sledgex9 because writing tools in c++ is a pain in the ass. It's alot easier to tell someone to just "cargo new project" instead of configuring their own makefile or Cmake file that has so many quirks. i dont even think it's a matter of language spec itself, just the fact that the tooling and usability is much easier.

    • @phoenix-tt
      @phoenix-tt 11 місяців тому

      ​@@sledgex9 The used it with gyp. And gyp sucks a lot.
      Then came esbuild and said - you don't need gyp, you can just distribute precompiled binaries. And suddenly everyone is writing native N-API code

    • @rreece90
      @rreece90 11 місяців тому

      @@lack_of_awareness You too missed the point. The question is not about C++ specifically (arguably, it's overkill for webdev), but native/compiled languages in general. They were ignored by web developers for so many years, even though everyone told them how much performance they could gain, and now they've suddenly discovered Rust and look so surprised that it works so well for them!

  • @JorgetePanete
    @JorgetePanete 11 місяців тому +6

    Can you check that NaN is a number in the Chi Shi?

  • @sergandonl
    @sergandonl 11 місяців тому +1

    I have been loving writing native rust addons for js using NAPI-RS, regularly getting over 1000x speeds over orginal Node code.

  • @hwndept
    @hwndept 11 місяців тому +2

    It would be great to see a new video from you about rust-tools-ecosystem incorporation into existing front-end project and how it helps to increase performance.

    • @Microphunktv-jb3kj
      @Microphunktv-jb3kj 10 місяців тому

      .. could care less if my project builds 10sec or 1min ,
      my teapot is boiling for 5min

  • @yoni532s9M5w
    @yoni532s9M5w 11 місяців тому

    Prisma js is an ORM that uses a rust SQL engine, though it heavily affects cold-starts with long compile times. Rust major advantage is having no garbage collection, and relying on the compiler and the dev for safety.

  • @adrielyozan7203
    @adrielyozan7203 11 місяців тому

    There is also STC which is still in development but will speedup type checking for typescript

  • @lexigbokwe
    @lexigbokwe 11 місяців тому +2

    Which Shopify build tool runs for one hour?

  • @dog4ik
    @dog4ik 11 місяців тому +5

    You are my WebDevSimplified of rust

  • @rumonintokyo
    @rumonintokyo 11 місяців тому +4

    What are your thoughts on Actix web for building backend of websites?

    • @lll_Death_lll
      @lll_Death_lll 11 місяців тому

      In my opinion, Axum is better

    • @sohn7767
      @sohn7767 11 місяців тому

      Use Axum instead

  • @pierrefrotier
    @pierrefrotier 10 місяців тому +1

    In Rust (1.76), `println!("{}", std::any::type_name_of_val(&f64::NAN));` prints `f64`. Is it bad for Rust?
    If not, why `console.log(NaN)` printing `Number` is bad for Javascript?

    • @pierrefrotier
      @pierrefrotier 10 місяців тому +1

      You can try, in Rust, the expression `let v = 0./0.;` gives a `NaN` value to `v`. But `v == f64::NAN` (or `v.eq(f64::NAN)`) evaluates to `false`, like any other language (most of them?), including JS (in JS, `0/0` value is `NaN`, but `0/0 == NaN` evaluates to `false`).

  • @DelandaBaudLacanian
    @DelandaBaudLacanian 11 місяців тому +1

    What is "oxidation"? Does it have to do with Oxlint?

    • @TheRealAfroRick
      @TheRealAfroRick 11 місяців тому +4

      Oxidation causes Rust, there for introducing oxidation to ESLint -> Oxlint. That's pretty much the "inside joke" he's using here.

  • @lubba64
    @lubba64 11 місяців тому +1

    This is also happening in the python ecosystem with ruff

  • @hiwarekar22
    @hiwarekar22 11 місяців тому

    @letsgetrusty I want to know what's best tool in rust to run already coded nodejs application?

  • @va9if
    @va9if 11 місяців тому +2

    Why is there no "rewrite with C++" era?

    • @kevinmcfarlane2752
      @kevinmcfarlane2752 11 місяців тому

      Or you could ask, back in the day, why didn’t they write the tools in C/C++ to start with?

    • @zoey5104
      @zoey5104 11 місяців тому

      ​@@kevinmcfarlane2752Isn't part of Node JS written in C++?

    • @va9if
      @va9if 11 місяців тому

      @@kevinmcfarlane2752 js is much more comfortable to write in than cpp. but how much is the difference between cpp and rust?

    • @va9if
      @va9if 11 місяців тому

      @@zoey5104 yes and this couldn't be done in JavaScript since it used lower level apis

  • @rafael_tg
    @rafael_tg 10 місяців тому +3

    Interesting. The same movement is happening on python world

  • @Aleksey-n5h
    @Aleksey-n5h 11 місяців тому +1

    But what about "Biome". Prettier's javascript counterpart

  • @SuperQuwertz
    @SuperQuwertz 11 місяців тому +1

    More videos for Rust supporting JS please!

  • @pepkin88
    @pepkin88 11 місяців тому

    You know that Rust's NaNs are also of numeric type (f64, f32), right?

  • @soushi8885
    @soushi8885 11 місяців тому

    And what about WebAssembly modules written in Rust that can be executed by JavaScript applications ? :)

  • @DavidChoiProgrammer
    @DavidChoiProgrammer 11 місяців тому +7

    Js infrastructure isn't even all of it. With Rust and Webassembly Rust is also taking over performance critical sections of code.

    • @kamildoan
      @kamildoan 11 місяців тому +2

      I don’t think webassembly fast enough for using performance critical piece of codes. I have tested Mandelbrot algorithm in rust and compiled as wasm in release mode but JavaScript was faster 2x than its wasm version. It is useful if there are libraries written in rust and c++ like physics engine otherwise I don’t think it is fast

    • @DavidChoiProgrammer
      @DavidChoiProgrammer 11 місяців тому +6

      @@kamildoan yes wasm isn't always faster ... yet. If js can use webgl or webgpu it would be faster than cpu bound wasm. However wasm is still new as compared to js. All other things being equal static typing is always faster as you can optimize more code paths. So as wasm matures it should be more consistently faster at cpu bound tasks. I'm learning wasm now so I'm betting on it

    • @danwellington3571
      @danwellington3571 11 місяців тому

      @@kamildoanIt's taken a lot of effort over a long time to get JS as fast as it is
      WASM will get faster. It's just a matter of time

    • @lack_of_awareness
      @lack_of_awareness 11 місяців тому +1

      @@kamildoan thats actually dependant on the WASM runtime you use. If you want a promising new runtime try the wasmer engine and run the wasm file with LLVM jit compilation. Ive tested rust code that was only 2x slower in wasm vs running it natively...

  • @Volt-Eye.
    @Volt-Eye. 11 місяців тому +2

    As beginner I wonder, things like these were never done with c or c++.

    • @Aleksey-n5h
      @Aleksey-n5h 11 місяців тому

      therefore, it is unsafe and has problems with working with memory

    • @RoyaltyInTraining.
      @RoyaltyInTraining. 5 місяців тому

      C++ has terrible ergonomics for web development. C is just another step backwards. You can't even manipulate strings with dynamic length in C, unless you write a whole bunch of extra code for manual dynamic memory allocation. Sure, people write web servers like Apache or Nginx in these languages, but it's a huge pain.
      Rust has comparable performance to C and C++, but it makes it much easier to develop complex applications. It's the one thing that made this rapid pace of development possible.

  • @SRG-Learn-Code
    @SRG-Learn-Code 10 місяців тому

    Was node ever written in JS? I can't think how is that possible.

    • @_Toasty
      @_Toasty 9 місяців тому

      C++ actually, but I do agree with the last sentence however.

  • @PurpleLibRight
    @PurpleLibRight 11 місяців тому

    Can you do a vid on using Javascript with Rust? Especially WASM?

    • @kevinmcfarlane2752
      @kevinmcfarlane2752 11 місяців тому

      There is an online Rust-WASM book on the official site. But no harm in having videos as well.

  • @RoyaltyInTraining.
    @RoyaltyInTraining. 5 місяців тому +1

    Why do people keep being surprised by how slow interpreted languages are?

  • @caspera3193
    @caspera3193 11 місяців тому

    Didnt know that ESLint had so much more potential in terms of performance. Probably made some mistakes along the way in terms of designing that linter

  • @greenspand
    @greenspand 10 місяців тому

    Great videos mate.

  • @andersonpyaban8042
    @andersonpyaban8042 11 місяців тому

    Public class javaTools extends JFrame(

  • @J-qak
    @J-qak 11 місяців тому +2

    Bogdan looking sexier every day!
    Just a side note: Vite is pronounced as in French, with a soft "i".

  • @edgarhammond2252
    @edgarhammond2252 11 місяців тому +1

    Build times went down from over an hour to mere seconds… doubt... (¬_¬)

    • @phoenix-tt
      @phoenix-tt 11 місяців тому

      Linting times. Have you ever used eslint?
      Just yesterday I accidentally tried to lint a logs file (~300K lines of json) with both eslint and oxlint.
      ESLint failed with out-of-memory after 30 seconds, oxlint finished in 2 ms.

  • @greekapostle4548
    @greekapostle4548 11 місяців тому +1

    What about zig

    • @kevinmcfarlane2752
      @kevinmcfarlane2752 11 місяців тому

      It’s not mature yet. Not reached 1.0. From the little I know though there might be room in the future for both Rust and Zig.

  • @johnsoto7112
    @johnsoto7112 11 місяців тому

    Code with Antonio made a cameo!

  • @innoventstack
    @innoventstack 10 місяців тому

    Bun already did this to make it faster and address this issue

  • @mkolbat
    @mkolbat 11 місяців тому

    If you look the rust issues there is no difference in buggy.

  • @fnizzelwhoop
    @fnizzelwhoop 11 місяців тому +1

    I honestly love how unapologetic you are about your Rust advocacy. No fluffy qualifiers to appease people who hate Rust.
    Not saying it's bad to add a bunch of fluffy qualifiers -- but we don't all need to be ambassadors of "everything is equal, actually".

    • @kevinmcfarlane2752
      @kevinmcfarlane2752 11 місяців тому

      I don’t mind people loving Rust, so long as they don’t say everything else sucks and must be shunned and we should rewrite EVERYTHING in Rust.

  • @Beryesa.
    @Beryesa. 11 місяців тому +1

    Damn, on the other hand, they'll perhaps crap the rust just like they did to everything that touched web

    • @jolynele2587
      @jolynele2587 11 місяців тому +4

      i don't think so, rust is a very "opinionated" language, so it won't be that susceptible to taint

    • @Beryesa.
      @Beryesa. 11 місяців тому

      @@jolynele2587 I hope so, but what you can do when much of the community becomes money seeking reckless web devs

    • @Turalcar
      @Turalcar 11 місяців тому +2

      @@Beryesa. The worst ones will be bullied away by the borrow checker

  • @rodrigosouto9502
    @rodrigosouto9502 7 місяців тому

    No one:
    Rewrite in Rust: YES!!!

  • @Imnotacryptobro
    @Imnotacryptobro 11 місяців тому

    Vercel is not the creator of web pack

  • @avinag
    @avinag 7 місяців тому

    VSCODE should be written in Rust

  • @leshommesdupilly
    @leshommesdupilly 11 місяців тому +1

    Rusr is like cpp if the compiler was a total Karen

  • @Fordi
    @Fordi 11 місяців тому

    You know NaN exists in any language that supports IEEE floats, right?

  • @ashwinsolanki6549
    @ashwinsolanki6549 11 місяців тому

    Love the video. I would rather be the contributor than the user of new framework.

  • @victorhenriquecollasanta4740
    @victorhenriquecollasanta4740 10 місяців тому

    Idk with you guys got it but This video was entirely made by ai, voice and video.
    Nice video btw

  • @pablodenapoli1667
    @pablodenapoli1667 11 місяців тому +1

    It obvious that anything that compiles to native binary code will outperform javascript (written in rust or for instance in C,C++, D, Go, Zip, Swift, etc) I dont see the advantage of rust here. Perhaps the best option would be to have a typescript to native compiler, and I saw a project for this based on llvm. Then you could migrate your typescript code base to something that runs at native code speed!

    • @kevinmcfarlane2752
      @kevinmcfarlane2752 11 місяців тому +1

      Non-GC memory safety and security would be the advantages over the others.

  • @-indeed8285
    @-indeed8285 10 місяців тому

    As a React dev, Oxlint & Turbopack is ❤

  • @mehdiyahiacherif2326
    @mehdiyahiacherif2326 11 місяців тому

    Broo !! Going from 45 minutes to 10 seconds is unbelievable
    I know oxlint is great , but it can be that eslint is bad, no ?

  • @dipereira0123
    @dipereira0123 11 місяців тому +5

    Javascript is like a virus, it started as web frontend now we have it everywhere

    • @florentd.5817
      @florentd.5817 11 місяців тому

      So many tools to work with json.... i was looking how to decoupled a drupal site.... so many tools like nextjs... so after you have a ready tools to do lot of js everywhere....😅

  • @Noritoshi-r8m
    @Noritoshi-r8m 10 місяців тому +1

    Javascript and React needs to be replaced. Long live Rust

  • @frankdearr2772
    @frankdearr2772 11 місяців тому

    great topic 👍

  • @gavenblsn4753
    @gavenblsn4753 11 місяців тому +1

    make a video

  • @48_subhambanerjee22
    @48_subhambanerjee22 11 місяців тому +2

    Rust is awesome and all. But its kinda very very verbose... Its hard to write.. like for a friggin user input .. we need to literally write a 4 line code

  • @milosjc
    @milosjc 11 місяців тому

    "The event from 2010." that enabled the use of JavaScript on the backend side, marks the downfall of the entire JavaScript ecosystem... Pandora's box was opened, never to be closed again.
    There's a nice saying, I paraphrase: "Whenever you write Node.js code, you're effectively making a rollercoaster in Excel" - Primeagen.
    JavaScript is a language that deserves a hall of fame, but it's time for something new, as the number of inconsistencies and flaws in it is too great.
    From a language for manipulating the DOM to a language in which server code is written. I think it's wise to know when to stop with something.
    Rust tooling and the acceleration it brings is cool, but it's futile.

  • @peanutbutteraddict22
    @peanutbutteraddict22 11 місяців тому +3

    After knowing Rust is named after the rust fungus, oxidation jokes don't work well anymore.

    • @Turalcar
      @Turalcar 11 місяців тому

      Still works as a pun

  • @HaydonRyan
    @HaydonRyan 11 місяців тому

    Yay another Lets Get Rusty. :)

  • @vimaximus1360
    @vimaximus1360 11 місяців тому +1

    node was a big mistake

    • @SRG-Learn-Code
      @SRG-Learn-Code 10 місяців тому +1

      How so? It has shortcomings, but I've always seen it as a win.

    • @redpillsatori3020
      @redpillsatori3020 10 місяців тому

      @@SRG-Learn-Code..I agree with you, but one mistake I do see in the industry is people thinking that NodeJS is the best tool for the BE _simply_ because it will mean the BE and FE use the "same" language--that's always the justification for a NodeJS/Express server--and I don't think it's a good one.

  • @pseudonymity0000
    @pseudonymity0000 11 місяців тому

    1. Learn rust tools to improve JS.
    2. Learn rust to build the tools to improve JS.
    3... Wait... Rust can WASM... Why not just WASM?

  • @tappyuser
    @tappyuser 4 місяці тому +1

    "How do we make javascript better? ..... By getting rid of the javascript of course" 😂😂

  • @bloody_albatross
    @bloody_albatross 11 місяців тому +3

    "with a type called not a number that is actually a number" - and that is where I stopped watching the video because you identified yourself as knowing nothing. Look up IEEE 754 floating point arithmetic. These days pretty much all languages use IEEE floats (I think the exception are some shader languages) and that comes with NaN. Its IEEE that says that floating point _numbers_ have NaN values and that NaN != NaN etc. JavaScript has a lot of shortcomings, it's floating point arithmetic is not one of them.
    PS: NaN is not a type. Its a value.

    • @peterfireflylund
      @peterfireflylund 11 місяців тому

      It was also exactly when I downvoted. I’ll mark the channel as “ignore” from now on.

  • @skiesaboveunlimitedstargaz7316
    @skiesaboveunlimitedstargaz7316 11 місяців тому

    Awesome!! Finally it is not Javascript... it is Javas-cRust!! :)

  • @rmbl349
    @rmbl349 11 місяців тому

    nextstep: fully replace javasscript with rust

  • @seasong7655
    @seasong7655 11 місяців тому

    They're replace the NaN language with the language of thousand string types 💀💀

  • @alex-costantino
    @alex-costantino 11 місяців тому +1

    He created Deno mainly because of its decentralized nature... by using the centralized cargo.. lol

  • @bennythetiger6052
    @bennythetiger6052 11 місяців тому

    I just clicked on this video, and I'm already sad. I don't want javascript to be slow. I don't want it to be fast. In fact I don't want it. (Btw my main language)

  • @sighupcmd
    @sighupcmd 11 місяців тому +1

    Meh, none of the rust tools may change the fact that JS is shit. Only rust WASM will save us, or Elm/PS

  • @zakyvids6566
    @zakyvids6566 11 місяців тому +1

    Like my comment if you want to see rust projects

  • @hermestrismegistus9142
    @hermestrismegistus9142 11 місяців тому +1

    Rust isn't fast, JavaScript et al. are just slow.

  • @MrAbrazildo
    @MrAbrazildo 11 місяців тому

    I still prefer C++, but Rust is much better than all this web crappy tools. I hope web gets rusty, for its own good.

  • @florentd.5817
    @florentd.5817 11 місяців тому

    You missed jquery !

  • @brogotbonkers
    @brogotbonkers 11 місяців тому

    “multiply a string and get a number” that’s literally not what happens lol
    I know that’s probably a bait that i’m falling to but quite annoying these “oh javascript is so bad, look how this behaves” stuff, lol
    that’s literally the stupidest trend from tech “influencers”

  • @js-ny2ru
    @js-ny2ru 10 місяців тому

    Sorry but I consider Deno as a failure...

  • @redpillsatori3020
    @redpillsatori3020 10 місяців тому

    99% of the comments here: "Did you KnOW ThAT NaN exists in any language that supports IEEE floats?!?!?"

  • @rmnilin
    @rmnilin 11 місяців тому

    Help me to continue, please:
    typeof(NaN) === 'number'
    typeof(null) === 'object'
    '4' * 2 === 8 && '4' + 2 === '42'
    null == undefined && null !== undefined
    {}.unexistent === undefined
    42..toString() === '42'
    NaN !== NaN
    {} - [] === 0
    ([] - {}).toString() === 'NaN'
    [2, 4] + [2, 4] === 2,42,4
    null >= 0 && !(null > 0) && null != 0
    Number.MAX_VALUE + 1 === Number.MAX_VALUE

    • @OnFireByte
      @OnFireByte 11 місяців тому +1

      Some of "problem" is not entirely js problem
      1. `NaN !== NaN` is standard specification of NaN in IEEE, it's literally how to check if it's NaN or not for most language
      2. `Number.MAX_VALUE + 1 === Number.MAX_VALUE` is precision error for float, happened on every language
      3. 42..toString() === '42' is tricky but understandable, since `42.` is counted number token, but generally better than wrapping in wrapper class to invoke method like java counterpart.
      But yeah most of it are still too bs lmao

    • @rmnilin
      @rmnilin 11 місяців тому

      ​ @OnFireByte Thank you, but where did you find the word "problem"?
      Also your second point comes from IEEE 754 as well, but having a spec doesn't make these things any less fun)
      And brainfu"n"k is also understandable, but it doesn't make it nice to work with.
      I'm just having fun and wondering what other interesting nuances can be in the list 😉

    • @aldrius00
      @aldrius00 4 місяці тому

      Just live with it, don't cry...

  • @NuflynMagister
    @NuflynMagister 11 місяців тому +4

    Дякую, Богдане! це корисно

  • @ItsMorze
    @ItsMorze 11 місяців тому

    Node.js was one of the biggest mistakes ever

  • @justafreak15able
    @justafreak15able 11 місяців тому

    How can you make javascript faster?
    By removing javascript 😂
    Well said 🤣

  • @alejobarrioblaya9509
    @alejobarrioblaya9509 11 місяців тому

    Javascript always sucked, always will. Don't try to portrait it as a survivor between infirior technollogies

  • @savire.ergheiz
    @savire.ergheiz 10 місяців тому

    The more you hate it, the more it will flourish 😂
    It will probably stays long after yoy guys who hates it died 😅

  • @budgetarms
    @budgetarms 10 місяців тому

    Rust is like a big downgrade from C++

  • @ThomazMartinez
    @ThomazMartinez 11 місяців тому +4

    Dude, you such a Rust fanboy, completly forgeting that Bun is writen in Zig and its so so much better and faster than Node.

    • @yunusycle
      @yunusycle 11 місяців тому +1

      It's a Rust channel...

    • @ThomazMartinez
      @ThomazMartinez 11 місяців тому

      @@yunusycle if this is a fanboy rust chanel them im out, i was hoping that this is not the case and the OP is more open minded

  • @qeqsiquemechanical9041
    @qeqsiquemechanical9041 11 місяців тому +2

    can we please just finally end JS completely? bloat needs to end

  • @RealCheesyBread
    @RealCheesyBread 11 місяців тому

    JavaScript managed to basically cause irreparable harm to the tech industry as a whole. With WebAssembly, Rust can potentially be the savior. Sadly Rust is a shitty language as it's all functional garbage, but it's a million times better than C++, and more efficient than trying to AOT-compile Java or C# or some other managed language.

    • @diadetediotedio6918
      @diadetediotedio6918 11 місяців тому +7

      ["Sadly Rust is a shitty language as it's all functional garbage"]
      I doubt you can reasonably justify this statement, because you also probably do not even know what "functional" means and surely don't know what Rust is.

    • @joshuaPurushothaman_
      @joshuaPurushothaman_ 11 місяців тому +7

      Before any fellow Rust fanboys try to address this person: if you click on their profile you'll see the "comments on other videos" section filled with "rust is dumb", "should have used traits", "rust isn't hard, it's just a dumb bullshit language" etc. Doesn't seem very interested in Rust, unfortunately.
      While I think this could be due to bad teaching, I'd reconsider typing out a full "no it's not!!!1!1!" comment if the person you're writing it for isn't going to agree anyways.

    • @joshuaPurushothaman_
      @joshuaPurushothaman_ 11 місяців тому +1

      That said... I'll take the bait! 😂
      - Traits: you could just view them as interfaces from Java/C# if you like? And then when you want, you can learn about the depths of it but at a high level that's what they are...
      - Rust itself being "not hard, just dumb": Are you entirely sure that "dumb" is the right word to describe the language that's popularizing the borrow checker, solving entire classes of bugs in the process? Sure, I hate some parts of it too: string types, verbosity, `unsafe` contamination, the list goes on... but personally, opening Rust for the first time isn't actually too hard, tbh. Just a different way of thinking, the same way I felt when I first learned Python and felt dynamic typing being weird. I figure Rust gets seriously hard later on, but we'll see. Why do you feel Rust is dumb?
      - Rust being "functional garbage": Okay, I can honestly understand the sentiment of "Imperative C did everything just fine, we didn't need to make any languages past the year 2010". I am also aware that functional programming can be FAR from usual for... well, everyone. But... dumb? Isolating side effects was previously a good practice, and is now a language requirement. That's all I see it as, more or less. (Please nobody tell me what a monoid in the category of endofunctors is)

    • @joshuaPurushothaman_
      @joshuaPurushothaman_ 11 місяців тому +1

      And JS causing irreparable harm to tech... is that re.: the framework shenanigans these days? Poor error handling, "11"== 11 type problems? From a historical lens, I think it's done good things but I haven't worked much with it 😅

    • @OnFireByte
      @OnFireByte 11 місяців тому

      Kind of confused: first, you seem like a Rust fanboy; then, you call it a shitty language, but then state that it's far better than 99.99% of the languages we use. Are you some kind of C mad lad or assembly lunatic?

  • @prashantm9856
    @prashantm9856 11 місяців тому

    I love rust and javascript❤, I really want the benchmark of new rust based tools for javascript

  • @LeChuck.x17
    @LeChuck.x17 11 місяців тому +1

    JavaScript Rust