Slashdot Mirror


PHP vs. Node.js: the Battle For Developer Mind Share

snydeq writes: Simplicity vs. closures, speed of coding vs. raw speed — InfoWorld's Peter Wayner takes a look at how PHP and Node.js stack up against each other. "It's a classic Hollywood plot: the battle between two old friends who went separate ways. Often the friction begins when one pal sparks an interest in what had always been the other pal's unspoken domain. In the programming language version of this movie, it's the introduction of Node.js that turns the buddy flick into a grudge match: PHP and JavaScript, two partners who once ruled the Internet together but now duke it out for the mind share of developers."

165 of 245 comments (clear)

  1. Jesus Christ by Anonymous Coward · · Score: 5, Funny

    This would be the worst movie ever.

    1. Re:Jesus Christ by cdrudge · · Score: 1

      I don't know. It sounds slightly more interesting than a movie about a font.

    2. Re:Jesus Christ by Bespoke · · Score: 1

      PHP shot first!

    3. Re:Jesus Christ by VGPowerlord · · Score: 1

      PHP shot first!

      How could he when everyone carries Walkie-talkies instead of guns?

      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    4. Re:Jesus Christ by omnichad · · Score: 1

      Only the third one was really that bad. As long as you went in expecting a more lighthearted story than LOTR.

    5. Re:Jesus Christ by omnichad · · Score: 1

      I watched that movie. I really liked it.

    6. Re:Jesus Christ by narcc · · Score: 1

      I also enjoyed that movie. So much, in fact, that I watched a few other documentaries about fonts.

    7. Re:Jesus Christ by Tough+Love · · Score: 1

      You are clearly the right market for a php movie, or perhaps a gtk movie.

      --
      When all you have is a hammer, every problem starts to look like a thumb.
    8. Re:Jesus Christ by Tablizer · · Score: 1

      This would be the worst movie ever.

      Not necessarily. Consider a flick about Jar Jar vs. Wesley Crusher. If they both die in glorious shame at the end, it could be the greatest geek hit ever.

  2. okay by Anonymous Coward · · Score: 5, Insightful

    I actually RTFA and found it to be completely useless.

    1. Re:okay by mwvdlee · · Score: 3, Interesting

      And plain wrong in many places.

      There's nothing about either Node or PHP that forces you to use or not use HTML or service calls.
      Same for separation of concerns (which pretty much boils down to the same thing).
      For instance; both PHP and Node handle SQL equally well, i.e. they can both hook up to most databases and let them deal with SQL.
      Same for JSON. Just because it kinda looks like Javascript and started out loosely based on it, doesn't mean Javascript handles it differently.
      I also don't think these two were ever "old friends who went separate ways". They started out separate.

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    2. Re:okay by plopez · · Score: 1

      But nodejs s bad rock star tech!

      https://www.youtube.com/watch?...

      --
      putting the 'B' in LGBTQ+
    3. Re:okay by TheRaven64 · · Score: 5, Funny
      You should improve your reading comprehension. TFS says, right in the first line (before the link):

      InfoWorld

      If you still click on the link after that, then you only have yourself to blame. I bet you click on goatse links too.

      --
      I am TheRaven on Soylent News
    4. Re:okay by Shados · · Score: 2

      Its generally a matter of what the community/ecosystem is optimized for. ie: Python is pretty damn good at math stuff. But it has nothing to do with Python itself, its just the community built fantastic math libraries in python, generally because of historical reasons.

      In the same way, an obvious example, if you want to do web sockets, while you can make them in any language, Node is a prime contender there. Examples like that exist for any language.

    5. Re:okay by Marginal+Coward · · Score: 1

      But it has nothing to do with Python itself, its just the community built fantastic math libraries in python, generally because of historical reasons.

      Yes and no. One key strength of Python with regard to math is its built-in support for complex numbers. Without that, Python probably never would have attracted the attention of people who write complex (but not complicated) math libraries.

  3. In the real world by clickclickdrone · · Score: 3, Interesting

    I'd have thought most people are just getting on with whatever the preferred toolset is at their company and never give this mythical war a second thought.

    --
    I want a list of atrocities done in your name - Recoil
    1. Re:In the real world by Anonymous Coward · · Score: 1

      Some of us determine the preferred toolset at our companies.

    2. Re:In the real world by Aristos+Mazer · · Score: 1

      Unfortunately, because of the network effect, it is actually quite important that you fight for your choice. Let's say you like PHP but no one else does... you will quickly find that tools for writing PHP dry up/don't get updated for new OSes. If you like Windows Phone, you're going to need to "sell" your preference to all your friends or eventually you'll have to switch to Android or iOS because if the Windows Phone platform doesn't get enough mindshare, it goes away.

      Mindshare matters, and your company can get screwed easily by picking the wrong one and by not defending the one it does pick.

  4. Before reading TFA ... by stereoroid · · Score: 3, Funny

    ... JavaScript must die. I expect TFA to concur.

    --
    (this is not a .sig)
    1. Re:Before reading TFA ... by Noughmad · · Score: 5, Funny

      But so does PHP. In this battle, whoever wins, we lose.

      --
      PlusFive Slashdot reader for Android. Can post comments.
    2. Re: Before reading TFA ... by Anonymous Coward · · Score: 1

      GWT?

    3. Re:Before reading TFA ... by gshegosh · · Score: 2

      The only way to win is not to play :)

    4. Re:Before reading TFA ... by Crashmarik · · Score: 1

      Oh god no, not yet another language.,It isn't bad enough that we already have a ridiculous number of languages that vanishingly small numbers of people use, and serve little purpose more than to be the software equivalent of leftover land mines ?

      I can already see the design process for this.

      Hmmm Python is hip and current, lets take their indentation scheme.
      Lots of people know cobol maybe we can pick up that developer base if we make the keywords and IO look like Cobol.
      ADA had really powerful modules and code reuse potential lets try to bring that in.
      Everyone raved about Hypercard's presentation metaphor let's steal that while we are at it.

      The next thing you know some PHB will be told this is the nicest thing since sliced bread and a company worth of programmers will be consigned to development hell.

    5. Re: Before reading TFA ... by Anonymous Coward · · Score: 1

      Nope, because job security.

    6. Re: Before reading TFA ... by mnemotronic · · Score: 1

      Sounds like browser-native Flash + Actionscript. Multi-platform, no plugins and widely supported. I've never developed for Flash and know nothing about ease-of-use. In any case, capabilities deliverable to the end-user are (sad to say) more important than developer friendliness. If a technology delivers an amazing user experience or a marketing advantage, management will insist that it be used, even if it requires developers to be fitted with face-hugging alien brain-suckers.

      --
      The Russians have won. They have made the world a cesspool of distrust, greed, fear and hate.
    7. Re:Before reading TFA ... by sanosuke001 · · Score: 5, Informative

      Any dynamically typed language that isn't just used for scripting (your perl is probably okay) should be taken out to pasture and shot. JavaScript used to be okay; then application development came and it should go die in a fire.

      --
      -SaNo
    8. Re:Before reading TFA ... by Kjella · · Score: 1

      In this case wouldn't mutually assured destruction (MAD) be exactly what you're going for?

      --
      Live today, because you never know what tomorrow brings
    9. Re:Before reading TFA ... by Kielistic · · Score: 1

      This is why we can't have nice things.

    10. Re: Before reading TFA ... by DUdsen · · Score: 2

      GWT?

      So Java Really is the new Java?

    11. Re: Before reading TFA ... by Shados · · Score: 1

      oh yeah, thats working so well for Amazon /sarcasm.

    12. Re:Before reading TFA ... by Torvac · · Score: 1

      ... JavaScript must die. I expect TFA to concur.

      script type="text/python" ... still waiting for it

    13. Re:Before reading TFA ... by tigersha · · Score: 1

      script type="spoken/english" would be more interesting

      --
      The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
    14. Re:Before reading TFA ... by 0100010001010011 · · Score: 1

      Agreed. I can't open more than a few javascript heavy pages without this happening: http://i.imgur.com/b2uUrIL.png

      All of those tabs have terrible javascript trying to give me a decent Web 2.0 experience.

    15. Re:Before reading TFA ... by 0100010001010011 · · Score: 2

      script type="x64"

      I don't want something else that my computer has to interpret. Do all the compiling before it shows up on my computer so that I don't have to deal with this: http://i.imgur.com/b2uUrIL.png

      Even "JIT" compilers start to suck when you have a few dozen of them running at the same time.

    16. Re:Before reading TFA ... by omnichad · · Score: 1

      So much for cross-platform. So even obscure web sites need to compile for: x86, x64, IA-32, ARM, am I missing any?

    17. Re:Before reading TFA ... by Chelloveck · · Score: 1

      No, of course not. You just need an x64 virtual machine running in your browser. What could be easier?

      --
      Chelloveck
      I give up on debugging. From now on, SIGSEGV is a feature.
    18. Re:Before reading TFA ... by 0100010001010011 · · Score: 1

      So use it like html5 video and have javascript backup.

      script x64="uselessWidgetJavascript.x64" x32="uselessWidgetJavascript.x86" javascript="uselessWidgetJavascript.js"

      If you lumped 90% of all internet devices on the web they'd probably fall under x86, x64, & ARM.

      Additionally Apple has figured out how to do fat binaries.

    19. Re:Before reading TFA ... by omnichad · · Score: 2

      But of course to make it run faster, you can use a JIT compiler to recompile that to native code....

    20. Re:Before reading TFA ... by SkOink · · Score: 1

      Look, I feel your MATLAB pain too, but isn't it stretching to blame that on Node?

      --
      ---- I'll take you in a Hunt deathmatch any day.
    21. Re:Before reading TFA ... by omnichad · · Score: 1

      Oh, that seems much simpler (/sarcasm)! And of course someone's going to want to save time writing 3 versions, so they'll write in JavaScript and cross-compile to x86 and x64 to save time, increase compatibility, and reduce bugs. Should be easy enough to create a compiler, since we already have JIT compilers on most platforms. And wait...now you're just moving from JIT to pre-compiled and not really changing the status quo.

      By the way, fat binaries are great for mobile users on a capped connection.

    22. Re:Before reading TFA ... by fisted · · Score: 1

      [...] so that I don't have to deal with this: http://i.imgur.com/b2uUrIL.png

      Yeah, I wouldn't want to have to deal with Windows either. I feel ya.

    23. Re:Before reading TFA ... by 0100010001010011 · · Score: 1

      save time writing 3 versions,

      Did I say write 3 versions? Just do all of the JIT compiling NOT on my computer.

      JIT to pre-compiled

      That's the point. Why are we using the battery power of thousands of tiny little ARM devices to compile something that could have been compiled once?

      When you boot your Laptop do you recompile everything just so you can grab the source daily?

    24. Re:Before reading TFA ... by 0100010001010011 · · Score: 1

      When a computational package designed to manipulate massive data sets uses less RAM than facebook I kind of think we're doing something wrong.

    25. Re:Before reading TFA ... by omnichad · · Score: 1

      The point is, the problem isn't the compiling. It's the bloat. When your app is built on top of a monstrous framework (jQuery's not even that bad on its own), it's going to be slow. Bad developers are going to make bad code and compiling it will not fix the problem.

    26. Re:Before reading TFA ... by omnichad · · Score: 1

      And by the way, would you really run binary code directly from a web site on your computer? There's a reason you're essentially using a JS virtual machine. Makes sandboxing much easier.

    27. Re:Before reading TFA ... by narcc · · Score: 1

      It would, except for every conceivable use case.

    28. Re:Before reading TFA ... by disambiguated · · Score: 1

      For various reason having to do with the instruction set, x86 and x86-64 code is impossible to verify as safe to run. Google Native Client gets around that with a combination of static analysis and an execution sandbox (separate from the sandbox chrome already uses.) That's pretty close to what you're asking for, but afaik only works in chrome. It supports x86-32, x86-64, and ARM.

      It's complicated imo: many processes involved with a single browser tab, with lots named pipes, all branch instructions have to be thunked, requiring a lot of overhead for branches. You also have to have compiler support. Google only supports C/C++. There are third party tools for Lua, Python and Ruby, and some work is being done that would allow you to use any language that can target LLVM's intermediate format.

      The lack of browser support is the biggest problem though.

    29. Re:Before reading TFA ... by Kielistic · · Score: 1

      It offers nothing of value over the other two. And it is lousy Python.

    30. Re:Before reading TFA ... by Tough+Love · · Score: 1

      C++ also (usually) produces the fastest executables, the smallest binaries and the lowest memory consumption. It also scales better for large scale software engineering, as witness the fact that it completely dominates the engineering CAD industry. Downside is, development is slower, skilled developers are harder to hire, and some popular libraries might not have C++ equivalents. On the whole, C++ projects regularly achieve a level of reliability and performance that has proved difficult to impossible for the typical sloppy scripting project.

      --
      When all you have is a hammer, every problem starts to look like a thumb.
  5. SubjectsInCommentsAreStupid by lesincompetent · · Score: 3, Insightful

    It's all fine and dandy until you remember we're still stuck in a single thread.
    Now cue the apologists.

    1. Re:SubjectsInCommentsAreStupid by Anonymous Coward · · Score: 1

      Blocking operations in Node.js? It's designed not to have any of those. Anyway, you're not stuck in a single thread - you can make worker threads and spawn processes.

    2. Re:SubjectsInCommentsAreStupid by Anonymous Coward · · Score: 1

      Yes, that's exactly the point. It's not designed with a model that caters to a fairly large segment of what people actually need to do in practice meaning it's applications are limited.

      It's effectively a poor man's WCF - it only has one of WCF's operating modes and with a shit language to boot. Java has similar tools, and of course, node.js uses IOCP on Windows anyway which is available to any C++ developer or anything with a similar native interface without having to deal with shitty Javascript.

      So you're right yes, it isn't designed to deal with that. Which is precisely the point as to why it's crap. Why deal with a restricted shitty Javascript middleman when you can use a middleman with more functionality and a better toolset and language backing it, or skip the middleman altogether and go straight to using IOCPs directly?

      That's why node.js is rightly describable as nothing more than a toy for people who don't know what they're doing.

    3. Re:SubjectsInCommentsAreStupid by Anonymous Coward · · Score: 1

      Wow, that strawman came completely out of the blue! You read "designed not to cause that problem" and for some reason decided to respin it as "not designed to deal with that problem", accused me of having claimed the latter, and then went on a bizarre tangent.

      Your argument boils down to "It uses Javascript, and I just don't like Javascript", so why not just leave it at that?

    4. Re:SubjectsInCommentsAreStupid by narcc · · Score: 2

      That's why node.js is rightly describable as nothing more than a toy for people who don't know what they're doing.

      I'm not sold on node myself, but I'm pretty sure the guys at PayPal, Yahoo, LinkedIn, Dow Jones, etc. just might be capable of making an informed decision.

      I get it, you don't like javascript. Well, at least you don't think you like it -- it's pretty cool right now (on slashdot) to believe that it's irredeemably bad, so I'm not sure if you've actually formed your own opinion after taking the time to learn the language or not. Few people actually do take the time, after all, and not too many of those retain their simple black-and-white view afterward. Fewer still retain an overall negative opinion.

      Even if you're one of those on the outside edge of the bell-curve, that believe alone isn't sufficient to convince others that the language is completely useless for a broad range of applications to which it is already being successfully applied.

  6. Not the same use cases by Rhaban · · Score: 5, Informative

    These two languages each have their own use, and to chose between them you should not ask which is better but which is closer to my use case.

    PHP, for all its problems, is still a very useful language for developing web sites, if only for the quantity of tools (frameworks, cmss, etc) available and their quality (far from every php tool is good, but you can easily fond a quality tool for each category: symfony 2 is a very good oo framework, drupal and ez publish are good cms...).

    Node is younger, and does not have such a toolset. Sailsjs is a good framework but far from mature.
    But it does what php can’t: a nodejs application is its own server and runs continuously, instead of being a set of scripts that must reload everything with each request.
    It makes it a very good language for real-time uses, like the back-end of a small multiplayer game.

    1. Re:Not the same use cases by Richard_at_work · · Score: 4, Insightful

      Node.js is also seeing a lot of use as a tool set provider for other build environments - see Grunt and Gulp, both need Node.js to function. You don't see PHP as that diverse in use.

    2. Re:Not the same use cases by Rhaban · · Score: 5, Funny

      A big steaming pile of crap is still a big steaming pile of crap, no matter how large the pile.

      When you want your corn field to produce corn, nothing's better thant a big steaming pile of crap.

    3. Re:Not the same use cases by YeeHaW_Jelte · · Score: 1

      "But it does what php can’t: a nodejs application is its own server and runs continuously"

      Not true. Because PHP has wrappers to all the underlying C-functions you need to create a socket server. See socket_ functions.

      Also, you can fork new processes with the pctnl_ functions and have IPC with the shmop_ functions.

      Using this functionality you could build a more advanced webserver than node.js which, btw, has some terrible bugs in its socket reading algorithms.

      --

      ---
      "The chances of a demonic possession spreading are remote -- relax."
    4. Re:Not the same use cases by Aethedor · · Score: 1

      Symfony, Drupal, Wordpress, nah. They all forgot to include the most important thing in the base: security. Specially Wordpress, look at its spaghetti code and than look at the Banshee PHP framework. If you understand what that framework does for security, you'll never dare to run Wordpress or the other junk frameworks again.

      --
      It doesn't have to be like this. All we need to do is make sure we keep talking.
    5. Re:Not the same use cases by YeeHaW_Jelte · · Score: 1

      Sorry, you're right. I mistook a proxy written in nodejs by one of our programmers for a standard library for nodejs.

      --

      ---
      "The chances of a demonic possession spreading are remote -- relax."
    6. Re:Not the same use cases by drinkypoo · · Score: 1

      When you want your corn field to produce corn, nothing's better thant a big steaming pile of crap.

      What about dead fish?

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    7. Re:Not the same use cases by Rhaban · · Score: 1

      Wordpress is junk, on par with joomla. It assumes a lot of things and as soon as you wander bayond its core functionality (a blog). Seriously, how can disabling in code, with no possibility to override it) unfiltered html in content for everyone except the super admin if and only if the multisite mode is enabled be called a security feature?

      Symfony 2 does most things quite well (the authentication process is a nightmare), drupal does some strange things (and community modules go from "utter crap" to "pretty good").

      I’ll look into Banshee, I’ve never used it and only know it by name.

    8. Re:Not the same use cases by plopez · · Score: 1

      you can dance with fish

      --
      putting the 'B' in LGBTQ+
    9. Re:Not the same use cases by Kielistic · · Score: 1

      Until it gets too big, rots your crops, runs off and infects your water supply with e-coli.

      Sadly this metaphor is still going strong.

    10. Re:Not the same use cases by gl4ss · · Score: 1

      there's already too many nodejs toolsets.

      ends up with plenty of bloat with everyone on the project losing scope of where stuff happens...

      though, node is pretty nice for plenty of stuff. certainly far better than php for just about everything, unless you're a php only coder... if you're the sort of who just used php, the rails or whatever and autocreated mostly everything then yeah there's that too for node.js. don't know why you would want that though in the modern world. most projects use frameworks for the sake of using a framework as if that made everything better when in fact it's quite shitty when you have something railsesque sitting between your client(browser) and database for no good reason at all.

      "what format does the multipart upload be in? what changed in the server? " "I don't know, it just appears here on the ruby script magically, I think you need [] in the filename".

      --
      world was created 5 seconds before this post as it is.
    11. Re:Not the same use cases by mbadolato · · Score: 2

      you can dance with fish

      Um

      They don't play baseball
      they don't wear sweaters
      they're not good dancers
      They don't play drums!!

      --Fish Heads, 1980.

    12. Re: Not the same use cases by corychristison · · Score: 1

      Just want to point out there is also the pthreads extension (through PECL). See http://pecl.php.net/package/pt... and http://php.net/manual/en/book....

      I'm currently building a proof of concept instant messaging platform (server and client) with php, pthreads, and sockets.

      I could write it in node.js, but I really like the C-likeness of PHP.

    13. Re:Not the same use cases by disambiguated · · Score: 1

      PHP, for all its problems, is still a very useful language for ...

      I don't even want to imagine a situation so bad that not even PHP can make it worse.

    14. Re:Not the same use cases by ihtoit · · Score: 2

      uh... you tell us?

      --
      Political debates have me rolling my eyes so much I think I got optical whiplash. I should sue. - Foamy The Squirrel
  7. Missing by gmuslera · · Score: 4, Interesting

    PHP is far more available in cheap hosting solutions. The apps are simpler to deploy (simply put them along your static html files in a web server that supports its extension), and simple apps are simpler in php. The ecosystem around was not touched in the review, Compose vs npm, joyent vs the community behind php, the future of both platforms.

    In the other hand, PHP is (or at least, used to be recently enough) a fractal of bad design

    1. Re:Missing by ameoba · · Score: 2, Insightful

      People stuck on "cheap hosting solutions" don't pay good money to developers to develop software for them. Cheap hosting solutions don't even come close to scaling to anything beyond a blog for a local business.

      Unless you've decided to work on a bottom of the barrel open source CMS/Forum system (a market that's pretty much saturated already), the argument that "PHP is the only thing we can run" is just not relevant. Maybe it carried some weight ten years ago but it's a non-issue these days.

      --
      my sig's at the bottom of the page.
    2. Re:Missing by TheRaven64 · · Score: 1

      Exactly. Even if you're on a really tight budget, you can get a VM with 10-20GB of disk space and run whatever you want and enough bandwidth that you probably won't come close to the cap (unless you're serving videos) for a few dollars a month. An hour of developer time will cost more than a year of hosting. Even for a hobby project, it's pretty easy to afford.

      --
      I am TheRaven on Soylent News
  8. terrible article by Anonymous Coward · · Score: 4, Funny

    Man I've read articles where the author didn't know what they were talking about and was just stacking points, but they're made here with such assertiveness and surety that I started doubting reality. +1 great trip, no mushrooms required.

  9. Re:wtf? by amalcolm · · Score: 1

    WFT X 2 the Battle For FRUIT Mind Share

    --
    Time for bed, said Zebedee - boing
  10. The battle of WEB developer mindshare by Viol8 · · Score: 1, Funny

    Proper systems and apps developers wouldn't touch either of these noddy languages with a sterilised bargepole.

    1. Re:The battle of WEB developer mindshare by OzPeter · · Score: 2, Interesting

      Proper systems and apps developers wouldn't touch either of these noddy languages with a sterilised bargepole.

      So what would these "proper" developers of yours actually use?

      Python - No way in hell .. the language has to bend to my will, not me bending to its will.
      Java - Antiquated and full of perversions, along with the spectre of Oracle hanging over you.
      C/C++ - I know it is done, but would you?
      C#/VBV.Net - Even with MS opening up things .. "It's a trap" /Ackbar
      Perl - Are you sure its actually serving pages and not just a prank obfuscated programming contest entry?
      Go - You and the 3 other people using it should get together sometime.
      Erlang - If its good enough for FB, shit does that mean we are going to get assimilated?

      --
      I am Slashdot. Are you Slashdot as well?
    2. Re:The battle of WEB developer mindshare by Bigbutt · · Score: 1

      Don't feed the trolls.

      [John]

      --
      Shit better not happen!
    3. Re:The battle of WEB developer mindshare by Richard_at_work · · Score: 1, Interesting

      C#/VBV.Net - Even with MS opening up things .. "It's a trap" /Ackbar

      I would love for some Star Wars fixated Slashdot geeks to explain just how the current situation and plans are "a trap"? I've developed on the .Net platform for the past 7 years, I've not been trapped yet - MS hasn't attempted to gain control of my code, hasn't limited where I can deploy, hasn't told me off for deploying MS libraries on non-MS platforms etc etc.

      Today, I have a choice of multiple front end web frameworks competing with the MS offerings on the .Net platform but not one of them has suffered ire from MS for that competition.

      Meanwhile, Java, the once golden child of Slashdot, has gone from a high point of being GPLed, to rapidly becoming something that you are told to avoid on this here site.

      So where is this trap that Slashdotters have been shouting loudly about for the past decade?

    4. Re:The battle of WEB developer mindshare by OzPeter · · Score: 1

      So where is this trap that Slashdotters have been shouting loudly about for the past decade?

      While my intended use of "its a trap" was a facetious repetition of a meme (and I won't bore you with a whoosh), I believe the trap is not so much the technical aspects of the tools and code (I have always preferred VS over Xcode, and c# over Obj-C), but the morals of the company that you are buying into by using their code. From It's not done until XXX doesn't run and Embrace, Extend, Extinguish to the subversion of the OOXML standards process there are many distasteful things that MS has done as a company. Thus by using their products you are supporting these actions and their philosophy.

      But on the technical side of things, MS, like all good companies does try to exert vendor lock-in. So that once you have drunk from the MS well, it has been hard to break out into other technologies. So on that basis alone you can also say that it's a trap.

      --
      I am Slashdot. Are you Slashdot as well?
    5. Re:The battle of WEB developer mindshare by Richard_at_work · · Score: 1, Interesting

      Firstly, no whoosh needed, I understood the meme but just think its horrifically overused and just plain shit. But then I am tiring of all of the memes that call Slashdot their home these days, people tend to use them for a quick laugh or a "I'm in the group!" stamp rather than putting forward actual enticing arguments for their views.

      Secondly, MS does have a history - so does all large long lived companies. I was on the anti-MS band wagon back in the late 1990s and early 2000s, but then I grew up and watched as MS changed along the years. If you are going to avoid MS on the basis of its history, then you also have to avoid Ford, Boeing, IBM and a tonne of other companies.

      On the technical side of things, everything I have learned while coding on the .Net platform is eminently transferable to other languages - the concepts and patterns are no different, the language is ahead of where Java is currently so it would be a step back to make the move, but the move could be made easily enough.

      Yes, MS platforms have their specifics, but then so does Linux and Mac - there is a reason the Linux kernel is so hard to compile on anything other than GCC.

      The idea that you are forever locked into MS is one which has long been untrue. Hence my question stands unanswered - why is it a trap?

    6. Re:The battle of WEB developer mindshare by Xest · · Score: 4, Insightful

      "Python - No way in hell .. the language has to bend to my will, not me bending to its will."

      Few languages bend to your will, some learning is always required. I'm not terribly convinced the learning curve for Python is less than for PHP/Javascript given that those two have so many dangerous nuances that it takes years to truly understand them and develop with them without falling victim to their countless pitfalls. If you don't like the syntax of Python that's fine, but it's hardly a compelling technical argument not to use it over PHP and Javascript.

      "Java - Antiquated and full of perversions, along with the spectre of Oracle hanging over you."

      Java is antiquated? It was first released in 1995. That's the same year that both PHP and Javascript turned up you realise?

      As for perversions, what perversions exactly? It's a pure OO language and sticks to that properly. Compared to Javascript that really doesn't know what it is and has functionality that's basically broken like closures because it tried to do away with explicit pass by value and pass by reference meaning you need to do horrible hacks to force creation of a new scope if you want to pass by value into a closure rather than have a variable captured.

      PHP? It's about as perverted as you can get. It started out basically like C for the web, but without the difficult stuff. Then it did exactly like C++ and tried to glue OO on top, only C++ kinda worked because it was done by a competent computer scientist whilst PHP had it's OO tacked on by a mob of wannabes.

      Out of the 3, Java is no older, and is the only one that actually determined and stuck with a consistent and planned design philosophy. Your criticism therefore seems to be wholly nonsensical in the context of comparison against Javascript and PHP. The very fact that Javascript was rushed out with a similar name in the same year as Java to cash in on it's hype should at least tell you something about the quality of Javascript as a language if nothing else.

      "C/C++ - I know it is done, but would you?"

      It really depends what you're doing and how competent you are.

      "C#/VBV.Net - Even with MS opening up things .. "It's a trap" /Ackbar"

      If it's a trap then it's a pretty poor one because they keep on open sourcing more and more of it. First they go and make the language a real actual standard, and then they start open sourcing the framework whilst giving Mono their explicit blessing.

      Microsoft now isn't Microsoft the 90s, it has realised that it needs C# to be runnable in as many places as possible like Java, hence why they opened up the core and plan to open up more and more of it. Nadella knows they lost the smartphone war, and he knows that Windows Server hasn't taken over the server world. He knows that the only way to get a foothold in these areas is to at least take what it does well there - development tools and technologies. The newest version of Visual Studio even supports Android development.

      You seem to have pulled together a list of pretty weak criticisms of each language and pretended that's justification not to use them over PHP and Javascript despite PHP and Javascript both having glaring deficiencies that make the negative considerations you pass off as fact above wholly irrelevant in the grand scheme of things.

      Each technology has it's merits, but saying I'm going to use a technology with 100 deficiencies because the alternative has 1 deficiency seems to me to be a bit short sighted (no zealots, please don't take the 100 to 1 literally, it's intentional hyperbole to make a point).

      At the end of the day we're stuck with Javascript on the client for the foreseeable future and that doesn't bother me too much. But why use it or PHP on the server when there genuinely are just all around better alternatives for that particular case?

      I don't even buy the Javascript on the server because you can share code with the client thing either - your server objects automat

    7. Re:The battle of WEB developer mindshare by OzPeter · · Score: 1

      You seem to have pulled together a list of pretty weak criticisms of each language and pretended that's justification not to use them over PHP and Javascript despite PHP and Javascript both having glaring deficiencies that make the negative considerations you pass off as fact above wholly irrelevant in the grand scheme of things.

      There's a word I think that is missing from your vocabulary that I think I need to introduce you to:

      Woosh

      --
      I am Slashdot. Are you Slashdot as well?
    8. Re:The battle of WEB developer mindshare by rasmusbr · · Score: 1

      Lisp of course, or Racket.

      I bet it'll only take me a few days to write my own web framework. Brb...

    9. Re:The battle of WEB developer mindshare by WuphonsReach · · Score: 1

      Java is going to be the COBOL of modern languages - it will be around 10-30 years from now or more.

      And if you learn to use AspectJ and a good code generation tool like Spring Roo, a lot of the pain points about Java go away. Sprinkle in a good framework along with things like Maven and JUnit testing. At this point it's a very mature language with a fully fleshed out ecosystem.

      --
      Wolde you bothe eate your cake, and have your cake?
    10. Re:The battle of WEB developer mindshare by Xest · · Score: 1

      Yes, you're right Woosh. I totally didn't see it coming that you'd try and pass off your stupid comment as a joke in a desperate attempt to stave off your own embarrassment that you posted something so wrong in the first place.

      You know Woosh isn't just a thing you get to post to make yourself no longer an idiot after you posted something stupid right? You know you're still clearly the idiot here yes?

  11. My brain fell out by Anonymous Coward · · Score: 4, Interesting

    This isn't merely useless, nor just bad, it's completely misleading. For it may look like he's giving the high-level, the author appears to have no depth to draw on to say more than the shallowest things. As such, he's presenting pond scum, not the high points from an expert deep sea fisher.

    And this is pretty bad, given that infoworld says about themselves:

    InfoWorld is the destination of choice for technology decision makers and business leaders who seek expert, in-depth analysis of enterprise technology.

    while the TFA says about the author:

    Peter Wayner is contributing editor at InfoWorld and the author of more than 16 books on diverse topics, including open source software, autonomous cars, privacy-enhanced computation, digital transactions, and steganography.

    I'm loath to seek out his writing, in fact fairly convinced to stay well away, while at the same time morbidly curious just how bad his "more than 16 books" will misinform.

    1. Re:My brain fell out by Crashmarik · · Score: 2, Interesting

      I'm loath to seek out his writing, in fact fairly convinced to stay well away, while at the same time morbidly curious just how bad his "more than 16 books" will misinform.

      The sad thing is, his writing doesn't seem to much better or worse that what you get with most computer related books these days.

    2. Re:My brain fell out by Anonymous Coward · · Score: 1

      I'm loath to seek out his writing, in fact fairly convinced to stay well away, while at the same time morbidly curious just how bad his "more than 16 books" will misinform.

      The sad thing is, his writing doesn't seem to much better or worse that what you get with most computer related books these days.

      There's no mod point for "Tragic" so you'll have to settle for "Interesting" instead.

  12. a tale for the ages. by nimbius · · Score: 1, Funny

    PHP, the meth-addled brother you remember from childhood that occasionally wants to have lunch, if only to waste enormous amounts of your time. He still doesnt quite work consistently, his habits get expensive, and everyone remembers that one time he just sat in a corner screaming 'true == false!! false == TRUE!!!!' until someone called the devops.

    and Node.js, the kindhearted strapping beaux from the small town with a heart of gold, even if you didnt always understand his quaint allegories. These days hes become an insufferable jackoff in a suit and tie who's managed to alienate all but a few close friends who from all indications are complete douchebags. Everyone talks about his brother io.js, though. maybe that kid's worth an email.

    --
    Good people go to bed earlier.
  13. Dumbest article on the subject. Ever. by Qbertino · · Score: 5, Interesting

    TFA is a bunch of blabbering from someone who has no idea what he's talking about - void of anything useful.

    To get this out of the way:
    Node.js is a serious contender to topple PHP off the server-side, for the simple fact that we would then have one PL less in the entire webstack, which is way to
    complex anyway.

    I myself have been pondering trying out Node for larger non-trivial projects. I'd be the first to switch if it were possible.
    I haven't yet - Node is just not quite ready for prime-time.
    Why?

    1.) The tools don't exist yet and Node seems to gather the same problems Rails has: A bloated, instable and unreliable mumbo-jumbo of countless libs, tools and extensions - various package managers included, each built on a whim and powered by a neat logo and a 6-week fad that sweeps the community and adds to the mess already there. In short: The Rails problem of to much navel-gazing and not enough of solving real world problems.

    2.) Callback hell.
    In fact, its Node/JavaScripts callback hell that made me realise a thing that is so great about PHP: What you see is what has been made, for you, for that specific request. LAMP is such a bizar solution no one in his right mind would suspect it could work, yet most site on the internet run on it. The stack is so vertical it actually makes any Java solution look like an ADHD driven Visual Basic School projekt in comparsion. And I mean vertical right down to the way it actually works!

    Try building anything like Joomla or Wordpress with other solutions such as JS and you'll end up with problems that completely leave the domain of your work. The simple fact that a PHP request is dead and gone when its finished sending its request reply and all the rest it offers is custom built around any strange problem the

    Any concern you have right at the moment when developing for ther server side web PHP has neatly covered ... ok, forget I said neatly, ... but covered and everything else is put aside. PHP is born out of a template engine, and as bizar as it sounds, that's its advantage. Any problem the Web domain can come up with puts PHP in a very strong position. Serverside things PHP just shrugs of with some strange custom internal function has JS and Ruby tripping and falling flat on their face with no chance for rescue.

    3.) PHP is 10 years ahead of the game. No joke.
    Try finding a product like Typo3 or Wordpress in Java, Node, Rails or any other backend runtime you fancy. Won't happen. It take me 5 minutes to download Typo3, 2 hours to set up - mostly because configging Apache and setting up T3 is an arcane science unto itself - but then it's there. Everything I would ever want for a web product.
    Joomla, Drupal, Wordpress and co. are even way easyer. The only other contender holding up is Pythons Zope/Plone. All else is a decade behind at least. Rails included.

    Bottom line:
    As soon as Node gets their shit sorted out and offers a serious upside vis-a-vis LAMP, PHP is going to continue to rule. It gets the job done. Node and Rails don't. End of Story.

    --
    We suffer more in our imagination than in reality. - Seneca
    1. Re:Dumbest article on the subject. Ever. by tepples · · Score: 2

      PHP is the same way, where a syntax error in a file referenced by include_once will stop the interpreter cold, and you can't even catch a syntax error. (You can in Python; it's considered an ImportError.) I guess that's why you're supposed to lease two VPSes, one for testing and one for production, and run the complete set of integration tests on testing before pushing it out to production.

    2. Re: Dumbest article on the subject. Ever. by Dynedain · · Score: 1

      .Net has Sitecore are Sharepoint. Java has AEM (which is what Typo3 tries to be) and several others. These of course are "enterprise" proprietary solutions, but just as easy to install and configure. I could spend hours talking about what a joke Typo3 is. The truth is that web CMS platforms use PHP because it is the defacto standard in shared hosting plans, just like most desktop games are written for Windows with DirectX.

      --
      I'm out of my mind right now, but feel free to leave a message.....
  14. JavaScript is the high level C by Anonymous Coward · · Score: 1

    I come from a C/C++ embedded systems background but have done a lot of JavaScript recently and really find it to be the C of high level languages. For example:

    1. Both C and JavaScript have a very simple and reasonably orthogonal set of basic constructs.
    2. Pointers and first class functions are really the keys to the expressive power of each language. Both concepts take a bit of work to get your head around.
    3. Neither language enforces much structure to your programs. This makes it easy to bash out a program (in both cases by abusing the global namespace), but much much harder to write high quality maintainable code.

    But to many people (myself included) once you start to master this power, you really begin to enjoy the expressiveness of the language.

    On the other hand, PHP is a bit so-so. It does its job, but doesn't really offer anything new or innovative language wise. It's main PR problem comes from the early days when it had some annoying design mistakes but these are mostly fixed now.

    Also, the term 'JavaScript' means many different things to different people, and it is hard to tell how much of the flamewar come from people who think the $ sign is a reserved word.

    1. Re:JavaScript is the high level C by CockMonster · · Score: 1

      C !== javascript

    2. Re:JavaScript is the high level C by Dr.+Evil · · Score: 1

      "PHP is a bit so-so. It does its job, but doesn't really offer anything new or innovative language wise"

      Prior to PHP, people were writing CGIs. Language-wise doesn't really matter, there was no interpreted inline-C-for HTML html preprocessor without smashable stacks by default.

      Coming from the embedded world and C/C++, I think you're forgetting how much discipline you need to write in C or C++. Most people can't do it without a serious learning curve coming from PHP or Javascript.

    3. Re:JavaScript is the high level C by narcc · · Score: 1

      He's only saying that because it's true.

  15. PHP is the new COBOL by Peter+(Professor)+Fo · · Score: 1
    Node has its good points but seems to have (a) one way of coding plus a nanny-nag of you will be doing that RESTfully won't you. (b) tool-chain builders. If I want to make an application I don't need a whole factory of Gits and Grunts, templates and transient libraries. I most certainly don't want updates of libraries to destabilise my perfectly working application for no reason, no warning and no documentation.

    PHP will be around for a long time because any idiot (and I mean that) can have a go. That doesn't mean all PHP code is crap but what makes code 'good' can be skipped. (YMMV for what the base for quality code is.)

    1. Re:PHP is the new COBOL by narcc · · Score: 1

      PHP will be around for a long time because any idiot (and I mean that) can have a go.

      Isn't that a good thing? We use programming languages to make writing programs easier, after all.

      I honestly have no idea how 'easy to use' became such a horrible thing. I get the whole 'you end up maintaining some amateurs crummy code' thing, sure. However, I've also seen enough inexcusably awful code from seasoned developers to put any stock in that argument.

  16. Apples vs. Bananas by mnt · · Score: 1

    Those articles are generally stupid, but this must be the most stupid comparison i've ever read. No numbers, just hunches.

  17. Re:a few drops of idiocy by chad_r · · Score: 1

    "Where Node wins: Service calls are thinner than HTML-fat PHP calls"

    Now I understand why browsing the web became impossible on my cellphone in 2014. Displaying a page is no longer about html + css. Now it's a stub page which needs a dozen more ajax calls before anything gets displayed. And good luck reading the article through the tangled mess if one of them doesn't get loaded. Oh well, it's just the current phase in the 10-year thin client sucks/thick client sucks cyclic history repeating itself.

    Black Friday '14: E-commerce Pages Far Slower Than They Were in 2013 - Slashdot

  18. Deployment challenges matter too. by DUdsen · · Score: 1

    Developers dont matter if their deployments crash and burn due to library bugs before they reach first year deployment, and that is a big part of the reason the new frameworks aren't taking over the world just yet, nobody wants of have a fragile platform that need expensive devops to run for things that aren't designed to be replaced/extended every six months.

    And to make it worse there is no attention given to this problem in any of the fad2.0 communities, ie nobody really wants to build the new standardized LAMP stack but wants to have a configurable stacks that each app developer can freely modify. Because they are mostly freshly minted CS grads and not paranoid veteran admins who have been through the hell created with you got custom dependencies, and library vulnerabilities are found.

    Neither node or PHP apps are known for their high standard of security hardening, and nobody wants to deal with frameworks that are, because they tend to be alphabet soups of design by committee standards and associated mess, so in the end the platform with the least customizable run time is chosen because then at least you can make sure the libraries gets security patches.

  19. Python / Django by Anonymous Coward · · Score: 1

    In my opinion the Python framework Django is the best web development framework out there.

      PHP's popularity is largely the result of inertia in the industry. Lots of code bases are written in it so lots of jobs specify PHP. Almost no-one with any experience will recommend PHP for a non-trivial project.

    Node.js doesn't have the tools and IDE support to be a great server side language. Besides......the only reason to write javascript is to execute code in the browser on the client side. If you're not doing that don't use javascript.

    Not sure about rails..........never used it.

    1. Re:Python / Django by OzPeter · · Score: 1

      Besides......the only reason to write javascript is to execute code in the browser on the client side. If you're not doing that don't use javascript.

      The appeal of things like Node.js is that you're writing the front and back ends in the same language. Thus reducing the number of languages you need to know etc.

      And while that is a laudable goal, I'm not sure that javascript is the best way to achieve it - but then there is that inertia thing again - you already have javascript in the browsers. So it would take a huge commitment to get another language into the same position.

      --
      I am Slashdot. Are you Slashdot as well?
    2. Re:Python / Django by Anne+Thwacks · · Score: 1
      Almost no-one with any experience will recommend PHP for a non-trivial project.

      Unfortunately PHB's assume all projects are trivial until the pool of blood on the carpet starts leaking out the door.

      --
      Sent from my ASR33 using ASCII
  20. So one shitty language has been ... by UnknownSoldier · · Score: 1, Flamebait

    replaced with another shirty language. This like arguing which is worse: bull shit or horse shit -- guess what, they both stink.

    This isn't a battle - they both suck. A developer uses whatever crappy web language there is to get the job done.

    News at 11.

    1. Re:So one shitty language has been ... by UnknownSoldier · · Score: 1
  21. Meh... by SCHecklerX · · Score: 1

    I still use Mason.

  22. Re:wtf? by laird · · Score: 1

    I'm sure that's how you use Note.js, but as far as I can tell, the vast majority of the usage of Node.js is server side. And that's where it overlaps with PHP. They both can be used to do the same thing, but with different strengths. For example, if you're building a modern AJAX app, Node.js is very nice - it's very efficient, lets you use the same programming language for the client-side and server-side code, uses JSON to pass data, is event-driven, good at web services, etc. PHP's strengths are more for the old-school, non-AJAX web sites - it's easy to stick a database query into a web page to pull data and display it, etc. And, of course, there's an already-written PHP solution for almost everything which is it's real strength. For example, if you need a web site CMS, you pick one, and if it's written in PHP (most are) then you use PHP to write whatever plugins you need.

  23. PHP vs Javascript by Anonymous Coward · · Score: 1

    An obvious neither-nor decision.

    I'll stick to C#.

  24. comparing node to php? by Shados · · Score: 1

    Thats a weird comparison, since they don't target the same audience at all. Rails maybe, as it has a lot in common, but even then.

    What makes node interesting is that its asynchronous-first, single-threaded-by-default model has interesting performance characteristic and lends itself well to specific architectures. Bonus that it also works amazingly well for web sockets. There's also a lesser point that still matters, its JavaScript and some people like that a lot.

    The tradeoffs however are pretty massive. There's a lot less literature on how to maintain a node production environment. How do you handle memory dumps, how do you instrument it. Also, error handling is terrible, and debugging obscure issues is hell. There's a lot of minor bugs and quirks that you just have to "know".

    That makes node.js only really suitable for fairly advanced developers/sysadmins (even if you host it "in the cloud"). Those that have "gone around" and have dealt with shit enough they'll know what to do when that shit happens, even if they can't find the answer on stack overflow. They also benefit from the interesting performance characteristics I described above.

    On the other hand, PHP was always a "easy to pick up and run, forget about it" environment.

    Those 2 couldn't be further apart.

  25. Re:Uh, okay. by geminidomino · · Score: 4, Insightful

    But seriously, PHP is a dying language. We should let their developers pass.

    No no no, you did that wrong!

    Kosh: It is a dying language. We should let it pass.
    Sheridan: PHP, or Node.js?
    Kosh: Yes.

  26. Identical validation logic on both sides by tepples · · Score: 1

    What, AJAX is Node-only?

    It is if you want to share validation logic between the client (which on the web must be written in JavaScript or a language that compiles to JavaScript) and the server. If the validation logic in both environments is provably identical, you can validate on the client for instant feedback and then revalidate on the server for security, and there will be no confusing or insecure inconsistencies between the two. Otherwise, you have to translate from one to the other, and manual translation is fraught with potential for defects.

  27. Re:wtf? by Shados · · Score: 1

    No, he's right. The vast, vast majority of node.js use is as a glorified scripting environment as a build system for static resources. Its its gateway drug in a way. People use LESS to minify their javascript or something in their language of choice's assets pipeline. Then they go "Hmm, what if we used a real build environment for these?". Then they start using node in their build system. There's also stuff like Atom and all the node-webkit applications that use it as desktop apps. Those are the common usages.

    Then sometimes, they go "Hmm, node is pretty cool, maybe we should use it for this micro-service in parallel with our existing stack". And then maybe, just maybe, it ends up on the server. Its pretty popular lately, but the percentage of people who use it as a web server is far and few in between, though growing.

  28. WebFaction or VPS by tepples · · Score: 1

    Can't someone seeking hosting just get an $8/mo WebFaction account and set up PHP and Node sites under it, or get a $10/mo VPS and deploy whatever the expletive he wants?

  29. Re:Uh, okay. by datavirtue · · Score: 1

    There are many frameworks that are still developed which make PHP useable and elegant...Phalcon for instance.

    --
    I object to power without constructive purpose. --Spock
  30. The tyrany of choice. by sg_oneill · · Score: 2

    Cancer versus AIDS. Which to choose. decisions decisions decisions.

    --
    Excuse the Unicode crap in my posts. That's an apostrophe, and slashdot is busted.
    1. Re:The tyrany of choice. by Tablizer · · Score: 1

      Sound like typical OSS product names.

  31. VPS hosting and IPv4 address exhaustion by tepples · · Score: 1

    How long will these VMs remain affordable as more and more web site operators switch from shared hosting plans to VMs that need their own IPv4 address?

    1. Re:VPS hosting and IPv4 address exhaustion by tepples · · Score: 1

      Good luck exposing the web frontend of the application running on your VM on port 443 if someone else behind the same proxy also wants to expose something on 443. Or can we ignore IE/XP and Android 2 (whose TLS stacks don't support multiple certificates on port 443 of an IP address) by now?

    2. Re:VPS hosting and IPv4 address exhaustion by WuphonsReach · · Score: 1

      Or can we ignore IE/XP and Android 2 (whose TLS stacks don't support multiple certificates on port 443 of an IP address) by now?

      Well, WinXP is out of support and Android 2 is ancient at this point - both have less then 15% market share and are dropping reasonably quickly. So overall, you might only impact 1 in 10 visitors for a project that launches in a few months.

      In another year, that will probably be 1 in 25. In terms of development dollars spent vs projected income, trying to support that under 10% market share which will vanish within 2-3 years is probably not worth it.

      --
      Wolde you bothe eate your cake, and have your cake?
  32. Have you ever used PHP? by neorush · · Score: 1

    So...do any of the PHP bashers do any actual extensive coding in PHP? Have you ever looked at the code in Drupal 7/8?

    Seriously, I am always baffled by everyone who starts ranting on how crappy PHP is. I have done mostly PHP development for 12+ years. I have yet to have a site hacked, or SQL injection exploited. It is a very solid language, it can be made VERY fast (JIT is also coming down the pipe out of the box in 6+). It lends itself to rapid prototyping and easy patching / testing. There is a module / plugin / snippet of code out there for pretty much everything. It will run on a windows server, a debian box, and CentOS pretty much the same.

    Loose variable typing is not always bad thing, and you can always cast variables anyway:
    $_GET['my_var'] = (int) $_GET['my_var'];
    Ta-da! We definitely have an integer now!

    I have written entire chat bots with raw socket connections in PHP...it can pretty much do everything...and do it quickly.

    --
    neorush
    1. Re:Have you ever used PHP? by neorush · · Score: 1

      Also should have added that TFA is total crap.

      --
      neorush
    2. Re:Have you ever used PHP? by UnknownSoldier · · Score: 1
    3. Re:Have you ever used PHP? by Dracos · · Score: 1

      PHP gets bashed because a) the language maintainers are rather bad at language design, and b) so much shitty code gets written in it. I'm in a similar boat as you, having done primarily PHP development since 4.0 was released.

      Drupal 7 is ok (I haven't looked at 8 yet), but if you really want to see good PHP code, look at Laravel.

    4. Re:Have you ever used PHP? by iggymanz · · Score: 1

      yes I've done extensive php. half our servers are in Drupal stack (hundreds). PHP is crap, so is Drupal (bad bad things needed to scale it.

    5. Re:Have you ever used PHP? by neorush · · Score: 1

      PHP is a shit language.

      * http://whydoesitsuck.com/why-d...

      We have === for this...if you change your way of thinking a bit you can actually code more quickly with loose typing (and yes, still keep things secure). Most of the arguments around PHP are something like "it doesn't work like this other language I'm familiar with".

      * http://whydoesitsuck.com/publi...

      Most of the arguments in here relate to complaining about the issues with most large open source projects, e.g. function naming conventions...while PHP has major issues in this regard (most notably how parameter order always flops around myFunc(haystack, needle), myFunc2(needle, haystack)...etc.) From my experience these sorts of things crop up in libraries / projects all the time, it is not unique to PHP.

      The language as a whole really does allow for rapid prototyping, and quick updates, and cross platform support. Read efficient and profitable.

      I've found that most people who hate PHP also hate Javascript, again, they don't know how to leverage it properly....so it must suck.

      --
      neorush
    6. Re:Have you ever used PHP? by neorush · · Score: 1

      D6 was spaghetti code at its finest. D7 integrated a lot of very solid guidelines and changes, D8 continues in the same thread and is a very coherent and solid framework so far. We run some very large sites on D7 and they load very quickly on crappy hardware which keeps costs down.

      --
      neorush
    7. Re:Have you ever used PHP? by neorush · · Score: 1

      What do you prefer for a server side language? I'm always open for a better way to go, from my experience PHP wins in development time and community support every time. I'd love your take on it though :-)

      --
      neorush
    8. Re:Have you ever used PHP? by neorush · · Score: 1

      We load balance D7 across VM's automatically...no issues here...how were you trying to scale? What would you use instead of PHP?

      --
      neorush
    9. Re:Have you ever used PHP? by iggymanz · · Score: 1

      uh huh, tell me about scaling your back end databases and shared client file store

    10. Re:Have you ever used PHP? by neorush · · Score: 1

      Round robin DNS and nginx as load balancers. Then we auto scale cloud servers on the back end to handle the PHP load. Scalable MySQL: http://www.rackspace.com/cloud... File System: https://www.drupal.org/project... Cloud files is really the key here, otherwise you have to use an NFS of some other kind...which kind be a nightmare otherwise.

      --
      neorush
    11. Re:Have you ever used PHP? by UnknownSoldier · · Score: 1

      When you have to use a hack like

      "use strict";

      You know the language was designed by a retard who failed to learn _anything_ from Basic 20 years ago.

      There is a reason we have strong typing in languages: to catch dumb mistakes at compile-time, not after-the-fact at run-time.

    12. Re:Have you ever used PHP? by iggymanz · · Score: 1

      the Maria DB is the scaling bottleneck, GlusterFS isn't too bad for shared files

    13. Re:Have you ever used PHP? by UnknownSoldier · · Score: 1

      Being a fanboy for a shitty language doesn't make it any less shitty.

      If you need to use triple equals '===' because double equals '==' is fundamentally broken then the language has already failed.

      var_dump(42 == "42wtf");
      bool(true)

      Maybe if the standard library functions weren't written by an idiot ... maybe the language wouldn't be looked up on being a total joke:

      PHP versions: 4.3.0 - 5.0.5

      var_dump(date('F', strtotime('February')));
      string(8) "December"
       
      PHP versions: 5.1.0 - 5.1.6
      var_dump(date('F', strtotime('February')));
      string(7) "January"

      *facepalm*

      They can't even implement the ? : operator properly ...

      $foo = 'F';
      $bar = (($foo == 'F') ? 'foo':
                ($foo == 'B') ? 'bar':
              'baz');
       
      echo $word;

      PHP: designed by a boob for noobs

    14. Re:Have you ever used PHP? by narcc · · Score: 1

      Pragmas are hacks now?

    15. Re:Have you ever used PHP? by neorush · · Score: 1

      Yeah, I do admit that MySQL / Maria is the hard limit here. Never used GlusterFS, going to do some reading later. Thanks.

      --
      neorush
    16. Re:Have you ever used PHP? by neorush · · Score: 1
      It is a loose typed language. This is what would happen in these cases. That's the point, it is in fact designed this way!
      OMG Look how crappy c++ is!

      int x = 'a';
      cout << x;
      will print 97;

      Seriously, just because a language doesn't function the way you are used to, does not mean that it is broken...

      --
      neorush
    17. Re:Have you ever used PHP? by UnknownSoldier · · Score: 1

      Javascript is one big hack.

      "Javascript: designed in 10 days, frustrating users for 20 years."

      http://www.computer.org/csdl/m...

    18. Re:Have you ever used PHP? by narcc · · Score: 1

      There are some mistakes, like new and constructor functions, sure, but that's true of every language. Overall, however, it's a brilliant design -- as evidenced by the features it popularly introduced being added to more traditional languages like C# and Java.

    19. Re:Have you ever used PHP? by UnknownSoldier · · Score: 1

      > just because a language doesn't function the way you are used to, does not mean that it is broken...

      *whoosh*

      PHP has a *ton* of hate because it does *dumb* things that only an amateur would do.

      1. Copying the ternary operator ? : from C, then _reversing_ the order of precedence is idiotic. We have _standard_ _logical_ operations and consistent left-to-right parsing for a reason -- not let's-invent-whatever-shit-we-feel-like because we're too dumb to understand consistency.

      And then you have dumb bugs like this memory leak.

      2. Only a fanboy makes excuses for why they are too blind to see the many ways it is broken. PHP was designed and developed by a complete fucktard:

      echo true . "\n";
      echo false . "\n"; // wat
      echo TRUE . "\n";
      echo FALSE . "\n"; // wat
       
      // Note: The online manual is completely useless:
      // http://php.net/manual-lookup.php?pattern=true
      // http://php.net/manual-lookup.php?pattern=false
      // http://php.net/manual-lookup.php?pattern=TRUE
      // http://php.net/manual-lookup.php?pattern=FALSE
       
      if( 1 == "1" ) echo "ok!\n";
      if( 0 == "0" ) echo "ok!\n";
      if( "0" ) echo "nope\n";
      if( "00" ) echo "wat\n";
      if( "-0" ) echo "wat\n";
      if( "0.0" ) echo "wat\n";
      if( 0 == "" ) echo "wat\n";
      if( 0 == " " ) echo "wat\n";
      if( 0 == " wat" ) echo "wat\n";
      if( 0 == "\t" ) echo "wat\n";
      if( 0 == "\r" ) echo "wat\n";
      if( 0 == "\n" ) echo "wat\n";

      In what bizarro universe would this stupid shit make _any_ sense??

      Gee, maybe if '==' is SO fundamentally broken, then you

      a) actually _remove_ it from the language, OR gee, here's a idea ...
      b) upgrade it to one that actually _works_.

      Nah, let's just half-ass because we don't know what the fuck we're doing with types!

      > OMG Look how crappy c++ is!

      So because everybody else jumps off the bridge you do to ?

      Make excusing for why a language sucks because (insert other) language X sucks too just make you look like a tool. Take responsibility for a fucked up design? LOL. The language might actually improve then. Nah, can't have that !

      For the record, you won't get any arguments from me that C++ is a complete cluster-fuck of over-engineering. I've worked on a C++ compiler.

      The C++ committee has their heads so far up their asses that they refuse to address *practical* matters:

      - Standardized Name Mangling
      - or at least a standardized API for Name Mangling
      - Standardized pragma's
      - Forced inlining
      - Forced never inlining
      - Standardized error messages or at least error codes
      - Extend the grammar so that function prototypes (declarations) can be copy-pasted for function definitions
      - etc.

  33. Just do it in C++ by ClayDowling · · Score: 1

    Just write it in C++ with TDD, which will run faster, and after you factor in all the pain from debugging server side untyped dynamic languages, will also be faster to develop.

    Let the flaming commence.

  34. Re:wtf? by omnichad · · Score: 1

    PHP's strengths are more for the old-school, non-AJAX web sites

    PHP's not bad at encoding JSON either. What else do you need to make it "AJAX-friendly?" (nevermind that the X in AJAX still technically stands for XML - not that that would be useful).

  35. Re:a few drops of idiocy by omnichad · · Score: 1

    Oh well, it's just the current phase in the 10-year thin client sucks/thick client sucks cyclic history repeating itself.

    No...this is a new phase. The "It takes a fat client just to run the thin client" phase.

  36. Those who cannot remember the past ... by yelvington · · Score: 1

    "But then some clever kid discovered he could get JavaScript running on the server. "

    Really clever kid. We had this in 1994.

  37. Nuke the Web! (Re:Before reading TFA ...) by Tablizer · · Score: 2

    first let's get a better GUI standard than browser-based DOM. Customers want desktop-like UI's on the web, and HTML/CSS/JS/DOM has to be force-bent under threat to pull it off, and still broken or jittery half the time even on big-name deep-pocket sites.

    Sure, it's job security, but at the expense of turning grey prematurely.

    The programming language choice would matter less if the programming language didn't have to do so much to deliver GUI's.

    1. Re:Nuke the Web! (Re:Before reading TFA ...) by MooseMiester · · Score: 1

      I don't disagree in the least.

      Developing Windows desktop apps in .net was fully matured, capable of doing everything the users wanted, moderately difficult to pick up but definitely not force bent at all!! But we (the industry) threw that out and replaced it with browser based apps... And although I have no personal experience with building desktop apps for MACs or Linux boxes I'd wager that was damn solid too.

      What also got trashed with Web dev was a desire to standardize the code, using consistent naming conventions, and not place thousands of lines of dead code in every project. How many web sites have you worked on with 30,000 plus files, of which maybe 20 actually do something? How many CSS files have you seen that are so absurdly disorganized messes that you give up and just create yet another style?

      Yeah, there were plenty of gawd-awful Visual Basic 3/4/5/6 apps written by n00bs, but the MFC C++ and C# guys (and some of the Visual Basic .net guys) strive to build elegant object models, name things consistently, keep everything tight.... Whereas the things you find on so may web sites are just horrible beyond belief.

      So I predict that about the time we perfect browser based apps then it will all be scrapped for the next shiny toy.... And that it will take years and years and years before it's stabilizes. Why do we do this to ourselves?

      --
      Murphy was an optimist
  38. Apart from all the other languages by AC-x · · Score: 1

    But then some clever kid discovered he could get JavaScript running on the server. Suddenly, there was no need to use PHP to build the next generation of server stacks.

    What is this blogspam shit doing here? There's no "need" to use either of them, there have been loads of alternatives to PHP for years and there are still plenty of alternatives for both. The individual points make no sense either, it's like they've just quickly Googled for "PHP advantages" and "Node.JS advantages", bullet-pointed them on a page and stuffed the rest full of ad links.

  39. Re:What about WordPress and SugarCRM or VTiger CRM by Dracos · · Score: 1

    Yes, PHP is easy to write, therefore it is easy to write badly. WordPress is the poster child for PHP's bad reputation, because:

    • It's written badly
    • It's written badly even in the context of PHP4, from which it is a relic
    • The project management refuses to break backwards compatibility

    Granted, PHP is the only language where a result like WP is possible. Shitty code hyped by an army of self-described "developers" who proudly and incestuously pass around bad practices like STDs.

    That being said, JavaScript outside the browser is a convenient, unnecessary solution looking for a problem.

  40. Who would play PHP ? by OrangeTide · · Score: 1

    Charlton Heston? I mean if he was still alive, not that PHP is still alive.

    --
    “Common sense is not so common.” — Voltaire
  41. battle won before it started by iggymanz · · Score: 1

    use of php is monstrous compared to the smattering of node.js shops out there

  42. To Framework, or not to Framework by Ken_g6 · · Score: 1

    That is the question.

    Whether 'tis nobler in the framework to suffer the slings and arrows of outrageous edge cases,
    Or to take up code against a sea of requirements, and by opposing end them?

    Personally, I prefer the basic PHP (and JSP) model of just writing out a web page with your backend language. I guess that makes me old-school?

    --
    (T>t && O(n)--) == sqrt(666)
  43. Re:Node.js vs PHP? by nmb3000 · · Score: 1

    That sounds more like a generation conflict between the fad-riding hipster son and his blue collar dad who often cuts corners.

    FTFY.

    --
    "What do you despise? By this are you truly known." --Princess Irulan, Manual of Muad'Dib
    /)
  44. Re:A fractal of bad design by narcc · · Score: 1

    When did PHP stop being "a fractal of bad design"

    It never was. That site is laughably bad. Most people puzzled that out years ago. It's time to let it go.

  45. Haxe ... by TarwinStroh-Spijer · · Score: 1

    Come on really? Just use Haxe and you can get either of these "outputs". Bah. PHP vs Node :P

  46. Javascipt on the server: Old News! by bensch128 · · Score: 1

    This reminds me of the time back in 2003 when I was working for a company developing an online casino.
    The company ran on a complete MS stack and I was violently terrified of having to code in VisualBasic on IIS.

    So I was completely overjoyed and excited to learn that IIS also supported MS javascript as well.
    So I wrote all of the backend code in JS with all of it's prototyping goodness.
    Of course MS javascript had lots of problems with the core prototypes (like string) not being extendable but I worked around that.
    I followed Douglas Crockford postings with a religious fervor back then because he was the goto source for decent JS coding syntax.
    Most everything he wrote worked on both IE6.0 and mozilla.

    Of course I left the company (I found a much better job) but after a couple of years, they wanted me back as a consultant to help port the backend over to C#.
    JS was too confusing for the new developers!!

    Personally, I think what Branden Eich did with JS was brillant and very advanced.

    Cheers
    Ben

  47. Re:Developer for last 15 years by K.+S.+Kyosuke · · Score: 1

    in the high transaction, high scalability and low latency domain.

    So, bank robbing?

    --
    Ezekiel 23:20
  48. Re:A fractal of bad design by tepples · · Score: 1

    So one person thinks the "fractal" essay is idiotic and another thinks the "hardly" one is. What opinion do you have of the six points?

  49. Re:wtf? by Tough+Love · · Score: 1

    PHP is the P in LAMP...

    To me, the reason that LAMP must die is more the "M" part... MySQL. Given that somebody can't perceive the flaws in PHP it may not be any surprise that they fail to see what is wrong with the massive travesty called MySQL (see: ACID violation). Not that JS is an admirable improvement over PHP by any means, but if at least it helps wean masses of frontline weanies off of MySQL then it serves a worthwhile purpose. BTW, Postgres now gets lots of design wins in MEAN stack projects for (the many) cases where full relational db support is actually needed, or faster to bring up than a hand rolled MongoDB effort.

    --
    When all you have is a hammer, every problem starts to look like a thumb.
  50. Re:Uh, okay. by Tough+Love · · Score: 1

    PHP is a carcass...

    That is a wild exaggeration. Though personally I would like it to just die, the most you can say at the moment is that its exponential growth phase is over, and thus is rapidly losing share to other platforms that are still growing exponentially. It served its purpose and continues to carry much of the workload on the web but its glory days are over. Thankfully.

    --
    When all you have is a hammer, every problem starts to look like a thumb.
  51. Re:A fractal of bad design by narcc · · Score: 1

    My opinion is irrelevant. An objective analysis of the claims made in each article should be sufficient for you to determine their quality. I seem to recall suggesting that you do exactly that, though I suspect that you haven't yet.

  52. Re:A fractal of bad design by tepples · · Score: 1

    The six points I listed were the results of my having done that.

  53. Re:78% of php websites have known hacks by neorush · · Score: 1

    Overall language issues PHP is number 6 in this list...
    http://www.aabri.com/manuscrip...
    In terms of web apps, PHP looks pretty damn good by comparison:
    http://info.whitehatsec.com/rs...

    --
    neorush
  54. Surprised... by admintpj · · Score: 1

    I am surprised he wrote this article, as he wrote another piece stating that Javascript for everything is the future of programming. http://www.infoworld.com/artic...

  55. Re:wtf? by ihtoit · · Score: 1

    important question:

    does node.js work on WinCE clients? I know php does, I'm editing on my wiki via a Dell Axim X5 right now.

    --
    Political debates have me rolling my eyes so much I think I got optical whiplash. I should sue. - Foamy The Squirrel