Gaga about bifs

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Gaga about bifs

James Hague-3
Robert Virding wrote:
>Why is everyone so completely gaga about adding new bifs
>to do relatively trivial things? Especially seeing you
>can already to do it without adding new stuff. Use
>erl_scan:string and io_lib:fwrite.

That's a good point, but I can see two reasons:

1. integer_to_list and list_to_integer are already bifs.  It's cleaner to
have arity two versions with the same names than it is to have completely
different functions in different modules.

2. The currently Erlang implementation is one of the fastest interpreted
languages I have seen.  It walks all over Python for most things, for
example (by factors of 2 to 20 on micro-bencmarks!), even though Erlang is
functional and Python imperative.  Much of this speed comes from great
attention to the low-level details of the interpreter:  threaded code, beam
"superinstructions," having many core functions coded in C.  Certainly
integer_to_list/2 is not a time critical function in most cases, but then I
guess you could argue the same about integer_to_list/1.  If implementation
purity were the highest priority, then there's no reason for lists:reverse
and lists:length to be bifs, for example.

Execution speed for most tasks is not top priority, and that the Erlang
system *has* been honed with a focus on speed helps keep this true.

>I have sent a
>modified io_lib to erlang_questions a  couple of times
>but it hasn't seemed to make it into the distribution.

This brings up an entirely different issue.  The OTP team is doing a good
job with bug fixes and general maintenance, but general improvements,
significant and otherwise, seem to have ground to a halt, or at least be in
a state of confusion.  This has come up several times now.  It may just be
that Erlang is good enough for the places it is used, but it would be nice
to see some more active development.  A number of improvements have come up
and never seem to go anywhere.


Reply | Threaded
Open this post in threaded view
|

OTP development, was Re: Gaga about bifs

Ingela Anderton Andin-2
James Hague wrote:

> This brings up an entirely different issue.  The OTP team is doing a good
> job with bug fixes and general maintenance, but general improvements,
> significant and otherwise, seem to have ground to a halt, or at least be in
> a state of confusion.  This has come up several times now.  It may just be
> that Erlang is good enough for the places it is used, but it would be nice
> to see some more active development.  A number of improvements have come up
> and never seem to go anywhere.

We do a whole lot of new development, but the Erlang/OTP team is a
quite small team and we have to priorities. Our development is entirely
financed by license fees. So what our paying customers consider most
important is generally what we consider most important. New language
features are seldom on the top of their list. Erlang/OTP is a
commercial product, that happens too also be open source. The
requirements on commercial product are high. We always need to think
about backward compatibility and robustness. We can never just add
contributions without somebody checking what they do and making sure
that they get tested. (Adding things also means work maintaining them.)

Some of the ideas that emerge on the list are good ideas others are
not. The ideas that we think are good we try to fit into our
development plan if possible. For example Raimo is now putting some
new notation in to io_lib as he was doing other development in io_lib
anyway.

But some things may have a very big impact and are not things
that you just do. We have to make sure that if we do something, like
for instance introducing some kind of new "struct", that it is properly
thought through, so we do not get stuck with some new hack that we can
not get rid off. Also suggested improvements may impact not only the
language or the specific module where the change was suggested but
also tools and other applications.

Also we have to devote some of our time to support, the paying
customers generate quite a substantial amount of support work.

So I assure you we are constantly making improvements, however time,
number of team members and money will always limit what is plausible
to accomplish.

/Ingela - OTP project manager

P.S Considering you usually get what you pay for and open source customers
do not pay anything I think they have a fairly good deal ;)












Reply | Threaded
Open this post in threaded view
|

OTP development, was Re: Gaga about bifs

Ulf Wiger-4
On Wed, 9 Apr 2003, Ingela Anderton wrote:

>P.S Considering you usually get what you pay for and open
>source customers do not pay anything I think they have a
>fairly good deal ;)

I don't want to nit-pick too much, but I would argue that
many of the people on this list put significant time and
effort into finding ways to improve OTP, and sometimes even
handing you components *for free* that can be added to OTP
with a fairly small effort on your part.

So your argument may just as well be reversed. ;)


I think much of this boils down to the issue of providing
feedback about what is actually going on, which ideas are
rejected because they're not good enough (and why!), which
ideas are basically accepted, but not implemented due to
time and resource constraints (and then how others may help)

/Uffe
--
Ulf Wiger, Senior Specialist,
   / / /   Architecture & Design of Carrier-Class Software
  / / /    Strategic Product & System Management
 / / /     Ericsson AB, Connectivity and Control Nodes



