FIRED For Using React?? | Prime Reacts

  Рет қаралды 355,234

ThePrimeTime

ThePrimeTime

Күн бұрын

Recorded live on twitch, GET IN
/ theprimeagen
Article: betterprogramming.pub/i-almos...
Author: Razvan Dragomir | / drazvan91
MY MAIN YT CHANNEL: Has well edited engineering videos
/ theprimeagen
Discord
/ discord
Have something for me to read or react to?: / theprimeagenreact
Hey I am sponsored by Turso, an edge database. I think they are pretty neet. Give them a try for free and if you want you can get a decent amount off (the free tier is the best (better than planetscale or any other))
turso.tech/deeznuts

Пікірлер: 870
@Sledgeattack
@Sledgeattack 9 ай бұрын
Prime says he hates "React" yet his name is "Prime Reacts", Curious
@mauro--1521
@mauro--1521 9 ай бұрын
2024 ThePrime Svelte?
@atikenny
@atikenny 9 ай бұрын
ThePrimeVues he doesn't React
@OzzyTheGiant
@OzzyTheGiant 9 ай бұрын
ThePrimeVuesSvelteVideosAndHasAngularOpinionsOnThem
@oso_estudioso
@oso_estudioso 9 ай бұрын
Sus 😮
@kullbetdah
@kullbetdah 9 ай бұрын
​@@mauro--1521😂
@sealsharp
@sealsharp 9 ай бұрын
I'm a C# dev and that compromise to make c# devs feel better was bullshit. If a java programmer joined my projects and started replacing properties with getter and setters i would tell him to stop it, no matter how "at home" that feels. And in exchange i will use any === or ==== or ===== in JS or whatever is required to get the behaviour that is == in any civilized language.
@MrAntice
@MrAntice 9 ай бұрын
Javascript. one of the few languages in history where you need 2 types of comparisons, in case you accidentally compare "1" with 1 and getting true when it shoudl be false.
@georgerogers1166
@georgerogers1166 9 ай бұрын
eqv? and equal? Is the only distinction required.
@freesoftwareextremist8119
@freesoftwareextremist8119 9 ай бұрын
@@MrAntice Don't ever ask a Lisper about eq, eql, equal and equalp.
@majorhumbert676
@majorhumbert676 9 ай бұрын
​@@MrAntice just don't use ==, bro
@MrAntice
@MrAntice 9 ай бұрын
@@majorhumbert676 That's what I always say too when anyone asks why there are only ==='s in my code.
@DeusGladiorum
@DeusGladiorum 9 ай бұрын
It’s insane that we live in a world where express is considered a framework and react has the nerve to call itself a library
@IvanKleshnin
@IvanKleshnin 9 ай бұрын
React kiddies attack and "correct" everyone who dares to mislabel their precious. They dont care that React is the only "library" in history that is fullstack, they dont care that Vue is a framework being a React closest alternative. If tomorrow Meta acknowledges its a framework the same kiddies will instantly change their minds, accordingly.
@OzzyTheGiant
@OzzyTheGiant 9 ай бұрын
@@IvanKleshnin Agreed, such sheep culture. Can't think for themselves
@mac.ignacio
@mac.ignacio 9 ай бұрын
React Devs has no brain they are connected in one network
@sapkra
@sapkra 9 ай бұрын
Yeah, because both are libraries 🫣
@pyrocentury
@pyrocentury 9 ай бұрын
@@IvanKleshnin I use React at work and I can care less about what it is labelled as. It's a tool to do a job. If you're surrounding yourself with people--online or otherwise--that care about this, then you should find better company.
@doc8527
@doc8527 9 ай бұрын
After reading the story, I have a weird feeling that no matter what the author chose from the beginning, it will always end up to the same place. It seems like there was a internal battle between different developers and the author actually didn't have the power to do anything, it just seems like he had the choice but in fact he never. CTO is being a weird position that only watched thing happened and blame if something didn't work.
@edwardcullen1739
@edwardcullen1739 9 ай бұрын
This is the problem with weak leadership.
@joegaffney8006
@joegaffney8006 9 ай бұрын
To many cooks, resistance and to much planning without working on a minimal viable product.
@cariyaputta
@cariyaputta 9 ай бұрын
​@@joegaffney8006yeah true, whenever I'm in charge of a codebase I always go with "let's just build some shits and see what'll happen."
@joegaffney8006
@joegaffney8006 9 ай бұрын
@@cariyaputta personally I think you can do allot of the planning building a mvp or prototype and this can also help convince people.
@russtran
@russtran 9 ай бұрын
I agree. They need to change the way their team work. Their CTO should be the one that leads the crew, yet I don't see any of his action to contribute into the project. All I can see is he's creating unnecessary tension between team members, he doesn't even know who's the expert of the project and let some .NET devs involved with the project flow. I feel sorry for the author tbh
@FabulousFadz
@FabulousFadz 9 ай бұрын
7:28 I also find it strange that people are so ready to add a project level dependency for the most simple things. Just the other day a friend asked me for help in figuring out how a library he had added could be configured to work they way he wanted. I told him I hadn't heard of the library but it was a simple problem to solve and would be easy to code in about 20 minutes. He shut me down saying he didn't want to spend any more time on it because he had been fiddling with the library for a whole day and had to make a decision on whether to stick with the library or choose another within an hour. I mean... 20 min < 1 hour. He chose to work with the library and the next day came asking how to write that code after finding the overhead the library came with was not worth the benefits.
@DEVDerr
@DEVDerr 9 ай бұрын
Right? I can't count amount of times where people asked me to install axios (before showing them how to write simple fetch couple of minutes later) Even making tiny good abstraction around fetch() takes like 5 minutes to write, so it's extremely weird that I had to justify my decision of not installing yet another library that gives 90% of overhead and 10% of actual simplification of the problem
@Euphorya
@Euphorya 9 ай бұрын
I've also noticed way more resistance to writing our own code over using a library. I think it comes down to liability, if something breaks you can blame the library. If you roll your own solution and it breaks it's on you. I catch a lot of flack for being the "minimize new dependencies" guy.
@doc8527
@doc8527 9 ай бұрын
@@DEVDerr your example could be quickly invalid while working with others, if the thing is simple and straight forward. then go ahead, do the fetch(), when you need a consistent implementation for the entire project with typescript support, error handling format. Either you single handed the entire fetch abstraction structure so everyone was enforced by your choice, or just use axios and called it a day. I once have project that went with your fetch approach, it's a little nightmare to handle, because the fetch handling structure slowly changed over time by different devs, so many inconsistency and api handling, guess what, it's a worse reimplementation of axios abstraction. I think axios is not a good example here as the lib itself has some history context. The more appropriate example I think it's installed some helper libs (hook libs or lodash) and only use one of them for the entire project, and that part of code is only few lines inside the original lib, which you can just directly copy and paste. Even worse, they realized the helper functions they used didn't fit their needs, instead of creating the own one. They create some weird abstractions or fixes on top of that wrong choice of functions. Then the nightmare starts. I also felt this is one of the core issues of the article inside the video failed to mentioned. The amount of dependency is bizarre. I can feel the codebase has tons of reimplementation on top of the wrong choice, that would justify the tons of deps.
@faridguzman91
@faridguzman91 9 ай бұрын
sometimes fetch() and promises can be quite a footgun so sometimes i use axios for that @@DEVDerr
@doc8527
@doc8527 9 ай бұрын
I also see some simple React/Svelte app to be extremely slow during the dev and prod. the 600mb node_modules folder is never the issue, the problem is always end up being the worse reimplementation of existing libs on top of the wrong choice of some libs. As long as you get rid of those fking reimplementation, the whole app runs as fast as fk. 🥲I'm just being the unfortune one who need to clean those debts. Being a framework developer imo is totally fine as long as you know it well, the hard reality is that tons of "framework developers" have no clue of the framework itself. They are not even qualified for the industry, you can call me gate-keeping. The market is being high-saturated and damaged because of them and we have to clean their terrible left-over.
@bike4aday
@bike4aday 9 ай бұрын
We don't want to reinvent the wheel, so let's decide which tools that reinvent the wheel to base our entire project on
@daumienebi
@daumienebi 9 ай бұрын
😂😂😂
@asdqwe4427
@asdqwe4427 9 ай бұрын
The bigger issue (to me) is that they didn’t pick a framework that fit the team. But, to be fair, this is easier now than 5 years ago. If I had C# developers today, I’d honestly consider Blazor
@440766tg
@440766tg 6 ай бұрын
whole problem was .Net had nothing to make a SPA website for many years.
@rossthemusicandguitarteacher
@rossthemusicandguitarteacher 17 күн бұрын
Blazor is great
@dominikvonlavante6113
@dominikvonlavante6113 5 күн бұрын
Or use Angular. It is structured such that traditional Backend folks with OOP feel right at home
@FabulousFadz
@FabulousFadz 9 ай бұрын
27:36 At risk of starting a flame war... I've never seen a Javascript problem that is fixed by more Javascript.
@ShadoFXPerino
@ShadoFXPerino 9 ай бұрын
Yeah it's usually fixed using the bash command "npm install ..."
@hypergraphic
@hypergraphic 9 ай бұрын
There should be a law that goes something like "You cannot fix the wrong abstraction by using that wrong abstraction."
@mage3690
@mage3690 9 ай бұрын
​@@hypergraphicyeah, it's called "two wrongs don't make a right, they just get you going backwards. Three lefts _will_ make a right, though."
@MuhammadSaied
@MuhammadSaied 9 ай бұрын
you fix it by including jquery actually
@d1ngd0
@d1ngd0 9 ай бұрын
Not only did they reinvent html, but the dom was too slow, so they made a new dom in JavaScript.
@ThePrimeTimeagen
@ThePrimeTimeagen 9 ай бұрын
now we have slow javascript
@Kunal70006
@Kunal70006 9 ай бұрын
React will reinvent Javascript soon enough
@reeeeedmil
@reeeeedmil 9 ай бұрын
@@Kunal70006 reactscript?
@Mr_Yeah
@Mr_Yeah 9 ай бұрын
@@Kunal70006 Isn't that JSX already?
@Kunal70006
@Kunal70006 9 ай бұрын
@@Mr_Yeah nah jsx is more like a template not a language
@lawrencejob
@lawrencejob 9 ай бұрын
He didn’t get nearly fired for react, he got nearly fired for letting his team write OOP inside React
@radvilardian740
@radvilardian740 9 ай бұрын
why not ?
@VuTuanIT
@VuTuanIT 9 ай бұрын
that is just one of the many problems there
@scvnthorpe__
@scvnthorpe__ 9 ай бұрын
The greatest trick the devil ever pulled was getting developers to define graphical interfaces using OOP (the two have a closely linked history) and calling it functional programming.
@lawrencejob
@lawrencejob 9 ай бұрын
@@scvnthorpe__ not sure if I agree; I’d love to hear more
@johnjackson6262
@johnjackson6262 9 ай бұрын
You shouldn’t use class based components, OOP is fine.
@timothyvandyke9511
@timothyvandyke9511 9 ай бұрын
That whole “teams are unable to make a decision” is a mood. It’s why I left my last job
@ThePrimeTimeagen
@ThePrimeTimeagen 9 ай бұрын
its real man. it hurts so much
@MichaelPohoreski
@MichaelPohoreski 9 ай бұрын
Accountability without Authority = Bureaucracy Authority without Accountability = Totalitarianism Need the balance of both.
@Necessarius
@Necessarius 9 ай бұрын
They now can make decisions
@TehKarmalizer
@TehKarmalizer 9 ай бұрын
@@MichaelPohoreski disagree. There is no accountability for bureaucracy. They are unelected officials. Though I suppose there is no accountability for elected officials, either, so maybe I just need to rethink that.
@hungrymusicwolf
@hungrymusicwolf 6 ай бұрын
@@TehKarmalizerAccountability for major institutions and the people working within is a bit of a problem in general nowadays. Elected, unelected, shouldn't have authority in said institution at all but do anyways because of cronyism (not exactly but you get the point).
@ankurdutta3277
@ankurdutta3277 9 ай бұрын
I do my personal projects in Svelte but for any serious project that involves a team I always root for Angular. Though creating wrappers is also a problem in Angular. The code base stays consistent and Angular takes care of all my basic needs. All I have to do is focus is on solving the problem.
@Daijyobanai
@Daijyobanai 9 ай бұрын
Consistency is a real problem with React. I see a lot of consultants creating new work but after a year or two they move on, never to touch that code-base again. They just start something new far way from this project that used X-router, X-state-manager, X-this and that. Then some poor guy is hired to "bugfix and make improvements" and everyone is angry after that.
@tyrellnelson
@tyrellnelson 9 ай бұрын
The only problem with 'OOP' is everyone forgets to add the 'S' at the end (OOPS)
@robertluong3024
@robertluong3024 9 ай бұрын
OOP is good for a lot of things. At the same time, there's a lot of pitfalls and the over-prescription of classes and inheritance make for a messy and complex structure. Also, I like IoC at times, but I mean you don't need to bring it everywhere. I hated it in AngularJS. I worked for a bay area company and they used DI for NodeJS stuff and I couldn't figure out how things worked. We had devs completely stalled because we couldn't figure it out. I'm also a .NET dev and I've read Mark Seemann's Dependency Injection in .NET so I'm not foreign to the topic at all and I had trouble figuring out they did it.
@zahash1045
@zahash1045 9 ай бұрын
🤓 🤡
@adrianspikes6454
@adrianspikes6454 9 ай бұрын
Another web dev opinion. Be an engineer and utilize concepts that make you understand what your getting into.
@OzzyTheGiant
@OzzyTheGiant 9 ай бұрын
The only people that do OOPS are those who can't organize their code.
@mage3690
@mage3690 9 ай бұрын
​@@adrianspikes6454the web is literally defined by OOP, top to bottom. The DOM is all but written into law, and the only languages used in the browser are OOP to their core. If "OOP bad" is a webdev take, I'd listen. They're the ones who have to live the OOP life, day in and day out.
@michaelhart8928
@michaelhart8928 9 ай бұрын
The informed captain sounds a lot like the surgical team structure from The Mythical Man-Month. It's a great book. Casey references some of the same concepts from the book in his videos.
@mage3690
@mage3690 9 ай бұрын
It also sounds exactly like the military rank structures used by every decent military since Napoleon. Fast decisions favor top-down decision making, but top-down structures are inherently unstable and ironically slow to react to change. The Marines especially embody the ideal of "informed captain": at the end of every meeting, the top dog gets up and asks everyone in the room for feedback, starting with the lowest ranking person. And because it's ultimately the top dog's decision, he really can't blame the youngest guy in the room for bad advice.
@darkdudironaji
@darkdudironaji 9 ай бұрын
"...at $40/ hour. Man you got some cheap developers there." Me making $28.85/hour: 😭
@_starhelix
@_starhelix 9 ай бұрын
I’ve been needing this man’s commentary in my career, like a mentor ❤
@mornwind318
@mornwind318 9 ай бұрын
You don't really need react-something to use something in React. You just need to learn React instead of copypasting code from NPM. Most people writing React, or Vue, or Angular, never learn JavaScript itself, and never notice that they're using a library that produces HTML, written in JavaScript, that can use anything else written in JavaScript. It's the unfortunate reality of an industry chock-full of newbies out of bootcamps. Btw, hilariously enough, Svelte needs dedicated libraries because it's more of a compiled thing. You can ref any library into React any day. Refs are the escape hatch out of React. You don't need dumb wrappers.
@sivuyilemagutywa5286
@sivuyilemagutywa5286 9 ай бұрын
Let's be honest: you're unlikely to write an app using just vanilla JavaScript; you'll probably end up creating a new JavaScript framework instead. I can relate to this because I initially learned JavaScript through a framework. My background includes experience in Java, as well as basic knowledge of C#, C, C++, and PHP. Although I'm familiar enough with vanilla JavaScript to build a website without a framework, I would never choose to do so again when I have the option to use something like Astro or Vue.
@mornwind318
@mornwind318 9 ай бұрын
@@HyuLilium you most definitely can. You only need to handle the state yourself by wiring it up to callbacks and such if you want to cross boundaries between Grape and React. React doesn't really care what's in your element, or even web component as long as you don't give it any reason to interfere.
@HyuLilium
@HyuLilium 9 ай бұрын
@@mornwind318 it really isn't anything easy. Check out the issue Integrating React components #1970
@diegolikescode
@diegolikescode 9 ай бұрын
btw, the $40/hour is actually a pretty good pay, I'm a brazillian developer and the best offers that I get from US companies is like $1800/month, which translate to like $10/hour. Yeah, it sucks big time.
@vaibhavnayak909
@vaibhavnayak909 9 ай бұрын
If you are in NA or Europe then it is low. If get paid that much while working in India I am rich.
@redpillsatori3020
@redpillsatori3020 9 ай бұрын
What are taxes like in Brazil? With the USA tax code I probably don't make much more than you do, and I bet the cost of living there is a fraction what it is in the States--especially rent.
@youtubeviewer5990
@youtubeviewer5990 9 ай бұрын
​​​@@redpillsatori3020up to 27% income tax + ~60% tax in everything you buy (gas, food, etc...) + property tax + vehicle tax (and we have a 80% tax for imported products too) And company taxes to receive the money.
@Smogne
@Smogne 9 ай бұрын
@@redpillsatori3020 In simple terms, the highest tax bracket is 27.5%; you get there once you hit a little more than BRL 4.6k - which is a little less than USD 1K. Taxes here are ridiculously high (I mean, sure, the part that falls on the lower bracket is taxed on that bracket, but once you star receiving more than 4.6k, you pay in taxes around 38.5% of every BRL 1 that you make - the extra that makes it around 38.5% is the national well fare system, that in theory will allow you to retire gaining an equivalent amount to your contributions, so if you make more money you pay more money but do retire making more later - most people retire from it (every one that is low income have it as their only retirement plan, so it is a import institution here), but I have my doubts about it's sustainability until I retire). You can get by a decent single life for about BRL 2.5~3K if you have rent and so on (small apartment rent). You can live better with that on a small town. Much better in some cases tbh. If you have a family with small kids, you expenses get a lot higher (it's like that on the US too, so nothing new for you I imagine).
@koool56
@koool56 9 ай бұрын
I get 25$ an hour in UK, so yeah 40$ sounds great
@lukasmolcic5143
@lukasmolcic5143 9 ай бұрын
when people say React is an unopinionated library, what they want to say it's different from something like Angular which provides you with all of the building block to create the entire app, while React only gives you the base lifecycle and reactivity modal on top of which you are free to build anything with anything in whatever way that you want. The reason why the phrase doesn't really hold water is because that part that React provides shapes absolutely everything you build on top of it which definitely bounds your work to a frame shaped by Reacts opinions of how HTML and js should interact.
@mage3690
@mage3690 9 ай бұрын
I think almost any language or tool is opinionated. As they say, when you have a hammer and all that. But the statement works equally well with any other tool: when you have a screwdriver, every problem looks like a screw; when you have a wrench, every problem needs a bolt; when you have a welder, every problem could be welded; when you have duct tape, all you need is an awful lot of duct tape. The real problem is when people think that their particular favorite tool _isn't_ opinionated. I love assumptions. Assumptions are fast, usually accurate, and easily modified--unless I think they're not assumptions. Then they're slow, more wrong than trying to use a stopped clock to fix a boiler, and damn near impossible to change. Unless, of course, your tool is just bad. If I had a flathead screwdriver, every problem would need a bolt. If I had Scotch tape, every problem would need rope. But even there, you can see the assumptions that aren't assumptions anymore shining though: it's "I don't like flathead screwdrivers, therefore I need another tool that looks just like it but is easier to use," rather than "I'm trying to weld wood, therefore I really need to consider using glue."
@ZelenoJabko
@ZelenoJabko 9 ай бұрын
Yes, better to call it barebones, or "no batteries included".
@dan-bz7dz
@dan-bz7dz 9 ай бұрын
@@mage3690 "I think almost any language or tool is opinionated". RoR is opiniated. That way when you start a new project, you don't have to make these library decisions as everyone basically use the same. You don't have that in the JS world.
@jhonyhndoea
@jhonyhndoea 7 ай бұрын
Its unopinionated because you can use it for just a single element, you don't have to code the whole website with react. people are just doing it wrong, it was never meant to be used for SPA
@ra2enjoyer708
@ra2enjoyer708 6 ай бұрын
@@jhonyhndoea You have to have a root component pretty high in the markup in order to render anything at all. And react itself is not a lightweight dependency (not to mention it requires a build pipeline), so using it for just one component is a colossal waste.
@Gornius
@Gornius 9 ай бұрын
That's exactly what happens when you're OTP of a language/framework. You can't solve problems, you just apply solutions without knowing the underlying issue.
@robolist2277
@robolist2277 9 ай бұрын
What does OTP mean?
@braxpark
@braxpark 9 ай бұрын
​@robolist2277 one-trick pony, I think
@Gornius
@Gornius 9 ай бұрын
@@robolist2277 One Trick Pony - mostly used in gaming communities, usually meaning you play only one class/role/strategy etc, so technically you should be very good at the one thing you were doing your whole "career", but no experience in other aspects of the game mean you cannot fully grasp what's happening and ironically it makes you worse at the game. Same thing with programming and other aspects of life tbh.
@erifetim
@erifetim 9 ай бұрын
@@braxpark Obviously The Poser
@JeyPeyy
@JeyPeyy 9 ай бұрын
​@@erifetimone tiny penis
@ivanmaglica264
@ivanmaglica264 9 ай бұрын
This is one example where I think server side MVC would make a lot more sense. Especially since quite a bit of C# could have been reused. Also the outsource team would have been on-boarded sooner.
@AH-wk1id
@AH-wk1id 5 ай бұрын
Exactly
@joejazdzewski
@joejazdzewski 9 ай бұрын
I had a similar story of having a project where I had C# devs and chose Angular because it was in Typescript(this was when Typescript wasn't popular yet) and maintenance would be easier even if I left the project
@Gornius
@Gornius 9 ай бұрын
28:45 - I have not been aware of THESE implications of how svelte handles reactivity. Like obviously it's easier and faster to write, but this is that one thing that at this moment made me really try Svelte out.
@DEVDerr
@DEVDerr 9 ай бұрын
It's just obviously better in all things Even in things that React devs claim that React is better at than Svelte (which is false)
@kelvintakyi-bobi3155
@kelvintakyi-bobi3155 9 ай бұрын
Svelte❤
@salvatoreshiggerino6810
@salvatoreshiggerino6810 9 ай бұрын
I'm not familiar with WPF, but from what I can read that sounds like it was the right tool for the job the whole time.
@distant6606
@distant6606 9 ай бұрын
wpf is for desktop apps i think, they wanted to create a web app.
@therealscifi
@therealscifi 9 ай бұрын
I remember WPF, it was actually pretty awesome to learn and to use.
@shimadabr
@shimadabr 9 ай бұрын
WPF is great, but it is exclusively desktop and only works on Windows.
@disguysn
@disguysn 9 ай бұрын
If I remember correctly WPF is technically available on multiple platforms thanks to C# cross platform shenanigans and possibly third party libraries. It's been a few years since I cared about it though.
@lucass8119
@lucass8119 9 ай бұрын
@@disguysn WPF is, unfortunately, not cross platform. Microsoft really messed up the .NET framework to Core transition. While .NET is fully cross platform going on, many old libraries will never be made cross platform. Instead, they are left in the dust to be replaced by new .NET Core libraries. For example, .NET MAUI succeeds WPF. You can technically mayyyyybe run WPF through Wine, but that's always been the case for Windows applications and is hardly considered cross platform. On one hand this sucks a bit for those who committed huge time and code to quickly obsolescing .NET technologies, but on the other hand a rebirth of .NET libraries will provide a clearer path in the future and reinforce .NET's position as a modern cross-platform framework.
@getflourish
@getflourish 4 ай бұрын
Such a good commentary. Dude, this is therapy :D
@SXsoft99
@SXsoft99 9 ай бұрын
As a PHP developer I had the opportunity to work on a vue app with a java team that wrote the project from scratch, they mamaged to shoot vue in the foot
@returncode0000
@returncode0000 9 ай бұрын
Thats the most funniest episode I‘ve seen so far on this channel 😂 Already a classic! I‘m working in a big Angular project with hundrets of sites, all he wrote does sound like Angular has been the right decison for this project.
@wraith3108
@wraith3108 6 ай бұрын
Awesome video. A quick question, does Netflix use nextjs framework now?
@spik330
@spik330 9 ай бұрын
This reminds me of the "good old days" where everything had to be done with a packaged lib, and writing code in your project was considered cliche. If you wanted to write you a system or anything larger than a few lines, well you need to write it then package it up as a lib so they could add it as a dependency to the project. It was soo ducking stupid.
@alexander_234
@alexander_234 5 ай бұрын
27:50 "I have only one rule: New is always better." ~ Barney Stinson
@nryle
@nryle 6 ай бұрын
I'm so happy to take on the features that either don't or barely hit the front end react
@thngzys
@thngzys 6 ай бұрын
I'm slowly descending into this hell at my own workplace. Definitely feel for the dude
@aflah7572
@aflah7572 6 ай бұрын
I can so relate to the description at 17:05 In my first internship at a pretty good company I was supposed to work on React and spent my first week learning it while also looking at their codebase on the side and trying out minor changes to make sense of it. There were behemoths of functional component just hundreds of lines long having tons of useEffects and state changes which made it essentially unreadable to anyone but the original developer
@airjuri
@airjuri 9 ай бұрын
Yeah, i learned coding since '87. So i think i know something or two about developing. Nowadays you do what you're paid for. If there is some crazy framework and you go with it without asking... you don't solo things or you're out. I'm just glad that i know how to program assembler for 6502, waiting for job opportunities with that ;)
@CFXTBogard
@CFXTBogard 9 ай бұрын
When you are genuinely the only guy on the team to stand and take decisions that can help everyone, there will be that **special developer** that doesn't want to adhere to the norms and start to make the weirdest shit you will see in Merge Request. If not corrected on time, the ship is quickly become unmaintainable or ready to sink. That is why I believe that if you are in position of leadership and show receipts to your devs, and devs understand the risks of doing shitty things, applications will be maintainable and easy to ship.
@paulholsters7932
@paulholsters7932 9 ай бұрын
I am building a no code platform based on Angular to use for exactly these type of enterprise applications. Very interesting!
@Slashx92
@Slashx92 9 ай бұрын
10:14 people are so used to angular's opinions as where files go, how things are called, etc. That we forget that is not the only opinions that exist. Opinions like "everything in you app must be done the react way or else is dogshit" is a very strong opinion. The *framweork* not having directory structure doesn't make it unopinionated You know what is not opinionated? something like lit templates
@gFamWeb
@gFamWeb 9 ай бұрын
Having personally ported a WPF application to Electron, and separately worked on a project with a Canadian company that chose to migrate an app to React (Native), this story seems particularly relevant. EDIT: InversifyJS, oh fuck! There's something I have experience with too.
@adambickford8720
@adambickford8720 9 ай бұрын
Been there. We had a team of 3 doing a PoC that was entirely non-blocking in java; `WebFlux` and 100% functional/reactive programming. We were crushing it by any metric. Then a couple people left, and the new custodians despised everything about it and did their best to fight it every step of the way. Productivity tanked and bugs thrived even with the same tech/code base.
@WolfrostWasTaken
@WolfrostWasTaken 5 ай бұрын
Consider the basic idea that there are shit developers out there
@edwardcullen1739
@edwardcullen1739 9 ай бұрын
The whole JavaScript ecosystem is insane. Every project I've worked on seems to download the entire Internet. There was even one library that needed Python to build it. 🤦‍♂️🤦‍♂️🤦‍♂️
@buc991
@buc991 9 ай бұрын
same python, ruby and whatnot, why hate only js, all scripting languages like this, or you want to reinvent wheel for every little thing, but you have limited time for tasks on a job, or no?
@Salantor
@Salantor 9 ай бұрын
@@buc991 Web dev is reinventing the wheel every year...
@edwardcullen1739
@edwardcullen1739 9 ай бұрын
@@buc991 Because JS isn't a programming language. More to the point, JS programmers do not take responsibility for the shit they use. The ecosystem for other languages are not nearly as bad. The fact that "no one uses NPM anymore", because they all use something else that tries to manage the dependency hell, says it all.
@ra2enjoyer708
@ra2enjoyer708 6 ай бұрын
@@edwardcullen1739 All these "not NPM" alternatives either died out or caved in to becoming a strict (and worse) subset of NodeJS + NPM module resolution. Also "other languages are not nearly as bad" is a complete lie, since dependency management in turing-complete environments is a non-trivial task and is a problem in all languages.
@edwardcullen1739
@edwardcullen1739 6 ай бұрын
@@ra2enjoyer708 Given this is what I do, I'm going to vehemently disagree. It is not the tool that is the problem, per se (though NPM solves the wrong problems), but the entire ecosystem and how it is used/managed. Python (pip) ecosystem is not even close to being as bad, though, the influx of data scientists and AI researchers in recent years has degraded quality overall. Turing Completeness is nothing to do with this problem - I question whether you actually know what you're talking about.
@dipereira0123
@dipereira0123 7 ай бұрын
14:50 that part about the no-Good Zone is something that I 100% support being taught in both tech and business schools. and its usually ignored... it also reinforce the importance of documentation hence later you have to justify the drawbacks of your choice
@seeker4430
@seeker4430 9 ай бұрын
It takes me close to double the time finish a video here as I pause and rewind to read the chats
@richardrodriguez8342
@richardrodriguez8342 9 ай бұрын
Been there. Not in an enterprise situation, but a personal one. Was truly on board with Electron and NodeJS. The dependencies of using any NodeJS package, is that it brings in others, which brings in others, etc. It was ok for a while, but whenever I would put down the project and come back, things have changed forcing me to add code to compensate for the changes I didn't make. As some competition to Electron came out, I tried it out, but it required me to dump NodeJS and code I wrote for it. What a nightmare, I thought, but I was wrong. Moving away from NodeJS and Electron completely stabilized things and was the right decision to keep the project moving at my own pace, which was on and off.
@PoeticLogic
@PoeticLogic 9 ай бұрын
Angular was built for enterprise applications and addresses/fixes all the problems he experienced. They literally shot and killed their golden goose right off the start because they thought it was going to be deprecated 😆
@apacheopenoffice4.1.14
@apacheopenoffice4.1.14 6 ай бұрын
having dotnet developers work at it, angular or blazor nowadays would have been a no brainer because of their similarities in design.
@theclockworkcadaver7025
@theclockworkcadaver7025 5 ай бұрын
What possesses you to highlight everything _except_ the first and last characters of the thing you're trying to draw attention to? Can't be a skill issue because you do it consistently, every time, and don't miss. So what's the purpose?
@LaLoses
@LaLoses 9 ай бұрын
"You have to fight for what is going to help you in the future... ...If you don't fight for the future, the future already is going to happen and it's gonna suck a whole bunch."
@Martinit0
@Martinit0 8 ай бұрын
What's the name of that Yahoo i18n library?
@jfftck
@jfftck 9 ай бұрын
How many left pad dependencies in that 600 MB?
@nuvotion-live
@nuvotion-live 7 ай бұрын
4:49 I agree it feels so fundamentally wrong. But it does make sense on some level. Of course the machine can handle code splitting and minification faster than if you wrote everything by hand. If you do no build js I think you are creating more work for yourself in a large project. Not sure if wasm is coming to the rescue because it has overhead and takes a build step too
@rankala
@rankala 9 ай бұрын
I'm littlebit confused, 1200 dependencies and only 600mb? my node_module with like 50 direct deps is regualarly 800/900mb.
@petarkolev6928
@petarkolev6928 3 ай бұрын
Prime, first of all - I LOVE YOUR VIDEOS!!!!! AMAZING JOB!!!!! I have a question not only to you but to all of my fellow developers - how can be become proficient at many languages when I have two kids which are participating in 5 different types of practices, etc.? I am writing React for more than 7 years and I barely find time to read something new before bed and I am the living dead because my energy levels are almost equal to 0. Which makes me feel really bad because I do really love programming and I don't want to be so narrow proficient. I hear you talk all the time how one should strive to learn as many as possible. How? What's your suggestion, guys? Thanks in advance!
@tempo5366
@tempo5366 3 ай бұрын
Personally, I don’t think programming is any different to learning an instrument or doing sports or any other hobby. For me it has to start with a goal of archiving a certain thing and learning the stuff while trying to do that. For example: depending on the interests and age of your kids you could build something with them together, like Arduino, which is a very nice approach to learning C.
@getdown03
@getdown03 9 ай бұрын
There's a whole book about the "no-good-zone", it's called "The Simplicity Cycle".
@billyhart3299
@billyhart3299 7 ай бұрын
The Marine corps does the informed captain thing too. It's the duty of the NCO corps to give their officer the most informed picture they can for the officer to make a decision with. As a corporal leading a small unit, you actually get the picture of the situation from your privates and lance corporals and make a decision.
@codepluggg2875
@codepluggg2875 9 ай бұрын
How do you produce so much content - have a full time job - and a family???
@angryanonymous4082
@angryanonymous4082 9 ай бұрын
Asking the real questions here, lol. Who cares about that React crap?
@NikPiermafrost
@NikPiermafrost 9 ай бұрын
My fucking god my solution architect has the exact same mentality: "C# does it like this so everything must be like this" in an Angular project and the result when i got back into the project after one year was one of the ugliest mess i ever seen in my life. C# is a pretty good and performant language but my god it has the biggest number of Acolytes
@OzzyTheGiant
@OzzyTheGiant 9 ай бұрын
I feel like people are missing the point of the video. While you're not wrong, it show cases that OOP is a paradigm that is transferable to most other languages and frameworks, whereas React is the opinionated one here.
@HyuLilium
@HyuLilium 9 ай бұрын
​@@OzzyTheGiant OOP doesn't belong in frontend code and the fact that syntactic sugar classes were added is just a mistake. Seeing OOP shilling makes me want to pick up Haskell and then Rust faster.
@NikPiermafrost
@NikPiermafrost 9 ай бұрын
@@HyuLilium that's not entirely true IMHO, what is wrong is the complete abuse some devs does with OOP
@majorhumbert676
@majorhumbert676 9 ай бұрын
@@NikPiermafrost OOP sucks, just admit it. Have an opinion for god's sake
@theshermantanker7043
@theshermantanker7043 3 ай бұрын
​@@majorhumbert676web dev tier opinion
@Yay295
@Yay295 9 ай бұрын
24:22 600MB of dependencies?!? And I thought my 70MB Java web application was too big.
@TheMrChugger
@TheMrChugger 9 ай бұрын
I love your takes, because you're a similar age as me, and I get the whole 'I've seen all this shit before, and it's just funny to me now' vibe you have
@nerdobject5351
@nerdobject5351 9 ай бұрын
What took place in this article happens every day in every small to medium sized company.
@redghost433
@redghost433 9 ай бұрын
Is there an issue with react and grids??? Sorry still learning react so I’m not keen on the details
@KangoV
@KangoV 2 ай бұрын
As a Java dev, I never really think about this. I've just pulled in a java lib that is 12 years old. It just built and ran fine. I really feel for JS devs.
@Apoxtle
@Apoxtle 9 ай бұрын
newbie question> what is the safest framework for enterprise web apps?
@DavisonIncorp
@DavisonIncorp 9 ай бұрын
shoutout to mui data grid for being super good at big data tables
@Slashx92
@Slashx92 9 ай бұрын
7:25 the "lets load a library" for everything is very "we are backend/.NET/etc engineers and for the web we just load kbs of js for anything". Literally inexpert people thinking they are experts because they have a zillion years doing WPF. But ask them about anything web related and they implode
@LostFelix
@LostFelix 29 күн бұрын
At my first job, only ever app i programmed, was setup on a foundation of react and redux. I am happy that was the only app customers in 6 years.
@OM-bs7of
@OM-bs7of 9 ай бұрын
Why is Angular terrible? Its awesome if you know how to use it
@lukewu7637
@lukewu7637 9 ай бұрын
To be fair, this seems more like a problem of Builder/Bundling setup than framework choice. Encounter similar issues with HMR and bundling with Webpack. Migrated to Vite + React architecture and it becomes blazingly fast. But these will always stay true to any situation More lines of code to write (less libraries) = Faster bundling Less lines of code to write (using libraries) = Slower bundling
@rocketpig1914
@rocketpig1914 7 ай бұрын
Yeah I don't feel anyone has really put their finger on exactly what went wrong. i can imagine any js project becomes a dependency nightmare if you use enough npm libraries
@tonimacarroni5208
@tonimacarroni5208 9 ай бұрын
What’s wrong with angular? I’m a java developer backend and I’m thinking about switching to angular instead of react
@merodach566
@merodach566 Ай бұрын
Angular is nigh impossible to customise. If you are you looking at doing anything more complex than your typical material-styled CRUD forms, you should go React or maybe Svelte,
@dominikvonlavante6113
@dominikvonlavante6113 5 күн бұрын
​@@merodach566Good advice, but 99% of enterprise work is some sort of business process CRUDdy service.
@theondono
@theondono 9 ай бұрын
I didn’t expect a Prime video explaining the Median Voter Theorem 😂😂😂
@mage3690
@mage3690 9 ай бұрын
OF COURSE there's a name for it, how could there not be? The irony is that he managed to perfectly recreate the chart (albeit inverted) without ever knowing what the median voter theorem is (AFAIK).
@Tony-dp1rl
@Tony-dp1rl 7 ай бұрын
I worry for an application or team that hasn't yet worked out what Business Logic is. Which it sounds like they haven't, if they think UI validations are.
@firemyst9064
@firemyst9064 3 ай бұрын
Your point on teams making a decision reminds me of Parks and Rec when they make a painting together. One guy makes a comment about a camel being a horse designed by committee, i assume too much input and not enough direction.
@oprahsgoons2220
@oprahsgoons2220 9 ай бұрын
14:12 When everyone has a hand on the wheel you're going to crash.
@hi_im_julian_kirsch
@hi_im_julian_kirsch 9 ай бұрын
Somehow I completely missed the hatetrain for Angular. What exactly is wrong with it, especially in an enterprise environment? While I prefer using stores over services (i.e. Redux, Jotai and especially Pinia) and Vue over Angular, I believe the opinionated architecture of Angular removes the guess work, your faced with, when working with e.g. React. Everything has it's definitive place and it seems to be battle tested. The onboarding as a dev is easier, if you don't have to relearn a new architecture, that someone pulled out of his ass, when the application was initially two views and five buttons. So, what am I missing here?
@sivuyilemagutywa5286
@sivuyilemagutywa5286 9 ай бұрын
It's not cool enough, I use Angular for apps, and use Vue or Astro for static websites.
@mma93067
@mma93067 9 ай бұрын
Angular is fine. AngularJS being deprecated destroyed lot of trust on people who boarded that train early
@sealsharp
@sealsharp 9 ай бұрын
@@mma93067 I just googled when that was. 8 years ago. Between version 1 and 2 of something that is at version 16 now.
@OzzyTheGiant
@OzzyTheGiant 9 ай бұрын
@@sivuyilemagutywa5286 What a based statement! I applaud you sir.
@OzzyTheGiant
@OzzyTheGiant 9 ай бұрын
@@mma93067 same thing happened with Vue 3. They stopped supporting Class API and half the community left.
@hungrymusicwolf
@hungrymusicwolf 6 ай бұрын
16:25 Compromising is terrible practice for cooperative choices. You hear everyone out to find BETTER ideas, not give up the good ones because the other guy doesn't like it. It's why you don't vote on half a law in a parliament because one guy didn't like the other half. You vote on the whole law and if it's good enough you pass it. Minor amendments can also be voted on, but you don't "compromise" on half the law. At that point you might as well remove the damn thing. (The requirement to not compromising is of course that it isn't horribly a stupid law in the first place. In that case it's just politicking to get as much of it out of there to minimize damage, but that's more just power plays in democracies than the actual democratic process in a team).
@TheKlopka
@TheKlopka 6 ай бұрын
Polly in C# is amazing, and I'm assuming PollyJs is the same. It takes 100 or more lines of code to write a good fully functional decorrelated jitter back-off in my retry policy. OR I can use Polly and do it in 20 characters, and it probably is way more efficient.
@AD-wg8ik
@AD-wg8ik 7 ай бұрын
This channel really has changed the way I think about programming.
@adirnoyman2231
@adirnoyman2231 8 ай бұрын
So what stack should they have picked instead? 🙄
@butterfly7562
@butterfly7562 9 ай бұрын
After getting fed up with the slow speed of next, I tried nuxt and entered a very fast and pleasant development experience in the new world.
@skyhappy
@skyhappy 9 ай бұрын
Could you elaborate
@jeremiedubuis5058
@jeremiedubuis5058 9 ай бұрын
Also to be honest, I have recently migrated very complex components from classes to function components, and to avoid performance issues you need to jump through a lot of hoops. When you need control over the event delegation function components kind of become a mess. When you start having to focus on performance refs are necessary and they are so much less straightforward than writing class properties.
@tylerbrown1457
@tylerbrown1457 9 ай бұрын
Can I trouble you to expand a lil bit on this, if you have a moment? I’ve only been working with React for 3 years, I got onboard the React train right when functional components and hooks took over so they’re what I know best and I haven’t had any issues. Would be good to hear about it from someone more experienced with class based components. As I understand it, there are additional lifecycle methods with class components, but hooks cover the majority of use cases and you still have class based to use when you need tighter control.
@jeremiedubuis5058
@jeremiedubuis5058 9 ай бұрын
​ @tylerbrown1457 you can get everything done with function components, and yes class components are still viable. It isn't about control but about the way some optimizations are just easier in class components. To give a simple example: in a function component if I need control over the event delegation I will add a listener in the useEffect hook and unregister it in the return fucntion. However if that listener depends on props or any type of external state I will need to add a dependency to the useEffect or useCallback, effectively redeclaring the listener function everytime the required props change and unassigning the listener and reassigning it. Working around this is tedious in function components. In class components I don't specify any dependencies, I just register on mount. The listener is a class method referencing class properties. If these properties change nothing happens but if the event is fired the state it references will be up to date. You can handle these issues in function components but it is way less straightforward. Most of the time you don't need to and function components are great but having fine control over the diff checking and rerenders is just harder with function components.
@ra2enjoyer708
@ra2enjoyer708 6 ай бұрын
What are you smoking? React delegates events by default, you don't need to write your own delegator logic for that. And if you think that passing callbacks is annoying, relying on indirect string references for your logic is even worse.
@jeremiedubuis5058
@jeremiedubuis5058 6 ай бұрын
@@ra2enjoyer708 if you never needed control over your event delegation I'm happy for you. Yes in most cases the default event delegation is fine but if you ever need to work with drag and drop/drag selection distinct windowed lists (frequent updates across multiple components, with events affecting each other) you will probably need more control or juste create horrible performance. When elaborating any complex behaviour involving a large number of elements immutability will become a performance bottleneck. It seems like you barely read me and jumped to a conclusion. I chose to migrate to function components because I find them better in most cases but there are these specific complex cases where adhering to the encapsulation and immutability of function components will render performance optimizations tedious. If you don't see the benefits of statefulness and mutability don't use them but they do exist and implementing them with hooks is sometimes way more comvoluted than with class components.
@Fleebee.
@Fleebee. 8 ай бұрын
In vscode, if you hold command and click your function name you go to its source
@a.m.4154
@a.m.4154 7 ай бұрын
Glad to see someone finally credit Deitel & Deitel.
@komicproductions3887
@komicproductions3887 9 ай бұрын
Damn, as I watched this video I felt the pain of this guy... I think Angular indeed would have been better for his case
@ryanleemartin7758
@ryanleemartin7758 9 ай бұрын
"Isn't it fun to solve HTTP in javascript?" GOTTEM!
@WillDelish
@WillDelish 9 ай бұрын
I think frameworks being able to add more features vs having 10 different community libraries to choose from would be most ideal.
@michaelschmid2311
@michaelschmid2311 5 ай бұрын
i usually just try to adapt to coding styles from what i see in the existing codebases, only using new features of libraries when i am still at the start of a project and then sticking with that.Ofc updating libraries for security reasons but its just way easier to maintain this way. unless it gets unsafe but then we will have to rewrite all components. or if there is actually a huge advantage to using the new features. But ive never worked in projects with more than 10 contributors before sooo...
@magfal
@magfal 7 ай бұрын
You can make a perfomant grid in a react app, just outsource it to ag-grid
@lizard450
@lizard450 Ай бұрын
I'm a c# dev primarily. I can do react. I did write my own DI framework for react when I was using classes, but abandoned it when hooks came in.
@1Maklak
@1Maklak 4 ай бұрын
The "new version" meme is so true. I used a VM with Ubuntu 18 in a classroom, then used Ubuntu 20 and it was noticeably slower. I didn't try Ubuntu 22 yet.
@75hilmar
@75hilmar 9 ай бұрын
How can I run it using Visual Studio Code and not Visual Studio?
@MuhammadSaied
@MuhammadSaied 9 ай бұрын
600MB node modules? I've never seen that folder being smaller than 5GB
@patfre
@patfre 9 ай бұрын
“Not every method needs a namespace”. Oh boy the C# is gonna pull out their pitchforks on this one
@McFrax
@McFrax 4 ай бұрын
The moment some people get into completely different environment and they insist on bringing patters they are familiar with, instead of leaning into the new thing with curiosity, it can't end well. He was screwed from the get-go. I saw that first question about dependency and my reaction was basically "this is the moment to let go, these people won't allow you to make sensible decisions". And they didn't.
@peterrowley2428
@peterrowley2428 9 ай бұрын
A 5000 line function would suck the life out of anyone, regardless of language/framework/library
@ragequilt_
@ragequilt_ 9 ай бұрын
I understand the criticisms around C# but I wish Typescript would be more like C#. For large code bases I feel I don't have to rely on the devs to do the right thing.
@matteoveraldi.musica
@matteoveraldi.musica 5 ай бұрын
I see that hating React is the new trend. All the other frameworks/libraries are already hated (angular, svelte, you name it). I guess we're all going to downgrade to vanilla JS again.
@Iscream4j0y
@Iscream4j0y 3 ай бұрын
We had a new hire try to pitch us react, after we told him we already did that and it literally could not scale and was not a fit for our project Laravel with blade templates and htmx while passsing off memory intensive tasks to Rust is a great way to go Stimulus JS for any special functionality, Tailwind CSS for styling
@Matt23488
@Matt23488 9 ай бұрын
Building JavaScript is a GOOD thing... Yeah it technically slows down development on the surface, but a build step means you get errors, which would otherwise happen at runtime. Even though technically it's not needed, it improves the experience greatly.
@genechristiansomoza4931
@genechristiansomoza4931 9 ай бұрын
It may require more dev time but once done it is future proof because there is no dependency.
@eduardofcgo
@eduardofcgo 6 ай бұрын
These errors should be cough in the tests anyway. Since when you expect to catch serious errors building an interpreted language without static types
@piyushgandhi7959
@piyushgandhi7959 9 ай бұрын
9:25 CTO should've backed facts and data, and not the team. The only source of truth should be data and nothing else, specially in the C Suite
@Martinit0
@Martinit0 8 ай бұрын
It wasn't even his own team, it was an outside dev shop. I was like "How about you get the devs suitable for the task instead of making the task suitable to OUTSIDE devs?"
@zaph254
@zaph254 9 ай бұрын
Take a shot every time he highlights the sentences from index 1 to index length - 2 or length - 3 (length of the sentence highlighted)
@karmataimu5202
@karmataimu5202 9 ай бұрын
What FrontEnd Framework Prime recomiendo?
Firing Our Top Talent Was The Best Decision Ever | Prime Reacts
23:19
Is Stack OverFlow Evil? | Prime Reacts
38:13
ThePrimeTime
Рет қаралды 199 М.
Чай будешь? #чайбудешь
00:14
ПАРОДИИ НА ИЗВЕСТНЫЕ ТРЕКИ
Рет қаралды 2,9 МЛН
HTMX Sucks
25:16
Theo - t3․gg
Рет қаралды 90 М.
Golang is BAD for SMART PEOPLE
27:25
ThePrimeTime
Рет қаралды 246 М.
Why I Like Programming in C.
3:16
Francisco Jinto Fox
Рет қаралды 22 М.
Why I avoid useEffect For API Calls and use React Query instead
17:45
MircroServices (and a story about Netflix) | Prime React
14:22
ThePrimeTime
Рет қаралды 227 М.
JavaScript Framework Tier List
40:57
Theo - t3․gg
Рет қаралды 294 М.
Why I Got Fired JR Dev | Prime Reacts
19:33
ThePrimeTime
Рет қаралды 168 М.
CoPilot Review: My Thoughts After 6 Months
9:45
ThePrimeagen
Рет қаралды 536 М.
Phoenix LiveView Is Making Me Reconsider React...
36:59
Theo - t3․gg
Рет қаралды 140 М.
#miniphone
0:16
Miniphone
Рет қаралды 3 МЛН
WWDC 2024 Recap: Is Apple Intelligence Legit?
18:23
Marques Brownlee
Рет қаралды 5 МЛН
iPhone 15 Unboxing Paper diy
0:57
Cute Fay
Рет қаралды 3,9 МЛН