Bro, this made me realise how the dev circle is such a parallel to wizard towers in fantasy and hoe they bicker and fight about magical philosophy all day
When I had a job I spent like 40% of the time on bicker fights about magical philosophy and 10% on meetings, and 20% drinking coffee. Only about 12% was spent actually writing code, the rest was reading the lambda ultimate. Now I retired, I don't spend time on bicker magical philosophy because when you're a lone wolf you can do whatever.
We conjure spirits from thought that move through the circuits. We bind them with names, and through those names we command and change them. The wizard book really makes programming sound metal.
If you know German it is ever funnier because when he says all those variables with the $$ it coincides with Hitler saying "SS" (The Schutzstaffel), which is just great timing. Really needs to get some probs!!!
When a JavaScript dev tells you Go is bad that's when you know they're cooked. They can't deal with the fact that Go devs are happy because they're not JavaScript devs.
Dang I didn't know Prime knew about Action Script. A legit great language that is easy to learn in my opinion. Cons are that async is a bit weird (Worker) and it's missing out on some modern syntaxic sugar like arrow function and Linq.
The best version of this is about racing and the editor lined up the phrase "Cobalt SS" when Hitler said the words SS. It lined up so perfectly with Cobalt SS
Re: proxies Yeah it's great fun in the land of Spring when you forget to put breakpoints in both your controller and your service classes, and then you think, how long could it possibly take to step out of the service back to the controller? There's like 7 different levels of indirection to call an autowired Spring bean method, and they're all called invokeSomething. You have to use a debugger that knows about your framework, and there's something cursed about that.
Happens to every Dependency Injection framework. At least the ones i know. But then again, i could be helpful if there is some filter, circuitbraker or wathever in between that is causing an error. And the stacktrace is more helpful than from the Rx library.
For web applications, PHP is fundamentally flawed, especially if you have to do IO during requests. Basically, this comes from two issues: every PHP request is basically a new process, and every request requires doing some setup, such as connecting to a database, loading language files, etc, etc, which will block. Likewise, doing database requests, API calls, etc, will block. All this work for every request. Sure, there's Laravel Octane for long-lived workers, so you don't need to do constant setup, but that's almost worse, because having a set amount of workers versus just forking a bunch of PHP engines will make it so any blocking will make further requests impossible. PHP was also never designed for long-lived processes, so it leaks memory like a seive, especially if you use libraries that never expected to run in a long-lived context. For anything that's a little more than a static page or a few database calls, PHP loses out to JavaScript, not to mention Go or Rust. I mean, sure, there's stream_select and some libraries that can make async work, like ReactPHP, but PHP still has some fundamental issues.
you dont know what you are talking about. php-fpm are long lived workers. and if you have as many workers as cores you dont even want to do async because it will slow down the CPU with context switching. I have a feeling you just dont understand web hosting/ webdev. Javascript/rust/go script kiddies need to learn more.
@@turtlefrog369 You have no clue what you are talking about. If you are waiting for a IO, and you haven't made the underlying connection async, then waiting on the connection will block the thread and waste precious cycles doing nothing. If you have a finite number of workers, this places a hard limit on the concurrent number of requests that can be handled. If your database is locked or an API request is taking longer than expected... then you are fucked until that request finishes. It kills performance. Using the PHP SAPI and spawning a bunch of PHP threads is also a way to work around this, but then you are basically doing async but passing the work off to the kernel, while kernel threads are generally much heavier than green threads or tasks. In essence, PHP is okay as a templating engine, but it doesn't scale. Blocking itself requires context switching anyways, as you pass control back to the kernel to start scheduling time for other processes, which is much more expensive than simply opening sockets in async mode and handling a bunch of requests concurrently using an async runtime. These are basic computer science concepts that I learned as a freshman while getting my degree.
@@turtlefrog369 That's kinda my point. PHP is great for simple or static content. One or two calls to a database won't hurt too much. But once you start doing more complex stuff... like web sockets, keep-alive, SSE, etc, then async is the only realistic way to do so. Even PHP-FPM kills their workers after like 20 requests because PHP leaks so much memory that the only way to make long-lived workers realistic is to kill it quickly. For startups, blogs, or marketing, PHP is great. For more complex use-cases, it is not. Plain and simple. Since that's the case, it's much better to find a more performant language or server that actually has async support, such as Go, Rust, or Node. Again, PHP has a place and is good for quick iterations, but larger projects aren't meant for it. These are all extremely reasonable takes. I primarily used PHP for a long time and I kept running into issues related to these. There were some workarounds, sure. But fundamentally, PHP was never meant for the modern web, so it was a bitch to get everything working. I'm smart enough to work around these issues and find solutions, but after switching to another language, everything became much easier because I wasn't using PHP how it was meant to be used. Also, I have a minor complaint about PHP-FPM... They aren't compliant with the FastCGI spec. I implemented a FastCGI server to communicate with PHP-FPM and their non-compliance with some of the protocols was annoying, particularly they don't hint via FastCGI how many workers they have.
@@reybontje2375 did you just call facebook a startup? The "modern web" can F itself, js needs to go. I am sick of all the fingerprinting API. And no you do not use PHP for static content, what are you smoking?
Adobe Flash age was great. It was a mess, but it sparked so much creativity. And I'm ok with that, because nobody tried to run high volume corporate information system inside a Flash instance. Which was wise. Unlike someone else...
ThePrimeagen: "You wanna give your career the pink slips? Learn JavaScript. Even PHP is better than JavaScript ..." php: "A-ain't no mercy, a-a-ain't no mercy (Woah) Got that purple Lamborghini, purple Lamborghini lurkin'"
Decorators and proxies may not be the worst when it comes to indirection. What about Aspect Oriented Programming and COMEFROM, the implicit GOTO instruction?
Learn as many languages as you can stand to learn my friends. It dilutes the hatred. 😂 But please could someone tell me why I learnt coffeescript... "Oh... look at what new JS can do now". Like writing an XSLT engine months before msxml was released. This was in my stars. 😔🤣
The inoculation to JS 2018 was remembering JS 1998. 😂 But being real... Disposable code is the best code. Except for the code you never even have to write.
Not asking this in a hostile way, just genuinely curious. How exactly did you, Theo, and Fireship become the holy trinity of TH-cam web developers? It feels like that's been a very engineered process, and I'm wondering how much of it was the three of you working together and how much was just the result of naturally aggregating fanbases or less naturally occurring sponsorship patterns.
As someone who actually used as3 at the time, don't listen to the guy who read a blog post about what Adobe thought would be a good idea once. It was a terrible language, poorly implemented.
This video is really weird if you're german and you understand most of the real bad german they are speaking there, but the subtitles are saying something completely different.
@ThePrimeagenClips decorators especially in Typescript are so much more complicated it does always throw me off and i have to check...simpler code effective performance
"Fair statement, Hitler" ThePrimeagen, 2024
😂
I came down here to comment that lol, beat me to it
I agree with all Hilter's statement on PHP, so do you. Because it is an empty set.
It's tough if you speak German. Dual plots
Yeah, I can't focus on both plots
Yea, I always wondered... :)
Yeah for me those montages suck 😂😂
Watch on mute
For a German watching this is a pretty bizarre thing. Like hearing what they say and what prime says can't be any more different hahah
Kudos to the authors of the subtitles, who made "Stalin" match with "stalling" -- well played!
And SS matching with $$ was hilarious too
and "garbage" at 6:20!
also talking about $$ when H says "SS"
He does it repeatedly. Even matched the eord bruh with his speech. Great attention to detail.
@@reilysmith5187
Bro, this made me realise how the dev circle is such a parallel to wizard towers in fantasy and hoe they bicker and fight about magical philosophy all day
When I had a job I spent like 40% of the time on bicker fights about magical philosophy and 10% on meetings, and 20% drinking coffee.
Only about 12% was spent actually writing code, the rest was reading the lambda ultimate.
Now I retired, I don't spend time on bicker magical philosophy because when you're a lone wolf you can do whatever.
What is interesting is how we all supposedly also need to learn new languages and frameworks every X years.
We conjure spirits from thought that move through the circuits. We bind them with names, and through those names we command and change them. The wizard book really makes programming sound metal.
Have you seen a cybersecurity debate?
@@monad_tcp Hold on, how old are you? I thouht you are he person in the pfp
If you know German it is ever funnier because when he says all those variables with the $$ it coincides with Hitler saying "SS" (The Schutzstaffel), which is just great timing. Really needs to get some probs!!!
I don't even need to speak German, it was perfect
catched that without knowing german. Also, bruh was clever too.
my guy said: "fair statement hitler" LMFAO
For me nothing beats the Haskell version of this meme. "How about you pattern match my fist across your face" will never fail to make me laugh
I've never seen it but it sounds hilarious
I wonder if there's a H reacts to H reacts... 😂 That would be priceless
That was him reacting to functional programming
I must note that the salute used by the Germans during that war sounded suspiciously close to Zig...
The language of Hans
"Zig."
-- Hitler, 2024
Primeagen: PHP is not as bad
Also Primeagen: well, let's try this new language which of course isn't PHP
These "subbed" hitler videos are always strange to watch when you understand both english AND german xD
True
These AI translated videos have been very eye-opening to me to say the least
Dem kann ich nur zustimmen;-).
from rust guy to php guy is a huge leap
PHP is like cockroaches. After the nuclear apocalypse, the only remaining webservers will be running PHP.
It all make sense since the web started with static html and we are going back to it, it make sense that we will go back to PHP
4:02 that $$ reference 😭😭😭
When a JavaScript dev tells you Go is bad that's when you know they're cooked. They can't deal with the fact that Go devs are happy because they're not JavaScript devs.
Im a happy go lucky JavaScript dev
@@deadchannel8431 you have Stockholm syndrome
Go devs enjoying nature
I'm a very happy JS dev
I use both :D Happy GO JavaScript GO Dev! :D
“All programming is inconvenient“ I haven’t had this thought since I switched to Elixir.
Dang I didn't know Prime knew about Action Script. A legit great language that is easy to learn in my opinion. Cons are that async is a bit weird (Worker) and it's missing out on some modern syntaxic sugar like arrow function and Linq.
Understanding the language really ruins the fun of these :(
I wish we could switch the dub to another language.
Just turn it off.
@@ultimaxkom8728 then u cant hear blud's commentary
Which is why I will never learn German
I never in my life thought I would see Mr. Primeagen watch a downfall parody
The best version of this is about racing and the editor lined up the phrase "Cobalt SS" when Hitler said the words SS. It lined up so perfectly with Cobalt SS
Re: proxies
Yeah it's great fun in the land of Spring when you forget to put breakpoints in both your controller and your service classes, and then you think, how long could it possibly take to step out of the service back to the controller? There's like 7 different levels of indirection to call an autowired Spring bean method, and they're all called invokeSomething. You have to use a debugger that knows about your framework, and there's something cursed about that.
I tryed spring and I hate the guts of not knowing where something is instantiated.
Happens to every Dependency Injection framework. At least the ones i know.
But then again, i could be helpful if there is some filter, circuitbraker or wathever in between that is causing an error. And the stacktrace is more helpful than from the Rx library.
ThePrimeagen will make PHP great again! Our hero in these trying times of software development…
Ja
zig isn't "moderately more convenient than c", it has a whole comptime thing lmao
LAMP stack was my first true stack, after just fiddling with html and dreamweaver and Flash etc.
I rarely watch these, because I understand German as a second language and so its difficult to ignore the audio track and follow the subtitles.
Imagine reviewing hitlers code and nitpicking about spaces and rejecting it for stupid reasons until he snaps
If you gonna review his code, might as well be a grammar nazi about his comments too 🙂
As a german i have a headache now
For web applications, PHP is fundamentally flawed, especially if you have to do IO during requests. Basically, this comes from two issues: every PHP request is basically a new process, and every request requires doing some setup, such as connecting to a database, loading language files, etc, etc, which will block. Likewise, doing database requests, API calls, etc, will block. All this work for every request.
Sure, there's Laravel Octane for long-lived workers, so you don't need to do constant setup, but that's almost worse, because having a set amount of workers versus just forking a bunch of PHP engines will make it so any blocking will make further requests impossible. PHP was also never designed for long-lived processes, so it leaks memory like a seive, especially if you use libraries that never expected to run in a long-lived context. For anything that's a little more than a static page or a few database calls, PHP loses out to JavaScript, not to mention Go or Rust.
I mean, sure, there's stream_select and some libraries that can make async work, like ReactPHP, but PHP still has some fundamental issues.
you dont know what you are talking about. php-fpm are long lived workers. and if you have as many workers as cores you dont even want to do async because it will slow down the CPU with context switching. I have a feeling you just dont understand web hosting/ webdev. Javascript/rust/go script kiddies need to learn more.
@@turtlefrog369 You have no clue what you are talking about. If you are waiting for a IO, and you haven't made the underlying connection async, then waiting on the connection will block the thread and waste precious cycles doing nothing. If you have a finite number of workers, this places a hard limit on the concurrent number of requests that can be handled. If your database is locked or an API request is taking longer than expected... then you are fucked until that request finishes. It kills performance.
Using the PHP SAPI and spawning a bunch of PHP threads is also a way to work around this, but then you are basically doing async but passing the work off to the kernel, while kernel threads are generally much heavier than green threads or tasks. In essence, PHP is okay as a templating engine, but it doesn't scale.
Blocking itself requires context switching anyways, as you pass control back to the kernel to start scheduling time for other processes, which is much more expensive than simply opening sockets in async mode and handling a bunch of requests concurrently using an async runtime.
These are basic computer science concepts that I learned as a freshman while getting my degree.
@@reybontje2375 dont wait for IO. your long winded post is irrelevant. web request have to be fulfilled ASAP. Just admit your L take is wrong.
@@turtlefrog369 That's kinda my point. PHP is great for simple or static content. One or two calls to a database won't hurt too much. But once you start doing more complex stuff... like web sockets, keep-alive, SSE, etc, then async is the only realistic way to do so.
Even PHP-FPM kills their workers after like 20 requests because PHP leaks so much memory that the only way to make long-lived workers realistic is to kill it quickly.
For startups, blogs, or marketing, PHP is great. For more complex use-cases, it is not. Plain and simple.
Since that's the case, it's much better to find a more performant language or server that actually has async support, such as Go, Rust, or Node.
Again, PHP has a place and is good for quick iterations, but larger projects aren't meant for it. These are all extremely reasonable takes.
I primarily used PHP for a long time and I kept running into issues related to these. There were some workarounds, sure. But fundamentally, PHP was never meant for the modern web, so it was a bitch to get everything working. I'm smart enough to work around these issues and find solutions, but after switching to another language, everything became much easier because I wasn't using PHP how it was meant to be used.
Also, I have a minor complaint about PHP-FPM... They aren't compliant with the FastCGI spec. I implemented a FastCGI server to communicate with PHP-FPM and their non-compliance with some of the protocols was annoying, particularly they don't hint via FastCGI how many workers they have.
@@reybontje2375 did you just call facebook a startup? The "modern web" can F itself, js needs to go. I am sick of all the fingerprinting API. And no you do not use PHP for static content, what are you smoking?
I can't get over how good that scene is. The whole film is great. No wonder it is parodied so much
JavaScript is a plague on humanity. I refuse to use web based tech when I don’t need to. Local offline is glorious.
welcome to costco, i love you
"Whether you think my work is right, whether you think javascript deserves punishment, cast your vote now!!!"
This is just brilliant.
This was great 😂
Man I'm still using Meteor, I never left the isomorphic JS hype phase
they need AI to redo the original german to match the new subtitles.
I REALLY miss ActionScript, I learned more about OOP in 3 months than I could have ever imagined.
as a german, i can confirm really sad this.
thank god its not a 28 minute video
ThePHPrimeagen
That was fun. Great script. I just hope that no PHP dev was injured in the making of the video.y
Welcome to Costco...I love you 🤣🤣🤣
That was great haha. Just when I thought I was sick of seeing these.
Adobe Flash age was great. It was a mess, but it sparked so much creativity.
And I'm ok with that, because nobody tried to run high volume corporate information system inside a Flash instance. Which was wise. Unlike someone else...
LOL, we're back to PHP, maybe write few extensions for it with Zig or Rust
ThePrimeagen: "You wanna give your career the pink slips? Learn JavaScript. Even PHP is better than JavaScript ..."
php: "A-ain't no mercy, a-a-ain't no mercy (Woah)
Got that purple Lamborghini, purple Lamborghini lurkin'"
Damm i wish, i couldnt understand german for this one
cause the audio wasnt edited, its only the subtitles
Decorators and proxies may not be the worst when it comes to indirection.
What about Aspect Oriented Programming and COMEFROM, the implicit GOTO instruction?
"No one really knows what a goroutine is. They just pretend!"
FYI "Primeagen Hitler" is now something I search for.
It's funny how Java has already 20+ versions and PHP has under 10, while being almost same age.
6:51 "If you break'er legs, its hard to cook orangutan"
The poor little guy said in chat "PHP is not bad, it's just older than JS"... My dude, they both were created in 1995.
Im a new software engineer and watching this makes me feel like that coding language has powercreep like in gacha games on every update
One day years from now when someone gets the bright idea to throw you a birthday roast, they should pull out a guy dressed like this to deliver it!
It's really hard for germans to watch these "Hitler reacting" videos. Reading fake subtitles while understanding the dub is confusing.
So happy to not be a German
they are so good for everyone else tho
Ignorance is bliss in this instance.
Just shut off your brain
The same when I watch people writing this kind of subtitles for JoJo meme video but I understood Japanese
Sorry, I'm late to the channel, but can somebody please explain the Costco joke? I can't figure out the pattern...
Learn as many languages as you can stand to learn my friends. It dilutes the hatred. 😂
But please could someone tell me why I learnt coffeescript...
"Oh... look at what new JS can do now".
Like writing an XSLT engine months before msxml was released.
This was in my stars. 😔🤣
"If you break your legs, its hard to cook orangutan" -AH
The inoculation to JS 2018 was remembering JS 1998. 😂
But being real... Disposable code is the best code. Except for the code you never even have to write.
0:52 This doesn't work for me. I'm German, and the subtitles don't match what he's saying. They could at least have made an AI voice for this...
Good movie, the clips are getting quite old but the film holds up.
Isomorphic argument is still a great argument
as a native speaker this is so hard. The subs arent even close to aligning, I hate it...except for maybe the part about betrayal
this is gold!!
TH-cam mentioned! 🎉
Rahh, wtf is a bot comment
decorators are amazing
I must be an exception - I neither love nor hate golang. It's merely okay.
Brazil not mentioned. I'm disappointed.
Lmao why is this video so good
4:03 I can hear he's talking about $$ variables lol
Go does have generics, for ~2.5 years.
This is perfect
Where is the original video?
It's hard for me to read along if I am hearing something completely different in my native language
isomorphic could be the future you know lol
Not asking this in a hostile way, just genuinely curious. How exactly did you, Theo, and Fireship become the holy trinity of TH-cam web developers? It feels like that's been a very engineered process, and I'm wondering how much of it was the three of you working together and how much was just the result of naturally aggregating fanbases or less naturally occurring sponsorship patterns.
Pure comedy lol
link to the video reacted??
As someone who actually used as3 at the time, don't listen to the guy who read a blog post about what Adobe thought would be a good idea once. It was a terrible language, poorly implemented.
Nobody:
ThePrimeagen: *literally agrees with Hitler*
Do a video on PHP8 then, become a shill for PHP8. I would love to see this arc
I don't know if you guys are history buffs, but the more I learn about that Hitler guy the more I don't care about him. I think he was a real jerk.
he was on the path to become a Leptos champion, when he was seduced by the evil PHP emperor, Darth Laravelus
As a german, listening to this only in the background was so weird, ngl
Guys, I think old primy wants to invade Poland.
1:00 - That's what she said! xD
I use Laminas(zend) for my personal project
Someone please tell him about keys for foward back one frame
Hitler should have said, "... Wir wechseln zu Flutter und Dart..."
PHP is the King! 😂
These clips are really tough on us that actually understand German
Its so dang hard to listen to these as a German :(
This video is really weird if you're german and you understand most of the real bad german they are speaking there, but the subtitles are saying something completely different.
JavaScript is the daedric prince of skill issues.
6:52 IF YOU BRAKE YOUR LEGS IT'S HARD TO COOK ORANGUTAN 🗣️
LOL
Onces you started complaining decorators, you prove: Skill issues!
decorators been providing skill issues for decades now
@ThePrimeagenClips decorators especially in Typescript are so much more complicated it does always throw me off and i have to check...simpler code effective performance
Thanks for pandering to me !
in my time, golang was tcl.
But golang does have generics...