JS Ruined The Web | Theo Reacts

Поділитися
Вставка
  • Опубліковано 20 жов 2024
  • Eric's channel is awesome please give it a sub ‪@EricMurphyxyz‬
    JavaScript is not the best, but I don't think it's totally fair to blame it for everything we saw here
    SOURCE • How JavaScript Ruined ...
    Check out my Twitch, Twitter, Discord more at t3.gg
    S/O Ph4se0n3 for the awesome edit 🙏

КОМЕНТАРІ • 401

  • @aviadisto
    @aviadisto 3 місяці тому +64

    "You don't get scale from complexity. You get scale from making things so simple that every addition to your massive thing doesn't have to be massive itself."
    Well said

  • @tootyrnt5533
    @tootyrnt5533 3 місяці тому +158

    React is a JavaScript library, ppl learning it before vanilla JS is absurd af

    • @HiMyNameWaffy
      @HiMyNameWaffy 3 місяці тому +22

      React is the language, JS is the library. 😂😂

    • @n4botz
      @n4botz 3 місяці тому +8

      Absolutely right! It even starts much earlier, especially when it comes to essential basic knowledge about HTML, CSS, JavaScript and everything else. Do not use Bootstrap, React, Angular or other frameworks and libraries unless you have the knowledge to understand why something works or was implemented in a certain way and not another. A tree does not start with the fruit and only put down roots at the very end. 🤷‍♂

    • @imarya7329
      @imarya7329 3 місяці тому

      Thats evil.

    • @AndrewTSq
      @AndrewTSq 3 місяці тому +4

      People use react for a hello world app these days making the page 10MB instead of 12 bytes

    • @rubendacostaesilva8442
      @rubendacostaesilva8442 3 місяці тому

      I took a course of React in Udemy, and there were people in the comments asking about basic JS stuff, because they went straight to React, without learning the basics of HTML/CSS.
      But it's not mainly their fault. Many people try to get into code, for monetary reasons, and fall for the trap of bad faith "dev influencers", thinking that buying their new React course will be the fastest path to a secure the life they seek. We're talking about people from low income and poor educations regions like Asia, Africa and Louisiana, that are looking to learn skills fast.

  • @HemantDuttaHD
    @HemantDuttaHD 3 місяці тому +257

    Hating on JS is almost a cash grab now on platforms like UA-cam and Instagram. The creators know that the non-web developers will jump on these videos because they are tired of JavaScript being overhyped and web developers will do the exact opposite thing. In the end, the creator gathers views from both sides without providing any real value to the viewers.

    • @YaySyu
      @YaySyu 3 місяці тому +34

      I hate Javascript.
      Where money

    • @HemantDuttaHD
      @HemantDuttaHD 3 місяці тому

      @@YaySyu did you a upload a video on a monetized channel?

    • @youaskforit
      @youaskforit 3 місяці тому +21

      Didn't you JS people do the same thing on PHP ? We really come full circle now.

    • @lazymass
      @lazymass 3 місяці тому +13

      ​​@@youaskforitwho "you"? Loud minority isn't everybody...

    • @aopsdoijeaq4365sdsf
      @aopsdoijeaq4365sdsf 3 місяці тому

      @@youaskforit meanwhile they reinvented PHP but called it server components

  • @jackevansevo
    @jackevansevo 3 місяці тому +28

    Shaking my head during the section dunking on Linux for it's package management / upgradability. The scope/scale of a react webapp vs an entire OS/Desktop/community packages is in a completely different league of complexity.
    JS's problems are self inflicted. The issues with Linux on the desktop are because OSS operating system development is fundamentally a difficult problem

    • @Bat-Georgi
      @Bat-Georgi 3 місяці тому

      How is building a webapp with all the modern bells and whistles NOT a difficult problem? We are fundamentally not using the web for what it was built for. It was built so that eggheads could send documents to each other. Not to play video or audio, send pictures or play games. That's why we have all these dependencies and abstractions.

  • @FelipeV3444
    @FelipeV3444 3 місяці тому +51

    My Chinese food took like 25 min longer than expected the other day. Must have been all that JavaScript.

  • @aDaily1222
    @aDaily1222 3 місяці тому +43

    I agree with a lot of your rhetoric Theo.
    But don't hate on Linux just because you don't know how to use it.
    And when half your chat is saying one thing, and 1 person says something else...
    dont just agree with the 1 person because it helps your point. it just made you look ignorant.
    because Wayland doesnt even get enabled by default. So that point he made was invalid.
    just admit, you dont use Linux because you didnt know how to use Linux. That's ok. It's not for everybody.
    Other than that, TS/React for Life!

    • @nitrane1286
      @nitrane1286 3 місяці тому +8

      Yeah, that blew my mind. First of all, there are literally hundreds of distros so blaming "Linux" feels odd. I dont use desktop Linux but have been upgrading from Debian woody all the way to bookworm basically without any issues and expect APT to handle even desktop apps pretty well... I assume it is a bit different with 3rd party apps like VSC and Chrome that does not come with the distro but is that a Linux problem really?

    • @bujitself
      @bujitself 3 місяці тому +1

      I run Arch with a couple of AUR packages and I rarely had to ever really fix anything after updates outside of Hyprland cuz its devs can't not break configuration files :p

  • @kasper_573
    @kasper_573 3 місяці тому +14

    5:47 Theo trying to argue that one code style is inherently better than another. 6:24 Chat pointing out the L take. Theo: "You're all wrong" 😆. This guy.

  • @tcurdt
    @tcurdt 3 місяці тому +37

    I am still not sure what has more bad takes - the original video or this reaction video.

  • @spageen
    @spageen 3 місяці тому +47

    For the case of Reddit, I imagine they found out they got more engagement when there were “tiles” of images/video instead of just plain links.
    The trouble with tiles is that it’s so much more complicated engineering-wise.

    • @marvnch
      @marvnch 3 місяці тому

      It's just... badly done, whatever they did. I'm pretty sure tiles could be implemented well and not have terrible loading issues but just the other day I tried opening a thread and comments just weren't loading even if I refreshed. Switched to old reddit and it loaded instantly.

  • @BobKane-g6x
    @BobKane-g6x 3 місяці тому +31

    When you think building a website is the same as building an operating system, you know you've dug a hole too deep. And when building the operating system is easier than building the website, then you know you have gone too far.

    • @Z3rgatul
      @Z3rgatul 3 місяці тому

      exactly

    • @rogergalindo7318
      @rogergalindo7318 3 місяці тому +2

      it was so good when chat clarified that compiling the kernel is so simple lmao

  • @knirb9
    @knirb9 3 місяці тому +16

    First L take I have heard from Theo, really disagree on defining prop types inline, it gets painful after 4-5 props

  • @thirdvect0r
    @thirdvect0r 3 місяці тому +66

    "Ubuntu sucks so all linux distros must be the same" is exactly the kind of skill issue I've come to expect from this channel KEKW

    • @neofox2526
      @neofox2526 3 місяці тому +14

      he only reacts to the comments that said it was bad to update and pointed out wayland like what does that have to do with the upgrade itself you can still use xorg

    • @hellowill
      @hellowill 3 місяці тому +7

      soydev take for sure

    • @ChromeKong
      @ChromeKong 3 місяці тому +3

      @@hellowillincel wording

    • @pushyoch.8252
      @pushyoch.8252 3 місяці тому

      his point about things breaking as updates come is true tho?

    • @SirSomnolent
      @SirSomnolent 3 місяці тому

      I came back into linux from freebsd through ubuntu in warty days and was super heavy in the community. Ubuntu still has a place but between snaps and update woes... I have trouble recommending it. Fedora or Tumbleweed being more stable for me than updates in the same major release of Ubuntu, isn't great.
      Really, the best argument for it these days is just that new users will more often find ubuntu packages for things they need when searching outside the repos but how often is that really an issue for average user these days? Next argument is that due to number of users, searching on problems is more likely to get a solution but you almost have opposite given number of years ubuntu has been so popular -you get solutions that dont work or might even be a bad idea to copy/paste.

  • @cheddZyPlays
    @cheddZyPlays 3 місяці тому +90

    Saying Laravel is not a modern framework is an insane take

    • @seeibe
      @seeibe 3 місяці тому +1

      It's a modern framework, just a problematic language. I have to work with Laravel one trick ponies regularly. Type safety is a foreign language to them.

    • @InfinityN
      @InfinityN 3 місяці тому +9

      @@seeibe Laravel andies are a problem but it's not a language problem. We run Symfony with latest PHP versions and there's type safety out the wazoo. You're responsible for not making shit code, PHP is equally type safe as TypeScript is for instance (although I'd argue it is more type safe).

    • @opposite342
      @opposite342 3 місяці тому

      same thing with Rails... I know DHH has some insane takes but you gotta respect the guy for keep continuing to make Rails up to standard with things.

    • @andrey.tsarev
      @andrey.tsarev 3 місяці тому +5

      @@InfinityN Well PHP has runtime type-safety and no need for superscript in order to verify types so I agree with it being more type safe.

    • @unkouwnfigure2746
      @unkouwnfigure2746 3 місяці тому +14

      ​@@seeibeWhat? PHP has types since version 7, every single laravel project I've seen in the past 5 years has been extensively typed, so much so sometimes I write Java code by mistake because I forget I'm in PHP due to all the "static void fn(int x, string y): Bool", I do work with a lot of JS/TS one trick ponies, and most OOP concepts are foreign to them, using interfaces instead of PHP data classes, not knowing design by contract, dependency injection, abstract classes, not knowing what traits are (to be frank, not even Java has traits, the only popular OOP language other than PHP that has them is C#).
      Your view of PHP is very, and I mean VERY outdated, you're thinking of PHP 5, it's at 8.3 now.

  • @Max-mp1nl
    @Max-mp1nl 3 місяці тому +41

    Upgraded Fedora multiple times to a next major version and had no issues. Such an L take on major linux distribution updates

    • @NibsNiven
      @NibsNiven 3 місяці тому +5

      I run Fedora on every device I can, 30+ hosts. I wrote a script that updates automatically, rebooting if nobody is logged in and my backup scripts aren't running. It's a cron job called every 6 hours. It logs its actions and sends me an email when it updates.
      I wrote another script that upgrades major versions without issue.
      I don't appreciate being called a liar by an arrogant clown with 4 years experience.

    • @trietang2304
      @trietang2304 3 місяці тому +2

      Move from 23.10 to 24.04 ubuntu, docker break, discord break, it really depends.

    • @Spiker985Studios
      @Spiker985Studios 3 місяці тому +5

      Fedora + Major Updates = Fine
      Ubuntu + Major Updates = Horror Show
      Arch + Major Updates = Crapshoot

    • @willcoder
      @willcoder 3 місяці тому +1

      Same here. I've used Fedora since FedoraCore 6. It's been pretty seamless to yum/dnf upgrade major versions on Fedora for about the last 10 years. Fedora's testing and build teams are absurdly competent and they have a very solid release and governance process that works. Fedora is awesome.

    • @vvvvvvvvvwv
      @vvvvvvvvvwv 3 місяці тому +1

      Arch + Major updates? It’s a rolling distro

  • @trietang2304
    @trietang2304 3 місяці тому +21

    Why does it feel like this video come from someone knows tech but don't do development?

    • @aadityathapa
      @aadityathapa 3 місяці тому +4

      cause it is, i have seen some videos if this guy in the past. He just says what's the hype is about for the view.

  • @imjens.k
    @imjens.k 3 місяці тому +20

    How are we comparing compiling a static website to compiling the linux kernel

    • @ChromeKong
      @ChromeKong 3 місяці тому

      By looking at the basic concept.

    • @dakoderii4221
      @dakoderii4221 3 місяці тому +1

      You might like the Computerphile video where a computer scientist says HTML is a programming language and has advantages over C.

  • @ryzzlas
    @ryzzlas 3 місяці тому +13

    Props type on top. It makes the function implementation easier to read, and I'm a single "export" keyword away from exporting the prop type if I actually need it...

    • @BboyKeny
      @BboyKeny 3 місяці тому +3

      @@ryzzlas It feels like a preference thing to me. Not something I would rewrite if I got handed an existing code base

    • @ryzzlas
      @ryzzlas 3 місяці тому

      ​@@BboyKeny yeah. I'm not saying that it needs to be rewritten. I just find it easier to read and to export if it isn't inlined ...

  • @SanderCokart
    @SanderCokart 3 місяці тому +26

    6:40 I use interfaces because inline formats very bad and makes it harder to read.

    • @JPilsonSumbo
      @JPilsonSumbo 3 місяці тому +3

      The funny thing is that he suggested to use type , which makes me think that he has a personal problem with interface….

    • @joshuakb2
      @joshuakb2 3 місяці тому

      ​@@JPilsonSumbotype is simpler than interface because interfaces merge but types don't

    • @JPilsonSumbo
      @JPilsonSumbo 3 місяці тому +2

      @@joshuakb2 what's the difference between merge and inheritance concepts?

    • @joshuakb2
      @joshuakb2 3 місяці тому

      @@JPilsonSumbo they're pretty similar but it depends on what you mean by inheritance I guess. Declaration merging is when you declare the same interface name multiple times in the same namespace. Class inheritance is a more complex mechanism in TypeScript

    • @joshuakb2
      @joshuakb2 3 місяці тому

      @@JPilsonSumbo oh, maybe you're talking about using the extends keyword with interfaces? Yeah it's basically the same thing except you're merging another interface into a new interface instead of merging 2 separate declarations of the same interface.

  • @MrManafon
    @MrManafon 3 місяці тому +16

    The anti-JS momentum that you see now with videos like these, is something we've seen before with PHP, where in 2014-ish masses of idiots whoose only contact with PHP was their school's website from 90s and Wordpress, read on angry comments on Reddit and adopted the idea that PHP is a poorly designed language. PHP has many flaws, but being a bad stdlib is not one of them - the problem was mostly inexperience of the PHP community, of which the vast majority has never seen anything other than Wordpress and Joomla, that fed fuel to this idea that PHP is bad because it magically results in bad or unsafe code. This guy is basically saying the same thing - React is bad because "all the kids learn React, not JS, and React is super complex". The main difference is that back in the day a couple of major players (most famously AWS) have turned on PHP (which wasn't sponsored by a giant) for their own various and specific internal reasons, which the web has cargo culted into "oh there is something wrong with this language, aws is smart they know". The same won't happen with React. Very different territory.

    • @Fiercesoulking
      @Fiercesoulking 3 місяці тому +1

      My take on this : Why they went off PHP was Java was in its prime at this point. With PHP 5 many refused to learn the new OO way of programming so all PHP you saw looked like shellscripts . The point with cloud for my understanding is PHP runs on Apache which itself use multi-threading for load compensation cloud systems doesn't they focus on multiprocessing .

    • @devOnHoliday
      @devOnHoliday 3 місяці тому +1

      Big reason why Laravel has probably the nicest community, because Taylor gives both php and Js the place and respect they deserve

    • @NibsNiven
      @NibsNiven 3 місяці тому

      ​@@FiercesoulkingJava was in its prime when PHP was "Pretty Home Page".

    • @NibsNiven
      @NibsNiven 3 місяці тому

      ​@@devOnHolidayPHP has been a mess from day one.

    • @MrManafon
      @MrManafon 3 місяці тому +1

      @@Fiercesoulking I agree, around 2010 we started taking PHP more seriously (obviously it was already huge at the time), realizing it is now commonly used to build enterprise systems and services, and we soon started hearing the word api-based (later mach, headless and micro), which opened more avenues for FE and BE split. A lot of FE people went into the JS direction, while BE people were drawn to other tools like Java dialects that promise to do the BE part better, leaving only two groups - people who were satisfied with hacking wordpress themes and smf skins, and Symfony/Laravel (or ex Drupal) folks who believed in the full stack value of PHP and JS combo. Which is a small subsect. What they did then was learn like crazy, especially about how things are done in Java, and steal. Laravel has some of the best developer tooling today.

  • @Ch0rr1s
    @Ch0rr1s 3 місяці тому +23

    32:36 - so this guy does an upgrade of >>>>6

    • @rubendacostaesilva8442
      @rubendacostaesilva8442 3 місяці тому

      You can't do that on a Mac, because you're only allowed to upgrade your OSX, 2 or 3 versions upper. Apple force you to buy a new computer every 5 years, if you wish to keep up with the latest version of their OS.
      At my company, we have one of those old black cylinder Mac Pro, from 2013, that cost around 10k at that time, running fu***ng Windows 10...

    • @owenwexler7214
      @owenwexler7214 3 місяці тому +1

      Yeah you could feasibly go from High Sierra to Sonoma without much issue but going from Snow Leopard to Sonoma? Yikes.

    • @dissident1337
      @dissident1337 3 місяці тому +1

      Last time I used OS X I made a single version jump and it bricked the machine with no way of rolling back the failed update. Garbage OS on garbage hardware.
      Literally everything Apple tries to do someone else does better. Gaming, media and graphics? Windows. Development and productivity? Linux.

    • @psyckojoe
      @psyckojoe 3 місяці тому

      ​@dissident1337 I've had the same thing happen to me and I'm surprised by how often the OS just doesn't work properly. Mac is easily the worst OS experience I've had, but calling it bad hardware is just a lie. Macbooks are arguably the best laptops on that front
      Never for desktop, though

  • @neofox2526
    @neofox2526 3 місяці тому +8

    33:37 Oh yeah guys it was so hard to update cause of wayland cause this person said it!! DOES NOT ELABORATE AT ALL like wtf

  • @grinsk3ks
    @grinsk3ks 3 місяці тому +2

    My major fedora upgrades all worked flawlessly. The MacOs upgrades on the other hand, bricked multiple things every time and required a lot of fiddling

  • @CoolestPossibleName
    @CoolestPossibleName 3 місяці тому +22

    WASM wasn't meant to replace javascript. People are trying to replace javascript with WASM by adding more javascript.

    • @BboyKeny
      @BboyKeny 3 місяці тому +6

      You need js to call the wasm anyway. How I find wasm works best, is when you got some heavy number crunching and can just return some pointer to javascript which you can use to access the data you generated with wasm. There is something to be said about wasmtime which is a standalone wasm runtime.

    • @mzg147
      @mzg147 3 місяці тому +13

      Javascript wasn't meant to be a real programming language.
      god I wish wasm will replace js

    • @CoolestPossibleName
      @CoolestPossibleName 3 місяці тому

      @@mzg147 for that wasm needs dom access

    • @DavidAlsh
      @DavidAlsh 3 місяці тому +1

      There's no reason why both couldn't exist on the browser.
      Some engineers might want to write their complex web application in powerful multi-threaded languages (like Rust or Go).
      Just gotta wait for wasm to get to a point where that's possible

    • @diablo.the.cheater
      @diablo.the.cheater 3 місяці тому +1

      @@mzg147 What js is and what was meant to be are two different languages. JS is a real programming language, and a good programming language at that. If you disagree, you are wrong.

  • @imbaedin
    @imbaedin 3 місяці тому +1

    20:25 "Don't mistake excitement for pressure" sums up this discourse pretty succinctly.

  • @MrSofazocker
    @MrSofazocker 3 місяці тому +4

    "Modern" web-dev is like Modern Architecture.
    Ideas from the 1930s, re-hashed, re-mixed, digested and diluted, made for "modern" audiences.

    • @JPilsonSumbo
      @JPilsonSumbo 3 місяці тому

      Omg and when you try to use the 1930s idea some JS dev will tell you to use the modern package or hook 😂😂😂😂

  • @AngelCPUDD
    @AngelCPUDD 3 місяці тому +4

    31:45 Yeah, I do major updates every 6 months, Fedora, since v35, literally no issues. It's the magic of OSTree. It's not that it's good for a Linux system, it's straight up the best update system of any major OS.

  • @seeibe
    @seeibe 3 місяці тому +2

    This video is interesting to me because it highlights two ends of a spectrum I sit in the middle of. "Senior engineers" at less prestigious tech companies bringing stacks like Angular they don't understand into the project to bolster their resume is definitely an issue I've had to deal with earlier in my career. You could call it a "skill issue", but unfortunately less skilled software engineers are very common in a global context. You have a very Silicon Valley centered perspective where people get paid so much it skews the statistics toward a much higher skill floor.

  • @connormc711
    @connormc711 3 місяці тому +17

    Lol I just left a company because I asked that product just please consider the engineering constraints of the system as they design -- this cause me to lose my position in the company, my salary, and ultimately I left, and am pursuing new roles.

    • @YaySyu
      @YaySyu 3 місяці тому +5

      This is why I am in cybersecurity
      I cry at home unemployed regardless

    • @connormc711
      @connormc711 3 місяці тому

      @@YaySyu yeah. Thinking about making the switch too

    • @JanVerny
      @JanVerny 3 місяці тому +5

      Sounds like that was a company you don't want to work for anyways, or you're hiding some important context from us. Either way, you're likely to be better off after switching jobs. Good luck.

    • @SLCMuralha
      @SLCMuralha 3 місяці тому +2

      This is a real thing, especially at startups. Product demands something and engineering has to make it happen, but they don't know the scale of what they're asking for.

    • @connormc711
      @connormc711 3 місяці тому

      @@JanVerny that is correct. They asked me if I really could succeed there and I could see it. So I left :)

  • @Drayken
    @Drayken 3 місяці тому +6

    I prefer interface on top because it immediately tells me what I'm gonna be utilizing for what's inside the file tbh

    • @rubendacostaesilva8442
      @rubendacostaesilva8442 3 місяці тому

      I used to do the same way as you, because I started coding with JS, and then moved to TS, and I'm mainly the frontend guy, but I was then heavily influenced by my backend team, that mostly use , and grew with JAVA, to follow the same pattern as Theo, because that's how my team also write it.
      God damn JAVA devs...

  • @RandomGeometryDashStuff
    @RandomGeometryDashStuff 3 місяці тому +2

    31:47 yes, multiple linux mint upgrades on same install
    but somehow lots of packages ended up marked as manually installed and removing package (apt remove --autoremove --purge) would not remove unneeded dependencies

  • @coolemur976
    @coolemur976 3 місяці тому +4

    Dude just created a video of engagement farming. Then other dude did a React'ion video about it.
    This is what ruins the web (youtube to be precise).
    Statement "JS Ruined The Web" has 0 value unless you take any actions to change it for better.

  • @DissyFanart
    @DissyFanart 3 місяці тому +9

    the only reason you have to load a bunch of excess slop to run wasm is because they wont standardize shit like a direct wasm dom manipulation api, everything having to go through js, and everything in js being so terrible and flaky means you need that much excess code just to make sure what the js engine gave you is actually what you want instead of a hashmap unknown null

    • @Fiercesoulking
      @Fiercesoulking 3 місяці тому +1

      Yes basically hmtl wasn't meant for this kind of dynamic interactivity and so weren't the browser. I mean we could add something like htmx to html and some browser commands to pre load and cache webpages + login with domain management.

    • @radhy9173
      @radhy9173 3 місяці тому

      in the video flutter has 2kb dom.js but a bunch of mbs for its SDK, js wasm glue code to interact to dom isn't that much to begin with

    • @moritzschuessler
      @moritzschuessler 3 місяці тому

      Your problem isnt js here. Its interactivity mixed with a shit ton of images/videos/ads and trackers. Swapping from JS to another language with wasm wont change anything. Alot of stuff will stay alot of stuff

  • @Heater-v1.0.0
    @Heater-v1.0.0 3 місяці тому +1

    WASM would be great if:
    1) It is used to run compiled code (from C, C++, Rust) etc which would be small downloads.
    2) It is not used to run code that requires huge run times, like Python, Go etc. Those run times bloat things up and slow things down.
    3) It could have access to all the DOM and other web API's that JS has. Then no JS would be required at all.

  • @Remiwi-bp6nw
    @Remiwi-bp6nw 3 місяці тому +1

    i love when you do the "someone watching might actually not know this" thing because that's usually me. I'm pretty nooby as far as viewers of this channel go, most of what i know about things i haven't touched comes from you explaining it well and without oversimplifying.

  • @d3stinYwOw
    @d3stinYwOw 3 місяці тому +3

    For the case of Linux upgrade - they don't lie. It's like npm version bump for gatspy in that video. Simple. On linux it depends on your HW mostly, but gets better every day. And Electron is not everything here. We have QT, like Telegram app ;)

    • @mgaroz
      @mgaroz 3 місяці тому +1

      Completely agree with you, as far as Linux goes, this was an L take

  • @RoyaltyInTraining.
    @RoyaltyInTraining. 3 місяці тому +34

    The "modern" way to develop a JS app with transpilers, compilers, CSS pre-processors, and a billion NPM packages bundled inside some meta framework is a fucking mess. WASM doesn't help with anything, since it was made to extend the JS shitshow, not replace it. I wish we could wipe the slate clean and create something new that has both good developer experience and top notch performance. Currently we have neither.

    • @infantfrontender6131
      @infantfrontender6131 3 місяці тому +3

      Well, who first is going to invest billions of dollars in research?

    • @nikakondra5321
      @nikakondra5321 3 місяці тому +7

      It seems like you don't understand economics and how the world works generally. You have all these things to make the development easier and more stress free. The market is more competitive now(since it's easier to develop) and, as a result, products and services delivered are much better than it would be in other cases. Why should someone spend 3 times more time on something while the same can be done with some library/framework? Does it make you more productive? Does it help you with anything? Less time spent on development means that more products can be created in total...

    • @MrXperx
      @MrXperx 3 місяці тому

      Why do you have npm run build so much? Those transpilers and pre processors never interfere in your workflow ever.

  • @chekote
    @chekote 3 місяці тому +1

    39:35 that's why you need to pin not just the package versions, but also the language and other dependency versions in your project. If you check out an old project and initialize it, it should already have all the correct tooling configured. We use Docker for this.

  • @Lena-yt3yl
    @Lena-yt3yl 3 місяці тому +3

    Ubuntu 16.04 -> 18.04 -> 20.04 -> 22.04 -> 24.04
    No notable issues, no data lost only had to reinstall java sometimes because the updates removed the deprecated versions but stuff still depends on Java 11

  • @TianYuanEX
    @TianYuanEX 3 місяці тому +34

    Saying "React is simple" in the current ecosystem where literally every other popular framework is far simpler to use is crazy

    • @DEVDerr
      @DEVDerr 3 місяці тому +8

      @@TianYuanEX Takes like this make me even more sure that React fanboys are just having a Stockholm syndrome at this point lol

    • @rubendacostaesilva8442
      @rubendacostaesilva8442 3 місяці тому +3

      @@DEVDerr have you ever been to Stockholm?? Just a lovely place...

    • @Spiker985Studios
      @Spiker985Studios 3 місяці тому +1

      To be fair, Theo expressed in another video that simplicity and hidden complexity are realistically where a lot of arguments come into play
      Abstracting away a lot of the underlying implementation may *feel* simpler, but it is not actually simpler

    • @TianYuanEX
      @TianYuanEX 3 місяці тому +2

      @@Spiker985Studios Dude what? Have you seen the underlying implementation of React? It's absolutely not simple no matter how you spin it (doubly so when react 19 and compiler come out), even when compared to others like Vue, Svelte, Solid, etc..

    • @PraiseYeezus
      @PraiseYeezus 3 місяці тому +2

      ​@@TianYuanEX "underlying implementation" is not what people mean when they refer to simple.

  • @Fanaro
    @Fanaro 3 місяці тому +2

    It's time to force Theo into reviewing the very few attempts at full stack Web Components frameworks.

  • @DominikZogg
    @DominikZogg 3 місяці тому +2

    I use Fedora since a bit more than 2 years, no bigger issue with upgrade (small things get fixed in hours). 35 => 36 => 37 => 38 => 39 => 40

  • @magne6049
    @magne6049 3 місяці тому +1

    1:07:05 I think his point is rather that JS frameworks make too much of the _fundamental web stuff_ be up to the developer to implement correctly, like back-button behavior (routing). Many many developers simply forget to implement it (or implement it idiosyncratically), and thus with all the UX diversity around what ought to be the simplest and most predictable of behaviors (which you also use pretty frequently), it results in a crappy web experience in general.

  • @grzegorz.grzybek
    @grzegorz.grzybek 3 місяці тому +6

    Upgrading between major Linux versions? I went from Fedora 20 to 40 with 4 reinstalls (new laptop, 2 laptop changes and one test)... Gnome extensions were problematic sometimes, but not Fedora. No worries about Linux Theo ;)

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

    Btw, Xorg is still the default on Ubuntu. Wayland is optional

    • @lisongyun
      @lisongyun 3 місяці тому

      No, Wayland is the default now (24.04 LTS).

  • @morgan0
    @morgan0 3 місяці тому

    1:01:07 i think that timing in software, rather than being about absolute times, is more about your relationship to it. if something goes from so fast it’s instant to taking a couple seconds, that’s noticeable and if you depend on doing that quite often, will be a big hinderance. while on the other hand, if something is normally long enough that you take a break to go pee, get a snack, whatever, and that gets another 10 minutes longer, it’s not that big of a deal because you’re already expecting it to take a while and planning around that. the most important changes in time is when it crosses a boundary, when it becomes long enough you go from doing something else mindless on your phone to deciding it’s a good time to take a piss, that’s significant.

  • @ivanmaglica264
    @ivanmaglica264 3 місяці тому +3

    Plus JS replaced Flash. And no sane person would advocate to go to "good ol' Flash"...

  • @Burgo361
    @Burgo361 3 місяці тому +1

    Comparing a website to an operating system is an interesting choice, the level of complexity is massively different. The vim comparison is a bit better

  • @lightning_11
    @lightning_11 2 місяці тому

    People like to call reaction videos lazy cash grabs... but can we appreciate that this guy took a 15 minute video and created 1 hour & 15 minutes of content? This is the way reaction videos should be done!

  • @NapkinOfDestiny
    @NapkinOfDestiny 3 місяці тому +1

    Darn it Theo, that man really needed his pizza you monster!!

  • @jesselima_dev
    @jesselima_dev 2 місяці тому

    Next time my pizza delivery is delayed I will come here to blame you and React.
    That was a good one.

  • @opposite342
    @opposite342 3 місяці тому +1

    imo 8:33 is relative. Abstraction makes things complicated imo. My gripes with frameworks are that there's a lot of things you need to know (on the build tools side and what not) that makes something that theoretically could be done in a page of javascript (via just DOM traversal), into a larger project than it should.
    From many places I see (search engines, websites, social media, etc), the webdev ecosystem kind of force people that may just a blog, a landing page for their products, or some simple webpage, etc to use frameworks. The news and recipes site mentioned, for example, literally can just be done with a ssg like hugo, or even simple html + css, and only some js (htmx or similar minimal reactive library) as to not do a full reload on refresh. Basically, the problem lies on people using framework for EVERYTHING not only just where it matters.
    10:45 Even a shopping cart doesn't need that much interactivity. It's just a product list (with +/- remove buttons). You can hit the backend when the cart list updates (and then, like above, just get a minimal reactivity library to not fully reload things). Also, personally I don't care about load times on these things as much, but rather the fact that people have to use frameworks for everything when it is really not needed at all...
    14:07 this take is reasonable to me though. A mid-large size apps that requires a bunch of reactivity should use framework. If your app scales, then yes use a framework. If it's just a landing page... I would not recommend people use frameworks...
    15:39 LOL Rails and Laravel are modern... wdym... smth not modern would be JQuery... But anyways, you may not push react/js frameworks. However, the whole internet does. If you are a nobody and ask the web how to make a website, some people will just point immediately to frontend frameworks without ever mentioning html css...
    19:55 once again, YOU may not do it, but you're not the whole tech space. Look at people chasing AIs, THOSE kinds of people were (and still is) pushing frameworks really really hard.
    23:30 this is a cool idea. Still wouldn't use next.js for blogs... but it's really cool you let people choose things and init the project for them.
    31:43 and that's why tumbleweed, arch, and all the rolling releases are all the rages these days for linux (and immutable distros but I digress) (and oh yeah, I agree with the person in chat saying that Debian version upgrades just work, I think it's mostly an Ubuntu problem you have there)
    38:40 Unrelated, but I'm going to say it now. Rust's cargo build is horrible. Unless you specified, it takes all the CPU cores to build things, and it is still slow compared to c++ and go...
    I'm lazy to type now, but other than the above, my opinion lies between Eric's and Theo's somewhere. I like that things are barebone, but I also like if things are working, so yeah.

  • @travisc8406
    @travisc8406 3 місяці тому +3

    13:05 that one butterfly meme where the butterfly is labeled slow load time and the caption is "is this react"

  • @shadeblackwolf1508
    @shadeblackwolf1508 3 місяці тому

    Being a java dev, many of the big frameworks have had decades to stabilize. it's such a difference.

  • @Hippo0o
    @Hippo0o 3 місяці тому +6

    theo triggered for 1h

  • @devOnHoliday
    @devOnHoliday 3 місяці тому +2

    I just learned I'm as old as Theo's grandparents

  • @jly_dev
    @jly_dev 3 місяці тому +1

    Python has
    - package tooling: pipenv, poetry, uv, ...
    - static typing without a build step (unlike JS)
    - pattern matching (unlike JS)
    - solid tooling for CPU-intensive tasks (unlike JS)
    - proper distinction between int/float types (unlike JS)
    I like JS, but trying to dunk on Python is funny

  • @nic_s3385
    @nic_s3385 3 місяці тому

    Been building web applications here in Africa for almost 2 decades. About 5 years ago I did an experiment to see what the performance would be like if I did as much as I could on the server... including generating the HTML. The performance difference on older and lower end devices was kinda ridiculous and it mostly came down to having very little JS. All the complexity and decision making about what should be rendered and when was moved to the server. I ended up replicating a really complex screen using this new method and was able to load and use it on a Samsung Galaxy A3 from 2014 while the JS version would just crash. YES... such an old device is kinda extreme, I agree, but the results are still valid.
    For those think I'm a hater, I'm not. I like technologies like React, Svelt, Vue, ect, but I'm finding it hard to justify the complex stack they bring which is not needed for the vast majority of web applications. I now have my own "framework" I use to build web applications my vanilla JS bundle for my apps sit at about 9Kb... uncompressed.
    I think that we often try and solve problems that don't need to exist in the first place. This is also no unique to software...

  • @sky96line
    @sky96line 3 місяці тому +13

    Bro really...! You are comparing OS with JS framework? 😅

    • @Z3rgatul
      @Z3rgatul 3 місяці тому +4

      bro is comparing hello world web site with OS
      💀

    • @AlbatrossCommando
      @AlbatrossCommando 3 місяці тому +2

      ​@@Z3rgatulAnd somehow thinks that's a dub for JS 💀

  • @ndykman_pdx
    @ndykman_pdx 3 місяці тому +1

    I am surprised about how hard people think native application development is. Sure, cross platform application development is a challenge, but it's not an impossibility. But, in a lot of cases, you don't need cross platform. I am stunned at all these projects that are complex single page apps that are completely internal and only need to run on Windows.
    Granted, I am one of those idiots that would way rather code up a Windows UI (even with the mess they made of it) because the older boring ways of doing it are still supported and you can do old stuff like MVC.
    I would love to have native Windows apps for Amazon, UA-cam, hell, Facebook and the like. There was nice time when that seemed like it would stick, but it all fell apart. I'd blame developers who were allergic to anything Windows, but that wasn't it, Just not quite enough traction.
    The web is in every way worse for users and developers, but it's not worse enough to not use it so people don't have to install something. Except for Chrome, of course.
    Just because you can do something, doesn't you mean you should, and that is important. And we have to be honest, every developer tool has a narrative to push, and React is no different. What surprises me is the sheer number of developers that can't think of how to do a UI in another framework, much less one could do a UI that doesn't use any web technology at all. Then again, with all the churn, I also can't blame people for digging in and saying, nope, this is it, this is the horse we are backing and we will do so even if it dies.
    And, why yes, I am old and grumpy, thanks for asking.

  • @ltxr9973
    @ltxr9973 3 місяці тому +6

    JS did indeed ruin the web. It made it into an ADHD hellhole. The limitation of having to reload the entire page to change it makes a lot of annoying stuff impossible, including many of the dark patterns advertisers use. A good website is like a book. And the busy design has bled into everything else too. I despise messengers like discord or microsoft team. You can barely put your mouse cursor anywhere without something happening, like hovering over a message displaying a little popup to like the message. I'd rather use mirc. There's just too much going on in modern UI despite them usually doing very little. 90's style desktop applications let you work much more efficiently and offer much more possibilities than any electron app. They need to stop moving stuff that was already good to web technologies.

    • @deadchannel8431
      @deadchannel8431 3 місяці тому

      😂 time for bed gramps!

    • @moritzschuessler
      @moritzschuessler 3 місяці тому

      You didnt said js ruined the web. You secretly said that interactivity is bad.

    • @ltxr9973
      @ltxr9973 3 місяці тому

      @@moritzschuessler It kind of is but I think there could be a way to have interactivity in a beneficial way if it followed a strict protocol. For anything that isn't covered by this I'd rather use a win32/qt/swing application or a cli.

  • @AROAH
    @AROAH 3 місяці тому +2

    JavaScript wouldn’t be so terrible if I could open a single web page without using a gig of RAM.
    JS has its place, but I think the desire for an easier way of making cross-platform apps without needing a separate UI codebase, along with this weird fascination with single page websites, has turned JS into a wrench being used as a hammer.

  • @DEVDerr
    @DEVDerr 3 місяці тому +5

    5:58 you can't extend `type` ;)
    also with interface you don't have to type `=` sign
    also inlining Props is just horrible and so clunky to read and modify
    separate Props interface/type is way less verbose and more readable

    • @Pemol10
      @Pemol10 3 місяці тому

      > 5:58 you can't extend `type` ;)
      you can, you can even implement type on a class, and do couple of other things that interfaces can't do
      on the other hand interfaces have declaration merging which I'd never found useful

  • @gomesbruno201
    @gomesbruno201 3 місяці тому +1

    I think we should admit what is wrong and do not try to make it sounds better by comparing with a even worse situation

  • @Z3rgatul
    @Z3rgatul 3 місяці тому +2

    You think JS build tools are not that bad, because you have a lot of experience with them. You tried to compare it with Linux and failed.
    You can clearly see the problem when you compare JS build infrastructure with other languages. JS is basically the worst among everything I have experience with.

  • @sub-harmonik
    @sub-harmonik 3 місяці тому

    I kind of agree with OP in that a lot of pages can be much simplified instead of fancy bells and whistles. However a lot of performance gains would be derived from more 'compile-time' processing, not less. The fact that javascript is so slow and mercurial makes js compilers more necessary.

  • @EwanMarshall
    @EwanMarshall 3 місяці тому +1

    Okay, I have done ubuntu upgrades and debian upgrades, in fact I found one of my subsidiary virtual servers still running debian 9 stretch last week, and worked out, well debian 10 buster ended long term support last week, oops, so yeah, did an inplace double upgrade from debian 9 stretch, to debian 11 bullseye.
    It went better and easier than even I was expecting.

  • @NopeNopeNope9124
    @NopeNopeNope9124 3 місяці тому +2

    Have you ever felt like you've had a positive impact on the world with your webdev or commentary of webdev?

  • @ivanmaglica264
    @ivanmaglica264 3 місяці тому +1

    It seams that the subject does not fully understand the difference between marketing web page use case and application use case. Reddit and Twitter lean much more towards app use case these days. Also with handling reactivity in client, we avoid processing view layer on server, on top of all the backend db processing.
    Also reason why people use React (and others) because of lack of templating in pure HTML.

  • @NumbMonkE
    @NumbMonkE 3 місяці тому +2

    I have kept upgrading Ubuntu since 18. No major problems but small plugins kept breaking.

  • @Godalming123
    @Godalming123 3 місяці тому +1

    Linux has gotten much better, and I've been able to upgrade fedora through severel major versions from 37 to 40 without a fresh install, or any packages being broken.

  • @germandavid2520
    @germandavid2520 3 місяці тому

    bro was comparing building a web project with building the linux kernel

  • @morgan0
    @morgan0 3 місяці тому

    20:48 as a non-web dev, to me the situation feels like a basic scripting language intended for basic interactability when the web wasn’t really capable of that before, which became the main thing defining webpages when it wasn’t really designed for that. html and css are more like apis for js than the website itself. but i say this as a non-web dev (a dev for non-web things). i think that rather than just js being bad, rather it’s the whole system. some uses are internet connected cross platform desktop software, and that’s ok, but i think that should be developed with a system designed for that, while basic interactivity could use more basic scripting, with a more powerful and modern take on html and css to define more of the webpage on its own.

  • @maou_no_musume
    @maou_no_musume 3 місяці тому

    Remix has a guide titled "Disabling JavaScript", which is just removing the component

  • @kennethparris4680
    @kennethparris4680 3 місяці тому

    There is something to be said about overengineering, excessive fragmentation and the sheer landmine that is the JS ecosystem currently. And I get it everyone wants to increase their value but it's a nightmare for new devs and I can't imagine what it will be in a few years, entire projects will be crazy to maintain. At least there will be work for js programmers like there is work for cobol programmers.

  • @nitrane1286
    @nitrane1286 3 місяці тому +1

    I dont agree with Theo about the battery thing. Not saying it is a React/Whatever problem, but *something* with many of these SPA apps are going wrong. It happens quite often that I hear the CPU fan going wild and the reason is always a website that has been idle for several hours. No activity, no ads, no video, but something is eating up memory and eventually gets trapped in a CPU bound loop. The same way, when I see the famous "snap" screen it is almost always on a page that has been idling for hours. Luckily it has gotten better... I can imagine what such a CPU loop does to battery life =) Btw, 32G RAM, 8 Core Ryzen, so not a swapping issue...

  • @miacodesswift
    @miacodesswift 3 місяці тому

    I’m a fullstack swift dev, but here because I like it here and like how theo speaks about things.

  • @SnowDaemon
    @SnowDaemon 3 місяці тому +14

    for those commenting on how Prime is always talking ish about JS/TS and React "Andy's"....
    Yall dont realize Prime is just talking shit. He worked at Netflix for a decade...writing TYPESCRIPT!
    Ofc he hate it, he's been doing it longer than some of you been alive!
    He talks shit, but guess what...he just made a startup ssh coffee shop...using React!
    even he knows TS and React is great. He just talks shit because it's funny...you fools just take him seriously.

    • @aDaily1222
      @aDaily1222 3 місяці тому +3

      exactly. i mean, dont get me wrong, he deff hates js/ts...but its not because they're trash. It's because he's spent his whole career doing it, so obviously he's tired of the whole scene. like you said tho...when it came time for him to create a side-hustle, and they decided to do a ssh cofee shop in one weekend live on stream... they used React.

  • @Seedwreck
    @Seedwreck 3 місяці тому +1

    I knew it, Theo is team ActionScript all along

  • @kj_sh604
    @kj_sh604 3 місяці тому +2

    1:07:05 to be fair, the Title of Eric's video is "How Javascript Ruined the Web" 😅. I think he just targeted the wrong framework/library in the video and went into a too specific of a direction.

  • @morgan0
    @morgan0 3 місяці тому

    46:34 that feels pretty small. i saw hot reloading (or at least it being worked on) in an audio plugin framework, which was pretty cool, since it’s a library dynamically loaded by another program, which might not be able to reload without restarting, but generally takes like minutes to reload rather than seconds. saving seconds feels much less impactful than saving minutes

  • @DominikZogg
    @DominikZogg 3 місяці тому +3

    It's funny you blaming him for outdated opinions while telling your own. Linux, K8S...

  • @morgan0
    @morgan0 3 місяці тому

    38:55 i don’t use this part of nim, but it being able to compile to _javascript_ rather than just webasm means you could use nim for shared backend frontend code without massive binaries on the website or an interpreter on the server

  • @p99chan99
    @p99chan99 3 місяці тому +2

    Eric Murphy is pretty cool!

  • @Fanaro
    @Fanaro 3 місяці тому +1

    15 min video becomes a 75 min rant lol

  • @MrManafon
    @MrManafon 3 місяці тому +1

    When talking about lockfiles, Eric kinda hid the fact that his composer.lock takes like 10min and 8gb ram to build. npm isn't mix, but its good enough. pnpm is better.

  • @patrickaikonia853
    @patrickaikonia853 3 місяці тому

    I have to get this out of the way first, a person whose background in tech is another language will struggle a bit with JS because a lot of weird things go on.
    The moment that huddle is skipped however, Javascript is a great language and has enabled so much to happen.

  • @ChrisgammaDE
    @ChrisgammaDE 3 місяці тому

    40:00 I agree, that the size of dev tooling isn't super important compared to the size of the result. But having to carry around 0.5 gigs for every single project you're working on makes setting up and getting everything to work also hard

  • @JeyPeyy
    @JeyPeyy 3 місяці тому +3

    Disagree on inlining the type making it easier to read. I think it's messy to put too much in the parameters, I usually just use props: Props. I've never seen anyone shit on typescript for that.

  • @vvvvvvvvvwv
    @vvvvvvvvvwv 3 місяці тому +2

    L Linux take. I agree with a lot of the other stuff though.

  • @RogerClotet
    @RogerClotet 3 місяці тому +1

    Theo, deliver the pizzas yourself or own to your mistakes!

  • @battalgazi9740
    @battalgazi9740 3 місяці тому +2

    don't put out videos while you're on your period Theo. they're unbearable..

  • @gkiokan
    @gkiokan 3 місяці тому

    Wow man. I started my Web Development back then when HTML 1.1 Strict was a thing and we had to take really good decisions for all stuff that we do. Now seeing ppl cry about JS generated sites with all the information they can gain... damn, this is cry on high level man. We didn't had SO or any Internet help back then. WE HAD BOOKS!

  • @kraigochieng6395
    @kraigochieng6395 3 місяці тому +4

    JS made the web
    Over-engineering of JS ruined the web developer experience

  • @andrew_ray
    @andrew_ray 3 місяці тому

    Hmm. Corepack sounds a lot like Haskell's stack, which is losing popularity because it's slow and no longer solves a significant problem. It was originally created to solve two problems: 1) Haskell used to be pretty hard to manage. This has been solved with ghcup, which is like nvm. 2) Haskell's package manager, Cabal, used to install libraries globally, which led to a lot of dependency issues. Cabal 3 doesn't do that anymore.
    So now that we have ghcup and Cabal 3, Stack has dropped off in popularity and most people no longer recommend it for new projects, so I wonder if Corepack going to be a solution in search of a problem.

  • @ulrich-tonmoy
    @ulrich-tonmoy 3 місяці тому

    starting even a simple site with react than vanilla is that you can easily add functionality without building again from scratch using a framework

  • @Xanhast
    @Xanhast 3 місяці тому +4

    12:00 lmao copium justifying 16k lines of JS for a f'in blog that should be http 1.0 compatible.

    • @Xanhast
      @Xanhast 3 місяці тому +2

      and skipping over that (11:37 "all these little parts" ignoring the massive 15sec, and then adding them up... are you trolling or farming outrage) it was by far the biggest early blocker on that page load, the ad you pulled up after it came in async and still took less than the app. fr your bias is literally blinding you

  • @nathanm2891
    @nathanm2891 3 місяці тому

    I didn’t see any discussion on lazy loading large items, bundle splitting, etc. There are ways to speed up single page apps and apps that require a lot of data to load. I don’t see this as a framework issue as much as the focus of the developer in building the site. The Covid example is a good one. They built the site right away, and may not have realized how fast the data source would grow. It could just be a need to fetch smaller amounts of data at first and then lazy loading the larger batch after. Things happen.

  • @badalism
    @badalism 3 місяці тому +2

    I have never built landing page using react for my product.

  • @CC21200
    @CC21200 3 місяці тому

    I wouldn't use ad blockers if ads weren't abusive with popups and redirects.

  • @andrew_ray
    @andrew_ray 3 місяці тому

    4:49 Man, that's a collection of a lot of unrelated things. Yes, Angular, Vue, and React are frameworks. But D3 is a library. JavaScript, TypeScript, and Elm are programming languages. Babel is a transpiler. NodeJS is a server engine. NPM is a package manager.