<- Back
Comments (61)
- idoubtitThe README is quite ahead of reality: it never mention that Mago is still beta software. A roadmap to a first release was created 5 days ago, https://github.com/carthage-software/mago/issues/405.I've just tried to apply it to a medium-sized project, and it spitted tens of thousands of errors where phpstan and psalm don't see any. At first glance, it's because Mago does not parse phpdoc. In its current beta state, Mago is meaningless for all the big PHP projects, which are its main target.Mago might succeed, but I wouldn't bet on it. Its main selling point is that it promises to be faster than the usual static analysers-linters (phpstan and psalm). But if it does not reach feature parity with them, the speed gain probably won't convince PHP projects to drop the standard tools. Since phpstan and Co keep evolving, keeping feature parity will require constant work. And PHP is more niche than Python or JS, so contributors mastering Rust and PHP will be fewer, compared to phpstan/psalm which are written in PHP.
- anta40I initially thought this was a PHP implementation in Rust.... but it's notWill Mago implement a PHP runtime?Absolutely not. The PHP runtime is incredibly complex. Major efforts by large companies (e.g., Facebook's HHVM, VK's KPHP) have struggled to reach full parity with Zend Engine. Achieving this as a smaller project is infeasible and would lead to community fragmentation. We are focused on tooling, not runtimes.https://mago.carthage.software/faq
- NietTimSeen this around quite abit over the past few days. I wish the github landing page/readme would actually substansiate why this is better beyond it being written in rust which seems to be the main argument for the tool right now. I make my money from PHP, I preffer stability.
- dzongaseems rust's biggest win was improving other languages toolchains and bringing increased productivity to those languages.
- darkamaulSo I guess this is `uv`, but for PHP?If it has remotely the same success, that would be a huge win for the ecosystem!
- muglugIt is very cool that this exists, but the PHP community lacks the resources to see a non-PHP tool thrive.Tools like Sorbet (C typechecker for Ruby) or tsgo (Go-based successor to TypeScript's typechecker) are only viable because big profitable companies can back them up with engineering hours.
- Raed667Love seeing some Tunisian representation here ! Kudos on the project !
- loegBut what does it do?
- quotemstrHow many hours and dollars get wasted on reimplementing the same basic concepts over and over for this or that language runtime?
- cynicalsecurityAll of this already exists and each separate product is actively developed, keeping up with all of the changes in PHP. This toolset looks too ambitious.