Domain: perl.org
Stories and comments across the archive that link to perl.org.
Comments · 847
-
Some examples
As far as I know, there is no non-free networked object-oriented database. Relational databases are nice, flat files have their place, but OO databases are quite useful too; I've built a few webapps using this. Thanks, Pavel Curtis!
Several programming languages exist only in a free version, or the non-free versions are derivatives. Scheme, Squeak (Smalltalk based), Python, and Perl are just a few that come to mind. Perhaps this clown would say that these are all derivative works from Fortran, or somesuch, but it's a stretch.
-
Perl not being used anymore?
http://jobs.perl.org/about/stats
BOOYAKASHOT. -
Re:Perl is a write-only language
We're talking about Perl here -- what has Wall got to do with it?
Perl has a Wall.
Larry Wall.
or you can do "perl -cw" for compile and warn... because you can compile perl if you really want to. -
Easty to testIndeed, Factoring is in the class of problems that are seemingly hard to do (non-polynomial time on the best general algorithm known) but easy to check (polynomial time). The classic problems of this form are called NP-Hard, and many are NP-Complete. Factoring has not yet been proved NP-Hard or NP-Complete, but is assumed to be, and that is the basic assumption of RSA public-key cryptography. This result does not change that, it just encourages use to boost our key sizes if we hadn't lately.
And, using perl and Math::BigInt, I did, and it checked out. Also useful is to verify that the number really was RSA200, as other anonymous Wiki-troll-edits were changing the number like a flickering flame.
And the source of the original Anon-Wiki edit was an email from the academic ring-leader, available on FactorRecords on FactorWorld.
IAAAM,
Bill N1VUX
I Am An Apostate Mathematician
I prostitute my math degree sorting ones from zeroes -
Easty to testIndeed, Factoring is in the class of problems that are seemingly hard to do (non-polynomial time on the best general algorithm known) but easy to check (polynomial time). The classic problems of this form are called NP-Hard, and many are NP-Complete. Factoring has not yet been proved NP-Hard or NP-Complete, but is assumed to be, and that is the basic assumption of RSA public-key cryptography. This result does not change that, it just encourages use to boost our key sizes if we hadn't lately.
And, using perl and Math::BigInt, I did, and it checked out. Also useful is to verify that the number really was RSA200, as other anonymous Wiki-troll-edits were changing the number like a flickering flame.
And the source of the original Anon-Wiki edit was an email from the academic ring-leader, available on FactorRecords on FactorWorld.
IAAAM,
Bill N1VUX
I Am An Apostate Mathematician
I prostitute my math degree sorting ones from zeroes -
Re:Bad argumentAnd your "proof" that errno.h is original because the numbers are different is not proof at all. Anyone could copy it, then change the numbers. I'm only pointing out that your argument wasn't based on substantive evidence.
I never said it was "my" proof. I am just repeating what Linus said and I thought I made that clear when I said "his proof". In defense of Linus though there was no good reason for him to change the error numbers when it caused some things to break.
As far as JFS goes, you need to read this: http://www.osnews.com/story.php?news_id=69. In it, Steve Best describes how the JFS team redesigned JFS and started with new source. In another published article, he describes key team members as being members of the original AIX JFS team. (See slide 8 here: http://www.perl.org/tpc/2002/sessions/best_steve.
p df ) And in another part of one article, he states that JFS for AIX was around for 10 years before they started the new JFS. That's a very long time. This doesn't meet the standard definition of a "sterile" redevelopment environment.Here you are missing a key point. The JFS that was created for OS/2 was completely different than the JFS for AIX. The fact that 10 years went by is also very telling, that is a long time in the world of computers and nearly all the technologies used in the original JFS were probably outdated or trivial by the time the second incarnation of JFS arrived. Just because it was called "JFS" doesn't mean it was even close to the same thing. The fact that IBM used some of the same developers for the new JFS means nothing because they never ported that JFS to Linux. They ported another filesystem by the same name that only got ported to AIX after it was ported to Linux.
-
Re:Bad argument
Well, really, again, my point was that POSIX standards included the interface to the o/s, but not really the
.h files. And your "proof" that errno.h is original because the numbers are different is not proof at all. Anyone could copy it, then change the numbers. I'm only pointing out that your argument wasn't based on substantive evidence. But that's not important nor is it worth arguing about further. I'm an ardent Unix and Linux supporter, and I am not implying by any means that Linus did something untoward. I've replaced a lot of Microsoft and other systems with Linux and other *nixes over the years, and I even contributed some code to OSS. As far as JFS goes, you need to read this: http://www.osnews.com/story.php?news_id=69. In it, Steve Best describes how the JFS team redesigned JFS and started with new source. In another published article, he describes key team members as being members of the original AIX JFS team. (See slide 8 here: http://www.perl.org/tpc/2002/sessions/best_steve.p df ) And in another part of one article, he states that JFS for AIX was around for 10 years before they started the new JFS. That's a very long time. This doesn't meet the standard definition of a "sterile" redevelopment environment. He never explicitly states that _no_ code was reused. He only says they started with a new source base. Fact remains that they would have a difficult time proving that it wasn't a derived work of their own work. But the crux is that even if it was derived from the AIX system, which in all likelihood the design was, at the very least, the original work was IBM's and not SCO's. And I like IBM's work. I never much cared for SCO's, and I certainly don't care for SCO's attitude these days. -
Quite disappointed!
I was quite disconcerted to see that in fact the computer is not run entirely on the Perl Object Environment (POE). It would be the next step after the perl window manager somebody built. Blerg.
-
Re: Professional Excel Development
Yes, I'm sure some way to generate freestanding, cross-platform Perl executables exists. I was about to tell flamers not to bother, but, come to think of it, I'd love to see a link.
How about PAR -
PERL?
Ok, so all-caps PERL is a pretty common mistake but what's up with cPAN?
-
Re:Wow, no US teams placed!
I participated in this in 1998. We had a super programmer, an electrical engineer, and me. I think most of our success came from the super programmer. We did great at our school contest and the regional contest, but we just bombed at the international contest. Either we choked, or the testsets being used by the judges were just incredibly rigorous.
:)Here's a picture of us, for anyone bored enough to be interested, and here's a retrospective on the contest.
To this day I am still finding IBM advertising junk I have from that contest, especially IBM yo-yos. (Seriously.)
-
Re:Regular expressions in a cookbook?The Perl6 "rule" system is amazing. You can spell out a grammar in a nice, easy-to-comment BNF-like style, and then you end up with a nice AST of your input string. Then subclass it, and get a grammar variant. All built on top of "newer" regular expressions that begin to make more sense, and again encourage whitespace and commenting.
In fact, Perl6 itself will be parsed using this grammar mechanism, with the active grammar being tweakable by the code as it is compiled. Self-modifying grammars instead of pre-processors or source filters! But "with great power, comes great responsibility".
-
Re:FOSS [sic] versions of Java
Boy you stepped into it on this one.
Where is parrot today? Where has it been for the past five years?
I gave you the link on the last post. Its on the net like most OSS projects. Today you can (and people do) write Yacc type code in it and it makes for a good virtual assembler.
Why isn't Larry Wall using it for Perl 6?
Parrot is about as official for Perl 6 as it gets. Alison Randel (the project manager for Perl 6) is the author of the reference for Parrot (Perl 6 and Parrot Essentials). The first link on the Perl 6 website is to Parrot development site. The Perl 6 mailing list cover Parrot in every issue.
Larry's official statement of purpose addresses this multiple places, "Perl 6 is the next version of the Perl programming language. The project attempts to address the interpreter, the language, and the culture. The internals of the version 5 interpreter are so tangled that they hinder maintenance, thwart some new feature efforts, and scare off potential internals hackers. The language as of version 5 has some misfeatures that are a hassle to ongoing maintenance of the interpreter and of programs written in Perl. And finally, the entire Perl community is invited to participate in the design and implementation of Perl 6."
I don't know how much more official it can get.
Why isn't van Rossum backporting Python to it?
He is officially supporting it at this point and the python comnmunity is considering a permanent move to the platform. Right now everyone knows the first goal is to get Perl working completely so they are letting the Perl community be the test implementation.
Why don't I hear about it every week?
I have no clue. Probably because you don't follow news on dynamic language development. -
Length is gone
In answer to your length of the keys array of a hash question, just use (keys %hash) in a scalar context, or (keys %hash).length.
Wouldn't it be nicer if you could do %hash.keys.length
..or would that be too much sens^H^H^H^H like Ruby?As Larry said in Apocalypse 12, "The length() function is gone" because "[it] has been deemed to be an insufficiently specified concept, because it doesn't specify the units."
In other words, is $x.length the length of $x in characters and @x.length the number of elements in @x? What if $x is an array reference? What if we want to know the number of characters in @x, as is often useful when the array in question is the output of other program, or stdin? We could use a hyper version of the length method or junctions, or map, or loop, or...
But simple things should be easy, and the length method would be ambiguous. So there is no %hash.keys.length in Perl 6. There is %hash.keys.chars and %hash.keys.elems, or just %hash.elems. The references to container data types are automatically dereferenced, so $hashref.elems does what you need without the need to explicitly dereference anything.
Summarising, the correct version of (keys %hash).length in grandparent post should be %hash.elems and (keys $hash{"key"}).length should be %hash{"key"}.elems which seems quite straightforward if you ask me.
If it makes too much sense then you certainly shouldn't read the rest of Apocalypses, Exegeses and Synopses. You have been warned.
-
Length is gone
In answer to your length of the keys array of a hash question, just use (keys %hash) in a scalar context, or (keys %hash).length.
Wouldn't it be nicer if you could do %hash.keys.length
..or would that be too much sens^H^H^H^H like Ruby?As Larry said in Apocalypse 12, "The length() function is gone" because "[it] has been deemed to be an insufficiently specified concept, because it doesn't specify the units."
In other words, is $x.length the length of $x in characters and @x.length the number of elements in @x? What if $x is an array reference? What if we want to know the number of characters in @x, as is often useful when the array in question is the output of other program, or stdin? We could use a hyper version of the length method or junctions, or map, or loop, or...
But simple things should be easy, and the length method would be ambiguous. So there is no %hash.keys.length in Perl 6. There is %hash.keys.chars and %hash.keys.elems, or just %hash.elems. The references to container data types are automatically dereferenced, so $hashref.elems does what you need without the need to explicitly dereference anything.
Summarising, the correct version of (keys %hash).length in grandparent post should be %hash.elems and (keys $hash{"key"}).length should be %hash{"key"}.elems which seems quite straightforward if you ask me.
If it makes too much sense then you certainly shouldn't read the rest of Apocalypses, Exegeses and Synopses. You have been warned.
-
Length is gone
In answer to your length of the keys array of a hash question, just use (keys %hash) in a scalar context, or (keys %hash).length.
Wouldn't it be nicer if you could do %hash.keys.length
..or would that be too much sens^H^H^H^H like Ruby?As Larry said in Apocalypse 12, "The length() function is gone" because "[it] has been deemed to be an insufficiently specified concept, because it doesn't specify the units."
In other words, is $x.length the length of $x in characters and @x.length the number of elements in @x? What if $x is an array reference? What if we want to know the number of characters in @x, as is often useful when the array in question is the output of other program, or stdin? We could use a hyper version of the length method or junctions, or map, or loop, or...
But simple things should be easy, and the length method would be ambiguous. So there is no %hash.keys.length in Perl 6. There is %hash.keys.chars and %hash.keys.elems, or just %hash.elems. The references to container data types are automatically dereferenced, so $hashref.elems does what you need without the need to explicitly dereference anything.
Summarising, the correct version of (keys %hash).length in grandparent post should be %hash.elems and (keys $hash{"key"}).length should be %hash{"key"}.elems which seems quite straightforward if you ask me.
If it makes too much sense then you certainly shouldn't read the rest of Apocalypses, Exegeses and Synopses. You have been warned.
-
Length is gone
In answer to your length of the keys array of a hash question, just use (keys %hash) in a scalar context, or (keys %hash).length.
Wouldn't it be nicer if you could do %hash.keys.length
..or would that be too much sens^H^H^H^H like Ruby?As Larry said in Apocalypse 12, "The length() function is gone" because "[it] has been deemed to be an insufficiently specified concept, because it doesn't specify the units."
In other words, is $x.length the length of $x in characters and @x.length the number of elements in @x? What if $x is an array reference? What if we want to know the number of characters in @x, as is often useful when the array in question is the output of other program, or stdin? We could use a hyper version of the length method or junctions, or map, or loop, or...
But simple things should be easy, and the length method would be ambiguous. So there is no %hash.keys.length in Perl 6. There is %hash.keys.chars and %hash.keys.elems, or just %hash.elems. The references to container data types are automatically dereferenced, so $hashref.elems does what you need without the need to explicitly dereference anything.
Summarising, the correct version of (keys %hash).length in grandparent post should be %hash.elems and (keys $hash{"key"}).length should be %hash{"key"}.elems which seems quite straightforward if you ask me.
If it makes too much sense then you certainly shouldn't read the rest of Apocalypses, Exegeses and Synopses. You have been warned.
-
Length is gone
In answer to your length of the keys array of a hash question, just use (keys %hash) in a scalar context, or (keys %hash).length.
Wouldn't it be nicer if you could do %hash.keys.length
..or would that be too much sens^H^H^H^H like Ruby?As Larry said in Apocalypse 12, "The length() function is gone" because "[it] has been deemed to be an insufficiently specified concept, because it doesn't specify the units."
In other words, is $x.length the length of $x in characters and @x.length the number of elements in @x? What if $x is an array reference? What if we want to know the number of characters in @x, as is often useful when the array in question is the output of other program, or stdin? We could use a hyper version of the length method or junctions, or map, or loop, or...
But simple things should be easy, and the length method would be ambiguous. So there is no %hash.keys.length in Perl 6. There is %hash.keys.chars and %hash.keys.elems, or just %hash.elems. The references to container data types are automatically dereferenced, so $hashref.elems does what you need without the need to explicitly dereference anything.
Summarising, the correct version of (keys %hash).length in grandparent post should be %hash.elems and (keys $hash{"key"}).length should be %hash{"key"}.elems which seems quite straightforward if you ask me.
If it makes too much sense then you certainly shouldn't read the rest of Apocalypses, Exegeses and Synopses. You have been warned.
-
Length is gone
In answer to your length of the keys array of a hash question, just use (keys %hash) in a scalar context, or (keys %hash).length.
Wouldn't it be nicer if you could do %hash.keys.length
..or would that be too much sens^H^H^H^H like Ruby?As Larry said in Apocalypse 12, "The length() function is gone" because "[it] has been deemed to be an insufficiently specified concept, because it doesn't specify the units."
In other words, is $x.length the length of $x in characters and @x.length the number of elements in @x? What if $x is an array reference? What if we want to know the number of characters in @x, as is often useful when the array in question is the output of other program, or stdin? We could use a hyper version of the length method or junctions, or map, or loop, or...
But simple things should be easy, and the length method would be ambiguous. So there is no %hash.keys.length in Perl 6. There is %hash.keys.chars and %hash.keys.elems, or just %hash.elems. The references to container data types are automatically dereferenced, so $hashref.elems does what you need without the need to explicitly dereference anything.
Summarising, the correct version of (keys %hash).length in grandparent post should be %hash.elems and (keys $hash{"key"}).length should be %hash{"key"}.elems which seems quite straightforward if you ask me.
If it makes too much sense then you certainly shouldn't read the rest of Apocalypses, Exegeses and Synopses. You have been warned.
-
Length is gone
In answer to your length of the keys array of a hash question, just use (keys %hash) in a scalar context, or (keys %hash).length.
Wouldn't it be nicer if you could do %hash.keys.length
..or would that be too much sens^H^H^H^H like Ruby?As Larry said in Apocalypse 12, "The length() function is gone" because "[it] has been deemed to be an insufficiently specified concept, because it doesn't specify the units."
In other words, is $x.length the length of $x in characters and @x.length the number of elements in @x? What if $x is an array reference? What if we want to know the number of characters in @x, as is often useful when the array in question is the output of other program, or stdin? We could use a hyper version of the length method or junctions, or map, or loop, or...
But simple things should be easy, and the length method would be ambiguous. So there is no %hash.keys.length in Perl 6. There is %hash.keys.chars and %hash.keys.elems, or just %hash.elems. The references to container data types are automatically dereferenced, so $hashref.elems does what you need without the need to explicitly dereference anything.
Summarising, the correct version of (keys %hash).length in grandparent post should be %hash.elems and (keys $hash{"key"}).length should be %hash{"key"}.elems which seems quite straightforward if you ask me.
If it makes too much sense then you certainly shouldn't read the rest of Apocalypses, Exegeses and Synopses. You have been warned.
-
Re:is Perl 6 already standardised?
Perl 6 is waiting mainly on a Perl6 to Parrot AST compiler, and the Parrot AST itself. See this draft milestones document for details.
-
Re:From a Free Software Developer
The canonical link for PAR, is http://par.perl.org/. And yes, our feature set is largely a superset over perl2exe and perlapp's.
-
Re:What happened to Parrot?
This link explains the issues facing Parrot.
-
Re:is Perl 6 already standardised?
By December 2004, most of Perl 6 has been specified as a series of Synopses. Although not considered final, it is now stable enough to be implemented. Many of the Synopses are based on Larry's Apocalypses. Sometimes the design team releases Exegeses, which explain the meaning of Apocalypses. Pugs adheres to the Synopses, referring to Apocalypses or Exegeses when a Synopsis is unclear or imprecise.
---Still doesn't answer what the Perl6 folks are waiting for...
-
Re:Reading Perl code?
- use Perl; is a good place, but very informal and tends to get sidetracked into politics
:) - Your local Perl mongers group may be a great place
- YAPC (Yet Another Perl Conference) and the Perl conference (now part of the Open Source conference) usually have many good presentations by the truly great Perl programmers
- I have the impression that Perlmonks is pretty good, though I don't tend to use it much
- Finally, the Perl5 Porters mailing list is the real original heart of the Perl community, though I think nowadays many of those guys have moved onto Perl6 work
A list of names is also useful: material by Damian Conway, Larry Wall, Randal Schwartz, Mark Jason Dominus, Simon Cozens (Perl involvement now minimal due to career change), and persons associated with them is going to be top notch. Plug their names into Google and see what they have to say. Catch a presentation or read a book by one of them if you can. Meanwhile, there is truly a lot of junk out there. There's an article out there somewhere about "how to tell a good Perl book from a bad Perl book," which I thought was by Mark Jason Dominus, but I can't seem to find it at the moment.
Finally, 90% of the useful modules you'll see recommended for use from CPAN are written by the intelligent lights in the Perl community. The time-tested modules that are now standard solutions are those that were written with high quality by good programmers.
- use Perl; is a good place, but very informal and tends to get sidetracked into politics
-
Good point
How long before people finally get it that php is not for secure production mission critical environment? Another exploit, big deal. Just use secure software and get over it. Jeez.
Very good point. Unfortunately, there are literally tons of php fanboys always trying to force their little toy upon our throughts, even though /. itself is php-free, lol. -
How long
-
Re:What a surprise!
> No operator overloading!
Hyuk! That's one of Gosling's regrets too.
I was at Gosling's Q&A session where he made the many-big-trucks security-flaw remark. He may have made it when answering a couple of questions I asked him (but I don't recall that for sure.) I was disappointed at his answers - I wished the JVM had better multi-language support and think Parrot (the VM for the Perl6 effort) might just hold the future here.
I was surprised at his remarks Gosling mentioned managed C++ (not legacy C++) as insecure. I think until there is a specific vulnerability reported he is just sniping at a rival. Though, I've heard that MS has removed (or made optional) pointer support from the latest managed C++ .NET version
Anyway, about operator overloading: Someone else asked Gosling if he had any regrets about not including something in Java from the beginning.
Gosling replied he wished he had put in operator overloading, which he said was a big deal for some folks - for instance, the scientific programming community. -
Re:How does this compare to other stacks?
or indeed Maypole?
-
Re:Heh
-
Re:Is mod_perl a legacy technology?
FYI: to create a link you need to use an Anchor tag, the spec for the Anchor is here.
But here is a brief example of a "link", "hyperlink"
<a href="http://maypole.perl.org/">Maypole</a>
I used your site in the example but you could replace http://maypole.perl.org/ with any URL from the internet, and Maypole could be any text
I was suprised that you couldn't create a link seeing that your working on a project that generates web interfaces. Shocking. -
Re:MessageLabs
Another item in MessageLabs' favor: Matt Sargeant, one of the original authors of SpamAssassin, works for them writing spam filters.
-
Re:MessageLabs
Another item in MessageLabs' favor: Matt Sargeant, one of the original authors of SpamAssassin, works for them writing spam filters.
-
Quantian articleI own the quantian.org domain. The following is from my article on the Quantian Distribution. Here is a brief run down of links, programs, and other goodies in Quantian.
- R, including several add-on packages (such as tseries, RODBC, coda, mcmcpack, gtkdevice, rgtk, rquantlib, qtl, dbi, rmysql), out-of-the box support for the powerful ESS modes for XEmacs as well as the Ggobi visualisation program;
- A complete teTeX, TeX, and LaTeX setup for scientific publishing, along with TeXmacs and LyX for wysiwyg editing;
- Perl and Python with loads of add-ons, plus ruby, tcl, Lua, and Scientific and Numeric Python;
- The Emacs and Vim editors, as well as Gnumeric, kate, Koffice, jed, joe, nedit and zile;
- Octave, with add-on packages octave-forge, octave-sp, octave-epstk, and matwrap;
- Computer-algebra systems Maxima, Pari/GP, GAP, GiNaC and YaCaS;
- the QuantLib quantitative finance library including its Python interface;
- GSL, the Gnu Scientific Library (GSL) including example binaries;
- The GNU compiler suite comprising gcc, g77, g++ compilers;
- the OpenDX, Plotmtv, and Mayavi data visualisation systems;
- it includes apcalc,aribas,autoclass,
-
Script it dear liza...
perl or python ?
Replies to this post will accept single line or short solutions in the language of your choice which work with the following command line (assuming source and dest dirs already exist and mp3/ogg/flac tools have been installed and in the path):
convert [source directory] [destination directory] [format=mp3/ogg] [bitrate(int)] -
But they ripped of the author of the first edition
This first version of the book was written by Simon Cozens.
When it came to writing the second edition, Simon didn't get the job owing to his reluctance to carry it forward to future revisions, due to work restraints. So, someone else was hired, but Simon was promised 50% royalties, since it was going to be based largely on his work.
Based on Simons latest blog post, the publishers have conveniently forgotten this agreement. He's now not goint to get any royalties for the book, despite having written much of the material!
So, rather than buying the new edition (and supporting a publisher who rips off their authors), you should go read the Creative Commons licensed version of the first edition that Simon has posted here.
-
Re:Author? Publisher?
James Loo with Simon Cozens and Peter Wainwright
Though it appears that Simon Cozen's involvement was limited to having his text from the first edition used and the publisher backtracking on the agreement to pay him royalties for it.
His first edition is freely downloadable and he has a PayPal tip jar if you like it.
Smylers -
Re:Market Flood
More to the point, is there a market for another Beginning Perl 5 book now?
The End Is Nigh. -
First Edition's Free
This is a great beginner's book. And if you're a beginner with no cash it's an even better book, since the first edition is available as per-chapter PDFs. Get 'em here.
S2 -
In Perl things seem to be doing OK
There are lots of listings on jobs.perl.org, and in the LA area companies like Citysearch and Overture are having trouble filling positions for experienced Perl people. It certainly isn't 1999 again, but it is better than last year, and last year my job search took 2 weeks.
Of course LA has a better market than most of the West Coast. But even so, friends whose employment was tenuous or non-existent up and down the West Coast seem to generally be happily employed today.
Of course this is the perspective of someone who is very good at Perl. If you're one of the army of people who got into Perl for CGI, and have vague plans to learn about this OO stuff someday, then your perspective is probably a bit different... -
Perl Plone alternative
I agree with all the comments about Plone being great, if Plone existed before we started developing MKDoc then we probably wouldn't have bothered... If you like Plone but want a CMS written in Perl then check out MKDoc.
MKDoc doesn't yet have such a big community around it yet but it's only just been GPL'ed...
The PHP CMS's are great if you don't have root, if you do then the Zope, Perl and Java ones are worth checking out.
Another one that hasn't been mentioned here is Java Mir the Indymedia CMS.
-
Hyper operators
Their other example was that most languages make people think in loops, when they really want to operate on a group. Saying "for (i = 0; i len; ++i) { x[i] += 10; }" it a really clumsy way to express what people thought, which was "add 10 to everything in x".
See hyper operators in Perl 6:
@x >>+= 10;
and junctions. In fact, for such simple cases, it's already easy in Perl 5:
$_ += 10 for @x;
where @x is the array from your example.
-
Hyper operators
Their other example was that most languages make people think in loops, when they really want to operate on a group. Saying "for (i = 0; i len; ++i) { x[i] += 10; }" it a really clumsy way to express what people thought, which was "add 10 to everything in x".
See hyper operators in Perl 6:
@x >>+= 10;
and junctions. In fact, for such simple cases, it's already easy in Perl 5:
$_ += 10 for @x;
where @x is the array from your example.
-
Hyper operators
Their other example was that most languages make people think in loops, when they really want to operate on a group. Saying "for (i = 0; i len; ++i) { x[i] += 10; }" it a really clumsy way to express what people thought, which was "add 10 to everything in x".
See hyper operators in Perl 6:
@x >>+= 10;
and junctions. In fact, for such simple cases, it's already easy in Perl 5:
$_ += 10 for @x;
where @x is the array from your example.
-
Parrot
Maybe you should have a look at Parrot? The CVS includes a lot of working and non-working language-implementations which you could have a look at..
I also recommend you to have a look at Lua which is a minimalistic yet beautiful language.. -
Re:What now?
-1 troll.
Emacs didn't win shit.
And, last I checked, awk and sed can't do bioinformatics. Or any of the other trillion uses perl is used for. -
Is This Necessary?
Hasn't obfuscated C already been perfected?
-
Re:so many for so longWhere can I start? This post contains so much misinformation that it's hard to tell.
PERL 6, however, seems to be dead. I've been following its progress for a couple years now and it is going almost nowhere.
The perl mailing lists seem to be going strong.The decision to move to a bytecode interpreter looks like a huge mistake. Most people are fine without the bytecode interpreter
The Parrot FAQ. Most people were fine with machine code, then assembler, then C. Should we stop trying to improve things?and it has split off dev resources from the issues that would help your everyday user -- "syntactic sugar".
People who want to work on Parrot, work on Parrot. People who want to work on the compiler, work on the compiler. This is an Open Source project, limited by the people who want to be involved, not a proprietary project with strictly limited resources.OO support is also lousy in the current PERL.
Yet another reason for the rewrite.The feature request framework was also lacking.
Are you serious? The entire world was solicited for suggestions, which were then discussed openly before being passed to Larry (see next point). What was lacking?Everything went up to Larry Wall, who decided things basically as God.
When it comes to Perl, Larry Wall is God (although I'm not sure he'd thank me for the comparison). Larry has kept overall control of Perl in a similar way to that in which Linus Torvalds has kept overall control of Linux, by being an excellent leader.
If you disagree strongly with Larry's decisions, feel free to start your own language project.I saw at least one simple and powerul thing dismissed out of hand -- a built in loop counter.
Simple, yes, but powerful? I don't think so.
Here's what Larry saidThe stated goal of PERL6 was improving XS, but this doesn't require a bytecode interpreter either.
Wrong. See The Parrot FAQ, again. Search for "PARROT AND PERL".Of course, this is all running off volunteer labor so I shouldn't complain too much!
Well that's one thing you're right about anyway.
Feel free to dislike Perl, but please inform yourself before ranting, or you may end up looking like a fool.
-- Jim Gillespie, posting as AC because I've already wasted enough time replying to this drivel. -
Re:Pet Project
Have you seen the Perl Power Tools project? Might be a good place to start.
-
Re:Big problem
The first line of most of my Perl programs is
#!/usr/local/bin/perl5.6.1
I admit that's an ancient version of Perl, but unfortunately that's what I'm stuck with here. At home it might say perl5.8.5 or so.
I realized a long time ago that I'd better have every program I wrote tied to specific installation of a specific version of Perl, to avoid problems in installing future versions or new modules. Has nothing to do with Perl 6; it's just good configuration management. I can at any time install another perl without interfering with the one installed or with any programs that are using it (and I intend to play this card at work at some point).