Stories
Slash Boxes
Comments

SoylentNews is people

posted by janrinok on Thursday June 25 2015, @12:54PM   Printer-friendly
from the almost-ready dept.

Although the first alpha build of PHP7 was released just two weeks ago, the second build is already being rolled out. A variety of issues from 5.6 have been fixed as part of version 7's alpha build, and a rather comprehensive overview of new features and other language changes have been posted on PHP's official GitHub repository. Some of the most notable improvements are the boasted performance enhancement over PHP5.6, claimed to be up to twice as fast on 64-bit systems, and the well-debated inclusion of scalar type hints.

Additional history of the drafted and implemented changes for version 7 can be seen at the PHP Request for Comments Wiki.


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 4, Insightful) by Thexalon on Thursday June 25 2015, @02:48PM

    by Thexalon (636) on Thursday June 25 2015, @02:48PM (#200983)

    By contrast, I regard it as a terrible language that has been polished to the point where it doesn't look quite as bad.

    It hasn't just been favored by clueless newbies over its entire existence, it was cobbled together by an admitted clueless newbie for an intended audience of clueless newbies. For comparison's sake, look at Basic and Pascal for languages designed by experts with an audience of clueless newbies in mind.

    The classic PHP: A fractal of bad design [eev.ee] lays out a large number of examples of how PHP got things horribly horribly wrong.

    The one that bothers me the most: There is absolutely no consistency about what happens when something goes wrong. The possibilities I've encountered in recent 5.x versions include:
    A. An exception is thrown back up the call stack.
    B. An error is fired off, which can go to an error_handler function if you define one somewhere.
    C. The function returns a result which indicates that an error occurred, which may or may not be also a valid result for that function call. (And even if it's not a valid result from that function call, it may be indistinguishable from a valid result if you use "==" instead of "===".)
    D. The error is ignored and PHP tries to continue as if nothing went wrong, with some variables set to null or something.
    E. The function returns what appears to be a valid result, but what you expected to happen didn't actually happen, so you need to call a separate error-checking function to see if something silently went wrong.
    F. A fatal error occurs that crashes your program immediately, with no opportunity to do anything about it. Information about what went wrong may be logged somewhere if you're lucky.
    G. The process running PHP (either "php" on the command line or the Apache process if using mod_php) seg faults and is killed with no error information whatsoever.

    Contrast this to the wide range of possibilities in Python, Ruby, Java, and a bunch of other languages:
    A. An exception is thrown up the call stack.

    That sort of thing is not the fault of the developers using the language, that's the fault of the language. And it's definitely the fault of the language that there was no specification whatsoever until late July of last year (the language has been in use since 1995). Libraries like Zend and Kohana have done a fairly good job of covering up the more egregious flaws, but that doesn't excuse the language developers. Its popularity now rests entirely on its popularity in 1998 or so, and also rather heavily on the popularity of Wordpress because a lot of businesspeople don't know that other content management systems exist.

    --
    The only thing that stops a bad guy with a compiler is a good guy with a compiler.
    Starting Score:    1  point
    Moderation   +2  
       Insightful=1, Interesting=1, Total=2
    Extra 'Insightful' Modifier   0  
    Karma-Bonus Modifier   +1  

    Total Score:   4  
  • (Score: 2) by MichaelDavidCrawford on Thursday June 25 2015, @03:32PM

    by MichaelDavidCrawford (2339) Subscriber Badge <mdcrawford@gmail.com> on Thursday June 25 2015, @03:32PM (#201017) Homepage Journal

    ill informed businessmen also lead to the notion that java was suitable for croos platfor development.

    --
    Yes I Have No Bananas. [gofundme.com]
    • (Score: 1, Insightful) by Anonymous Coward on Thursday June 25 2015, @05:01PM

      by Anonymous Coward on Thursday June 25 2015, @05:01PM (#201071)

      It's not? Or are you just thinking of a handful of use-cases where it doesn't make sense and ignoring the literally millions of examples where Java works just fine cross-platform?