4 ms·
For most languages I would agree with you. But I worked on a project that migrated away from PHP, and it was definitely worth it. Before the migration, a pretty
by thayne 5y ago
For most languages I would agree with you. But I worked on a project that migrated away from PHP, and it was definitely worth it. Before the migration, a pretty big portion of bugs were because of weird unexpected things PHP did, afterwards, not so much. All languages have quirks, but PHP is on a different level than most popular languages.
And perhaps more importantly, a lot of developers hated working in PHP, and switching languages increased developer satisfaction.
Yes, it is possible to make secure, quality software in PHP, but it is more difficult than in many other languages. If making your app secure and higher quality requires substantial refactoring, or the marginal cost of maintaining security and quality in a PHP app is sufficiently high, switching to a different language could very well be worth it.
- mastazi 5y agoI'm going out on a limb and guess that either it wasn't a particularly large codebase and/or it didn't have many dependencies and/or you had more than enough resources so you could do the rewrite while at the same time providing support for the current version. In the case of Nextcloud, my educated guess is that none of the above conditions is true.
- thayne 5y agoIt was a pretty large codebase, but we did have enough resources to do the rewrite while maintaining the current version. Sort of. It was migrated incrementally, and basically whenever we needed to fix a bug or add a feature to something that was still in the PHP part, we would migrate that specific functionality over to the new language. It did take several years, but since it was done incrementally, we got value from it along the way.
- tored 5y agoHow exactly is it more difficult to write secure and quality software in PHP compared to other languages?
- BeFlatXIII 5y agoLots of legacy gotchas that aren’t as secure as you would expect because fixing the implementation to make them secure would break someone’s production code.
- tored 5y agoAny examples of these gotchas?