Reply | Threaded
Open this post in threaded view
|

OTP development, was Re: Gaga about bifs

Ingela Anderton Andin-2
Ulf Wiger wrote:

> On Wed, 9 Apr 2003, Ingela Anderton wrote:
>
> >P.S Considering you usually get what you pay for and open
> >source customers do not pay anything I think they have a
> >fairly good deal ;)
>
> I don't want to nit-pick too much, but I would argue that
> many of the people on this list put significant time and
> effort into finding ways to improve OTP, and sometimes even
> handing you components *for free* that can be added to OTP
> with a fairly small effort on your part.
>
> So your argument may just as well be reversed. ;)

We do absolutely appreciate all the time and effort people take to try
and improve Erlang/OTP. I am not saying that open source users are
unimportant. We think they are important. Part of the open source idea
of course is that instead off giving us money for our product we get
feedback, code contributions and new ideas, and hence it is a good deal
for both us and the open source users. But that does not change the
fact that the commercial version is what keeps this project alive.

> I think much of this boils down to the issue of providing
> feedback about what is actually going on, which ideas are
> rejected because they're not good enough (and why!), which
> ideas are basically accepted, but not implemented due to
> time and resource constraints (and then how others may help)

Alas this also takes a lot of time. I do not think that we have
found a good solution to handle this yet. It seems to be evident that
the open source community would like to have more feedback. It is also
quite evident too me, that all suggested solutions so far adds too much
overhead for us, at least for our current situation.

--
/Ingela - OTP project manager






Reply | Threaded
Open this post in threaded view
|

OTP development, was Re: Gaga about bifs

Luke Gorrie-3
Ingela Anderton <ingela> writes:

> > I think much of this boils down to the issue of providing
> > feedback about what is actually going on, which ideas are
> > rejected because they're not good enough (and why!), which
> > ideas are basically accepted, but not implemented due to
> > time and resource constraints (and then how others may help)
>
> Alas this also takes a lot of time. I do not think that we have
> found a good solution to handle this yet. It seems to be evident that
> the open source community would like to have more feedback. It is also
> quite evident too me, that all suggested solutions so far adds too much
> overhead for us, at least for our current situation.

Maybe you just need to hire someone with an "internet loudmouth"
personality :-)

-Luke



Reply | Threaded
Open this post in threaded view
|

OTP development, was Re: Gaga about bifs

Ulf Wiger (AL/EAB)
In reply to this post by Ingela Anderton Andin-2
From: "Ingela Anderton" <ingela>

> > I think much of this boils down to the issue of providing
> > feedback about what is actually going on, which ideas are
> > rejected because they're not good enough (and why!), which
> > ideas are basically accepted, but not implemented due to
> > time and resource constraints (and then how others may help)
>
> Alas this also takes a lot of time. I do not think that we have
> found a good solution to handle this yet. It seems to be evident that
> the open source community would like to have more feedback. It is also
> quite evident too me, that all suggested solutions so far adds too much
> overhead for us, at least for our current situation.

I have no good solution, alas. I realise that part of the "problem"
is that you have to maintain a secure way of handling confidential
information about your paying customers. This is impossible at e.g.
SourceForge, which is otherwise a very nice environment for an
Open Source project. Also, the fact that we, your paying customers,
have rather extreme requirements on stability and backward
compatibility, means that you have to have very tight control of what
changes go into a certain release.

I think you need to have a ticket tracker that's capable of separating
open and confidential stuff, and simply generate listings of tickets,
open and closed. Ideally, paying customers could view their own
tickets as well as the public ones. Are you using the Bluetail Ticket
Tracker or some other Open Source tool? If so, it would be possible
for others to assist in developing this functionality.

I'm not aware of that many mission-critical middleware products that
are available as Open Source (at least not products that are more open
and "interactive" than OTP), so there are few references on how to
do this properly.

/Uffe


Reply | Threaded
Open this post in threaded view
|

OTP development, was Re: Gaga about bifs

Ulf Wiger-4
In reply to this post by Luke Gorrie-3

On 9 Apr 2003, Luke Gorrie wrote:

>Maybe you just need to hire someone with an "internet
>loudmouth" personality :-)
>
>-Luke


Why, are you looking for a new job, Luke?   ;-)

/Uffe

--
Ulf Wiger, Senior Specialist,
   / / /   Architecture & Design of Carrier-Class Software
  / / /    Strategic Product & System Management
 / / /     Ericsson AB, Connectivity and Control Nodes