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 Жыл бұрын
Wat
@Pbertrand_dev Жыл бұрын
same, thats why I work hard to stay anonymous
@musdevfrog Жыл бұрын
he deserves it
@bujitself Жыл бұрын
Understandable
@pianissimo7121 Жыл бұрын
is this a reupload? I am completely lost on what you are saying. Can someone explain to me like I am 5?
@aarondfrancis Жыл бұрын
Thank you for watching Prime ❤ You're the best.
@infas_mhd Жыл бұрын
And thanks for the video❤
@JeremyAndersonBoise Жыл бұрын
Subbed, Aaron 🎉❤
@aarondfrancis Жыл бұрын
@@JeremyAndersonBoise Thank you! I won't let you down 🫡
@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 Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
Genius people
@srenpeterkaagaardthuesen4206 Жыл бұрын
You forgot c++, which was also created by a Dane
@JensRoland Жыл бұрын
@@srenpeterkaagaardthuesen4206 I did - apologies to Bjarne Stroustrup!
@vladimir5935 Жыл бұрын
@@srenpeterkaagaardthuesen4206 isn't he Swedish?
@Biru_to11 ай бұрын
Bacon? Not speck? 😉
@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 Жыл бұрын
are you talking about hiphop for that last one? how does the c++ access php superglobals?
@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 Жыл бұрын
@@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 Жыл бұрын
@@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 Жыл бұрын
@@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)
@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!
@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 Жыл бұрын
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 Жыл бұрын
PHP works fine for Facebook and Spotify, just to mention 2 with million of users.
@ykmnkmi Жыл бұрын
I love Dart, Go, Zig and working on interesting projects in my free time. But PHP pays my taxes))
@kneza96BG Жыл бұрын
@@Netz0 does facebook still use php?
@corey4448 Жыл бұрын
“nothing wrong with php” “I’ve made career out of fixing PHP apps” okaaaay….
@MsOmega3d Жыл бұрын
If anyone is interested in understanding how massive the PHP performance optimization was at version 7, there's this talk at kzbin.info/www/bejne/nIq3fKBopLqtd8k 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 Жыл бұрын
lol that's like measuring distances in finge.... oh. OH.
@BrandonWilliams-wf6hg Жыл бұрын
Co2 is good for plants bro
@Catterjeeo10 ай бұрын
Only to a certain extent, CO2 is bad for plants at night as they need to breathe oxygen when not photosynthesizing@@BrandonWilliams-wf6hg
@origamitraveler74258 ай бұрын
oxygen isn't. we should get rid of oxygen
@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.
@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 Жыл бұрын
at least it wasn't PHP5. PHP 7.3 is already nice enough if you have type hinting through PHPDoc.
@halim7725 Жыл бұрын
You don't understand what people experienced if you started with PHP 7.
@dv1858 Жыл бұрын
The last time i moved apartments I throw out my php 4 handbook ;-)
@madcoda Жыл бұрын
php7 is very good and modern, we did it in the hard way when we're at 5, it was the dark age
@kenarnarayaka4 ай бұрын
@@TheDuckPoxI'm using PHP 5.4 rn and it's torgure
@lourensthalen1674 Жыл бұрын
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 KZbin.
@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 Жыл бұрын
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 Жыл бұрын
@@OzzyTheGiant I don't agree with all of the PSR stuff, but I'd rather have it than not.
@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 Жыл бұрын
They are not really traits though, they are mixins
@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.
@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 Жыл бұрын
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 Жыл бұрын
@@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 Жыл бұрын
We should have Primeagen code a wepapp in a PHP for a video.
@GringoDotDev Жыл бұрын
@@filthyfrankblack4067 hahaha I would watch ngl
@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. 👍
@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 Жыл бұрын
If you need more performance, just slap Swoole in
@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 Жыл бұрын
@@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 Жыл бұрын
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 Жыл бұрын
@@khangle6872PHP + Swoole is basically the poor man's Go and it fuckin' rocks. I love throwing little bits of coroutines on legacy apps.
@SXsoft99 Жыл бұрын
"php is better than JS" what i've been telling people for years but eh it's not cool
@bentoth4324 Жыл бұрын
my heart when the underdog wins the special olympics
@TurboXray5 ай бұрын
It's like saying dog crap is better than cat crap. Same difference hahaha
@ddomingo Жыл бұрын
I do miss the LAMP stack + jQuery days. Simpler times. This looks very cool.
@Arvi8911 ай бұрын
Yeah, when you didn't need 16GB of Ram just to browse the web, this was nice.
@ТимофейВладленович-е8ж Жыл бұрын
I appreciate the work of engineers who were fixing PHP over all those years
@rosehogenson1398 Жыл бұрын
I remember writing PHP code directly on the prod server with WinSCP... the nostalgia
@InternetKilledTV217 ай бұрын
Notepad++ with the FTP plugin
@user-lj4lo7cx7m6 ай бұрын
Miss the good old days of editing the file in notepad while using filezilla
@tommyponce2511 Жыл бұрын
Let's go PHP, up to date with the needs of the modern programming industry!! Also, Happy Birthday Beastco!!
@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 Жыл бұрын
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_dev6 ай бұрын
you have htmx to make modern apps combined with php is super powerful
@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!
@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 Жыл бұрын
Compared to python, wut? Half of these features are straight from python.
@hmb8801 Жыл бұрын
Php is easier to deploy on server.
@MadsterV Жыл бұрын
@@hmb8801 *on Apache
@tk1576 Жыл бұрын
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....
@Gregorius42111 ай бұрын
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.
@adambickford8720 Жыл бұрын
I'm surprisingly impressed. Kinda crazy how much 'convergence' there is across languages, even the ones you least expect.
@TheRafark8 ай бұрын
Long story short: they all copy each other
@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 Жыл бұрын
I agree. I somehow hate C varargs even more than I hate C++ variadic templates
@amrojjeh Жыл бұрын
It's baffling how bad C support is on Windows
@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.
@l3lackoutsMedia4 ай бұрын
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.
@mage36904 ай бұрын
@@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.
@drcphd11 ай бұрын
Went back to PHP when version 8 was released. One of my favorites now.
@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 Жыл бұрын
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 Жыл бұрын
I'm just hating on all weakly or dynamically typed languages. From PHP, through JS, TS, Ruby, to Python.
@ReyLamurin Жыл бұрын
I had to use it daily for 15 years to hate it.
@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 Жыл бұрын
@@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.
@MarisaClardy8 ай бұрын
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.
@sunderkeenin Жыл бұрын
Types contextualize variables. Variables don't contextualize types. We read code left to right. Type before variable. Happy birthday beastco.
@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. ❤
@justgame5508 Жыл бұрын
PHP progression looks a lot like C# progression over the years. Might have to give PHP a go
@oddikaro8236 Жыл бұрын
They want to be PHP#
@CottidaeSEA Жыл бұрын
It's pretty fun to use, I'd recommend trying it with Hotwire Turbo or HTMX.
@TheRafark8 ай бұрын
@@oddikaro8236 php wants to be Java. C sharp wanted to be Java so much it stole the entire syntax.
@lylewarren43913 ай бұрын
@@TheRafark if C# stole java's entire syntax it would be as horrible and outdated as java.
@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 Жыл бұрын
That is one of the reasons why I don't mind Java syntax.
@Pictor13 Жыл бұрын
@@CottidaeSEA I find the inference from Kotlin to be a good middle compromise.
@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.
@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 Жыл бұрын
Why not laravel?
@LaRamenNoodles Жыл бұрын
@@coldestbeerbecause symfony has better practices and laravel is just using symfony components.
@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 Жыл бұрын
@@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 Жыл бұрын
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.
@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.
@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.
@makoceans11 ай бұрын
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 😆
@surlechihuahua9 ай бұрын
@@makoceans which means developing in PHP will turn you into a communist. NO THANKS! 🫡
@TomTom-yq6lo9 ай бұрын
I have been using Swoole for a few years now and its pretty damn good.
@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 Жыл бұрын
Yes, they are basically bundles of code.
@ed_iz_ed Жыл бұрын
traits are amazing in PHP, love them
@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 Жыл бұрын
@@oliverfoxi Sounds like a code standard issue if that's a problem you had. Just don't do stupid shit like that.
@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.
@BUtZUe Жыл бұрын
HBD Beastco 🎉
@asdqwe4427 Жыл бұрын
Prime always pretending like he’s not a js/ts soy dev like the rest of us Edit typo
@ThePrimeTimeagen Жыл бұрын
larping
@eunesshshahithakuri7047 Жыл бұрын
lul
@dakata2416 Жыл бұрын
My first website with a backend was written in PHP. It has a special place in my heart ❤
@HaraldEngels Жыл бұрын
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.
@JonathanTheZombie Жыл бұрын
PHP having traits makes me unreasonably happy
@holonaut Жыл бұрын
Traits were introduced in PHP 5.4, 11 years ago
@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.
@conerzyo Жыл бұрын
I'd like to add. If you're processing 50000 requests, it's more of an architecture issue than a language issue.
@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 Жыл бұрын
@@enriquejosemunozavellan5517 the internet
@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 Жыл бұрын
Unless you’re using Elixir (Erlang), than you have another 49.950.000 request to go, before architecture becomes an issue.
@lazzuuu21 Жыл бұрын
That SensitiveParameter is lowkey super awesome and is what I want in my project
@yasscat5484 Жыл бұрын
so this is c# with a $ all over the place...
@Poodrdt Жыл бұрын
PHP is ML future! ChatPHP is coming to disrupt the market!
@_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 Жыл бұрын
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)
@Gennys9 ай бұрын
Everybody loves pattern matching for switch statements. It's so nice.
@UmzGames Жыл бұрын
PHP: Oh you studied me 10 years ago? 😎 Allow me to reintroduce myself. 🙌🏾👏🏾🙌🏾👏🏾🙌🏾👏🏾🙌🏾👏🏾🙌🏾👏🏾🙌🏾
@oussamasethoum1665 Жыл бұрын
Am glad you added in the end that go compiles really fast because i was looking at PHP features and saying okay comeback to me when you can bin.
@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 Жыл бұрын
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 Жыл бұрын
@@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 Жыл бұрын
@@FinlayDaG33k Oh, ok.
@barneylaurance1865 Жыл бұрын
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.
@Fanaro Жыл бұрын
Aaron's videos for PlanetScale are really good as well, he explains things very well with a lot of nuance.
@soniablanche5672 Жыл бұрын
yeah I actually learned some new things from his videos
@aarondfrancis Жыл бұрын
❤ super glad to hear that
@jarrodfodemski10189 ай бұрын
This guy is the Tony Hinchcliffe of programming and its fucking awesome.
@adamschneider868 Жыл бұрын
I used to love PHP... I don't know if I am ready to love again.
@josephvictory95362 ай бұрын
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.
@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 :)
@devnexen Жыл бұрын
appreciated coming from an official PHP member ;-) yes variadic can bite you (even more so in C/C++)
@minnow1337 Жыл бұрын
happy birthday beastco
@lighty262 Жыл бұрын
I had the same reaction as our mustache guy here when I watched it the first time
@MrFilla92 Жыл бұрын
Happy birthday beastco
@peter.bacinsky Жыл бұрын
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.
@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 Жыл бұрын
You can add generics through a transpile step at the very least. Not perfect, but it works.
@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 Жыл бұрын
@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.
@GeDWiCK796 ай бұрын
Happy Birthday Beast Kill =] Also - I know nothing about Programming beyond messing around with Unity and C# - But your content is always entertaining Appreciate you inspiring me to learn ❤
@ZAcharyIndy Жыл бұрын
PHP 8 is modern PHP. It is NOT your grandpa's PHP folks! 😊
@shadyheadstash Жыл бұрын
I began programming in PHP in 2005 customizing PhpBB for my World of Warcraft guild. I made a living for 8 years making WordPress website and plugins. I learned OOP on Zend framework. To this day I maintain a legacy PHP application for work.
@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 Жыл бұрын
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 Жыл бұрын
Rector can help with automatic upgrade.
@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 Жыл бұрын
@@wforbes87 yeah, we have dedicated analytics to do that if/else and other logic analysis for ongoing refactoring.
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 Жыл бұрын
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.
@CodeRedsGames Жыл бұрын
Don"t know which language did it first but things like variable assigning through switch got to me first in Kotlin and it is really nice. I'm glad that PHP has done some really nice steps forward 👍
@LexicalNoScope Жыл бұрын
My mind is blown… no comment on the 420% increase in performance
@sudeshryan8707 Жыл бұрын
Java devs skipped that part 😅😅
@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 Жыл бұрын
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) {...}
@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 Жыл бұрын
Well, thats true for all languages.
@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 Жыл бұрын
@@depafrom5277plenty of languages are safe and make bugs harder to write. The trade-off is normally that everything else is harder too.
@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 Жыл бұрын
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.
@GameChampelicious9 ай бұрын
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 Жыл бұрын
Would have been nice to hear more comparisons to modern Java. The constructor types are very similar to record classes in Java.
@barbaneigro Жыл бұрын
Java is corporate suckness shit. Thats the comparison.
@CottidaeSEA Жыл бұрын
Except records are readonly data structs and not classes, which I honestly prefer. The distinction is better.
@fluffydoggo Жыл бұрын
Didnt C# add record types first?
@SMorrisRose8 ай бұрын
PHP was originally called PHP/FI, and PHP was an acronym for "personal home page." Poor Rasmus created it to implement a single project and expected it to be replaced by something better almost immediately. Instead, we only got commercial/proprietary implementations of basically the same model: ColdFusion and Active Server Pages and thirty years later we are still using PHP, albeit a highly evolved version of it. MySQL was a very similar story - never expected or intended to live forever but rather to be just good enough to implement a particular project because msql was moving a little too slow, despite costing actual money.
@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 Жыл бұрын
That's called polymorphism
@hck1bloodday Жыл бұрын
@@MDMAviation its called mehtod overloading, and btw @filipstudeny in c# you can do that too
@hmb8801 Жыл бұрын
Isn't the goal achievable with union types?
@barneylaurance1865 Жыл бұрын
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.
@RuvenssGWilches10 ай бұрын
This is really good, 🙂, PHP has not only accelerate its runtime in the last 7 years but it has also improved the language itself.
@XKCDism Жыл бұрын
most of this looks like C# syntax
@jeffreyblack66610 ай бұрын
I find one key use for ...$args; when you have a function that will call other functions passing those args, which might vary depending upon an argument. e.g. a function which will return the output from one function which has been wrapped in something else.
@ironaleks7617 Жыл бұрын
I am on team PHP ❤
@nmillard Жыл бұрын
PHP looks great now. Everything is so C#-ish, and that's awesome! I'd love to see Traits in C#. The new "default interface methods" in C# is just weird to me, it's kinda like a Trait but not really.
@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 Жыл бұрын
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 Жыл бұрын
@@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 Жыл бұрын
@@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 Жыл бұрын
is it like fortran77 vs fortran90
@acharris9 ай бұрын
As a long time PHP developer, I can attest that PHP has dramatically improved since version 5. PHP 8.2 is such an improvement over the 5.4 I began working with. It's also really cleaned up how it does automatic type casting, making it far safer and more consistent than before.
@deniyii Жыл бұрын
When you come back to your childhood neighborhood, and the fat girl with pimples is now Scarlett Johansson
@segueoyuri9 ай бұрын
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
Жыл бұрын
Noone tell Prime that true and false are also types 🤫 But yeah PHP is actually quite decent now, unfortunately we're probably never going to get generic types 😞
@wickedtorpedo753 ай бұрын
Аннотации + статический анализатор, не так удобно как в других языках но возможно
@lavendercode7 ай бұрын
Thank you for making this video! Interesting!
@latergator915 Жыл бұрын
Kotlin with dollars. Which is the main reason I do Kotlin. So... I'm in.
@RMDetho7 ай бұрын
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 :)
@bbok1616 Жыл бұрын
PHP is a lot like Apple Maps
@josephizang6187 Жыл бұрын
This is probably one of your best reaction videos every man. I have been laughing all through the video.😁🤣😂😁😁
@gregyeo1106 ай бұрын
It becomes real modern language. Good for you! I used to use PHP@4 for a while and move to JVM because of lack of type and module concept. It seems a lot of missing features are implemented on language. JVM also has similar history to change language spec itself. A lot of tries affected to JAVA from Scala, Groovy and Kotlin. Back compatibility and user comprehension ability might be problem but we need some pain to be growing up. Migration version 8 would be nice challenge. Many polyglot programmers may think all the new features of PHP are not really new and they are really just great.
@santiagoale6232 Жыл бұрын
Have you seen how much PHP with Swoole increases HTTP request? +500%
@matt6frey Жыл бұрын
Didn't know about the null coalescent operator shorthand ('$a ??= ...')! Very cool! :D
@superderpyderps Жыл бұрын
My problems with PHP aren't features (though as a Gopher now, I actually find havinf tons of language features to be annoying). My problems are the stdlib being an absolute mess with inconsistent APIs and weird tech debt that's never getting fix, the garbage ecosystem full of projects from people that either try to emulate popular packages (like Doctrine emulating Hibernate poorly) or people who have no idea how to write a half decent API, the dev tooling is a hot mess, and worst of all, most jobs in it are absolutely awful tedious garbage. The language had enough features when 7 hit, the ecosystem has just never gotten better and the amount of _good_ php jobs has shrunk drastically while stuff like WordPress has artificially propped the language up. I will never go back to that hot mess of an ecosystem, Go is just as fast for prototyping with pretty much none of the downsides.
@Rakkoonn Жыл бұрын
It's still strange that the official PHP documentation has a comment section, and worse that the stdlib is so annoying it's actually necessary.
@BFedie5183 ай бұрын
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.
@Tom-qy3sw Жыл бұрын
You really should give Symfony a go, absolutely amazing with PHP 8
@firemyst90647 ай бұрын
3rd rock shout out, lets go!! They had an episode where everyone became tommy. Tommy, tommy and tommy.
@leovin00 Жыл бұрын
PHP calls its dictionaries/objects/maps “arrays” and therefore I can never forgive it
@neptronix Жыл бұрын
PHP doesn't call objects 'arrays' at all!
@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 Жыл бұрын
@@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 Жыл бұрын
If you use JSON, then you should not complain about PHP's arrays. 😊
@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
@brujua7 Жыл бұрын
This one was a wild one. Great episode, thanks!!!
@parlor3115 Жыл бұрын
Lack of generics, distinction between arrays and hash maps and no extension methods kills it for me.
@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 Жыл бұрын
@@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 Жыл бұрын
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.
@PieJee1 Жыл бұрын
about variadic arguments: php has still no typed arrays, so to make a type array in a typehint you use a typehint in combination with variadic to make a typed array.
@barneylaurance1865 Жыл бұрын
Yes, probably not good for a big array though because I think you're making the runtime type checker go through and check every member of the array whenever you pass it around. For a big array just keep it as an array, declare the type in the docblocks, and rely on a static type checking tool.