Тёмный

PHP Doesn't Suck Anymore? | Prime Reacts 

ThePrimeTime
Подписаться 587 тыс.
Просмотров 329 тыс.
50% 1

Recorded live on twitch, GET IN
/ theprimeagen
Reviewed video: • PHP doesn't suck (anym...
Channel: Aaron Francis | / @aarondfrancis
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/dee...

Опубликовано:

 

25 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 1,4 тыс.   
@ThePrimeTimeagen
@ThePrimeTimeagen Год назад
I have much regret to inform you all that Beastco, commonly referred to as Big Dick Daddy from Cincinnati, wishes to thank everyone but his YT account contains his real name and he refuses to use it with all of you degens due to your degenerate behavior
@honeyfuntime
@honeyfuntime Год назад
Wat
@Pbertrand_dev
@Pbertrand_dev Год назад
same, thats why I work hard to stay anonymous
@musdevfrog
@musdevfrog Год назад
he deserves it
@bujitself
@bujitself Год назад
Understandable
@pianissimo7121
@pianissimo7121 Год назад
is this a reupload? I am completely lost on what you are saying. Can someone explain to me like I am 5?
@aarondfrancis
@aarondfrancis Год назад
Thank you for watching Prime ❤ You're the best.
@infas_mhd
@infas_mhd Год назад
And thanks for the video❤
@JeremyAndersonBoise
@JeremyAndersonBoise Год назад
Subbed, Aaron 🎉❤
@aarondfrancis
@aarondfrancis Год назад
​@@JeremyAndersonBoise Thank you! I won't let you down 🫡
@SuboptimalImmortal
@SuboptimalImmortal Год назад
Did not realize this was the creator of the video Prime is watching, thought this was just a nice guy thanking me for watching Prime and telling me I was the best 😂
@kevindelnoye9641
@kevindelnoye9641 Год назад
This was a great overview of the language itself, maybe you should also cover the community/libraries as they are a big part of choosing a language
@JensRoland
@JensRoland Год назад
Fun fact: PHP’s creator Rasmus Lerdorf is from the tiny country of Denmark. Who else is from Denmark, you ask? Well, the creator of TypeScript - and C#. And the creator of Ruby on Rails. And Google’s V8 engine which finally made JavaScript fast enough to be taken seriously as a contender on the server side - also built in Denmark. Edit: Also the creator of C++. All this (and more, but this is getting long) from a tiny country of 5M people living mostly off LEGOs and bacon.
@shrin210
@shrin210 Год назад
Genius people
@srenpeterkaagaardthuesen4206
@srenpeterkaagaardthuesen4206 10 месяцев назад
You forgot c++, which was also created by a Dane
@JensRoland
@JensRoland 10 месяцев назад
@@srenpeterkaagaardthuesen4206 I did - apologies to Bjarne Stroustrup!
@vladimir5935
@vladimir5935 10 месяцев назад
@@srenpeterkaagaardthuesen4206 isn't he Swedish?
@Biru_to
@Biru_to 9 месяцев назад
Bacon? Not speck? 😉
@neptronix
@neptronix Год назад
Some things he didn't mention: - mysql calls can be made asynchronously. - cURL can be asynchronous. - class preloading can be used to significantly reduce process boot up time. - close to complete implementation of object oriented programming from other larger languages - two technologies exist which can cross-compile PHP to C++
@Runeite51
@Runeite51 Год назад
are you talking about hiphop for that last one? how does the c++ access php superglobals?
@neptronix
@neptronix Год назад
@@Runeite51 no, but that's a third option i didn't think about. Sorry, i have not used it yet so i don't know details on how they work, only that they exist and look viable.
@rcnhsuailsnyfiue2
@rcnhsuailsnyfiue2 Год назад
@@neptronix what did you have in mind then? I’m aware of phpwasm/WebAssembly and FFI, but not sure what you would be referring to otherwise
@neptronix
@neptronix Год назад
@@rcnhsuailsnyfiue2 I dunno, i'm aware of this stuff just in case i ever need it. Right now PHP is plenty fast but i wanted to know if a 10x speedup was possible if i ever need it. Seems feasible
@Runeite51
@Runeite51 Год назад
@@rcnhsuailsnyfiue2 yeah I've been on the prowl for something to let me code in C + access to php when needed. Only viable option I've come to find is to build a php extension (FFI has weird limitations and calling exec() to many times is expensive and awkward, and I don't want to invoke script tags to do it)
@aus10d
@aus10d Год назад
My first big language was PHP, so it has a special place in my heart. I can't believe all the great improvements in it since I left it a decade ago. Wow. Very cool. Great video.
@MsOmega3d
@MsOmega3d Год назад
If anyone is interested in understanding how massive the PHP performance optimization was at version 7, there's this talk at ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-fYTKm2oUzAg.html where the PHP creator, AKA Rasmus Lerdorf, goes into some of the points that made PHP 7 so much faster. At some point, he explains how upgrading from PHP 5 to 7 would reduce the CO2 emissions from servers by 7.5 BILLION kg yearly, which is pretty insane.
@MadsterV
@MadsterV Год назад
lol that's like measuring distances in finge.... oh. OH.
@BrandonWilliams-wf6hg
@BrandonWilliams-wf6hg Год назад
Co2 is good for plants bro
@Catterjeeo
@Catterjeeo 8 месяцев назад
Only to a certain extent, CO2 is bad for plants at night as they need to breathe oxygen when not photosynthesizing@@BrandonWilliams-wf6hg
@origamitraveler7425
@origamitraveler7425 6 месяцев назад
oxygen isn't. we should get rid of oxygen
@mondotosz
@mondotosz Год назад
I started learning PHP during my apprenticeship and the teachers still gave us the 7.3 executable (yes it wasn't that long ago). I read the changelog when php 8 was getting ready to release and my mind was blown when I discovered pattern matching.
@TheDuckPox
@TheDuckPox Год назад
at least it wasn't PHP5. PHP 7.3 is already nice enough if you have type hinting through PHPDoc.
@halim7725
@halim7725 Год назад
You don't understand what people experienced if you started with PHP 7.
@dv1858
@dv1858 Год назад
The last time i moved apartments I throw out my php 4 handbook ;-)
@madcoda
@madcoda Год назад
php7 is very good and modern, we did it in the hard way when we're at 5, it was the dark age
@kenarnarayaka
@kenarnarayaka 2 месяца назад
​@@TheDuckPoxI'm using PHP 5.4 rn and it's torgure
@spamviking8591
@spamviking8591 Год назад
Nothing wrong with PHP. I've made a career out of fixing PHP apps and with the exception of huge enterprises with millions of users, PHP is more than fast enough for 99% of scenarios.
@khangle6872
@khangle6872 Год назад
I used to worked on a decade old php 4. codebase that 1.5GB in size without any external libs or packages. With all the SQL in PHP in JS in HTML glory In local machine it take 3 minutes to a single button to load, and a use case is like 15-16 button. It took hour just to see the error. And somehow on production it still land in ms After that codebase i dont believe there is any language that is not "fast enough"
@Netz0
@Netz0 Год назад
PHP works fine for Facebook and Spotify, just to mention 2 with million of users.
@ykmnkmi
@ykmnkmi Год назад
I love Dart, Go, Zig and working on interesting projects in my free time. But PHP pays my taxes))
@kneza96BG
@kneza96BG Год назад
@@Netz0 does facebook still use php?
@corey4448
@corey4448 Год назад
“nothing wrong with php” “I’ve made career out of fixing PHP apps” okaaaay….
@AScribblingTurtle
@AScribblingTurtle Год назад
Seeing your mind get blown by traits alone made my day. Thank you. Traits have been around since PHP 5.4. So even if you only get to work on legacy code, chances are you can still use Traits and I love them. Array destructuring was possibel even pre 7.1 via the list() function. It just got a bit more convenient to write. Some of lists()s downsides still exist. PHPs improvement is slooooow, but as we Germans say "Gut Ding will Weile haben". Or in other words "Good things take time".
@OzzyTheGiant
@OzzyTheGiant Год назад
The benefits of PSR standards are clearly evident too. Recently upgraded Slim 3 to 4 and VS Code is now able to pick up the framework's types much better due to those standards.
@CottidaeSEA
@CottidaeSEA Год назад
​@@OzzyTheGiant I don't agree with all of the PSR stuff, but I'd rather have it than not.
@evian8976
@evian8976 Год назад
@@OzzyTheGiant You can also use a static analysis tool like psalm which really saves your ass by checking types (and other things) too
@marcusrehn6915
@marcusrehn6915 Год назад
They are not really traits though, they are mixins
@AScribblingTurtle
@AScribblingTurtle Год назад
@@marcusrehn6915 Traits only add a bunch of properties and methods (even static ones) to a class. The trait itself does not have its own state. As far as I know. It is more akin to an Include but for definitions inside a class. You can access a property of the using class from within the trait because the properties of the trait are just copied to the using class and thus become properties of the class itself. Semanticswise I will not argue. Arguing is pointless, since Mixins and Traits solve the same problem in very similar ways. Different Languages implement different concepts under different names.
@lpanebr
@lpanebr Год назад
This is the BEST reaction video ever! I'm a php programmer. I'm just lol my ass off by your reactions! You've got to make a php side project!
@GringoDotDev
@GringoDotDev Год назад
Speaking as a recent convert myself, PHP is incredibly productive. And with Laravel + Inertia or Livewire I have never moved faster in the full stack.
@holonaut
@holonaut Год назад
did you actually learn Inertia AND Livewire? Because I'm over here struggling to even get started with one of them. Not because it's particularly hard but because I've been programming for ten years and my resistance to learning anything new is annoyingly high
@GringoDotDev
@GringoDotDev Год назад
@@holonaut I did! Inertia is pretty seamless. You bring React or Vue and just use it. Laravel manages state and routing for you server side. Livewire has a steeper learning curve since you can’t lean on existing knowledge, but once you get it you can move incredibly quickly in the full stack, even faster than inertia.
@filthyfrankblack4067
@filthyfrankblack4067 Год назад
We should have Primeagen code a wepapp in a PHP for a video.
@GringoDotDev
@GringoDotDev Год назад
@@filthyfrankblack4067 hahaha I would watch ngl
@8infinito8
@8infinito8 Год назад
​@@holonautLaravel + Inertia + Vue here. Well if you know Laravel, using Inertia is a breeze. You can skip API code and write just like for normal views. It's wonderful. 👍
@ТимофейВладленович-е8ж
I appreciate the work of engineers who were fixing PHP over all those years
@lourensthalen1674
@lourensthalen1674 11 месяцев назад
Dude I've been programming for almost 25 years now, and I've only just discovered you. I must say I've gotten a big boost because AI also makes my programming life so much easier (especially with other languages that I now feel very comfortable to just dabble with for an afternoon), but this is so good. You get me hyped for things I've been doing for years. This is quite refreshing after watching thousands of tutorials. Disclaimer: I'm not into gaming/discord as I would lose myself and my sanity, so no twitch and all it's goodness. Glad you also share it on RU-vid.
@Eysvar
@Eysvar Год назад
Watching this has made me feel so much better about being forced to learn PHP for my Web Dev class. It looks like I could actually enjoy writing some PHP. Thank you Aaron and Prime. P.S. Happy Birthday Beastco!
@ddomingo
@ddomingo Год назад
I do miss the LAMP stack + jQuery days. Simpler times. This looks very cool.
@Arvi89
@Arvi89 9 месяцев назад
Yeah, when you didn't need 16GB of Ram just to browse the web, this was nice.
@adambickford8720
@adambickford8720 Год назад
I'm surprisingly impressed. Kinda crazy how much 'convergence' there is across languages, even the ones you least expect.
@TheRafark
@TheRafark 6 месяцев назад
Long story short: they all copy each other
@SXsoft99
@SXsoft99 Год назад
"php is better than JS" what i've been telling people for years but eh it's not cool
@bentoth4324
@bentoth4324 Год назад
my heart when the underdog wins the special olympics
@TurboXray
@TurboXray 3 месяца назад
It's like saying dog crap is better than cat crap. Same difference hahaha
@nghokengdaniel839
@nghokengdaniel839 Год назад
I worked with PHP/JS/TS/GO/Dart/Python, and php is still my goto language for new web projects. it's the most "it just works" language out there, no compilation, great package managers, decent speed, ...
@khangle6872
@khangle6872 Год назад
If you need more performance, just slap Swoole in
@MDMAviation
@MDMAviation Год назад
@@khangle6872 PHP is thinked for concurrent requests, not for a unique process that has multiple threads. It could be useful if you use something like websockets where you have only one process that runs a server, but not for just plain websites with maybe some ajax.
@MDMAviation
@MDMAviation Год назад
@@khangle6872 PHP is thinked for concurrent requests, not for a unique process that has multiple threads. It could be useful if you use something like websockets where you have only one process that runs a server, but not for just plain websites with maybe some ajax.
@JeremyAndersonBoise
@JeremyAndersonBoise Год назад
There are a lot of design decisions outside the language and interpreter that can be made to improve performance, in most cases, but Swoole does look compelling!
@DaviMartins99
@DaviMartins99 Год назад
@@khangle6872PHP + Swoole is basically the poor man's Go and it fuckin' rocks. I love throwing little bits of coroutines on legacy apps.
@tommyponce2511
@tommyponce2511 Год назад
Let's go PHP, up to date with the needs of the modern programming industry!! Also, Happy Birthday Beastco!!
@rosehogenson1398
@rosehogenson1398 Год назад
I remember writing PHP code directly on the prod server with WinSCP... the nostalgia
@InternetKilledTV21
@InternetKilledTV21 5 месяцев назад
Notepad++ with the FTP plugin
@user-lj4lo7cx7m
@user-lj4lo7cx7m 5 месяцев назад
Miss the good old days of editing the file in notepad while using filezilla
@kolaysgames
@kolaysgames Год назад
PHP used to suck because there was nothing worse on the web apart from ASP Net maybe. Nowadays, in the world where react server components exist even PHP5 doesn't look too bad. I mean, if you just render html server-side and don't go super fancy with all these modern restful microservices, php is actually great.
@MadsterV
@MadsterV Год назад
My argument against server side rendering exactly: if I wanted to do that, I'd be back in PHP I want cached client code and lightweight server execution damnit
@cristi_dev
@cristi_dev 4 месяца назад
you have htmx to make modern apps combined with php is super powerful
@drcphd
@drcphd 9 месяцев назад
Went back to PHP when version 8 was released. One of my favorites now.
@mage3690
@mage3690 Год назад
I love variadic arguments. I love them so much, I implemented a polymorphic function using variadic arguments in MSVC's particular flavor of C . . . and now I hate variadic arguments, I hate my life, I hate everything, may God have mercy on the soul of whoever decided that MSVC was not going to support ISO C and thereby leading me down the wrong path for a solid 3 hours of constant swearing. May God have mercy on his soul, because I might not.
@kebien6020
@kebien6020 Год назад
I agree. I somehow hate C varargs even more than I hate C++ variadic templates
@amrojjeh
@amrojjeh Год назад
It's baffling how bad C support is on Windows
@mage3690
@mage3690 Год назад
@@amrojjeh honestly, just use wsl if you want to do C on Windows. Go to the command line, run "wsl --install", reboot, run "wsl" again, and voila! a POSIX-compliant bash shell running in a Ubuntu virtual machine that you can then install GCC on. Because yeah, Windows support for C is abysmal, and trying to dance around the differences between MSVC C and ISO C17 is massively confusing for a new programmer like me.
@l3lackoutsMedia
@l3lackoutsMedia 2 месяца назад
Im so used to bash shell scripts that i am very used to variable length arguments to programs or functions. It can be useful for various reasons.
@mage3690
@mage3690 2 месяца назад
@@l3lackoutsMedia hey, I don't mind variable length argument lists, I just particularly hate MSVC's particularly garbage syntax for it. ISO C's syntax is already pretty mid, and MSCV's particular "improvements" make me want to throttle someone.
@justgame5508
@justgame5508 Год назад
PHP progression looks a lot like C# progression over the years. Might have to give PHP a go
@oddikaro8236
@oddikaro8236 Год назад
They want to be PHP#
@CottidaeSEA
@CottidaeSEA Год назад
It's pretty fun to use, I'd recommend trying it with Hotwire Turbo or HTMX.
@TheRafark
@TheRafark 6 месяцев назад
@@oddikaro8236 php wants to be Java. C sharp wanted to be Java so much it stole the entire syntax.
@lylewarren4391
@lylewarren4391 Месяц назад
@@TheRafark if C# stole java's entire syntax it would be as horrible and outdated as java.
@sunderkeenin
@sunderkeenin Год назад
Types contextualize variables. Variables don't contextualize types. We read code left to right. Type before variable. Happy birthday beastco.
@OzzyTheGiant
@OzzyTheGiant Год назад
PHP literally stole all the good junk from every language right now and just jammed it into PHP 8. Absolutely fantastic to work with compared to Python or JS/TS. Unfortunately, I'm looking to use a default language that has more than just back end as its use case, so I'll probably be using Go, Kotlin or C# for that, as they all compile AOT and are easier to deploy rather than having a fat Docker container. PHP though, is definitely the most optimized language for straight up back-end web dev.
@T3metrics
@T3metrics Год назад
Compared to python, wut? Half of these features are straight from python.
@hmb8801
@hmb8801 Год назад
Php is easier to deploy on server.
@MadsterV
@MadsterV Год назад
@@hmb8801 *on Apache
@tk1576
@tk1576 11 месяцев назад
I just watched this and was thinking about how kotlin had all this already in like 2015, also if you work with php chances are the version will not be 7/8....
@Gregorius421
@Gregorius421 9 месяцев назад
That's exactly what php is: a pile of stolen, inconsistent junk from each year's favorite thing. What's good in it is stolen merit.
@ytye
@ytye 3 месяца назад
People who know laravel are aware of the strength of PHP. He didn't even mention interfaces.
@Jeppelelle
@Jeppelelle Год назад
In my non scientific empirical research for the last 10 years 10% of people who hates PHP have actually used it & hates it for valid reasons and 90% hates it because hating it is "cool" but can't provide a single reason as to why they hate it, or they use it out of "scope". As a general programming language it sucks, for web it is more than capable for 99% of the devs for it's intended usecase, it is a great "get shit done" language, but some people take it way to seriously ;)
@Netz0
@Netz0 Год назад
And this is one of the big misconceptions. PHP can be run as CLI for decades. It does need a web server to run, and it can be certainly used for non web things just like python, being faster as well for the same tasks.
@jaskij
@jaskij Год назад
I'm just hating on all weakly or dynamically typed languages. From PHP, through JS, TS, Ruby, to Python.
@ReyLamurin
@ReyLamurin Год назад
I had to use it daily for 15 years to hate it.
@haliszekeriyaozkok4851
@haliszekeriyaozkok4851 Год назад
you cannot use variables in functions with ease, it's slow, it's error messages were ugly, it's don't have any keywords for defining variables, there is no object literals or structs, you have to write associative arrays, it's support of utf-8 is very low and a lot of versions has various security vulnerabilities, also wordpress and it's plugin system also sucks, when you don't update your plugin you could easily hacked by someone other. That reasons are a few just i remembered right now.
@anarchoyeasty3908
@anarchoyeasty3908 Год назад
@@haliszekeriyaozkok4851 >also wordpress and it's plugin system also sucks, when you don't update your plugin you could easily hacked by someone. Ok, so that is wordpress's issue. Not PHP.
@JonathanTheZombie
@JonathanTheZombie Год назад
PHP having traits makes me unreasonably happy
@holonaut
@holonaut Год назад
Traits were introduced in PHP 5.4, 11 years ago
@claudiusraphael9423
@claudiusraphael9423 Год назад
@@holonaut Well, most people who didn't specialize in PHP but had to deal with enterprise got stuck on < 5.3, due to blocking support for the deprecated but still in use primal Zend. And anybody that didn't need PHP in the first place was either an asp runner or just hopped on the train to use Node.
@kebien6020
@kebien6020 Год назад
Just to be clear. PHP traits are not like Rust traits, they are more what you tend to call Mixins in other languages.
@CottidaeSEA
@CottidaeSEA Год назад
Yes, they are basically bundles of code.
@ed_iz_ed
@ed_iz_ed Год назад
traits are amazing in PHP, love them
@oliverfoxi
@oliverfoxi Год назад
Traits are complete bullshit... they can access props of classes and other traits. It makes complete mess. That's why I hate Laravel. And that's one of many reasons why I quit from PHP
@CottidaeSEA
@CottidaeSEA Год назад
@@oliverfoxi Sounds like a code standard issue if that's a problem you had. Just don't do stupid shit like that.
@Gramini
@Gramini Год назад
@@oliverfoxiPHP-Traits are just a fancy copy-paste. Might be useful for some helper functions here and there, especially in unit tests, but for "regular" use, use them rarely.
@asdqwe4427
@asdqwe4427 Год назад
Prime always pretending like he’s not a js/ts soy dev like the rest of us Edit typo
@ThePrimeTimeagen
@ThePrimeTimeagen Год назад
larping
@eunesshshahithakuri7047
@eunesshshahithakuri7047 Год назад
lul
@jrnas8046
@jrnas8046 Год назад
The point about having more information at a language level makes me think that the modern model for writing a new trendy programming language is "abstract away from the computer but don't abstract away from what the computer is doing" I want to be able to read and understand my code at a human level but it's being written for a computer to execute. as much as a garbage collector can take care of it, it's important to know as programmers that we are telling a *computer* to do the stuff and languages can abstract away as much as they want but it's kinda useful for us to know when we're talking to the computer vs talking to the next person who's been hired to maintain our codebase. sometimes I prefer added verbosity over syntactic sugar cos I actually get a sense of what is going on
@CottidaeSEA
@CottidaeSEA Год назад
That is one of the reasons why I don't mind Java syntax.
@Pictor13
@Pictor13 Год назад
@@CottidaeSEA I find the inference from Kotlin to be a good middle compromise.
@CottidaeSEA
@CottidaeSEA Год назад
@@Pictor13 Can you give an example? If you mean dynamic type assignment for a variable, then that's something which exists in Java as well through var.
@jarrodfodemski1018
@jarrodfodemski1018 7 месяцев назад
This guy is the Tony Hinchcliffe of programming and its fucking awesome.
@THC4k
@THC4k Год назад
Im currently writing a new project in php 8.2 with Symfony, it's fine. Pretty much on the level as other languages, just a bit less elegant in many places.
@coldestbeer
@coldestbeer Год назад
Why not laravel?
@LaRamenNoodles
@LaRamenNoodles Год назад
@@coldestbeerbecause symfony has better practices and laravel is just using symfony components.
@Davidlavieri
@Davidlavieri Год назад
@@coldestbeer laravel is for non-programmers, its too much magic under the hood, for people starting out is amazing, they have no clue their ORM is going to pull X numbers of records just to count them in-memory and display that number, on EVERY REQUEST, so yeah, localhost with 10 records = yay, produciton with 10k records = ugh; but most laravels people just code, deliver, get paid and bye bye, they dont know or care.
@THC4k
@THC4k Год назад
@@coldestbeer Mostly because I've been using Twig and Swiftmailer for years so Symfony was the natural choice. Also Symfonycasts makes it very easy to get started.
@Winnetou17
@Winnetou17 Год назад
less elegant ? Can you give some examples ? I specifically like PHP because (and maybe I'm too biased) the syntax it's the best for me, makes the most sense. Not too cryptic, not too verbose, just the right amount of practical and descriptive.
@conerzyo
@conerzyo Год назад
I'd like to add. If you're processing 50000 requests, it's more of an architecture issue than a language issue.
@JensRoland
@JensRoland Год назад
Arguably, if you’re processing >50k req/s it’s an everything issue. You’ll want to distribute the load; cache the crap out of any data those requests need as you definitely don’t want to do any disk or network I/O; a nice trick is to strip away the frameworks and language runtimes entirely and go straight nginx low level configs; you’ll even want to tune your network stack/drivers just so you’re not leaving any performance on the table.
@enriquejosemunozavellan5517
@@JensRoland Could you illuminate me on where can i learn all this stuff?
@JohnSmith-lc1ml
@JohnSmith-lc1ml Год назад
@@enriquejosemunozavellan5517 the internet
@cornoc
@cornoc Год назад
yeah, php-fpm along with some autoscaling nodes behind a load balancer can easily handle 50k req/s if you have the cash
@mrk131324
@mrk131324 Год назад
Unless you’re using Elixir (Erlang), than you have another 49.950.000 request to go, before architecture becomes an issue.
@Refresh5406
@Refresh5406 Год назад
It always cracks me up to see PHP haters get BTFO'd in real time. Also, regarding performance, PHP running on top of Swoole is actually fast af. You should look into it.
@makoceans
@makoceans 10 месяцев назад
php swoole is used in Asia for tens of millions of concurent users, western dev world just looks for latest flashy stuff and still thinks of PHP of the early 2000s 😆
@surlechihuahua
@surlechihuahua 7 месяцев назад
@@makoceans which means developing in PHP will turn you into a communist. NO THANKS! 🫡
@TomTom-yq6lo
@TomTom-yq6lo 7 месяцев назад
I have been using Swoole for a few years now and its pretty damn good.
@Poodrdt
@Poodrdt Год назад
PHP is ML future! ChatPHP is coming to disrupt the market!
@yasscat5484
@yasscat5484 Год назад
so this is c# with a $ all over the place...
@MarisaClardy
@MarisaClardy 7 месяцев назад
So many other awesome things that weren't mentioned in this video as well. Composer is probably one of the best package managers I've ever used. We have Fibers built into the language (though they are a little unwieldy right now without specific libraries). Using Psalm or PHPStan, you can have compile time type checking with all sorts of more advanced types (in comments) such as generics. You can also destructure string-keyed arrays. The ecosystem has a standards body that allows us to utilize any implementation of certain things (like caching or logging) interchangeably. Need Async logs? There's a package for that. Needs logs sending to XYZ? There's a package for that. And there is just soooo much more great things to say about the PHP ecosystem.
@UmzGames
@UmzGames Год назад
PHP: Oh you studied me 10 years ago? 😎 Allow me to reintroduce myself. 🙌🏾👏🏾🙌🏾👏🏾🙌🏾👏🏾🙌🏾👏🏾🙌🏾👏🏾🙌🏾
@haxwithaxe
@haxwithaxe Год назад
The problem with PHP is that it's jam packed with foot-guns. It can perform great and have lots of sugar but if it's easy for experienced developers to make serious mistakes that are hard to detect. Given that PHP is frequently internet facing that has the potential to end very badly.
@depafrom5277
@depafrom5277 Год назад
Well, thats true for all languages.
@haxwithaxe
@haxwithaxe Год назад
@@depafrom5277 I hate to break it to you but PHP is especially bad and in ways that are easy to stumble into. I have yet to see a foot-gun free language but PHP could open a gun shop and not sell out for a long time.
@SimonBuchanNz
@SimonBuchanNz Год назад
​@@depafrom5277plenty of languages are safe and make bugs harder to write. The trade-off is normally that everything else is harder too.
@lucass8119
@lucass8119 Год назад
@@depafrom5277 I mean... kinda but to different extents. It's very clear some languages are more robust and predictable at glances, and some aren't. Python, javascript, PHP... great languages, but it's no C# or Java. There could potentially be a LOT of bugs in your code and you just don't know, because the control flow doesn't hit there and these super dynamic languages don't care until they execute it.
@psihius
@psihius 11 месяцев назад
PHP has removed a lot of those foot guns over the years now. A lot a lot of those things just do not exist any more.
@Gennys
@Gennys 7 месяцев назад
Everybody loves pattern matching for switch statements. It's so nice.
@dakata2416
@dakata2416 Год назад
My first website with a backend was written in PHP. It has a special place in my heart ❤
@ulysses1614
@ulysses1614 Год назад
PHP sounds like an ointment for hemorrhoids - is that a use case? Giggity
@lazzuuu21
@lazzuuu21 Год назад
That SensitiveParameter is lowkey super awesome and is what I want in my project
@bkucenski
@bkucenski Год назад
I was fortunate enough to do a stint with a company building their web-site with C#. I ended up modeling my PHP framework around that back in 2009. That saved me a lot of pain. PHP lets you code like a buffoon. But has always given the tools to write clean code if you put in the effort. Since PHP 5.2 didn't have types, so I built my framework around classes because I could at least ensure you weren't setting and getting magic properties by overloading __get and __set with a code base class that all classes extended from.
@LexicalNoScope
@LexicalNoScope Год назад
My mind is blown… no comment on the 420% increase in performance
@sudeshryan8707
@sudeshryan8707 Год назад
Java devs skipped that part 😅😅
@HaraldEngels
@HaraldEngels 10 месяцев назад
Strict typing and static analysis with PHPStan are my daily bread. I can't live longer without that. Variadic functionaly (spread operator with named arguments) are fantastic.
@MrDpof
@MrDpof Год назад
A few days ago, when the php video came out, I was about to go on a mission to post the link to this video as a comment on each of your new videos. I'm glad this video reached you without me having to do anything. To the person who shared this video, thank you, you're a champ. ❤
@barneylaurance1865
@barneylaurance1865 10 месяцев назад
The big advantage of a variadic argument in PHP is that you can specify the type. PHP doesn't natively have generics or typed arrays (you have to use a third party static analysis product for those), but you can do something similar with a typed variadic argument.
@-www.chapters.video-
@-www.chapters.video- Год назад
00:00 Introduction to PHP and misconceptions 12:05 Annotations and exception handling improvements 13:13 Switch statement and weak maps 14:07 Enums and type hints 22:19 PHP performance improvements and misconceptions 23:03 PHP's speed is sufficient for most use cases
@jaideepshekhar4621
@jaideepshekhar4621 Год назад
Thank yougood sir.
@FinlayDaG33k
@FinlayDaG33k Год назад
I started during the PHP 5.6-era (I was 14 back then) and started taking it serious around PHP 7.0 (I was 16 or so) so I never understood the hate against PHP. Mainly because each time tried to hate on it, their arguments could literally be debunked with: "That's not an issue", either because PHP added that or because it an issue was so, so, so specific that you'd have to actually *try* to purposefully trigger that "issue" rather than stumbling upon it. Nowadays I mainly use TypeScript with Deno but that's because it has async/await (which PHP sadly still doesn't have) and allows me to create stuff like Discord bots without scuffed hacks like AmPHP or ReactPHP.
@Winnetou17
@Winnetou17 Год назад
For the async/await, couldn't that be done with Swoole ? It's an official server which can do sync, async, fiber and I think everything inbetween. Haven't used it, but it looks interesting, I can't wait to try it out.
@FinlayDaG33k
@FinlayDaG33k Год назад
@@Winnetou17 While I think Swoole is a step in the right direction, it suffers the same issues as AmPHP and ReactPHP which make it feel more like a "hack" rather than a "solution". Additionally, it lacks a form of "await" so I have to pass a callback to an async handler (eg. `Swoole\Async::read($file, function($res){})`) rather than just say `$content = await Swoole\Async::read()`. There was a library called "Swoole Futures" which added this syntactic sugar which does come very close but not quite close enough.
@Winnetou17
@Winnetou17 Год назад
@@FinlayDaG33k Oh, ok.
@bernout4341
@bernout4341 Год назад
They could add type inference so we could get intellisense from the IDE.
@ZAcharyIndy
@ZAcharyIndy Год назад
PHP 8 is modern PHP. It is NOT your grandpa's PHP folks! 😊
@lighty262
@lighty262 Год назад
I had the same reaction as our mustache guy here when I watched it the first time
@leovin00
@leovin00 Год назад
PHP calls its dictionaries/objects/maps “arrays” and therefore I can never forgive it
@neptronix
@neptronix Год назад
PHP doesn't call objects 'arrays' at all!
@mage3690
@mage3690 Год назад
I can never forgive Lua for this either. Well, Lua does call them "tables" and not "arrays", but the first time I read up on it, I was like "oh yeah, that's an array", because the first thing the tutorial says is that the default definition of a table is identical to an array. Then I tried indexing into someone else's table and found out THAT'S NOT AN ARRAY. THAT is a linked list of structs of unions that is MASQUERADING as an array, and I HATE EVERYTHING RIGHT NOW.
@neptronix
@neptronix Год назад
@@mage3690 I love how an 'array' in PHP can very consistently provide the kind of data structure types that languages usually have 2-5 of..
@hugochavez6170
@hugochavez6170 Год назад
If you use JSON, then you should not complain about PHP's arrays. 😊
@neptronix
@neptronix Год назад
@@hugochavez6170 No kidding! I love me a nice: $array = [1,2,3,4,5]; foreach ($array as $item) { echo $item; } v/ No possibility of an off by one v/ Short It's a lot more complicated than that in most other languages, PHP spoils us
@_Aarius_
@_Aarius_ Год назад
Problem is a lot of php codebases (that I've seen anyway) were made in old versions of php, which does suck. Even if new php is better, I'd still rather use a lot of other languages instead for new stuff
@tk1576
@tk1576 11 месяцев назад
100% this, never going back to php it is 99% not php 7/8 with some hiodeous dependency on some shity wordpress instalation with a custom hacked plugin that a developer once tailormade in 5 years and left the company 10 years ago with 0 documentation and obfuscated code that was never touched/refactored or corrected(bugged from day 1 when wordpress was upgraded from 4 to 5)
@Fanaro
@Fanaro Год назад
Aaron's videos for PlanetScale are really good as well, he explains things very well with a lot of nuance.
@soniablanche5672
@soniablanche5672 Год назад
yeah I actually learned some new things from his videos
@aarondfrancis
@aarondfrancis Год назад
❤ super glad to hear that
@pesterenan
@pesterenan Год назад
Happy Birthday beastco! Stop spamming C# danggit! xD
@adamschneider868
@adamschneider868 Год назад
I used to love PHP... I don't know if I am ready to love again.
@XKCDism
@XKCDism Год назад
most of this looks like C# syntax
@ZwCode
@ZwCode Год назад
The only issue is if you get a php job you’ll be using php pre-5.3
@EDreyer
@EDreyer Год назад
Yeah, it is like loving the new Java features and then getting a job and working in Java 1
@kristun216
@kristun216 Год назад
lmao that hasn't been true for years
@JohnDoe-ef4fm
@JohnDoe-ef4fm Год назад
Do you live in 2008?
@coldestbeer
@coldestbeer Год назад
Grow up
@klimaluky
@klimaluky Год назад
Like 7.4 at worst, you can also get job in COBOL, thats your responsibility if you take it, don't blame language but yourself ;]
@deniyii
@deniyii Год назад
When you come back to your childhood neighborhood, and the fat girl with pimples is now Scarlett Johansson
@minnow1337
@minnow1337 Год назад
happy birthday beastco
@WaseemAshraf
@WaseemAshraf Год назад
9:43 I like the fn in the beginning. It shows use of arrow function with a glance when you are scrolling code file.
@Davidlavieri
@Davidlavieri Год назад
sadly these arrow functions only work for one-liners, for multiple line function, uses the normal one, arrow function gets scoped values, but normal funcitons must _use_ "use" keyword say: function () use ($outsideVariable) {...}
@bbok1616
@bbok1616 Год назад
PHP is a lot like Apple Maps
@sp3cterproductions
@sp3cterproductions Год назад
I feel like the damage is done, PHP is going to take a while for people to drop the - "PHP sucks" - impression they have.
@MrFilla92
@MrFilla92 Год назад
Happy birthday beastco
@stokedfool
@stokedfool Год назад
Definitely the most "slap happy" video I've seen in a while.
@JoachimDyndale
@JoachimDyndale Год назад
Sorry to have to tell you this, but based on your reaction to this PHP video, you might actually like C# now too.
@ThePrimeTimeagen
@ThePrimeTimeagen Год назад
doc, tell me its not true
@BFedie518
@BFedie518 2 месяца назад
12:55 I never used PHP, so for me, most of this video is "Wow, look at all these things that PHP didn't have." But that is genuinely amazing. I had the same expression as Prime.
@DumblyDorr
@DumblyDorr Год назад
Honestly, the only thing that makes me want to use something other than PHP by now are generics and function-types. PHP even has fiber-based concurrency now - it's honestly pretty decent. My favorite language is still Scala, though (even though macros/reflection is a hassle) - have yet to see a better type-system in a productive language (i.e. not Coq or Agda).
@CottidaeSEA
@CottidaeSEA Год назад
You can add generics through a transpile step at the very least. Not perfect, but it works.
@rcnhsuailsnyfiue2
@rcnhsuailsnyfiue2 Год назад
What do you mean by function-types? PHP has first-class functions, and functions can be typed using the “callable” keyword. (If I’ve misunderstood I’m curious what you mean! 😊)
@DumblyDorr
@DumblyDorr Год назад
@rcnhsuailsnyfiue2 Oh, sorry. I meant being able to type-hint both the parameter-types and return-type of a function taken as parameter or returned from a higher-level function (or stored in a typed field in a class/trait). Not quite the same thing as generic types - which are technically type-constructors.
@Sra4825
@Sra4825 Год назад
Prime was busy PHPgasming so much he forgot to complain about the next line curly braces.
@JeremyAndersonBoise
@JeremyAndersonBoise Год назад
Fcats
@hypergraphic
@hypergraphic Год назад
Yep, I remember the good ol' days of slinging PHP 5.4. It's great that the language has improved, and having used Rails and Laravel, I think Laravel is a better framework, and PHP is faster than Ruby too :)
@segueoyuri
@segueoyuri 7 месяцев назад
the fact most of the web is in javascript right now make me retch every time I remember it. This must stop. Let's come back to sanity once again
@parlor3115
@parlor3115 Год назад
Lack of generics, distinction between arrays and hash maps and no extension methods kills it for me.
@FlaviusAspra
@FlaviusAspra Год назад
You can get quite close to extension methods with traits with little effort but I agree it's not the same and I also agree with your other points. However all in all it's a decent language.
@parlor3115
@parlor3115 Год назад
@@FlaviusAspra I meant extension methods for all types even primitives which PHP unfortunately doesn't support. It has an edge over TypeScript though, in that the type system is nominal. This is actually why I'm trying to switch to C# for a while now as it doesn't have any of these problems.
@ShadoFXPerino
@ShadoFXPerino Год назад
You can declare and check generics with Psalm, and the result is comparable to Java's type-erasure generics. C#'s reified generics are different still but few people really understand the difference between Java and C# generics anyways.
@rezmed1144
@rezmed1144 Год назад
Alan Perlis once quipped in "Epigrams on Programming" that "Syntactic sugar causes cancer of the semi-colons"
@wforbes87
@wforbes87 Год назад
I had to use php in 2017 and really enjoyed working on our newer projects that used version 7... I think my gripes were exclusively related to tasks on the old version 5 projects. From what I remember, php7+ isn't backward compatible with 5.x, so there was no cheap way to start upgrading those php5 sites. If it wasn't for that, I'm 99% sure I'd still be open to php jobs.
@CottidaeSEA
@CottidaeSEA Год назад
The biggest issue with upgrading is the libraries. Our company had about 10 loc which needed changing in total if excluding libraries when that upgrading was done.
@GroxMirk
@GroxMirk Год назад
Rector can help with automatic upgrade.
@wforbes87
@wforbes87 Год назад
Yeah true on the libraries and I will check out Rector, ty! Thinking about it more, part of my situation was that the old projects were just awful spaghetti no one wanted to modernize because it would mean having to unravel the worst if/else and switch ladders known to man to do anything new with them :P
@GroxMirk
@GroxMirk Год назад
​@@wforbes87 yeah, we have dedicated analytics to do that if/else and other logic analysis for ongoing refactoring.
@TatianaRacheva
@TatianaRacheva 27 дней назад
So, what I see is that PHP has adopted features that I'm pretty sure were first added in Hacklang, and the Hacklang team was, in large part, an ex-C# and ex-F# team hired away from Microsoft (the thing about PHP being influenced by Hacklang is conjecture, the thing about Hacklang being half-Microsoft is a fact).
@ironaleks7617
@ironaleks7617 Год назад
I am on team PHP ❤
@RetroGenetic
@RetroGenetic Год назад
I feel you, but let's not pretend like Tortoise wasn't one of the great tools of the era :D
@latergator915
@latergator915 Год назад
Kotlin with dollars. Which is the main reason I do Kotlin. So... I'm in.
@PreamPinbut
@PreamPinbut Год назад
Director: I have over 100k users Me: but only 1% active
@turculaurentiu91
@turculaurentiu91 Год назад
I use PHP at work and we are fine with it. I would love if to drop the dollar sign ($) for variables and the arrow notation (->) to access class attributes.
@coldestbeer
@coldestbeer Год назад
Drop the $ sign? No thanks, it's one of the major reasons i use php. Stop devolving.
@webdevnoob
@webdevnoob Год назад
Without the $ sign, it's a constant
@MDMAviation
@MDMAviation Год назад
@@webdevnoob he forgot to mention const syntax in classes that before used to be the define function.
@CFalcon030
@CFalcon030 Год назад
I thought the same about the dollar sign when I started working with PHP. I kind of like it now.
@josephizang6187
@josephizang6187 Год назад
This is probably one of your best reaction videos every man. I have been laughing all through the video.😁🤣😂😁😁
@GameChampelicious
@GameChampelicious 7 месяцев назад
I often use variadic arguments for deprecation of arguments. It allows me to keep backwards compatibility while re-using the function with different parameters. And then check, if the old args are passed in, throw a deprecation notice. If the new ones are passed in, all good! Then add a PHPDoc with the old arguments with a deprecation, and new arguments, to continue IDE autocompletes.
@issy_dev
@issy_dev Год назад
Would have been nice to hear more comparisons to modern Java. The constructor types are very similar to record classes in Java.
@barbaneigro
@barbaneigro Год назад
Java is corporate suckness shit. Thats the comparison.
@CottidaeSEA
@CottidaeSEA Год назад
Except records are readonly data structs and not classes, which I honestly prefer. The distinction is better.
@fluffydoggo
@fluffydoggo Год назад
Didnt C# add record types first?
@josephvictory9536
@josephvictory9536 29 дней назад
Wow thanks for this video. Great to bust the stereotype and congrats to the language developer for genuinely making it excellent. It definitely feels like something in between python and C# now. Which is a massive improvement.
@privacyvalued4134
@privacyvalued4134 Год назад
There's one major advantage of PHP over all other languages: Arrays. The PHP array (hash table) implementation is the most powerful computer science data structure ever invented. O(1) insertion, deletion, lookup, and iteration with support for mixing integer and string keys. But, most importantly, PHP arrays maintain insertion order! That is, when you insert 1, 2, 3, 4, 5, you get 1, 2, 3, 4, 5 when iterating over the items regardless of key type. Does Python, Javascript, Go, C++, or C# natively have a similar data structure? Simply put: No. They do not. Maintaining insertion order is critical but only PHP has that feature.
@TheSoulCrisis
@TheSoulCrisis 5 месяцев назад
That guy should have named his episode "PHP Strikes Back." LMAO
@santiagoale6232
@santiagoale6232 Год назад
Have you seen how much PHP with Swoole increases HTTP request? +500%
@RMDetho
@RMDetho 5 месяцев назад
Traits are amazing.. Entirety of my database access layer resolves around a database management class that uses domain controllers defined as traits. Makes all the class variables available on BOTH ends, makes modularity a breeze :)
@Patrickdaawsome
@Patrickdaawsome Год назад
As much as I love Ruby, and by extension Ruby on Rails. Laravel+PHP has been upgrading so quickly, and without the DHH nonsense. It's hard because I still like Ruby's flexibility (and syntactic sugar/flexibility) more, but might need to stick to PHP for developer adoptability.
@feldinho
@feldinho Год назад
I'm extremely cautious about personality-driven projects as a whole. Rail have DHH, Laravel has Taylor Otwell (he drives a lambo. oohhhh), Svelte has Rich Harris and so on. Sometimes the end product is really good, but I'm always skeptical about what made these so big: the product itself or the personality behind it.
@firemyst9064
@firemyst9064 5 месяцев назад
3rd rock shout out, lets go!! They had an episode where everyone became tommy. Tommy, tommy and tommy.
@BUtZUe
@BUtZUe Год назад
HBD Beastco 🎉
@ryangrogan6839
@ryangrogan6839 Год назад
Php is trying to look like dart lmao I love it
@ItsDan123
@ItsDan123 Год назад
Been using php since like 2001 and it absolutely has come a long, long way in that time. I agree with the initial premise, most folks who hate it/believe it's dead haven't even looked at it in a decade or more. Writing shitty php code in 2010 was mandatory, now it's on you as a developer if you keep writing hacky code.
@Duconi
@Duconi Год назад
So in the video only syntax improvements have been shown I never complained about. It's true that I didn't worked with PHP for a long time, but the video didn't address any of the points I don't like about PHP. Like needing to write
@ItsDan123
@ItsDan123 Год назад
@@Duconi embedding php in html hasn’t been the norm in a long time, most “real” sites made in php now are php first and are loading template files. Include_once() let’s you include a file only if it hasn’t been included already, but again you’d often load them as far of a framework. You can write cli apps in php very easily. Phpunit has been around for a long time for unit testing.
@Duconi
@Duconi Год назад
@@ItsDan123 Okay, so it seems that PHP now provides some of the things that you can expect from a programming language. But has it an advantage over other languages? Everything you can do with PHP you can also do with TS, Java or Rust. So for a company that is building their own online shop for example. Why should they use PHP for that? I would have used TypeScript, as you need JS anyway to do dynamic parts in the browser, so by doing everything with it avoids switching between languages and I can reuse components. Also nuxt for example can fully implement the JAM stack with SSG or SSR and API endpoints.
@YumekuiNeru
@YumekuiNeru Год назад
is it like fortran77 vs fortran90
@peter.bacinsky
@peter.bacinsky 11 месяцев назад
I'm using PHP over 20 years now, and over that time it's developers added almost every thing that made it a better / mature language.
@filipstudeny
@filipstudeny Год назад
I wrote projects in Java, Node, .NET and PHP. And Java and PHP were the only languages that I had fun creating stuff. The only thing that I miss from PHP is to be able to declare the same function and constructor multiple times with different arguments.
@MDMAviation
@MDMAviation Год назад
That's called polymorphism
@hck1bloodday
@hck1bloodday Год назад
@@MDMAviation its called mehtod overloading, and btw @filipstudeny in c# you can do that too
@hmb8801
@hmb8801 Год назад
Isn't the goal achievable with union types?
@barneylaurance1865
@barneylaurance1865 10 месяцев назад
In Java that's method overloading, handled by the compiler. But the PHP compiler doesn't know the types of variables so it would have to be handled at runtime which would make it double (or multiple) dispatch.
@olabodealamu5297
@olabodealamu5297 11 месяцев назад
“How many users do you have ?” The shades 😂, made me cry a little cos I got no users in my app.
Далее
I Have Never Worked | Prime Reacts
26:11
Просмотров 383 тыс.
Does PHP Suck? | Prime React
29:56
Просмотров 153 тыс.
Avaz Oxun - Turqi sovuq kal
14:50
Просмотров 548 тыс.
PHP doesn't suck (anymore)
10:48
Просмотров 206 тыс.
I Will Piledrive You If You Say AI Again | Prime Reacts
55:59
C Is Not A Language Anymore
34:29
Просмотров 227 тыс.
Can We Rank Developers ?
37:46
Просмотров 90 тыс.
Have We Forgotten How To Program?? | Prime Reacts
22:53
Did Theo Recommend Go?? | Prime Reacts
1:25:45
Просмотров 235 тыс.
Why I Quit Netflix
7:11
Просмотров 508 тыс.
They got away with this??
1:21:04
Просмотров 1,5 млн