3 ms·
I also find that this varies by the ecosystem. In PHP I would not assume that an external dependency is without flaws. In fact, I'd assume that it's mostly bug
by sshine 6y ago
I also find that this varies by the ecosystem.
In PHP I would not assume that an external dependency is without flaws. In fact, I'd assume that it's mostly buggy simply due to the lack of a type system, but fine if I navigate the happy path.
In Haskell I would assume that I'm using the library in a wrong way. In Haskell I also find that I can categorize libraries by quality and that, in the most cases, I'm not running into bugs, but rather lack of good examples or lack of pushing the dependency bounds to Stackage (the package distro on top of Hackage), either because the author doesn't use Stackage or because they've become too busy.
---
Comparing code 10 years ago and now:
I find that there are much more libraries in almost every ecosystem.
That means: More stale packages, more low-grade packages, more critical selection required, but also more opportunities! Hopefully you also experience that you can do a lot more with packages than you were able to 10 years ago.
This, in some ways, has shaped modern software development a lot.
- TheCapeGreek 6y agoIn case OP or anyone else is interested: PHP lacks strict typing (by default). For older applications I agree with you, but in the last few versions it's been a lot better. Depending on your framework or tools, you can customise file templates and add strict typing to each file, i.e. Laravel's `php artisan make:xxx` can now always have declare(strict_types=1); . Of course you can't assume that for external packages, but it's highly recommended.