3 ms·
I'm not a zealot for either of the 3 languages, but I wasn't aware that Perl could be considered "ahead" of Python by any measure except libraries.
by tsally 17y ago
I'm not a zealot for either of the 3 languages, but I wasn't aware that Perl could be considered "ahead" of Python by any measure except libraries.
- jerf 17y agoOh, it's way ahead on operator count. http://www.ozonehouse.com/mark/periodic/ http://www.ozonehouse.com/mark/periodic/
- Kirby 17y agoI kind of am, but I think in reality perl and python appeal to a different enough mindset, and solve similar enough problems, that there's almost no real competition between them. Most people will instantly like one and loathe the other based on their opinions on compiler-mandated style. (It's not just that, but it's an immediate thing you encounter and exemplifies the philosophy through the whole language - the One True Way to do things, uniformly and consistently across programmers, or There's More Than One Way To Do It, the language accepting as many alternate ways as possible and adapting to the programmer.) There exist performance benchmarks, but I tend to think they continue to trend close enough together to never be a more compelling argument than the underlying design principal, for people choosing a primary language to work in. Similar for featureset - comparing modern releases, there's a vanishingly small set of real differences, especially if you're willing to consider best practice modules freely available. (IE, yes, we're sorry about Perl's built-in object model, but really, we fixed that in libraries years ago, seriously guys, years.) We can band together and agree that we hate java more than each other, though.
- enneff 17y agoYour last childish comment undermines you.
- prodigal_erik 17y ago> (IE, yes, we're sorry about Perl's built-in object model, but really, we fixed that in libraries years ago, seriously guys, years.) Can you be more specific? The tutorials (perlboot, perltoot, perlbot) still have the decade-old examples of rolling your own by blessing references. It's not at all clear which library has been made part of the language, and if there isn't one, what happens when your dependencies disagree about which version of, e.g., method dispatch should be used.
- jbert 17y agoThe languages are much more similar than they are different (in terms of feature set, not mindset), but one thing perl has which I don't understand how the python+ruby people get by without is 'use strict'. (ObLanguageWar: I'm not trying to promote perl here - I know the other languages have particular features perl does not - I'm just curious about this specific item.) Every sane perl programmer will have this pragma enabled, and it requires you to declare lexical variables, otherwise you get a compile-time error. I understand (please correct me if I'm wrong) that python+ruby instead allow lexicals to be created by assignement, leading to this problem: def important_condition(): return 1 FOO = "wrong" if important_condition(): FO0 = "correct" print FOO I'm told there are lint-like tools for python which can catch this, but since people typically don't use Makefiles to manage their python/perl/ruby code I can't imagine they are routinely used on each edit/run cycle. Can any python/ruby coders comment on this? Is it an error case which takes any significant debugging time? (Rather than the O/0 distinction above, I see this sort of error more often from inConsistent camelCase).