[ADV] Erlang book is in beta...

J

James Britt

Dave said:
On any other language list, if I announced a book on a different
language, I'd get flamed until crisp.

Here, all you folks say is "cool".

You haven't announced that PHP book yet. Followed by Agile Web
Programming with Django.

:)
It's a nice place to call home.

Quite true.
 
G

gga

Dave Thomas ha escrito:
One of those areas is concurrent programming. As the world moves to
multi-core processors, and as we start to write applications
distributed across intra- and internets, we need to find better ways
to exploit all this extra power. If you've ever tried to write
concurrent programs in Java, or even Ruby, you know the challenges.

So, I have to ask. There's already some good and fast multithreading
languages out there (Lua, for example), and concurrency in the form of
light threads is pretty much available in most popular languages
(python, ruby, lua, java, etc). TCL and Lua's interpreter state,
allows easily doing somewhat akin to Erlang's processes, if I
understand correctly. So, what is it that makes Erlang special in
this aspect?
My current (perhaps wrong) impression is this: Erlang's processes are
more akin to TCL's or Lua's interpreter state, so each thread does not
share any info with another by default. To implement sharing data
around, Erlang uses a built-in queue mechanism among its processes
which is very simple and elegant and similar to ruby's case statement
(which is good and smart -- no need to create semaphores or yields
everywhere like you need with other languages), but I'm not quite sure
if that could be end up being somewhat limiting also if you need to
share a lot of data across. I'm also not clear how easy (or
possible?) it is to interface Erlang with C or C++, for example.
I like it for that reason. I also like it because it's different--
very different. It makes me think about problems in a totally
different way.

That it is. It is 100% functional programming pretty much, albeit its
syntax is much more accessible than something like Ocalm or Haskell
(at least to me).

P.S. For what it is worth, in the industry I work on, we have already
been briefly exposed to Erlang, thanks to the 3d package wings3d. The
software, when it showed up, was pretty revolutionary (other than
Mirai --written partly in lisp-- nobody had tried to do a 3d tool with
a scripting language and succeeded), but it also showed (to me) some
flaws with Erlang (slow execution, hard for people to pick it up,
problematic to implement and replace complex data structures and some
problems with backwards compatibility -- my ubuntu box currently
segfaults with wings3d). So, I'll admit I already have some bias
against the language, but maybe I have missed some of its beauty and
wings3d might not be the best example of Erlang code out there.
 
J

James Britt

Luciano said:
Comming from the Python community, I don't think pythonistas are more
intolerant than rubyists, although I've heard this myth while talking
to people at the last RubyConf. On the other hand, if you had
announced a Python book, perhaps your response here would not be
positive.

One of the things that has always bothered me in the Ruby community is
how much Python bashing goes on, most of it needless and a lot of it
pointless.

Interesting. My view is that Python questions/comparisons on ruby-talk
are mostly greeted with "Python is great; try both Ruby and Python and
pick what makes you happy."

I've seen complaints on this list about various Python features; I hope
expressing displeasure doesn't count as "bashing."

Also, one has to have an appropriate understanding of the scope of "the
Ruby community". It's much, much more than a handful of vocal people,
either on this list or out on various bogs and discussion boards.

(BTW, some folks in my neck of the woods tried to start up a Django user
group. 2 of the 4 attendees at the first meeting were Rubyists. We're
pretty open-minded about tech, and I think the enthusiasm here for
Erlang, Haskell, Io, etc. is some indication.)
Then again, you *are* Dave Thomas, and everyone here are your fans
(including myself), so you'll always get special treatment.

I don't think people shy away from criticizing Dave if they believe it's
warranted. It's more that most people here treat most other people here
with respect. And Dave and Prag Press have produce admirable work.

MINASWAN. (Matz is nice and so we are nice.)

So, as long as Matz stays nice ...

:)
 
L

Luciano Ramalho

MINASWAN. (Matz is nice and so we are nice.)

Yes, Matz is very nice, it was wonderful to meet him. So are most
everyone in the Ruby and Python communities.

It's really wonderful how BBSs and then the Internet alowed us to form
these international communities of interest moved by solidarity and
sharing.

Cheers,

Luciano
 
M

M. Edward (Ed) Borasky

James said:
I've seen complaints on this list about various Python features; I
hope expressing displeasure doesn't count as "bashing."
Yes ... just because significant whitespace is the tool of Satan doesn't
mean Python is unusable ... I'm sure there are *some* programmers
willing to put their souls at risk and use Python. :)
(BTW, some folks in my neck of the woods tried to start up a Django
user group. 2 of the 4 attendees at the first meeting were Rubyists.
We're pretty open-minded about tech, and I think the enthusiasm here
for Erlang, Haskell, Io, etc. is some indication.)
Part of that enthusiasm stems from

