[ADV] Erlang book is in beta...

R

Rick DeNatale

No, not *that* Dave Thomas. Note that that page is about the guy who
founded Object Technology International, not the guy who co-wrote The
Pragmatic Programmer and the Pickaxe.

You beat me to it. I knew the OTI Dave Thomas long before I
encountered Ruby, worked with him on various Smalltalk and OOPSLA
things then when IBM acquired OTI, then for him when OTI borrowed me
from IBM. We always referred to him as "Big Dave."

When I first ran across Ruby and the Prag Programmers, I wondered if
it was the same Dave Thomas.

Actually, it's amazing how many Dave Thomases of note there are/were,
the ones I was already aware of were:

* Dave Thomas of Prag Programmers
* Dave Thomas of OTI
* Dave Thomas of Second City and "The Mackenzie Brothers"
* Dave Thomas the founder of Wendy's

But there are oh so many more: http://en.wikipedia.org/wiki/David_Thomas

I'm beginning to think that Dave Thomas is Welsh for John Smith!

Somehow if I ever managed to find fame, I wouldn't have quite the same
problem, although there seems to be an Italian-Canadian kickboxer with
the same last name famous enough to have a wikipedia article.
 
C

Chad Perrin

By the time I discovered Perl, it was long out of Larry Wall's hands and
into the mainstream. And I never even knew about open source communities
way back then. I got into Perl in the Perl 4 days as a replacement for
awk. There may have been a thriving Perl community then, but I wasn't
part of it.

There still is a thriving Perl community. Check out PerlMonks, for
instance.
 
C

Chad Perrin

Larry Wall definitely still plays a role in the Perl world. At least,
the development of Perl 6. I was really skeptical about Perl 6 but I
think it's going to be very, very entertaining. (I don't know if it'll
be entirely useful, but I'm sure it'll be interesting.)

He's involved in more than Perl 6. He also occasionally participates in
discussions at PerlMonks, for instance -- though one might not recognize
his username there, at first glance.
 
C

Chad Perrin

At a certain moment I stopped looking at perl6, one of the reasons I
am here BTW.
Is Perl6 really going to happen? I would be delighted but I felt that
the complexity/speed ratio was below the critical limit.
Hopefully I was wrong.

I made a very flippant, fairly public prediction that we'd see something
along the lines of a release candidate for Perl 6 in about 18 months,
give or take. The reasons I cited for such a prediction are mostly
nonsense, the prediction being mostly in jest (in a "ha ha only serious"
sense), but I wouldn't be terribly surprised if I was right nonetheless.

Steve Yegge, a programming weblog pundit of growing fame, speculated
that the Next Big Language(TM) would come out in about 18 months, and I
subsequently speculated in a weblog of my own about the language he must
have meant -- and in that speculation, I identified Perl 6 as the best
fit for his criteria for the NBL. I also went off on a tangent about
other factors related to, but not specifically part of, the NBL
discussion. It seems likely that Yegge was actually talking about
ECMAScript 4 (don't laugh -- it's looking like a much more serious
programming language than the current iteration), though Perl 6 fits his
criteria as he stated them even better than ECMAScript 4 does. As such,
he may well have been predicting that Perl 6 will be roughly
release-worthy in about eighteen months, too.

But someone pointed it out in this list already. "It sure would be sad
not to have Perl6 but having Parrot alone is a great achievement
already."

Worry not. Perl 6 development has long since crossed the point of no
return. Too much work has already been done, with multiple, fairly
complete testing implementations available and polished enough so that
you could be fooled into thinking you have a release version of a new
language in your hands.
 
R

Rimantas Liubertas

Steve Yegge, a programming weblog pundit of growing fame, speculated
that the Next Big Language(TM) would come out in about 18 months, and I
subsequently speculated in a weblog of my own about the language he must
have meant -- and in that speculation, I identified Perl 6 as the best
fit for his criteria for the NBL.
<...>

Isn't that the same Setve Yegge who called Perl an ancient language, said
some interesting things about Larry as well and bid Perl farewell?

http://steve.yegge.googlepages.com/ancient-languages-perl

Regards,
Rimantas
 
M

M. Edward (Ed) Borasky

Chad said:
Worry not. Perl 6 development has long since crossed the point of no
return. Too much work has already been done, with multiple, fairly
complete testing implementations available and polished enough so that
you could be fooled into thinking you have a release version of a new
language in your hands.
So are you saying that one, should one be interested, could become a
Perl 6 user and try to write "killer apps" in Perl 6? How easy would
that be for someone who's a Perl 4 hacker that can copy working Perl 5
examples out of a book and get them to execute? :)
 
C

Chad Perrin

So are you saying that one, should one be interested, could become a
Perl 6 user and try to write "killer apps" in Perl 6? How easy would
that be for someone who's a Perl 4 hacker that can copy working Perl 5
examples out of a book and get them to execute? :)

