23
uyouthe
20d

“PHP is evil” is not just a joke.

PHP is usually percieved as a language which is not so consistent and has some opinionated historical aspects but allows rapid development because it’s easy. They say PHP doesn’t focus on that “purist shit” such as concepts and “just gets things done”.

Hovewer, this is not true. PHP lures you in and lies to you promising saving time on development, but everything, and I mean EVERYTHING written in PHP is doomed to turn into a bloody mess sooner or later.

You have to be an AI to manage the growing PHP codebase and add features without breaking anything. With every feature it gets harder and harder. If you’re still a human managing a human team, you have to enforce guidelines. Automatic error preventon measures are made of code themselves so the cost of deploying them ona late stage can be ridiculous. And you never deploy them on early stage because you want to “save time”. Your people have to spend more and more time everyday checking on that guidelines. Your development process only becomes slower and slower. If you try to push things, your project will crumble to dust.

To make PHP at least decent, you have to figure out all this by yourself on an early stage. When you’re done, you spent a lot of time creating the buggy, ad-hoc, unspecified and unsupported alternative of what works out of the box in other languages. And you still code in PHP and still have all its disadvantages in your project’s DNA.

PHP is evil because it promises and never delivers. PHP is evil because it lies to you and it already fucked over so many of us.

If you want to code in PHP, do it under your pillow. Code your own silly projects.

If your project has the word “production” somewhere in its plans, PHP is not the way to go.

Amen.

