Slashdot Mirror


Ask Slashdot: Should I Ditch PHP?

Long-time Slashdot reader Qbertino does PHP for a living, but says he's growing "increasingly frustrated with the ignorant and clueless in the vincinity of PHP." Crappy code and baaaaad application setups is one thing, but people refusing to fix them or simply not even understanding the broader implications of bad applications or attempting SEO with gadgets while refusing to fix 3.5 MB-per-pagecall are just minor tidbits in a history of increasingly unnerving run-ins with knuckledragers in the "web agency" camp...

Will I leave the larger part of this backwards stuff behind if I move to another server-side programming language such as Java or Kotlin for professional work in the broader web area? Do I have a chance to do quality work on quality projects using PHP, or are those slim compare to other programming languages? In short, should I ditch PHP?

"I think .NET is a much cleaner language to work in with Microsoft's excellent Visual Studio IDE and debugger," argues Slashdot reader Agret , adding "there are many large projects in my city hiring .NET developers and being a strongly typed language the code quality is generally better than PHP."

But what's been your experience? And would a frustrated developer find more quality projects by ditching PHP?

341 comments

  1. .NET? by Anonymous Coward · · Score: 0

    Why switch from one crappy thing to another?

    1. Re:.NET? by Anonymous Coward · · Score: 0

      What developers limit themselves to a single language? Use whichever language the project is using or whichever language suits the task.

    2. Re:.NET? by Joce640k · · Score: 2

      PHP is the worst language ever.

      Apart from all the alternatives.

      --
      No sig today...
    3. Re:.NET? by Joce640k · · Score: 1

      You don't really get much choice on a jellybean hosted server.

      (cue all the armchair experts saying "host it yourself!" and "pay more!")

      --
      No sig today...
    4. Re: .NET? by Anonymous Coward · · Score: 0

      Ah Winston

    5. Re: .NET? by Anonymous Coward · · Score: 0

      The overall paradigm is interesting and good for a lot of use cases. PHP is bad because of a lot of messed up details. A lot of them. But the overall concept is good.

    6. Re:.NET? by jellomizer · · Score: 4, Interesting

      PHP has a lot of problems, but what they poster reported isn't near the top of them.
      the 3.5 Meg with Gadgets isn't PHP it is Google. Also for a lot of other page size issues, the biggest problem is less with the language but with added Javascript Add ins such as Jquery or Angular.js this moves your few kilobyte page to megs very quickly.

      In .NET I had aspx pages that seem to place a meg of session data onto the page, which I normally disable because I don't program websites with point and click, and I would rather have more more control when the screen refreshes or just does an AJAX cal and DOM the results back in.

      I have been doing Web Application Development (I don't do web sites) from the beginning I know what is happening in general on all sides of computers the clients and the servers.
      A particular web language sometime can help sometimes make particular tasks which are annoying much easier. But they cant stop you from making a crap Web Application, and they all have a feature where people may misuse or abuse to create utter garbage.

      The posters experience probably has PHP Developers fresh out of college bight eyed and ambitious, looking to change the world with Open Source Technology however lacking the experience to know how to debug (I still have to show recent college grads on how to use the programming debugger, and they are always worried because for some reason that it isn't pure enough for them, or cheating.. For those college professors out there why arn't you showing these kids normal debugging software that has been around for generations!) and also they are often happy when it works, they don't know when to go back to make it better, or they also don't know when to call it good enough and continue on.

      The posters experience with .NET developers are probably with professions who have been doing it for a few years, they have families and their goals to change the world isn't going to be their unique take on how to format that textbox. They have more years experience and learned from their younger years. They know when to dig and optimize, and when good enough is good enough. They uses the tools in .NET (Or in PHP or whatever freaking language they are either told to use or what is best suited for the project) more carefully and more often. They know each tool is a double edge sward while making one job quicker and easier it may have a side effect that you need to mitigate, work around, or decide that it isn't worth it. Now I normally don't code sites with point and click programming, because it really bloats up the Application, that doesn't mean I never do it. Sometimes that method would save weeks off my development cycle. And bloat isn't a big issue for the project.

      Experience is more important then the language.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    7. Re: .NET? by Joce640k · · Score: 1

      I agree, the basic idea is OK.

      The reality seems to be that the designers had very little experience and preferred to hack along by themselves instead of asking somebody who did.

      Result: An awful lot of it is firmly in the "seemed like a good idea at the time" category.

      --
      No sig today...
    8. Re:.NET? by murdocj · · Score: 1

      Says the clueless guy.

    9. Re:.NET? by Hognoxious · · Score: 1

      I have been doing Web Application Development (I don't do web sites) from the beginning I know what is happening in general on all sides of computers the clients and the servers.

      Whatever the language, you can write a run-on sentence in it.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    10. Re:.NET? by davide+marney · · Score: 4, Interesting

      But [web programming languages] can't stop you from making a crap Web Application, and they all have a feature where people may misuse or abuse to create utter garbage.

      There is a higher-order thread running through this argument that has to do with good programming practices regardless of language. Modular code and UI components are Good Ideas, for example. Containers are a Good Idea. Git is a Very Good Idea. Typing is a Good Idea if you generate code. Templating is a Good Idea. Observer Pattern is a Good Idea. Eventing is a Good Idea.

      What I do is listen to our industry, study their good ideas, and incorporate them in my next project, fitting them to the language and framework the customer is using. Language is primarily a *business* decision, it has to do with what kinds of IT resources the company is willing to commit to.

      That shouldn't stop good development. As John Lennon famously said, "I'm an artist. Give me a tuba and I can get you something out of it."

      Now go code. Make beautiful, good code with whatever tools they give you. Be the artist.

      --
      "We receive as friendly that which agrees with, we resist with dislike that which opposes us" - Faraday
    11. Re: .NET? by Anonymous Coward · · Score: 0

      Plumbing is known as shiitty bitch work worldwide but is more valuable and lucrative than 95% of programmers.

    12. Re: .NET? by MightyMartian · · Score: 1

      What PHP needs more than anything is a major library overall. I find the inconsistencies in library function calls and naming conventions drive me nuts. I get that there's an argument for backwards compatibility, but it's the standard library that irritates me so much. The language itself isn't really any worse than any other.

      That's the core of PHP's problems. Backwards compatibility is the overarching theme of its developers, and it's not even a philosophy they ardently stick to, which sadly makes it even worse.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    13. Re:.NET? by MightyMartian · · Score: 1

      That is true, but it's also true that some languages and some core libraries better facilitate good coding. Those languages also tend to have a higher learning curve, simply because they impose at least some degree of discipline. That's why languages like VisualBasic and PHP have always been so popular, because they have a much lower barrier to entry. Languages like C++, Java and C# really are harder for beginners to just open a text editor or basic IDE and have a running application in an hour or two.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    14. Re: .NET? by fferreres · · Score: 1

      Well, I started using pho v1 in 1999, and saw it evolve to v4 with a huge number of functions. PHP was the language where you âoecould do itâ. I also used the first version of MySQL and many subsequent. Your question is akin to asking if you should learn another language if you are native French speaker. Iâ(TM)d say bring a polÃglotos fine but not everybody has the bandwidth and memory to sustain many at a good level of proficiency. So you better focus on what kind of work you like, then youâ(TM)ll have to learn some languages. You are mostly doing front end now, interfaces or light apps. If thatâ(TM)s what you want to do, learn JavaScript, node.js and all the relevant stuff (a huge mess of a lot other things). But maybe you like IoT? Or ML? Ask that question and if you donâ(TM)t know the answer the ...js and .NET. But again, youâ(TM)ll still be surrounded by the same average population :-)

      --
      unfinished: (adj.)
    15. Re: .NET? by MightyMartian · · Score: 1

      Fortunately I don't do a lot of front end work. Most of my work is in analytics and data processing these days, so I've been liberated from web development. I always hated it. This way I have a lot more freedom in the languages I use, and so long as everything is well documented, I'm enjoying my liberty!

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    16. Re: .NET? by datavirtue · · Score: 1

      PHP is one of the most fun languages I have ever used. Given that, a lot of people have ruined the fun. Would I use PHP in a commercial/corporate setting? Hell no. I could use it to build a project for myself, keeping everything relatively simple and elegant....and extremely fast.

      --
      I object to power without constructive purpose. --Spock
    17. Re: .NET? by datavirtue · · Score: 1

      Agreed. The problem is web development. Xamarin.Forms has rekindled my passion for developing software. One code base that can deploy to any device...eliminating the need to focus on the web as the cross platform solution.

      --
      I object to power without constructive purpose. --Spock
    18. Re:.NET? by Anonymous Coward · · Score: 0

      Nonsense, of course the language has an impact on quality. If the language makes it easier to make mistakes you'll make more mistakes, it's as simple as that, and PHP falls into this category. .NET, much like Java, as a statically typed JIT compiled language offers better performance than dynamic and interpreted languages will always offer better performance because they don't have to worry about type inference, and with that they'll inherently catch entire categories of bugs at compile time that don't surface until runtime with dynamic languages like PHP.

      There's a reason the big boys use .NET and Java, and that's because they're professional languages. Even companies like Facebook who started out on PHP and never ported ended up creating a JIT compiler for it, because they realised how shit and unmanageable at scale the dynamic paradigm is.

      Good dynamic languages like Python make for great glue languages, and are great for prototyping, or personal projects where you can forego quality, but if you want to work on the genuinely interesting, challenging, large scale development work out there - i.e. the stuff that far and away pays the best too, then you need .NET or Java. C++ still has somewhere of a place in this respect too, but not in web development.

      The only people who think PHP, JavaScript et. al. are better languages than Java and .NET are people who have never worked on anything meaningful. I've literally never met a single developer who has a) Worked on multiple large projects with a variety of languages and b) Thinks that .NET and Java are worse than PHP/JavaScript. Those developers don't exist - what do exist are a bunch of amateur hour retards who know nothing other than some shitty language like PHP and because they haven't yet been sacked for breaking things with it assume it's the best thing in the world.

      If you want to see what companies are using have a look here:

      https://stackshare.io/

    19. Re: .NET? by snapsnap · · Score: 1

      > inconsistencies in library function calls and naming conventions

      PHP has always basically been a thin wrapper for C libraries. That's why it's fast enough to run Facebook, Wikipedia, etc.. It's also why PHP was able to add so many features so quickly in the late 90s. I really liked that it was consistent with C since I first used PHP in 1998 to convert a huge CGI set of programs written in C to PHP. IIRC, I was able to convert about 350k lines of C to about only 50k lines of PHP. I understand I'm biased because of my background, but that's a feature not a bug.

    20. Re: .NET? by Anonymous Coward · · Score: 0

      Plumbing is a well respected and certified trade in most parts of the world, way above web or ui developer. Plumbers need training and more importantly competence certification before they can work for a client

    21. Re:.NET? by Anonymous Coward · · Score: 0

      You can build cruft with any language. ASP.NET (prior to MVC, i.e. webforms) was not pretty. But ASP.NET MVC and later have been decent. .NET itself is surprisingly well-designed. This coming from a UNIX geek.

    22. Re:.NET? by Anonymous Coward · · Score: 0

      .aspx is WebForms which is an abomination.

      ASP.NET MVC and newer are much better and fits better with modern paradigms. .NET itself is not the issue. C# is an extremely well-designed language.

    23. Re: .NET? by Hognoxious · · Score: 1

      the overall concept is good.

      The concept of not separating content & behaviour by shoving it all in the same file?

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    24. Re:.NET? by LesFerg · · Score: 1

      Precisely that. There is a whole lot more crap in behind an .aspx page than just some server-side C#, there is ridiculous amounts of javascript and encoded viewstate data being passed around in the the background and far more complexity and property abstraction than any HTML element ever needed.

      I have a faint memory of doing some PHP long ago but can't compare if with modern server-side C# capabilities, but I don't have much need for other languages than C#. I even installed .Net Core on my Linux box just for the hell of it, and can compile and run a web site quickly using that (altho configuring it to run under Apache took me some time).

      The real problem, I believe, is not the tool being used but the fact that so many people with no programming training are being told "anybody can create a web site" and find that making pretty HTML pages is easy, then leap in to adding dynamic features with whatever seems the most popular tool at the time. Learning to get by with some copy-and-paste tricks encourages the expansion of bad coding practices and creates monsters. The wealth of advice and example code to copy may be encouraging but probably does not make a great replacement for training and learning real skills.

      --
      If I had a DeLorean... I would probably only drive it from time to time.
    25. Re:.NET? by Pseudonym · · Score: 1

      Not that I advocate this, but AWS would probably end up costing you less truth be told.

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    26. Re:.NET? by Pseudonym · · Score: 0

      No, most of the alternatives are objective better on every metric.

      The only use case for starting a new project in PHP is if it's 1997 and the only options from your hosting provider are SSI, PHP, or CGI.

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    27. Re:.NET? by Anonymous Coward · · Score: 0

      Perl is the worst language. PHP is a close 2nd.

    28. Re: .NET? by astrofurter · · Score: 1

      The basics of plumbing are widely agreed upon and haven't changed in hundreds or perhaps thousands of years.

      The basics of web development are agreed upon by no one and change every couple years. Good luck developing a "competence certification" that is worth more than the blank paper you wasted to print it.

    29. Re: .NET? by Anonymous Coward · · Score: 0

      C# in visual studio will give you a running application with GUI in seconds - as that's what the default Windows Forms application is.

    30. Re:.NET? by NerdENerd · · Score: 1

      aspx died over 10 years ago, if you are using aspx as your inspiration against .NET then you need to look at modern .NET, it looks nothing like it did when aspx reigned in the .NET space.

    31. Re: .NET? by DamnOregonian · · Score: 1

      No shit. Stab stab stab.

    32. Re:.NET? by DamnOregonian · · Score: 1

      A tuba is still an instrument that can make beautiful noises.
      We're talking about PHP here. I'd like to see what John Lennon could do with the entrails of a sheep and some baboon excrement.

    33. Re:.NET? by Anonymous Coward · · Score: 0

      Languages like C++, Java and C# really are harder for beginners to just open a text editor or basic IDE and have a running application in an hour or two.

      That's not really true. You can start playing with those languages very quickly.

      The difference is just that so called toy languages usually have built-in primitives for doing something seemingly complicated and specialized without too many questions asked (or with sensible defaults you don't need to know about up front). Usually, the so called hard languages can have libraries or frameworks which do the same, but for some reason they don't, or they have a forest of choices of competing frameworks, perhaps because the common audience is more skilled and wouldn't appreciate dumbing it down too much.

      Also, the usual way C++, Java and C# are taught is such that first you learn hard CS parts, and "fun parts" only optionally, or as advance topics.

    34. Re: .NET? by BlackOverflow · · Score: 0

      What you put in which file is totally up to you and your responsibility. PHP isn't gonna hold your hand and force you to do anything. If you're an idiot and decide to put everything in the same file, that's your fault, not PHP's. If you have an idea of what you're doing, you would keep each component separate, but it's up to you.

  2. .NET? by Anonymous Coward · · Score: 1, Insightful

    Have you seen the cruft that people have made with this??

    It's not the language. Who cares what others are doing?

  3. Switch fields entirely by Anonymous Coward · · Score: 0

    If you can't find decent people to work with in PHP, then you're probably not good enough yourself.
    No matter what language you'll switch to, you'll find yourself down in the dregs.

    1. Re:Switch fields entirely by Tough+Love · · Score: 3, Insightful

      If you can't find decent people to work with in PHP, then you're probably not good enough yourself. No matter what language you'll switch to, you'll find yourself down in the dregs.

      The thing is, with PHP it's the blind leading the blind. Nobody has a clue, and starts with Rasmus (by his own admission). No skilled programmer would put up with PHP for any significant amount of time, life is too short for that aggravation. The corollary is, PHP crap never gets fixed because nobody with the skill is willing to go sewer diving to the extent that would be necessary.

      --
      When all you have is a hammer, every problem starts to look like a thumb.
    2. Re:Switch fields entirely by Anonymous Coward · · Score: 1, Interesting

      And that's where you're wrong. I'm a senior Java/C++ developer (architect by position) and I'm also using PHP. The problem is that languages like PHP, JavaScript or C++, that allow you to do practically anything anyway are a very, very, veeeeeery bad choice for beginners. PHP in itself is not bad and it has a lot of quality frameworks (Symfony, Laravel, etc.), but it also has a very bad reputation because any wanna-be-developer first starts with PHP and as there is a lot of other wanna-bes, he's learning the wrong things from the start. Starting with a language that keeps you more in check is a lot better, but should not stop here. Knowing certain solutions, design pattern and such is a must, to learn things properly. After that you can go the PHP, JavaScript, etc. route, as you'll be used to doing things the proper way and the freedom thouse languages give won't get in the way of properly designing your solutions.

    3. Re:Switch fields entirely by murdocj · · Score: 1

      The problem is that languages like PHP, JavaScript or C++, that allow you to do practically anything anyway are a very, very, veeeeeery bad choice for beginners

      Are you seriously classifying C++ with Javascript????

    4. Re:Switch fields entirely by maestroX · · Score: 1

      The thing is, with PHP it's the blind leading the blind. Nobody has a clue, and starts with Rasmus (by his own admission). No skilled programmer would put up with PHP for any significant amount of time, life is too short for that aggravation. The corollary is, PHP crap never gets fixed because nobody with the skill is willing to go sewer diving to the extent that would be necessary.

      Fine by me, because the challenge usually is not making something perfect, but dealing with imperfections.

      This is pretty much the same war as MySQL vs. real DMBS's debate, recognizing strengths and weaknesses and finding methods how to deal with them the best way.

    5. Re:Switch fields entirely by Anonymous Coward · · Score: 0

      C++ is a clusterfuck like javascript its just lower level

    6. Re:Switch fields entirely by MightyMartian · · Score: 3, Interesting

      I once got hired to fix a PHP-based website that had been done by a couple of fly by nighters. It was a fucking nightmare. Because they were lazy and/or stupid, they had enabled every bad directive from the bad old days. They didn't even use functions, it looked more like BASIC spaghetti code. In the end I refused to do any more work until the contract was rewritten so that I was billing out time. At the end of the day I essentially threw out what these idiots had written and rewrote the whole thing from the ground up. But I vowed after that that I would never take on a job where I had to fix someone else's spaghetti code. Hire me to rewrite, that's fine, but not to repair.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    7. Re:Switch fields entirely by sfcat · · Score: 1

      The thing is, with PHP it's the blind leading the blind. Nobody has a clue, and starts with Rasmus (by his own admission). No skilled programmer would put up with PHP for any significant amount of time, life is too short for that aggravation. The corollary is, PHP crap never gets fixed because nobody with the skill is willing to go sewer diving to the extent that would be necessary.

      Fine by me, because the challenge usually is not making something perfect, but dealing with imperfections.

      This is pretty much the same war as MySQL vs. real DMBS's debate, recognizing strengths and weaknesses and finding methods how to deal with them the best way.

      You are right about this being like the MySQL vs real DBMS debate. On one side we have a real system which scales and behaves reliably. On the other, you have part of a real system that mostly works until it doesn't and doesn't scale very well especially after you are already too deep in to change. To know the difference, you actually have to know what a DB is, how it works, what kinds of features it supplies, and when you need those features. If you don't know anything, you are likely to get your team/company trapped in technology that isn't suitable for your needs. I've seen unicorns get trapped in these mistakes and cost themselves billions in revenue. This is the cost of using cheap developers and when the business history of this period is written, this will be the domain lesson of this age. Cheap developers cost you plenty in the end.

      --
      "Those that start by burning books, will end by burning men."
    8. Re:Switch fields entirely by dinfinity · · Score: 2

      The thing is, with PHP it's the blind leading the blind. Nobody has a clue, and starts with Rasmus (by his own admission). No skilled programmer would put up with PHP for any significant amount of time, life is too short for that aggravation.

      That is absolute nonsense. Take a look at the Symfony framework. This is a well thought out, well structured, well documented, properly supported, actively developed, stable framework aimed at longevity and used with success in many, many commercial products.
      There are also tons of well structured PHP SDKs which are great to use.

      With regard to the language, it has made significant progress as compared to for instance Python. Developing in PHP 7.0 or higher in an OOP fashion, creating nice clean, testable and robust code is easy and painless. Doing that in Python is dreadful with the Python2 / Python3 split, combined with an opaque code inclusion scheme and Frankenstein OOP implementation.

      PHP used to be dreadful as well and a framework such as Wordpress reflects that. It is an abomination, from a clean, modular OOP coding perspective. Drupal has made changes to be more properly OOP, but still doesn't come close to Symfony.

      The question for a developer faced with PHP is thus: what environment am I going to be working in? Archaic spaghetti code or a modern well structured OOP project? Yes, there are tons of very shitty PHP environments out there, but also tons of great ones as well. In addition to that, if time is available to refactor that archaic spaghetti code, it is as easy as in any language to change it into usable maintainable modular OOP code.

    9. Re:Switch fields entirely by Anonymous Coward · · Score: 0

      Let's compare:

      Features bolted on randomly and without thought to the past: C++ yes, JavaScript yes (ES6)
      People not understanding all the language features and making bad choices: C++ yes, JavaScript yes
      Asshole made the language: C++ yes, JavaScript no
      Widely misused for intended purpose: C++ sometimes, JavaScript yes (node.js anyone)
      Used as a web language: C++ yes (facebook converts php to C++), JavaScript yes
      hatred for the language: C++ yes, JavaScript yes

      Looks like it checks out.

    10. Re:Switch fields entirely by Anonymous Coward · · Score: 0

      I don't understand this attitude.

      If a business owner comes to me for help with a set of requirements, I'll size those requirements. If, in sizing the effort, I find that bad code diagnosis / a rewrite from the ground up is necessary, I'll state so and why, and of course at that point I'll price the contract accordingly. Whether they take my advice or go in another direction is on them, but at least I've been upfront about the size of the effort.

      I'll rewrite or repair anything, as long as I'm compensated. Otherwise, why am I doing this?

    11. Re: Switch fields entirely by Anonymous Coward · · Score: 0

      "No skilled programmer would put up with PHP for any significant time."

      I moved from a C# shop to a PHP shop 6 years ago. Working with PHP written by bad developers is a shortcut to being a better developer. You can see everything a language can do wrong, and everything a developer can do wrong, and then you learn to do the opposite.

      There are a handful of asinine things you'll never work around in PHP: typoed constants become strings, the lack of compile time type checking, etc. But there are a lot of problems that you can correct with good practices, and that skill ports to any language.

    12. Re:Switch fields entirely by K.+S.+Kyosuke · · Score: 1

      Are you seriously classifying C++ with Javascript????

      When it comes to the "design process", JavaScript really looks like the high-level equivalent to C++ - start with something and try to make something completely different out of what you already have.

      --
      Ezekiel 23:20
    13. Re:Switch fields entirely by Tom · · Score: 1

      Definitely check out Symfony.

      And I say that as someone who used it for half a decade and then dropped it in disgust. What they did with 4 is just terrible, but that is my personal opinion based on the fact that they broke almost every use-case I have. If you come to it with a fresh mind and without preconceptions, it is probably much cleaner and even better now.

      What people don't understand about PHP is that nobody sane uses bare-bones PHP these days. The first thing you do is pick a framework. People miss that because many other languages basically come with their own framework, while PHP offers several.

      --
      Assorted stuff I do sometimes: Lemuria.org
    14. Re:Switch fields entirely by DamnOregonian · · Score: 1

      Developing in PHP 7.0 or higher in an OOP fashion, creating nice clean, testable and robust code is easy and painless.

      I will concede that as of PHP7, the language is actually not a complete pile of shit used by piles of shit to construct bigger piles of shit. It's actually pretty nice.

    15. Re:Switch fields entirely by Tough+Love · · Score: 1

      Another one seriously trying to equate Javascript with C++? Well, it's a PHP thread, so...

      --
      When all you have is a hammer, every problem starts to look like a thumb.
    16. Re: Switch fields entirely by Tough+Love · · Score: 1

      Working with PHP written by bad developers is a shortcut to being a better developer. You can see everything a language can do wrong, and everything a developer can do wrong, and then you learn to do the opposite.

      Supposing you do become a better developer, do you intend to spend the rest of your career wallowing in bad PHP code? Didn't think so.

      --
      When all you have is a hammer, every problem starts to look like a thumb.
    17. Re:Switch fields entirely by K.+S.+Kyosuke · · Score: 1

      Of course; all three have been "designed" extremely carelessly as far as programming languages go.

      --
      Ezekiel 23:20
    18. Re:Switch fields entirely by Tough+Love · · Score: 1

      It is clear from your comment that you do not have a working knowledge of C++, let alone any knowledge of the design process. Admit it.

      --
      When all you have is a hammer, every problem starts to look like a thumb.
    19. Re:Switch fields entirely by K.+S.+Kyosuke · · Score: 1

      I admit it, C++ didn't have a design process. Modula, Ada, Haskell, Scheme etc. did.

      --
      Ezekiel 23:20
    20. Re:Switch fields entirely by Tough+Love · · Score: 1

      I admit it, C++ didn't have a design process.

      What do you call this?

      Are you also going to admit that you have no working knowledge of C++?

      --
      When all you have is a hammer, every problem starts to look like a thumb.
    21. Re:Switch fields entirely by Anonymous Coward · · Score: 0

      >> I admit it, C++ didn't have a design process.
      > What do you call this?

      Noobs. Founded in 2014 - C++ was almost 30 years old when they started.

    22. Re:Switch fields entirely by K.+S.+Kyosuke · · Score: 1

      What do you call this? [isocpp.org]

      A group of people trying to save the dog with the bolted-on legs?

      Are you also going to admit that you have no working knowledge of C++?

      Of course I am; I'm proud to admit that I don't satisfy this definition of insanity.

      --
      Ezekiel 23:20
  4. Naturlich by Anne+Thwacks · · Score: 2
    If you think .NET is better, then the answer is "yes".

    However, it must depend to some extent on what your constraints are. If you support 32 PHP websites that are online and working (and not running on Intel architecture), migration might be a rather expensive waste of time.

    Have you considered becoming a PHB?

    --
    Sent from my ASR33 using ASCII
    1. Re:Naturlich by imidan · · Score: 4, Insightful

      I worked in a place where the whole codebase was PHP, partially as a result of the web site being done in Drupal. I'm aware of many problems with PHP, but my approach there was to continue to develop with it because of the existing codebase and institutional expertise.

      A new guy came in who was big on Python, and immediately started implementing server-side Python stuff. I warned that there may be difficulty integrating the Python and PHP services, but the new guy thought I was just an old who wanted to keep doing the old and busted thing because it's all I knew.

      The boss didn't nip it in the bud early enough, and I wound up having to write code to share session information between the PHP and Python services. It was a kludge, but it worked. It would have been seamless if we'd kept working within the same language we'd started in, or if we'd undertaken to port the existing code to Python. Oh, and then the new guy quit and left us with this two-language system that few of the other employees could easily maintain.

      Point is, I agree that there's more to consider than what is the "better" programming language.

    2. Re:Naturlich by Anonymous Coward · · Score: 2, Insightful

      [...] I wound up having to write code to share session information between the PHP and Python services. It was a kludge, but it worked. It would have been seamless if we'd kept working within the same language we'd started in, or if we'd undertaken to port the existing code to Python.

      The correct way is to make it an interface usable from any language. Then it matters not a whit what language you work in. If you do that enough, you can pretty easily migrate from one language to another, one interface at a time, and it simply won't matter to the rest of the code.

      This in a way is the same lesson as "GOTOs considered harmful", "structured programming", "object-oriented programming", and so on, and so forth. Programming is about abstraction. Interfaces are the abstraction you need here. Witness the generally low level of abstraction in PHP. (Consider java, cf. "the kingdom of nouns", for an entirely different, but equally useless, level of applied abstraction.)

      Oh, and then the new guy quit and left us with this two-language system that few of the other employees could easily maintain.

      Meaning that either you now have to hire more python people or port the whole mess back to PHP. But quite apart from language favoritism, yes that's a pretty rude thing to do, leaving behind a mess for people unqualified to deal with it. It also means the guy is an arrogant hack and unsuitable for teamwork.

      Point is, I agree that there's more to consider than what is the "better" programming language.

      Sure. Though it in turn depends on what the question is. If it's about maintenance of an installed base, well, separating the parts and adding architecture is the way to go. You buy freedom to move to a better language that way. Freedom that you sorely need because most web-anything is done by monkeys (hence popularity of PHP) and sticking with the poo-flinging crowd guarantees you won't stay clean.

      If it's about personal dislike having to dwell in an ecosystem full of stupidity, then learning a nicer-to-work-in-for-you language and probably eventually finding another job is the way to go.

      IMO both the language and the ecosystem surrounding PHP is indeed full of stupidity. Moving from there to somethingsomethinghashdotnet, however, is but a very small step upwards, and mostly sideways into the wonderful world of corporatism. I like to think it says something about the person who chooses then sticks with his choice of language.

      (Says I, who routinely scripts in C and writes applications in shell.)

    3. Re:Naturlich by drinkypoo · · Score: 1

      (Says I, who routinely scripts in C and writes applications in shell.)

      What C interpreter are you using?

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    4. Re: Naturlich by Bing+Tsher+E · · Score: 1

      They probably run the 'a.out' interpreter.

    5. Re: Naturlich by drinkypoo · · Score: 2

      They probably run the 'a.out' interpreter.

      a.out is an obsolete binary format, not an interpreter. There are C interpreters (e.g. picoc) but a.out is not among them.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    6. Re:Naturlich by Anonymous Coward · · Score: 0

      Ha! Tried to look smart and did the opposite, you moron.

    7. Re:Naturlich by Tablizer · · Score: 1

      The correct way is to make it an interface usable from any language. Then it matters not a whit what language you work in. If you do that enough, you can pretty easily migrate from one language to another, one interface at a time, and it simply won't matter to the rest of the code.

      That can be a lot of overhead. Often one can't convert between language types one-for-one automatically, a human has to study the situation and choose the correct translation per usage point. Language-independent layers are often not easy and not free.

    8. Re:Naturlich by Pseudonym · · Score: 1

      Cling. It's much better than its main competitor, CINT.

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    9. Re:Naturlich by drinkypoo · · Score: 1

      Ha! Tried to look smart and did the opposite, you moron.

      It was a serious question. Now run along, son. I got no time for anyone who's afraid to log into Slashdot.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    10. Re:Naturlich by Anonymous Coward · · Score: 0

      Me? The system C compiler, typically. "Scripting" and "application programming" aren't strictly aligned parallel to "interpreted language" and "compiled language" in my book. If I make a shell script with switches, usage information, possibly an accompanying manpage, that's closer to an "application" than a "script". OTOH, if I write something that is a basic filter strictly intended to use as component of something else, say a shell script, or a quick-and-dirty thing that does a sequence of things suitable an an one-shot but not much else, then that's closer to a "script", even if written in C.

      So I can and do write scripts and applications in any language I care to write in, regardless of whether they're compiled or not. The "do a thing in C, bind several things together in shell and nice it up until generally usable" is fairly common.

    11. Re:Naturlich by DamnOregonian · · Score: 1

      I had someone do that once. Only worse. He did it in ruby.

    12. Re: Naturlich by DamnOregonian · · Score: 1

      I think he's referring to the loader. It's often called the 'interpreter' in OS parlance. In fact, the ELF header refers to the loader as the interpreter.

  5. Languages don't write code, people write code. by MrAnnoyanceToYou · · Score: 5, Insightful

    Don't blame tools for the things that people do with them. You'll find the same problems wherever you go.

    1. Re: Languages don't write code, people write code. by Anonymous Coward · · Score: 0

      It's not quite as simple as that

      If I break into a server and steal php code, I've got the source code. If I break into a server and find everything compiled then all I have is some compiled binaries.

      Also security flaws in open sourced php libraries are widely published. When you write a php script you're depending on the framework being secure.

    2. Re:Languages don't write code, people write code. by Tough+Love · · Score: 1

      Don't blame tools for the things that people do with them. You'll find the same problems wherever you go.

      There's a special place in hell for the likes of you, writing Cobol code for the rest of eternity.

      --
      When all you have is a hammer, every problem starts to look like a thumb.
    3. Re:Languages don't write code, people write code. by Anonymous Coward · · Score: 0

      That doesn't apply to PHP.
      PHP is shit-incarnate.
      PHP is the dusty sandwich at the bottom of your toolbox you thought you lost 7 months ago.
      PHP is hammering a nail with fluff.
      PHP is a car made out of ice.
      PHP is cancelled.
      Friends don't let friends date PHP.

    4. Re:Languages don't write code, people write code. by MrAnnoyanceToYou · · Score: 3, Interesting

      I actually enjoyed writing Assembly more than C# and Java. My version of hell involves some idiot making me write factory classes to do basic RegEx comparisons.

    5. Re:Languages don't write code, people write code. by Anonymous Coward · · Score: 0

      Stop using PCP dude.

    6. Re:Languages don't write code, people write code. by Anonymous Coward · · Score: 0

      Stop using PHP dude.

      FTFY.

    7. Re: Languages don't write code, people write code. by Anonymous Coward · · Score: 0

      If I break into a server and steal php code, I've got the source code. If I break into a server and find everything compiled then all I have is some compiled binaries.

      Disassemblers are fairly competent these days and have a lot out tools for checking program flow and figuring out what things does.
      Sure, it is a lot harder to read than C or C++ code, but when it comes to a PHP program or a compiled binary I'm not so sure.
      If you have some PERL code I'll take the compiled binary any time of the day.

    8. Re:Languages don't write code, people write code. by tepples · · Score: 1

      My version of hell involves some idiot making me write factory classes to do basic RegEx comparisons.

      What do you think re.compile() is in Python? It's a factory function that takes a regular expression as a string and returns a regular expression object. I fail to see how that's anything like the grave or the second death.

    9. Re:Languages don't write code, people write code. by CrimsonAvenger · · Score: 1

      Don't blame tools for the things that people do with them. You'll find the same problems wherever you go.

      Agree completely. You saved me the trouble of saying the same thing more rudely....

      --

      "I do not agree with what you say, but I will defend to the death your right to say it"
    10. Re:Languages don't write code, people write code. by Anonymous Coward · · Score: 0

      Posted by someone with a shallow understanding of current COBOL and a leaning for the glitz of new languages.

    11. Re: Languages don't write code, people write code. by Spazmania · · Score: 1

      If I break into a server and find everything compiled then all I have is some compiled binaries.

      Unless you're writing in C (and if you're building a web app, you probably aren't) the object code tends to decompile into a pretty close copy of the original source minus the comments. If you thought Java meant you couldn't get back to the source code, think again.

      --
      Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
    12. Re:Languages don't write code, people write code. by Spazmania · · Score: 1

      Perl's approach to regular expressions is still superior to my mind. Also, using whitespace in code for any purpose other than readability is insane.

      --
      Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
    13. Re: Languages don't write code, people write code. by tigersha · · Score: 1

      My nightmare is writing regexp un assembly.

      --
      The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
    14. Re:Languages don't write code, people write code. by gravewax · · Score: 1

      When it comes to languages not all tools are created equal.

    15. Re: Languages don't write code, people write code. by Aighearach · · Score: 1

      These days, the only way I'm not writing it in C is if I'm writing it in Go.

    16. Re:Languages don't write code, people write code. by Aighearach · · Score: 1

      COBOL has decimal numeric representation, and decimal math, so it's not really that painful to work in.

      And modern versions cut the boilerplate way way down. You can even call C libraries.

    17. Re:Languages don't write code, people write code. by rtb61 · · Score: 1

      All tradesman blame shit tools for shit work and most of the time it is fair and reasonable. Buy cheap shit tools and you will do a shit job, simply fact of life. In this case, it is a writing tool, in a manner of speaking, it is the conscious choice to buy one pen, that can only use one ink and tying yourself to the corporation that controls the pen and ink, for you entire life. They drop the pen or the ink and you are well, entirely fucked, well and truly fucked.

      Tying yourself to M$ with a solid track record of doing stuff, marketing the crap out if, doesn't sell well, meh drop it and fuck every fool who bought into it. M$ are a shitty horribly unreliable supplier who routinely fuck over their customers, using their market dominance. Any time you can escape them fucking escape them you will be far better off because they are a shite supplier, proven track record of being unreliable.

      Have a choice, use the tools you can control versus the tools some corporation controls and will do crappy things with it because they believe it makes them more money and their attitude to customers fuck em, fuck em hard and fuck em often.

      --
      Chaos - everything, everywhere, everywhen
    18. Re:Languages don't write code, people write code. by WaffleMonster · · Score: 1

      Don't blame tools for the things that people do with them.

      Why not? Isn't this the ultimate judge of usefulness of a given technology? If it isn't fair or a useful objective measure to judge end result of leveraging a technology then by what metric should judgment be passed?

    19. Re:Languages don't write code, people write code. by MrAnnoyanceToYou · · Score: 1

      I mean, you can use a hammer for a lot of things. One of them is smashing yourself in the head for a couple hours.

      I don't consider that the hammer's fault.

      An absolute expert will have twenty tools in their toolbox for solving whatever problems they encounter, and each tool will have a different application. Just because there are programmers who range in skill level from, "Master of all things hammer," to "Barely able to hammer in nail without breaking thumb," to "Will use hammer to drive in screws and bolts, because they are an absolute master of the hammer," to, "Master of all things hammer AND SCREWDRIVER," doesn't mean the hammer is a bad tool.

    20. Re: Languages don't write code, people write code. by Spazmania · · Score: 1

      If you're building a web app in C, you're probably doing it wrong. C's runtime efficiency is unparalleled but its prone to buffer bounding mistakes and writing successful C code is slow. Your time as a software developer is generally more valuable than the servers which will run it and there are at least half a dozen mainstream languages that permit a convenient, fast job of the kinds of tasks typical of a web app.

      --
      Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
    21. Re:Languages don't write code, people write code. by Tough+Love · · Score: 1

      COBOL has decimal numeric representation, and decimal math, so it's not really that painful to work in.

      Good. You work in Cobol then, enjoy. For eternity.

      --
      When all you have is a hammer, every problem starts to look like a thumb.
    22. Re:Languages don't write code, people write code. by WaffleMonster · · Score: 1

      I mean, you can use a hammer for a lot of things. One of them is smashing yourself in the head for a couple hours.

      I don't consider that the hammer's fault.

      This isn't about individuals. It's about the aggregate impact of a specific technology on the world and taking responsibility/ownership of the outcome.

      Assume half the people who used a hammer ended up smashing themselves in the head.

      Assume all of the people using nail guns retain all of their marbles free of brain damage and live longer more productive lives while accomplishing the same tasks as hammer users.

      In this case hammers are still shit in the aggregate even if outliers are able to use one without smashing themselves in the head.

      What if everyone replaced fuses with nails and installed Asbestos insulation? So your house burns down due to a short caused by something else. That's not the nails fault. If you were more careful the short could have been avoided and your house wouldn't be a pile of smoldering rubble.

      So you get some aspestos fibers lodged in your lungs during a renovating. That's not the insulations fault. If you were more careful this could have been avoided.

      The fact that it is physically possible to use a tool in a certain way and get a certain outcome does not excuse the aggregate effect of the existence of that tool.

      An absolute expert will have twenty tools in their toolbox for solving whatever problems they encounter, and each tool will have a different application. Just because there are programmers who range in skill level from, "Master of all things hammer," to "Barely able to hammer in nail without breaking thumb," to "Will use hammer to drive in screws and bolts, because they are an absolute master of the hammer," to, "Master of all things hammer AND SCREWDRIVER," doesn't mean the hammer is a bad tool.

      Lets stipulate one of the twenty tools in the toolbox is in fact a bad tool. How would you determine that given the above? How is this concept falsified?

    23. Re: Languages don't write code, people write code. by Aighearach · · Score: 1

      It might actually be harder than you expect to have buffer bounding problems on the sort of embedded systems that run websites written in C.
      If it happens, it crashes. There is nothing else on the system for them to get control of. And they were probably already given access over wifi or btle.

      But even on the server, you'd be using some sort of library like apache apr to manage the resources, so you wouldn't have buffer problems. And development time would not be problematic at all.

      The main difference between choosing C and Go, assuming the programmer is competent, is that choosing C will require more sysadmins, netadmins, dev-ops, etc., and if you screw up the scaling, you'll have to do a rewrite after those other people explain it to you. Using Go, there are standard idiomatic ways of doing things so that they scale well, and if you follow them then the netadmins never complain to the sysadmins, who therefore don't have to complain to the PHB, causing the dev-ops practitioner to get 20 lashes.

    24. Re: Languages don't write code, people write code. by Spazmania · · Score: 1

      Maybe a decade ago, but if you're building a web app on hardware more constrained than the $10 Raspberry Pi Zero these days then you're probably doing it wrong.

      Also, I don't know where you get the idea that Apache apr saves you from buffer overflows. You're still working with char*'s.

      --
      Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
    25. Re: Languages don't write code, people write code. by Aighearach · · Score: 1

      You're gonna build a hardware project using a Raspberry Pi?

      For one thing, it would cost 20 billion dollars to even make the attempt to prevent side-channel attacks, since it isn't made as an OEM starting point.

      And even still, yes, a $10 raspberry pi costs a LOT more than an ESP-8266. And the 8266 I don't even have to sell my soul to the manufacturer to get the datasheet!

      Some parts of it are FOSS, but it isn't a totally free system that you can actually use that way.

      The reason apr didn't protect you from buffer overflows is that you didn't read the rest of the API documents. Using pointers doesn't cause your buffers to change size on their own or something. No, don't treat your data like a char *, if it is input data use the fucking string functions in the API, jeeze. That's the whole point; you don't just saw "hurr durr char * so go wild!" You actually use the apr API when you're using apr, and that's why it protects you. If you can't do that, don't use C.

    26. Re:Languages don't write code, people write code. by Anonymous Coward · · Score: 0

      PHP is shit. It is impossible to write good code in that sewer of a language. There are no good parts to parse out. That might possibly be the only thing that is consistent in that pile of shit.

      numbnuts

  6. Bad developers is universal by corychristison · · Score: 4, Insightful

    Doesn't matter what language you use, bad developers are universal.

    The thing is PHP 7.2 is actually pretty good, and 7.3 is looming.

    My advice is start your own projects "the right way" (that's subjective), and start your own firm or agency and win with quality.

    I'll be 100% honest, this is what I did. Working self employed over 4 years now. Business is doing well. Even have a couple of staff now.

    1. Re:Bad developers is universal by Tough+Love · · Score: 0

      So what you're saying is, the only language you know well enough to get paid for is PHP, yet you consider yourself an expert on all other languages to the extent that you can claim that it doesn't matter what language you use. See, that's just the problem the OP complains about: nobody in the PHP community has a clue. Guaranteed to gain no wisdom there.

      --
      When all you have is a hammer, every problem starts to look like a thumb.
    2. Re:Bad developers is universal by Anonymous Coward · · Score: 0

      For some language there is a barrier of entry, that filters a lot of the of the least able developpers..That may be because they're less known or that they rely on learning some different concept...

    3. Re:Bad developers is universal by corychristison · · Score: 2

      Never claimed to be an expert, and my statements were language agnostic.

      My point was if he's tired of working with other people's code he should write his own, and use that. If that means moving to a new language and using that, so be it.

      I've made a living writing custom software, and while I use PHP where it's appropriate, it's not the only language on my tool belt.

    4. Re:Bad developers is universal by Anonymous Coward · · Score: 0

      The irony of this comment. PHP is really just another tool, which is sometimes the right tool. It’s performance characteristics place it towards the top end for rapidly developed web apps.

      I’m not the parent poster, but am proficient in many languages, with a background that probably puts you to shame, mostly unrelated to web.

      The only fanboy type I’m seeing in this thread is you, who is very sore about 2000’s era PHP and feels unjustly superior because of his unspecified language du jour.

      If you’d like to specify the language which you think is more suitable than PHP for projects where PHP is often a sensible choice, I’ll be more than happy to come back and offer some specific examples of its failings, because every language has them, and unless it’s a real out there language, I probably have some experience with it.

    5. Re:Bad developers is universal by Anonymous Coward · · Score: 1

      Doesn't matter what language you use, bad developers are universal.

      It's a lot harder to find truly bad developers among, say, the lisp crowd, than it is to find truly good programmers among the PHP crowd. I'm saying what you're saying is idiot bullshit rationalisation for idiot PHP programmers, but I repeat myself.

      Which stands to reason, as PHP-as-a-toolset is, er, not very good. Spectacularly so. Better programmers know they need better tools and will move where they can get them. (Compare and contrast the desperation evident in the endless stream of ``transpile-to-javascript'' contraptions.)

      The thing is PHP 7.2 is actually pretty good, and 7.3 is looming.

      ``Pretty good for a pile of poo'' is faint praise, and your ``oh yeah it'll only get better''... syeah whatever.

      But let's be honest. Most of the pro-grammers are in fact not very good, but by the same token, much of the code people want written those people apparently don't want to be very good, they just want it to be done however much gruntwork it takes. That neatly explains the popularity of PHP, java, and a couple others: They take a lot of gruntwork to get moving.

      Especially PHP espouses this attitude of chasing ``the semblance of programming'':

      PHP is built to keep chugging along at all costs. When faced with either doing something nonsensical or aborting with an error, it will do something nonsensical. Anything is better than nothing. -- PHP: a fractal of bad design

      ``Lookit, it does something. I must be doing something right, right boss?''

    6. Re:Bad developers is universal by Anonymous Coward · · Score: 0

      I read his comment as there are bad coders working in every language, so swapping to another language won’t necessarily get you away from bad code in general.

      There used to be mountains of bad php, and there’s still heaps of it, but nowdays theres also lots of good php. Theres probably better ratios of good to bad in other langs though, but there’s heaps more php overall than most other languages.

    7. Re: Bad developers is universal by c6gunner · · Score: 2

      He uses Ruby on Rails, obviously.

    8. Re:Bad developers is universal by Anonymous Coward · · Score: 0

      Jesus Christ, fuck off, will ya?

    9. Re:Bad developers is universal by Anonymous Coward · · Score: 0

      A good version of PHP is like a good dose of flu.

    10. Re:Bad developers is universal by Anonymous Coward · · Score: 0

      The thing is PHP 7.2 is actually pretty good, and 7.3 is looming.

      Eh. They should have left it with PHP 6.

      It’s true that there are bad programmers using every language. It is also true that PHP continues to improve. Hell, if you are a glass-half-full type, PHP’s vast room for improvement is a big plus

      But it is also true that PHP-land is mired in ignorance and incompetence. It just is. If you aspire to something better, why try to improve something that will always have a huge legacy of bad ideas, badly implemented?

      Careers are too short (but also way too long).

    11. Re:Bad developers is universal by BronsCon · · Score: 2

      It's the right tool if you're hired to work on an application already using it. The only exception to that rule is, of course, if you're hired to rewrite it in something else.

      --
      APK quotes people (including myself) without context and should not be trusted. Just thought you should know.
    12. Re:Bad developers is universal by corychristison · · Score: 1

      I want to point out you're quoting Eeeve's blog post from 2012. This was published way before PHP 7.

    13. Re:Bad developers is universal by Spazmania · · Score: 1

      This.

      There aren't a lot of bad C developers. Bad developers can't get their C programs to work at all (let alone correctly), so they move on to another language.

      Bad Java developers abound. Not because Java is a bad language, quite the contrary. But lousy developers can swallow exceptions and muddle along with code that more or less does what it's supposed to. Java protects them from the core dump.

      --
      Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
    14. Re:Bad developers is universal by Aighearach · · Score: 1

      The one time I took a PHP contract: a guy comes into a Ruby chat channel on IRC, asks somebody for help, says in PM he has a PHP website and his programmer has been stuck on a bug for 3 days and needs help.

      It was one wrong byte in a regex. A few minutes. Obvious from the log.

    15. Re:Bad developers is universal by Anonymous Coward · · Score: 0

      The endless buffer overruns in C code demonstrates your 2nd line is a lie. And Java is a bad language. Doesn't matter if the person writing the code is a good developer or not, it's a shitshow of a language.

    16. Re:Bad developers is universal by Spazmania · · Score: 1

      Lol. And which language, pray tell, do you like?

      --
      Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
    17. Re:Bad developers is universal by Anonymous Coward · · Score: 0

      This is true about bad developers in every language. People often learn just enough of a thing to be dangerous but still get a job in that field. No surprise when you get bad code or a diva shifts focus to "their" language of choice. PHP has matured and if you can do it well, do it well. Ignore the newbs blowing themselves up - they would write spaghetti BASIC, walk off the end of an array or pointer in C (worse in C++), write Python in the style of Pascal, etc. You, OP, are the pro - get on with your field of expertise!

    18. Re:Bad developers is universal by Anonymous Coward · · Score: 0

      "if you think that PHP is ever the right tool for anything, then you are an idiot."

      Tell Zuckerberg he needs to take down his website.

    19. Re:Bad developers is universal by DamnOregonian · · Score: 1

      PHP7 is a pretty decent language to work with.
      PHP4 and 5 are piles of fucking garbage. The linguistic gymnastics in common use to emulate reasonable behavior with that language are rage-inducing to work with.

    20. Re:Bad developers is universal by Anonymous Coward · · Score: 0

      I took a brief look through your post history and it's inconsistent. In one post you're recommending something, in the next you're saying its shit. No substance to any of your comments, just a lot of pointless, arrogant text. You are the idiot here.

      I don't think you've ever been paid to write a single line of code in your life.

    21. Re:Bad developers is universal by Tough+Love · · Score: 1

      I took a brief look through your post history and it's inconsistent. In one post you're recommending something, in the next you're saying its shit. No substance to any of your comments, just a lot of pointless, arrogant text. You are the idiot here.

      I don't think you've ever been paid to write a single line of code in your life.

      Wait... you don't understand any of those posts? How do you know that you are not the idiot? Consider... It's a PHP thread. You are in it. You did not understand a thing that competent developers say. Possible clue?

      --
      When all you have is a hammer, every problem starts to look like a thumb.
    22. Re:Bad developers is universal by Anonymous Coward · · Score: 0

      I understood your posts just fine, but they're the inconsistent ramblings of an idiot who can't decide whether he loves or hates Python and masturbates on about a range of delusions concerning popular technology and how shit it is because you didn't, couldn't, make it. If people want a good laugh, they should check out your ipv6 comments. Now you, on the other hand, don't seem to understand what inconsistent means, which is no surprise at all after seeing your other ramblings.

      There's plenty of competent developers around here, but you sir, are not one of them. In-fact, you're no developer at all. You're some deadbeat wannabe pretender who just has to get a word in. Do you really think anybody takes you seriously? Pro-tip, we all see right through idiots like you.

      Get back to mopping that floor, and maybe later visit a psychiatrist to deal with your compulsive lying.

    23. Re:Bad developers is universal by Tough+Love · · Score: 1

      You're a PHP fan. To you, the only important measure of competency is that somebody loves or hates a computer language. Do you understand what is meant by "dogs watching television?" Nuff said.

      --
      When all you have is a hammer, every problem starts to look like a thumb.
  7. Maintenance and reliability by what+about · · Score: 3, Insightful

    There are a ton of languages that makes it easy to "start" something, they lack
    - strong typing
    - strong debugging support
    - reliable libraries
    - reliable refactoring
    - capability of scaling to large and distributed projects
    A beginner starts using the language and ... it is trapped into it, sunk cost

    New languages are just reinventing the wheel, really, they are the result of people forgetting history.
    The main difference is that a few keystrokes are saved with a resulting code that is impossible to understnd a week after you heve written it.

    A pity that Microsoft bashing of Java (to then make Java clone c#) result in knee jerk reactions on the name.

    1. Re:Maintenance and reliability by DamonHD · · Score: 4, Insightful

      As someone who used the early JVMs i production, Microsoft's was NOT better. It was a JVM that would crash randomly, that could not interface with OLE even though Sun bent over backwards to make it possible, and like many Microsoft code bases at the time had very poor docs and failed to follow even them. That was easily the nastiest buggiest JVM impl that I ever touched.

      At least, this is what my flashback tells me, now that you set it off! %-P

      Rgds

      Damon

      --
      http://m.earth.org.uk/
    2. Re: Maintenance and reliability by Anonymous Coward · · Score: 0

      Dude, every move Microsoft made in relation to Java was to tie it to their os and kill off portability. The last thing they wanted was people creating software that could run on any operating system and they did whatever they could to kill it.

    3. Re:Maintenance and reliability by Hognoxious · · Score: 2

      You could equally interpret those events as Sun heading Microsoft off at the pass before the fucking bastards reached the "extinguish" stage.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    4. Re:Maintenance and reliability by Anonymous Coward · · Score: 0

      In original question: Should I Ditch PHP all together ? Should be reformulated as follow:

      As 2030 it's just around the corner, in 2020 what it's good and what's is bad in PHP7 or the future PHP8, to be worth investing in working code, which will have to be maintained who knows for many years, 5-10 years or more.
      How is compared to Java/JVM or C#/.Net. Given that .Net is already crossplatform and free, in pairs with open source Java version, OpenJDK/IcedTea. Also JEE - Java Enterprise Edition was made free recently by Oracle.

      PHP must compete much harder than a few yeats ago to remain relevant on long term.

    5. Re:Maintenance and reliability by drinkypoo · · Score: 2, Interesting

      Microsoft bashing of Java? Are you sure you know the history there? For a long time, Microsoft shipped the best JVM on Windows, better than Suns

      Fastest != best

      Microsoft's JVM was an incomplete implementation, created for the purpose of deceiving customers, and was used as evidence in the US v. Microsoft antitrust case in which Microsoft was found to be guilty of abusing their position in the marketplace (before being effectively pardoned by Dubya's dog Ashcroft.) This effectively makes it the worst JVM of its day.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    6. Re:Maintenance and reliability by MightyMartian · · Score: 1

      Microsoft never shipped the best JVM. It shipped the most accessible one, but most of the folks I knew immediately installed Sun's JVM and configured IE to run with it because MS's JVM was not very good at all. It was a happy day for me when Redmond dropped their JVM due to legal wrangling with Sun.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    7. Re:Maintenance and reliability by HiThere · · Score: 1

      You're making assumptions about the scope and purpose. One should choose the language to fit the project, and some of those aren't appropriate to all projects. (Even the "reliable libraries" requirement can occasionally be dropped.)

      FWIW, I grew up as a FORTRAN IV programmer, but now I do most of my programming in Python, Go, or Ruby...depending on the project. And some in D, where appropriate. So I recognize the value of what you're recommending, but you also need to recognize the costs.

      That said, I've never heard anyone say anything good about PHP...except the poster above who said (paraphrase)"It's better to continue a project in PHP than to partially replace it with Python.", and that's faint praise indeed.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    8. Re:Maintenance and reliability by Anonymous Coward · · Score: 0

      Sun's own JVM was not any better. We had to abandon one project is Java early on because we could not get stability or speed out of Sun's piece of shit JVM. Was rather embarrassing for us as we backed Java and Sun over a similar MS ActiveX solution at the time and I am sad to admit ActiveX beat it in every performance and stability metric no matter how much smart caching or screaming at Sun we did.

    9. Re:Maintenance and reliability by Aighearach · · Score: 1

      - strong typing
      - strong debugging support
      - reliable libraries
      - reliable refactoring
      - capability of scaling to large and distributed projects

      This is why Go was invented; the old languages didn't have all that either.

    10. Re:Maintenance and reliability by Anonymous Coward · · Score: 0

      "Simple" languages or "beginner" languages are created so that less expensive coders can be hired to complete projects under budget, but over time the need to add libraries and features and formalities to the language so that real work can get done makes the language inaccessible to beginners and the process has to repeat itself.

  8. In case anyone mentions python... by aticus.finch · · Score: 1

    There are very few practical differences between python and php, other than php having a larger attack surface due to all those wordpress installations.

    They're both the same shitty "fail-at-runtime-only" language, with the clear majority (some 80+%) of practitioners being skilled in everything other than in building software (hence the reason both of them have such poor design decisions).

    1. Re:In case anyone mentions python... by SigmundFloyd · · Score: 1

      "fail-at-runtime-only" language

      Did you mean interpreted?

      --
      Knowledge is power; knowledge shared is power lost.
    2. Re:In case anyone mentions python... by Bongo · · Score: 1

      Perhaps he means that his compiler removes all bugs.

    3. Re:In case anyone mentions python... by Anonymous Coward · · Score: 0

      So I should hire his compiler and leave him at home?

    4. Re:In case anyone mentions python... by Aighearach · · Score: 1

      I don't know about python, but I assume it is similar to Ruby in that you can prevent it from failing at all if you want. Failure is an optional luxury that is useful to debugging, but not an absolutely required feature.

      In C, failure at runtime is never even defined; any mistake I make could cause it. Any.

  9. Bad programmers are universal by Anonymous Coward · · Score: 0

    There are occasional gems but this shit (that word chosen deliberately) isn't language dependent.

  10. Yes by Njovich · · Score: 2

    If you are so frustrated with PHP you should switch, perhaps another language will fit you better, or at least it will be a good experience. Keep in mind that PHP doesn't have a monopoly on bad code, bad configuration or bad performance.After you switch to a different environment such as a corporate .net environment you may find you get different types of problems that you you may not even have realized existed when you used PHP. Either way, still good experience.

    1. Re:Yes by Anonymous Coward · · Score: 0

      Not only do you need to compare the development environment, but also the management environment around other languages/systems. Generally:

      1) companies relying on PHP are fast and loose with requirements, and never include automated testing. I have no clue if they usually manage/upgrade PHP versions, etc.
      2) companies in MS-space have bought into MS's philosophies and products, are slower than #1, and may or may not include tests
      3) companies using Java are usually larger organizations, or ones who want solid, scalable server-side code/services (some startups). More often these have some kind of QA or automated testing, but may also include more Agile workflows.

      You can just as easily get stuck in a company with any of these technologies with an architect who doesn't want anything to change - and is doing it wrong - or in a group who has been firefighting the codebase for the past decade and has no ability to work any differently. Or you might find a tiger team in a huge company who is tasked with finishing something, and you get to use the best tools for the job - and do the job "right".

      captcha: serviced

  11. Oh look, it's this thread again by Anonymous Coward · · Score: 0

    If you don't like using because of what other people are doing with it then you're not really affected by but by the idiots who don't use properly. What they do with is their business. What you do with is your business.

    If you find that is intrinsically flawed and doesn't offer you the coding experience or opportunities for professionalism that you want then you should drop in favour of one that doesn't have those but still provides .

    The PHP is bad bait threads are always good for a laugh though, to be fair.

  12. People use PHP because... by maroberts · · Score: 3, Insightful

    ..it's easy to get stuff done in PHP. There are certainly languages which are 'better' in various respects than PHP, but it is not going to replace the fact that if you want a website done quickly then PHP is your tool of choice.

    Also, it's cheaper to find PHP employees. That doesn't necessarily mean that you find great coders, but looking on the job boards, the level of salaries offered to PHP developers can be half to a third of salaries offered to developers experienced in (say) Node.js/ React. Not only that there a PHP developers on every street corner.

    At the moment I'm amazingly doing PHP at what I call 'financial developer' rates. But these jobs are hard to come by

    --

    Donte Alistair Anderson Roberts - hi son!
    Karma: Chameleon

    1. Re:People use PHP because... by Anonymous Coward · · Score: 0

      ..it's easy to get stuff done in PHP.

      It's not the language features that makes that happen. If anything the language features are NOT easy to do properly. Eg. understanding when to use == or === and that === even exists. Understanding that int("1234foobar") equals 1234 and "foobar" will be ignored, as atrocious as it sounds (Python will bark that it's not a valid integer). This, btw, is teh cause of the infamous systemd "0day" vulnerability. Username starting with a number will be considered an UID, not a name, "day" ignored and discarded.

      But I digress. What makes PHP *seem* easy is the atrocious way of how webservers are set up for it. "Oh the URL ends up with .php, I'll just pass that file to the PHP interpreter configured here and return the output to client", being one prominent example that created the modern "shared hosting industry".

      PHP was designed to be HTML templating language. Designed so one can insert snippets of code into at that time static HTML and running perl through /cgi-bin/ was cumbersome. But the core design of PHP is very bad. Each request independent from another so your application has to load up all the static data (configurations, db connections, session profiles, etc...) on each connection, every time. So you make it faster with atrocities like memcached, but it doesn't chnage the fact that PHP was designed as a templating language to extend HTML, and that it's designed to "live" during the request.

      Sure that has benefits. Sure in a "serverless" infra you don't care about local in-process state, it's alwys in some external db of sorts, somewhere. But it doesn't change the core of what PHP was designed for, and that building giant MVC applications atop of that is just wrong.

    2. Re:People use PHP because... by DamnOregonian · · Score: 1

      int("1234foobar") equals 1234 and "foobar" will be ignored, as atrocious as it sounds

      As evil as that sounds, i was never caught off guard by that behavior with my background as a C programmer. That has always been the behavior of atoi() and strto* in libc.

    3. Re:People use PHP because... by Anonymous Coward · · Score: 0

      Understanding that int("1234foobar") equals 1234 and "foobar" will be ignored,

      To me, that part is not really a problem but rather a feature. JavaScript also does the exact same thing parseInt("1234foobar")==1234 will return true. One just needs to learn and understand what the language does with their built-in function. Certain things may not follow conventional (e.g. passing 0 as an argument in 'if' statement is similar to passing 'false' value to it). I don't really see this situation as a problem.

  13. No, by Anonymous Coward · · Score: 0

    But you should dig it a hole, push it in, cover, then run, run like you've never run before.

    If you have to ask someone what you should do, you have bigger problems.

  14. Bad programmers...exist by bradley13 · · Score: 1

    A bad programmer can screw up in any programming environment. Running away from PHP isn't going to help. The real question is: what is this person doing, that involves him with so many poor programmers?

    The differences between PHP and .Net are huge, and should be based on something other than your spleen.

    --
    Enjoy life! This is not a dress rehearsal.
    1. Re:Bad programmers...exist by Anonymous Coward · · Score: 0

      And with .net you can dig yourself a really big, stinky sewer of code to get covered in. Take our .net coders. Clueless, incompetent and untrained people can create bad code in any language!

    2. Re:Bad programmers...exist by Anne+Thwacks · · Score: 0
      Clueless, incompetent and untrained people can create bad code in any language!

      Yes, but with .NET, they can use a Microsoft development environment to do it!

      --
      Sent from my ASR33 using ASCII
    3. Re:Bad programmers...exist by drinkypoo · · Score: 0

      Yes, but with .NET, they can use a Microsoft development environment to do it!

      ...and get trapped on Microsoft platforms, because they will almost certainly use Microsoft-specific functionality which doesn't exist in Mono.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  15. Elixir by jean-guy69 · · Score: 1

    Learning Elixir was a very refreshing and pleasing experience. The language, the tooling, the documentation are excellent, developper-friendly. The underlying OTP is powerful for making resilient and distributed applications.. The Phoenix framework is very well-made. Learning functional programming made me a better Python and perl programmer.. I used this online course, I recommend it:
    https://www.udemy.com/the-comp...
    (price reduced with the coupon)

    1. Re:Elixir by Anonymous Coward · · Score: 0

      They are a lot of other equally interesting languages.. Anyway when you have learned to closures and to use some more complex data types like sets, you'll be able to write code in a more efficient way (loops and counter replaced by closures)..

    2. Re:Elixir by Anonymous Coward · · Score: 0

      I worked with PHP for almost 20 years and moved to different platforms. Elixir (and Erlang) are one of them.

      Could not be more pleased with Elixir. Architecting an application is very straightforward, it natively supports sockets and web services and the OTP framework is outstanding by comparison to anything else I've ever seen. The fact it's a compiled language means applications run faster in production and I can distribute applications across multiple servers with minimal effort (while maintaining concurrency between each instance.)

      Every time I need to look at a PHP application, it's like stepping back in time. Every time I work on an Elixir application, it's like I'm looking forward 10 years to see how the web will be.

      The OP talked about agency knuckledraggers. It is important to remember the difference between a language and how it gets used. The vast majority of PHP websites are small ones that reach a tiny audience. The language constructs reflect that fact. Were it not for Wordpress, these same people would be using Cold Fusion or ASP and PHP would likely be a very different language.

  16. Lack of Self-Awareness? by Anonymous Coward · · Score: 1

    When @Qbertino first starting using PHP, he was almost certainly just as bad as the devs he's complaining about. For an experienced dev to hold less experienced devs in contempt is not the nicest thing to see no matter how frustrating they can be and even if it's not intentional. Many if not most of them will get better with experience and maybe @Qbertin would find it more rewarding to help them rather than start the cycle all over again. After all, switching to a different platform will just turn him into a less experienced dev who is found frustrating by experienced devs.

  17. A wise decision by Anonymous Coward · · Score: 0

    The problem with PHP is that there's too many novices and bushwhackers using it, resulting in insecure code and an unsafer internet. How many PHP CMS's haven't had total break ins just because the people writing the code just didn't know a thing about programming.

    I associate PHP with unprofessional behavior, and that's why I stay far away from it.

    C# is a vastly better language and .NET a vastly better framework and ecosystem. It's totally secure and AFAIK there have never been any large break-ins on ASP.NET websites.

    1. Re:A wise decision by MightyMartian · · Score: 1

      There's no such thing as "totally secure", and imagining that My runtime environment can save you from your own poor practices is at the heart of every security breach.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
  18. 11 by Anonymous Coward · · Score: 0

    Oracle does that for decades get used to it.

  19. too many developers by Anonymous Coward · · Score: 0

    These days ist just a normal job. Can't do this or that? Maybe find some other job like flipping burgers or writing code.

    In this age computers are no longer for highly motivated and technically apt individuals, but for everyone. Because so many people are needed and there's no barrier to enter the field at all.

  20. That's even more wrong than the old weapons adage by demon+driver · · Score: 1

    Because it's within the concepts of specific languages, which may not actually dictate *what* people can do with them, but which clearly specify *how* they have to do it. Which may very well imply different values for the average quality of code for different languages...

  21. Javascript by Anonymous Coward · · Score: 0

    Unfortunately Javascript and single page applications seems to be the future, I think Angular 2 will be the winner in framework battle. .NET is also quite hot at the moment, but you can be fairly certain that it will go away in a few years, just like everything else from Microsoft has. If you don't mind being a silverlight developer for a few years and then switching to another language again, then .NET is OK, just be careful not to spend more than 10 years with it or the switch becomes nearly impossible when .NET is axed by Microsoft.

    On the server side Java is most likely the winner. It amazes me that despite Oracle buying Java, it did not die. This means that the OpenJDK community is healthy enough to survive without big companies. Also if you are not already, you just be familiar how to use cloud technology. Not because it is hard (it is quite simple actually), but mostly because HR will like to see knowledge and experience in it and it is usually always good to be able to design software so that it can be scaled.

    This is from the analytical point of view. However the most important thing is, what do you want to do. If you really enjoy working with PHP, why should you stop? If you enjoy .NET, why shouldn't you use it even you know it will be axed at some point? (It will most likely take years before that happens).

  22. There are two Gs...and a hyphen by Anonymous Coward · · Score: 0

    Before calling someone knuckle-dragger, perhaps you should know how to spell knuckle-dragger first.

    1. Re:There are two Gs...and a hyphen by Anonymous Coward · · Score: 0

      Check his posting history. He's a grade A class 1 bona fide 24 carat retard.

  23. question already is its own answer by lkcl · · Score: 1

    the question is clearly comprehensive enough that the poster knows there's something deeply, deeply wrong with PHP. a more detailed investigation shows that the actual core developers are ignorant of system-level security programming... but it takes time to actually find that out.

    what stood out for me was that the poster clearly sees an extremely high degree of incompetence surrounding PHP. as in: way-above-average. in part this is i feel down to PHP attracting "web-only" developers who have "a bit of HTML and CSS" and consequently genuinely believe that they are god's gift to the internet, but it's more than that: it's down i feel to the way that PHP programming started out.

    in 1995 i remember being incredibly excited to do my first PHP programming, sitting in CB1 Cafe in Cambridge, after downloading all the source code for apache2, mysql and php onto a NeXT Workstation over a 56k dialup modem. embedding actual dynamic functions into HTML, seeing the results change depending on what was in the database, that was just absolutely ground-breaking.

    what didn't occur to me at the time was how much damage the approach of embedding a programming language's functions into HTML.

    fast-forward ten years later and a friend and i were tasked with "recovering" an absolutely disastrous PHP application gone wrong. the programmer had written 3,000 line PHP pages.... times four.... one for entering a "new" record (with 40 or 50 fields per record), one page - cut/paste modified with "error strings" inserted. a SEPARATE page for edit and a SEPARATE page for edit-with-errors.

    this "style" was copied enough times so that the application was over a HUNDRED thousand lines of ineffective unmaintanable code. my friend cut out EVERYTHING so that there was not a single piece of interleaved php plus HTML, and with a lot of refactoring the entire application was down to under 10,000 lines and much more powerful.

    he wasn't the only programmer i've seen make this mistake.

    the point is: it wasn't so much the incompetent developers' fault: it was the style that allows PHP functions to *be* embedded into HTML/CSS that *causes* people to think that this is both "normal" and "acceptable" (readable / maintainable).

    now, there are likely to be quite a lot of replies saying "But You Don't Have To Do It That Way, You Can Use Templating Library {insert name of one of dozens of templating libraries here}", that's not the point and it's not helping: the point is that people who *don't know* that those libraries exist *will* end up writing shit unmaintainable code, by default.

    there's more than that, obviously, which boils down to: where there are inherently good programming practices *right from the start* as well as an easy-to-read inherently tidy and elegant "style", even bad programmers have to work really quite hard to screw up.

    and that's why i love python, particularly for web programming. i maintain a top fastest 1% website for a client (the render time is under 0.7 seconds even from half way across the world), and it's entirely written in python *with absolutely no external framework dependencies*. i gave up using sqlalchemy, django and so on, a *LONG* time ago, as i learned that using python's string "format" function is perfectly sufficient. do a for-loop, generate the fields from a python list with a function, voila you have the input fields for a form. or the fields from a database query. if you want readable HTML rather than {0} in the thing, you just use python main_html_page_string.replace("", left_menu_string). it really couldn't get any easier.

    1. Re:question already is its own answer by aticus.finch · · Score: 1

      and that's why i love python, particularly for web programming.

      Are you drunk? There's little to no difference between python and php that isn't purely syntactical.

      generate the fields from a python list with a function, voila you have the input fields for a form. or the fields from a database query. if you want readable HTML rather than {0} in the thing, you just use python main_html_page_string.replace("", left_menu_string). it really couldn't get any easier.

      Other than syntax differences, is there any reason that you can't do the same in php? Look I hate php, but all the criticisms against php are equally valid against python.

      If you hate php but love python (or vice versa) you're suffering from severe cognitive dissonance.

    2. Re:question already is its own answer by Bongo · · Score: 2

      It sounds like the problem you’re highlighting is HOW people are introduced to programming, in early PHP examples, rather that what a language’s expression space permits theoretically.

      It’s like learning to draw. If the first exercises are, draw an imaginary forest, people don’t learn to look. If the first exercise is, draw a portrait, it forces you to change your thinking right from the outset, because it will not work unless you focus on learning how to observe shapes.

      Mixing PHP into HTML is satanic. ;-) And anyone who is taught to start that way, is a lost soul. So maybe there is a book out there called Architecting Functional PHP Patterns... ?
      Or maybe not?

    3. Re:question already is its own answer by Anonymous Coward · · Score: 0

      Look I hate php, but all the criticisms against php are equally valid against python.
      If you hate php but love python (or vice versa) you're suffering from severe cognitive dissonance.

      Honest question, do you hate all scripting languages? Or just when they're used in the context of web development. Or is it just weakly typed languages.

    4. Re:question already is its own answer by Anonymous Coward · · Score: 0

      Mixing PHP into HTML is satanic. ;-) And anyone who is taught to start that way, is a lost soul.

      Well, as an old school C and Assembly programmer who briefly did this around 2002, my thoughts:
      - it was all of those stupid %LANGUAGE% in 24 hours / a month books polluting people's minds as a first exposure to programming
      - I hadn't yet been exposed to MVC
      - I like to think I've recovered, but I had prior programming experience

      I started with PHP and MySQL Development 1st ed (2001) by Welling, and the first thing I could think of is "man, this code looks like shit... what a clusterfuck.. but.. when in Rome". I recommend that series to NOBODY.

    5. Re:question already is its own answer by tepples · · Score: 2

      There's little to no difference between python and php that isn't purely syntactical.

      And there are places where syntax makes all the difference, such as list comprehensions (and the generator expressions that power them).

      all the criticisms against php are equally valid against python.

      I've found a few, which I'll quote here for convenience:

      • Number-like comparison of strings can never be fully turned off. For example, both '10' <= '1e1' and '10' >= '1e1'. One can use strcmp in one's own code and pass sort_flags to sorting functions that support them, but some functions still use the built-in operators < and > that don't even impose a total order. Likewise, switch uses the built-in == comparison operator whose semantics are byzantine.
      • Parse errors and undefined function errors are fatal in PHP 5. (Or do CentOS and RHEL have PHP 7 packages yet?)
      • Inconsistent conventions for function naming and argument order in the standard library.
      • Associativity for the ternary ?: operator is the less useful side.
      • PHP allows the server operator to change program semantics in ways that are annoying to work around, especially for shared hosting subscribers without access to the server-wide configuration. At various times, these have included "magic quotes" that spray backslashes all over the request variables, not following HTTP redirects in the CURL library,[1] and restricting the size of files uploaded by a site's users to outdated limits such as 2 megabytes by default.
      • PHP versions change the semantics of existing programs in ways that encourage shared hosting providers to continue to offer only outdated versions of PHP, making it impossible for web application developers to take advantage of new features. Compare Python, which puts added functions in one namespace per module and conditions new incompatible syntax features on presence of from __future__ statements.
      • The developers of PHP rejected keyword arguments.

      [1] From March 2005 through September 2013, cURL could not follow redirects with open_basedir enabled because of a heavy-handed security fix.

    6. Re:question already is its own answer by Aighearach · · Score: 1

      What if they use XHTML? And, is it a general rule for SGML mixing with code, or is it limited to certain versions?

    7. Re:question already is its own answer by Anonymous Coward · · Score: 0

      Remove the penis from your mouth.

    8. Re: question already is its own answer by Anonymous Coward · · Score: 0

      Found the Progressive Democrat!

    9. Re:question already is its own answer by DamnOregonian · · Score: 1

      built-in == comparison operator whose semantics are byzantine

      I prefer the term "fucking asinine"

      Or do CentOS and RHEL have PHP 7 packages yet?

      I use the remi repo.

  24. If Oracle was still behind Java... by demon+driver · · Score: 1

    ... I'd say have a thorough look into Java, at least if you want to keep platform independence as an option, with the JDK offering forays into other and more modern languages too, like Kotlin, Scala, Groovy or many others, and being the next best thing in terms of performance after natively compiled code.

    With Oracle's latest change in update policy, though, forcing commercial users to upgrade JVMs/JDKs to the next major version – possibly breaking things – every six months, at least if they want to keep getting security updates without paying heavy subscription fees, I'm not sure anymore what the future of Java and the JDK/JVM will be.

    1. Re:If Oracle was still behind Java... by mccalli · · Score: 1

      The future is the OpenJDK. People will abandon the now-commercial one quite quickly.

    2. Re: If Oracle was still behind Java... by Anonymous Coward · · Score: 0

      Not to mention you may get drawn into JavaEE, a rabbit hole you will never emerge from

    3. Re:If Oracle was still behind Java... by MightyMartian · · Score: 1

      We already have. Oracle can go fuck themselves.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    4. Re:If Oracle was still behind Java... by demon+driver · · Score: 1

      So far, so good, and OpenJDK is what I've been using personally since I started migrating all my stuff to Linux last autumn. Until now I have stayed at version 8 for compatibility reasons. For commercial use, Oracle will end support for Java 8 come January 2019. I seem to not have fully understood the differences – will OpenJDK continue to be supported with security updates after that date, which can be used commercially, too?

    5. Re: If Oracle was still behind Java... by demon+driver · · Score: 1

      In my day job, that's where I already am, and I might not get out of it until I retire. That being said, there has been worse stuff where I come from ;-)

    6. Re:If Oracle was still behind Java... by MightyMartian · · Score: 1

      My understanding is that fixes will be rolled out. What Oracle is selling is the support model, so fixes getting downstream to OpenJDK won't likely be as prompt, but Oracle's new extort... er commercial license compliance rules is driving a lot of shops to OpenJDK, so I think it's future is reasonably secure.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    7. Re:If Oracle was still behind Java... by demon+driver · · Score: 1

      I think so, too, for some time to come. But while impeding fees even for just using the JDK commercially can be prevented by using OpenJDK, as far as I can see there's no help against the "zero overlap" six-months free support policy for versions including the so-called LTS versions. Meaning, starting 2019, OpenJDK users, too, will need to upgrade the JDK every six months if they simply want to keep getting security updates, and risk breaking things each time.

      Red Hat, by the way, has advised RHEL users against using non-LTS JDK versions in a production environment, people should stay with Java 8 (LTS) until Java 11 (LTS) is there, and so on. I'm no RHEL user, so I don't know for sure, but possibly RHEL will get Oracle's non-free security updates. Otherwise it wouldn't be safe to skip non-LTS versions after Java 11.

  25. Quick on the uptake by Hognoxious · · Score: 0

    ignorant and clueless in the vincinity of PHP

    He's pretty sharp, this Qbertino guy. How come nobody spotted this earlier?

    P.S. Are they so ignorant and clueless that they can't spell vicinity?

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    1. Re:Quick on the uptake by Aighearach · · Score: 1

      No, you're clueless and ignorant.

      Clearly he meant vincinity; the area in which the selfless goodness of PHP emanates, as if being in the presence of Saint Vincent.

  26. Actually You CAN'T by Delifisek · · Score: 5, Insightful

    If you came from PHP without any other language experience (except javascript). You cannot understand how PHP exclusively fit for Web development until you start do something with other language.

    Other languages need for spesific frameworks, configurations, concepts for web projects. PHP was ready to run. When you try to learning other languages web stack you will be frustrated and return to PHP again. Other languages need extra steps to do simple things in web because of their nature.

    Sure php much worse syntax and function names most other languages. However that was language quirks any professional can handle.

    Problem is, php entry level is low and with abundant documents and training videos people easily put something on web and so they think they can handle big projects.

    And without strict guidelines for project management, php can be lethal as a dodge viper on rainy day.

    What you need is, find a battle hardened Project manager which uses Jira and other tools to agile development plus getting know automated testing.

    After 6 months You will be fine with php any given sunday.

    If you insist to change, you should look Google GO. not .NET it was for windows shops for who develop desktop applications. It wasn't just a language, you have to change your development style, development environment working environment etc.

    Google GO was logical next step, It was easy (to comparing other static languages) and it was forced writing disciplined code practices by nature. It fast and you do not need change entire environment. Plus you get military grade arsenal (comparing to php) for complicated projects.

    My 2 cents after 20 years of PHP Web development.

    --
    [My english is better than most other people's Turkish, so please point out mistakes politely. Thank you.]
    1. Re:Actually You CAN'T by i.r.id10t · · Score: 1

      Yeah this. Been programming a long time, and like another comment said being able to quickly put some db result into a webpage was a BIG deal.

      And yes, I've gone back and looked at my own PHP code from 15-20 years ago and said "uuugghh....". But the only reason I've not said that sooner is because the code - crappy as it is - still works for what we needed it to do.

      Also not sure what I would replace it with. What else is relatively light, easy to get up and running, is meant for the web, and isn't client side?

      Heck, I'm not even sure if I could ask for a replacement technology - ITS still has me working on PHP 5.3 because one of their applications hasn't been upgraded yet. All of my stuff isn't using php7x features, but it is all ready to move to a php7x server (replaced mysql_ calls with PDO, etc).

      --
      Don't blame me, I voted for Kodos
  27. Paid by Microsoft? by aleck7 · · Score: 2

    I guess itâ(TM)s a âoetestâ by Microsoft to see reaction of masses. Surely PHP is PoS, but itâ(TM)s an Open Source PoS. Going to a vendor-locked ecosystem is shooting yourself in a foot. So: 1) Ditch? Well, just keep learning. There are proper languages around you know. 2) Submit to MS? Why? Learn C# if you must, but donâ(TM)t limit yourself. I still think itâ(TM)s MS-trolling.

  28. ha by Anonymous Coward · · Score: 0

    > "I think .NET is a much cleaner language to work in with Microsoft's excellent Visual Studio IDE and debugger," argues Slashdot reader Agret , adding "there are many large projects in my city hiring .NET developers and being a strongly typed language the code quality is generally better than PHP."

    Are you fucking kidding me? I've worked with just as many clueless .Net developer as I have Php developers. The general problem with career .Net developers is that they have no idea how to solve problems outside of the Visual Studio IDE bubble, and no real bearing on how HTTP works. Some of the worst APIs I've had to interface with have been written in .Net, which is obvious due to the trailing ".aspx" wart on the end of the URI. Java developer are not any better, and if it's anything outsourced from one of a few particular countries, you're totally screwed, enjoy your rewrite.

    Language has little impact on quality of code, some bonehead will find a way to somehow write enough code that will make its way into production that you'll have to fix it when it falls over.

    1. Re: ha by Anonymous Coward · · Score: 0

      You obviously havenâ(TM)t used .net core/standard with Visual Studio Code. Or really any other language with Visual Studio Code. It is really more about the architecture than the language. At work we have a huge platform running services in c#, Java, nodejs, and go. Donâ(TM)t be haters, Visual Studio Code is the shizzle.

  29. I left the PHP community in 2002 by loufoque · · Score: 2, Informative

    And you should have done the same.
    It's just full of bad programmers and the only applications people build in PHP are crappy websites.

    Moved to a real programming language with a niche that values skill, and I easily multiplied my salary by 10.

  30. No. Not with this problem. by Qbertino · · Score: 1

    It's not about other coders. Other coders in my field are generally nice people although it is strenuous explaining to them time and time again why it's important to do versioning and CI. It's about the whole environment. Doing double and triple the work because someone needs babysitting to do his versioning correctly is a common thing in the web agency / PHP camp. This has nothing to do with self awareness and everything to do with me getting tired of it. Hence my question and request for input.
    Thank you for yours btw!

    --
    We suffer more in our imagination than in reality. - Seneca
    1. Re:No. Not with this problem. by Anonymous Coward · · Score: 1

      It's not about other coders [...] double and triple the work because someone needs babysitting

      So it's not about the coders but instead it's about the coders. The only PHP coder I know is my brother. I can understand the love/hate/frustration.

      Hence my question and request for input. Thank you for yours btw!

      Asking for an opinion on /. is... Let's face it, most people come here to give an opinion whether it's been asked for or not. But you're welcome. Two questions:
      Is there a way that you can profit from the fact that many PHP coders aren't as experienced?
      Is there a way that you could use PHP to fix some of the problems?

    2. Re:No. Not with this problem. by Qbertino · · Score: 1

      Is there a way that you can profit from the fact that many PHP coders aren't as experienced?
      I'm really not sure about that. I some ways yes. Building interfaces, debugging broken setups to get them (barely) working again and then moving on, doing 'web consulting' or something like that. ... This is exactly the type of decision I have to do right now and it ain't that easy.

      Is there a way that you could use PHP to fix some of the problems?
      Yes, there is. But that would involve writing my own set of tools.
      If I'm staying with PHP, that's exactly what will happen.

      --
      We suffer more in our imagination than in reality. - Seneca
    3. Re:No. Not with this problem. by Anonymous Coward · · Score: 0

      Building interfaces, debugging broken setups to get them (barely) working again and then moving on, doing 'web consulting' or something like that. ...

      In my experience, the idea of hiring some super hardcore coder to fix a broken project only exists in Hollywood. Given your frustration with inexperienced coders, debugging other people's broken code is probably a bad idea anyway. But getting yourself a Senior/Head-of role might be possible and you could force the PHP team to do things properly. Also, depending on your location, here in the UK the market for contractors is good. It means less job security but higher income. You'd still have to deal with idiots but the pay might make up for it.

      Yes, there is. But that would involve writing my own set of tools.

      Or maybe finding others whose coding skills you admire and starting an open source project for something that will help fix/reduce the problems you're finding in the PHP community?

  31. PHP Async sucks by cheesyweasel · · Score: 2

    I've been coding PHP, Java and more recently JS for a while. I feel like PHP has dropped the ball when it comes to async programming compared to the others. I think that's one of the reasons why facebook forked PHP (hacklang.org) to make it async friendly. ReactPHP is slow compared to node, and the fastest PHP async framework, Swoole by Tencent, is still limited in what it supports. I've been trying vert.x on Java which isn't bad and not minding koa. I feel like they need to do more to support projects like ReactPHP with native extensions like Swoole.

  32. bait/10 by Tsolias · · Score: 1

    sage and report.

  33. Yes by Anonymous Coward · · Score: 0

    In short: YES FUCKING YES DITCH IT

    Quick reply to other arguments

    - "Bad developers are universal" => of course, but the ratio of bad developers doing PHP is not even on the same scale as for other languages
    - "PHP has changed" => nope it hasn't, it's just a nice coating added on a shit cake
    - "Modern frameworks are much better" => you see the gap from WordPress to Laravel ? There's the same from Laravel to Django
    - (any other pro-PHP argument) => whatever, PHP makes people want to kill themselves and there is much better options out there

    As for alternatives, I'd recommend Python which solved my last serious complaint with version 3.4 in 2014 and which I've been using for basically 10 years now with a complete success in terms of code quality and adoption within the team.

  34. Not Language but environment... by NoBody.de · · Score: 2

    I don't think the problem isn't PHP or not,
    but "Web Sites"...

    If you make websites you deal with people who wants websites,
    And everybody knows how websites are done, right?
    This attitude drives away any "good" developers.

    So you're stuck with the one you can't or won't or just don't care...
    Not all developers in this area , but the majority.

    If you want to write good software you need project and customers who understand what "good" means.
    The language is secondary,

    Your challenge is finding these "good" projects.

    PS:
    (and perhaps saying "i dont do php" shows the right attitude... just saying...)

  35. Maybe stop showing off? by hcs_$reboot · · Score: 1

    And keep selling your PHP competences. If you're better, PHP being a huge market, you'll make a difference and claim a higher salary.

    --
    Slashdot, fix the reply notifications... You won't get away with it...
    1. Re:Maybe stop showing off? by Qbertino · · Score: 1

      Your argument is the exact point that makes this decision difficult. Hence my "Ask Slashdot".
      My salary and working conditions are pretty good considering PHP, so yeah, that's a bit of my dilemma right there.

      Should I build on that or leave is what I'm pondering.

      --
      We suffer more in our imagination than in reality. - Seneca
    2. Re: Maybe stop showing off? by Zecheus · · Score: 1

      Your programming experience is leverage, not a liability. I'm reacting to the sense of your question, to drop php for something else. My answer is no, do not drop php, and yes, work to use something else. Always yes to something else. There is no programmers oracle to tell you your future. Dont bother with slashdot. Utilize your own experience and skill to answer your question. You'll have to take time to work out the answer, as you likely already know: what is the cost/benefit of ....?

  36. Judge not lest ye be judged, you utter cunt by Hognoxious · · Score: 4, Insightful

    that's a pretty rude thing to do, leaving behind a mess for people unqualified to deal with it.

    It's also pretty rude to fire an entire team and replace them with offshore monkeys, but it happens all the time. This is just the reflection of that - his obligation ends at the last paycheck.

    It also means the guy is an arrogant hack and unsuitable for teamwork.

    I can't comment on the specifics from a technical POV because I don't know the details - and neither do you. As for the personal attack, he might have got cancer and decided to use his remaining time travelling for all we know. Even if he was just jumping ship for a better offer, why is that wrong?

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    1. Re:Judge not lest ye be judged, you utter cunt by Anonymous Coward · · Score: 0

      that's a pretty rude thing to do, leaving behind a mess for people unqualified to deal with it.

      It's also pretty rude to fire an entire team and replace them with offshore monkeys, but it happens all the time.

      So you're saying two wrongs make a right?

      This is just the reflection of that - his obligation ends at the last paycheck.

      That may be so, but that really wasn't what the comment you're reacting to was about. That was about barging in and instead of working with the team, he just did his own thing forcing others to patch up after him -- it wasn't him that bridged the session information, someone else had to.

      If he'd done it right I'd not've called him rude.

      It also means the guy is an arrogant hack and unsuitable for teamwork.

      I can't comment on the specifics from a technical POV because I don't know the details - and neither do you. As for the personal attack, he might have got cancer and decided to use his remaining time travelling for all we know. Even if he was just jumping ship for a better offer, why is that wrong?

      If you can demonstrate that as factual in this case I'll think up an answer or change my opinion. Before that, I choose to stick to what we do know. Given this situation scetch, the assessment isn't inaccurate. If the situation turns out to be different, why, maybe the assessment needs reconsidering.

    2. Re:Judge not lest ye be judged, you utter cunt by Hognoxious · · Score: 1

      I have two teams in different countries, 16 people in total for now.

      That's nice, dear.

      Are these the ones where people pay you to let them work there because it looks good on their resumés, despite the fact that nobody's heard of them?

      Nurse! He's off his meds again!

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    3. Re: Judge not lest ye be judged, you utter cunt by Anonymous Coward · · Score: 0

      No one is jealous of you. We just despise you as a traitor.

      Thank you for doing your part to destroy the American middle class.

  37. You got a point there. by Qbertino · · Score: 2

    This is actually one of the things I was thinking / considering.
    Not sure yet if I'll go that path, but your feedback resonates.
    Thanks for your thoughts!

    --
    We suffer more in our imagination than in reality. - Seneca
    1. Re:You got a point there. by corychristison · · Score: 1

      Glad you found my comment among the mud-throwing fest any article mentioning PHP seems to receive.

      Each PHP 7.x release has depreciated and removed a significant amount of the stuff these people are complaining about.

      I find it amazing how many "experts" out there that have never actually tried a modern version of PHP dismiss it and resort to mud-flinging.

      Each to their own, I guess.

    2. Re:You got a point there. by Aighearach · · Score: 1

      The reason it is fun is because PHP was invented by a guy who thought that computer languages are hard, because language designers are arrogant idiots in ivory towers. And so he was going to create an easy language, that is better.

      So that's why it is fun argument. They started it. "Ha-Ha!"

      And it is usable, but painful, and not actually easier than just installing a content management framework. Which is really where the world is these days.

      If you're actually building a new site "using" PHP, it should only mean you're installing a framework and writing content. Same as if it is a RubyOnRails framework. And if it is a dynamic database-backed website, you'll be using an ORM no matter where you go. So the problem becomes, if you're an anti-intellectual snob who listens to the pitch about why PHP is good and chose it, you probably don't understand regexes and SQL really well. And those are the languages you actually need to master for modern websites. And a couple flavors of text search template.

  38. Comparing language to library by bad-badtz-maru · · Score: 2

    "I think .NET is a much cleaner language to work in with Microsoft's excellent Visual Studio IDE and debugger," argues Slashdot reader Agret , adding "there are many large projects in my city hiring .NET developers and being a strongly typed language the code quality is generally better than PHP."

    I wonder what Agret's thoughts on C# are?

    1. Re:Comparing language to library by Anonymous Coward · · Score: 0

      Yeah, that struck me right away too.

      As soon as I read it, I wanted to shout, ".NET is not a language!!"

  39. Yo Gang, thanks for the feedback so far! by Qbertino · · Score: 1

    I was afraid there is no easy answer and I guess we can all agree on that. Truth be told, there is an advantage to being the experience guy in a web agency / PHP shop and I can't really complain about my salary right now either, although I would like it to improve within the next 3-4 years.

    Whatever I do, I'm not going to stick with standard PHP fiddeling. If I stay in the PHP camp, I'll specialize and focus on things that come with it, such as web projects as a whole, performance and high-availability and such. ... I asked the question because if I stay in the PHP camp, this is going to be the point at which I start getting certifications (Zend, Magento, etc.) in order to up my long-term income prospects.

    It is a toss and I'm experienced enough to know that simply switching to Go/Elixir/Node or whatever fad I chose to join when leaving PHP is going to come with its very own set of problems. I also get that shitty code is everywhere, not just in PHP. Which gives PHP the upper hand with this, as no one in the PHP camp automatically asumes the code he runs into will be good.

    Either way, please keep your thoughts coming, this is helpful.
    Thanks a bunch!

    --
    We suffer more in our imagination than in reality. - Seneca
  40. LOL! by Qbertino · · Score: 4, Insightful

    Ok, I will not rag on .Net just now, but I'm definitely not moving to .Net should I leave PHP behind. So you have a point there.

    --
    We suffer more in our imagination than in reality. - Seneca
    1. Re:LOL! by Z00L00K · · Score: 1

      There's a point in leaving PHP behind since it's a mess. So is JSP, primarily because it's a mix of three languages/paradigms:

      • HTML
      • JavaScript
      • PHP / Java / Whatever

      This combo overall generates a headache of mixed code that is hard to debug and is prone to bugs.

      It's not easy to build an UI that is stable, secure and useful with any of these combos.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    2. Re: LOL! by LifesABeach · · Score: 1

      Tip of the spear, Edge of the sword; .NET?! Some times knowing ones craft allows one to fill in the gaps, left by others

    3. Re: LOL! by Anonymous Coward · · Score: 0

      Wordpress, symphony, and various plugable frameworks are all rubbish.

    4. Re: LOL! by datavirtue · · Score: 4, Informative

      Why is .Net bad? Its just incredibly complete sugar to manipulate memory and data to your will. C# is by far the best language we have at the moment for most problem domains and the .Net ecosystem is amazing...presenting the only viable solution for cross platform development at the moment. Avoiding .Net is really bad advice.

      --
      I object to power without constructive purpose. --Spock
    5. Re: LOL! by Anonymous Coward · · Score: 0

      Why is java not viable?

      Why is python not viable?

    6. Re:LOL! by Anonymous Coward · · Score: 0

      This seems to be a clueless, careless comment from someone who's never used .NET. I don't think highly of Microsoft, but I have to grudgingly acknowledge that C# is one of the best languages ever designed (it was designed by the guy who wrote Turbo Pascal and Delphi).

    7. Re:LOL! by LesFerg · · Score: 3, Funny

      And also, lets not forget that C# was responsible for stopping a whole lot of developers from using Visual Basic. I mean, how could you complain about that?

      --
      If I had a DeLorean... I would probably only drive it from time to time.
    8. Re: LOL! by Anonymous Coward · · Score: 0

      I agree that java is viable for a lot of cross-platform uses, though I'm not sure that it has a great native mobile app platform. I could be wrong. .Net has Xamarin. Not sure if there's an equally high quality counterpart.

      In my experience, Python encourages code that is difficult to parse by humans.

    9. Re: LOL! by Anonymous Coward · · Score: 1

      Python, a language with very little syntactical sugar compared to a lot of other languages, is probably the easiest language to read out there...

    10. Re: LOL! by Pseudonym · · Score: 1

      And if you ever want to write the software equivalent of preschool readers, it's definitely one to consider.

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    11. Re: LOL! by Pseudonym · · Score: 1

      C# is by far the best language we have at the moment for most problem domains [...]

      Most problem domains>? You're shitting me. It's not even close.

      Having said that, for server-side web stuff... it pains me to admit it, but there's a lot of truth here. It says something about the sad state of server-side that C# is one of the few languages for which "doesn't suck as hard as others" and "can find people" are both true.

      Yeah, there's Java. Have you ever tried maintaining Spring?

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    12. Re:LOL! by Anonymous Coward · · Score: 0

      I moved on a number of years ago and haven't looked back. Once I finally settled on the combination of Node.js + TypeScript + Snyk (to be sure any npm packages are up to snuff) + nginx reverse proxy, I finally have a mature, enterprise-ready toolset. Add git, docker and kubernetes for source control and deployment/cloud enablement. I've even added .NET core into the mix now that it is performant on linux, windows and mac os and plays very well with git, docker and kubernetes. It's really nice to be able to stand up an enterprise site that is fully functional and extremely scalable in a handful of hours. And if I have to add another tool into the mix? Very easy as long as the tool can be accessed either by CLI or web service, which pretty much covers the gamut.

    13. Re: LOL! by Lije+Baley · · Score: 1

      Yeah, Spring is one of the many cases of "cure is worse than the disease" that mid-experience designers have foisted upon us.

      --
      Strange things are afoot at the Circle-K.
    14. Re:LOL! by Anonymous Coward · · Score: 0

      There's a point in leaving PHP behind since it's a mess. So is JSP, primarily because it's a mix of three languages/paradigms:

      • HTML
      • JavaScript
      • PHP / Java / Whatever

      This combo overall generates a headache of mixed code that is hard to debug and is prone to bugs.

      It's not easy to build an UI that is stable, secure and useful with any of these combos.

      What are you talking about? ALL scripting/programming languages that deal with web application will need HTML, some Javascript (optional), and whatever language/script you use in implementing it. The problem/difficulty is not the combo but rather the knowledge of the implementor (programmer/developer). If the person is just a script kiddo and like to copy-and-paste, then no combo is going to work. One needs to have enough knowledge of both HTML and Javascript so that the one can combine them with whatever the one wants to use for a web application. Period.

    15. Re: LOL! by LordWabbit2 · · Score: 1

      WTF - have you even heard of COBOL? BASIC? Python is not the "easiest language to read out there" far from it. And if your argument is that they are dead languages, well you are fucken dead wrong. They are just OLD, really really OLD and no one teaches them anymore, so if you can code in COBOL you can literally make a million. For complete transparency I CAN code in COBOL, but I refuse to, it's fucking boring, you would have to offer me a lot and a lot and a lot of money to do that shit again. I already earn enough, I am happy where I am.

      --
      There are three kinds of falsehood: the first is a 'fib,' the second is a downright lie, and the third is statistics.
  41. Re:Still Write:-Test-ReWrite Cycle by Anonymous Coward · · Score: 0

    A good designed and implemented language it's not enough to prevent a programmer to write bad code. At least a good tool can give some hints, feedback about what's wrong with some portions of code, but still it's the roll of programmer to push harder to rewrite to faulty codes, until entering in the phase in which become acceptable.

    For some jobs, PHP is more suited than Java or C# for others vice-versa.

  42. Switch to embedded by johanw · · Score: 1

    In webdevelopment there are way too many crappy programmers. He should switch to embedded where such things are not tolerated.

  43. PHP's Value Propositions Remain Unchallenged by Slicker · · Score: 3, Interesting

    Yes, a great deal of PHP code in the wild seems unruly. However, this is not due to PHP per-se. Choosing a solid framework (such as codeigniter or cakePHP), following its conventions, and practicing good team dynamics makes all the difference. I have been coding since 1984 in a variety of languages and, although PHP's verbosity annoys me (requires too much finger twisting on the keyboard), I have never seen a more generally productive language. You can easily build a lot, fast. The discipline to make maintainable code is worth the effort that you need anyway, even if coding in Python.

    Here are the reasons code becomes unruly:
    (1) undisciplined and/or weakly experienced coders
    (2) not clear design pattern (usually goes with #1)
    (3) well experienced coder's tendency to over-engineer

    The worst of these is #3 and it's very common amongst head-strong developers who are knowledgeable.

    1. Re:PHP's Value Propositions Remain Unchallenged by Anonymous Coward · · Score: 0

      Productivity is the problem. A inexperienced (or just bad) programmer can get a lot of terrible work done in PHP, whereas they would be stumped by other languages/platforms.

    2. Re:PHP's Value Propositions Remain Unchallenged by Anonymous Coward · · Score: 0

      The frameworks and the entire OO model in PHP is flawed. PHP went hard OO when Ruby came around without considering the needs of the userbase.

      This is how you end up with 10 megabyte of framework for an application which could be written in 20 kilobytes with a hybrid and sane approach a few years later. I tend to find the frameworks encumbering, they promote bad programming practices.

    3. Re:PHP's Value Propositions Remain Unchallenged by MightyMartian · · Score: 1

      Frameworks have their place, but some are so damned top heavy because they evolve from something relatively light like a basic MVC templating system to a nightmarish beast that's really one part framework and three parts library functions. And most of them are notorious for shit documentation.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    4. Re:PHP's Value Propositions Remain Unchallenged by aleck7 · · Score: 1

      Value? Then you are left with a pile of barely working PHP code with no proper (if any) unit tests written. Suddenly a year later you need to change something and you need a much higher level PHP coder (hard to find, more expensive that average Java guy) and he will tell you -- have you thought about rewriting this crap? In two words: in TCO (total cost of ownership) PHP is fairly expensive language IF your code will be used for real in production, not just throw away PoC.

    5. Re:PHP's Value Propositions Remain Unchallenged by Anonymous Coward · · Score: 0

      You just named the two worst PHP frameworks currently still (barely) maintained, congratulations.

      Symfony, Laravel, Yii2 or Phalcon are good choices.

    6. Re:PHP's Value Propositions Remain Unchallenged by Eravnrekaree · · Score: 1

      If you are developing for a large enterprise project, the way to go is use a commercially supported open source project in my opinion like Magnolia CMS or ERP5. The problem is not the language. If you want something that is well designed and maintained, expect to pay, use open source but expect to pay for quality open source, open source really does not mean free as in beer.

    7. Re:PHP's Value Propositions Remain Unchallenged by Anonymous Coward · · Score: 0

      (3) well experienced coder's tendency to over-engineer

      Who tend to do these things based on real experiences in the real world, and have been all too painfully learned and not easily forgotten.

      The worst of these is #3 and it's very common amongst head-strong developers who are knowledgeable.

      Or, you know, looked down by PHBs and marketing idiots who think you just sprinkle some hastily written code and have a product when what you really have is a demo or a proof of concept.

      If you don't have a couple of head-strong developers who insist on doing it 'right' as opposed to 'quick', then your codebase is probably complete shit and full of 'good enough for me' type code. That stuff is generally impossible to fix or maintain.

      Something some guy knocked together in an afternoon is likely so full of problems that when you try to actually fix that, you realise that they've painted you into a corner and nothing you do will fix the problems with the code.

      I've lost track of the number of coders I've known who can't maintain their own code, or just throw up their hands and say "it can't be made to do that" ... or, worse, have no idea what their own code does and why they wrote it that way. Sure, you wrote something kinda cool, but it's utterly broken and you have no idea how you would even go about fixing it.

      Yes, you can over-engineer code. But under-engineering is what I see far more of. And that code is just garbage.

  44. Covert .NET Advertising by loox · · Score: 1

    The summary is too well built for not being surreptitious Microsoft advertisement.

  45. PHP by Anonymous Coward · · Score: 0

    I always liked working with PHP. The only down side I saw with it was the same down side I see in every other language I work with. I have to clean up other peoples messes. PHP isn't the problem, crappy programmers who came before you and refuse to fix their garbage are the problem. That can be fixed by taking away their pay till they fix it or you hire someone new to replace em

  46. Re:PHP bubble burst by Anonymous Coward · · Score: 0

    The PHP Singularity:
    https://developers.slashdot.org/story/12/06/29/1458234/the-php-singularity

    Is PHP the new VB6?
    PHP: a fractal of bad design
    https://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/

    That's was in 2012. But for now it's still true?

  47. No Matter Where You Go -There You Are by Anonymous Coward · · Score: 0

    PHP, itself, is a crappy language. It relies on a massive, accreted standard library, and has only fairly recently become halfway acceptable as an object-oriented language.

    It's filled with stuff like this: array_map($callback, $array) vs. array_walk(&$array, $callback) (with the array being changed by reference in the second).

    That's what happens when you have a million monkeys on a million typewriters.

    That said, it's here to stay for a long time, and is a VERY powerful and well-supported server language. It's one of Facebook's principal languages, and they have contributed to it in a big way. It's quite legitimate as a business choice for server support. It has a ginormous support community, and millions of articles and recipes.

    There's any number of languages that are much more elegant, and, depending on the application, appropriate, but you need to realize that sloppy programmers will create garbage in any language.

    There's this "cargo cult" mentality in software development, these days, where people think that the tools make the software, so they get whatever shiny tool is hot right now, and throw it into a room with a million low-cost monkeys, and wait for the collected works of Shakespeare to emerge.

    Languages like PHP and C++ are constantly being slagged by hipsters, these days, but they keep going, and still power some of the most important infrastructure on Earth; usually because the people writing code in them are very good.

    Linux is still pretty much all C. Not C++, not C#, not Objective-C. C.

    That's because Linus is not a monkey, despite his penchant for sometimes throwing poop. He's a damn good architect and engineer. That don't come from a Cracker Jack box.

    If you are a monkey, then I suggest making sure that your fundamentals, like design ethos, ethics, quality, and structural discipline are in good shape. These will translate to any tool that you use, and allow you to choose the most useful, business-relevant tool to use for a given application.

    A new banana won't help.

  48. Give something else a try by borfast · · Score: 1

    I left the insane PHP world quite a while ago and wrote a post detailing some of my reasons. Even though PHP has improved a lot since then, the foundations still suck. For example, the vast majority of people writing PHP are still "web designers" who know nothing about writing proper code. And I just don't get it when people tell me I have to be patient because PHP is improving - why wait that PHP becomes better when you can work with better tools now? I get much better salaries and enjoy the projects I work on a lot more since I dropped PHP. It's just not worth it.

    1. Re:Give something else a try by avidal · · Score: 1

      good... we will miss you

    2. Re:Give something else a try by borfast · · Score: 1

      I know you will, and trust me, I thought deep and hard about this, but even though I read and cherished all your love letters and emails begging me to stay, in the end I just had to do what is best for me. Believe me, this was not as hard for me as it was for you but eventually it would happen. It's better to have done it while I still had some sanity left.

      You are very welcome to visit any time you want, though, but I'm guessing you won't. And that is one of the reasons why I had to leave: you are too close-minded and wouldn't let me grow, learn, improve and be happy. I know you mean well and that deep down you think you're doing the right thing and that there's nothing wrong with your closed world. I wish I could show you. I wish you would listen. I wish you could change. But I know you won't. And that's OK, I forgive you.

      XXX,
      borfast

      PS - Don't forget to feed jeff and stroke his head, he loves it and it makes him happy.
      PPS - http://theoatmeal.com/comics/b...

  49. Exactamundo! by Anonymous Coward · · Score: 1

    Experience is more important then the language.

    Exactly. Serviceable code can almost always be written in any language. And crap code can always be written in any language. It's a poor workman who blames his tools...

    1. Re: Exactamundo! by Anonymous Coward · · Score: 0

      It's a low productivity worker who doesn't understand the power of good tools, that likes to say "It's a poor workman who blames his tools..."

  50. Example of good PHP code by Aethedor · · Score: 1

    A language is just a language. It's the developer who makes code crap or good. It's very easy to start developing with PHP. Because of that, many young and unexperienced developers use PHP. That and only that is the reason why so much PHP code is crap. It has nothing to do with the language itself. With PHP, it's very well possible to write good, solid, fast and secure webapplications. You want proof? Check out the Banshee PHP framework.

    --
    It doesn't have to be like this. All we need to do is make sure we keep talking.
  51. You'll see a lot of people saying to you stay on.. by Parker+Lewis · · Score: 1

    But those people never tried to use another language for web development. Usually people will move away from PHP to Python and Ruby, and I never faced any of them who moved back after truly make a project on those languages. The only friend I have defending PHP is the one who never tried other language/framework for real, always saying "it's not the language".

    Yes, it is. The core is really a mess, features are moved away and returns, the team making the rules has weak technical skills (search for the reason why namespace uses backslash). You have a dozen of broken/abandoned frameworks trying to mimic Rails/Django, but the better is 10 years away from them. And the worst: the community is really, really weak. Of course, you'll find people to hire asking few buckets, but they'll make you cry.

  52. Good or bad code in any language by Anonymous Coward · · Score: 0

    All languages supports both good and bad code. The problem is, goodness is not in the spec. The spec only says what the site looks like, what you can do there. So of course bad code gets written - you get the functionality but the implementation is unreasonable.

    Add some specs like these:
    1. The data transferred between client & server should measure in single-digit kilobytes (excluding imagery), not hundreds of kB or megs. Anything else won't scale. Do the test and NO PAY if they fail on this. Otherwise, it will be expensive to scale.

    2. A demo server with only 10 users should be able to run on a raspberry - and perform nicely! Rules out all those "lets load huge libraries for no reason". You may need a big server for a million customers, nor for "running at all"

  53. It's not the language, it's the user base by Opportunist · · Score: 4, Insightful

    Moving to .net won't make you any happier, because strong typing does not make a better code base. Better programmers make better code base. And neither PHP nor .net require you in any way to be a good programmer. Both come with sufficiently plentiful training wheels that both of them attract people who have no idea what they're doing and rely mostly on cargo cult programming.

    But this is how programming is these days. Yes, you still have a few good (and very expensive) people who know what they're doing and who actually understand the implications of using this function (or API call) instead of that one, but for every programmer who does know that, you have at least a dozen who copy/paste most of their code from various online sources after googling the problem du jour. This is an universal problem and not one you can solve by switching the programming language.

    If you want to solve that problem, you have to switch the user base.

    --
    We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    1. Re:It's not the language, it's the user base by Anonymous Coward · · Score: 0

      In the absence of better programmers, though, strong typing *does* make a better code base. Some bugs become impossible to write, thereby raising the bar to some minimal level. Obviously you could have test suites that would also eliminate such bugs, but those sorts of tests already invalidate the assumption of "in the absence better programmers".

      dom

    2. Re:It's not the language, it's the user base by Opportunist · · Score: 1

      Considering that most of the crappy code is just copy/pasted from some net sources and then shoehorned into the existing (and most likely of equal quality) code, strong typing doesn't really make that much of a difference. Bugs that depend on the wrong type of parameter being passed and misinterpreted are usually quick to surface. The real problem is edge cases and security, and both depend more on thorough testing and actually knowing what you're doing.

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
  54. Agency=bad by Anonymous Coward · · Score: 0

    Ditch the agency work and pickup laravel

  55. well by matushorvath · · Score: 1

    A good programmer can write good code in any language. That said, an average or bad programmer has the tendency to write really horrible code in PHP. Let's say the nature of the language leads you to bad code, more so than say C# or Python. You have to fight the nature in order to avoid it.

  56. Stability Matters by coop247 · · Score: 2

    I was strictly a .NET programmer from, jeez, 1.0 up to almost v3. Loved the IDE, code base felt "bigger" than it needed to be for projects. My main issue was that the application on the server just dies a lot. And this wasnt just 1 app, at one company, my experience across multiple companies, multiple setups, it just seemed the the application would crash for no reason and need completely restarted pretty regularly.

    Been on PHP/LAMP for several years now and that bastard never so much as went down once. .NET/IIS might be better now, but that was my experience.

    --
    //TODO: Insert catchy phrase
    1. Re: Stability Matters by Anonymous Coward · · Score: 0

      Memory leaks, handle leaks, socket leaks. 99% of the time it's the application programmers fault. Sorry ;-)

    2. Re:Stability Matters by kzwork · · Score: 1

      Even worse - imagine running Php in Windows/IIS env. or #C in Linux env. So considering a language should also take into account the platform it will be running on.

    3. Re:Stability Matters by NerdENerd · · Score: 1

      I worked on many .NET applications over the years from 1.1 to 4.6 and .NET Core and I have never experience any sort of IIS instability.

    4. Re:Stability Matters by Anonymous Coward · · Score: 0

      My understanding of .NET Core is that IIS has modularised most things, so the bastard has now gone down. To quote from the asp.net core website "ASP.NET Core ships entirely as NuGet packages. Using NuGet packages allows you to optimize your app to include only the necessary dependencies."

  57. Depends on your age. by Rufty · · Score: 4, Insightful

    New coders look at crap PHP and think "I can do that!"
    Experienced coders look at crap PHP and think "That's crap PHP."
    Old coders look at crap PHP and think "Job security."

    --
    Red to red, black to black. Switch it on, but stand well back.
  58. PHP is a bad language for long lived code by damaki · · Score: 2

    As a developer who did 6 years of Java, 4 years of C# and 5 years of PHP for a living, PHP is not a good language for long term maintainability in a team. So, if you are alone on the project, you know perfectly your way around the language quirks, know how to use composer properly and have no need for scalability, then PHP is probably good enough for you. In any other case, do not use PHP.
    PHP is a bad language for teams with various levels of knowledge of the language, who do not pair-program or when scalability (connection pooling issues mostly, and not only DB connections) matters, of if you want to use microservices inside of a PHP script (there is a circle in PHP hell for that).
    In a nutshell, PHP is a bad language to have legacy code in, and not easily scalable. It is quirky, though not unmanageably quirky with the right tools, but once you ignore warnings, do not use proper code quality tools (sonarqube and such), you are definitely fucked with PHP. And these days, I am maintaining several of those nightmare no-framework, reinvent-the-wheel, warnings everywhere and no composer and custom classloading PHP application.

    By the way, beware of C# in a team. C# is a huge and complex language. Just like C++, you must agree on a subset of a language, for consistency sake. Once you got your subset, you are good to go.

    --
    Stupidity is the root of all evil.
  59. What do you think of Python? by tepples · · Score: 1

    If you’d like to specify the language which you think is more suitable than PHP for projects where PHP is often a sensible choice, I’ll be more than happy to come back and offer some specific examples of its failings

    I get the impression from eevee's notorious "fractal of bad design" rant that she'd prefer Python. I've been trying to keep my own page about the issue more nuanced, distilling the problems that "fractal" mentions into a set of coding standards, inspired by the work of Douglas Crockford, and another set of failures that coding standards alone cannot prevent.

    So where does, say, Python fail in comparison to PHP? (Other than ability to collaborate over channels that are broken in that they mangle leading whitespace.)

    1. Re:What do you think of Python? by Anonymous Coward · · Score: 0

      I read that fractal article years ago, it's mostly grounded in fact but there's a lot of nit-picking. The article is a great exaggeration of PHPs weaknesses, and I can't deny its origin as a very hacky language, but most of that isn't terribly relevant to how good PHP is written today.

      I really enjoy writing Python, but there's some little things I don't like about it. Overall it's a great language that's a pleasure to work in. I work on small web projects in Python and PHP, but PHP 7 performs a lot better for similarly sized projects and it scales with less effort. There's definitely more ugliness to PHP, but PHP has a bit of an edge in development time for anything beyond simple code bases, using modern frameworks for both. I wouldn't use either of these languages for something large, but both are suitable for small scale rapid development. Python certainly doesn't fail to PHP, they're totally different and, unlike Python, I wouldn't think of using PHP outside of web.

      I wasn't saying that PHP is the best language, just that all languages have their pluses and minuses and that PHP shouldn't be written off with fanaticism.

  60. Why devs don't just make a native app instead by tepples · · Score: 1

    Better programmers know they need better tools and will move where they can get them. (Compare and contrast the desperation evident in the endless stream of ``transpile-to-javascript'' contraptions.)

    How much of this "desperation" is related to non-JavaScript applications 1. being operating system specific, 2. requiring an install step on the user's part, and 3. in many cases needing approval from the operating system's publisher before they will execute on retail devices?

  61. Bad Code is Everywhere by Anonymous Coward · · Score: 0

    I will admit that there is a ton of bad PHP code out there. Some of that stems from PHP being a gateway language (first language for self taught coders) for a long time. However I have been working part time on a .Net web service for the last year and it is awful. Right up there with the worst PHP I've ever seen. Three different ways to connect to the same database? check. Three different partially completed attempts to redesign the thing? check. A client that doesn't understand that the project has grown into a monster and refuses to allow fixes until it is well and truely broken? check. Oh and the one bit that I replaced with PHP? Sold to client because it was 10 times faster... this is PHP it is not supposed to outperform compiled code but 10,000 requests handled in the same CPU time as 1,000 for .Net.

    So please don't give up on a language because the client doesn't let you fix things... Instead take small chances to fix things and show the client how fixing things can be better... Still hoping my client breaks out of their "not my decision, finger pointing, go around" and contracts me to fix some more things... Fixing code is easy, fixing clients is somewhat harder.

  62. No more Java EE by tepples · · Score: 1

    Oracle isn't doing Java Enterprise Edition anymore. It's under Eclipse's governance now and called Jakarta EE.

  63. Slashdot confuses me sometimes by jon3k · · Score: 1

    Th post the other day about python brought out all the curmudgeons who damned it as a "toy language" not fit for "anything longer than a page". Meanwhile the comments here are people defending PHP as "the right tool depending on the environment" and "its not the language, there are bad developers using every language."

    Slashdot really confuses me sometimes.

    1. Re:Slashdot confuses me sometimes by sfcat · · Score: 1

      Th post the other day about python brought out all the curmudgeons who damned it as a "toy language" not fit for "anything longer than a page". Meanwhile the comments here are people defending PHP as "the right tool depending on the environment" and "its not the language, there are bad developers using every language." Slashdot really confuses me sometimes.

      Because they are not the same people. These people defending PHP are either PHP programmers or somehow their paychecks are tied to a PHP project of some kind. I've looked at PHP and its a disaster and clearly not suited to making larger or commercial projects. You can with enough skill and effort make that happen but your organization probably doesn't have that level of skill and management to make that happen. So what will happen is cheap, cargo cult programming that drives away good programmers. This results in the dead sea effect for PHP projects.

      The other's criticizing PHP probably either don't currently, or never used PHP. The anti side rightly points out all the flaws in the language and runtime. But since we have no skin in the game, we are less likely to post on these types of articles. There are probably many many more anti PHP /.ers out there but since we don't post on PHP very often, our voices are quieter. Those poor souls that write in PHP likely post in PHP articles far more often so their voices are loud. And hence your confusion. Its no different than why governments seems to cater to "special interests" so often, they show up as they have skin in the game.

      --
      "Those that start by burning books, will end by burning men."
    2. Re:Slashdot confuses me sometimes by jon3k · · Score: 1

      Because they are not the same people. These people defending PHP are either PHP programmers or somehow their paychecks are tied to a PHP project of some kind.

      While I agree with the premise, the problem was how highly moderated the comments are about php being pretty much ok and blaming poor programmers. I imagine you would have seen the same thing with python, right? Why didn't we see an overwhelming amount of pro-python, highly moderated comments in the other post?

  64. I've used both. by The+MAZZTer · · Score: 3, Informative

    It breaks down to PHP being much less capable than ASP.NET in its capabilities, though I admit it's been a while since I've used PHP, some of these limitations are built into the basic design of PHP so I'm not sure how they could have improved those aspects since then.

    ASP.NET and ASP.NET Core have control of pretty much the entire web server stack (to a point). So you can do things like declare REST APIs and map them to single functions, whereas it is much harder to do that in PHP because first the web server needs to map a request to your PHP script file before you even get control in the first place, so you need to use Apache mod_rewrite or whatever (as opposed to a single line of ASP.NET code embedded with your REST API function.

    I think that's really the biggest thing. PHP code starts and ends at the PHP script file and all code is run in the context of a HTTP request. There's no built-in way to do background processing outside of that, and you are writing a collection of scripts, not a full application. In ASP.NET you are writing an APPLICATION, and you get as much control over requests into your application URLs as you need. You can filter requests, add middleware, and your app doesn't even serve static files from disk unless you tell it to.

    PHP has also had growing pains, starting out with no OOP support but having such things added eventually and having their APIs eventually converted over to use OOP (I stopped using it before this point so I am not sure how good it is). Also some bad security decisions that had to be corrected have led to things like mysql_escape and mysql_real_escape functions. Meanwhile in .NET you just use SQL parameters and you're good from a security standpoint. It has been awhile so I would hope PHP has SQL parameters now. I can't speak to the current state of PHP from a security standpoint but they've had a rocky journey for sure.

    Also as a side note, .NET has EF/EF Core, which is amazing. I fell in love with it. Use any DB you want. Write classes that represent objects. And then EF/EF Core generates DB structures and queries for you; you don't have to deal with any of that. Change the object structure? DBs will be migrated to the new structure. It's pretty much magic. With PHP you're stuck picking a specific database and manually writing queries. If you want objects to represent your records (a database abstraction layer of some sort is a good idea for security reasons) you have to build all that by hand.

    1. Re:I've used both. by MightyMartian · · Score: 1

      You know, the one thing I've ever been able to do is tolerate a framework building SQL queries for me. I get that it makes sense if you're using a number of databases, like nosql and the like, so a level of abstraction allows higher code portability, but in general I simply do not trust any framework's ability to generate a SQL query as optimized as the one I can build by hand. Of course this makes for less portable code, but honestly, I'd rather just do whatever variant of #IFDEF any language has and rewrite the query for whatever database the application is hooking in to (yes, I know, lots of reinventing of the wheel) than to trust nameless and faceless framework developers. I know at that point that the SQL is secure, rather than having faith that someone out there knows what they're doing. Besides, I do kind of think in SQL, due to 20+ years of writing SQL code, and it actually helps me at the prototyping stage to get a sense of data flow. I usually work from the database up, because that's just how my brain seems to work.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    2. Re:I've used both. by zifn4b · · Score: 1

      Yay let's pit two languages/frameworks that fell way behind Amazon/Facebook/Google and compare them to each other. .NET Core and Azure came very late to the party. Visual Studio Code even came way late to the party compared to Sublime, Atom, IntelliJ, etc. Even though I'm an MCP and loved .NET when it first came out and was awesome for 10-15 years. Microsoft dropped the ball unfortunately just like they did with Windows Mobile Phone, Windows 8 and IE/Edge.

      --
      We'll make great pets
    3. Re:I've used both. by zifn4b · · Score: 1

      GraphQL ftw.

      --
      We'll make great pets
    4. Re:I've used both. by MightyMartian · · Score: 1

      You can do background processing. It just takes a bit of work. That's what cron, flags and triggers were designed for. Admittedly some tools make it more seamless, but really under the hood it's all done the same way. And there are certainly frameworks out there that give you that level of abstraction even in PHP. Mostly it's down to the framework and picking the right IDE. These problems have been solved.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    5. Re:I've used both. by sfcat · · Score: 1

      You know, the one thing I've ever been able to do is tolerate a framework building SQL queries for me. I get that it makes sense if you're using a number of databases, like nosql and the like, so a level of abstraction allows higher code portability, but in general I simply do not trust any framework's ability to generate a SQL query as optimized as the one I can build by hand. Of course this makes for less portable code, but honestly, I'd rather just do whatever variant of #IFDEF any language has and rewrite the query for whatever database the application is hooking in to (yes, I know, lots of reinventing of the wheel) than to trust nameless and faceless framework developers. I know at that point that the SQL is secure, rather than having faith that someone out there knows what they're doing. Besides, I do kind of think in SQL, due to 20+ years of writing SQL code, and it actually helps me at the prototyping stage to get a sense of data flow. I usually work from the database up, because that's just how my brain seems to work.

      And you are why SQL injection attacks are still a thing in web dev. And this comes from someone who loves SQL and has written SQL only applications before.

      --
      "Those that start by burning books, will end by burning men."
    6. Re:I've used both. by MightyMartian · · Score: 1

      Where did I say I didn't use parameters?

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    7. Re:I've used both. by Eravnrekaree · · Score: 1

      If you really need to your code running inside the web server, this seems to be what you are requesting, maybe mod_php or such, or you can embed a web server into your program, I know you can do that with Perl's POE, Pythons Twisted, among MANY other modules. There may be some advantages to running code for requests in a per request process in reducing the chance of a leak between requests.

      Traditional Apache certainly isnt the only game in town for open source programming and languages, and has flexibility, as we can see. I believe if I recall correctly you can capture of a broad range of requests to multiple URIs to a single CGI or FastCGI handler so you can have your own logic to pick apart the URI and handle that yourself.

      You might be able to configure FastCGI to handle all requests with a single process, I have not looked into this.

      If you want something scalable, you also want a lot of handler processes, not one and they may run on different servers, so you probably want to consider some sort of IPC solution anyway if you need to access some global state or send messages into the server farm. So, in this case, this is an example of how actually having CGI scripts running per request isn't really the limitation you make it seem because you will have to use IPC mechanisms anyway for global state and messaging.

    8. Re:I've used both. by Anonymous Coward · · Score: 0

      And you are why SQL injection attacks are still a thing in web dev.

      Have always felt sorry for those using crap like PHP where developers are required to be extra careful taking specific affirmative steps in order to avoid completely avoidable disasters.

      System I use allows me to write whatever query I want using any untrusted input I want. No matter how drunk I happen to be at the time code was written my risk of leaving a SQLi vulnerability is always zero.

    9. Re:I've used both. by avidal · · Score: 1

      so we should all stop writing SQL because some people don't know how to code? what kind of logic is this.

  65. Afterthoughts by The+MAZZTer · · Score: 1

    PHP encourages short bursts of code, a remnant of it's non-OOP past. ASP.NET encourages well-organized code. And the VS IDE is awesome. I can't speak to any of the other alternatives like Java but I would expect it to have many of the same advantages of ASP.NET over PHP. Though the one time I worked with Java in a desktop application I disliked how it insisted I had to catch every exception. Sometimes you want SomeObscureException to crash your app since you can't do anything about it anyway.

  66. Yes by zifn4b · · Score: 1

    PHP is way behind modern javascript frameworks even Laravel and Symfony are way behind.

    --
    We'll make great pets
  67. .NET by Anonymous Coward · · Score: 0

    Have seen the memory and CPU usage of anything created in it?
    Not to mention to read the code. You need a 4k monitor in order to.

    But use a god linter and visual code and it will teach you good coding behavior, have just used it for node.js but I assume it is as great for most languages

  68. Mypy by tepples · · Score: 1

    I think aticus.finch meant languages in which the parser does not statically type-check the abstract syntax tree (AST) in the process of producing bytecode that the interpreter proper runs. What counterpart does PHP have to Mypy, a static type-checking extension to Python?

  69. PHP Isn't Bad...It's The Larger Support For It by Anonymous Coward · · Score: 0

    I've developed and released several web apps in PHP now.

    My biggest frustration is when 3rd party libraries and tools don't exist for it because "It's PHP". Google is a great example of this. They have "native" Node.js libs for the majority of their API's, but for PHP, they either don't exist, or they are written by third parties, which means maintenance is slim to none.

    Also, uniformity across platforms and distribution headaches...

    Running PHP on Linux is different from on Windows is different from RasPi is different from docker. And then depending on the backend webserver, you may or may not ever even be able to get the project running.

    BUT...all of these headaches aside - working in 7.2 has been pretty nice, and fixes a lot of the shortcomings of 5.x versions. Using a proper IDE and debugging tools, I don't see any major issues with it as an overall language. If they came up with a native way to run multiple threads/async code and fixed up a lot of the weirdness with method names and library distributions, I think it wouldn't have a problem keeping up with other "modern" languages...

    Still, I'm already starting to learn Node.js, simply because there's a lot of places that don't look at PHP as favorably as I do...

    1. Re:PHP Isn't Bad...It's The Larger Support For It by MightyMartian · · Score: 1

      That's pretty much my position. Slowly the language is evolving into something that isn't a rat's nest of madness. Obviously the to-do list is long, but using decent frameworks and newer libraries one can escape some of the worst aspects of the stock libraries. The language itself isn't really any worse than any of the other C-type languages, and with discipline you can write solid and maintainable code. As far as runtime performance, it that's my primary concern I'm not going to be using an interpeted language at all, and will not other move to something with a JIT or to something outright compiled

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
  70. At least it isn’t JavaScript! by Anonymous Coward · · Score: 0

    One language that is clearly worse than PHP is the absolute mess that is modern JavaScript and the calamity that is Node.js. I’ve never seen a more fucked up ecosystem than that.

  71. Should I... by JustAnotherOldGuy · · Score: 1

    "Should I swap using a hammer for a screwdriver?"

    The answer is "maybe". Use the language that makes sense for the project.

    PHP lets you write awesome stuff easily, and PHP lets you write hideous stuff easily. I promise you that I can write shitty, buggy, insecure code in any language you want, not just PHP. Or C++. Or Javascript. Or Python.

    It's not the fault of the language- you can say "Me so hungry want eat" in any language.

    --
    Just cruising through this digital world at 33 1/3 rpm...
  72. .NET is not a language its a platform by Anonymous Coward · · Score: 0

    . . .the last time I checked!

  73. Why always for Web? by Anonymous Coward · · Score: 0

    PHP as a scripting language on par with (or better than) Python FTW.

  74. I like PHP, but the devs suck by Anonymous Coward · · Score: 0

    So many self-taught PHP devs from the wild west days of the internet. I have never seen so much shitty code in my life.

  75. Welcome to software development by plopez · · Score: 1

    and developers. It doesn't matter what it is the cycle always seems to be the same:
    1) a language or framework is created to solve a current problem.
    2) early adopters show up who in my estimation seem to be on the upper tail of the intelligence distribution.
    3) Said developers start solving the problems the new tech was intended to fix.
    4) articles appear, discussion groups, etc. start touting said tech as a magic bullet
    5) the thundering herd of developers follow it, most of whom are lower skilled than the early adopters.
    6) New features are requested and cruft develops.
    7) The vast majority of developers are not that good. They are disorganized, arrogant, lazy in the wrong way, can't see the big picture, have no imagination, and don't care about the users.
    8) The software written in the new thing degrades and problems develop.
    9) due to 8 go to step 1.

    I left out the part where vendors and managers screw things up by misunderstanding the technology and selling their "implementation", see agile software development and SAFe as examples.

    *ranting and raving*
    After 20+ years in the business in just about every role imaginable; department head, developer, QA, BA, DBA, SA, build miester, etc; code has always sucked. No matter what tech is being used it sucks.

    Most developers suck. I have seen the same problems described in TFA in .Net, COBOL, Fortran, C++, C, SQL, Spring, ORM frameworks, Java, Python, Perl and probably more that I can't think of right now. It is not the technology, it is how we select, train, and reward people in the software development process. So I say to EditorDavid, good luck with that. I am going to spend my time on a quest with a higher possibility of success, finding the fountain of youth.

    *end of ranting and raving.*

    --
    putting the 'B' in LGBTQ+
  76. Hacklang by talldean · · Score: 1

    Facebook's Hack language may be worth a look, to leverage what you already know in, well, a better setup.

    Hack is backwards compatible with PHP, but adds a few nice bits. The goal was developer efficiency, but you also get CPU efficiency wins.

  77. The grass is always greener... by Anonymous Coward · · Score: 0

    Every language has it's problems and trade offs... A lot of people have mentioned python as a language to switch to instead as its often viewed as a "cleaner" language. Some of that has come at a massive backwards compatibility cost that was Python 2.x to 3.x. A decade later countless python developers are still paying the cost of that change.

    PHP took a different approach of rare and very narrow backwards compatibility breakages. No doubt it has resulted in a language viewed as "messier", but developers aren't wasting decades dealing with old versions.

    This is why newer languages seem so great near the beginning, things seem "fresh" and "clean", but 10 years in they will have many of the warts that langauges before them have.

    It's also why many developers "go-to move" is to rewrite code from scratch. They don't understand that code gets messy, it grows warts over time as the application grows and requirements change. Any actively used application/website is a living, breathing entity that is constantly in motion. Even the best design specifications are just for one tiny snapshot in time (version 1.0), then the warts begin appearing with v2.0, v3.0, etc...

    In my opinion, if you aren't an expert in learning other people's code and refactoring it, then you aren't a senior developer, since you haven't been on a project long enough to get to that point.

    Part of that has to do with website development vs. application development. Most websites are small/short projects, done on the cheap, and "one hit wonders", meaning once done you move on to another project and rarely touch or see the code again. This breeds the worst of the worst.

    Instead look for application development jobs, preferrably from non-startup companies that have been around for a while. They will usually care about their codebase and invest in quality developers and give them the time to properly refactor as necessary.

  78. .Net $$$ ??? by Anonymous Coward · · Score: 0

    If you code in .net then how much will it cost in 10 years to upgrade to a newer version of .net?
    It is also proven that Microsoft products has holes in it for attacks by hackers.
    I would say that people that are real developers understands other programming languages than being connected at the hip with .net.
    The momentum is coming from Open Source and GNU license.

  79. The purpose or programming is the product by EmperorOfCanada · · Score: 1

    Many people argue factoids about programming such as MVC etc and completely miss the whole point is to deliver a working product.

    If you follow every bad practice and generate tech debt as fast as you can you will probably start tripping over your own code and either not deliver or deliver a bad product.

    At the same time, if you focus on pleasing your 3rd year academically oriented uni prof you will also probably end up not delivering or deliver a bad product.

    So, the question is: what set of technologies will deliver the quality the client wants for the least amount of cost? The simple reality is that for the vast majority of web developments that aren't going to just be another wordpress heap of crap that LAMP or something else ending in P is probably best.

    I personally do mission critical stuff that has management reporting through web. I do it in C++ so that it continues to appear "mission critical", the reality is that I would easily deliver equal or better quality with PHP in far less time.

    To me PHP is like having an adjustable wrench. There is no arguing that proper high quality drop forged wrenches and sockets are better, but why then does my adjustable wrench get used so much? Because it is handy and in many cases the bolt/nut is off faster than if I had done the longer task of getting the correct wrench, only to find it wasn't an exact fit, so getting another wrench, trying it, then finding it is a metric nut, getting those wrenches, etc.

    That said, there are many jobs where PHP is so wildly ill-suited that it is just abuse to use it.

    PHP is an HTML template language. Full stop. It allows the mixing of some control logic with the front end. The further you push PHP away from this ideal the more wrong you are. But at this point any other combination of technologies just doesn't fill this niche anywhere near as well.

  80. By choosing PHP you did not made mistake by sirv · · Score: 0

    PHP is the best language for web. Easy to understand, maintain, a lot of supporters, tutorials, examples. If you switch to something other I guarantee you will have 10x times more issues.

  81. Easy to use and learn === bad language by bjdevil66 · · Score: 1

    The key is agreeing on what a "bad" programming language is.

    Is a language that's 1) quick and easy to learn, 2) used in an environment that reinvents itself from scratch every X years, and 3) free? No.

    PHP is the plastic member of the programming utensil family. It's so relatively cheap to throw out and replace that the users don't care if it's not strong and reusable.

  82. Pascal by Anonymous Coward · · Score: 0

    If we had all just stayed with pascal, the world would have beed nirvana by now!

  83. PHP Can be Good by Anonymous Coward · · Score: 0

    PHP v7 is good stuff. If your organization isn't using v7, then they don't care about making use of the improvements to the language and you are most likely doing legacy work. BAIL! ... and go find an organization that does or move to Kotlin/Java or even NODE.js (great money and lots of interested, so long as they use TypeScript).

    PHP is like Visual Basic of the 2000s. Actually, PHP is just like PHP of the 2000s too (for some organizations). It's low barrier to entry makes for quick prototypes, by inexperienced programmers. While you can also say, "there are bad programmers in every language". Some are worse than orders and PHP is that worse. In addition, the PAY $$ can suck for PHP compared to "enterprise" languages.

  84. The PHP We Didn't Deserve by Tenebrousedge · · Score: 1

    I agree completely. I do not like PHP, and I'm not doing any new projects in it, but PHP has arrived. They somehow made it fast, it has solid libraries, good tooling, and the language itself has a reasonable level of abstraction, without giving people too much rope (or is it parentheses?) to hang themselves with. If someone hasn't already become sick of PHP, there's not really any reason to leave now. Developing in Laravel with the Psy REPL is a pretty good experience. Composer works pretty painlessly, too. There's really not a lot to complain about these days, except that I think it's verbose and ugly, and occasionally limited in expression. On the one hand, you can't write the same kinds of one-liners that you can in Perl or Ruby, and on the other hand, you can't write the same kinds of one-liners that you can in Perl or Ruby. PHP is not for the people who like their code to be a perfect gemstone. It does get the job done though.

    WordPress is its own separate self-sustaining ecosystem at this point, God help us. Nothing can save it, nothing can kill it.

    --
    Those who advocate genocide deserve every protection afforded by law, and none afforded by common human decency.
  85. Ditch it ASAP. by Anonymous Coward · · Score: 0

    https://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/

    It is just so easy, to fuck up in php. Ditch it ASAP.

  86. Re:Welcome to software development by Anonymous Coward · · Score: 0

    Yes, yes, yes. Now that there is a software history, no one is studying it to do things better. If you paid attention you can solve the same problems over and over, unless the kids are literally too stupid to let you solve them. Looking at you node.

  87. You've lived this long without shame by Anonymous Coward · · Score: 0

    What's change?

  88. Subjective. Try something different. by Tablizer · · Score: 1

    Often it is a matter of personality and preference. Certain languages and/or frameworks attract certain personalities such that one size doesn't fit all. Try a different company or stack if you don't like the current environment and feel trapped in a rut. Since everyone who will give you advice prefers different things, in the end there's no substitute for actually trying.

  89. Bad developers everywhere, BUTT... by hydrodog · · Score: 1

    There are buttheads everywhere. But there are certain things that work better for largescale program development. Object-Oriented code and strong typing are good things for larger programs on the back end. Web technologies are still intrinsically ugly, but at least that part of the stack is a huge improvement. Moreover, because PHP has no structure, lots of idiots learned to hack it. The barriers to entry for .Net and Java are higher so the quality of programmers are often better. For a quick graph I would write a couple of lines in Matlab, not write a Java program, but I would never write a several thousand line program to build thousands of graphs per day in Matlab unless forced at gunpoint. Oh, look: http://hudson.dl.stevens-tech....

  90. Bad programmers by manu0601 · · Score: 1

    Good languages do not prevent bad programmer from producing crap. See how most java programs are just insane bloatwares?

  91. Financially support open source for support by Eravnrekaree · · Score: 1

    The notion of going from PHP to .NET is terrible, really horrifying idea. For the sake of all things good and decent, NO! Going from an open source platform where you are not vendor locked and can control the source to giving all of that up for Microsoft's closed source solutions is a horrifying idea.

    The notion that since a certain project has problems that the language it is written in is bad isn't sound logical thinking.

    What these people need is a commercially supported PHP, Python, Ruby or Java CMS, they do exist in large numbers, you can find them. This way you do not give up access to the source code for the platform. If you want real support and responsiveness, you should pay and expect to pay the company that develops the code, even if, in fact, ESPECIALLY if it is an open source project!

    You should use open source, BUT, Stop thinking you can using open source you can get something for free. Stop thinking that using open source doesn't mean you should not pay, especially if you are using it for a large commercial project for an enterprise. Expect if you want something fixed and want developers to pay attention, that you will have to pay for the commercial support package for the open source software.

    Don't go for closed source software, instead go with commercially supported open source. You can and should do this by using one of the many commercially supported open source systems that are available, such as Mangolia CMS, ERP5, there are many others.

  92. Nope by Anonymous Coward · · Score: 0

    All server side programming technologies are awful, we have discussed this issue before and ir won't be better, that's why we keep making horrible frameworks and stupid tools to ease the Paine (like assembly.js or typescript)

    PHP requires Javascript, asp.net does the same, the only reason to use asp.net is to generate dll pages and to use that crappy SQL server.

    And the JAVA side is not better, so there is no sunny time in the web programming sky... unless tour website is just a showroom.

  93. Yes by Anonymous Coward · · Score: 0

    It sucked, I believe it still does, besides it's really boring as language.

  94. You're not a programmer by Anonymous Coward · · Score: 0

    If you're worried about what single language to use. I use PHP but can't think of a single project I've ever done where the whole project was accomplished in PHP. PHP is best for the middleware. I use whatever language is best with the database chosen by the project for the stored procedures. The client is usually done in JS, though I have occasionally dealt with rich clients in other languages. I have also used JS in the middleware, but I'm generally more comfortable with PHP there.

    Do you actually do your client in PHP? Your stored procedures? Are you on one of these weird projects where they don't break the functions up into small enough pieces that the same person can implement a function all the way through from user to DB? If so, go find a real programmer's job.

  95. I'm amazed. by lasermike026 · · Score: 1

    Javascript on the front end and a good interpreter on the back end. Node, Python, even Ruby is a good choice. For parts of the application that requires high performance you an use Java. I'm starting looking at Go and Rust.

  96. Game development by Anonymous Coward · · Score: 0

    Hey can anyone specify a good coding language for game development
    I'm really want to learn game development

  97. pros by Torvac · · Score: 1

    professionals can write shitty code in any language

  98. ditched PHP - want back by Tom · · Score: 1

    I recently ditched PHP for reasons unrelated to the language (needed a fullstack framework). I'm now writing backend and frontend code in Javascript and boy do I want my PHP back.

    I strongly recommend you ditch PHP and make a tiny hobby project in whatever candidate language(s) you have in mind. Languages are like ex'es- sometimes you're happy to be rid of them, and sometimes with a little bit of distance you realize just what you lost. Unlike ex, your programming language can be ditched as a trial.

    So ditch PHP for a while and try something else. It will make you see more clearly, and allow you to make a better decision.

    --
    Assorted stuff I do sometimes: Lemuria.org
  99. Been there, done that, chose whichever paid best by Anonymous Coward · · Score: 0

    I make a living writing PHP software and I've been making a living writing .NET (C#) software. I still dabble in some .NET every now and then.

    If the totality of your exposure to PHP is the brain-dead, obsolete code patterns in WordPress you will find PHP a disappointing fossil that needs to die. However, WordPress still supports PHP 4, a version of the language which has indeed died TEN YEARS AGO. Therefore all you see is PHP 4 patterns with a few bits and pieces of early PHP 5. You see the language as it was before 2010. Yes, it's popular; but so is McDonald's. People tend to go for easy, not for good quality.

    If you take that factor into account it's as though the only .NET you ever saw is .NET 1.0. I would argue that .NET 1.0 was charming but thoroughly lacking in features which make .NET actually useful. I can't imagine myself writing .NET code without async or LINQ just like I can't imagine myself writing PHP code without enforceable type hinting, generators and namespaces.

    Choose whichever language you feel comfortable with. If your primary reason for writing code is making a living then definitely go with the language which will more easily make you a living with a minimal degree of anguish. That's how I ended up doing PHP instead of .NET or Delphi (both of which I enjoyed more).

  100. Golang by astrofurter · · Score: 1

    You might consider learning Go (http://golang.org).

    Some advantages:

    * Static typing
    * Type inference, do you don't wear out your keyboard time writing boilerplate to accommodate that static typing
    * Compiles your code into a single binary file. Easy to distribute.
    * Very modern, high quality standard library.
    * Goroutines - CSP-style multithreading. Writing threaded code in Python is excruciating. In Go it's easy and fun.
    * Go programs are notoriously fast - nearly as fast as C programs.
    * It's a small language, easy to learn.
    * Go community culture and the godoc tool strongly encourage good embedded documentation.
    * Large, high quality, and still growing community. Kubernetes, Terraform, and a lot of other cool stuff are written in Go.
    * Good tooling available - Jetbrains Goland IDE is awesome. But not free like beer or speech.

    Disadvantage:

    * Nil pointer exceptions. The nemesis of Go programmers. Really a shame that Go doesn't have null safety built-in to the language.
    * It's corporate open source, owned by Google. No democracy. If you want to contribute to the the language itself, you are required to assign copyright to Google and to abide by their petty-authoritarian "code of conduct". Most users therefore choose not to contribute to the language itself.
    * It's a relatively young language. The ecosystem is not as vast as e.g. the Python ecosystem.

    If you're planning to write APIs - like the kind that power modern single page JavaScript apps - Go is ideal. On the other hand if you're going to be doing a lot of CMS stuff, you'll be better off choosing the CMS that best suits your needs, and learn whatever language it uses. There's no point re-inventing the wheel.

    Kotlin, which you mentioned in your question, is another strong contender. I haven't personally written anything in Kotlin. But it looks pretty awesome.

  101. Where to start even? by euroBob · · Score: 1

    There are so many facets to this conversation that it's hard to even find one simple place to start. However, being a 20 year+ experienced web dev (perl -> php) I would feel remorse if I did not at least give a tidbit here. I have seen the entire gambit of good and bad code. Every time when it I think I have seen the worst... guess what? it's the third Tuesday of the month and BAM! We now get a new definition of ROCK BOTTOM! However, every piece of bad PHP code that I have seen was: a) made in the past b) fixed the problem of that moment So can you really say it's bad code? It did what it need to do at that place in time. Also if a project has been online and functioning for 7 years can you really say it's a piece of crap and refuse to work on it? Yes it should be remade with a newer vision, budget, tools, technology but for real it's been online for 7 years and got the job done. That's more than what you can say about any phone, automobile, laptop, etc... The php web dev sphere is filled with these "perfectionist" young kids who spend all day complaining about PHP. Everything to them should be done in GO, Python, or ... These people don't last long at any one job because they are never happy with what they have and never see the potential for what is possible. If they would spend 1/2 of the time finding joy in PHP that they spend complaining about PHP well... Bad stuff is made by bad people, or by companies that don't focus on quality and focus only on time and money. The worst projects to work on are for companies that don't have a clue what they are really doing and hire contractors 3 months at a time to Band-Aid problems. But this is not a PHP problem this is a make money and shut up problem of the economic system. After 22 years of doing this I can say that if you want to work with a good environment, with good code, with good tools, with positive experiences, then you need to look for and find a work environment that practices proper Agile and Socriocracy methodologies. Make sure that they have a scrum master, that they do real stand ups daily, retrospectives, refinements, sprints, adhere to a correct definition of ready, definition of done, etc... It makes a HUGE difference trust me. When you are working in a quality first model and not a waterfall, support desk fix the problem model, you will find a real inner peace/zen to your daily work and coding. It will become a pleasure and you will stop going from emergency to emergency. Switching web dev languages will not fix the problem. Hanging out with better people will.

    --
    try { println( SigString ); } catch( Exception e ) { println( 'Who cares?' ); }
  102. Think about your audience by jandersen · · Score: 1

    The most important concern should be how your target audience will respond to your web application - among other things how it depends on Javascript (is your service useable if the user turns off Javascript?), and the use of AJAX (I don't think many people like it if the whole page has to update when you change an option). Whichever language or set of languages you use should support a sensible design-pattern like MVC.

    I would agree that PHP is probably a poor choice for web development (based on my probably outdated experience of the language). The way I remember it, you sort of write an HTML document with embedded PHP code, so unless you are very disciplined, you easily end up with a mess that is hard to maintain, especially if it has to be picked up by a new developer.

    But I wouldn't go with .net - not simply because I'm anti-Microsoft, but because you end up tied to Windows, and Windows seems to be increasingly a niche-OS, that has had to move closer and closer to Linux as the de facto standard. What I would go for, personally, is Java Enterprise - I know it is controversial in many circles, but Java is in a way in a similar position as COBOL and FORTRAN: a lot of time and money has already been invested in it, and it is deeply embedded in many places, so I don't think it will go away. Plus, despite whatever critics have to say, it is a good language surrounded by a lot of useful tools and standards.

  103. Ha! He should look through the whole vincininity by Anonymous Coward · · Score: 0

    For when vicinity isn't enough, and vincinity doesn't cover it either... you need to break out the vincininity!

  104. You can write bad code in any language by Anonymous Coward · · Score: 0

    but I don't know why the worst programmers gravitate to php

  105. Polyglot here. by mitchy · · Score: 1

    I rose to a pretty high profile in the PHP/LAMP world. Every couple years I'd proclaim "Y'all suck" and stomp off to some other language... In the late 90s / early 00s it was Python, Zope. Couple years later, there I am writing PHP for a living again. "Y'all suck" and then I'm off to Ruby and RoR, couple years later there I am writing PHP again... "Y'all suck" and this last time I was off to Node.js.

    This was when I reached a point where I chose the language to solve the problem, instead of choosing the language of preference, and then solving the problem with that language's approach.

    Since then I've branched out to golang (my current fave) but reach for a mix of go/node/python based on the problem domain.

    And I've seen **** code in all of them, especially java. I have no problem with the language, but absolutely detest what people do with it!

    On another point, as "web applications" evolve into a more decoupled client/server design, what language we use on the server becomes less relevant to what's happening in the browser. RESTful services, microservices, if they are decoupled then you can scale where you need to, and not have to scale a single monolithic stack.

    My last point is - who do you have on your team? And what happens to your code after you ship it? This may be a bigger factor than you'd think on the surface. I love me some go, but if I'm in a python shop shipping an app to a longtime python customer, maybe my shiny new toy isn't such a good choice - even if *I* think it would produce the most efficient result.

    --
    "The mind is a terrible thing to, um, uh, oh bollocks." -- Me
  106. At least it's not VB.... by bigtone78 · · Score: 1

    VB is total garbage, C# is hands down better in every regard. Starting VB vs C# maelstrom, in 3....2...1....GO!

  107. No golden hammer by Aaden42 · · Score: 1

    I work with a guy who likes to say, "You can write FORTRAN in any language." Coders who lack the care/ability to structure code cleanly and keep it maintained will have absolutely no trouble porting the same bad habits to any programming language/framework/platform/IDE/etc. The problem isn't PHP. It's "PHP programmers."

    I'll admit the problem is more prevalent in PHP and generally in languages that are easier to get started in. To get a webapp running in .Net, you've got some structural work you need to do. To get a PHP site up, you edit index.php in notepad & FTP it somewhere. There's something to be said for a little barrier to entry serving as a wall to keep the riffraff out...

    Whatever environment you work in, you need to have the discipline to examine any open source apps or third-party dependencies you're considering using. Check out the source, make sure it's reasonably well structured. Check the revision history to make sure it's updated regularly & relatively recently. A lively users mailing list is a good sign. If the project looks like crap, you need to choose whether you use something else, write it on your own, join the project and attempt to fix it or fork it, or just make a shit sandwich and take a big bite... None of that changes if you move to a different language.

  108. PHP dying by avidal · · Score: 1

    anybody that likes PHP now it's the time to speak up, before the eggheads turn it to a Java hybrid/Frankenstein. PHP was not designed to compete with Java, PHP became popular due to its simplicity, changing its DNA will make it irrelevant. justUseJavaForYourEnterpriseFactoryFactoriesFactory

  109. PHP? by Whatchamacallit · · Score: 1

    Lo, in the beginning the web was without interactive websites and the firmament was constructed from HTML and CSS only with a sprinkling of Perl script. Then was formed Linux which begat Apache whose cousins were MySQL and PHP and became known as the venerable LAMP stack and it was good. Then along came millions of amateur web designers versed in HTML and CSS and they quickly went to Barnes & Noble and Walden Books and eventually Amazon to buy PHP books galore the thicker the better. But woe, woe to the coders who did not learn but the bare minimum of secret knowledge for they have polluted the Internet with evil. Giving in to sinful lusts, they crafted such abominations that make even TheDailyWTF blush.

    Seriously, the garbage PHP code out there is a direct result of amateurs with limited skills turning out web applications much the same way a bunch of similar so called programmers turned out with VB & MS-Access. There is room for this all over and it's not just the PHP language. Without a proper educational foundation in proper software development there is a lot of bad code out there irregardless of language.

    True, more modern languages such as C#, Swift, others try to prevent developers from doing dumb things along with quality web app frameworks have forced best practices through opinionated development. It is still important for developers to learn the correct way to do things. Just because it works and or compiles doesn't mean it's not incredibly sloppy and seriously flawed. You don't need a degree but you do need to take care to learn things before jumping in and creating an incredible mess.

    All said and done, PHP can be done correctly or it can be done incorrectly. That is the same for most any language even with some protections it won't prevent you from doing ridiculous things like re-inventing a standard library function cause you think you can do it better. Each language has its strengths and weaknesses but the biggest flaw is the human behind the keyboard who arrogantly believes they are a rock star.

    1. Re:PHP? by Anonymous Coward · · Score: 0

      I like it "incorrectly"

  110. Python dude! by ebvwfbw · · Score: 1

    If you're good at php, python is the next logical step. You'll love it. It has a really nice IDE and it's awesome. You'll be wondering WTH have you been using PHP all this time when there's Python.

  111. Quality work needs quality engineers by ShawnTolidano7995 · · Score: 1

    Long before you care about what language to use/work in (which you should take the time to select based on the job you're doing and the experience/skillset of the engineers you have available), you need to understand the people you will work with.

    I love PHP, I'm using PHP 7.1 for personal projects and will soon migrate to PHP 7.3 (I could live without nullable return types for now) and I can write better code in there than anything I ever did in .NET (which I haven't used for almost a decade). That said, professionally, I'm doing a mix of Python, Go, and Java.

    The reality is, almost every language can be abused. You can write bad Java, bad Python, bad PHP, bad Ruby, and lots of other bad code (especially .NET).

    You know what's hard to write bad code in? Go. Also hard? Rust. So if your goal is to write great, concise, clear, performant code then you should switch to Go or Rust.

    But if you just need a quick website, maybe just internally, or informational, with few moving parts, I cannot recommend PHP enough. The MVC frameworks range from super simple to absurd. Python and Django are way more complicated. Ruby on Rails wants to be simple but fails miserably when it comes time to deploy unless you're using Heroku.

    Also, don't use .NET because it's the least portable of the bunch.

  112. just saying by Anonymous Coward · · Score: 0

    If you look on weworkremotly.com and other places like that were top programming jobs are offered, you will find that a few companies are looking for PHP developers, but the pay is about 30% less. If you want to work at the top of the top, you should be working in rails, which still dominates in silicon valley despite a general decline in interest since 2012. Remember, GitHub is one big rails app.

  113. .Net vs PHP by Anonymous Coward · · Score: 0

    I have been programming in .NET for 20 years (Basic, C#, but not web development) and am a big fan. Of course it is a strongly typed language - it has borrowed many features from Pascal.

    Unfortunately, when I built my own website, I had to use PHP and JavaScript (bleah) - because they are FREE (no costs) whereas .Net ISN'T.

    PHP and Javascript are wekaly typed, but there are ways you can make sure a variable is of a certain type. And PHP is an "old" style language, so it can be mastered quite well. Its main drawback is the absence of a debugger or IDE (unlike .NET) - which, I understand can be had if you use the Java IDE. But that in itself is another big burden, having to familiarize yourself with Java if you have never used it before.

  114. Yes and No by ilsaloving · · Score: 1

    There are bad programmers no matter where you go. It's a matter of degree.

    The less "accessible" a language is, the less likely you're going to run into people (I refuse to call them programmers) who will vomit some crap into a text editor and think they're the Rembrandt of programming.

    It's one of the reasons why I prefer strongly typed languages and always will. That, plus other aspects of languages that encourage strong typing, require a higher level of skill just to get off the ground.

    Languages like PHP and Javascript are *too* easy, and gives people a false sense of competence when they manage to regurgitate some crap and it vaguely resembles what they were hoping for. The Dunning-Kruger principle applies strongly in this case. Just cause you manage to figure out how to make your code produce a certain result, in no way means you actually did it right, or securely.

    If you need proof of this, just look at the skyrocketing incidents of security issues popping up in latest generation software. Look at how breathtakingly inefficient and bloated current software is. (The Facebook iOS app, plus their Messenger app, clock in at almost 1 freaking GIGAbyte).

    Again, just cause you're using a more complex language doesn't necessarily mean you will be free of idiocy. For example, I was once looking at Java code and the bonehead iterated through a hashmap to find a desired value. But generally speaking, the incidence of such things is relatively less.

  115. Re:Still Write:-Test-ReWrite Cycle by Anonymous Coward · · Score: 0

    So fucking wrong. First of all the world is much bigger than PHP, Java and C# thank the programming gods for their infinite mercy.

    Secondly, it is impossible to write good code in PHP. It gets in your way and stays there.

    numbnuts

  116. PHP is unique in several ways by Anonymous Coward · · Score: 0

    1. It is impossible to write good php code. Good php code is an oxymoron as shit weaves and touches every single part of this abomination.

    2. It is the only language that if the person willingly uses it it marks them as a clueless idiot, forever. You can't wash the stink of PHP off you.

    3. It is the only language where a total rewrite in something sane is always better path. In the case of PHP Brainfuck is more sane.

    numbnuts