Perl 6 is actually a pretty significant departure from even Perl 5, let
alone Perl 6. I can follow the syntax (being a Perl 5 guy), but it's
not exactly the same language. To get the idea across . . . you can
write simple scripts in Perl 4 and they'll still execute with a Perl 5
interpreter without making any major changes. The same, it seems, is
not true of Perl 5 and Perl 6. It has been said many times that Perl 6
is more a new language than a new release version of an old language.

For instance, try this on for size: Perl 6 apparently won't
automatically "flatten" nested lists. At first glance, that might just
look like a small design decision, but that fundamentally changes quite
a lot about the language. No longer is dereferencing syntax necessary
for complex data structures, for instance -- you can just pile a list
inside a list.

It looks like Perl 5 and Perl 6 will be forks of Perl, with Perl 5
development continuing into the future.

Yes, you could probably write a production application in Perl 6 right
now, but Perl 6 is a moving target right now. If you're planning to put
Perl 6 code in production now, you'd better bundle it with an
interpreter and be ready to support the interpreter yourself. You'd be
better off, if you want to play with Perl 6 at this point, to do just
that for now -- play with it. Learn it to the best of your ability,
write toy scripts and even automate non-critical tasks, and submit bug
reports when things don't work as expected. Right now, using Perl 6 is
more a hobby and a way to help the further development of Perl 6 than a
means of getting Real Work done. At least, that's my understanding.
 
G

Giles Bowkett

Yeah, Perl 5 and Perl 6 are definitely different, and Perl 6 is
definitely breaking backwards compatibility. If that thing about Perl
5 development continuing even after Perl 6's release is true, I don't
think that sounds very promising. Some of the ideas in Perl 6 are
pretty fascinating and weird, but that doesn't necessarily make it
useful.
 
C

Chad Perrin

Yeah, Perl 5 and Perl 6 are definitely different, and Perl 6 is
definitely breaking backwards compatibility. If that thing about Perl
5 development continuing even after Perl 6's release is true, I don't
think that sounds very promising. Some of the ideas in Perl 6 are
pretty fascinating and weird, but that doesn't necessarily make it
useful.

Um, yes. Thank you for that thoughtful analysis.

I'm looking forward to Perl 6. You don't have to.
 
M

M. Edward (Ed) Borasky

Chad said:
Yes, you could probably write a production application in Perl 6 right
now, but Perl 6 is a moving target right now. If you're planning to put
Perl 6 code in production now, you'd better bundle it with an
interpreter and be ready to support the interpreter yourself. You'd be
better off, if you want to play with Perl 6 at this point, to do just
that for now -- play with it. Learn it to the best of your ability,
write toy scripts and even automate non-critical tasks, and submit bug
reports when things don't work as expected. Right now, using Perl 6 is
more a hobby and a way to help the further development of Perl 6 than a
means of getting Real Work done. At least, that's my understanding.
Well then ... as a "hobby", what advantage does learning Perl 6 have
over, say, Erlang or Haskell, both of which have significant if not
"killer" apps? One would be choosing between getting in on the "ground
floor" of what, as opposed to climbing on a rolling bandwagon that
appears to be gaining momentum?

I guess I'm looking for a "killer language feature" in Perl 6. I don't
know enough about Haskell to know if it has any killer features, but I
know of at least two in Erlang -- concurrency done with lightweight
processes and some pretty good compile-time code checking tools. Now
Ruby, of course, could very easily learn lightweight processes, but
nobody seems to think it's possible to do compile-time code checking,
and quite a few Rubyists don't even think such tools have any value.
 
C

Chad Perrin

Well then ... as a "hobby", what advantage does learning Perl 6 have
over, say, Erlang or Haskell, both of which have significant if not
"killer" apps? One would be choosing between getting in on the "ground
floor" of what, as opposed to climbing on a rolling bandwagon that
appears to be gaining momentum?

Hey, if you don't like things with the name Perl on them, or only learn
languages when they have a significant post-release momentum to them,
that's fine. Choose accordingly. If, on the other hand, you find that
you like what you've read or heard about Perl 6, then maybe you'd find
it interesting to learn. The above reads like you're trying to put me
on the defensive, but really, I don't have anything to defend.

I guess I'm looking for a "killer language feature" in Perl 6. I don't
know enough about Haskell to know if it has any killer features, but I
know of at least two in Erlang -- concurrency done with lightweight
processes and some pretty good compile-time code checking tools. Now
Ruby, of course, could very easily learn lightweight processes, but
nobody seems to think it's possible to do compile-time code checking,
and quite a few Rubyists don't even think such tools have any value.

Try this for a "killer feature":
It's kinda like Perl 5, but better. (At least, that's the theory.)

If you hate Perl, maybe that means it's not for you.

On the other hand . . . Perl 6 is doing some interesting things with
list handling and inheritance -- like, it's not actually using
"inheritance", per se. It's using trait composition instead to achieve
similar effects. I've never used a trait composition system like this
before, and the idea interests me. It looks like it may, implemented
well, be a significant improvement for more dynamic programming idioms
over more traditional inheritance.