Comments
  • 12
    I have made a complex app for an ong with php 15 years ago. I still maintain it.

    Too complex to migrate, no budget. I feel pain every time I need to work on it, for almost no money.

    Do not fall into the same trap as I did.
  • 2
    https://devrant.com/about.

    So Devrant is going to turn into a bloody mess some day?
    What will happen then?
  • 12
    @jadou codebase quality != product quality
  • 1
    I mean... If developers would pull their hands out of their fucking asses - we may have a different result. But now when they must stuff their hand's elbow deep into their asses to meet the manager's demands - I'm not a tiny bit surprised.

    As an example, we have projects that are really easy to maintain even 10 years later. They were written well.

    Yet we have projects that are 6 months old and it's impossible to add anything to it without taking the whole shit down... :)

    ---

    On the other hand, let's just wait and see what monstrosity we will have next. Laravel pushing semi-back-end and front-end mixed shit is not helping this language to reach it's potential. Example, Livewire...
  • 2
    Yeah, you *can* write decent PHP. I've seen it done.

    It's rare though. I've seen terrible PHP codebases far, far more often.
  • 12
    Looks at javascript 🤷‍♂️
    Same applies.

    Looks at Java 🤷‍♂️
    Shit still applies

    Looks at any other language....
    Nope still a god damn mess 🤷‍♂️

    What do these all have in common?
    Some jack ass in a chair.
  • 1
    @C0D4 no. It doesn’t apply to js because of all that shit ton of money that goes into ecma standards development.

    It only applies to every language when YOU is the one who code. Don’t mix things up like this again.
  • 0
    @uyouthe Let me gues. You are JS apps dev.
  • 0
    @Lexter C and Clojure, occasional css
  • 0
    @uyouthe Wierd, but ok. :)
  • 0
    @uyouthe var_dump('haters gonna hate');
  • 4
    @uyouthe money didn't fix the problem, it just smothered it with more problems.

    More then 20 years of Js, and it's still flawed at the core, Nothings going to change that, why else do we keep through frameworks on-top of frameworks? To abstract from the core issues and make it "seem" like it works.

    But thanks for pointing out that it is a jackass behind the chair that makes a language look good or bad 😉
  • 0
    @C0D4 no, it’s fixing it. Remember fetch and symbols and other things. You’re just wrong.
  • 0
    @C0D4 I'd argue elixir is very readable, as it borrows Ruby syntax perhaps Ruby too
  • 1
    @subspace Your troll game is wack.
  • 0
    @subspace And?

    Also, I use Java in my job.
  • 0
    @subspace Nah. I hate it.
  • 1
    @jadou I mean, it is already quite a bit of a mess. Have you used the mobile app?
  • 3
    I completely disagree. PHP does not promise you anything and the result entirely depends on how the programmer applies it.

    I've written abominations in quite a few languages, including PHP but that doesn't mean the language sucks.
  • 0
    @linuxxx saying that it promises nothing implies that you’re a strong personality that isn’t affected by popular opinions, peer pressure, status quo and so called common sense. You’re awesome but you’re a minority.
  • 2
    @uyouthe I mean, I just don't get the hate. If you see what I wrote in C++ years ago, any good C++ programmer would probably get a fucking heart attack. I just don't know C++ well.

    I write nearly everything in PHP. Backends, CLI tools... etc. What's so bad about it?
  • 0
    @linuxxx do you have a CS background? Are you self taught?

    If you know even the basics computer science, you can code in any language. I can code in php too and it doesn’t get all messy but my code is notoriously boring and longer than it needs to be. Just like those frameworks that cover the shortcomings of the language, but I have that framework in my head.
  • 1
    @C0D4 Don't say that to Rust devs. ;-)
  • 2
    @uyouthe The study system here works very differently but while I did study software development, I'm mostly self taught.

    And I am still working on my own framework for REST API's :)
  • 3
    Start the project with right structure to scale and tests. You won't have any issue, it's not the langage's fault that devs are incompetent
  • 2
    @Lyniven you remind me of that phase when I still believed that tests make the code and the product better
  • 1
    Gotta think lower level then php and define what the businesss needs our and the functionality a language provides. Php offers a way to build pretty ok classses, not so much functional. It does whatever your other languages do and usually abstracts the difficulty away. But it’s procedural and gives you the power to make beauty. The problem most of us find is that teams we bring on aren’t always capable creating beauty when given full control over style without much pushing them to follow better patterns.
  • 1
    Luckily php does offer symfony and larvae’s which will help you structure your project in a lot of the sa,e way you’ll find a .Net project structured. You get the controller, actions and annotations to define what url hits what controller - action. You get an ORM with a basic in between query language. For php that’s doctrine, c# it’s eloquent I believe? Php by itself doesn’t enforce the right standards let’s agree on that. Languages like C#, swift, Java, they all have the righ popular tooling in place that you JUST USE if your working with the language. Php has drupal, wordpress and other shitty systems that alter the opinion of its integrity.
  • 0
    What evil you find in PHP
  • 2
    The have fixed most of this in v7.3 and v7.4 just turn on strict mode
  • 2
    First of all, name one single language that doesn't turn into a huge mess as the project grows? I'll wait.

    Second of all, a big problem PHP faces is not the language itself, it's the jackass behind it.

    A lot of schools learn PHP "the wrong way" they focus more on how to build rapid prototypes as opposed to making something that has been written nicely with re-usable components.

    I have written in plenty of languages and PHP so far is the only one that I like for more complex projects.

    Don't blame the language, blame the developers.
  • 0
    @FinlayDaG33k Clojure. Lisp. Scala.

    You’re defending your holy cow
  • 1
    @uyouthe you're comparing apples to oranges.

    Functional languages vs imperative languages is a horrible comparison on any level, they are inherently different methodologies. Besides "mess" is a relative term. I've seen the same "mess" in functional languages as imperative.

    Like any OOP language you can have really nice things. Most "messes" in php are due to using it strictly for scripting. That can be said about any imperative language.

    It's all about the program architecture and design not the language.
  • 0
    @superposition functional-oo and imperative-declarative are entirely different metrics. Lisp is imperative, you just defining the order of functional application instead of order of operation
  • 0
    @uyouthe lisp is considered functional with imperative features. However oop and functional languages are again two different methodologies there isn't functional-oo there are many debates about functional vs oo however.
  • 1
    @uyouthe I used both Clojure and Scala and I can say: you're horribly wrong.

    Clojure became a massive mess even at small scale (used it at work) and Scala also easily becomes a mess.
  • 0
    @FinlayDaG33k you can only make Clojure a mess if you either deliberately trying to prove something or if you try to bring your mutable shit there.
  • 4
    @uyouthe "you can only make a mess of you are either deliberately trying to prove something or bring your mutable shit there"

    Thanks again, for agreeing it's a jackass behind a chair 😎

    #hatersGonnaHate
  • 0
    @C0D4 with that amount of karma you should know the difference between “I deliberately want to make trash” and “I just code and I don’t want it to become trash and I do everything for it to not become trash but it still somehow turns into trash”
  • 0
    @uyouthe I've seen too much shit in too many languages.

    Imho the most vital part of programming is to have a process in mind.

    Anything will turn into hot glue mess if you add / remove and hot wire shit to create a Frankenstein because the process changed from a - b - c to ad - e - d (ad because z wasn't enough).

    Some languages make it obviously harder, but as soon as refactoring instead of rewrite/migration is chosen, you'll always create a mess.

    When a process changes drastically, rewrite the program. Reuse when possible, but don't try to turn lead to gold.
  • 0
    @IntrusionCM too many broad definitions and assumptions mate
  • 0
    @uyouthe hm?

    I should add you on telegram, because I really want to know what you mean.

    Yes I could make this far more specific...

    But it's general because it applies to anything I've encountered so far.

    Build pipelines, software projects, network stacks...
  • 0
    @IntrusionCM I don’t want to waste your time. By convincing me that php is great you get nothing
  • 0
    @uyouthe nah. My goal was not to convince you, but rather have a nice long talk. ;)

    I think every language sucks. ^^
  • 0
  • 0
    @uyouthe I don't think anyone here ever said that PHP is great though :p

    Even I as a primarily PHP developer sometimes go like: "Goh, this makes no bloody sense, can someone put the person that thought this was a good idea in front of the firing squad?".

    But I have that with all languages... It's just that I like PHP because you can do both rapid prototyping and scaling it out to a bigger project.

    There is no perfect language...

    And, of course, you are entitled to your opinion that you dislike PHP, that's completely fine... but you're mostly trying to push PHP being "garbage" as a fact without valid arguments...

    You can write really nice and maintainable PHP, just as you can write really nice and maintainable ES and C++...

    It's just a matter of which jackass you put behind it...

    When I compare old projects from maybe even last year to what I write now? the differences are day and night...
  • 0
    @FinlayDaG33k you trying to push food from the dumpster as garbage with no valid arguments. It still has calories and perfectly acceptable and you still can get food poisoning even with regular food, it only takes a jackass. There are freegans who do exactly this and they’re happy. There is no perfect food, pick a dish, eat it and only it and you’ll die sooner or later
  • 0
    @uyouthe Ngl, sounds more like your just hating PHP because it's "hip".

    Also, that thing about the food stuff you're saying, it can be applied to Clojure just as well...
  • 0
    @FinlayDaG33k hating css and js is also hip but I am the css messiah. You’re wrong, again. As usual.
  • 0
    @uyouthe Ah, and ofc, your CSS never turns into a mess when it grows.

    How could I forget, everything you use is perfect, just like you are <3

    Oh wait, hang on...

    (hint: don't be salty about languages you never touched)
  • 0
    @FinlayDaG33k I made more money with php if you count $ per second than you ever did. Assumptions and assumptions again, you’re predictable
  • 0
    @uyouthe Ah yes, the "I assume I earned more than you so I definitely know what I'm talking about" argument nobody cares about :)

    Ngl, either you're great at trolling or you'll kill all the fish in the ocean from hypernatremia once you take a dive.
  • 0
    @FinlayDaG33k I’m not trolling. I just pointing at you making assumptions that lead to you being wrong.

    My assumptions doesn’t make your assumptions less wrong. We can compare numbers in DM if you want and oh boy will somebody loose.

    My assumptions aren’t based on nothing. You assumptions are no deeper than “ooga booga he hates php he never even used it”
  • 0
    @uyouthe I love your assumption's, I'm not ashamed of posting my numbers on salary here :)

    I earned on average 3k a month for writing barely 4-5 lines of PHP in some months :)

    Why? because I was often too busy fixing the fucking infra to write PHP itself XD

    So yes, barely spending a minute on PHP, still make 3k.

    Doubt you'll be able to beat that unless you had a similar case.

    Buuuuut let's become grown-ups again and keep this objective instead of pointless flamewars?
  • 0
    @FinlayDaG33k “in some months”. You was payed this because your employer either didn’t care or wasn’t aware of this.

    I was payed $1k a day to code in PHP. Yes this was only a few days, not years and not even months but I said $ per second.

    So I can make money with php and I still think php is garbage. Your argument that I hate php because I don’t know php is invalid.
  • 0
    @uyouthe Well, "in some months" would be in accurate as in my entire 4 year carreer there, I probably wrote less than 3k lines of code? (just a rough guesstimate, don't have access to the repos anymore).

    My employer actually did know but he knew that if I did what I was supposed to do (write code) instead of fixing the infra because of our incapable SysOps and NetOps, we'd be down 24/7 (hoozay for having old yanky hardware amirite?)

    So yes, my "argument" of "you hate PHP because you don't know" is invalid (assuming that you aren't lying, but I'll give you the benefit of the doubt ofc), then again, it was never meant as a real argument that had the intend to be valid.

    But anyways, that still doesn't change the point that PHP is not garbage.

    You may not like it, or even hate it, for your own reasons and that is fine, you are entitled to your opinions.

    But as I've said before, please don't try to push those opinions as facts.
  • 0
    @FinlayDaG33k inconsistency, lack of proper dependency management system (which is absolutely crucial for any industrial language) and things like var_dump(md5('240610708') == md5('QNKCDZO')) factually make language garbage
  • 0
    - inconsistency? Kinda? But meh, nobody really bothers with these minor inconsistencies because we know how to RTFM (though I agree, they shouldn't have been there to begin with)

    - lack of proper dependency management system? We have a very nice one.

    - that var_dump is true, but it's a very specific quirck that you won't encounter in practice.

    And if you do:

    - your developer is a jackass

    - you can easily fix it by using "===" instead of "==" (which you should do anyways)

    So no, those do not factually make the language garbage, just a little odd at best.

    But please, I'd like to invite you to try again on why PHP is factually garbage :)

    But if those are all you can come up with, I guess Python is also "factually garbage", and Julia, and JS, and Ruby, and Perl...
  • 0
    @FinlayDaG33k your arguments are “yes the problem is present but here’s a workaround”. Bouba I don’t need workarounds.

    python is garbage, especially because of pip. Pypy makes it slightly better.

    Js is garbage but it has the excuse for it (you can’t forcefully update the js in a day, it’s distributed across all that browsers). And all that money pumped into js makes it better day after day.

    Never touched ruby, Julia and Perl.

    Lisp is not garbage. C is not garbage.
  • 0
    Ah yes, you never need workarounds because you only use the most perfect of perfect languages.

    Yea ehm... If your languages were that amazing, they would have overtaken PHP pretty hard already :^)

    Python is a pretty fine language, makes it easy for data scientists to do their work without really caring about the in-depths.

    So you say JS has an excuse for it because you can't forcefully update it in a day...

    But the same holds true for PHP... can't just forcefully update it in a day either...

    And "Lisp is not garbage and C is not garbage".

    I think this goes, again, with what I've been saying multiple times already: You are entitled to your opinions, and if you don't like PHP but do like Lisp and C? then by all means, don't like PHP and like Lisp and C.

    Nobody forces you to work with PHP, nobody forces you to like it.

    But don't come up with lame excuses to bash PHP into the ground just for the sake of hating it.
  • 0
    @FinlayDaG33k no you can. You’re free to use any version of a server side language because you control the server. No server side language has the excuse that js has.

    This is what you said:
    - “conceptual purity is more important selling factor than relevance”. It’s not and you know it. People tend to gravitate towards quick dirty fixes because they help making money. Relevant garbage is still garbage
    - “if you don’t like php don’t use it”. I’m not using it but that doesn’t make php less garbage :)
    - “your excuses are lame”. Yes, API inconsistencies aren’t bad because you have your bouba workarounds. I get it.

    Your choice of arguments are just like your favorite language — nothing but one dirty hack piled on top of another, wrapped in assumptions upon assumptions. Feel free to continue to thrive on that mindset. Poop insects are thriving too but keep me out of it. My world is different.
  • 0
    Ah yes, I control the server.

    Hm, let me break my website by updating my server version.

    O dear, that didn't appear to work out.

    Oh well, guess we won't come any further into it.

    And I could say the same to you: feel free to continue to thrive on your (toxic) mindset, poop insects are thriving too.

    My world is different (it's made of actually doing the thing that I enjoy: writing code - websites in particular instead of bashing a language I don't like for no real reason but to bash it).

    I bid you adieu.
  • 0
    @FinlayDaG33k php fanboy destroyed with FACTS and LOGIC. И так будет с каждым, пукнул в лужу и слился😎
  • 0
    @uyouthe "PHP fanboy mildly annoyed by Clojure fanboy toxicity"
  • 0
  • 0
    Chill @uyouthe, chill. PHP is just an another programing language you don't know.
  • -1
  • 0
    Y’all wasted like two days of work on this thread. I’m telling
  • 0
    @dUcKtYpEd PHP Hate never sleeps
  • 1
    PHP - used by people because it was easy and then people made horrible abominations of the code in it. Oh noes! PHP sucks!

    Java - used by people who need stuff to look "profesionally made by industry standards" then screwed everything up with verbosity making horrible abominations of the code in it. Oh noes! Java sucks!

    Javascript - started as an enhancement browser language and then got standardized but still has stupid shit (looking at you sort() function) and inconsistencies and was easy for people to learn so they started made horrible abominations of the code in it. Oh noes! Javascript sucks!

    Python - was used mostly for OS tools but got taken over by ML people and it was easy, making horrible abominations of the code in it. Oh noes! Python sucks!

    LISP - brackets, prefix notation!?
    C - pointers and everything allowed to shoot yourself in the foot.
    C# - Copied Java's homework but made it "different" and Microsofty.

    Whatever language you use,it sucks! You still like it? Use it.
  • 0
    @arekxv brAcKeTs?!?!?

    Bouba you can’t see behind syntax? Just try this. Tried but was disappointed? Use parinfer.
Add Comment