Quantcast

erlang sucks

classic Classic list List threaded Threaded
138 messages Options
1234 ... 7
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

erlang sucks

Mats Cronqvist-3
  Damien Katz ( of couchDB fame) has written a blog post about the warts
of erlang.
(http://damienkatz.net/2008/03/what_sucks_abou.html)
  i find this encouraging, because, as Damien says; "There are the
languages everyone complains about, and there are the languages no one
uses." excellent news if erlang is moving from the second to the first
category.

  mats

_______________________________________________
erlang-questions mailing list
[hidden email]
http://www.erlang.org/mailman/listinfo/erlang-questions

mats_cronqvist.vcf (189 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: erlang sucks

Hasan Veldstra

A rather disappointing article. Erlang does have warts, but of the 8  
points made in the article, only 3 are valid in my opinion: the ones  
on records, documentation, and perhaps code organization. The  
documentation situation, for one, is bound to improve as the number  
of Erlang programmers grows. The other two probably will too, given  
enough push.

The important thing is that Erlang gets the hard fundamental stuff  
right. The rest can be improved with time.

On 10 Mar 2008, at 12:48, Mats Cronqvist wrote:

>  Damien Katz ( of couchDB fame) has written a blog post about the  
> warts of erlang.
> (http://damienkatz.net/2008/03/what_sucks_abou.html)
>  i find this encouraging, because, as Damien says; "There are the  
> languages everyone complains about, and there are the languages no  
> one uses." excellent news if erlang is moving from the second to  
> the first category.
>
>  
> mats<mats_cronqvist.vcf>______________________________________________
> _
> erlang-questions mailing list
> [hidden email]
> http://www.erlang.org/mailman/listinfo/erlang-questions

_______________________________________________
erlang-questions mailing list
[hidden email]
http://www.erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: erlang sucks

Convey Christian J NPRI
In reply to this post by Mats Cronqvist-3
> A rather disappointing article. Erlang does have warts, but
> of the 8 points made in the article, only 3 are valid in my
> opinion: the ones on records, documentation, and perhaps code
> organization. The documentation situation, for one, is bound
> to improve as the number of Erlang programmers grows. The
> other two probably will too, given enough push.

Just speaking from my own impression as a newcommer, I really agree with the original author about the separator-vs.-terminator issue.  The separators are a hassle for me.

Perhaps in order to make it work nicely, Erlang would need a major shake-up of its tokens and syntax, and thus the change wouldn't be worthwhile.  I'm just saying that if I could design Erlang's syntax from scratch it would largely reflect the author's concerns.
_______________________________________________
erlang-questions mailing list
[hidden email]
http://www.erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: erlang sucks

Armando Di Cianno-2
In reply to this post by Hasan Veldstra

On Mon, 2008-03-10 at 15:09 +0000, Hasan Veldstra wrote:
> The important thing is that Erlang gets the hard fundamental stuff  
> right. The rest can be improved with time.

This is very true -- however, it also means that the community now needs
to go through the EEP's, massive discussion of somekind, strong arm
someone with commit access, or enter into some kind of bureaucratic
ordealto do something like improve support for UTF-8 or strings, instead
of just /fixing it/.

Shouldn't the "hard fundamental stuff" be that which deserves
discussion, and the simple, pretty stuff already be in place?  With
people we are  aware of both, can't we get the pretty stuff in
place /now/, and improve it's performance /later/?

This is clearly going to be a recurring theme in Erlang-world as more
and more people see the power in Erlang, and are turned to stone viewing
the visage of it's warts.

--
Armando Di Cianno
http://dicianno.org/blog
[hidden email]
[hidden email]


_______________________________________________
erlang-questions mailing list
[hidden email]
http://www.erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: erlang sucks

Robert Raschke-2
In reply to this post by Convey Christian J NPRI
Convey Christian J NPRI writes:
> Just speaking from my own impression as a newcommer, I really agree
> with the original author about the separator-vs.-terminator issue.
> The separators are a hassle for me.

Not sure if this is visible enough in the documentation, but
"comma" reads as "and",
"semicolon" reads as "or",
and the full stop should be self explanatory.
Pretty straightforward.

(Yes, this comes from the Prolog heritage.)

I think people get hung up about this, because it is easy to have an
opinion on.  Kinda like indentation, or _ vs CamelCaps.

Robby

PS I actually think the syntax differences are great, cause it means I
   don't get suckered into writing Java code in Erlang!

_______________________________________________
erlang-questions mailing list
[hidden email]
http://www.erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: erlang sucks

Alpár Jüttner-2

On Mon, 2008-03-10 at 16:20 +0000, Robert Raschke wrote:
> Convey Christian J NPRI writes:
> > Just speaking from my own impression as a newcommer, I really agree
> > with the original author about the separator-vs.-terminator issue.
> > The separators are a hassle for me.

[snip]

> I think people get hung up about this, because it is easy to have an
> opinion on.  Kinda like indentation, or _ vs CamelCaps.

I don't think so. This is more like a practical thing: it is indeed a
little bit cumbersome to reorganize the branches because you have to
change the line endings.

Not a big issue, anyway.

Regards,
Alpar




> Robby
>
> PS I actually think the syntax differences are great, cause it means I
>    don't get suckered into writing Java code in Erlang!
>
> _______________________________________________
> erlang-questions mailing list
> [hidden email]
> http://www.erlang.org/mailman/listinfo/erlang-questions

_______________________________________________
erlang-questions mailing list
[hidden email]
http://www.erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: erlang sucks

Mazen Harake
In reply to this post by Robert Raschke-2
Robert Raschke wrote:

> Convey Christian J NPRI writes:
>  
>> Just speaking from my own impression as a newcommer, I really agree
>> with the original author about the separator-vs.-terminator issue.
>> The separators are a hassle for me.
>>    
>
> Not sure if this is visible enough in the documentation, but
> "comma" reads as "and",
> "semicolon" reads as "or",
> and the full stop should be self explanatory.
> Pretty straightforward.
>
> (Yes, this comes from the Prolog heritage.)
>
> I think people get hung up about this, because it is easy to have an
> opinion on.  Kinda like indentation, or _ vs CamelCaps.
>
> Robby
>
> PS I actually think the syntax differences are great, cause it means I
>    don't get suckered into writing Java code in Erlang!
>  
I was sitting and thinking about writing and defending the syntax a
little bit since I don't agree with many of the complaints, however,
when I read these two last lines I think it says it all. Very well put,
bravo!
> _______________________________________________
> erlang-questions mailing list
> [hidden email]
> http://www.erlang.org/mailman/listinfo/erlang-questions
>  


--
Mazen Harake <[hidden email]>
Erlang Software Developer and Consultant,
Erlang Training & Consulting, Ltd

Mobile Phone: +44 (0)795 13 26 317
Office Phone: +44 (0)207 45 61 020
Office Address:
401 London Fruit & Wool Exchange
Brushfield St, London, E1 6EL
United Kingdom

This email and its attachments may be confidential and are intended solely for the use of the individual to whom it is addressed. Any views or opinions expressed are solely those of the author and do not necessarily represent those of "Erlang Training & Consulting, Ltd".

If you are not the intended recipient of this email and its attachments, you must take no action based upon them, nor must you copy or show them to anyone. Please contact the sender if you believe you have received this email in error.

_______________________________________________
erlang-questions mailing list
[hidden email]
http://www.erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: erlang sucks

dmercer
In reply to this post by Alpár Jüttner-2
I complained about this issue 7 months ago:
http://www.erlang.org/pipermail/erlang-questions/2007-August/028516.html

In the end, LFE might be the way to go.  I have not had time to take a look
however.  Anyone have anything bad to say about it?

DBM

-----Original Message-----
From: [hidden email]
[mailto:[hidden email]] On Behalf Of Alpár Jüttner
Sent: Monday, March 10, 2008 13:17
To: Robert Raschke
Cc: [hidden email]
Subject: Re: [erlang-questions] erlang sucks


On Mon, 2008-03-10 at 16:20 +0000, Robert Raschke wrote:
> Convey Christian J NPRI writes:
> > Just speaking from my own impression as a newcommer, I really agree
> > with the original author about the separator-vs.-terminator issue.
> > The separators are a hassle for me.

[snip]

> I think people get hung up about this, because it is easy to have an
> opinion on.  Kinda like indentation, or _ vs CamelCaps.

I don't think so. This is more like a practical thing: it is indeed a
little bit cumbersome to reorganize the branches because you have to
change the line endings.

Not a big issue, anyway.

Regards,
Alpar




> Robby
>
> PS I actually think the syntax differences are great, cause it means I
>    don't get suckered into writing Java code in Erlang!
>
> _______________________________________________
> erlang-questions mailing list
> [hidden email]
> http://www.erlang.org/mailman/listinfo/erlang-questions

_______________________________________________
erlang-questions mailing list
[hidden email]
http://www.erlang.org/mailman/listinfo/erlang-questions

_______________________________________________
erlang-questions mailing list
[hidden email]
http://www.erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: erlang sucks

Robert Virding
On 10/03/2008, David Mercer <[hidden email]> wrote:
I complained about this issue 7 months ago:
http://www.erlang.org/pipermail/erlang-questions/2007-August/028516.html

In the end, LFE might be the way to go.  I have not had time to take a look
however.  Anyone have anything bad to say about it?

The trouble with LFE is that it uses lisp syntax, and look on the net how difficult many find lisp syntax. :-) I don't have any trouble with it, after a while you count parentheses automatically, but many fall back in horror.

There is nothing bad you can say about it. :-) "Practically perfect in every way", or soon will be anyway.

Robert (the culprit)


_______________________________________________
erlang-questions mailing list
[hidden email]
http://www.erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: erlang sucks

Richard O'Keefe
In reply to this post by Mats Cronqvist-3

On 11 Mar 2008, at 1:48 am, Mats Cronqvist wrote:

> Damien Katz ( of couchDB fame) has written a blog post about the  
> warts of erlang.
> (http://damienkatz.net/2008/03/what_sucks_abou.html)
Some of what Damien Katz says puzzles me greatly.
He claims, for example, that Erlang is exceptionally hard to edit.
I can only say that I have not found it so, and I don't even use
an Erlang-aware editor.

When he writes
        Erlang string operations are just not as simple or easy as
        most languages with integrated string types
the obvious retort is "No, they are simpler and easier".

However, sometimes giving a whining child a lollipop is a rational
thing to do.  Maybe it is time for a string type that holds sequences
of Unicode characters in some unspecified compact format; binaries with
a different tag.

_______________________________________________
erlang-questions mailing list
[hidden email]
http://www.erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: erlang sucks

Richard O'Keefe
In reply to this post by Mazen Harake
My take on the separators issue:

(1) I'm used to the Prolog approach, where every clause ends with a  
full stop.
     I'm also used to SML and Haskell and Clean, where again every  
clause ends
     the same way (with nothing).  If Prolog and Haskell can figure  
out that
     adjacent clauses defining the same thing belong to the same  
definition, it
     isn't clear to me why Erlang can't.  I once wrote a functional  
preprocessor
     for Prolog where I could write
        append([], Ys) = Ys.
        append([X|Xs], Ys) = [X | append(Xs, Ys)].
     and the use of a dot at the end of every function clause was no  
trouble at
     all.  Nor is it any trouble in Mercury.

     I generally don't accept arguments about re-ordering definition  
clauses,
     because if you know what you are doing it is pretty rare.  But I  
*do*
     accept arguments about *adding* clauses when you revise a data  
type, so
     I wish that Erlang would allow all function clauses to end with a  
full
     stop.

(2) Again, I generally don't accept arguments about re-ordering function
     calls in a body.  I don't find that to be a common mistake.  Oh,  
I do
     make mistakes in Erlang.  I make mistakes all the time in all  
sorts of
     languages.  One mistake I do make in Erlang and in C is to get  
the order
     of arguments wrong.  So why isn't Mr "Erlang sucks" complaining  
bitterly
     about how C and Java use different terminators after the last  
argument ")"
     and all the others ",", making it hard to swap arguments?  
Presumably he
     isn't complaining about that BECAUSE C and Java do the same  
thing, so he
     hasn't noticed it.

(3) For what it's worth, my text editor, modelled on Emacs, but  
originally
     small enough to fit comfortably on a PDP-11, has a "swap terms"  
command
     that interchanges the closed terms on either side of the cursor.  
Given

        foo(X) ->
            bar(X),^
            ugh(X).

     with the cursor where the ^ is, Ctrl-X t will convert this to

        foo(X) ->
            ugh(X),^
            bar(X).

     with no trouble at all.  More generally, the DEdit editor in  
Interlisp-D
     had a nice facility:  you could build up a stack of selections  
and then
     choose an operation, so you could
        select thing one (except for its terminator)
        select thing two (except for its terminator)
        swap top selections
     Gosh, I miss the ability to have multiple selections.

     So this is arguably an EDITOR problem, not a LANGUAGE problem,  
and it
     can be addressed by more/better editor support.  (Is there an XCode
     plugin for Erlang?)

_______________________________________________
erlang-questions mailing list
[hidden email]
http://www.erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: erlang sucks

Michael Richter
In reply to this post by Richard O'Keefe

On Tue, 2008-03-11 at 13:40 +1300, Richard A. O'Keefe wrote:
However, sometimes giving a whining child a lollipop is a rational
thing to do.

Way to dismiss valid complaints with an insulting backhand.

And then people wonder why it is technical types have a reputation for having no social skills.

--
Michael T. Richter <[hidden email]> (GoogleTalk: [hidden email])
All really first class designers are both artists, engineers, and men of a powerful and intolerant temper, quick to resist the least modification of the plans, energetic in fighting the least infringement upon what they regard as their own sphere of action. (Nevil Shute)

_______________________________________________
erlang-questions mailing list
[hidden email]
http://www.erlang.org/mailman/listinfo/erlang-questions

signature.asc (196 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: erlang sucks

Ulf Wiger-2


2008/3/11, Michael T. Richter <[hidden email]>:

On Tue, 2008-03-11 at 13:40 +1300, Richard A. O'Keefe wrote:
However, sometimes giving a whining child a lollipop is a rational
thing to do.

Way to dismiss valid complaints with an insulting backhand.

And then people wonder why it is technical types have a reputation for having no social skills.

Just like someone saying "kill two birds with one stone" most likely doesn't mean it literally, I would wager that mr ROK did not literally refer to Damien as a whining child - not least because he is not literally offering a lollipop.

Thus, it's surely to be read as a metaphor - not an insult.
I would have been more offended by the depiction "Mr Erlang Sucks". (:

IOW many complain about various quirks in Erlang, as well as the apparent lack of efficient (at the very least familiar) string handling support. We can choose to dismiss the complaints as secondary (which may or may not be true, depending on context), or address the specific issues. I am quite sure I read ROK's post as suggesting the latter, as he suggests fixing the deliminator issue, and puts in a vote for a unicode-capable string type.

BR,
Ulf W

_______________________________________________
erlang-questions mailing list
[hidden email]
http://www.erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: erlang sucks

Ulf Wiger-2
In reply to this post by Mats Cronqvist-3
2008/3/10, Mats Cronqvist <[hidden email]>:
>   Damien Katz ( of couchDB fame) has written a blog post about the warts
>  of erlang.
>  (http://damienkatz.net/2008/03/what_sucks_abou.html)

There are several threads in the article (and comments) perhaps worthy
of discussion here at EQ.

My general impression of the article is that while I agree that the
complaints are valid, the reader comes away from it with the distinct
impression that Damien Katz would be content if he never had to
touch Erlang again, despite the contention that he could fill a book
with the things he likes about it - much like everyone now "knows"
that Erlang sucks at file I/O, since it did in the original Wayfinder
experiments, and it was noted in a blog article.

So, I'm inclined to agree with Tobbe. Someone reading the article, who
might have been interested in checking out Erlang, might well be
persuaded not to do so. I don't think that was the author's intention.

Still, the blogosphere is free, thankfully, so - on to the complaints.

- I'd like to try (= see someone else implement) an indentation-sensitive
  front-end to the compiler, but perhaps ROK's suggestion that a full stop
  can be used in place of a semicolon would cause less uproar.

- With the bit syntax improvements in R12B, and EEP9, I think we're starting
  to come close to the foundations of an alternative string handling library.
  When we get there, we'll surely be able to see further.

- I don't agree that Erlang is bad for writing test suites. On the contrary,
  I think Erlang is, on the whole, just about the best test automation
  environment in existence, especially if you include QuickCheck.
  The problem with numbering variables is real, but can be addressed
  with a change of programming style (which is both a good thing and
  a very bad thing, depending on your POV). The advantage of immutable
  variables far outweighs this inconvenience, anyway, even though I
  guess that this particular issue is much less of a problem in currying
  languages.

- The gripe about records, well, is well-founded, but also ground well covered.
  Perhaps we should finally do something about it?

- I agree with Klacke on the out-of-memory issue. I once complained about it,
  but have long-since decided that exit(1) is most likely the best option in
  general. It is possible that one could allow for a callback, or specification,
  that could guide the VM in releasing memory, in the cases where this
  would be a reasonable thing to do. Perhaps before killing processes, one
  could have a go at removing memory fragmentation, which would appear
  as a very expensive GC. But Erlang does already have options for plugging
  in a more aggressive memory allocator, which works harder to avoid
  fragmentation in the first place. It also has quite a battery of features for
  implementing sophisticated load control, e.g. barring new jobs if there
  doesn't seem to be enough memory left.

- Regarding the uneven documentation, I'd like to point out that docbuilder
  allows people to write alternative documentation that has the same look
  and feel as the Erlang/OTP documentation. This is new as of OTP R12B.

- One comment dismissed Erlang as a specialized language.  I think this
  reflects the idea that concurrency is something that you only use when
  it's really needed, and something to avoid otherwise. I'd like to turn the
  tables and suggest that languages that are very good at sequential
  processing, but suck at concurrency, are the specialized ones. So many
  interesting applications require strong concurrency support, and as it
  turns out, message-passing lightweight concurrency is a modeling
  paradigm in its own right at least as powerful as OO. Perhaps we can
  improve at getting this message across?

BR,
Ulf W
_______________________________________________
erlang-questions mailing list
[hidden email]
http://www.erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: erlang sucks

Mats Cronqvist-3
Ulf Wiger wrote:

> 2008/3/10, Mats Cronqvist <[hidden email]>:
>  
>>   Damien Katz ( of couchDB fame) has written a blog post about the warts
>>  of erlang.
>>  (http://damienkatz.net/2008/03/what_sucks_abou.html)
>>    
>
> There are several threads in the article (and comments) perhaps worthy
> of discussion here at EQ.
>
> My general impression of the article is that while I agree that the
> complaints are valid, the reader comes away from it with the distinct
> impression that Damien Katz would be content if he never had to
> touch Erlang again, despite the contention that he could fill a book
> with the things he likes about it - much like everyone now "knows"
> that Erlang sucks at file I/O, since it did in the original Wayfinder
> experiments, and it was noted in a blog article.
>
> So, I'm inclined to agree with Tobbe. Someone reading the article, who
> might have been interested in checking out Erlang, might well be
> persuaded not to do so. I don't think that was the author's intention.
>  
  katz starts out like this; "...it's time to whine about my favorite
language I use quite extensively." seems pretty clear that the problem
is not that he is a troll, but rather that the erlang community (or at
least certain members of it) is immature. CouchDB is a major erlang
application, and katz should not have to take any crap from people that
has never written a significant piece of erlang (I'm not talking about
you, ulf!)

  more so because most of his complaints are essentially valid.
 *  the syntax does suck. for beginners, because it looks weird (i.e.
not like ALGOL), thus being a major obstacle to adoption. for pros,
because the silly separators, and the needless verbosity (lambdas, using
'receive' instead of '?', etc)
 * 'if' is  completely worthless, and should ideally be obsoleted.
 * strings as lists of integers is often annoying.
 * the X1=x1(X),X2=x2(X1),,, pattern is tedious and error prone.
 * records are  "limited and verbose" (for a reason, but still)
 * some of the libs/docs are of poor quality.

  clearly, none of this is particularly bothersome once you've built up
some experience. but that doesn't mean they shouldn't be taken
seriously, especially if Erlang is to attract coders of katz' quality.
(http://damienkatz.net/2005/01/formula-engine-rewrite.html)

  so what to do? some suggestions;
  * documenting bad design patterns such as; using 'if', the "numbering
variables" pattern etc.
  * writing a string handling lib on top of binaries
  * introducing syntax for currying and monads
  * introducing an alternative to records
(http://www.erlang.org/faq/faq.html#AEN1268).
  * gen_servers with less boilerplate.

  not very ground-breaking (quite the opposite). A "Worst Practice"
document prominently placed on the OTP home page would probably go a
long way.

> - I'd like to try (= see someone else implement) an indentation-sensitive
>   front-end to the compiler, but perhaps ROK's suggestion that a full stop
>   can be used in place of a semicolon would cause less uproar.
>  
  this would be truly cool. see
http://okasaki.blogspot.com/2008/02/in-praise-of-mandatory-indentation-for.html

   mats

p.s. just to be clear; i think the conservative approach of the OTP team
is one of the great things about erlang. in my 10 years at ericsson,
where I took part in deploying 1000's of erlang systems, i can not
remember a single emulator crash (in a live system).

p.p.s. exit(1) when malloc() fails is, i think, The Right Thing(tm).


_______________________________________________
erlang-questions mailing list
[hidden email]
http://www.erlang.org/mailman/listinfo/erlang-questions

mats_cronqvist.vcf (189 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: erlang sucks

Armando Di Cianno-2
In reply to this post by Ulf Wiger-2

On Tue, 2008-03-11 at 09:11 +0100, Ulf Wiger wrote:
> IOW many complain about various quirks in Erlang, as well as the
> apparent lack of efficient (at the very least familiar) string
> handling support. We can choose to dismiss the complaints as secondary
> (which may or may not be true, depending on context), or address the
> specific issues. I am quite sure I read ROK's post as suggesting the
> latter, as he suggests fixing the deliminator issue, and puts in a
> vote for a unicode-capable string type.

I think that something that gets lost in the noise of this discussion is
the difference between /better string support/ and /first class support
of UTF-8/.

I can deal w/o the better string support ad infinitum.  I can also deal
w/o first class UTF-8 support as long as I'm writing apps that go DB <->
Web.  However, if I can't write in Hindi/Sanskrit -- for e.g. -- for a
GUI app running on a system, without jumping through hoops, I'm not
terribly interested to write more-native-type programs in that language.

--
Armando Di Cianno
http://dicianno.org/blog
[hidden email]
[hidden email]


_______________________________________________
erlang-questions mailing list
[hidden email]
http://www.erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: erlang sucks

Kevin Scaldeferri

On Mar 11, 2008, at 7:50 AM, Armando Di Cianno wrote:

>
> On Tue, 2008-03-11 at 09:11 +0100, Ulf Wiger wrote:
>> IOW many complain about various quirks in Erlang, as well as the
>> apparent lack of efficient (at the very least familiar) string
>> handling support. We can choose to dismiss the complaints as  
>> secondary
>> (which may or may not be true, depending on context), or address the
>> specific issues. I am quite sure I read ROK's post as suggesting the
>> latter, as he suggests fixing the deliminator issue, and puts in a
>> vote for a unicode-capable string type.
>
> I think that something that gets lost in the noise of this  
> discussion is
> the difference between /better string support/ and /first class  
> support
> of UTF-8/.

Honestly, in this day and age, I'm not convinced there's a strong  
difference here.  Or, rather, the second is a subset of the first.  
Doing strings well in the modern world necessarily means confronting  
the issues of Unicode support.  (Which I assume is what you really  
meant.  UTF-8 vs. any other character encoding is an implementation  
detail.)
_______________________________________________
erlang-questions mailing list
[hidden email]
http://www.erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: erlang sucks

attila.rajmund.nohl
In reply to this post by Mats Cronqvist-3
On Tue, 11 Mar 2008, Mats Cronqvist wrote:
[...]

> more so because most of his complaints are essentially valid.
> *  the syntax does suck. for beginners, because it looks weird (i.e. not like
> ALGOL), thus being a major obstacle to adoption. for pros, because the silly
> separators, and the needless verbosity (lambdas, using 'receive' instead of
> '?', etc)
> * 'if' is  completely worthless, and should ideally be obsoleted.
> * strings as lists of integers is often annoying.
> * the X1=x1(X),X2=x2(X1),,, pattern is tedious and error prone.
> * records are  "limited and verbose" (for a reason, but still)
> * some of the libs/docs are of poor quality.

There's one more thing that sometimes drive me nuts - due to the lack of
decent 'if' statement, new functions are written instead of branches of
a conditional statement. So I see a lot of code like this:
do_something(X, Y) ->
     really_do_something(X, Y).

really_do_something(a, Y) ->
     really_really_do_something(a, Y);
...

really_really_do_something(a, b) ->
     ... % could be a one liner

The problem is that the really_really_do_something is way to long to
type for people whose editor can't complete function names, so they'll
write rrds instead - which is very non-intuitive. I've just checked and
our code contains more than 150 functions with 3 character name, more
than 50 functions with 2 character name and more than 150 functions with
4 character name. Some of these names actually make sense (e.g. get,
set), but most of them do not - and I don't like function names that do
not make sense. I haven't seen this practice in C++ or Java projects.

  Bye,NAR
--
"Beware of bugs in the above code; I have only proved it correct, not
  tried it."
_______________________________________________
erlang-questions mailing list
[hidden email]
http://www.erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: erlang sucks

attila.rajmund.nohl
In reply to this post by Richard O'Keefe
On Tue, 11 Mar 2008, Richard A. O'Keefe wrote:
[...]
>     I generally don't accept arguments about re-ordering definition
> clauses,
>     because if you know what you are doing it is pretty rare.  But I
> *do*
>     accept arguments about *adding* clauses when you revise a data
> type, so
>     I wish that Erlang would allow all function clauses to end with a
> full
>     stop.

Commenting out first or last clauses or first or last statements are not
that rare during debugging - and the compiler error is really annoying
at that time.

> (2) Again, I generally don't accept arguments about re-ordering function
>     calls in a body.  I don't find that to be a common mistake.  Oh,
> I do
>     make mistakes in Erlang.  I make mistakes all the time in all
> sorts of
>     languages.  One mistake I do make in Erlang and in C is to get
> the order
>     of arguments wrong.  So why isn't Mr "Erlang sucks" complaining
> bitterly
>     about how C and Java use different terminators after the last
> argument ")"
>     and all the others ",", making it hard to swap arguments?
> Presumably he
>     isn't complaining about that BECAUSE C and Java do the same
> thing, so he
>     hasn't noticed it.

Actually that's annoying in C or Java too. However, reordering arguments
is rare during debugging, commenting out arguments is not that rare. And
we've got the /* */ style comment in those languages that makes it
easy.
  Bye,NAR
--
"Beware of bugs in the above code; I have only proved it correct, not
  tried it."
_______________________________________________
erlang-questions mailing list
[hidden email]
http://www.erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: erlang sucks

Sean Hinde
In reply to this post by Mats Cronqvist-3

On 11 Mar 2008, at 12:47, Mats Cronqvist wrote:

>
> * 'if' is  completely worthless, and should ideally be obsoleted.

No, no no! I like 'if' It allows some neat constructs that are  
horrible with case.

Counting 'if' and 'case' for one of the apps in our codebase gives  
this result:

alex:src sean$ grep -v '^[[:space:]]*\($\|%\)' $(find . -name "*rl") |  
grep " if " | wc -l
      345
alex:src sean$ grep -v '^[[:space:]]*\($\|%\)' $(find . -name "*rl") |  
grep " case " | wc -l
     1052

~ one quarter of branching constructs are 'if'. Not at all  
insignificant.

Sean

_______________________________________________
erlang-questions mailing list
[hidden email]
http://www.erlang.org/mailman/listinfo/erlang-questions
1234 ... 7
Loading...