Hey, it's a new language. I have a better question than to ask why I
should learn it. How about "Why not?"
 
R

Robert Dober

Um, yes. Thank you for that thoughtful analysis.

I'm looking forward to Perl 6. You don't have to.

Of course that is somehow normal between civilized people :)
But I am afraid that the Perl community just loses too much momentum
to remain a mainstream language as it was.
That might not bother A. B might think that it will not happen, and I
am just C, having stopped putting effort into understanding Perl6
because of that risk.

I kind of feel sad about that.
Your optimism is a good thing to share, and I thank you for it,
nonetheless I remain skeptical.
But I am wrong quite often ;)

Robert
 
M

M. Edward (Ed) Borasky

Chad said:
Hey, if you don't like things with the name Perl on them, or only learn
languages when they have a significant post-release momentum to them,
that's fine. Choose accordingly. If, on the other hand, you find that
you like what you've read or heard about Perl 6, then maybe you'd find
it interesting to learn. The above reads like you're trying to put me
on the defensive, but really, I don't have anything to defend.
No, I wasn't trying to put *you* on the defensive. :) I have no problem
with Perl 5 and its current massive post-release momentum. I haven't
heard much about Perl 6 recently. I have a moderate-sized Perl 4.999999
... code base that I maintain, but I don't write new code in Perl at all
-- it's either Ruby or R. My point is simply this -- Perl 6 may turn out
to be the greatest thing since sliced bread, but it's a laboratory
curiosity as far as I'm concerned. I can't use it for production, and
it's got too large a community and too much momentum for me to have any
significance in its progress unless it's got something nobody else has.
Try this for a "killer feature":
It's kinda like Perl 5, but better. (At least, that's the theory.)
Well, I don't really have any issues with Perl 5. It's got just about
everything anyone could possibly want.
If you hate Perl, maybe that means it's not for you.
I don't hate Perl -- I simply prefer other languages.
On the other hand . . . Perl 6 is doing some interesting things with
list handling and inheritance -- like, it's not actually using
"inheritance", per se. It's using trait composition instead to achieve
similar effects. I've never used a trait composition system like this
before, and the idea interests me. It looks like it may, implemented
well, be a significant improvement for more dynamic programming idioms
over more traditional inheritance.
Well ... that's more what I meant by a "killer language feature".
Hey, it's a new language. I have a better question than to ask why I
should learn it. How about "Why not?"
It's not a question of why or why not for me ... it's a question of "why
now?" And I can't come up with a reason to learn it now -- it's too far
along for me to change it, and too far from finished for me to use it
professionally. So I don't mind waiting until it is of professional
significance and not a hobby language. But I certainly don't have any
hatred for it just because it's Perl.

Now if the Perl 6 community were to decide, "OK ... we've had our fun
... let's tie up all the loose ends and push towards a
professional-quality *release*" -- you know, things like code freezes --
then I might be tempted to learn it. :)
 
C

Chad Perrin

It's not a question of why or why not for me ... it's a question of "why
now?" And I can't come up with a reason to learn it now -- it's too far
along for me to change it, and too far from finished for me to use it
professionally. So I don't mind waiting until it is of professional
significance and not a hobby language. But I certainly don't have any
hatred for it just because it's Perl.

Well, that makes sense. I'm not learning it right now, either. I'm
following its development, somewhat, as an interested observer. I'm
interested in what its final form will be. I'll probably start learning
it right about the time I'm pretty sure I won't have to discard
everything I've learned and start over again -- after release, in other
words.

I was asked about its value as a programming language right now, so I
described it in some detail from my perspective -- something to do for
fun or to help with development, and not so much something to do for
career enhancement. I'd go for the "for fun" option, if there weren't
too many other things I'm already doing for fun -- like working on
achieving real competence with Ruby.

Now if the Perl 6 community were to decide, "OK ... we've had our fun
... let's tie up all the loose ends and push towards a
professional-quality *release*" -- you know, things like code freezes --
then I might be tempted to learn it. :)

I'm already tempted, but I can resist temptation until that point. It's
pretty easy, when giving in to temptation at this point would have to
involve reallocating yet more sleep time.
 
G

Giles Bowkett

I don't understand the defensiveness but the great selling point of
Perl 6 at this point is its extraordinary eccentricity. The Roles
system is based on an idea from Squeak Smalltalk called Traits:

"We buy the argument of the Traits paper that classes should not be
used both to manage objects and to manage code reuse. It needs to be
possible to separate those concerns."

(http://www.perl.com/pub/a/2004/04/16/a12.html)

Obviously this is pretty different from the standard class-centric OO paradigm.

There's also a set-like datatype which was inspired by quantum
physics. They made such weird, fun decisions that I feel like I have
to check it out.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,582
Members
45,065
Latest member
OrderGreenAcreCBD

Latest Threads

Top