WinterJS - A New Javascript Runtime

Поділитися
Вставка
  • Опубліковано 14 бер 2024
  • Recorded live on twitch, GET IN
    / theprimeagen
    Become a backend engineer. Its my favorite site
    boot.dev/?promo=PRIMEYT
    This is also the best way to support me is to support yourself becoming a better backend engineer.
    Article link: wasmer.io/posts/winterjs-v1
    By: Arshia Ghafoori
    MY MAIN YT CHANNEL: Has well edited engineering videos
    / theprimeagen
    Discord
    / discord
    Have something for me to read or react to?: / theprimeagenreact
    Kinesis Advantage 360: bit.ly/Prime-Kinesis
    Hey I am sponsored by Turso, an edge database. I think they are pretty neet. Give them a try for free and if you want you can get a decent amount off (the free tier is the best (better than planetscale or any other))
    turso.tech/deeznuts
  • Наука та технологія

КОМЕНТАРІ • 413

  • @knsense
    @knsense Місяць тому +553

    SummerJS is just around the corner

    • @lhard123l
      @lhard123l Місяць тому +46

      Just after SpringJS

    • @azizsafudin
      @azizsafudin Місяць тому +29

      @@lhard123lyes because we need to port it from Java

    • @trustytrojan
      @trustytrojan Місяць тому +4

      @@azizsafudin 💀💀💀💀💀

    • @nicholashendrata
      @nicholashendrata Місяць тому +10

      Lets not forget about AutumnJS

    • @tate_rs
      @tate_rs Місяць тому +8

      Then we will get SeasonsJS

  • @weeb3277
    @weeb3277 Місяць тому +620

    at this rate js runtimes will outpace new AI models.

    • @nekekaminger
      @nekekaminger Місяць тому +23

      I was gonna say they will outpace new js frameworks, but maybe that goes a little too far.

    • @justpatrick_
      @justpatrick_ Місяць тому +14

      @@nekekaminger Frameworks are at 10x release speed

    • @discordok7613
      @discordok7613 Місяць тому

      @@justpatrick_ai will create the frameworks

    • @Nothing_serious
      @Nothing_serious Місяць тому +6

      Seems like there's a Moore's Law for Javascript frameworks and runtimes.

    • @monad_tcp
      @monad_tcp Місяць тому +5

      I don't know why isn't anyone basically just compiling Typescript to C# or Rust or something faster at this point instead of compiling to Javascript and running in a dynamic runtime. (yes, I say compiling, `transpiling` is bullshit, its not even a word)

  • @StarContract
    @StarContract Місяць тому +210

    "Hardware is 100 times faster, which let me write programs that are 100 folds slower." - Modern Web Developers

    • @mephistotel87
      @mephistotel87 Місяць тому +2

      Ahaha, soooo true 😂

    • @MemeConnoisseur
      @MemeConnoisseur Місяць тому +3

      Read it in Jonathan Blow's voice

    • @Bare7a
      @Bare7a Місяць тому

      Yes because game devs doesn't write unoptimized games nowadays.

  • @tinrab
    @tinrab Місяць тому +596

    Why are we still benchmarking "no-op" HTTP servers? There should be higher standards for what we consider acceptable benchmarks.

    • @Kane0123
      @Kane0123 Місяць тому +58

      Blazingly has lost all meaning

    • @lucasschneider-dev
      @lucasschneider-dev Місяць тому +40

      Blazingly should mean "puts your processor in fire"

    • @_danisson
      @_danisson Місяць тому +2

      What no-op means ?

    • @Ignisami
      @Ignisami Місяць тому

      @@_danissonno-op = no operation. I.e.: do nothing and move on

    • @fumui_
      @fumui_ Місяць тому +41

      @@_danisson no operation
      basically doing nothing

  • @zacharythomasrobertson8471
    @zacharythomasrobertson8471 Місяць тому +291

    Let's face it. Developing a new JS framework has become the minimum requirement for an internship application at a startup that will last as long as the initial vc funding will take it.

    • @Billiegoose
      @Billiegoose Місяць тому +12

      Anything less can be done by Devin 😅

    • @kirayamato6128
      @kirayamato6128 Місяць тому

      lol

    • @Doomlovesearth2
      @Doomlovesearth2 Місяць тому +3

      A Year out of school for me and I still can't get my first tech job.

    • @justhit6673
      @justhit6673 Місяць тому

      ​@@Doomlovesearth2is it that bad?

    • @Doomlovesearth2
      @Doomlovesearth2 Місяць тому

      @@justhit6673 Yep.

  • @bencelaszlo666
    @bencelaszlo666 Місяць тому +61

    JS runtimes are the new to-do apps

  • @user-ef3ez1lf2n
    @user-ef3ez1lf2n Місяць тому +19

    While I was watching this video, 2 new runtimes, 8 new frontend frameworks, and approx 1 billion js libraries were released.

  • @_vicary
    @_vicary Місяць тому +29

    So is just those 3 big thing again:
    1. Google V8 for node
    2. Apple JSC for bun
    3. Mozilla SpiderMonkey for WinterJS

    • @LucasBonafe
      @LucasBonafe Місяць тому

      I'm here for Mozilla...

    • @_vicary
      @_vicary Місяць тому +1

      @@LucasBonafe Which one is better nowadays?
      AFAIK V8 does memory great, SpiderMonkey is so-so, JSC is known to be the slowest before iOS 17.

  • @damianodamianero
    @damianodamianero Місяць тому +68

    "blazing-fast" made my day

    • @CashMoney450
      @CashMoney450 Місяць тому +11

      "Blazingly fast" is the new "making the world a better place"

    • @j-dev2605
      @j-dev2605 Місяць тому

      when you just started to learn rust and need a motivation to proceed. xD i'm also a beginner BTW lol.

    • @Darbokst
      @Darbokst Місяць тому +2

      how fast is a blaze anyway.

  • @yamyam263
    @yamyam263 Місяць тому +82

    Days since last JavaScript tool: -9000

    • @kuklama0706
      @kuklama0706 Місяць тому +2

      0 programmers were scolded by their chief
      But then another one was gone, their number was FF

  • @oribennett6520
    @oribennett6520 Місяць тому +3

    Was just reading this article, and wished I had your input and boom! Here it is, thanks

  • @Matt_Kumar
    @Matt_Kumar Місяць тому +18

    Hey, I'm currently watching this video but I right away wanted to comment that your diagram and explanation on runtime and framework was probably the clearest I've come across yet. Thank you for this... helpful for me navigating this stuff

  • @kamiljanowski7236
    @kamiljanowski7236 Місяць тому +9

    That lightning reminds me of something else :P
    "WINAMP Winamp winamp. It really whips the lamma's ass"

  • @AdityaPimpalkar
    @AdityaPimpalkar Місяць тому +63

    Love it when he tells his editor to do something and he doesn't listen XD

    • @matronator
      @matronator Місяць тому

      I noticed this in another video as well, looks like he's slacking off :D

    • @imaadhaq540
      @imaadhaq540 Місяць тому +5

      ​@@kyle8575 there are multiple very clear jumpcuts in that part of the video so it's definitely them acknowledging it and choosing to ignore it rather than just being lazy lol

    • @kyle8575
      @kyle8575 Місяць тому +3

      @@imaadhaq540 In that case, I stand corrected. Going to delete my original comment as I don't want to spread misinformation.

  • @toast_dev
    @toast_dev Місяць тому +84

    I like the format of trying to explain things using the whiteboard

    • @Flexsan
      @Flexsan Місяць тому +17

      "ahem" technically it's a blackboard.

    • @Kane0123
      @Kane0123 Місяць тому +17

      What’s with the all the racism guys? It’s just a board.

    • @coldestbeer
      @coldestbeer Місяць тому +14

      Person of color board

    • @1Caja
      @1Caja Місяць тому +4

      ​@@coldestbeerSo... not-white-person board?

    • @whatsanimesh
      @whatsanimesh Місяць тому

      Who needs excalidraw

  • @hughmanwho
    @hughmanwho Місяць тому +23

    Only trust benchmarks where you can run it yourself on your own machine and see the numbers

  • @andythedishwasher1117
    @andythedishwasher1117 Місяць тому +11

    Wait a second, you had Spider Monkey right next to Tokio and we didn't even get a TOKIOOO? What have you become, Prime? I love Go as much as the next dev, but let's not forget where we came from.

  • @josefaguilar2955
    @josefaguilar2955 Місяць тому +2

    I love how the thumbnail is Prime looking towards the future but as soon as you click he's shaking his head and already upset. Classic Prime 😂

  • @brangja4815
    @brangja4815 Місяць тому +20

    Every js framework: Speed

    • @DsiakMondala
      @DsiakMondala Місяць тому +15

      Reality: Slow + 70gb RAM per button.

    • @mgord9518
      @mgord9518 Місяць тому

      Native languages: look what they need to mimic a fraction of our power

  • @KyleHarrisonRedacted
    @KyleHarrisonRedacted Місяць тому +19

    Lol “Fastest” and “SpiderMonkey” are words that have no business being in the same sentence as each other

    • @liorean
      @liorean Місяць тому

      To be fair, most of the speed are host questions, not scripting engine questions.

    • @tjmnkrajyej
      @tjmnkrajyej Місяць тому +1

      "SpiderMonkey is not the Fastest JavaScript engine."

    • @KyleHarrisonRedacted
      @KyleHarrisonRedacted Місяць тому

      @@tjmnkrajyej know what? Touché.

  • @digie3823
    @digie3823 Місяць тому +1

    I love it when there's something new in JS, it's always advertised as fastest or faster

  • @isaac_shelton
    @isaac_shelton Місяць тому +1

    can't wait to see what runtime comes out next month

  • @vyteniskuciauskas
    @vyteniskuciauskas Місяць тому

    I love that you paying attention to details. Asterisk ✳️ I was not aware of this 😅

  • @__kvik
    @__kvik Місяць тому +9

    I wrote an HTTP server in C++ using Drogon. It was ridiculously fast when serving pre-rendered pages, going up to a million req/s, easily beating Go doing the same. However, as soon as I started doing a bit of templating using various existing and naive JSON-in-the-middle approaches this dropped way down, sometimes to under 100k req/s. I then spent a bunch of time writing an inline templating engine based on libfmt that was able to go close to 700k req/s on a real workload.
    Oh, and by the way, the server in question was only ever intended to serve a single lone user at a time on a closed network, so that time spent turbo optimizing the hell out of it was suuuper worthy.

    • @voidwalker7774
      @voidwalker7774 Місяць тому +2

      Dude JSON makes everything slower. I use Rust/Axum and just switching from JSON to MsgPack gave 10-100 times speedup depending on message size.

  • @DrakiniteOfficial
    @DrakiniteOfficial День тому

    I appreciate that the benchmark Bun uses for its built-in builder is Three.js, which is a fairly large project. It's at least a real benchmark.
    In a way though, their hand was forced on that front, because they were just copying the benchmark that esbuild was using, since they wanted to demonstrate that bun was faster than esbuild.

  • @a-yo9312
    @a-yo9312 Місяць тому +2

    2019: fastest thing in the world was release of a new JavaScript framework
    2024: scratch that fastest thing in the world is release of a new js runtime environment

  • @monostate6629
    @monostate6629 Місяць тому +39

    are we still making JavaScript runtimes? haven't we learned anything?

    • @FlanPoirot
      @FlanPoirot Місяць тому +37

      clearly not, why do u think we keep making more electron garbage and offsetting any advancement in CPU tech by making our programs more bloated with 408349 layers of abstraction?

    • @trustytrojan
      @trustytrojan Місяць тому +6

      nope, we're wasting time making "flashy" new runtimes in "flashy" new languages using js engines that *aren't* v8 (💀) and not contributing to node.js... these runtimes are gonna go nowhere lmao

    • @aveydotdev
      @aveydotdev Місяць тому +4

      because they only know JavaScript

    • @32gigs96
      @32gigs96 Місяць тому +2

      @@FlanPoirotit’s not even abstraction. Just garbage.

    • @mgord9518
      @mgord9518 Місяць тому +1

      ​@@32gigs96It's both. The JS way of doing things is framework on top of framework on top of an already slow, heavily abstracted language

  • @TJYouToob
    @TJYouToob Місяць тому +3

    I fully enjoyed* this video.

  • @paulsisson8944
    @paulsisson8944 Місяць тому

    I really look forward to the day I understand all the code stuff you talk about easily.

  • @scheimong
    @scheimong Місяць тому +35

    So we're spamming runtimes now? Javascript is truly one of the languages of all time.

  • @frankdearr2772
    @frankdearr2772 14 днів тому

    great topic, thanks 👍

  • @zwerko
    @zwerko Місяць тому +33

    If only people invested all this effort into something that makes sense, unlike JS on backend (or anywhere else, really)... For some reason, re-lipsticking the pig seems to be the preferred modus operandi of our industry.

    • @fishplayer6320
      @fishplayer6320 Місяць тому +4

      Then... invested the effort somewhere else yourself? Such a weird take, let the people build the stuff they want.

    • @BusinessWolf1
      @BusinessWolf1 Місяць тому +2

      Maybe don't yell at water for flowing and instead get a hose?

  • @johnlovell8299
    @johnlovell8299 Місяць тому

    I started ingoring newJS Runtimes and Frameworks. For my needs, I can still use NodeJS and get everything done. :)

  • @kalkidanyishak3455
    @kalkidanyishak3455 Місяць тому +3

    new frameworks - > new runtimes - > new specific computing hardwares

  • @happykill123
    @happykill123 Місяць тому +4

    I always make applications that only serve "Hello World" responses so this fits my one use-case!

  • @lastink444
    @lastink444 Місяць тому +1

    thanks for hands-on test/duel between go and bun

  • @jithinkg9865
    @jithinkg9865 Місяць тому

    Can’t resist, I’m gonna day it. ‘Blazingly fast’

  • @asvirts
    @asvirts Місяць тому +14

    JavaScript is unhinged

  • @Jesusisinvincible
    @Jesusisinvincible Місяць тому

    I love your prime time

  • @reaganaustin5968
    @reaganaustin5968 Місяць тому +3

    LOOK WHAT THEY NEED TO DO TO MIMIC A FRACTION OF C++'S POWER

  • @devwckd
    @devwckd Місяць тому +2

    I was gonna say something about "haha javascript runtimes are the new javascript frameworks" but then I saw its made by wasmer and I went like 🥰🥰

    • @stefanalecu9532
      @stefanalecu9532 Місяць тому +1

      Your statement isn't incorrect and I don't get why Wasmer doing it is better

  • @ahallock
    @ahallock Місяць тому

    Time to update my project to use the new runtime. This will fix all my problems

  • @lpls
    @lpls Місяць тому +1

    Lua got mentioned! 🇧🇷

  • @codingprograms2078
    @codingprograms2078 Місяць тому

    Love this guy, bro😂😂😂😂

  • @ISKLEMMI
    @ISKLEMMI Місяць тому +1

    Presumably by "executed natively," they mean when WinterJS is compiled to x86-64 (or some other native instruction set) versus it being compiled to WASM to run inside of a browser-like application.
    They're not taking about the JavaScript code itself.

  • @rmcoder23
    @rmcoder23 Місяць тому

    bro my brain can't handle this anymore, that fact that I just started installing bun hours ago 💀

  • @wlockuz4467
    @wlockuz4467 Місяць тому

    Can't wait for SummerJS, MonsoonJS, SpringJS, FallJS

  • @anarabdullazad4649
    @anarabdullazad4649 Місяць тому +2

    Winter is coming

  • @HerrSiering
    @HerrSiering Місяць тому

    Absolutely here for the Mario Kart reference! ⚡️

  • @TheDragShot
    @TheDragShot Місяць тому +1

    Oh God, they're writing whole new JS runtimes now! Dx

  • @it_is_random
    @it_is_random Місяць тому +5

    Spidermonkey best name ever

  • @diegoramiro25
    @diegoramiro25 Місяць тому +10

    The Winter is coming ❄️

  • @himalczyk258
    @himalczyk258 Місяць тому +2

    Goood video, although, lets check if there is something new already out maybe 😅

  • @TheBearmoth
    @TheBearmoth Місяць тому

    XNA... That was a shoutout I was not expecting!

  • @kira.herself
    @kira.herself Місяць тому +2

    when do we get a package manager and registry for runtimes?

  • @psybertao
    @psybertao Місяць тому

    "...because at the end of the day, you're still running JavaScript."🏆

  • @weeb3277
    @weeb3277 Місяць тому +14

    uses gimp like a pro
    i bet he can make a circle in 2 steps

  • @jabuci
    @jabuci Місяць тому

    WinterJS? Sounds cool!

  • @brssnkl
    @brssnkl Місяць тому +1

    We want NUMBER GO BIG!

  • @deatho0ne587
    @deatho0ne587 Місяць тому

    Sale a new JS runtime to a group that is using VSC (roughly mid 2016), NodeJS before 14, Angular 11, and will not give their devs "ng" command access.
    For those that do not know what is "ng", it is sort of like "npx" but specifically for Angular builds. To get those commands to work you have to put those "ng" commands into package.json

  • @RenderingUser
    @RenderingUser Місяць тому

    Days since new js runtime: 0

  • @Vinu-kj6qg
    @Vinu-kj6qg Місяць тому +6

    Cant we create a compiler that compiles js code to machine code that is optimised and all the good stuff that will make js a good option for the server?

    • @theropoy9371
      @theropoy9371 Місяць тому +7

      Just use another language lol

    • @Vinu-kj6qg
      @Vinu-kj6qg Місяць тому

      @@theropoy9371 yeah i currently do my backend codes with spring boot.....but is it possible in js thats the question

    • @hamBurg101
      @hamBurg101 Місяць тому

      ​@@theropoy9371 bravo problem solved🤦🤦

    • @32gigs96
      @32gigs96 Місяць тому

      @@Vinu-kj6qgit’s literally v8. V8 does this. It’s a JIT compiler

    • @retropaganda8442
      @retropaganda8442 Місяць тому

      JS is not a static language, so, no, it can't be optimized.

  • @CameronBrown-ph9do
    @CameronBrown-ph9do Місяць тому +5

    Someone seeing 17 standards "we need one universal standard!"
    2 months later
    "There are now 43 standards, maybe we need one standard"

  • @hanifarroisimukhlis5989
    @hanifarroisimukhlis5989 Місяць тому

    Last few days i successfully compiles Boa (JS runtime in Rust) to pure WASM, no WASI, no bindgen. So i guess that's a plus.

  • @LuisRebaixado
    @LuisRebaixado Місяць тому

    LOL took me a while to notice it was your Pixel that was getting notifications and not mine.

  • @LaughingRam
    @LaughingRam Місяць тому +1

    WinterJs Is Coming

  • @renejotas
    @renejotas Місяць тому +9

    the new js framework everyday became the new js runtime everyday

  • @ThomasPoth
    @ThomasPoth Місяць тому +3

    * != valid

  • @spageen
    @spageen Місяць тому +1

    I’ll just close my eyes for 1 year and let all these frameworks battle it out

  • @le_moski
    @le_moski Місяць тому

    Finally I'm able to start my wasmedging streak

  • @tacklemcclean
    @tacklemcclean Місяць тому +2

    Idea: take Primeagens "whiteboard" character drawings and turn it into a font.
    Then use that font while coding. In VSCode

  • @_aurora60
    @_aurora60 Місяць тому +1

    From the creators of “yet another JS framework”…
    YET ANOTHER JS RUNTIME :D

  • @Kashi754
    @Kashi754 Місяць тому +1

    We've switched from constant releases of new JS frameworks to full JS runtimes. What's next?

  • @anarhistul7257
    @anarhistul7257 Місяць тому +1

    About fucking time for a new JS something

  • @AQWLxRaN
    @AQWLxRaN Місяць тому

    Can't believe Theo did "TOKIOOOOOOOO" and Prime didn't Sadge

  • @Serizon_
    @Serizon_ Місяць тому

    I agree to prime take on benchmarks.

  • @PiotrPavel
    @PiotrPavel Місяць тому +1

    They are multiplying like Bacteria

  • @randompep
    @randompep Місяць тому +2

    Before we find out that it was written by Devin 😂😂

  • @Kay8B
    @Kay8B Місяць тому

    "Hey flip edit this...." Flip does not edit and we watch prime awkwardly mumble to himself setting up a new project 🤣🤣

  • @user-tb4ig7qh9b
    @user-tb4ig7qh9b Місяць тому

    I am thinking about writing a rollup alternative in zig

  • @noredine
    @noredine Місяць тому

    So, it doesn't matter with simple workloads, but how handles your use cases?

  • @kingnick6260
    @kingnick6260 Місяць тому

    Shoutout to all of the Super Mario Kart enthusiasts, for those who are actually aware of its existence

  • @Atmos41
    @Atmos41 Місяць тому

    The only thing that would shake the JS runtime space is a compiler with 2-3x performance. Sticking with standard JIT Javascript is just going to be slow regardless.

  • @atiedebee1020
    @atiedebee1020 Місяць тому

    It wont take long before there are more JavaScript runtimes than C compilers.

  • @KvapuJanjalia
    @KvapuJanjalia Місяць тому +2

    December.js Jaunary.js February.js and so on.

  • @kerduslegend2644
    @kerduslegend2644 Місяць тому +1

    like seriously, if i were to done my projects and building portfolio at the same rate as JS making another framework i will probably rich enough i'll retire in my 20, having my own yatch, and living on a mansion rather than thinking of hopping jobs and risking myself of early heart attack.

  • @rajarshiparmar1990
    @rajarshiparmar1990 Місяць тому

    Its so nice that Nikola Tesla explains us computer science.

  • @lukeskywalker7029
    @lukeskywalker7029 Місяць тому

    Would be great to have a tutorial on how to build a winterjs Dockerimage

  • @JohnSmith-gu9gl
    @JohnSmith-gu9gl 22 дні тому +1

    when will we get a Rust powered JS runtime?

  • @rjwhite4424
    @rjwhite4424 Місяць тому

    When you shout you sound like Michael Scott from the Office

  • @bitwize
    @bitwize Місяць тому

    Me: loves scheme
    The world: Nobody develops serious software in Scheme. There are too many implementations and they all work differently.
    JavaScript: has Node, Deno, Bun, WinterJS, all the different subtly incompatible browser runtimes, QML, GNOME...
    The world: 😍

  • @seanknowles9985
    @seanknowles9985 Місяць тому

    But deep down you do care, I bet we will see a todo application in 3 hours time testing wasmer against all frameworks. We are with you Primetime.

  • @HalfMonty11
    @HalfMonty11 Місяць тому

    The speed shouldn't be their selling point, but having a wasmer runtime is actually really dope. Wasm will slowly take over. It's already being added to k8s as a runnable type because it solves a lot of the problems that docker does, but lighter and static with basically no cold start times

  • @luizgrocco
    @luizgrocco Місяць тому

    "Don't have all of this" lol

  • @Wielorybkek
    @Wielorybkek Місяць тому

    I'm telling you, soon someone will come up with a "runtime manager"

  • @lucaspham5238
    @lucaspham5238 Місяць тому +1

    they released new JS framework like every nanosecond

  • @Serizon_
    @Serizon_ Місяць тому

    Bun is good but I don't feel sure about using a for profit company as a runtime when theres node + pnpm . (atleast currently , and I am leaning towards golang)

  • @deado7282
    @deado7282 Місяць тому +3

    Waiting for spring.js or fall.js

  • @LuicMarin
    @LuicMarin Місяць тому

    Guess I'm sticking with node until we get the over 20+ new runtimes and one of them actually ends up being useful

  • @jhonyhndoea
    @jhonyhndoea Місяць тому

    3 cores will be slower than a single thread cuz of the caches if the cores share any state