Walking Away From JavaScript

แชร์
ฝัง
  • เผยแพร่เมื่อ 22 ธ.ค. 2024

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

  • @WebDevCody
    @WebDevCody 4 หลายเดือนก่อน +1435

    I made it bois, prime reacted.

    • @oliverhughes169
      @oliverhughes169 4 หลายเดือนก่อน +18

      Subbed! ❤

    • @GreenPixel00
      @GreenPixel00 4 หลายเดือนก่อน +30

      You just need to dis JS

    • @rawallon
      @rawallon 4 หลายเดือนก่อน +23

      Bro, I've subbed like 2 years ago now, and you've been putting out banger after banger for years, I always leave your videos with an insight

    • @KOBE42__
      @KOBE42__ 4 หลายเดือนก่อน +7

      You just need to grow a moustache now 👌

    • @asagiai4965
      @asagiai4965 4 หลายเดือนก่อน +1

      Nice

  • @hamm8934
    @hamm8934 4 หลายเดือนก่อน +293

    Cody is great. Super honest and not trying to put on a facade. His videos feel like a chatting with a co-worker on a Thursday afternoon when no one wants to work on bugs anymore and just wanna chat about fun tech.

    • @dandogamer
      @dandogamer 4 หลายเดือนก่อน +36

      I like cody he doesnt pretend to know more than he does and is super responsive to comments/feedback :)

    • @jancartman321
      @jancartman321 4 หลายเดือนก่อน

      he definitely seems like a honest guy ... but running a static site on Vercel with NextJS and complaining about memory usage? Running Bun and finding memory leaks? Being impressed by Go channels but no word on web workers?

    • @WebDevCody
      @WebDevCody 4 หลายเดือนก่อน +32

      @@dandogamer I just ask ChatGPT questions before I make videos and edit it to sound intelligent 😎

    • @zeasdz
      @zeasdz 4 หลายเดือนก่อน

      @@WebDevCody based

    • @philipfisher8853
      @philipfisher8853 4 หลายเดือนก่อน

      ​@@dandogamer like other self proclaimed gurus at 25

  • @infastin3795
    @infastin3795 4 หลายเดือนก่อน +151

    Prime has turned the 15 minute video into an hour-long video once again. Hooray 🎉.

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

      he is doing everytime. our boy knows his audience well

    • @Voidstroyer
      @Voidstroyer 4 หลายเดือนก่อน +13

      He is the asmongold of tech youtube

    • @victor1882
      @victor1882 4 หลายเดือนก่อน +19

      @@Voidstroyer you can't compare the two, prime turns a 15 minute video into an hour of good discussion points and tangents, asmon just repeats a lot of the video and says "that's crazy"

    • @Voidstroyer
      @Voidstroyer 4 หลายเดือนก่อน

      @@victor1882 You are correct with those extra details. I was merely stating the comparison of turning a short video into a long one.

    • @thekwoka4707
      @thekwoka4707 4 หลายเดือนก่อน

      It wouldn't be transformative...

  • @williamlvea
    @williamlvea 4 หลายเดือนก่อน +121

    At my work they require us to use a bunch of in-house developed dependencies. Thanks to these, some apps have post-startup pre-workload idle memory usage of >800MB..

    • @ds_7
      @ds_7 4 หลายเดือนก่อน +5

      Why even use the in-house crap if it sucks?

    • @QvsTheWorld
      @QvsTheWorld 4 หลายเดือนก่อน +22

      @@ds_7 My guess is that OP works for a company that make apps for other business and therefore prioritize having a standard architecture. This can make it easier to support multiple ongoing projects, streamline the development and switch team members around.

    • @darshandev1754
      @darshandev1754 4 หลายเดือนก่อน +11

      @@QvsTheWorld in-house takes cremedelacreme talent to be a success

    • @tensor5113
      @tensor5113 4 หลายเดือนก่อน +8

      @@darshandev1754 It takes a developer centric culture, "normal" corporate culture cannot foster excellent in-house libraries/tools.

    • @realskyquest
      @realskyquest 4 หลายเดือนก่อน

      ​​@@tensor5113its definitely a dev company, I can guess it bcuz I have read several blogs and did research on tech where I live.

  • @Awesomo4000
    @Awesomo4000 4 หลายเดือนก่อน +9

    2:53 I inherited a code base once from a guy who was obsessed with Ramda. After realizing I didn't understand what was going on I started rewriting more and more of the code to actually get rid of it. In the end everyone finally understood what was actually going on and we could quickly identify the bugs that had been in the app from the start.

  • @Jarikraider
    @Jarikraider 4 หลายเดือนก่อน +91

    Imagine the thousands and thousands of drives in a data center like Google's or Amazon's. All that heat generated and electricity being consumed to operate them. Now imagine them running in Javascript.

    • @thewhitefalcon8539
      @thewhitefalcon8539 4 หลายเดือนก่อน +8

      They are

    • @Jarikraider
      @Jarikraider 4 หลายเดือนก่อน +9

      @@thewhitefalcon8539 say sike right now

    • @gglegenday
      @gglegenday 4 หลายเดือนก่อน +8

      A literal crime against humanity

    • @gracjanchudziak4755
      @gracjanchudziak4755 4 หลายเดือนก่อน +10

      Developers do not care about our environment. The amount of wasted energy due to lazy, mediocre developers is just terrible.

    • @TreesPlease42
      @TreesPlease42 4 หลายเดือนก่อน

      @@gracjanchudziak4755 I have bad news for you: it doesn't stop there

  • @TradieTrev
    @TradieTrev 4 หลายเดือนก่อน +1

    This is on par with best dev convos I've seen hahaha! Love your work mate!

  • @orderandchaos_at_work
    @orderandchaos_at_work 4 หลายเดือนก่อน +94

    Why would a static page need any memory at all?!

    • @quantran4704
      @quantran4704 4 หลายเดือนก่อน

      Maybe because they need VDom for react.js to optimization that website? hahaha

    • @baka_baca
      @baka_baca 4 หลายเดือนก่อน +27

      The server still would need some memory to be able to handle the requests themselves, like setting up the connection and processing what the request is for, stuff like that.

    • @EdmondDantèsDE
      @EdmondDantèsDE 4 หลายเดือนก่อน

      @@orderandchaos_at_work because JS Andys don't know the difference between a web framework and a web server.

    • @1rez378
      @1rez378 4 หลายเดือนก่อน +20

      The 0 RAM server challenge, let's go!

    • @exactzero
      @exactzero 4 หลายเดือนก่อน +19

      @@baka_baca Just host the static html file to a CDN

  • @Nathaniel-d3i
    @Nathaniel-d3i 4 หลายเดือนก่อน +36

    He's not wrong, debounce and throttle are easy functions you can implement by yourself. Lodash just makes it quick and easy.

    • @JanVerny
      @JanVerny 4 หลายเดือนก่อน +7

      But what's the point of doing something yourself if you're not actually doing a better job? Sure I roll my own debounce, but I am not gaining anything by doing that. People shit on js dependencies, but those are not what makes js perform badly. JS is just fundamentally not designed for performance.

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

      Lodash is awesome, many langauges have similar functionality in the standard library, and lodash is stable enough and good enough to provide that stdlib-like functionality easily and cheaply.

    • @tukib_
      @tukib_ 4 หลายเดือนก่อน

      @@JanVerny liability

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

      @@JanVerny javascript is not fundamentally designed for performance, so by including unnecessary things you are incurring a larger cost than in some sort of systems programing language. if you want the debounce function, just what you need directly into your project

    • @JanVerny
      @JanVerny 4 หลายเดือนก่อน +1

      @@gwentarinokripperinolkjdsf683 But I need a debounce function anyways, it's not unnecessary. What larger cost is there?

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

    @13:18 there is a great video by the V8 devs that talks about this; basically the V8 optimizer can see your structure and minimize the memory usage because it knows the shape - the caveat is that if you start doing stupid stuff like appending keys into that object, it falls over and can't optimize it out.

  • @EdmondDantèsDE
    @EdmondDantèsDE 4 หลายเดือนก่อน +199

    Make monoliths great again.

    • @manaslovesbirds
      @manaslovesbirds 4 หลายเดือนก่อน +18

      Modular monoliths (modulith) - best of both worlds!

    • @dandogamer
      @dandogamer 4 หลายเดือนก่อน +6

      The monolith tooling and hardware have both gotten a lot better. It's in a much nicer position than 5 years ago

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

      Nobody needs fucking Necrons in their codebase.

    • @heuristix77
      @heuristix77 4 หลายเดือนก่อน +2

      @@basione clearly we need to define and implement Imperator Titan architecture.

    • @monad_tcp
      @monad_tcp 4 หลายเดือนก่อน

      yeah, why are people scaling horizontally when you can put 256GB of RAM in a single process very easily, why are you going for $10/mo AWS bullshit microservice when you can just have a single $35K server running your entire thing for 3 years when you have less than 20,000 consumers. Heck, if you optimize for C1M, you can still have the same $35K server and literally save millions of dollars in cloud computing, just because you used monolith applications and scaled vertically.
      I bet people do that because they're afraid of servers. they don't bite, trust me, I'm doing my own computing with my own hardware since 2011, hardware keeps getting faster, I'm still not going to need NetFlix (TM) scale until I have a million customers, then I can afford more servers and go for microservice.
      Why would I rent servers from bezos if I can buy them ? I prefer to have Capex instead of Opex, specially if Capex is ten times less than Opex.

  • @Mouradif
    @Mouradif 4 หลายเดือนก่อน +61

    "Why does a single static page use so much memory". Maybe don't use Next.JS for a single static page

    • @funkdefied1
      @funkdefied1 4 หลายเดือนก่อน +6

      That’s the whole point of the video!

    • @faridguzman91
      @faridguzman91 4 หลายเดือนก่อน +5

      i like cody but its just sunk cost stockholm syndromeat this point, and its just painful to see lol

    • @DanWalshTV
      @DanWalshTV 4 หลายเดือนก่อน +8

      While I agree (there's zero reason to use Next.js for a landing page like that), he also could've simply set his 'output' value in his next.config.js file to 'export', which would give him an actual static page that could be deployed to any HTTP server/CDN lol

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

      @@DanWalshTV it is not about hosting the static content, it is about why it consumes that much memory with just a simple app. Let say your app need a simple database then you back to the main question: why just doing a simple backend task need that much memory.

    • @Mouradif
      @Mouradif 4 หลายเดือนก่อน

      @@funkdefied1 yeah I commented while watching, then heard my comment back in the rest if the video 😅. I just had to…

  • @pik910
    @pik910 4 หลายเดือนก่อน +420

    JavaScript developer shocked: learns that bloat is actually bad

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

      😂

    • @jsonkody
      @jsonkody 4 หลายเดือนก่อน +20

      bloat is not bad!
      You can ride on water in it!

    • @HrDernacht
      @HrDernacht 4 หลายเดือนก่อน +10

      *acknowledges - get's back to bloating stuff.

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

      @@jsonkody That's a boat, man

    • @colinstu
      @colinstu 4 หลายเดือนก่อน +7

      How are they not thinking of bloat every second? I know why but still, it's troubling how many pay it no mind.

  • @pesterenan
    @pesterenan 4 หลายเดือนก่อน +12

    "People that use Ramda, are people who want to make a codebase only usable by them" 2:54
    THIS IS SO TRUE! Ramda is HORRIBLE, it's like you're reading backwards, everytime you need to put the effect of some function on your 'head scope' it gets worse.

  • @romankoshchei
    @romankoshchei 4 หลายเดือนก่อน +22

    Btw C# is getting native compilation nowadays so it can be like Go

    • @jancartman321
      @jancartman321 4 หลายเดือนก่อน +12

      With .NET Core it has already AOT compilation like Go. Plus, the C# is the much better language. Proper type system including null safety. It's just a bit harder to learn than Go, that's why Go is so popular with people watching videos rather than coding.

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

      @@jancartman321 Only thing I don't like about C# is that Errors are not a part of type-system. So I rarely know whether method throws or not.
      I would like it to be explicit. Something like in Zig.

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

      Jvm languages got that also with native images via graalvm.
      Also buildpacks are a thing for highly optimized deployables.

    • @joep5135
      @joep5135 4 หลายเดือนก่อน +5

      C# and Java have had native compilation for ages

    • @peace_world_priority
      @peace_world_priority 4 หลายเดือนก่อน +1

      but c# blazor the c# webassembly (the frontend) is still slower than javascript

  • @DustinDustin00
    @DustinDustin00 4 หลายเดือนก่อน +27

    The 1990s web design was so different -- page rendering within 5 or 10 seconds over modem, maximum image sizes of 10K, making sure the page worked on IE/Netscape 2, 3, 4 and 5. Soooo much fun y'all missed out on!

    • @ivrtaric
      @ivrtaric 4 หลายเดือนก่อน +1

      Dude, you just triggered my PTSD...

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

    What's the point in reducing your own bundle size/memory footprint/whatever if you are then made to include a dozen third party tracker scripts that each load a megabyte of JavaScript from dubious URLs before first paint?

    • @thewhitefalcon8539
      @thewhitefalcon8539 4 หลายเดือนก่อน

      That prove-ably don't even do anything and the ad industry knows it

  • @NotMarkKnopfler
    @NotMarkKnopfler 4 หลายเดือนก่อน +43

    As you get older and wiser you will all reach the same point and ask yourself: "Seriously, WTF is going on inside my software?". I write the simplest code possible. People don't tend to like my code because "it looks old". That's because I keep it simple and don't over abstract. I often don't abstract at all. But it's okay because I tend to be a lone coder so I can get away with being a miserable, old, stuck-in-my-ways luddite 🤣

    • @privacyvalued4134
      @privacyvalued4134 4 หลายเดือนก่อน +5

      Exactly why PHP is generally the best language to use for everything. PHP is better as a command line scripting and system language than as a web language. You get the full power of the OS in ~13MB RAM plus all of the security hardening of PHP being the primary web-facing server side language for the last 25 years constantly under attack. Go, Rust, Python, Javascript, C/C++, C#, Perl, Java, etc. don't have that combo. There are definitely serious security issues buried deep in those languages that PHP solved ages ago. Also, there's no separate compile step in PHP unlike most other languages and yet PHP can hold its own on the performance front fairly well.

    • @charlesabboud1613
      @charlesabboud1613 4 หลายเดือนก่อน

      @@privacyvalued4134 and PHP is a deeply intuitive way to work, I’ve heard so much really irrational bile against PHP over the years and thought, why are these people so angry?

  • @Gornius
    @Gornius 4 หลายเดือนก่อน +49

    Over last 5 years development looked like:
    - There is a problem to solve, should we solve it?
    - No, let's spend money and time to use and learn the tool that solves our problem and 40 other problems that we don't have and also introduces 3 new problems.
    And everyone was like: "Sounds good to me".
    Like seriously, so many developers so obsessed with performance, and then their ToDo app traverses 6 different services around the world with every request. Like what?!

    • @jmartinez2131
      @jmartinez2131 4 หลายเดือนก่อน

      lovely take

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

      Sorry, but I don't understand if you are talking about the problem being people using JS frameworks or using GO for web development.

  • @rawallon
    @rawallon 4 หลายเดือนก่อน +42

    Still waiting for Prime's C# arc

    • @davidgrant5887
      @davidgrant5887 4 หลายเดือนก่อน +1

      @nickchapsas

    • @TheDiggster13
      @TheDiggster13 4 หลายเดือนก่อน +1

      Needs to happen, wonderful ecosystem to develop in

    • @myname2462
      @myname2462 4 หลายเดือนก่อน

      Once the type unions (DU) are there it will start

  • @Callumkloos
    @Callumkloos 4 หลายเดือนก่อน +15

    I mean for a one pager.. why are you deploying it to node at all? use next sure and just build statically and chuck it on S3?

    • @IhsanMujdeci
      @IhsanMujdeci 4 หลายเดือนก่อน +2

      Word, compile it into static assets and put cloud front in front of it. Bam!

    • @gregroyclark
      @gregroyclark 4 หลายเดือนก่อน +1

      Gonna have to look into this strat.

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

      I recommended something similar when cody made this video. His response was that he had some forms that couldn't be rendered statically but If you want to stay in JS land you could just be using something like Astro for small for stuff like that.

  • @protiumx
    @protiumx 4 หลายเดือนก่อน +6

    How people can still say "if you need to build fast use "? There are incredible web frameworks in Go, Rust and Elixir. I have to believe that the people who push for nodeJS are the ones selling hosting and prefer devs to use the least cost-efficient solutions smh

  • @Alex-qq1gm
    @Alex-qq1gm 4 หลายเดือนก่อน +6

    The real question is why does a suposedly SSR frontend framework need to do anything other than serve raw HTML and JS from behind a CDN?

    • @spartanA01
      @spartanA01 4 หลายเดือนก่อน +1

      If it's serving raw HTML/JS from CDN then that wouldn't be SSR 🤔
      Are you thinking of SSG (static site generation)?

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

      @@spartanA01 Sorry my question wasn't very clear. If the App is trivial, even if it is SSR why is not just cached by the CDN? Requests to the origin should be rare, and when they do happen if there is no stateful behaviour why is the response not just served from a cache in the origin?

    • @spartanA01
      @spartanA01 4 หลายเดือนก่อน

      @@Alex-qq1gm yeah good question

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

      @@Alex-qq1gm Modern frameworks like Angular, Next.JS, NuxtJS, generate static content (SSG) separately from dynamically rendered pages for each request (SSR). SSG content can be uploaded to CDN. For example, Next.JS hosting does it automatically. While dynamic information is served by server rendering.

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

    I will continue using the right tool for the right job and scale

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

    "... never wanted figuratively **kermit sewer slide** more ... " 48:45
    My god... I burst out laughing, this is pure poetry hahahaha

  • @MatiasKiviniemi
    @MatiasKiviniemi 4 หลายเดือนก่อน +16

    "When I was a junior dev in the 90s" (or something), we did microservices! We had dozens of .exe-binaries, most of them taking a file and spitting a file. We had "CICD" with build in scripts that build the exe and renamed the current version and copied new one in it's place. Every piece updated independently and if it broke, delete new one, rename previous version back and try again. For some reason every generation comes up with this idea that files and folders are old fashioned and need to be replaced with something new and shiny.

    • @JanVerny
      @JanVerny 4 หลายเดือนก่อน +2

      Were you having a stroke when you wrote this? What you describe here, it doesn't need to be replaced, it needs to be collectively deleted from everyone's memory and you need to take off the rose tinted glasses.

    • @jamesp1389
      @jamesp1389 4 หลายเดือนก่อน

      @@JanVerny yes I am thoroughly confused

  • @Co-Monad
    @Co-Monad 4 หลายเดือนก่อน +2

    I’ve been working on cross-platform applications and using Nx for monorepos and Microfrontends has been pretty smooth.
    Outside of this use case I wouldn’t recommend it for most projects.

  • @RandomGuy1606
    @RandomGuy1606 4 หลายเดือนก่อน +2

    Server side rendering in JS has always been the craziest thing. Either use CSR or something other than JS if you must render HTML on the server.

  • @korbendallasmultipass1524
    @korbendallasmultipass1524 4 หลายเดือนก่อน +1

    Worked 2011 for a bank. It was an internal system managing billions of revenue. Just two bare metal server instances with two 3GB JVMs. 30k daily users without issues. In the 90s I worked for an industry company which was able to provide services for a couple thousand employees with an AS400 which used an amount of memory which is comparable to a AWS Lambda :).

  • @Psy45Kai
    @Psy45Kai 4 หลายเดือนก่อน +2

    There is some talk (I think cpp-con) where a chrome developer shows the ASM v8 generates (without and with jit) and compared it to c++... It was like 30x for jit! He also explains how this hige dofference happens and why JS cannot get much faster

  • @samius1149
    @samius1149 4 หลายเดือนก่อน +1

    21:45 - I don't fully understand the point/sarcasm in this part. Why is having to have a package.json with exports listed bad?

  • @gaetanp77
    @gaetanp77 4 หลายเดือนก่อน +2

    Those metrics are crazy, 400mb for a single static web page?! I'm a PHP dev and most of our application routes takes around 8-12mb using a full framework like Symfony.

    • @buildervision7082
      @buildervision7082 4 หลายเดือนก่อน +1

      This is a sign for me to keep learning symfony

  • @nchomey
    @nchomey 4 หลายเดือนก่อน +6

    Can someone explain monorepo vs single repo? He was railing against the former in favour of the latter, but they sound like the same thing

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

      yeah I have no fukin idea what he is talking about, it's like hearing a crazy person argue against themselves

    • @anothercolddayful
      @anothercolddayful 4 หลายเดือนก่อน +2

      Huge difference, when it comes to tooling and Organisation. Google has all of its code in a monorepo. The biggest in the World.

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

    15 minute video into one hour and 7 minutes, what a reaction

  • @abc123evoturbobonker
    @abc123evoturbobonker 4 หลายเดือนก่อน +18

    Meanwhile that Fat Snake Python constricts the CPU and eats memory by the Gigabyte :D

    • @CTimmerman
      @CTimmerman 4 หลายเดือนก่อน

      Have you tried compiling with Cython?

    • @theshermantanker7043
      @theshermantanker7043 28 วันที่ผ่านมา

      Pretty sure cpython is very lightweight and doesn't consume much memory, CPU usage is another story

  • @EvanBoldt
    @EvanBoldt 4 หลายเดือนก่อน +1

    50:59 the HTMX + Go + Templ pipeline could really use a quick start kind of guide. Especially adding in Websockets to the mix was actually a pretty steep learning curve.

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

    Yup. The Church of Simplicity. I think many devs are seeing the light. Shoot, if *Einstein* glorified simplicity in his craft, certainly we lowly web devs/engs can strive for the same ethos.

  • @MC---
    @MC--- 4 หลายเดือนก่อน +10

    You should have Chris Ferdinandi on your stream. He advocates for a simpler web.

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

    @theprimetime Please bring back, welcome to Costco! I love you. My daughters love it and watches your channel with me just to hear it.

  • @eddiecanvasser4530
    @eddiecanvasser4530 4 หลายเดือนก่อน +7

    The Odin Project should make this video mandatory for their Full Stack JS path.
    Im about 90% complete with OP, and so happy I found this

  • @ZT1ST
    @ZT1ST 18 วันที่ผ่านมา

    @47:52; I think what makes me think about that is that, in context, Windows is only on Windows 11 in terms of "Breaking updates", but is and was much more backwards-compatible for way longer than React seems to be.

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

    Great mentality. Even when using cloud services. Most things could cost less and be effective with just a VPS.

  • @jakehadley4044
    @jakehadley4044 4 หลายเดือนก่อน

    I love watching videos from these creators and knowing that prime is gonna make a reaction to it.

  • @elvor8512
    @elvor8512 4 หลายเดือนก่อน

    3:10 I haven't seen one of these cuts in prime's videos in a long time, this made me so happy

  • @dronicx7974
    @dronicx7974 4 หลายเดือนก่อน +1

    In Rust, Cargo workspaces are a godsend. Not only can you start a project as a monorepo, but you can eventually just take a part of it out into its own repo when you think it should and the process is simple. You can do monorepos the same in JS, but it requires soooooooo much extra stuff to get it working correctly that it defeats the purpose. That's why monorepos in JS are usually seen as awful ideas. It's simply that the JS ecosystem has no easy way of doing monorepos so things get weird when you try to separate a dependency into its own repo later on. Cargo by default just makes it trivial enough that you can actually feel confident in attempting monorepos. By default, I even start single Rust projects as workspaces since it shouldn't affect much of how the project works and is developed

  • @AdamLeis
    @AdamLeis 4 หลายเดือนก่อน +1

    XY Problem sounds like a great quote a former manager told me about how Ford said his customers kept asking for faster horses…

  • @NateSheltry-Music
    @NateSheltry-Music 4 หลายเดือนก่อน +4

    I haven't touched GO in a bit but I tried it out making a RESTful api.
    It felt like I had to switch mental gears despite syntax being much simpler than Java and co.

    • @darshandev1754
      @darshandev1754 4 หลายเดือนก่อน +1

      yeah it feels a little diffrerent, especially the error handling

  • @over9000andback
    @over9000andback 4 หลายเดือนก่อน +8

    Why would you not just build your static page files and move them behind Nginx or a CDN? My static Next.js page uses 12MB of RAM on Railway.

    • @jancartman321
      @jancartman321 4 หลายเดือนก่อน +2

      While not a fan of Next, this is the correct answer. But he wants views, so that would be to boring.

    • @peace_world_priority
      @peace_world_priority 4 หลายเดือนก่อน

      my portfolio fullstack gofiber + sveltekit static just used 2 mb ram on debian 11 linux 🤣🤣

    • @warrenarnoldmusic
      @warrenarnoldmusic 4 หลายเดือนก่อน

      Yea this is th shi i hate with the tech bloggers/TH-camrs always dramatic always overreacting

  • @shaunpatrick8345
    @shaunpatrick8345 4 หลายเดือนก่อน +12

    It's like the Jeavons paradox. When we're given more resources we use even more of them.

    • @pope1089
      @pope1089 4 หลายเดือนก่อน

      Probably why i,ve always just enough.

  • @masterkutai
    @masterkutai 4 หลายเดือนก่อน +1

    But sharp is just a javascript native binding. The real code at the backend is compiled C++ codes anyway?

  • @baka_baca
    @baka_baca 4 หลายเดือนก่อน +12

    I've had to do the extreme resource savings mentality in node apis before (I didn't get to choose the stack). It's a wild ride having to think about literally every single object/function/string being created and every single process being executed (no serialization and deserialization of json isn't negligible, it can cost a ton if you do it enough). When you need to serve millions of requests in short periods of time as fast as possible, it's amazing what you can learn.

    • @jancartman321
      @jancartman321 4 หลายเดือนก่อน +1

      Hmmm, I can't disagree. You shouldn't choose Node (or Deno or Bun or even JVM) if you need efficiency. Typescript is so tempting (and actually delivers) in dev speed for full stack apps.

    • @JanVerny
      @JanVerny 4 หลายเดือนก่อน +1

      Well, you didn't get to choose a stack. That's your problem. I understand completely how serving millions of requests with decent perf would be a difficult task, but JS/node/bun are not at fault here. They can do the task, but nobody claims that they are the best for the task.

    • @IhsanMujdeci
      @IhsanMujdeci 4 หลายเดือนก่อน

      What was at the core of you learnings? I tried to optimise a http server using uwebsockets and a binary protocol like protobuf.

    • @definitive_solutions
      @definitive_solutions 4 หลายเดือนก่อน +1

      I am an efficiency-oriented programmer but have never needed to go that deep. Any chance you documented what you learned somewhere? I'm genuinely curious about what happens at the extreme end of optimizations in JS...

    • @FlanPoirot
      @FlanPoirot 4 หลายเดือนก่อน

      I'm of the opinion that the only reason to use node/deno/bun is to run javascript tooling so u can deploy javascript frontends
      we should've made all the javascript tooling in a compiled language from the start and let the language stay in the browser.
      super high level languages are fine for a web page ig or for some automation or quick iteration thingy
      but for long running programs, for programs that actually have to be doing heavy work, they should be done on a compiled language (GCed or not depending on requirements)

  • @benjaminhon86
    @benjaminhon86 4 หลายเดือนก่อน +1

    can't you use lodash-es and import import the function you need and tree shake the rest ?

  • @flemminghansen7748
    @flemminghansen7748 4 หลายเดือนก่อน +1

    That comment on Monorepos made me laugh my ass off. I feel it, I feel it!

  • @rasmusk537
    @rasmusk537 4 หลายเดือนก่อน

    My usecase for a Monorepo is that we have individual microservices in it, and a shared library which they are all using (for metrics, connecting to an external platform they are all doing, and other common things). Without a monorepo we would have to code in this library in a separate repo and just hope that it's compatible with all our services. With a monorepo, we are triggering actions to validate that the change in the library is compatible will all services that uses it - which we can validate before merging and letting that code into main. Also we don't even have to push this library to an artifactory, we just build it along with the services that's affected by a PR, simplifies things. There's probably other ways to handle this case, but it works well for us.

  • @thejjjwils
    @thejjjwils 4 หลายเดือนก่อน +2

    Im a platform engineer and everywhere still using fat snake Python, no incentive to move but wherever possible Im using Go as my goto, its better, due to its default static typing, it prompts engineers to explicitly write the inputs and outputs and thats gold when the code is the documentation in a large number of cases. When everything is staticly typed, its easier to make changes than something like Python where engineers take the easiest route which ends up in:
    def func(input):
    ...
    No idea of its output or what it returns and what makes uo those objects.
    Its uptake is so slow as people who make these decisions dont see the business benefit and yet its actually more important than what they think.

    • @jancartman321
      @jancartman321 4 หลายเดือนก่อน +2

      Good point. But Typescript has an even better type system than Go, e.g. unions (including discriminated unions and exhaustive checks) or null safety. Javascript shouldn't be used at all any more.

  • @DrNefariousX
    @DrNefariousX 4 หลายเดือนก่อน

    @primeagen What things are hard about Go func()s? Have you done a video on that? What is there beyond: communicating with channels, closing your channels, only altering variables the func() creates, and defer recovering to prevent your app from crashing?

  • @lelsewherelelsewhere9435
    @lelsewherelelsewhere9435 4 หลายเดือนก่อน

    Have you seen any of the Data Oriented Programming videos? They seem very related to what you are talking about.

  • @hanseichel4327
    @hanseichel4327 4 หลายเดือนก่อน

    you can build rust bins using musl to be self contained! So its like a compiler target option thingy. And you can build containers "FROM scratch" containing only the rust-musl bin. Dunno about go, but would think that can pretty much do the same thing on default following primes explainations. So i think thats a non-issue for both languages

    • @hanseichel4327
      @hanseichel4327 4 หลายเดือนก่อน +1

      Like build a 50k lines of rust backend that musl compiles to self contained 25mb's to be run as a container. Cannot complain at that point!

  • @Strammeiche
    @Strammeiche 4 หลายเดือนก่อน +1

    The last few years I worked on a 20 year old Code base (php) and upgrading was painful.
    But I'm wondering if you really need to upgrade frontend js. I mean usually there aren't any security problems?
    Is there and pressure in upgrading e. g. react?

    • @25w-g6c
      @25w-g6c 4 หลายเดือนก่อน +1

      if you keep adding on stuff on it you are going to get performance issues / support issues if you dont update

    • @oliverhughes169
      @oliverhughes169 4 หลายเดือนก่อน +1

      There's often security problems, especially when you have 1000's of dependencies (which is very easy to have). You don't need to upgrade, but often you find incompatibilities when trying to use a new package, or replace a deprecated package, forcing you to start the upgrading waterfall.

    • @sanglin9387
      @sanglin9387 4 หลายเดือนก่อน

      js 3 yeas tooo way many change . php c# 20 year ago should be breeze unless you do all those weird framework .

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

    Thanks so much for this video

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

    Package Bloat is real in every ecosystem. I almost always cite this as a reason packages fail.
    Edit: spelling

  • @ccccjjjjeeee
    @ccccjjjjeeee 4 หลายเดือนก่อน +1

    its true that go and js have different mx+b, but everyone knows that you remove the constants

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

    I’m a complete coding noob. I’m also a DevOps guy at a 100% Microsoft shop. Right off the bat, I’ve got a lot going against me. lol I have what I think is a useful app idea and I’ve been wondering what I should use to build it. Even though I have had a lot of exposure to C# and Angular, I could have tried to start with that since it’s somewhat familiar. After watching this, I am convinced now more than ever to try something new… like maybe Go.

  • @mateuszgajo9731
    @mateuszgajo9731 4 หลายเดือนก่อน

    23:30 I worked in the project where we had so many eslint rules that we couldn't integrate with prettier. There was a separate repo just for eslint rules and one person job was just to manage it, even though there were only 20 devs

    • @anothercolddayful
      @anothercolddayful 4 หลายเดือนก่อน

      Seems like an Organisational issue. Ever seen Googles c++ styleguide?

  • @michimansi
    @michimansi 4 หลายเดือนก่อน

    Question is why is that not static ?? If its not changing. There are cool stuff like astrojs

  • @v0id_d3m0n
    @v0id_d3m0n 4 หลายเดือนก่อน

    3:25 i love these little intermissions

  • @scottiewilkins4797
    @scottiewilkins4797 4 หลายเดือนก่อน

    Only Prime would be able to turn a 15 minutes youtube video into a full 1hr length reaction. OMEGALUL

  • @adjbutler
    @adjbutler 4 หลายเดือนก่อน +19

    walking away from javascript to LITERALLY ANYTHING ELSE! amen!

    • @darshandev1754
      @darshandev1754 4 หลายเดือนก่อน

      did a year ago

    • @filthyfrankblack4067
      @filthyfrankblack4067 4 หลายเดือนก่อน

      How about we go farther and have software that works without being constantly connected to the internet like the good ol days.

    • @CTimmerman
      @CTimmerman 4 หลายเดือนก่อน +1

      @@darshandev1754 To what? How's it going?

    • @jiraiyah8941
      @jiraiyah8941 4 หลายเดือนก่อน

      I use typescript on the front and try to use either C# or Go, still learning both, on the back. For work though, I have to use SharePoint on the backend -__-.

  • @pixel7038
    @pixel7038 4 หลายเดือนก่อน +1

    I want to see the numbers with other JavaScript frameworks. Reacts has a tendency to be a bloated bundle with the virtual dom. Svelte is a compiler so I want to see its numbers in the same situation.

  • @GerinoMorn
    @GerinoMorn 4 หลายเดือนก่อน

    I might have flunked out of uni, but the time I spent there (CS) was very, very educational. We were taught stuff like you know, operating with given amount of bytes of memory. Nowadays the famous "2 variable value flip" is a curio, but when you have only like I dunno, 6 registers to put values in.... :D
    Sure I code dumb cruds most of the time, but I promise you that all those fundamentals aren't wasted...

  • @xyola
    @xyola 4 หลายเดือนก่อน

    14min --> 1hr (very decoded) -- Prime How do you make these things feel like a movie y'all

  • @roque-au-parcus
    @roque-au-parcus 4 หลายเดือนก่อน +1

    Frontend engineers rediscovering backend languages is wild to watch.

  • @sub-harmonik
    @sub-harmonik 4 หลายเดือนก่อน +1

    maybe I'm not one to talk bc I use spring boot for work, but it still confuses me why people use javascript or even typescript for backend. Just so much bloat for so much trouble, maybe because it's familiar? ruby & python too

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

    Did Cody not try to tune the VM at all? Of course it's using 400mb, the default is 1gb, so the VM is like YUM to allocate ahead of time.
    I bet it would run fine with --max-old-space-size=30mb
    I also have expressjs* apps using 300mb of ram, but they're serving thousands of requests a second all day.
    *(wish I wrote them in java tho)

  • @carchocolate93
    @carchocolate93 4 หลายเดือนก่อน

    34:50 I don't follow what you mean when you say "monorepo", it sounds like you're saying it's something other than "a single repo"?
    What is a monorepo if not "just having a repo" like you said?

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

    Yeah, hono is 14kb no deps and works in any JS env.

  • @paca3107
    @paca3107 4 หลายเดือนก่อน +1

    1 min of video = 4 minutes when prime reacting

  • @Nellak2011
    @Nellak2011 4 หลายเดือนก่อน

    When Primeagen talked about incidental complexity, my mind went directly to testing the UI in React Testing Library.
    It is nearly impossible to write even the most basic UI tests without having to do a series of hacks.
    Then when you finally get the UI test, one test for clicking a damn button takes half a second to do.
    It really is brain dead and untenable.
    I spent more time wrestling with the broken RTL library than with any other function I made myself.
    It is just ridiculous!

  • @RA-xx4mz
    @RA-xx4mz 4 หลายเดือนก่อน +1

    We use loadash at work to map, filter, and iterate through arrays! it's wonderful!

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

      javascript has those features in the spec now, though
      i think they're Array.prototype.map(), Array.prototype.filter(), and Array.prototype.forEach()
      for that last one you don't even need that method, you can use a for...in loop
      afaik they're not even that new, maybe for...in is but the array methods have been a thing for years now

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

    NextJS SPAs can just be exported into static HTML and hosted with Caddy/NGINX/Apache or on a static site hoster like Netlify, GitHub Pages, Cloudflare Pages etc

  • @DrNefariousX
    @DrNefariousX 4 หลายเดือนก่อน

    Go Modules works great. You just have to set your GOPRIVATE environment variable to exclude the public server checksum verification for your internal Git hosts. That's it.

  • @Astinsan
    @Astinsan 4 หลายเดือนก่อน

    4:21 slow clap -- the why? this is what starts the rabbit hole to the matrix

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

    "Even a kilobyte being saved" I still remember 1kb of chip ram was huge a few years ago

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

    Use the libraries, have a working product then skim it until you are left with the cheese or the skeleton of a fully functioning site with only functions used and no dependancies that aren't used

  • @AndrewTSq
    @AndrewTSq 4 หลายเดือนก่อน +21

    I was watching demoscene coders doing some nice graphics in 6502 asm the other day. a few lines of code to make a cool image "rotation and scaling".. on a 64kB ram computer. Then I watch a modern coding tutorial and just see bloat and bloat. Sure its not the same thing, but still. :)

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

      Uhh I mean it's like way easier to do that on bloat than on ASM 💀💀, that is not a good comparison
      Go is something that is kindof in the middle nd has both the benefits to some extent! That would be a better example. Also, asm for web 💀

    • @eightsprites
      @eightsprites 4 หลายเดือนก่อน

      I thought the same seeing solutions people came up with. Remember someone very proud of thier 900tps, Im just standing there.. sure you ment 90000tps right?.. nopes.. was off with x100 from the target. After that I just stopped caring.. tried a few times.. but never pushed on anything. ”Sure its fine, nice 900tps you got.”
      We that started with ASM, are just different. Gotta accept that.

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

      I still write code for such hardware, in assembler mostly but not exclusively. It requires a way of thinking quite different from what most modern devs do, tho it does have obvious similarities to developing for tiny embedded systems.

  • @ryoh8677
    @ryoh8677 4 หลายเดือนก่อน

    I learned web components before dabbling in these front-end frameworks and I find web components to be easier. With the frameworks, you have to learn a whole ecosystem and keep up with the changes, whereas with web components you need to know vanilla es6 js and learn how components work.

  • @ZeroUm_
    @ZeroUm_ 4 หลายเดือนก่อน

    Working in games and also stock exchange services, make you really chase the waste.
    It's amazing the amount of work you can do in one millisecond.

  • @Nonsense116
    @Nonsense116 4 หลายเดือนก่อน

    You can do your own middleware stuff in the new version of go. It's honestly really slick. I used to clown on the go community because they were all "don't need packages, just use standard!" until I needed to do the exact thing it claims to be exceptional at, simple web servers, then I get recommended a web framework. But that isn't the case anymore.

  • @stephenbelanger
    @stephenbelanger 4 หลายเดือนก่อน +2

    This really overlooks that the overhead of JS is not linear to Go. JS is concurrently running an entire compiler with a ton of extra baseline data to do that and to parse and understand the code graph. Measure again under significant load and you’ll find the difference to be a lot less. Depending on the complexity you definitely need to expect 100-250mb baseline memory for the compiler to operate efficiently with the rest of the memory. Depending on what you’re doing, V8 can build more optimal code than Go can because of the runtime context.

  • @eptic-c
    @eptic-c 4 หลายเดือนก่อน +1

    Go's biggest problem is that it forces each folder to be it's own package, i hate that shit, i don't like 50 files in one folder or a few big files.

    • @WebDevCody
      @WebDevCody 4 หลายเดือนก่อน +1

      @@eptic-c I hate this as well

  • @seanknowles9985
    @seanknowles9985 4 หลายเดือนก่อน +2

    Deno has a wicked standard library based on Golang.

    • @jancartman321
      @jancartman321 4 หลายเดือนก่อน +2

      Exactly. Deno has all you need to build web services and CLIs in its core APIs and std lib. Memory usage is also *much* lower than Hono with Bun. And Deno is more stable and probably not memory leaking like Bun as seen in his graphs. Lastly, we don't know how he deployed. Did he use docker on the same VPC in all cases?

  • @asagiai4965
    @asagiai4965 4 หลายเดือนก่อน +1

    Do you know why some people use lodash even if they don't really need it?
    From my bootcamp experience (yeah I have different experiences) they usually do this.
    They want you to use libraries without much explanation.
    (Idk why they are doing that)
    The problem here is people who got accustomed to that practice. Will just use it for everything.
    And they want their coworkers to do the same.
    Just my 2 cents

  • @avwie132
    @avwie132 4 หลายเดือนก่อน

    WebDevCody always brings very normal ideas a lot of people have like it is one of the most original ideas he’s ever had.
    This one could be titled: I figured out that bloat isn’t good

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

    As someone who started on PHP v3, it's hilarious to watch declarative JS morphing into basically PHP.

  • @alexpyattaev
    @alexpyattaev 4 หลายเดือนก่อน

    Rust can do static builds too, but you loose the ability to reuse system libs. Go (or any static linking) makes larger apps huuuge, which also slows them down a fair bit.

  • @philistineau
    @philistineau 4 หลายเดือนก่อน

    ok this was hilarious. I'm subscribing.

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

    C# here go!!

  • @szirsp
    @szirsp 4 หลายเดือนก่อน +1

    Prime:
    Static linking = Yes,
    monolithic app = Yes,
    mono repo = No ?

    • @theodorealenas3171
      @theodorealenas3171 4 หลายเดือนก่อน +2

      What does he even mean with "just use a repo, not a mono repo?" I thought mono repo means someone isn't using multiple repos

  • @MarkMark
    @MarkMark 4 หลายเดือนก่อน +1

    Man, I am just so happy to get to write in Elixir. ;)

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

    The monorepo at my work is spread so thin that a single requirement change removed an entire service one time