6 ms·
"It is a Perl guy, so ignore his opinion" :-) I learned more about you than about Dominus with that comment. Here is a link to his well received book, by the
by BugBrother 13y ago
"It is a Perl guy, so ignore his opinion" :-)
I learned more about you than about Dominus with that comment.
Here is a link to his well received book, by the way: http://hop.perl.plover.com/book/ http://hop.perl.plover.com/book/
(But the book you should probably look at to understand the world better, is "Perl best practices".)
Edit: fuzzix -- you are certainly right about most useful modern books, I was making a point to what I comment on. The idi.. cough.. Which insinuated that readable code is an unknown concept to typical Perl programmers.
- fuzzix 13y agoI would look at Modern Perl before Perl Best Practices. While Perl::Critic bases much of its criticism on PBP, quite a bit of it turned out to be not so useful.
- RyanZAG 13y agoNo - my statement is pretty clear. Someone who likes Perl is not going to be appreciative of 'one way to do something' and 'readable code'. Those properties are the basis for modern language design and they are properties that most people want in a language. Taking his opinion means also taking his assumption that the properties of Perl ('interesting code') is a good property for a language to have. Hence my advice to take any opinion from a Perl guy as coming from a Perl guy - don't disregard it, but make sure you don't inadvertently put Perl in your language design. Because Perl in your language design is going to give you unreadable code. If you're going to argue that Perl is readable code then I'm going to have to disagree with you extremely after having been in a position to maintain some Perl code before.
- BugBrother 13y ago>>[Perl is not readable] >>after having been in a position to maintain some Perl code before. Sigh... You "supported some code" and know how modern Perl looks like?! :-) Could you carefully explain e.g. the problems with Moose and the latest [syntax] extensions you find on CPAN? To start with. Making wild claims like that without support makes you seem like a language war troll or a complete asshat. To be taken seriously, show that you know what you make such big claims about. Edit: And since you have nothing to say about the subject matter -- what is it in the Python culture that brews such fanatic language war trolls? (I assume you're a Python guy?)
- RyanZAG 13y agoYou do realize you're making this in defense of someone starting a language war, right? You may be in the wrong thread. Or its only bashing a modern language when you're bashing Perl?
- BugBrother 13y ago>>You do realize you're making this in defense of someone starting a language war, right? No, I am questioning your specific claims about things you obviously have no clue about. That was a pathetic attempt to change the subject. I stop waiting for a serious answer from you now. Bye. Edit: And if you're a high schooler, sorry if I'm brusque. There is too much of this language war garbage on HN, I want to keep the quality up.
- scott_s 13y agoIf you want to keep the quality up, then please be more civil.
- BugBrother 13y agoYou're totally correct. I have just been trolled too much. The first few dozens of times I was polite.
- luser 13y agoI love Perl. I also love Smalltalk. I have written professional code in both. Clean, lovely OO code that is easy on the eye. Your opinion is a complete generalisation and makes you sound profoundly ignorant. Language choice != coding ability.
- einhverfr 13y agoI wrote a blog post which entirely disagrees with you that got around 11000 hits to date (many from here on HN).[1] It is true that one way to do something is foreign to Perl culture. It is also true that the best Perl code is pretty unreadable if you expect to read it as a C/C++/Java programmer. Perl is a very different language, and good Perl code reads very differently. I am not going to get in a language war of Perl vs Java. Both languages have their places. I prefer Perl on the server. I prefer Java on clients I have no control over because at least I can hope it has a working JVM. Readable Perl code is just different from Java. Let's take an example: package Foo; use Moose; use PGObject::Util::DBMethod; with 'PGObject::Simple::Role', 'Baz'; has id => (is => 'ro', isa => 'Int'); has name => (is => 'ro', isa => 'Str'); has description => (is => 'ro', isa => 'Str'); dbmethod int => (funcname => 'foo_to_int'); dbmethod get => (funcname => 'get_foo'); dbmethod save => (funcname => 'save_foo'); There is nothing unreadable about that. It provides a package with declarative specifications for properties and accessors (all of which are read only) and methods which delegate to PostgreSQL stored procedures (more information of which is probably further clarified in the Baz interface. There is nothing inherently unreadable about Perl. [1]http://ledgersmbdev.blogspot.com/2014/02/in-praise-of-perl-5.html http://ledgersmbdev.blogspot.com/2014/02/in-praise-of-perl-5...
- RyanZAG 13y agoThanks for the reply - I haven't touched Perl in years and it's definitely much more readable now. It looks like a lot of work has gone into making Perl more readable, especially Moose. The perl code I've seen in the wild generally doesn't look like that though. Is that more an issue of the age of most Perl code? Or are some people still writing 'old fashioned perl' even if it isn't the recommended way anymore?
- BugBrother 13y agoThere was a testing revolution over a decade ago. Then came Moose (2007ish?). You have syntax extensions now. And so on. See e.g. http://search.cpan.org/~mauke/Keyword-Simple-0.02/lib/Keyword/Simple.pm http://search.cpan.org/~mauke/Keyword-Simple-0.02/lib/Keywor... http://search.cpan.org/~mauke/Function-Parameters-1.0401/lib/Function/Parameters.pm http://search.cpan.org/~mauke/Function-Parameters-1.0401/lib... What seems to happen the coming years in Perl 5 (unless the Python language trolls manages to discredit it enough to kill it :-) ) is probably gelling around language [syntax] extensions and Moose going to the Perl core. But it will still keep backwards compatibility. (And I write horrible Perl code most days myself, as one line liners. :-) Best damn shell functionality on this planet imho, along with Emacs command line editing.)
- raiph 13y agoYour statement is pretty clear, which is useful as far as it goes. But it's also wrong, and that's pretty significant too. 1. I like Perl. 2. Imo, if someone doesn't see advantages to TSBOAPOOOWTDI then they don't understand it -- and the same is true of TIMTOWTDI, TIMTOWTDIBSCINABTE, and many other useful generalizations. 3. I love readable code. I think the above three statements also apply to Larry Wall (the creator of Perl) and many others in the Perl community. Imo "Someone who likes Perl is not going to be appreciative of 'one way to do something' and 'readable code'." is not a useful generalization. If the universe applied different rules to me than everyone else I might advise folk to take any opinion from someone who generalizes without sufficient respect for the dangers of generalization as coming from someone who generalizes without sufficient respect for the dangers of generalization. But it doesn't, so I won't. :)
- Consultant32452 13y agoTo me I think he's clearly qualified to make all sorts of judgements about Perl. For opinions on Java, I'll look to people who have written well reviewed 500+ page books on Java.