Moritz Lenz has posted a summary of Perl 6 development activity for 2009. Lots of stuff like: "In January we also learned that *-1 constructs a closure, which means that Perl 6 has semi-automatic currying features built into most operators."
(Log in to post comments)
Aiee
Posted Jan 4, 2010 17:14 UTC (Mon) by dskoll (subscriber, #1630)
[Link]
That is so scary. I'm really worried about the future of Perl. We use Perl 5 in a major commercial application, but Perl 6 looks like a project being designed and managed by a bunch of hippies who have consumed way too many magic mushrooms. Just give us incremental language improvements and stability, please, and save the mind-expanding coolness for another day.
I mean, really, $a R- $b is equivalent to $b - $a. Is that supposed to be a joke?
Aiee
Posted Jan 4, 2010 17:31 UTC (Mon) by privateer (guest, #62801)
[Link]
I mean, really, $a R- $b is equivalent to $b - $a. Is that supposed to be a joke?
No, it's an artifact of the fact that there is a R metaoperator that modifies other operators in a certain way. This metaoperator, and metaoperators in general, ARE an interesting and useful concept; applying it to subtraction is obviously a stupid example, though, and I don't know why it was chosen here.
That said, you don't have to worry; Perl 6 is a new language, more or less entirely separate from Perl 5 (in practice; of course it's an evolution of Perl 5, but Perl 5 still is and will continue to be developed independently).
In fact, the development that's happening on Perl 5 IS precisely the "incremental language improvements and stability" that you're clamoring for, and Perl 6 *is* the mind-expanding coolness that's been "saved for another day" for a long time.
Aiee
Posted Jan 4, 2010 17:39 UTC (Mon) by dskoll (subscriber, #1630)
[Link]
That said, you don't have to worry; Perl 6 is a new language, more or less entirely separate from Perl 5 (in practice; of course it's an evolution of Perl 5, but Perl 5 still is and will continue to be developed independently).
Nevertheless, Perl 6 negatively impacts me in the following ways:
It's sucking developer time and energy away from Perl 5. (Larry Wall's time and energy, for example.)
It's sucking mindshare away from Perl. It's already quite difficult for my company to find good Perl programmers, and it's not getting any easier. Reading postings like The Fine Article is unlikely to win people over to Perl.
It will suck my time and energy (as a maintainer of a few CPAN modules) because I will be expected to make the modules Perl 6 compatible. If it were absolutely clear that Perl 6 is a brand-new more-or-less unrelated language, I could say "tough luck". But that isn't the case.
Aiee
Posted Jan 4, 2010 17:52 UTC (Mon) by Trelane (subscriber, #56877)
[Link]
mmm, what is your company and the salary in question? :)
Aiee
Posted Jan 6, 2010 18:01 UTC (Wed) by Trelane (subscriber, #56877)
[Link]
Guess you don't need to find perl devs that badly. :(
Aiee
Posted Jan 4, 2010 18:21 UTC (Mon) by rfunk (subscriber, #4054)
[Link]
It's a bit late to be worrying about Perl dying. That started around when
Perl 6 was conceived, though it's arguable whether Perl 6 was a cause or
effect. (Perl 6 was initially supposed to save Perl.) The Perl 6 effort has
certainly led to some Perl 5 improvements, but Perl 6's long gestation time
has not helped Perl's popularity.
It's becoming increasingly clear to many people that Ruby makes a better
successor to Perl than Perl 6 does. Others just say, "Perl? Oh, you mean
that stuff that was on the servers before our PHP code?"
Aiee
Posted Jan 4, 2010 19:55 UTC (Mon) by chromatic (guest, #26207)
[Link]
It's becoming increasingly clear to many people that Ruby makes a better successor to Perl than Perl 6 does.
I can't imagine why or how; Ruby is a clear step backwards from Perl 5 in all but two ways. For example, something as simple as lexical scoping is unclear and confusing in Ruby. Ruby's module system is much weaker and less mature than Perl 5. The quality of development process and testing is also a Ruby drawback for my purposes.
Ruby's two benefits over Perl 5 are the somewhat better object system available in the core language (which Moose obviates) and pervasive blocks.
Aiee
Posted Jan 4, 2010 21:40 UTC (Mon) by rfunk (subscriber, #4054)
[Link]
Scoping in Ruby is simple: No sigil means method scope. A single @ in front
means instance scope. Double @@ in front means class scope (all instances
of the class).
I don't quite see how Ruby's module system is weaker; I think of it as just
a bit different.
As for quality of development process and testing... you apparently haven't
heard of RSpec and the many other testing frameworks that are prominent in
the Ruby world. The Ruby people I've encountered have been much more
testing-oriented than any of the Perl people I've encountered.
You miss one obvious benefit of Ruby over Perl, a much cleaner syntax --
which Moose makes worse. (Even besides all the extraneous punctuation,
Perl's syntax is much more procedural where Ruby's can be more
declarative.) And even Moose, while powerful, doesn't make Perl's object
system anywhere as nice as Ruby's without some major incompatibilities.
(There have been pretty cool attempts, but they fall down when you have to
deal with outside code.)
Yes, many of Perl's shortcomings can be mitigated (though rarely fixed
entirely) with Moose or other add-on modules, but those modules are often
incompatible with existing code (including other useful modules). When the
good stuff is designed-in from the start then all the code you look at has
it.
And for those who think I hate Perl: on the contrary, I still like it for
small scripts that are too much for bash, and I use it all the time. I've
been known to defend it to PHP fans.
Aiee
Posted Jan 4, 2010 22:48 UTC (Mon) by DDevine (guest, #60717)
[Link]
I think that Perl and Ruby are as messy as each other - especially when compared to Python.
Ruby barely has a formal specification - in fact the best specification for Ruby is the behavior of Matz's interpreter. Ruby also tends to induce messy and poorly planned code which only exacerbates its' already poor performance.
Perl is a mess again, but it is a lovable mess that is great for sysadmins!
Aiee
Posted Jan 4, 2010 23:58 UTC (Mon) by rfunk (subscriber, #4054)
[Link]
Ruby has a spec in progress (http://rubyspec.org/), not to mention at least
two or three independent production-ready implementations.
In my experience, Ruby culture (especially the TDD part) encourages good
code, while the Perl culture I've seen over the past 15 years encourages bad
code. There are certainly exceptions to both, of course.
The formerly-poor performance isn't so bad in JRuby and Ruby 1.9, btw.
Aiee
Posted Jan 4, 2010 19:11 UTC (Mon) by privateer (guest, #62801)
[Link]
Eh, using those criteria, you could just as well argue that the existence of Python or Ruby is negatively impacting you because they, too, suck developer time and energy and mindshare away from Perl (5).
As for CPAN, as far as I know, that's only for Perl 5, anyway, with Perl 6 modules getting their own CPAN6 instead. Also, if people start pestering you about porting your modules, simply tell them you'll be happy to accept patches. ;)
Aiee
Posted Jan 4, 2010 20:06 UTC (Mon) by dskoll (subscriber, #1630)
[Link]
Python and Ruby don't suck Perl developer time away from Perl 5 (at least, not in any major way.)
Aiee
Posted Jan 4, 2010 20:00 UTC (Mon) by chromatic (guest, #26207)
[Link]
It's sucking developer time and energy away from Perl 5. (Larry Wall's time and energy, for example.)
I think you've confused causes here. In Larry's own words:
We're just trying to skip over the 20 years of deprecation cycles and dead ends it would take to evolve Perl 5 into Perl 16 piecemeal, even assuming that were culturally possible, which it really isn't. Plus I'm too Impatient to wait that long.
Posted Jan 4, 2010 20:08 UTC (Mon) by dskoll (subscriber, #1630)
[Link]
Well, OK. To me, that means that Larry Wall has abandoned Perl 5 and is working on his new (non-Perl) project. While I wish him luck, I don't think it's a very practical approach for the Perl community.
Aiee
Posted Jan 4, 2010 20:52 UTC (Mon) by chromatic (guest, #26207)
[Link]
To me, that means that Larry Wall has abandoned Perl 5 and is working on his new (non-Perl) project.
Occasionally I consider the idea of writing a vicious and biting satire of disgust over how Perl 5 is a completely different and unnecessary language from Perl 4, where objects and nested data structures and lexical variables and first-class functions and namespaces and modules are superfluous and confusing and no one will ever use it, and Larry has abandoned his roots and only wants to split the community.
Then I decide that I much prefer to interact with people who thank me for helping to build something useful and usable than with people who tell me that I'm wasting my time doing something stupid and unnecessary which nobody wants and doesn't even exist anyway. (Really, quibbling over Larry's right to name a project?)
Aiee
Posted Jan 4, 2010 21:52 UTC (Mon) by rfunk (subscriber, #4054)
[Link]
In fact the reason that Perl 5 *didn't* split the community is that Perl 4
scripts are almost entirely valid in Perl 5. One could (and too many have)
continue to this day writing Perl that's not much different from what they
wrote in Perl 4. They just (eventually) replaced "local" with "my",
"require" with "use", and maybe started using references (whee, data
structures!) and other people's object interfaces.
(I still have to deal with code written by so-called Perl programmers that
didn't understand how to properly write and call object methods that operate
on the object. This may have made me a little bitter.)
Anyway, I think Perl 6 is an interesting exercise, but I also suspect that
spending a decade saying that it's the future of Perl may not have been the
best way to go.
Aiee
Posted Jan 4, 2010 21:53 UTC (Mon) by dskoll (subscriber, #1630)
[Link]
chromatic, you don't have to choose. You can have both! :-)
Thank you for helping to build something useful and usable (all your Perl 5 work.)
You are wasting your time doing something stupid and unnecessary which nobody wants and doesn't even exist anyway (Perl 6).
Larry obviously has a right to name a project. But if he's doing it specifically to retain the Perl "brand", then it's disingenuous to write "That said, you don't have to worry; Perl 6 is a new language, more or less entirely separate from Perl 5" as another poster did and not expect howls of outrage.
Aiee
Posted Jan 6, 2010 14:32 UTC (Wed) by iq-0 (subscriber, #36655)
[Link]
Perl 6 is usable as an alpha release (almost like a beta release). It's sufficiently different and in many ways better (one can easily ensure that a methods are being called correctly with the right parameters and without a lot of error-prone checking and with much clearer calling signatures) then Perl 5. But retains many of the capabilities and intellectual mindset of Perl 5 to be considered a Perl variant.
Perhaps the single number increase is a bit taunting, but it's like Windows 3.1 and Windows 7:
They try to accommodate the same functionality.
Both are somewhat related but the latter has a load more features, safeguard and usability enhancements (and really has almost nothing in common with the former).
There is even some form of backwards compatibility but more in the sense of a separate compatibility environment with separate support libraries and such.
This is very similar to Perl 5 and Perl 6:
They try to accommodate the same functionality.
Both are somewhat related but the latter has a load more features, safeguard and usability enhancements (and really has almost nothing in common with the former).
There is even some form of backwards compatibility but more in the sense of a separate compatibility environment with separate support libraries, which is the effort of running multiple languages under parrot which can still interact).
Aiee
Posted Jan 16, 2010 5:49 UTC (Sat) by mstrout (guest, #62992)
[Link]
Honestly? No, it isn't. The people who're primarily developing the perl6 project were largely either burned out on perl itself or wanted to do something experimental or came direct to the project.
Perl continues as a project run by the community; Larry's chosen to work on a new language in the same family. It's all good.
The perl people who moved to perl6 regard the remaining perl developers as being the guys who didn't want to change anything ever so no progress could be made.
We over in the perl camp think that perl6 took all the people who cared more about blue sky than production and left us to get on with the real work.
Both those statements are hyperbole, of course. And perl6 has acquired some people who're more pragmatic since then, and perl is being extended in more interesting ways than in a long time - in many cases using the research done as part of the perl6 specification process as inspiration and re-adapting it for our view of what's useful for production.
So not only has perl6 not really taken people away from perl, it's given us lots of good ideas to steal. And the perl6 guys are using the things we found out using Moose out in the real world to refine their object system, so perl's benefiting perl6 too.
I really don't see the harm.
Wanklage
Posted Jan 4, 2010 22:16 UTC (Mon) by ncm (subscriber, #165)
[Link]
It appears that Perl may be turning into a wanklage. A wanklage is most typically a language for which there is more enthusiasm in discussions of how it may be implemented than in what new programs and libraries can be written in it. (Well-known wanklages include Lisp and Haskell.) Enthusiasts of wanklages are frequently more interested in how cool various features are than in how useful they may be in writing real programs. Currying is one such feature. Another mark of a wanklage is long discussions of how to overcome its built-in impediments to solving simple problems.
Use "wanklage" in a sentence today.
Wanklage
Posted Jan 5, 2010 0:14 UTC (Tue) by rfunk (subscriber, #4054)
[Link]
Rather amusing, then, that the first implementation of Perl 6 was written in
Haskell.
Also, I've found currying quite useful in some Javascript I've written.
(Javascript, btw, is surprisingly similar to Lisp, yet is used everywhere.)
I actually don't think Perl 5 has achieved wanklage status. There are lots
of people still using it for real work, and they often don't even care (or
know) about the modern add-ons that are supposed to overcome its
impediments.
Wanklage
Posted Jan 5, 2010 0:32 UTC (Tue) by chromatic (guest, #26207)
[Link]
Rather amusing, then, that the first implementation of Perl 6 was written in Haskell.
The first had a compiler written in Perl 5, targeting Parrot. I don't remember if Pugs was the second or third.
JavaScript != Lisp
Posted Jan 6, 2010 5:03 UTC (Wed) by mikov (subscriber, #33179)
[Link]
Many times have I heard the notion that JavaScript is similar to Lisp and even Scheme, and frankly couldn't disagree more. By that notion any language with lambdas and closures is Lisp, which doesn't make a lot of sense.
JavaScript lacks macros, tail recursion, immutable values, a sane syntax or sane scoping rules. My favorite example of how much JavaScript is not like Scheme is when trying to use a loop variable in a closure.
Most importantly, JavaScript doesn't really encourage "Lisp-y" programming and thinking.
JavaScript != Lisp
Posted Jan 6, 2010 5:54 UTC (Wed) by ncm (subscriber, #165)
[Link]
It's slow, at least.
JavaScript != Lisp
Posted Jan 6, 2010 6:05 UTC (Wed) by mikov (subscriber, #33179)
[Link]
Agreed.
Well, I didn't say Lisp was practical, easy, or even usable. JavaScript definitely is the more practical language, but if anything that strengthens my point that it is not like Lisp :-)
Some people might say that JavaScript is Lisp done right, but they are crazy. There is not a single thing "right" in JavaScript :-)
Now, Scheme ... It is beautiful and elegant and I love it... If only one could actually use it to develop software, it would be great.
JavaScript != Lisp
Posted Jan 6, 2010 6:19 UTC (Wed) by jordanb (subscriber, #45668)
[Link]
When I saw how Common List handles equality.. it reminded me of a lot of the design decisions in Javascript.
JavaScript != Lisp
Posted Jan 6, 2010 12:24 UTC (Wed) by rfunk (subscriber, #4054)
[Link]
I said that Javascript is *surprisingly similar* to Lisp, not that it *is*
Lisp. Most people would expect that the two languages are worlds apart, and
they're much more similar than, for example, Java and Javascript. (Ignoring
syntax, obviously.)
Check out the book "Javascript: The Good Parts", as well as anything on the
Prototype package of Javascript extensions, and you might get a better idea
of what I'm talking about.
Wanklage
Posted Jan 5, 2010 0:44 UTC (Tue) by dskoll (subscriber, #1630)
[Link]
Perl 6 is a wanklage. Perl 5 is not, and neither is Lisp.
(I have a soft spot for Lisp because one of my earliest programming jobs was writing Common Lisp code, and I quite enjoyed it. Yes, I produced an actual useful application!)
Wanklage
Posted Jan 5, 2010 0:54 UTC (Tue) by jordanb (subscriber, #45668)
[Link]
Lisp *became* a wanklang[1] when the AI winter killed off most practical uses of the language and people like Erik Naggum took over comp.lang.lisp.
[1] I love your term, ncm, but the spelling 'wanklange' doesn't make any sense.
Wanklage
Posted Jan 5, 2010 3:33 UTC (Tue) by ncm (subscriber, #165)
[Link]
Well, you know, first spell it right. Then say it aloud: "Wanklage, language; wanklage, language". You'll get it.
By the way, people who look back fondly on Lisp (or LISP) are really only nostalgic for their own youth. They often feel the same way about pot, cheap pizza, beater cars, folly -- and AI. We left them behind for good reasons (except youth and folly; one was taken, the other we kept).
Wanklage
Posted Jan 5, 2010 14:06 UTC (Tue) by dskoll (subscriber, #1630)
[Link]
By the way, people who look back fondly on Lisp (or LISP) are really only nostalgic for their own youth.
I resent that! Some of us use GNU Emacs, you know!
Wanklage
Posted Jan 5, 2010 21:08 UTC (Tue) by ncm (subscriber, #165)
[Link]
I do, too -- in viper-mode.
Wanklage
Posted Jan 6, 2010 20:52 UTC (Wed) by jordanb (subscriber, #45668)
[Link]
> Well, you know, first spell it right. Then say it aloud: "Wanklage, language; wanklage, language". You'll get it.
I suspect you perhaps have to have a British accent to get that to work..
Still, it's a great term, regardless of spelling.
Wanklage
Posted Jan 6, 2010 22:13 UTC (Wed) by nix (subscriber, #2304)
[Link]
I've got a British accent and I don't get it. (Also, unless I misremember
ncm grew up in Hawaii or somewhere like that. British accent, not so
much.)
Wanklage
Posted Jan 15, 2010 18:58 UTC (Fri) by rwmj (guest, #5474)
[Link]
I use currying all the time when programming. It's tremendously useful to be able to add and drop
parameters to make code shorter.
Wanklage
Posted Jan 15, 2010 19:39 UTC (Fri) by b7j0c (subscriber, #27559)
[Link]
It appears that LWN may be turning into a digg
Wanklage
Posted Jan 15, 2010 23:21 UTC (Fri) by chorny (guest, #62988)
[Link]
See
Perl Myths 200909 to get real data about Perl usage. There are many new project every month. Just go to CPAN. Notable examples are Moose which implements one of the best OOP and MooseX::Declare to ease writing Moose classes.
Wanklage
Posted Jan 16, 2010 4:20 UTC (Sat) by jmathai (guest, #62991)
[Link]
Seriously?
Wanklage
Posted Jan 16, 2010 4:26 UTC (Sat) by jordanb (subscriber, #45668)
[Link]
Chromatic, if you're going to sock puppet, you should spend a little more effort on the username.
Wanklage
Posted Jan 16, 2010 5:38 UTC (Sat) by mstrout (guest, #62992)
[Link]
Chorny's CPAN directory seems a vast amount of effort just to create a sock puppet. Though I must admit I've never yet seen him and chromatic in the same room.
Wanklage
Posted Jan 16, 2010 8:40 UTC (Sat) by chromatic (guest, #26207)
[Link]
I appreciate the publicity (I suppose), but I'm too busy making things like Perl actually happen to be anyone in addition to myself.
A summary of 2009 Perl 6 activity
Posted Jan 5, 2010 12:41 UTC (Tue) by nowster (subscriber, #67)
[Link]
Fred Brooks, "The Second-System Effect" (in "The Mythical Man-Month" [1975]).
A summary of 2009 Perl 6 activity
Posted Jan 17, 2010 17:04 UTC (Sun) by chorny (guest, #62988)
[Link]
Python 3 took 10 years, and it was just a refactoring. Why do you think that Perl 6 should take less?