PHP is just a tool with which you can put together cool things. And I like exactly this - that is created with PHP. I have never worked for a tool company; I worked for many years at Yahoo, then at WePay, now at Etsy. These are companies that work for normal, ordinary people, and PHP is an integral part of them. This is the tool we use to do things for real people.
')
And companies that make tools work not for people, but for programmers - like Mongo, like MySQL, etc. If you go out and ask ordinary people if they have heard of Mongo or MySQL, no one will answer yes. And about PHP, none of them have heard, and that's good.
On the other hand, if you go out and ask people if they heard about Facebook, what would they say? Everyone will say that they heard. I am interested in just such products, I want to do things for real people. You ask why I do not want to start a company to develop PHP? It does not concern real people, only fools like me; besides doing something for programmers is a very annoying thing.
- Does this mean that at some point you abandon PHP or will you spend less time on it?
- The only reason for the existence of PHP is that it is a tool for creating products for real people. And I need this tool, without it I cannot do it; The same applies to many companies. I like practicing PHP, but I need to see the effect for real people: if I don’t see it, I don’t make sense to continue doing it.
- Due to the fact that all our programmers are volunteers and are engaged in what they like, not enough people are working on things like reliability and security, where you need to handle bug reports and find rare cases in which for no apparent reason segfault Usually these are very strange cases, and it is very difficult to understand them.
The main reason for the difficulty is that bug reports are usually written poorly. They do not explain the severity of actions, it simply says “Everything is broken,” and you have to ask leading questions for a long time to understand exactly what happened. This is a huge amount of work, especially when at the other end there is a person who does not explain bugs very well; but I must say that, in general, no one explains the bugs well. One such task may take three days.
Since the development of new features is moving rather quickly - say, the time gap between PHP 5.4 and 5.5 was small, plus there will be many new features in PHP 5.6, I worry about the reliability of all these innovations. Checking all the "extreme cases" with their use takes some time, and often developers tend to move more quickly to new tasks.
One suggestion for PHP 5.6 is to do the same for encryption. When you create an SSL connection, you need to check the certificate of the second party and that you are using the current certificate database. This is easy to do, but many developers do not bother with this. Then they reuse the same code on other projects, and it turns out that they are vulnerable to “illegal intermediary” attacks (man-in-the-middle). So in PHP 5.6, all this work with encryption can be embedded by default.
- And who makes the final decision [on innovations in PHP]? You?
- Not. The decision we all make, I refuse to become a bottleneck in this process.
- That is, in PHP democracy?
- Yes, we vote for the proposed opportunities. Sometimes, however, it happens that the majority votes in favor, but later it turns out that implementation is impossible for technical reasons. But 95% of approved features fall into the project.
- Are there other programming languages ​​with a similar development process?
- I think in most cases there is still one person who makes the final decisions, and the task of the others is to convince this person. The same happens, for example, with Linux: if Linus Torvalds says no, then this is not subject to appeal. This is also normal, but for me PHP is not the main job, and besides, I don’t like to make decisions of this level.
PHP is a very wide project with support for a variety of things, and it’s not at all a fact that I understand them all. For example, I do not understand Sybase, I have never used it, and when one person suggests doing something in this area, and the other three say no, we do not. These guys understand Sybase, but I don't want to interfere, I don't have the necessary knowledge.
I am sure that Linus also has such situations, but he really goes deep into all questions, understands and tries to make the right decision, which is worthy of respect. But this is his main job, he gets paid to do just that. And for me, PHP has never been a major job.
- I can not stand to fly, I do not really like travel, but the places where I go are always interesting. I like to find out what real users need, rather than listening to developers' complaints about garbage over and over.
I love listening to users, especially at User Groups and conferences. They talk about how PHP helped them solve some problems - or, conversely, could not help for some specific reason. Sometimes they tell how PHP has changed their lives, or how people's lives have changed somewhere in a small town in South America thanks to a project written in this language.
Source: https://habr.com/ru/post/202890/
All Articles