Rust keeps making JavaScript faster

แชร์
ฝัง

ความคิดเห็น • 198

  • @letsgetrusty
    @letsgetrusty  3 หลายเดือนก่อน +7

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

  • @Speykious
    @Speykious 3 หลายเดือนก่อน +171

    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  3 หลายเดือนก่อน +57

      Hmm this fact doesn't seem to fit my narrative

    • @phill6859
      @phill6859 3 หลายเดือนก่อน +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 3 หลายเดือนก่อน +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.

    • @RecoilR
      @RecoilR 3 หลายเดือนก่อน +9

      You're mostly right, but there's a slight clarification to make about NaN. While NaN stands for "Not a Number," it's not actually a number itself. It's a special value in floating-point arithmetic that represents an undefined or unrepresentable result.
      The IEEE 754 standard, as you mentioned, defines how floating-point numbers are represented and manipulated in computers. This standard includes NaN as a way to handle operations that would otherwise result in undefined values, like dividing by zero or taking the square root of a negative number.
      So, while every programming language that uses floats has NaN, it's not a true number but rather a placeholder for indeterminate values. It's an important part of ensuring robust and predictable behavior in floating-point calculations.
      Here are some additional interesting facts about NaN:
      There are actually different types of NaNs, such as quiet NaNs and signaling NaNs, which serve different purposes.
      NaN is not equal to itself, even though it might seem counterintuitive. This is because NaN represents an undefined value, and two undefined values cannot be compared meaningfully.
      Many programming languages provide functions to check if a value is NaN, which is helpful for handling potential errors in calculations.
      I hope this clarifies the concept of NaN!

    • @vaisakhkm783
      @vaisakhkm783 3 หลายเดือนก่อน

      @@letsgetrusty XD justs today i learn that in collage

  • @FRESHGAMENEWS
    @FRESHGAMENEWS 3 หลายเดือนก่อน +104

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

    • @codejunki567
      @codejunki567 3 หลายเดือนก่อน +16

      That's an oxymoron

    • @turolretar
      @turolretar 3 หลายเดือนก่อน +3

      good one

    • @letsgetrusty
      @letsgetrusty  3 หลายเดือนก่อน +2

      Thanks for the suggestion :)

    • @idedary
      @idedary 3 หลายเดือนก่อน

      @@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 3 หลายเดือนก่อน

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

  • @Benni1000games
    @Benni1000games 3 หลายเดือนก่อน +98

    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 3 หลายเดือนก่อน +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 3 หลายเดือนก่อน +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_ 3 หลายเดือนก่อน +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 3 หลายเดือนก่อน

      @@jongeduardyou could do fixed point arithmetic in js

    • @letsgetrusty
      @letsgetrusty  3 หลายเดือนก่อน +5

      Thanks for clarifying :)

  • @Beryesa.
    @Beryesa. 3 หลายเดือนก่อน +159

    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 3 หลายเดือนก่อน +1

      That's the real question

    • @Mr.BinarySniper
      @Mr.BinarySniper 3 หลายเดือนก่อน +8

      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 3 หลายเดือนก่อน +2

      Because they should not be in the industry.

    • @Beryesa.
      @Beryesa. 3 หลายเดือนก่อน

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

    • @nubunto
      @nubunto 3 หลายเดือนก่อน +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 3 หลายเดือนก่อน +31

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

    • @peterfireflylund
      @peterfireflylund 3 หลายเดือนก่อน

      Not a number.

    • @jongeduard
      @jongeduard 3 หลายเดือนก่อน

      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 3 หลายเดือนก่อน

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

    • @jongeduard
      @jongeduard 3 หลายเดือนก่อน

      @@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.

  • @DiogoBaeder
    @DiogoBaeder 3 หลายเดือนก่อน +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.

  • @thekwoka4707
    @thekwoka4707 3 หลายเดือนก่อน +35

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

    • @carlosmspk
      @carlosmspk 3 หลายเดือนก่อน +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 3 หลายเดือนก่อน

      @@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.

    • @blenderpanzi
      @blenderpanzi 3 หลายเดือนก่อน

      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 3 หลายเดือนก่อน +1

      From a readability standpoint, it's busted af.

    • @casperes0912
      @casperes0912 3 หลายเดือนก่อน +3

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

  • @yds6268
    @yds6268 3 หลายเดือนก่อน +16

    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 3 หลายเดือนก่อน +4

      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 3 หลายเดือนก่อน

      @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

    • @stone-snare
      @stone-snare 3 หลายเดือนก่อน

      @@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 3 หลายเดือนก่อน

      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 3 หลายเดือนก่อน

      @@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.

  • @sergandonl
    @sergandonl 3 หลายเดือนก่อน +1

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

  • @sledgex9
    @sledgex9 3 หลายเดือนก่อน +9

    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 3 หลายเดือนก่อน +9

      WAAAAA THEY WONT USE MY FAVORITE template LANGUAGE

    • @sledgex9
      @sledgex9 3 หลายเดือนก่อน +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?

    • @axisaligned9799
      @axisaligned9799 3 หลายเดือนก่อน +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 3 หลายเดือนก่อน

      ​@@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 3 หลายเดือนก่อน

      @@axisaligned9799 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!

  • @adrielyozan7203
    @adrielyozan7203 3 หลายเดือนก่อน

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

  • @Code_Cabin
    @Code_Cabin 26 วันที่ผ่านมา

    Hey Bogdan, I can't thank you enough for the knowledge you've shared on "Let's Get Rusty"! 🙏 Your Rust tutorials have not only helped me build my own library for matrix manipulation, but they've also inspired me to start my own TH-cam channel. 🎉
    On my channel, I'm sharing my journey as I code along and apply what I've learned from your tutorials. It's been an incredible way to reinforce my understanding and share my progress with others. Your work has truly sparked a passion in me for learning and teaching Rust.
    Keep up the fantastic work, you're making a huge difference in the programming community! 👏👏👏

  • @hwndept
    @hwndept 3 หลายเดือนก่อน +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 3 หลายเดือนก่อน

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

  • @StephenRayner
    @StephenRayner 3 หลายเดือนก่อน +13

    Rust compilation time isn’t even its strongest point

    • @noomade
      @noomade 3 หลายเดือนก่อน +1

      Yeah, Go is like "you think that's fast ? "

    • @lgasc
      @lgasc 3 หลายเดือนก่อน

      Lol many rustaceans actually complains about the compilation times.

    • @noomade
      @noomade 3 หลายเดือนก่อน

      @@lgasc only after using go though

    • @thegoldenatlas753
      @thegoldenatlas753 3 หลายเดือนก่อน +1

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

    • @KSmifune
      @KSmifune 3 หลายเดือนก่อน

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

  • @JorgetePanete
    @JorgetePanete 3 หลายเดือนก่อน +6

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

  • @yoni532s9M5w
    @yoni532s9M5w 3 หลายเดือนก่อน

    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.

  • @lexigbokwe
    @lexigbokwe 3 หลายเดือนก่อน +2

    Which Shopify build tool runs for one hour?

  • @hiwarekar22
    @hiwarekar22 3 หลายเดือนก่อน

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

  • @SuperQuwertz
    @SuperQuwertz 3 หลายเดือนก่อน +1

    More videos for Rust supporting JS please!

  • @dog4ik
    @dog4ik 3 หลายเดือนก่อน +5

    You are my WebDevSimplified of rust

    • @whatsanimesh
      @whatsanimesh 3 หลายเดือนก่อน +1

      WDS is LGR of JS

  • @greenspand
    @greenspand 3 หลายเดือนก่อน

    Great videos mate.

  • @brownboyintokyo7368
    @brownboyintokyo7368 3 หลายเดือนก่อน +4

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

    • @lll_Death_lll
      @lll_Death_lll 3 หลายเดือนก่อน

      In my opinion, Axum is better

    • @sohn7767
      @sohn7767 3 หลายเดือนก่อน

      Use Axum instead

  • @DelandaBaudLacanian
    @DelandaBaudLacanian 3 หลายเดือนก่อน +1

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

    • @TheRealAfroRick
      @TheRealAfroRick 3 หลายเดือนก่อน +4

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

  • @lubba64
    @lubba64 3 หลายเดือนก่อน +1

    This is also happening in the python ecosystem with ruff

  • @johnsoto7112
    @johnsoto7112 3 หลายเดือนก่อน

    Code with Antonio made a cameo!

  • @PurpleLibRight
    @PurpleLibRight 3 หลายเดือนก่อน

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

    • @kevinmcfarlane2752
      @kevinmcfarlane2752 3 หลายเดือนก่อน

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

  • @pepkin88
    @pepkin88 3 หลายเดือนก่อน

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

  • @soushi8885
    @soushi8885 3 หลายเดือนก่อน

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

  • @rafael_tg
    @rafael_tg 3 หลายเดือนก่อน +3

    Interesting. The same movement is happening on python world

  • @frankdearr2772
    @frankdearr2772 3 หลายเดือนก่อน

    great topic 👍

  • @user-re7zb6oo2s
    @user-re7zb6oo2s 3 หลายเดือนก่อน +1

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

  • @SRG-Learn-Code
    @SRG-Learn-Code 3 หลายเดือนก่อน

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

    • @_Toasty
      @_Toasty 2 หลายเดือนก่อน

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

  • @ashwinsolanki6549
    @ashwinsolanki6549 3 หลายเดือนก่อน

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

  • @Volt-Eye.
    @Volt-Eye. 3 หลายเดือนก่อน +2

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

    • @user-re7zb6oo2s
      @user-re7zb6oo2s 3 หลายเดือนก่อน

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

  • @DavidChoiProgrammer
    @DavidChoiProgrammer 3 หลายเดือนก่อน +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 3 หลายเดือนก่อน +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 3 หลายเดือนก่อน +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 3 หลายเดือนก่อน

      @@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

    • @axisaligned9799
      @axisaligned9799 3 หลายเดือนก่อน +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...

  • @va9if
    @va9if 3 หลายเดือนก่อน +2

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

    • @kevinmcfarlane2752
      @kevinmcfarlane2752 3 หลายเดือนก่อน

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

    • @zoey5104
      @zoey5104 3 หลายเดือนก่อน

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

    • @va9if
      @va9if 3 หลายเดือนก่อน

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

    • @va9if
      @va9if 3 หลายเดือนก่อน

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

  • @caspera3193
    @caspera3193 3 หลายเดือนก่อน

    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

  • @J-qak
    @J-qak 3 หลายเดือนก่อน +2

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

  • @pierrefrotier
    @pierrefrotier 3 หลายเดือนก่อน +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 3 หลายเดือนก่อน +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`).

  • @HaydonRyan
    @HaydonRyan 3 หลายเดือนก่อน

    Yay another Lets Get Rusty. :)

  • @innoventstack
    @innoventstack 3 หลายเดือนก่อน

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

  • @rodrigosouto9502
    @rodrigosouto9502 17 วันที่ผ่านมา

    No one:
    Rewrite in Rust: YES!!!

  • @pablodenapoli1667
    @pablodenapoli1667 3 หลายเดือนก่อน +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 3 หลายเดือนก่อน +1

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

  • @victorhenriquecollasanta4740
    @victorhenriquecollasanta4740 3 หลายเดือนก่อน

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

  • @leshommesdupilly
    @leshommesdupilly 3 หลายเดือนก่อน +1

    Rusr is like cpp if the compiler was a total Karen

  • @avinag
    @avinag 4 วันที่ผ่านมา

    VSCODE should be written in Rust

  • @-indeed8285
    @-indeed8285 3 หลายเดือนก่อน

    As a React dev, Oxlint & Turbopack is ❤

  • @Beryesa.
    @Beryesa. 3 หลายเดือนก่อน +1

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

    • @jolynele2587
      @jolynele2587 3 หลายเดือนก่อน +4

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

    • @Beryesa.
      @Beryesa. 3 หลายเดือนก่อน

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

    • @Turalcar
      @Turalcar 3 หลายเดือนก่อน +2

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

  • @greekapostle4548
    @greekapostle4548 3 หลายเดือนก่อน +1

    What about zig

    • @kevinmcfarlane2752
      @kevinmcfarlane2752 3 หลายเดือนก่อน

      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.

  • @andersonpyaban8042
    @andersonpyaban8042 3 หลายเดือนก่อน

    Public class javaTools extends JFrame(

  • @mkolbat
    @mkolbat 3 หลายเดือนก่อน

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

  • @fnizzelwhoop
    @fnizzelwhoop 3 หลายเดือนก่อน +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 3 หลายเดือนก่อน

      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.

  • @edgarhammond2252
    @edgarhammond2252 3 หลายเดือนก่อน +1

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

    • @phoenix-tt
      @phoenix-tt 3 หลายเดือนก่อน

      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.

  • @Woeden
    @Woeden 3 หลายเดือนก่อน +1

    Javascript and React needs to be replaced. Long live Rust

  • @skiesaboveunlimitedstargaz7316
    @skiesaboveunlimitedstargaz7316 3 หลายเดือนก่อน

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

  • @NuflynMagister
    @NuflynMagister 3 หลายเดือนก่อน +4

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

  • @dipereira0123
    @dipereira0123 3 หลายเดือนก่อน +5

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

    • @florentd.5817
      @florentd.5817 3 หลายเดือนก่อน

      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....😅

  • @prashantm9856
    @prashantm9856 3 หลายเดือนก่อน

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

  • @rmbl349
    @rmbl349 3 หลายเดือนก่อน

    nextstep: fully replace javasscript with rust

  • @mehdiyahiacherif2326
    @mehdiyahiacherif2326 3 หลายเดือนก่อน

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

  • @seasong7655
    @seasong7655 3 หลายเดือนก่อน

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

  • @gavenblsn4753
    @gavenblsn4753 3 หลายเดือนก่อน +1

    make a video

  • @Imnotacryptobro
    @Imnotacryptobro 3 หลายเดือนก่อน

    Vercel is not the creator of web pack

  • @Fordi
    @Fordi 3 หลายเดือนก่อน

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

  • @alex-costantino
    @alex-costantino 3 หลายเดือนก่อน +1

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

  • @minibubblegum5108
    @minibubblegum5108 3 หลายเดือนก่อน +3

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

    • @Turalcar
      @Turalcar 3 หลายเดือนก่อน

      Still works as a pun

  • @pseudonymity0000
    @pseudonymity0000 3 หลายเดือนก่อน

    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?

  • @48_subhambanerjee22
    @48_subhambanerjee22 3 หลายเดือนก่อน +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

  • @RichardRemer
    @RichardRemer 3 หลายเดือนก่อน

    Ridiculous. My "builds" take 0 seconds. Because JS doesn't require builds.

  • @milosjc
    @milosjc 3 หลายเดือนก่อน

    "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.

  • @florentd.5817
    @florentd.5817 3 หลายเดือนก่อน

    You missed jquery !

  • @blenderpanzi
    @blenderpanzi 3 หลายเดือนก่อน +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 3 หลายเดือนก่อน

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

  • @bennythetiger6052
    @bennythetiger6052 3 หลายเดือนก่อน

    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)

  • @MrAbrazildo
    @MrAbrazildo 3 หลายเดือนก่อน

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

  • @vimaximus1360
    @vimaximus1360 3 หลายเดือนก่อน +1

    node was a big mistake

    • @SRG-Learn-Code
      @SRG-Learn-Code 3 หลายเดือนก่อน +1

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

    • @redpillsatori3020
      @redpillsatori3020 3 หลายเดือนก่อน

      @@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.

  • @sighupcmd
    @sighupcmd 3 หลายเดือนก่อน +1

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

  • @redpillsatori3020
    @redpillsatori3020 3 หลายเดือนก่อน

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

  • @hermestrismegistus9142
    @hermestrismegistus9142 3 หลายเดือนก่อน +1

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

  • @justafreak15able
    @justafreak15able 3 หลายเดือนก่อน

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

  • @ItsMorze
    @ItsMorze 3 หลายเดือนก่อน

    Node.js was one of the biggest mistakes ever

  • @js-ny2ru
    @js-ny2ru 3 หลายเดือนก่อน

    Sorry but I consider Deno as a failure...

  • @wesleymatos6899
    @wesleymatos6899 3 หลายเดือนก่อน

    “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”

  • @zakyvids6566
    @zakyvids6566 3 หลายเดือนก่อน +1

    Like my comment if you want to see rust projects

  • @rmnilin
    @rmnilin 3 หลายเดือนก่อน

    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 3 หลายเดือนก่อน +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 3 หลายเดือนก่อน

      ​ @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 😉

  • @savire.ergheiz
    @savire.ergheiz 3 หลายเดือนก่อน

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

  • @alejobarrioblaya9509
    @alejobarrioblaya9509 3 หลายเดือนก่อน

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

  • @qeqsiquemechanical9041
    @qeqsiquemechanical9041 3 หลายเดือนก่อน +2

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

  • @budgetarms
    @budgetarms 3 หลายเดือนก่อน

    Rust is like a big downgrade from C++

  • @ThomazMartinez
    @ThomazMartinez 3 หลายเดือนก่อน +3

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

    • @yunusycle97
      @yunusycle97 3 หลายเดือนก่อน

      It's a Rust channel...

    • @ThomazMartinez
      @ThomazMartinez 3 หลายเดือนก่อน

      @@yunusycle97 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

  • @RealCheesyBread
    @RealCheesyBread 3 หลายเดือนก่อน

    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 3 หลายเดือนก่อน +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_ 3 หลายเดือนก่อน +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_ 3 หลายเดือนก่อน +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_ 3 หลายเดือนก่อน +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 3 หลายเดือนก่อน

      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?

  • @LeChuck.x17
    @LeChuck.x17 3 หลายเดือนก่อน +1

    JavaScript Rust