a. Erlang seems to have "done concurrency right". Ruby is close, so
Rubyists want to pick up some ... er ... pointers. :)
b. Those of us who believe that Functional Programming is the One True
Way are naturally enthusiastic about functional languages achieving
"commercial" success. Too bad it's not Lisp or Scheme, but hey, you
can't have *everything*. :)
I don't think people shy away from criticizing Dave if they believe
it's warranted. It's more that most people here treat most other
people here with respect. And Dave and Prag Press have produce
admirable work.
I don't think Dave has ever said anything I disagree with, but then I've
only been hanging out here for a year or so. One thing he *has* said
repeatedly is that a programmer should learn a new language every year,
and his timing was perfect -- I picked Erlang and he showed up a couple
weeks later with an Erlang book. Just out of curiosity, Dave, are you
looking for someone to write a queuing theory book? :)
MINASWAN. (Matz is nice and so we are nice.)

So, as long as Matz stays nice ...

:)
Seriously, though, someone ought to do a sociological study of
"benevolent dictators" like Matz, DHH, Guido and Linus (Torvalds) and
the communities that have formed around them.
 
M

M. Edward (Ed) Borasky

gga said:
So, I have to ask. There's already some good and fast multithreading
languages out there (Lua, for example), and concurrency in the form of
light threads is pretty much available in most popular languages
(python, ruby, lua, java, etc). TCL and Lua's interpreter state,
allows easily doing somewhat akin to Erlang's processes, if I
understand correctly. So, what is it that makes Erlang special in
this aspect?
My current (perhaps wrong) impression is this: Erlang's processes are
more akin to TCL's or Lua's interpreter state, so each thread does not
share any info with another by default. To implement sharing data
around, Erlang uses a built-in queue mechanism among its processes
which is very simple and elegant and similar to ruby's case statement
(which is good and smart -- no need to create semaphores or yields
everywhere like you need with other languages), but I'm not quite sure
if that could be end up being somewhat limiting also if you need to
share a lot of data across. I'm also not clear how easy (or
possible?) it is to interface Erlang with C or C++, for example.
1. What makes Erlang special is that, unlike Python, Ruby and Lua, there
are a number of *major* industrial-strength commercial projects
implemented in Erlang -- integrated hardware/software projects to boot.
Concurrency is integral to the language and the core reasons these
applications work. Now there *are* major industrial strength
applications written in Java, and I think you can make the same claim
for Perl and PHP, but whether they *depend* on concurrency for their
robustness, as Erlang applications typically do, is quite another story.
Of the listed languages, I think only Erlang and Java can seriously be
considered as *replacements" for C and C++ for building robust,
large-scale concurrency-dependent applications.

2. Yes, there is a mechanism for interfacing Erlang to C/C++. Most
likely it's platform-dependent, and I don't know enough about Erlang yet
to know how it works. That's why I bought the book. :)
P.S. For what it is worth, in the industry I work on, we have already
been briefly exposed to Erlang, thanks to the 3d package wings3d. The
software, when it showed up, was pretty revolutionary (other than
Mirai --written partly in lisp-- nobody had tried to do a 3d tool with
a scripting language and succeeded), but it also showed (to me) some
flaws with Erlang (slow execution, hard for people to pick it up,
problematic to implement and replace complex data structures and some
problems with backwards compatibility -- my ubuntu box currently
segfaults with wings3d). So, I'll admit I already have some bias
against the language, but maybe I have missed some of its beauty and
wings3d might not be the best example of Erlang code out there.
Well, in *my* industry there's absolutely nothing written in Erlang or
Ruby or Lua or Java or Lisp or Java. We pretty much stick with C and
Perl, with a bit of C++ and Visual Basic, and of course Python and Bash
in the Linux world. This is why I spend my own time learning stuff like
Ruby, Gentoo Linux, Erlang and wings3d. :)

I can't help you with the segfaults on Ubuntu, but I will install Erlang
and wings on my Gentoo box -- they're in Portage -- and if the demos
segfault, I'll file bugs on Gentoo :). Helluva hobby, ain't it? :)
 
M

M. Edward (Ed) Borasky

