Earlier quoted context omitted.
OK thanks for the answer. I agree that this context sensitivity is probably the most Perl-ish part of Perl. I just read over the Camel book section on this, and it says: "This is the most important section in this chapter. In fact it's the most important section in the entire book." "Not only that, but you can't make any general rules to apply what you know about some expressions to others. Each expression can make u…
> In fact, a big part of learning Perl is actually learning how Larry thinks. Therefore, once you can think like Larry does, you know what Perl should do. Haha, this reminds me of Ruby's Matz: > The principle of least surprise means principle of least my surprise.
Interview with Larry Wall
61–70 of 93 posts
Re: Interview with Larry Wall
#62My experience with Perl: We (a corporate shop) have a lot 'legacy' scripts in Perl. I am assigned to maintain such scripts as no one else wants that role. I discover, Perl is powerful. Every 'legacy' script I find can be trivially regression tested (These scripts always have the same pattern, take some input, produce some output). Managers want to move away from Perl. I want to move closer to Perl.
Managers (wisely) know that a large important project isn't (shouldn't be) built by one super-star programmer who then decides to leave for greener pastures, but that it's read, often times more than its written, by a team of people. Readability > Writability.
And so Perl was destined to "fail" in the corporate world, at the expense of more boring languages like Java/C#.
Of course there's exceptions and I'm sure there's 2-3 companies still out there that run Perl exclusively, but ultimately, it's a "bearded-loner-sitting-in-the-corner" language.
Not that there's anything wrong with that.
Re: Interview with Larry Wall
#63Earlier quoted context omitted.
Although I don't think of Python and Java as that similar, I do see what Larry is getting at. Python encourages "There should be one-- and preferably only one --obvious way to do it", which is very nice for institutions where multiple programmers have to work with the same code. The power that comes from "more than one way to do it" in Perl is great for an individual programmer that wants to create his own custom too…
Yeah I see what he's getting at in the sense that Python is more regular and compositional, while Perl is more personal and "poetic" (if I'm to be charitable, I don't really like that quality in my code). But "Python has always considered itself institution-centric" is patently FALSE... as I said, if you were using Python 10+ years ago, when Perl was more popular, you would find that statement very surprising. Paul G…
I am not sure why do you correlate popularity with being 'institution-centric'. The thing is that the philosophy behind Python is very institution friendly (where institution can be academic or enterprise) and Perl's philosophy appeals to a very specific hackers subculture, but none of that has anything to do with popularity.
Perl was popular because it sucked less than the alternatives for CGI 20 years ago. Python benefits from its vast set of libraries to the point that sometimes feels more like a Lego language rather than that a general purpose programming language. Again, I don't see the correlation of that with the fact that might be coder or institution centric.
Re: Interview with Larry Wall
#64Earlier quoted context omitted.
I will agree with you that Python didn't consciously consider itself institution-centric, but it has valued institution-friendly goals such as readability and maintainability.
My problem is that I don't consider those institution-centric goals... I consider them to be essentials for developing good software quickly. I've written many open source Python projects in the thousands of lines, and one of them was 30K lines. Right now, I'm actually going back to some 4 year old Python code I wrote by myself, outside of any institution. I don't see how you could NOT value readability and maintaina…
I would say it depends. Readability and maintainability are very nice virtues, but if you are a driver or graphics developer and it cost you the performance then it stops to be desirable.
>As if writing readable code is actually a burden or a cost
It does have a cost, most of the time in the performance form and some other times in creativity form.
Re: Interview with Larry Wall
#65Earlier quoted context omitted.
I will agree with you that Python didn't consciously consider itself institution-centric, but it has valued institution-friendly goals such as readability and maintainability.
My problem is that I don't consider those institution-centric goals... I consider them to be essentials for developing good software quickly. I've written many open source Python projects in the thousands of lines, and one of them was 30K lines. Right now, I'm actually going back to some 4 year old Python code I wrote by myself, outside of any institution. I don't see how you could NOT value readability and maintaina…
As a great counter example look at Haskell. The ramp up time for a typical Haskell program is fairly high but once you invest the upfront cost and understand the programs major abstractions you can make changes quickly and in a much less error prone fashion.
Re: Interview with Larry Wall
#66My experience with Perl: We (a corporate shop) have a lot 'legacy' scripts in Perl. I am assigned to maintain such scripts as no one else wants that role. I discover, Perl is powerful. Every 'legacy' script I find can be trivially regression tested (These scripts always have the same pattern, take some input, produce some output). Managers want to move away from Perl. I want to move closer to Perl.
I can write Perl. Okay-ish. But I can almost never read Perl. I mean, I can read my Perl, 75% of the time, but other people's Perl? Very difficult. Managers (wisely) know that a large important project isn't (shouldn't be) built by one super-star programmer who then decides to leave for greener pastures, but that it's read, often times more than its written, by a team of people. Readability > Writability. And so Perl…
Can you explain how Perl was destined to fail in the corporate world?
Re: Interview with Larry Wall
#67My experience with Perl: We (a corporate shop) have a lot 'legacy' scripts in Perl. I am assigned to maintain such scripts as no one else wants that role. I discover, Perl is powerful. Every 'legacy' script I find can be trivially regression tested (These scripts always have the same pattern, take some input, produce some output). Managers want to move away from Perl. I want to move closer to Perl.
I can write Perl. Okay-ish. But I can almost never read Perl. I mean, I can read my Perl, 75% of the time, but other people's Perl? Very difficult. Managers (wisely) know that a large important project isn't (shouldn't be) built by one super-star programmer who then decides to leave for greener pastures, but that it's read, often times more than its written, by a team of people. Readability > Writability. And so Perl…
Readability, of ANY code, is more often than not determined by how good the author is at naming things and avoiding senseless repetition (which are both skill honed with experience), and much less by any given feature of the language itself.
Re: Interview with Larry Wall
#68My experience with Perl: We (a corporate shop) have a lot 'legacy' scripts in Perl. I am assigned to maintain such scripts as no one else wants that role. I discover, Perl is powerful. Every 'legacy' script I find can be trivially regression tested (These scripts always have the same pattern, take some input, produce some output). Managers want to move away from Perl. I want to move closer to Perl.
I remember as a young programmer, our client once asked us to produce tool to migrate an entire legacy version control system with something like 20 years of history to a different version control system. It first went to up to some UML drawing Java architect, he came up with a estimate to have it done in 3 months with a team of 2-3 people working full time. The client was like "Never mind, forget about it". A few weeks passed by and client had dropped their mind to migrate the history and opted to just have the latest files checked in. In a random discussion with my manager it got a mention. My manager asked to check if I can do it quickly. I remember I wrote a script over the weekend and had every thing done. It was in Perl.
The script then got passed around and lot of people migrated their repos.
Finally it reached the Java architect. He had a hard time believing something like a few thousand lines of functioning feature rich code could even be written over the weekend. We had a good talk about it.
Perl belongs to a very different culture of programming/programmers who care only about solving problems and getting things done. Its not exactly a language that blends well with corporate political goals.
Re: Interview with Larry Wall
#69"Perl has always considered itself primarily a programmer-centric language, while Python has always considered itself to be more institution-centric. So in a sense it's a bit dumbed down, much like Java. You'll note both of those languages make their greatest appeal to managers. :-) " Huh? I was using Python when Perl was more popular, and this seems completely fabricated. He's trying to lump Python in with Java, whi…
Another comment on this was downvoted, because it was unkind, but the point it made is correct:
That statement of yours there is entirely wrong. Python's OO is what it is and it's largely static. Perl's OO however consists, at the language level, of building blocks that are very low level. That does not mean Perl's OO is bad however, since in the year 2016, you rarely operate at that level. Instead you use Moo or Moose, which take these building blocks and provide an OO API that is better than most competitors' OO APIs.
Have a read through this, and try and see how much code you'd need to write in other languages to duplicate the entire range of features you see in the code samples: https://metacpan.org/pod/distribution/Moose/lib/Moose/Manual...
Re: Interview with Larry Wall
#70Earlier quoted context omitted.
That's basically everyone's sentiment in the Perl community right now. Perl6 is a nice language (I mean, I'm not a huge fan, but it's not bad either) but it's a language that has some Perl influences but is definitely not Perl. It's like if Ruby was called Smalltalk 2.
> everyone's sentiment in the Perl community right now Definitely not 'everyone'. And I strongly suspect it's not even 'most'. There has been a relatively small but very vocal group with this point of view.