PHP Doesn't Suck Anymore? | Prime Reacts

  Рет қаралды 280,348

ThePrimeTime

ThePrimeTime

8 ай бұрын

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/deeznuts

Пікірлер: 1 300
@ThePrimeTimeagen
@ThePrimeTimeagen 8 ай бұрын
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 8 ай бұрын
Wat
@Pbertrand_dev
@Pbertrand_dev 8 ай бұрын
same, thats why I work hard to stay anonymous
@musdevfrog
@musdevfrog 8 ай бұрын
he deserves it
@bujitself
@bujitself 8 ай бұрын
Understandable
@pianissimo7121
@pianissimo7121 8 ай бұрын
is this a reupload? I am completely lost on what you are saying. Can someone explain to me like I am 5?
@aarondfrancis
@aarondfrancis 8 ай бұрын
Thank you for watching Prime ❤ You're the best.
@infas_mhd
@infas_mhd 8 ай бұрын
And thanks for the video❤
@JeremyAndersonBoise
@JeremyAndersonBoise 8 ай бұрын
Subbed, Aaron 🎉❤
@aarondfrancis
@aarondfrancis 8 ай бұрын
​@@JeremyAndersonBoise Thank you! I won't let you down 🫡
@SuboptimalImmortal
@SuboptimalImmortal 8 ай бұрын
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 8 ай бұрын
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
@neptronix
@neptronix 8 ай бұрын
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 8 ай бұрын
are you talking about hiphop for that last one? how does the c++ access php superglobals?
@neptronix
@neptronix 8 ай бұрын
@@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 8 ай бұрын
@@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 8 ай бұрын
@@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 8 ай бұрын
@@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)
@JensRoland
@JensRoland 8 ай бұрын
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 7 ай бұрын
Genius people
@srenpeterkaagaardthuesen4206
@srenpeterkaagaardthuesen4206 6 ай бұрын
You forgot c++, which was also created by a Dane
@JensRoland
@JensRoland 6 ай бұрын
@@srenpeterkaagaardthuesen4206 I did - apologies to Bjarne Stroustrup!
@vladimir5935
@vladimir5935 5 ай бұрын
@@srenpeterkaagaardthuesen4206 isn't he Swedish?
@Biru_to
@Biru_to 5 ай бұрын
Bacon? Not speck? 😉
@spamviking8591
@spamviking8591 8 ай бұрын
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 8 ай бұрын
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 8 ай бұрын
PHP works fine for Facebook and Spotify, just to mention 2 with million of users.
@ykmnkmi
@ykmnkmi 8 ай бұрын
I love Dart, Go, Zig and working on interesting projects in my free time. But PHP pays my taxes))
@kneza96BG
@kneza96BG 8 ай бұрын
@@Netz0 does facebook still use php?
@corey4448
@corey4448 8 ай бұрын
“nothing wrong with php” “I’ve made career out of fixing PHP apps” okaaaay….
@MsOmega3d
@MsOmega3d 8 ай бұрын
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
@MadsterV 8 ай бұрын
lol that's like measuring distances in finge.... oh. OH.
@BrandonWilliams-wf6hg
@BrandonWilliams-wf6hg 7 ай бұрын
Co2 is good for plants bro
@Catterjeeo
@Catterjeeo 4 ай бұрын
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 Ай бұрын
oxygen isn't. we should get rid of oxygen
@mondotosz
@mondotosz 8 ай бұрын
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 8 ай бұрын
at least it wasn't PHP5. PHP 7.3 is already nice enough if you have type hinting through PHPDoc.
@halim7725
@halim7725 8 ай бұрын
You don't understand what people experienced if you started with PHP 7.
@dv1858
@dv1858 8 ай бұрын
The last time i moved apartments I throw out my php 4 handbook ;-)
@madcoda
@madcoda 8 ай бұрын
php7 is very good and modern, we did it in the hard way when we're at 5, it was the dark age
@aus10d
@aus10d 8 ай бұрын
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.
@AScribblingTurtle
@AScribblingTurtle 8 ай бұрын
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 8 ай бұрын
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 8 ай бұрын
​@@OzzyTheGiant I don't agree with all of the PSR stuff, but I'd rather have it than not.
@evian8976
@evian8976 8 ай бұрын
@@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 8 ай бұрын
They are not really traits though, they are mixins
@AScribblingTurtle
@AScribblingTurtle 8 ай бұрын
@@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 8 ай бұрын
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 8 ай бұрын
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 8 ай бұрын
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 8 ай бұрын
@@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 8 ай бұрын
We should have Primeagen code a wepapp in a PHP for a video.
@GringoDotDev
@GringoDotDev 8 ай бұрын
@@filthyfrankblack4067 hahaha I would watch ngl
@8infinito8
@8infinito8 7 ай бұрын
​@@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
@nghokengdaniel839 8 ай бұрын
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 8 ай бұрын
If you need more performance, just slap Swoole in
@MDMAviation
@MDMAviation 8 ай бұрын
@@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 8 ай бұрын
@@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 8 ай бұрын
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 8 ай бұрын
@@khangle6872PHP + Swoole is basically the poor man's Go and it fuckin' rocks. I love throwing little bits of coroutines on legacy apps.
@rosehogenson1398
@rosehogenson1398 8 ай бұрын
I remember writing PHP code directly on the prod server with WinSCP... the nostalgia
@InternetKilledTV21
@InternetKilledTV21 20 күн бұрын
Notepad++ with the FTP plugin
@user-lj4lo7cx7m
@user-lj4lo7cx7m 16 күн бұрын
Miss the good old days of editing the file in notepad while using filezilla
@ddomingo
@ddomingo 8 ай бұрын
I do miss the LAMP stack + jQuery days. Simpler times. This looks very cool.
@Arvi89
@Arvi89 5 ай бұрын
Yeah, when you didn't need 16GB of Ram just to browse the web, this was nice.
@MrDpof
@MrDpof 8 ай бұрын
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. ❤
@-www.chapters.video-
@-www.chapters.video- 8 ай бұрын
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 7 ай бұрын
Thank yougood sir.
@user-cr9iz6wt8s
@user-cr9iz6wt8s 8 ай бұрын
I appreciate the work of engineers who were fixing PHP over all those years
@lourensthalen1674
@lourensthalen1674 6 ай бұрын
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.
@kebien6020
@kebien6020 8 ай бұрын
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 8 ай бұрын
Yes, they are basically bundles of code.
@ed_iz_ed
@ed_iz_ed 8 ай бұрын
traits are amazing in PHP, love them
@oliverfoxi
@oliverfoxi 8 ай бұрын
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 8 ай бұрын
@@oliverfoxi Sounds like a code standard issue if that's a problem you had. Just don't do stupid shit like that.
@Gramini
@Gramini 8 ай бұрын
@@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.
@tommyponce2511
@tommyponce2511 8 ай бұрын
Let's go PHP, up to date with the needs of the modern programming industry!! Also, Happy Birthday Beastco!!
@Eysvar
@Eysvar 8 ай бұрын
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!
@JonathanTheZombie
@JonathanTheZombie 8 ай бұрын
PHP having traits makes me unreasonably happy
@holonaut
@holonaut 8 ай бұрын
Traits were introduced in PHP 5.4, 11 years ago
@claudiusraphael9423
@claudiusraphael9423 8 ай бұрын
@@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.
@Jeppelelle
@Jeppelelle 8 ай бұрын
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 8 ай бұрын
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 8 ай бұрын
I'm just hating on all weakly or dynamically typed languages. From PHP, through JS, TS, Ruby, to Python.
@ReyLamurin
@ReyLamurin 8 ай бұрын
I had to use it daily for 15 years to hate it.
@haliszekeriyaozkok4851
@haliszekeriyaozkok4851 8 ай бұрын
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 8 ай бұрын
@@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.
@OzzyTheGiant
@OzzyTheGiant 8 ай бұрын
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 8 ай бұрын
Compared to python, wut? Half of these features are straight from python.
@hmb8801
@hmb8801 8 ай бұрын
Php is easier to deploy on server.
@MadsterV
@MadsterV 8 ай бұрын
@@hmb8801 *on Apache
@tk1576
@tk1576 7 ай бұрын
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 5 ай бұрын
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
@adambickford8720 8 ай бұрын
I'm surprisingly impressed. Kinda crazy how much 'convergence' there is across languages, even the ones you least expect.
@TheRafark
@TheRafark 2 ай бұрын
Long story short: they all copy each other
@justgame5508
@justgame5508 8 ай бұрын
PHP progression looks a lot like C# progression over the years. Might have to give PHP a go
@oddikaro8236
@oddikaro8236 8 ай бұрын
They want to be PHP#
@CottidaeSEA
@CottidaeSEA 8 ай бұрын
It's pretty fun to use, I'd recommend trying it with Hotwire Turbo or HTMX.
@TheRafark
@TheRafark 2 ай бұрын
@@oddikaro8236 php wants to be Java. C sharp wanted to be Java so much it stole the entire syntax.
@patrikprochazka1269
@patrikprochazka1269 8 ай бұрын
I'd like to add. If you're processing 50000 requests, it's more of an architecture issue than a language issue.
@JensRoland
@JensRoland 8 ай бұрын
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
@enriquejosemunozavellan5517 8 ай бұрын
@@JensRoland Could you illuminate me on where can i learn all this stuff?
@JohnSmith-lc1ml
@JohnSmith-lc1ml 8 ай бұрын
@@enriquejosemunozavellan5517 the internet
@cornoc
@cornoc 8 ай бұрын
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 8 ай бұрын
Unless you’re using Elixir (Erlang), than you have another 49.950.000 request to go, before architecture becomes an issue.
@mage3690
@mage3690 8 ай бұрын
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 8 ай бұрын
I agree. I somehow hate C varargs even more than I hate C++ variadic templates
@amrojjeh
@amrojjeh 8 ай бұрын
It's baffling how bad C support is on Windows
@mage3690
@mage3690 8 ай бұрын
@@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.
@THC4k
@THC4k 8 ай бұрын
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 8 ай бұрын
Why not laravel?
@LaRamenNoodles
@LaRamenNoodles 8 ай бұрын
@@coldestbeerbecause symfony has better practices and laravel is just using symfony components.
@Davidlavieri
@Davidlavieri 8 ай бұрын
@@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 8 ай бұрын
@@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 8 ай бұрын
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.
@dakata2416
@dakata2416 8 ай бұрын
My first website with a backend was written in PHP. It has a special place in my heart ❤
@SXsoft99
@SXsoft99 8 ай бұрын
"php is better than JS" what i've been telling people for years but eh it's not cool
@bentoth4324
@bentoth4324 8 ай бұрын
my heart when the underdog wins the special olympics
@jrnas8046
@jrnas8046 8 ай бұрын
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 8 ай бұрын
That is one of the reasons why I don't mind Java syntax.
@Pictor13
@Pictor13 8 ай бұрын
@@CottidaeSEA I find the inference from Kotlin to be a good middle compromise.
@CottidaeSEA
@CottidaeSEA 8 ай бұрын
@@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.
@kolaysgames
@kolaysgames 8 ай бұрын
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 8 ай бұрын
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
@UmzGames
@UmzGames 8 ай бұрын
PHP: Oh you studied me 10 years ago? 😎 Allow me to reintroduce myself. 🙌🏾👏🏾🙌🏾👏🏾🙌🏾👏🏾🙌🏾👏🏾🙌🏾👏🏾🙌🏾
@brujua7
@brujua7 8 ай бұрын
This one was a wild one. Great episode, thanks!!!
@oussamasethoum1665
@oussamasethoum1665 8 ай бұрын
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.
@lazzuuu21
@lazzuuu21 8 ай бұрын
That SensitiveParameter is lowkey super awesome and is what I want in my project
@asdqwe4427
@asdqwe4427 8 ай бұрын
Prime always pretending like he’s not a js/ts soy dev like the rest of us Edit typo
@ThePrimeTimeagen
@ThePrimeTimeagen 8 ай бұрын
larping
@eunesshshahithakuri7047
@eunesshshahithakuri7047 8 ай бұрын
lul
@bkucenski
@bkucenski 8 ай бұрын
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
@Refresh5406 8 ай бұрын
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 5 ай бұрын
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 3 ай бұрын
@@makoceans which means developing in PHP will turn you into a communist. NO THANKS! 🫡
@TomTom-yq6lo
@TomTom-yq6lo 2 ай бұрын
I have been using Swoole for a few years now and its pretty damn good.
@BUtZUe
@BUtZUe 8 ай бұрын
HBD Beastco 🎉
@MarisaClardy
@MarisaClardy 2 ай бұрын
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.
@Fanaro
@Fanaro 8 ай бұрын
Aaron's videos for PlanetScale are really good as well, he explains things very well with a lot of nuance.
@soniablanche5672
@soniablanche5672 8 ай бұрын
yeah I actually learned some new things from his videos
@aarondfrancis
@aarondfrancis 8 ай бұрын
❤ super glad to hear that
@FinlayDaG33k
@FinlayDaG33k 8 ай бұрын
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 8 ай бұрын
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 8 ай бұрын
@@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 8 ай бұрын
@@FinlayDaG33k Oh, ok.
@minnow1337
@minnow1337 8 ай бұрын
happy birthday beastco
@sunderkeenin
@sunderkeenin 8 ай бұрын
Types contextualize variables. Variables don't contextualize types. We read code left to right. Type before variable. Happy birthday beastco.
@colemichae
@colemichae 8 ай бұрын
Happy Birthday.. great review
@bbok1616
@bbok1616 8 ай бұрын
PHP is a lot like Apple Maps
@haxwithaxe
@haxwithaxe 8 ай бұрын
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 8 ай бұрын
Well, thats true for all languages.
@haxwithaxe
@haxwithaxe 8 ай бұрын
@@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 8 ай бұрын
​@@depafrom5277plenty of languages are safe and make bugs harder to write. The trade-off is normally that everything else is harder too.
@lucass8119
@lucass8119 8 ай бұрын
@@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 6 ай бұрын
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.
@greeffer
@greeffer 8 ай бұрын
Happy birthday beastco! 🎉
@Praw-Too-Ehleem
@Praw-Too-Ehleem 8 ай бұрын
My favorite part is how I have no idea what is being spoken about in this video, but I'm still entertained.
@MrFilla92
@MrFilla92 8 ай бұрын
Happy birthday beastco
@ironaleks7617
@ironaleks7617 8 ай бұрын
I am on team PHP ❤
@by010
@by010 8 ай бұрын
16:20 you can check that on 3v4l. And also anwser is type error, even if you supply value of one of enums, it MUST be given enum explicitly or it will just crash like any other type error. 3v4l: Km4pT#v8.2.9
@MohamedElzahed89
@MohamedElzahed89 8 ай бұрын
Just watched the video, and I agree a lot has changed nowadays🎉🎉nice work really the sensitivity parameter thing is really cool idea, I'm coming from same background php 2008-2014 😂😂
@LexicalNoScope
@LexicalNoScope 8 ай бұрын
My mind is blown… no comment on the 420% increase in performance
@sudeshryan8707
@sudeshryan8707 8 ай бұрын
Java devs skipped that part 😅😅
@wforbes87
@wforbes87 8 ай бұрын
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 8 ай бұрын
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 8 ай бұрын
Rector can help with automatic upgrade.
@wforbes87
@wforbes87 8 ай бұрын
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 8 ай бұрын
​@@wforbes87 yeah, we have dedicated analytics to do that if/else and other logic analysis for ongoing refactoring.
@replacehumans
@replacehumans 8 ай бұрын
Happy Birthday Beastco!!
@ShaderKite
@ShaderKite 8 ай бұрын
Happy (belated) birthday, beastco !! :D
@leovin00
@leovin00 8 ай бұрын
PHP calls its dictionaries/objects/maps “arrays” and therefore I can never forgive it
@neptronix
@neptronix 8 ай бұрын
PHP doesn't call objects 'arrays' at all!
@mage3690
@mage3690 8 ай бұрын
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 8 ай бұрын
@@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 7 ай бұрын
If you use JSON, then you should not complain about PHP's arrays. 😊
@neptronix
@neptronix 7 ай бұрын
@@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
@DumblyDorr
@DumblyDorr 8 ай бұрын
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 8 ай бұрын
You can add generics through a transpile step at the very least. Not perfect, but it works.
@rcnhsuailsnyfiue2
@rcnhsuailsnyfiue2 8 ай бұрын
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 8 ай бұрын
@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.
@privacyvalued4134
@privacyvalued4134 7 ай бұрын
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.
@juliancorredor1128
@juliancorredor1128 8 ай бұрын
Hey primeagen, do you have any resource on what you talked about the length of the function in js affecting the memory usage?
@drcphd
@drcphd 4 ай бұрын
Went back to PHP when version 8 was released. One of my favorites now.
@lighty262
@lighty262 8 ай бұрын
I had the same reaction as our mustache guy here when I watched it the first time
@stokedfool
@stokedfool 8 ай бұрын
Definitely the most "slap happy" video I've seen in a while.
@bitfirewall
@bitfirewall 8 ай бұрын
variadiac functions are a must for things like logging, SQL query builders and partial application programming
@_Aarius_
@_Aarius_ 8 ай бұрын
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 7 ай бұрын
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)
@adamschneider868
@adamschneider868 8 ай бұрын
I used to love PHP... I don't know if I am ready to love again.
@jsonisbored
@jsonisbored 8 ай бұрын
Happy birthday, beastco!!!
@AJenbo
@AJenbo 8 ай бұрын
Happy Birthday Beastco!
8 ай бұрын
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 😞
@turculaurentiu91
@turculaurentiu91 8 ай бұрын
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 8 ай бұрын
Drop the $ sign? No thanks, it's one of the major reasons i use php. Stop devolving.
@webdevnoob
@webdevnoob 8 ай бұрын
Without the $ sign, it's a constant
@MDMAviation
@MDMAviation 8 ай бұрын
@@webdevnoob he forgot to mention const syntax in classes that before used to be the define function.
@CFalcon030
@CFalcon030 8 ай бұрын
I thought the same about the dollar sign when I started working with PHP. I kind of like it now.
@PhatPazzo
@PhatPazzo 8 ай бұрын
The example he used for generator leaks a file descriptor if used in a search function or if something is thrown.
@ilyavasylevsky3229
@ilyavasylevsky3229 2 ай бұрын
Well yea, but file will be released with exception because process will, and it's one more great and bad thing with PHP, no memory and resources management.
@derekdamko
@derekdamko 8 ай бұрын
Happy birthday, beastco!
@hypergraphic
@hypergraphic 8 ай бұрын
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 :)
@yasscat5484
@yasscat5484 8 ай бұрын
so this is c# with a $ all over the place...
@latergator915
@latergator915 8 ай бұрын
Kotlin with dollars. Which is the main reason I do Kotlin. So... I'm in.
@josephizang6187
@josephizang6187 8 ай бұрын
This is probably one of your best reaction videos every man. I have been laughing all through the video.😁🤣😂😁😁
@issy_dev
@issy_dev 8 ай бұрын
Would have been nice to hear more comparisons to modern Java. The constructor types are very similar to record classes in Java.
@barbaneigro
@barbaneigro 8 ай бұрын
Java is corporate suckness shit. Thats the comparison.
@CottidaeSEA
@CottidaeSEA 8 ай бұрын
Except records are readonly data structs and not classes, which I honestly prefer. The distinction is better.
@fluffydoggo
@fluffydoggo 8 ай бұрын
Didnt C# add record types first?
@kneekoo
@kneekoo 8 ай бұрын
Happy birthday, beastco! 😄
@parlor3115
@parlor3115 8 ай бұрын
Lack of generics, distinction between arrays and hash maps and no extension methods kills it for me.
@FlaviusAspra
@FlaviusAspra 8 ай бұрын
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 8 ай бұрын
@@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 8 ай бұрын
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.
@Patrickdaawsome
@Patrickdaawsome 8 ай бұрын
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 8 ай бұрын
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
@CodeRedsGames 7 ай бұрын
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 👍
@DejaimeNeto
@DejaimeNeto 8 ай бұрын
Let's be honest, most PHP devs also haven't looked at PHP since 2012.
@Necessarius
@Necessarius 8 ай бұрын
True and they complain a lot when they were bad programmers
@ItsDan123
@ItsDan123 8 ай бұрын
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 8 ай бұрын
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 8 ай бұрын
@@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 8 ай бұрын
@@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 8 ай бұрын
is it like fortran77 vs fortran90
@XKCDism
@XKCDism 8 ай бұрын
most of this looks like C# syntax
@WaseemAshraf
@WaseemAshraf 8 ай бұрын
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 8 ай бұрын
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) {...}
@ez_krk
@ez_krk 8 ай бұрын
seems to that me variadics are similar to program entrypoints : you still do type checking in fn body when passing args (or have a middleware/framework doing so).
@bigred8982
@bigred8982 8 ай бұрын
You should really checkout modern C#
@PapaVikingCodes
@PapaVikingCodes 8 ай бұрын
Seriously…
@exhaustedrose
@exhaustedrose 8 ай бұрын
I last wrote PHP in 2021, and I hated every minute of it.
@PapaVikingCodes
@PapaVikingCodes 8 ай бұрын
That’s because you are sane
@Xxh0mEr0xX
@Xxh0mEr0xX 8 ай бұрын
Happy birthday dude
@seancooper5007
@seancooper5007 8 ай бұрын
Happy Birthday beastco
@santiagoale6232
@santiagoale6232 8 ай бұрын
Have you seen how much PHP with Swoole increases HTTP request? +500%
@deniyii
@deniyii 8 ай бұрын
When you come back to your childhood neighborhood, and the fat girl with pimples is now Scarlett Johansson
@suffear
@suffear 8 ай бұрын
happy birthday beastco!🌟
@devnexen
@devnexen 8 ай бұрын
appreciated coming from an official PHP member ;-) yes variadic can bite you (even more so in C/C++)
@filipstudeny
@filipstudeny 8 ай бұрын
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 8 ай бұрын
That's called polymorphism
@hck1bloodday
@hck1bloodday 8 ай бұрын
@@MDMAviation its called mehtod overloading, and btw @filipstudeny in c# you can do that too
@hmb8801
@hmb8801 8 ай бұрын
Isn't the goal achievable with union types?
@barneylaurance1865
@barneylaurance1865 5 ай бұрын
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.
@Poodrdt
@Poodrdt 8 ай бұрын
PHP is ML future! ChatPHP is coming to disrupt the market!
@Tom-qy3sw
@Tom-qy3sw 8 ай бұрын
You really should give Symfony a go, absolutely amazing with PHP 8
I Feel Bad For New Programmers
19:12
ThePrimeTime
Рет қаралды 394 М.
MAXIMUM CRINGE Programming Language Tier List | Prime Reacts
22:45
ThePrimeTime
Рет қаралды 462 М.
The magical amulet of the cross! #clown #小丑 #shorts
00:54
好人小丑
Рет қаралды 19 МЛН
GADGETS VS HACKS || Random Useful Tools For your child #hacks #gadgets
00:35
Glow Stick Secret (part 2) 😱 #shorts
00:33
Mr DegrEE
Рет қаралды 25 МЛН
PHP doesn't suck (anymore)
10:48
Aaron Francis
Рет қаралды 191 М.
why do they do this every time?
33:33
ThePrimeTime
Рет қаралды 63 М.
7 Signs Of A Bad Programmer | Prime Reacts
11:27
ThePrimeTime
Рет қаралды 325 М.
How GO Was Created - Less Is More | Prime Reacts
28:15
ThePrimeTime
Рет қаралды 125 М.
Scams In Software Engineering
31:44
ThePrimeTime
Рет қаралды 450 М.
Why I Quit Netflix
7:11
ThePrimeagen
Рет қаралды 474 М.
Gitlab DELETING Production Databases | Prime Reacts
17:27
ThePrimeTime
Рет қаралды 290 М.
Python Sucks And I LOVE It | Prime Reacts
15:43
ThePrimeTime
Рет қаралды 236 М.
Why I Left Nvim | Prime Reacts
15:28
ThePrimeTime
Рет қаралды 335 М.
Never install locally
5:45
Coderized
Рет қаралды 1,6 МЛН
Купите ЭТОТ БЮДЖЕТНИК вместо флагманов от Samsung, Xiaomi и Apple!
13:03
Thebox - о технике и гаджетах
Рет қаралды 40 М.
The PA042 SAMSUNG S24 Ultra phone cage turns your phone into a pro camera!
0:24