M. Edward (Ed) Borasky said:
1. What makes Erlang special is that, unlike Python, Ruby and Lua,
there are a number of *major* industrial-strength commercial projects
implemented in Erlang -- integrated hardware/software projects to
boot. Concurrency is integral to the language and the core reasons
these applications work. Now there *are* major industrial strength
applications written in Java, and I think you can make the same claim
for Perl and PHP, but whether they *depend* on concurrency for their
robustness, as Erlang applications typically do, is quite another
story. Of the listed languages, I think only Erlang and Java can
seriously be considered as *replacements" for C and C++ for building
robust, large-scale concurrency-dependent applications.
P.S.: Last September, there was a Functional Languages conference here
in Portland. I attended two all-day side sessions, one on Erlang and one
on Scheme. The Erlang session overflowed the small room Portland State
University had allocated for it, and something like a third of the
attendees were from a team at Amazon.Com that is doing a project in Erlang.
 
R

Robert Dober

Seriously, though, someone ought to do a sociological study of
"benevolent dictators" like Matz, DHH, Guido and Linus (Torvalds) and
the communities that have formed around them.
That is very interesting, I have *never* thought/had the feeling that
the community is build around Matz, maybe that is the sign of a true
leader.
But I am limited to the ML as nbody has yet invited me to a RubyConv
as a speaker ;)

But I agree 100% that he is an incredibly nice and easy going person.
--
M. Edward (Ed) Borasky, FBG, AB, PTA, PGS, MS, MNLP, NST, ACMC(P)
http://borasky-research.blogspot.com/

If God had meant for carrots to be eaten cooked, He would have given rabbits fire.
R.
 
T

Timothy Hunter

Robert said:
That is very interesting, I have *never* thought/had the feeling that
the community is build around Matz, maybe that is the sign of a true
leader.
But I am limited to the ML as nbody has yet invited me to a RubyConv
as a speaker ;)

But I agree 100% that he is an incredibly nice and easy going person.

Matz personally answered my very first post to ruby-talk. That was Feb
27, 2002, just a hair over 5 years ago. I was surprised and pleased and
have remained that way ever since.
 
G

gregarican

On any other language list, if I announced a book on a different
language, I'd get flamed until crisp.

Here, all you folks say is "cool".

It's a nice place to call home.

Dave

I would agree. Out of the various languages I've worked with (or at
least dabbled in) such as Java, C, C++, C#, VB, Python, Smalltalk, and
Ruby, that the Ruby community is the best. In terms of being
courteous, friendly, helpful, and active. There are newsgroups or
mailing lists for other languages that might try to help but are just
so inactive due to a small user base. Then there is the opposite. A
language that's so big that one person's post is ignored or at best it
receives a curt reply such as "Google in your friend." The Ruby
community as a whole has a sense of humor, likes to explore other
languages, and realizes there's more than one tool to do the job.

For a newbie looking to pick a programming language to start out with,
if they are interested in the community as a resource then browse the
various newsgroups and mailing lists. See what the replies are and how
welcome newbies are. Ruby would be #1 in my book.
 
G

gregarican

On any other language list, if I announced a book on a different
language, I'd get flamed until crisp.

Here, all you folks say is "cool".

It's a nice place to call home.

Dave

I would agree. Out of the various languages I've worked with (or at
least dabbled in) such as Java, C, C++, C#, VB, Python, Smalltalk, and
Ruby, that the Ruby community is the best. In terms of being
courteous, friendly, helpful, and active. There are newsgroups or
mailing lists for other languages that might try to help but are just
so inactive due to a small user base. Then there is the opposite. A
language that's so big that one person's post is ignored or at best it
receives a curt reply such as "Google in your friend." The Ruby
community as a whole has a sense of humor, likes to explore other
languages, and realizes there's more than one tool to do the job.

For a newbie looking to pick a programming language to start out with,
if they are interested in the community as a resource then browse the
various newsgroups and mailing lists. See what the replies are and how
welcome newbies are. Ruby would be #1 in my book.
 
C

Chad Perrin

Seriously, though, someone ought to do a sociological study of
"benevolent dictators" like Matz, DHH, Guido and Linus (Torvalds) and
the communities that have formed around them.

Those are some excellent examples of nice people who are community
leaders by dint of having created the focus of the community in the
first place. I'm simply astounded that Larry Wall didn't make your
list, however. He's sort of one of the pioneers of community accretion
in this tradition.
 
M

M. Edward (Ed) Borasky

Chad said:
Those are some excellent examples of nice people who are community
leaders by dint of having created the focus of the community in the
first place. I'm simply astounded that Larry Wall didn't make your
list, however. He's sort of one of the pioneers of community accretion
in this tradition.
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.
 
G

Giles Bowkett

Those are some excellent examples of nice people who are community
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.

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.)
 
R

Robert Dober

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.)
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.

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."

Robert
 

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