pplusplus:faq
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
pplusplus:faq [2019/08/12 11:54] – Added quotes for concerns jasny | pplusplus:faq [2019/08/12 12:43] – Add Hack comparison zeev | ||
---|---|---|---|
Line 83: | Line 83: | ||
There' | There' | ||
- | - **Stick with loose (aka weak) dynamic PHP**. | + | - **Stick with dynamic PHP**. |
- | - **Evolve towards | + | - **Evolve towards |
- **Fork the codebase**. | - **Fork the codebase**. | ||
- **Come up with some creative solution to cater to both audiences**. | - **Come up with some creative solution to cater to both audiences**. | ||
Line 112: | Line 112: | ||
+ | ==== This is Hack all over again, isn't it? Why would it fair any better? ==== | ||
- | ==== What are the general concerns? | + | While conceptually the motivations for both P++ and Hack are similar - there are at least two critical differences between the two - each of which is likely sufficiently big to change |
- | === The dialect won't be limited | + | * Hack was/is developed by a single company, and not as an open process by volunteers. |
+ | * Perhaps more importantly - Hack (and HHVM) did not have PHP's gigantic distribution vehicle. | ||
+ | * For Hack, it was an uphill battle for users to even give it a try: | ||
+ | * They had to learn about its existence, and be sufficiently interested to learn more about it. | ||
+ | * Assuming they were interested enough to give it a try - they had to go through the trouble of setting it up - using entirely different methods from the ones they were used to from the PHP days (different layout, different configuration, | ||
+ | * With P++ - this is a radically different story from the ground up: | ||
+ | * Every user of PHP (starting with 8.0, or whenever we make it available) - will have it available on their servers. | ||
+ | * This in turn means that virtually anybody running a Linux distro, a recent version of WAMP, a recent version of MAMP - millions of servers and development workstations will have access to P++ without having to do anything proactively. | ||
+ | * In terms of awareness - since P++ will be a big part of the " | ||
+ | * Of course, it doesn' | ||
- | Progression of PHP may halt as any substantial changes are be opted to be done in P++ only. With the '' | + | ==== What are the general concerns? ==== |
- | + | ||
- | === Semantics should not be changed based on a flag === | + | |
- | + | ||
- | In [[https:// | + | |
- | + | ||
- | < | + | |
- | + | ||
- | <code php> | + | |
- | " | + | |
- | </ | + | |
- | or: | + | |
- | + | ||
- | <code php> | + | |
- | " | + | |
- | </ | + | |
- | Anything else will bring confusion. | + | |
- | + | ||
- | —Claude | + | |
- | </ | + | |
- | + | ||
- | === Converting PHP code to P++ code is not trivial === | + | |
- | + | ||
- | For applications that do not rely on implicit typecasting, | + | |
- | + | ||
- | The concern is that the syntax of PHP and P++ will grow apart to such an extent, that converting a PHP application to P++ would not be possible without a partial or complete rewrite. | + | |
- | + | ||
- | === PHP tooling will not support P++ === | + | |
- | + | ||
- | There are a lot of tools available for PHP developers, like IDEs, testing frameworks, etc. Supporting both PHP and P++ requires effort from maintainers of those tools. Those maintainers might choose not to invest the time for support until P++ has a substantial user base. On the other hand, devs might choose not to P++ until it has proper tooling support. | + | |
- | + | ||
- | === It's not possible to do a cleanup without breaking PHP compatibility === | + | |
- | + | ||
- | < | + | |
- | + | ||
- | Andi | + | |
- | </ | + | |
- | + | ||
- | Removing things like references, array() and the global namespace for functions would make it impossible to use PHP functions from P++. | + | |
- | + | ||
- | === Compatibility would only be one way === | + | |
- | + | ||
- | Introducing new data structures that only exist in P++, could make it impossible for PHP library to use P++ libraries. | + | |
- | + | ||
- | === P++ would have to do branding from scratch === | + | |
- | + | ||
- | < | + | |
- | to find P++ in Google? How are users searching for things with PHP and P++? | + | |
- | What' | + | |
- | much? Specifically from a marketing POV splitting up the language into two | + | |
- | makes no sense at all. Given PHP has no unified marketing message or a | + | |
- | dedicated department it is much better to use the existing brand, with all | + | |
- | its positive and negative perception and just keep rolling with it. | + | |
- | + | ||
- | A strategy to change the security or any other perception of PHP is solely | + | |
- | a marketing, teaching and persistence issue. As you say the language is | + | |
- | already the fastest dynamic language with the best runtime. But " | + | |
- | over" with 0 brand name and perception is much harder problem than changing | + | |
- | the existing brand, and its not at all technical challenge. | + | |
- | + | ||
- | Benjamin | + | |
- | </ | + | |
- | + | ||
- | === The popularity of Python doesn' | + | |
- | + | ||
- | < | + | |
- | + | ||
- | Peter</ | + | |
- | + | ||
- | The popularity of Python is rapidly increasing at the cost of the popularity of PHP. Python is praised with simplicity. However, is uncertain to what extent the popularity is related to simplicity, and specifically typing, and to which is this related to better libraries (both core libs and user libs). | + | |
- | + | ||
- | === Is a new dialect really necessary? === | + | |
- | + | ||
- | < | + | |
- | want basically impossible. The BC crowd is just being unreasonable and only | + | |
- | the tech that evolves realistically survives. You cannot have the BC cake | + | |
- | and eat it, at some point you have to upgrade and update your application | + | |
- | code. | + | |
- | + | ||
- | The " | + | |
- | are so impatient - there is Go, NodeJS with it's JavaScript/ | + | |
- | etc. Right now PHP does has somewhat of a plan and direction it is going, | + | |
- | it is going at a decent pace - not too slow, not too fast. | + | |
- | + | ||
- | Arvīds Godjuks | + | |
- | </ | + | |
- | + | ||
- | As an alternative, | + | |
- | + | ||
- | New and more strict data structures could be introduced. Attempts for this have been made through the [[http:// | + | |
- | + | ||
- | Functionality that's being deprecated and removed or unbundled is rarely used. The removal of '' | + | |
- | + | ||
- | < | + | |
- | + | ||
- | Sara</ | + | |
- | New feature and new core functions (like a new string library) would not break backward compatibility. | + | Arnold Daniels compiled [[https:// |
pplusplus/faq.txt · Last modified: 2019/08/14 13:47 by zeev