Re: Perl culture, perl readabillity
Piers Cawley wrote: be "If it's a word for a concept we don't actually have a word for, and it's not a complete and utter bastard to pronounce/spell then nick it." s/not//; s/nick/bastardize/; :-) -- John Porter
Re: Perl culture, perl readabillity
Dunno--the older a language is, the more regular it seems to be. (The rough edges get worn off, I assume) While Latin had a reasonably complex set of rules, it was more regular than English. Japanese feels the same, though I'll grant I've little enough experience with it that my impression might be wrong or incomplete. Irregularity seems to come in with the new, and gets beaten down a bit with long usage. It's also worth recognising the extent to which English has absorbed elements of other languages inc Latin and French. At the same time, sometimes the desire to communicate (driven by political change, for example) outstrips the process of codification of a language. At the moment I'm working with a historian who is trying to process and analyse a huge pile of 17th C documents -political pamplets, army documents etc - from the period of the English Civil war - which use english, latin, french (from legal system, mainly) but in some cases are written entirely phonetically ... and even inconsistently within the same document. Ick. Coming soon! Lingua::parse17thcenturyenglish .
Re: Perl culture, perl readabillity
"Dan" == Dan Sugalski [EMAIL PROTECTED] writes: Dan Dunno--the older a language is, the more regular it seems to Dan be. (The rough edges get worn off, I assume) While Latin had a Dan reasonably complex set of rules, it was more regular than Dan English. Japanese feels the same, though I'll grant I've little Dan enough experience with it that my impression might be wrong or Dan incomplete. I'm fluent in Japanese (lived there for 6.5 years, married to a woman who didn't speak English until we moved to New York), and I'd have to say you are very wrong. But, your impression is only natural, if your experience with the language is limited. When you learn a new language, you start off by learning its regularities. Only when you start to approach a more advanced level of understanding do you begin to learn the really twisted irregularities that are an inevitable side effect of centuries of linguistic evolution. Japanese doesn't have the perverse spelling rules of English, for example, but it does have plenty of special cases and cultural oddities. Enough so that I would not say it is "regular". More so than English perhaps, given the relative cultural and geographic isolation under which it evolved. English, by comparison shows the effects of protracted foreign occupation of English speaking peoples by conquerors who spoke a foreign language. Japan, in contrast, has no "independence day" because until 1945, they had never been invaded and conquered. Even still, Japanese isn't immune to the effects of "foreign influence". Most of the vocabulary for technology and science are taken from English, and a number of Dutch and German terms have crept into the vocabulary as well. But most of this was introduced in teh last century, since the "Meiji Restoration" in the 19th century, when Japan realized that thay had better start paying attention to the rest of the world. The Dutch influence goes back a bit further, but it is not that deep.
Re: Perl culture, perl readabillity
[EMAIL PROTECTED] writes: English, by comparison shows the effects of protracted foreign occupation of English speaking peoples by conquerors who spoke a foreign language. And also of protacted occupation of foreign countries by English speaking conquerors. Witness the number of Indian loan words, especially in British English, and even more so in Army English. Japan, in contrast, has no "independence day" because until 1945, they had never been invaded and conquered. Remember, Britain hasn't been invaded or conquered since 1066. A remarkably large number of 'foreign' words have entered English since then. The rules seems to be "If it's a word for a concept we don't actually have a word for, and it's not a complete and utter bastard to pronounce/spell then nick it." -- Piers
Re: Perl culture, perl readabillity
"PC" == Piers Cawley [EMAIL PROTECTED] writes: PC Remember, Britain hasn't been invaded or conquered since 1066. A PC remarkably large number of 'foreign' words have entered English PC since then. The rules seems to be "If it's a word for a concept we PC don't actually have a word for, and it's not a complete and utter PC bastard to pronounce/spell then nick it." shouldn't that last part be, don't change its spelling but definitely change its pronunciation? :) and a large part of the english language growth was not due to the unconquerable britain but the reverse, all the places that england conquered (or tried to). and the US is a large part of that with its gung ho culture and acceptance of new anything. so many modern english words (especially in the sciences and engineering) were/are just made up in america from various sources (acronyms, latin/greek roots, whims, etc.). english is so broad because of its history of borrowing and allowances for change. you don't get vocabularies of .5-1M words without a license to steal! uri -- Uri Guttman - [EMAIL PROTECTED] -- http://www.sysarch.com SYStems ARCHitecture and Stem Development -- http://www.stemsystems.com Learn Advanced Object Oriented Perl from Damian Conway - Boston, July 10-11 Class and Registration info: http://www.sysarch.com/perl/OOP_class.html
Re: Perl culture, perl readabillity
At 12:00 PM 4/3/2001 +0100, Simon Cozens wrote: On Mon, Apr 02, 2001 at 09:12:00PM +0200, Kai Henningsen wrote: In fact, I've come up with the same idea independently. Except I'd go a bit further and claim that only a native English speaker could possibly come up with the idea that irregularity is useful. I'd say that only a linguist could possibly come up with the idea. :) Nah, there are a lot of different disciplines that would think this. Architects, landscape designers, and a variety of mathematicians and applied physicists spring to mind... :) It's most definitely not. Then you'll have no problems with these little teasers: 1) Name one perfectly regular natural language. ("Natural" in the sense of "having native speakers") 2) Explain why, if people *want* regularity, the evolution of natural languages has tended *away* from regularity in almost all circumstances. Dunno--the older a language is, the more regular it seems to be. (The rough edges get worn off, I assume) While Latin had a reasonably complex set of rules, it was more regular than English. Japanese feels the same, though I'll grant I've little enough experience with it that my impression might be wrong or incomplete. Irregularity seems to come in with the new, and gets beaten down a bit with long usage. Dan --"it's like this"--- Dan Sugalski even samurai [EMAIL PROTECTED] have teddy bears and even teddy bears get drunk
Re: Perl culture, perl readabillity
In my experience of Japanese (and other languages) it's quite the opposite. Speakers get lazy. They cut corners. They omit things. They corrupt verb forms. Latin was pretty regular; languages derived from it aren't. Simon doesn't know anything about Japanese, though. ;) The evolution of languages isn't exactly stop-and-go. All natural languages have evolved from something. Irregularities compound. The exception is word polysemy, which tends to increase with the evolution of the language. Whether ambiguous contexts are irregular is debatable, however.
Re: Perl culture, perl readabillity
At 10:43 PM 4/3/2001 +0100, Simon Cozens wrote: On Tue, Apr 03, 2001 at 05:20:11PM -0400, Dan Sugalski wrote: Dunno--the older a language is, the more regular it seems to be. (The rough edges get worn off, I assume) While Latin had a reasonably complex set of rules, it was more regular than English. Japanese feels the same, though I'll grant I've little enough experience with it that my impression might be wrong or incomplete. In my experience of Japanese (and other languages) it's quite the opposite. Speakers get lazy. They cut corners. They omit things. They corrupt verb forms. Latin was pretty regular; languages derived from it aren't. Latin wasn't all that regular to start with. I'll grant that it may be an outlier on the graph, though, given it was used mainly by the Roman Catholic Church for the past millenia or so, putting it in the "intellectual" language category for an awfully long time. The complexities of language seem to get worn down with age and people get sloppy with it, but the regularity generally seems to increase because of that. The odd forms of words or different cases/tenses/declensions get beaten down and more of the language gets wedged into fewer boxes. The number of rules for a language seems to tend towards a local minima. (I've watched that happen as my kids have learned to talk) Heck, the amount of entropy in a language seems to tend towards a local minima. IANAL, though (and I don't even play one on TV) so I'm not sure these observations really hold in the general case. Probably not really perl6-language appropriate anymore, either. (I think--might be wrong on that one) Dan --"it's like this"--- Dan Sugalski even samurai [EMAIL PROTECTED] have teddy bears and even teddy bears get drunk
Re: Perl culture, perl readabillity
[EMAIL PROTECTED] (Simon Cozens) wrote on 26.03.01 in [EMAIL PROTECTED]: Oh, and you think Perl is more English than German? In fact, I've come up with the same idea independently. Except I'd go a bit further and claim that only a native English speaker could possibly come up with the idea that irregularity is useful. It's most definitely not. [1] Why do people want programming languages to look like human languages anyway? We use them for such completely different problem domains... Well, I never quite understood this particular argument of Larry either. MfG Kai
Re: Perl culture, perl readabillity
On Thu, 29 Mar 2001 06:53:49 +0200, Otto Wyss [EMAIL PROTECTED] wrote: - Make readability your main objective. Readability is possibly the weakest part of Perl. - Keep your eyes on modularity. Modularity is by far the best concept where complexity could be hidden. - Don't forget usability. This is after all the point why people use Perl in the first place. It seems you are not interested in critics, so lets end this thread. Au contraire. The Perl community is *very* much interested in critiques. Seen the amount of response to you starting mail, this is overwhelming. One thing you probably `missed' in this discussion, is the way /you/ look at the language. Writing to the perl community, you're writing to people that got used to the syntax and now see the logic and usability of the 'line noise' you call unreadable. Every language has got it's pros and cons. Perl's first usage for most of us is probably it's glue function and versability. When you program/script in perl for a few weeks/month/years, you'll get used to it, and you're going to like it and probably even appreciate it. I started using perl in my company after reading an article in Unix-Info (a dutch magazine) that stated that perl would do well as an awk, grep and sed replacement, and that rose my curiosity. All those utils on unix have their own syntax, and you don't tell me that sed, awk and grep based scripts are readable/maintainable, esp. if there's a lot of programmers involved in setting up the lot. Perl being a fine replacement for it, has now 'conquered' this company. We almost never ever use shell scripts anymore, and there's not many left that know how to write awk and sed scripts. One syntax will do. In the beginning we wrote Perl scripts that called external SQL scripts, which now are converted to DBI/DBD. Perl's glue function saves time. A reason to postpone using DBD was that our database was not (yet) implemented by someone, so I had to write it myself. Now the world has access to yet another Database interface for perl through CPAN, yat another *BIG* advantage of the perl community: they /share/ the knowledge. If you want code that is readable by *all* your (even unexperienced) programmers and want to keep it maintainable, feel free to use python, but if you want to grow the program into more flexible use, extend it later to use yet another database, interface or character encoding, I think you should hop over the initial line noise and just *USE* perl. If you do, I'd like to hear your experience half a year from now. Have the appropriate amount of fun (in whatever language)! -- H.Merijn Brand Amsterdam Perl Mongers (http://www.amsterdam.pm.org/) using perl-5.005.03, 5.6.0, 5.6.1, 5.7.1 623 on HP-UX 10.20 11.00, AIX 4.2 AIX 4.3, WinNT 4, Win2K pro WinCE 2.11 often with Tk800.022 /| DBD-Unify ftp://ftp.funet.fi/pub/languages/perl/CPAN/authors/id/H/HM/HMBRAND/
Re: Perl culture, perl readabillity
Nicely put, Merijn. Stomping into (any) programming language camp and telling loudly that what you are doing is wrong is a bit like stomping into a Mongol camp and asking what's up with the funny fur hats. Or, in the of case Perl, accusing us of too much line noise and being too hard to read, is like complaining to the Chinese/mathematicians that can't you just using Latin letters / plain English instead of Greek and symbols so that the rest of us could understand you. -- $jhi++; # http://www.iki.fi/jhi/ # There is this special biologist word we use for 'stable'. # It is 'dead'. -- Jack Cohen
Re: Perl culture, perl readabillity
Quoting [EMAIL PROTECTED]: :I'm choosing a new language only if is suitable for most of my tasks and :these range from the 10 line script up to several million line project. :Currently Perl is rather capable for any small scripting task but it's :out of questions if there are more than 2 person involved or the line :count goes above several hundreds (maybe thousands). And this is only :because to much time is lost in understanding what all the other code is doing. The current project I'm leading at work is a 18000 line of perl application. Yes, 18_000, and that's only pure lines of code, with comments and blank lines not counted. It's very maintainable, but then, it's using strict OO programming, which tends to encapsulate things well, and I have imposed the "programming by contract" methodology to make things scalable in the large. When I say strict OO programming, I mean: * Use explicit plain perl -- not "use base", "use fields" or things that tend to hide extra processing under the hood that rises the overall complexity instead. * Have explicit access routines for every attribute, and never dereference attributes explicitely. That is, say: $o-attr and NOT: $o-{attr}; There are also explicit -set_attr() routines for all attributes that can be set. * Most methods specify a contract with explicit REQUIRE and ENSURE clauses. The code also uses ASSERTs in places. * Use modules like Getargs::Long to have long argument names for routines that take more than, say, 3 args, especially for creation routines. This also allows type checking. So no, your argument does not stand as it is! I've seen people do horrible C-like things in "clean" languages like Eiffel, and people do *very neat* things in C, or, more often, Perl. Raphael
Re: Perl culture, perl readabillity
At 06:53 AM 3/29/2001 +0200, Otto Wyss wrote: It seems you are not interested in critics, so lets end this thread. More to the point, I said let it rest, so the thread should end. Now. And this means *everyone*. Thank you. Dan --"it's like this"--- Dan Sugalski even samurai [EMAIL PROTECTED] have teddy bears and even teddy bears get drunk
Re: Perl culture, perl readabillity
- Make readability your main objective. Readability is possibly the weakest part of Perl. - Keep your eyes on modularity. Modularity is by far the best concept where complexity could be hidden. - Don't forget usability. This is after all the point why people use Perl in the first place. It seems you are not interested in critics, so lets end this thread. O. Wyss
Re: Perl culture, perl readabillity
Please CC Otto in all replies concerning this topic. I want to make sure he reads how wrong he is about Perl and its readability and I think Simon sums it up perfectly here. Thank you very much for the CC and including Simon's message at the end. I also want to add that all of those strange looking symbols make Perl the powerful language it is. I love the freedom Perl gives me to express my algorithms in my own unique, and hopefully efficient, manner. TMTOWTDI baby! Could you imaging being the leader of a 10 people project where everybody design and codes in their own unique manner? [...] I did not move to Perl because it had the simplest syntax (that wasn't what I was looking for anyway) and I personally feel that shouldn't be your main motivation in choosing a language to begin with. I moved to Perl because it allowed me to create extremely powerful, portable, and flexible programs faster than any other language I have currently ever used. Just learn it well, Otto, and you'll soon appreciate and love Perl's rich syntax. I'm choosing a new language only if is suitable for most of my tasks and these range from the 10 line script up to several million line project. Currently Perl is rather capable for any small scripting task but it's out of questions if there are more than 2 person involved or the line count goes above several hundreds (maybe thousands). And this is only because to much time is lost in understanding what all the other code is doing. To all you great programmers working on Perl6, don't make it Pascal (and I know you won't) make it the better TMTOWTDI Perl I know it can be. Thanks for listening to my rant. I don't want to make Perl into Pascal, I mentioned it only to drastically show the difference in readability. [...] On Fri, Mar 23, 2001 at 11:34:41PM +0100, Otto Wyss wrote: - Make readability your main objective. Readability is possibly the weakest part of Perl. There's nothing fundamentally about Perl that makes it unreadable. Seriously. Perl doesn't write unreadable Perl, people do. You can write some beautifully readable programs in Perl. You can write some horrible programs in Perl too. Try it. Take an algorithm and write it in as many ways as you can. Try and make it as ugly or as beautiful as possible - the fact is, you *can* choose how readable you want it to be.b In other words it's the english speaking children's own fault if they have more reading problems than others? Of course there are beautiful poems written in english as well. And I'm definitely not going to say most written english is horrible. No it's not horrible it's only not easy readable. I this respect perl and english are rather equal. Oh, sure. So it has funny symbols. But it's a different language![1] It's just like reading things written in Cyrillic. That's unreadable if you don't know any Cyrillic. Well, duh. Once you know the alphabet, it's as clear as day. It's is not proven but I suspect even russian speaking children have much less problems than english. I wouldn't be surprised if this holds for Japanese as well. [..] In short, no. Readability isn't the weakest part of Perl; it's the weakest part of Perl programmers. "You can write FORTRAN in any language". Because Perl gives people a means to express their thoughts in a manner more compact than their ordinary natural language, they do. Oh, and you think Perl is more English than German? Here's someone who doesn't think so: ``Perl is the successfull attempt to make a braindump directly executable.'' - Lutz Donnerhacke in de.org.ccc I've never said German (or Italian) is the better language than English. I only said English is not as easy readable. And even if there isn't any study it's obvious that Perl is not as easy readable as Pascal. As the facts stands Perl5 is not well suited for medium to large programming tasks. But as much as I understand Larry Wall Perl6 might get into the position of a capable candidate. If it will be, only history will tell us. IMHO Perl lacks readability and IMHO not enough is done during the RFC process. If you really like Perl don't questions this personal opinion, better look for solution in enhancing readability without compromising usability so I might change my mind later on. It's not easy to find the hot spots neither easy to fix them. How about going through the perl mailing lists and look for all the silly novice questions? IMHO Perl lacks modularity or better said a construct similar to a standard library. Besides the missing standard library in Pascal was the reason why Pascal didn't succeed. So it might be necessary to have a separate RFC process on which modules where included an with which interface. Maybe there isn't just one library. IMHO Perl does not lack usability but usability is so important, it always has to be kept in mind. O. Wyss PS. Please don't forget to CC.
Re: Perl culture, perl readabillity
On Tue, Mar 27, 2001 at 11:33:18PM +0200, Otto Wyss wrote: Could you imaging being the leader of a 10 people project where everybody design and codes in their own unique manner? No, which is why in *those* situations, you have house rules. I don't think Perl stops you doing that. It just doesn't enforce them; project managers do that. :) There's nothing fundamentally about Perl that makes it unreadable. Seriously. Perl doesn't write unreadable Perl, people do. You can write some beautifully readable programs in Perl. You can write some horrible programs in Perl too. Try it. Take an algorithm and write it in as many ways as you can. Try and make it as ugly or as beautiful as possible - the fact is, you *can* choose how readable you want it to be.b In other words it's the english speaking children's own fault if they have more reading problems than others? I'm not sure how that follows from what I said. All languages have the potential to be used to compose both beautiful and ugly utterances. It's is not proven but I suspect even russian speaking children have much less problems than english. I wouldn't be surprised if this holds for Japanese as well. Yes, true. But until people speak any computer programming languages as a first language, this is completely irrelevant to the discussion in hand. Oh, and you think Perl is more English than German? Here's someone who doesn't think so: ``Perl is the successfull attempt to make a braindump directly executable.'' - Lutz Donnerhacke in de.org.ccc I've never said German (or Italian) is the better language than English. I never said you said that. IMHO Perl lacks readability OK, before this *completely* heads into the direction of advocacy, which it's dangerous close to anyway, you need to qualify that. Are you saying that the Perl code that *I* write lacks readability? I don't think so; I think I write readable code. Do you see the problem? PEOPLE use the language in different ways. Some use it well, some don't. You're saying that a language "lacks readability", but firstly, you're not actually qualifying that in any way. You're not giving any examples of what you mean, and this means we can't make it better. Secondly, "Perl" isn't unreadable. I don't think it even makes sense to say that a language is unreadable. A language generally consists of a grammar, (which is generally not written down) an alphabet, (individual symbols of which might be pretty aesthetically unpleasing, but that's by the by) and some semantic content which isn't written down either. There's nothing "unreadable" about English and there's nothing unreadable about Perl. There's certainly things unreadable (to me at least, because I'm not used to it) about John Milton, and there's certainly things unreadable about Abigail's JAPHs. (to you at least, because you're not used to it.) But Milton isn't the English language any more than a JAPH is the Perl language. Anyway, I'm setting follow-ups to perl-advocacy to try and get this out of here. If you have any positive, practical, real suggestions as to what you think is unreadable *and* how to improve it, feel free to send it back to perl6-language. At present, though, this doesn't belong here. -- About the use of language: it is impossible to sharpen a pencil with a blunt ax. It is equally vain to try to do it with ten blunt axes instead. -- Edsger Dijkstra
Re: Perl culture, perl readabillity
I think Simon meant '[EMAIL PROTECTED]', but isn't interested enough to correct himself. :)
Re: Perl culture, perl readabillity
OK, before this *completely* heads into the direction of advocacy, which it's dangerous close to anyway, you need to qualify that. Uh, have you followed this thread? It's nothing but another perlbashing session by a verbosity monger who can't handle $.
Re: Perl culture, perl readabillity
Uh, have you followed this thread? It's nothing but another perlbashing session by a verbosity monger who can't handle $. Well, you can bash him back in perl6, or continue the conversation on advocacy. Up to you. Excuse me, but why would you send a perlbasher to the perl advocacy list. I mean, I know Nat tolerates it, but it's completely inappropriate. Just send him back to comp.lang.python OK, Otto, go back to comp.lang.python. Or, discuss your concerns about Perl on [EMAIL PROTECTED], where a few folks might just help you understand the method behind the madness.
Perl culture, perl readabillity
As a developer since a quarter century but only a few months in Perl I'm closely following the process of creating Perl6. I'm exited and also disappointed what's going on in this process. This morning I read an article which is completely unrelated to Perl but might give some insight why Perl is Perl. A study in Science (291 P.2165) found out that english speaking children has twice as much reading problems as italian speaking children of the same age. And about similar difference towards german and french. This could come from the fact that english has for 40 phonetics over 1100 kinds of writing while italian has for 25 phonetics only 33 kinds of writing (sorry I hope I've translated it into correct terms). Also 9 years old english children produce more reading error than 7 years old austrian children. This is exactly like I feel when I see a Perl script. Lots and lots of special symbols, special cases. And several where it's not easy to understand. This might come from the fact Perl was/is designed by english speaking people. It seems that the complexity of english writing is directly integrated into Perl. On the contrast Pascal was designed by a german speaking person (Wirth). I'm not saying Perl should become Pascal nor Pascal like, I only want to show the difference. While Pascal (at least standard Pascal) was so limited, it's still possible to read 20 years old programs. Well Larry once said "... lots of languages that come out of Europe have this thing of ..." (http://archive.develooper.com/perl6-language%40perl.org/msg05283.html). This also might be related to the language. I have come to Perl6 just about a month ago, so I can't give much advice what should be done. Also I'm not too accustomed to Perl to spot weaknesses. All I can do is give some general advice. - Make readability your main objective. Readability is possibly the weakest part of Perl. - Keep your eyes on modularity. Modularity is by far the best concept where complexity could be hidden. - Don't forget usability. This is after all the point why people use Perl in the first place. O. Wyss PS. Is there anywhere the current status of all the RFC's, (good, badly, ugly)? PPS: Please Cc, I'm not subscribed to the list.
Re: Perl culture, perl readabillity
On Fri, Mar 23, 2001 at 11:34:41PM +0100, Otto Wyss wrote: As a developer since a quarter century but only a few months in Perl I'm closely following the process of creating Perl6. This might come from the fact Perl was/is designed by english speaking people. It seems that the complexity of english writing is directly integrated into Perl. I don't know about the influence of English over other languages, but Larry specifically designed Perl to be more like natural language than most other programming languages. In case you haven't seen it yet: "Natural Language Principles in Perl" http://www.wall.org/~larry/natural.html -- Tad McClellan SGML consulting [EMAIL PROTECTED] Perl programming Fort Worth, Texas
Re: Perl culture, perl readabillity
On Fri, 23 Mar 2001 23:34:41 +0100, Otto Wyss [EMAIL PROTECTED] wrote: A study in Science (291 P.2165) found out that english speaking children has twice as much reading problems as italian speaking children of the same age. And about similar difference towards german and french. This could come from the fact that english has for 40 phonetics over 1100 kinds of writing while italian has for 25 phonetics only 33 kinds of writing (sorry I hope I've translated it into correct terms). Also 9 years old english children produce more reading error than 7 years old austrian children. It's also more *fun* to express your thoughts/feelings in English or Perl than in speech impediments like french, italian or python I *do* like things like my $sth = $dbh-prepare ("insert into $table values (@{[('?')x@f]})"; ;-) BTW. I realy like Schwietserdeutch, also more fun than German. -- H.Merijn Brand Amsterdam Perl Mongers (http://www.amsterdam.pm.org/) using perl-5.005.03, 5.6.0, 5.6.1, 5.7.1 623 on HP-UX 10.20 11.00, AIX 4.2 AIX 4.3, WinNT 4, Win2K pro WinCE 2.11 often with Tk800.022 /| DBD-Unify ftp://ftp.funet.fi/pub/languages/perl/CPAN/authors/id/H/HM/HMBRAND/
Re: Perl culture, perl readabillity
On Fri, Mar 23, 2001 at 11:34:41PM +0100, Otto Wyss wrote: - Make readability your main objective. Readability is possibly the weakest part of Perl. There's nothing fundamentally about Perl that makes it unreadable. Seriously. Perl doesn't write unreadable Perl, people do. You can write some beautifully readable programs in Perl. You can write some horrible programs in Perl too. Try it. Take an algorithm and write it in as many ways as you can. Try and make it as ugly or as beautiful as possible - the fact is, you *can* choose how readable you want it to be.b Oh, sure. So it has funny symbols. But it's a different language![1] It's just like reading things written in Cyrillic. That's unreadable if you don't know any Cyrillic. Well, duh. Once you know the alphabet, it's as clear as day. Or shorthand. Think about shorthand - that can look pretty unreadable. But when you realise that it *is* shorthand and you shouldn't try and read it like an ordinary text, it's fine. Regular expression syntax is shorthand. /^.(\d{3})$/ might look daunting to someone who doesn't know the shorthand, but it's perfectly readable to anyone who does. And to anyone who does, writing it out longhand seems horrific: $string-match-beginning-capture("digit", "digit", "digit")-end; Much of Perl is the same, even though it *does* have considerably more natural-languagey features than many other languages. Take phrase construction, for instance. How many other languages let you say "X if Y" as less as "if Y, X"? In short, no. Readability isn't the weakest part of Perl; it's the weakest part of Perl programmers. "You can write FORTRAN in any language". Because Perl gives people a means to express their thoughts in a manner more compact than their ordinary natural language, they do. Oh, and you think Perl is more English than German? Here's someone who doesn't think so: ``Perl is the successfull attempt to make a braindump directly executable.'' - Lutz Donnerhacke in de.org.ccc [1] Why do people want programming languages to look like human languages anyway? We use them for such completely different problem domains... -- I'm a person, not a piece of property. Happily, I'm both! - Lionel and Stephen Harris.
Re: Perl culture, perl readabillity
On Fri, Mar 23, 2001 at 11:34:41PM +0100, Otto Wyss wrote: - Make readability your main objective. Readability is possibly the weakest part of Perl. There's nothing fundamentally about Perl that makes it unreadable. Seriously. Perl doesn't write unreadable Perl, people do. You can write some beautifully readable programs in Perl. You can write some horrible programs in Perl too. Try it. Take an algorithm and write it in as many ways as you can. Try and make it as ugly or as beautiful as possible - the fact is, you *can* choose how readable you want it to be.b The side effect of flexible op behaviour and some ambiguity in syntax is the ability to write how you want to write. The interesting part is that well-written ("readable") Perl would be considered by a non-programmer to be much more intelligible than, say, what a programmer would call "readable" C, since they can actually deduct the function without understanding the language. ("You mean I can write, 'print values %hash', and it will work?") You *can* write programs in Perl which are significantly more readable than their equivalents in other languages, because of this behaviour. When programmers say "readable", they usually mean to say "statically consistent", preferring a language with no contextually-conditional behaviour. The result is an inability to write code that *is* unreadable, syntax that is not idiomatic, blah blah blah. The result isn't Perl, or Perl 6. As for the English influence, you're welcome to identify ways that the syntax could be extended or tightened to be less so. That's the intent of the mailing list. But please, no more Latin ... I like positional dependency. :)
RE: Perl culture, perl readabillity
Please CC Otto in all replies concerning this topic. I want to make sure he reads how wrong he is about Perl and its readability and I think Simon sums it up perfectly here. I also want to add that all of those strange looking symbols make Perl the powerful language it is. I love the freedom Perl gives me to express my algorithms in my own unique, and hopefully efficient, manner. TMTOWTDI baby! Without that Perl motto I would be using Python right now (I am not slamming Python btw) because its author wanted specifically to limit the multitude of ways you can solve a problem through the syntax and that doesn't work for everyone. Simon nailed down the whole thing by simply stating that programmers make Perl unreadable (some of us take pride in it as well) not Perl itself. My main concern with Perl6 is the exact opposite of Otto's, I do not want to see all the TMTOWTDI elements disappear from Perl. I want all the symbols to remain. I want the regex to stay as powerful as it is now and I want the ability to write my Perl with the amount of readability that is necessary for the task at hand. Simon also got an Amen from me when he asked why some people want programming languages to look more like human languages anyway. I do not want to write a novel, so to speak, every time I need a quick and powerful program written in Perl. I want, after learning the language well (hint, hint), the ability to write a few lines of crazy symbols using Perl and have it perform the task expected and wow my boss with the speed in which I wrote a great and accurate program. I did not move to Perl because it had the simplest syntax (that wasn't what I was looking for anyway) and I personally feel that shouldn't be your main motivation in choosing a language to begin with. I moved to Perl because it allowed me to create extremely powerful, portable, and flexible programs faster than any other language I have currently ever used. Just learn it well, Otto, and you'll soon appreciate and love Perl's rich syntax. To all you great programmers working on Perl6, don't make it Pascal (and I know you won't) make it the better TMTOWTDI Perl I know it can be. Thanks for listening to my rant. A Perl advocate and user for life, Brandon -Original Message- From: Simon Cozens [mailto:[EMAIL PROTECTED]] Sent: Monday, March 26, 2001 10:03 AM To: [EMAIL PROTECTED] Subject: Re: Perl culture, perl readabillity On Fri, Mar 23, 2001 at 11:34:41PM +0100, Otto Wyss wrote: - Make readability your main objective. Readability is possibly the weakest part of Perl. There's nothing fundamentally about Perl that makes it unreadable. Seriously. Perl doesn't write unreadable Perl, people do. You can write some beautifully readable programs in Perl. You can write some horrible programs in Perl too. Try it. Take an algorithm and write it in as many ways as you can. Try and make it as ugly or as beautiful as possible - the fact is, you *can* choose how readable you want it to be.b Oh, sure. So it has funny symbols. But it's a different language![1] It's just like reading things written in Cyrillic. That's unreadable if you don't know any Cyrillic. Well, duh. Once you know the alphabet, it's as clear as day. Or shorthand. Think about shorthand - that can look pretty unreadable. But when you realise that it *is* shorthand and you shouldn't try and read it like an ordinary text, it's fine. Regular expression syntax is shorthand. /^.(\d{3})$/ might look daunting to someone who doesn't know the shorthand, but it's perfectly readable to anyone who does. And to anyone who does, writing it out longhand seems horrific: $string-match-beginning-capture("digit", "digit", "digit")-end; Much of Perl is the same, even though it *does* have considerably more natural-languagey features than many other languages. Take phrase construction, for instance. How many other languages let you say "X if Y" as less as "if Y, X"? In short, no. Readability isn't the weakest part of Perl; it's the weakest part of Perl programmers. "You can write FORTRAN in any language". Because Perl gives people a means to express their thoughts in a manner more compact than their ordinary natural language, they do. Oh, and you think Perl is more English than German? Here's someone who doesn't think so: ``Perl is the successfull attempt to make a braindump directly executable.'' - Lutz Donnerhacke in de.org.ccc [1] Why do people want programming languages to look like human languages anyway? We use them for such completely different problem domains... -- I'm a person, not a piece of property. Happily, I'm both! - Lionel and Stephen Harris.
Re: Perl culture, perl readabillity
On Mon, Mar 26, 2001 at 01:11:06PM -0700, Dan Brian wrote: As for the English influence, you're welcome to identify ways that the syntax could be extended or tightened to be less so. That's the intent of the mailing list. But please, no more Latin ... I like positional dependency. :) Hmm. I just relized what he's talking about. As an example, most nonsimple statements (IE past-tense, ones with modal and action verbs, etc) end in the verb. For example, an english-speaker would say: I must walk the god. (Subject modal-verb action-verb direct-object.) A german-speaker would say: I must the god walk. (Subject modal-verb direct-object action-verb.) (Yes, I am a dislexic, agnostic insomniac.) This is exactly analgous to the perl form (english-perl): sort { f(a) = f(b) } @list; (Action-verb subordanate-verb (adverbal form) direct-object.) OTOH, for a german-speaker, sort @list {f(a) = f(b)} would be more natural (Action-verb direct-object subordanate-verb (infinitive form)). (Note, BTW, that gramaticly, perl statements always have a implied subject of "Intepreter" [0]. (Also note that in english, the adverbal form of a verb normaly ends with ly, in german it ends with en, and in perl is surrounded by curly-braces.)) Hmm, in fact, perl statements are always in command form, which means that in german, they are always non-simple sentances, and the verb is always at the end. OTOH, there are cases where perl is more readable for not matching a natural language structure. For example, hit $ball $outfield; is a normal structure: verb indir-obj dir-obj. OTOH, $ball-hit ($outfield) is indir-obj verb dir-obj, which is just screwy from an english point of view, but perfectly normal from a perl viewpoint. Then again, if you think of objects (in the OO sense) as doing things, then they normaly are the subject, and _not_ the indirect-object (in the english sense). (Note, BTW, that both my german and my lingustics aren't so hot.) -=- James Mastros -- The most beautiful thing we can experience is the mysterious. It is the source of all true art and science. He to whom this emotion is a stranger, who can no longer pause to wonder and stand wrapt in awe, is as good as dead. -=- Albert Einstein AIM: theorbtwo homepage: http://www.rtweb.net/theorb/
Re: Perl culture, perl readabillity
Hmm. I just relized what he's talking about. As an example, most nonsimple statements (IE past-tense, ones with modal and action verbs, etc) end in the verb. For example, an english-speaker would say: I must walk the god. (Subject modal-verb action-verb direct-object.) A german-speaker would say: I must the god walk. (Subject modal-verb direct-object action-verb.) (Yes, I am a dislexic, agnostic insomniac.) "The god I must walk", "walk the god I must", etc. They aren't immediately familiar, but they are grammatical. This is exactly analgous to the perl form (english-perl): sort { f(a) = f(b) } @list; (Action-verb subordanate-verb (adverbal form) direct-object.) OTOH, for a german-speaker, sort @list {f(a) = f(b)} would be more natural (Action-verb direct-object subordanate-verb (infinitive form)). (Note, BTW, that gramaticly, perl statements always have a implied subject of "Intepreter" [0]. (Also note that in english, the adverbal form of a verb normaly ends with ly, in german it ends with en, and in perl is surrounded by curly-braces.)) You're saying that it would be more natural for an English speaker to say, "Sort numerically this list", as opposed to "sort this list numerically"? I disagree; the latter is more natural for English speakers. I don't see this as evidence of "English Perl". You could also analogize your sort example as: sort { f(a) = f(b) } @list "Apply this sort to this list" The same holds true for at least Spanish and French. I don't know German. Consider 'print': print FILEHANDLE data; This isn't the most intuitive form for English speakers, who would tend to say: "Print this data to this filehandle." Rather than: "Print to this filehandle this data. Then again, if you think of objects (in the OO sense) as doing things, then they normaly are the subject, and _not_ the indirect-object (in the english sense). Well, then don't think of them that way. :) Perl objects of the class variety are direct objects, indirect objects, subjects, and even verbs if $_[0] is discarded in methods. It's true they are most commonly subjects, but can be used as most anything. Isn't that great?
RE: Perl culture, perl readabillity
"David Grove" [EMAIL PROTECTED] wrote: "Helton, Brandon" [EMAIL PROTECTED] wrote: Please CC Otto in all replies concerning this topic. I want to make sure he reads how wrong he is about Perl and its readability and I think Simon sums it up perfectly here. Give the braindead no head, Brandon. I've recently come across something HEED. Heed heed heed, not head. Of course, give them no head either... blush p
Re: Perl culture, perl readabillity
The reward? English-speaking children learn what is arguably the most flexible and expressive spoken language in the world. Oh good hell. Yup. Remember, Larry Wall is a linguist by training--he learned in school about human languages. He applied this knowledge to Perl. I wish I had learned about human languages in school. That ape stuff got old real quick. On another note, perhaps we should set up something where longer names for some special variables are built in. How's $}PERLVERSION sound? Yeah, that's a good idea. Not. Perl is hard to compare with any other languages except those it borrowed heavily from or those that borrowed heavily from it. I don't think Perl has borrowed much from Pascal (besides maybe the " : " syntax for attributes) so Perl and Pascal are hard to compare. Uh .. So the basic question is, readability or usability? I say usability. I say ":ability".
RE: Perl culture, perl readabillity
-Original Message- From: Jarkko Hietaniemi [mailto:[EMAIL PROTECTED]] Sent: Monday, March 26, 2001 15.43 To: Brent Dax Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED] Subject: Re: Perl culture, perl readabillity The reward? English-speaking children learn what is arguably the most flexible and expressive spoken language in the world. Sorry, my bigotry meter just went through the roof, adding this thread to my kill list. Okay. If I offended anyone with that statement (as I appear to have done) I am sorry. I did _not_ mean to say other languages were bad. However, I believe that my statement that English may be the most flexible and expressive language stands--for the same reason that Perl is a flexible language, its redundancy. I never intended that to mean that there's something wrong with other languages, or even that English is 'better' in all ways. (Perl may be more flexible than C or other languages, but that doesn't make it 'better' than C--C is generally quicker to compile and execute.) However, I will not retract my statement, because I believe it and I believe that there are statistics to back it up. If you want to killfile me, fine, that's your choice. I just don't want you to do so because of a misunderstanding. --Brent Dax [EMAIL PROTECTED]
RE: Perl culture, perl readabillity
On Mon, 26 Mar 2001, David Grove wrote: -[chopped]- Python has its place, and I do support it and its growingly cocky users (not that they have much to be cocky about since they're the largest group of lamers this side of VB) and frankly it needs to stay there. Same thing for Java, REBOL, PHP (the nerve of that upstart perl module!) and ColdFusion. -[chopped]- Ruby is coming into its own now, but I won't throttle Ruby because I haven't heard them speak out of bounds yet... -[chopped]- (We also need someone to manage the Advocacy mailing list who will stomp these twerps rather than encourage them.) I'm sorry to drag this thread out any longer, but I thought this should be read: "Be An Advocate Not An Asshole" http://prometheus.frii.com/~gnat/yapc/2000-advocacy/slide1.html .g