7 ms·
There is more than one way to look at it. I've been coding in Perl for 20 years, I'm a CPAN author [1] and I just published my third CPAN contribution yesterda
by eruci 7y ago
There is more than one way to look at it.
I've been coding in Perl for 20 years, I'm a CPAN author [1] and I just published my third CPAN contribution yesterday.
I've written over half a million Perl lines of currently in use enterprise cloud software[2] and I'll keep coding in Perl because I don't like the big snake dictatorship of "There should be one — and preferably only one — obvious way to do it."
[1] https://metacpan.org/author/ERUCI https://metacpan.org/author/ERUCI
[2] https://aws.amazon.com/marketplace/seller-profile?id=434e9862-6909-489d-8159-669bdb38f724 https://aws.amazon.com/marketplace/seller-profile?id=434e986...
- MichaelMoser123 7y ago"There should be one — and preferably only one — obvious way to do it." That is a python design principle https://en.wikipedia.org/wiki/Zen_of_Python https://en.wikipedia.org/wiki/Zen_of_Python Now there are multiple (sometimes very confusing) ways to import stuff in python, so I am not quite sure if this principle is being followed. https://realpython.com/absolute-vs-relative-python-imports/ https://realpython.com/absolute-vs-relative-python-imports/
- cure 7y agoThe other place where this principle is completely ignored is when it comes to Python packaging, which is a complete and utter disaster. There are many different ways to package Python, none of them are feature complete, and the result is an absolute maintenance nightmare for those of us who have to maintain tools that have Python dependencies. Perl got packaging right, there's one way to do it, and it just works!
- a3n 7y ago> Python packaging, which is a complete and utter disaster. This is a huge barrier to entry for the first time or casual contributor. And when you try to figure it out (or figure it out again), you have to triage all the old and new overlapping documentation.
- perigrin 7y agoThere isn't one way to do it in Perl (EUMM, Module::Build, Module::Build::Tiny, Module::Install etc), we just tried to make sure that they all interoperated cleanly. And we have things like the Toolchain Summit to make an emphasis on that.
- cure 7y agoI stand corrected, thank you :) Clearly, you succeeded in your mission since it feels like there's one way, and most importantly, it 'just works'. Many, many thanks to you and everyone who made that happen!
- Izkata 7y agoAlso don't forget, how to manage a virtualenv and how to do parallel processing.
- hedora 7y ago"There should be one — and preferably only one — obvious way to do it.” In practice, perl came closer to achieving this than python.
- kevin_thibedeau 7y agoMinus the dozens of cryptic special variables.
- prakashk 7y agoEvery (most?) special variable has a non-cryptic alias, if only one were disciplined enough to choose to use the alternative.