From: Roland
Subject: ARC or ARCH ?
Date: 
Message-ID: <56281610.0403291953.8e6ce74@posting.google.com>
Is it only me who is wondering about this?

The relevant entries according to the dictionary(www.m-w.com):

arch: a typically curved structural member spanning an opening and
serving as a support (as for the wall or other weight above the
opening)

arc: a continuous portion (as of a circle or ellipse) of a curved line

If I understood the "arc" philosophy correctly "arch" would be a
better word
to describe the language. The idea would be bottom-up programming,
with
the lower pieces supporting what is above.

I vote for a name change. Paul Graham are you reading?

RolandOfAmerica

From: Artie Gold
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <c4ar8m$2eiqct$1@ID-219787.news.uni-berlin.de>
Roland wrote:
> Is it only me who is wondering about this?
> 
> The relevant entries according to the dictionary(www.m-w.com):
> 
> arch: a typically curved structural member spanning an opening and
> serving as a support (as for the wall or other weight above the
> opening)
> 
> arc: a continuous portion (as of a circle or ellipse) of a curved line
> 
> If I understood the "arc" philosophy correctly "arch" would be a
> better word
> to describe the language. The idea would be bottom-up programming,
> with
> the lower pieces supporting what is above.
> 
> I vote for a name change. Paul Graham are you reading?
> 


"Why is it called Arc?

The name is a reference to bottom-up programming. This means customizing 
the language to suit your application, yielding a program shaped like an 
arch, rather than a lintel. Since brevity is another aim, we lopped off 
the h."
(from http://www.paulgraham.com/arcfaq.html)

Now go write some code.

--ag
-- 
Artie Gold -- Austin, Texas
From: TLOlczyk
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <0dsh60h538rrod4ov0qa43mikrbjdp81cm@4ax.com>
On Mon, 29 Mar 2004 21:58:14 -0600, Artie Gold
<·········@austin.rr.com> wrote:

>Now go write some code.
Can you?
( In arc that is. )


The reply-to email address is ··········@yahoo.com.
This is an address I ignore.
To reply via email, remove 2002 and change yahoo to
interaccess,

**
Thaddeus L. Olczyk, PhD

There is a difference between
*thinking* you know something,
and *knowing* you know something.
From: Kenny Tilton
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <RG6ac.10073$1C1.5267818@twister.nyc.rr.com>
TLOlczyk wrote:

> On Mon, 29 Mar 2004 21:58:14 -0600, Artie Gold
> <·········@austin.rr.com> wrote:
> 
> 
>>Now go write some code.
> 
> Can you?

Yes one can, if one is on the Arc project. The web site says they are 
using it to write applications. If one is not on the project, one can 
sign up to be notified when one can. Code in Arc. email asking when that 
will be gets filed under "Viagra".

kt

-- 
Home? http://tilton-technology.com
Cells? http://www.common-lisp.net/project/cells/
Cello? http://www.common-lisp.net/project/cello/
Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film
Your Project Here! http://alu.cliki.net/Industry%20Application
From: Jeff Dalton
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <fx4u1068mxo.fsf@todday.inf.ed.ac.uk>
Kenny Tilton <·······@nyc.rr.com> writes:

> >>Now go write some code.
> > Can you?
> 
> Yes one can, if one is on the Arc project. 

(Sigh)  Just like Dylan when it went new-syntax.

No one outside the inner circle could write code.

The moment passed.

Java won.

-- jd
From: Kenny Tilton
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <jbgac.12032$1C1.5455797@twister.nyc.rr.com>
Jeff Dalton wrote:
> Kenny Tilton <·······@nyc.rr.com> writes:
> 
> 
>>>>Now go write some code.
>>>
>>>Can you?
>>
>>Yes one can, if one is on the Arc project. 
> 
> 
> (Sigh)  Just like Dylan when it went new-syntax.
> 
> No one outside the inner circle could write code.
> 
> The moment passed.
> 
> Java won.

A lot of good it did them. It's already on the exit side of the 
revolving door.

Besides, Java just had to be better than C++. Arc (and Dylan) have to 
outdo Common Lisp. Ouch.

kt

-- 
Home? http://tilton-technology.com
Cells? http://www.common-lisp.net/project/cells/
Cello? http://www.common-lisp.net/project/cello/
Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film
Your Project Here! http://alu.cliki.net/Industry%20Application
From: Tim Bradshaw
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <ey3lllirodd.fsf@cley.com>
* Kenny Tilton wrote:

> Besides, Java just had to be better than C++. Arc (and Dylan) have to
> outdo Common Lisp. Ouch.

That's what the Dylan people thought, too.  A truly inspired marketing
plan: go after a language with a small (still) and declining (in the
early-mid 90s) share of the market, which was associated with a field
(AI) that had had some spectacular and very public failures.  Make
sure as well that you pick a language which has finally achieved a
decent standard, and which has a number of very advanced features
which you need to match.

While the Java people aimed a language which had a large and
increasing share of the market, which was becoming associated with a
field which would obviously explode over the next few years, which had
terrible compatibility issues and which was in many ways extremely
primitive.

It's hard to think of things the Dylan people got right, really.  It's
hard, of course, to think of things that the arc people are getting
right in the same way.  The java people are just *so* much smarter
than that.

--tim
From: Rainer Joswig
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <c366f098.0403310401.b82ee2e@posting.google.com>
Tim Bradshaw <···@cley.com> wrote in message news:<···············@cley.com>...
> * Kenny Tilton wrote:
> 
> > Besides, Java just had to be better than C++. Arc (and Dylan) have to
> > outdo Common Lisp. Ouch.
> 
> That's what the Dylan people thought, too.  A truly inspired marketing
> plan: go after a language with a small (still) and declining (in the
> early-mid 90s) share of the market, which was associated with a field
> (AI) that had had some spectacular and very public failures.  Make
> sure as well that you pick a language which has finally achieved a
> decent standard, and which has a number of very advanced features
> which you need to match.

Hello, about which Dylan are we talking? Dylan was not targetted
at the 'market' of Lisp programmers. And Apple was not
interested to bring them Lisp, but Dylan. Dylan learned
some stuff from Lisp, other stuff from Smalltalk and
other languages.

And Dylan was not supposed to be sold as a language, but
as a whole environment incuding operating system.

Dylan was targetted at C/C++ programmers that were doing
applications and system programming. The language itself
was supposed to provide a few features that were making
it better in some respects as C/C++. Lisp programmers
were of (almost) zero interest for Apple (mainly
only as some base of people able to use Dylan effectively).
Ultimatively the average application developer and
the systems programmer should be the user of Dylan.

The idea to get into that market was not to create
a new language and sell that to the outside world. Dylan
was designed to be a better systems and applications
programming language for Apple and for Apple in the
first place. So Apple was supposed to develop operating
system(s) with Dylan and provide people with a Dylan
development environment to write applications for the new
operating system(s). 

In fact Apple did develop operating system(s) in Dylan
(just ask Mikel Evins, he posted earlier here about that).

You can see how things could have been with Dylan when
you look at the Newton. Which was not a failure, but
created some really cool stuff - and finally has been
cancelled by Steve Jobs to keep the engineers and
let them work on Mac OS X.

The Newton's kernel was written in C and a simplified
C++. On top of that was running NewtonScript - also
a dynamic object-oriented programming language
(basically a blend of Scheme, Self and Smalltalk).
NewtonScript is quite different from Dylan, but it
was the programming language for application developers.
If you wanted to write applications for the Newton, you
basically had to use NewtonScript (with a few exceptions).
And it worked. NewtonScript generated quite a few friends
and the were writing cool and very forward-looking applications.
Until today. Even years after the Newton is dead, people
are writing stuff . Here is the main archive: http://www.unna.org/
Here is a lot of documentation about programming the
Newton: http://www.unna.org/view.php?/development/documentation

Actually all that and more should have been Dylan. At some
point it didn't materialize. Too bad.

But Apple was not so stupid selling just another language.
They had a very different vision about computing and
Apple Dylan should have been one building block for that.

> 
> While the Java people aimed a language which had a large and
> increasing share of the market, which was becoming associated with a
> field which would obviously explode over the next few years, which had
> terrible compatibility issues and which was in many ways extremely
> primitive.
> 
> It's hard to think of things the Dylan people got right, really.  It's
> hard, of course, to think of things that the arc people are getting
> right in the same way.  The java people are just *so* much smarter
> than that.
> 
> --tim
From: Tim Bradshaw
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <fbc0f5d1.0403310723.6e26d461@posting.google.com>
······@corporate-world.lisp.de (Rainer Joswig) wrote in message news:<···························@posting.google.com>...

> 
> Hello, about which Dylan are we talking? Dylan was not targetted
> at the 'market' of Lisp programmers. And Apple was not
> interested to bring them Lisp, but Dylan. Dylan learned
> some stuff from Lisp, other stuff from Smalltalk and
> other languages.

The one that Harlequin carried on working on long, long after Apple
had (correctly) given up, I guess.
From: Jeff Dalton
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <fx4isgju8sn.fsf@todday.inf.ed.ac.uk>
······@corporate-world.lisp.de (Rainer Joswig) writes:

> Hello, about which Dylan are we talking? Dylan was not targetted
> at the 'market' of Lisp programmers. And Apple was not
> interested to bring them Lisp, but Dylan. Dylan learned
> some stuff from Lisp, other stuff from Smalltalk and
> other languages.

> And Dylan was not supposed to be sold as a language, but
> as a whole environment incuding operating system.

Apple is not all there is to Dylan.  From an early point,
other people were even doing implementations.  For many
people it was a language; they weren't expecting to use
it only on Apple machines or as a whole env including OS.

I don't think it was aimed at Lisp programmers as a market;
nonetheless, it was going into a nearby part of "language
space", provided many similar features, and emphasized
many of the same things.

Even some of Dylan's seeming differences from Lisp -- such as
"sealing" or the absence of eval -- were moves in directions that
were also being taken or considered in the Lisp world.  The
original Dylan book described Dylan as a simple dialect of Lisp,
and at that time the language looked very like a version of
Scheme plus a subset of CLOS.

So Dylan appealed to many Lisp programmers, and indeed many
Lisp people were involved in Dylan design or implementation.

Moreover, learning "some stuff from Lisp, other stuff from Smalltalk
and other languages" is just the sort of thing that often happens in
the design of a new Lisp.

-- jd
From: Jeff Dalton
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <fx4r7v9re3z.fsf@todday.inf.ed.ac.uk>
Kenny Tilton <·······@nyc.rr.com> writes:

> Jeff Dalton wrote:

> >>>>Now go write some code.
> >>>Can you?
> >> Yes one can, if one is on the Arc project.

> > (Sigh)  Just like Dylan when it went new-syntax.
> > No one outside the inner circle could write code.
> > The moment passed.
> > Java won.
> 
> A lot of good it did them. It's already on the exit side of the
> revolving door.

I'm not sure about the pronoun refs.  Is it Dylan or Java that
you're saying's already on the exit side?

> Besides, Java just had to be better than C++. Arc (and Dylan) have to
> outdo Common Lisp. Ouch.

Re that, and Tim Bradshaw's comment, I think the Dylans
were right to try to design a better language than Common Lisp.
I think people should aim high and try to devise the best
language they can.

I even think they were fairly successful.  Dylan is better than
Common Lisp in some ways, and in many others they made trade-offs
that were different, but about as good (sometimes a bit better,
sometimes a bit worse).  Dylan's well-designed; it has fewer
historical artifacts than CL: it's a good language.

I also think they were right to try to appeal outside the Lisp
community, to programmers would would otherwise use C or C++.

To the extent that Dylan's failure to break through was their
fault, it was because they took too long.  The Common Lispers
took too long as well, and (I think) knew it.

The new syntax took a long time (why?), momentum was lost,
and then there seemed to be another long wait for macros.

I also think it was a tactical mistake (and I said as much
at the time) to put so much emphasis on Dylan vs Lisp when
they were trying to compete with C++.  C++ programmers
typically do not think Common Lisp is better than C++,
so that better than Common Lisp means really, really good.

Moreover, the comparisons were typically not ones that said
CL is great and Dylan is better; they were often ones that
said CL has a problem and Dylan has fixed or avoided it.
If was the rhetoric of countering negative impressions,
rather than creating positive impressions.

-- jd
From: Tim Bradshaw
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <ey3d66tse8d.fsf@cley.com>
* Jeff Dalton wrote:

> I'm not sure about the pronoun refs.  Is it Dylan or Java that
> you're saying's already on the exit side?

I think it's fashionable to say that Java is on the way out at the
moment.

> Re that, and Tim Bradshaw's comment, I think the Dylans
> were right to try to design a better language than Common Lisp.
> I think people should aim high and try to devise the best
> language they can.

Right in what sense? In a coolness sense, I agree.  In a
wanting-to-be-successful sense I disagree completely.  If you want to
be successful, then designing a language which was highly culturally
compatible with an existing successful language but fixes at least one
crippling problem in that language is the right thing to do.  For
added value associate it with something fashionable.

Java did this nearly perfectly. It's extremely culturally compatible
with C/C++: the syntax smells right, the programming model is
familiar, and it's generally easy to adopt.  It successfully
associated itself first with the web and now with web services (though
that may be coming unstuck now because of awful experiences with
horrors like JBOSS).  And it provided automatic memory management.
It's easy to forget how important a feature that is, until you look at
how many security vulnerabilities are caused by memory management
screwups such as buffer overflows.

Perl is another good example: culturally compatible with shell
scripts, associated relatively early on with things like cgi scripts,
fixes argument (re)evaluation in shells, and also unifies the three or
four tools you needed before.

C++ is something that looks like a good example but isn't: culturally
compatible with C, provides `OO' which was fashionable, but does it
badly enough that it doesn't help much.  Doesn't fix the really
terrible problem (memory management) and in fact probably makes it
worse.  Was also significantly too complicated for average programmers
to use effectively.  Turned into a huge disaster, which the Java
people then exploited very effectively.

Python is interesting, I think: I'm not sure where it fits in.  If
it's trying to do anything I think it's in being culturally compatible
with perl and yet less insane, so eating its lunch, but it's not
really close to perl.  My guess is that it won't succeed in the long
term.

--tim
From: Jeff Dalton
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <fx4d66ru5lu.fsf@todday.inf.ed.ac.uk>
Tim Bradshaw <···@cley.com> writes:

> * Jeff Dalton wrote:

> > Re that, and Tim Bradshaw's comment, I think the Dylans
> > were right to try to design a better language than Common Lisp.
> > I think people should aim high and try to devise the best
> > language they can.
> 
> Right in what sense? In a coolness sense, I agree.  In a
> wanting-to-be-successful sense I disagree completely.  If you want to
> be successful, then designing a language which was highly culturally
> compatible with an existing successful language but fixes at least one
> crippling problem in that language is the right thing to do.

There's also the whole "worse is better" argument, but I would
question whether some of those things are really worse.

Many factors can do into "good", including ones that make a
language easier to adopt or more familiar.

You seem to be describing something a bit more cynical
(though in some ways perhaps not cynical enough).

> For added value associate it with something fashionable.

Many do that; few win.

> Java did this nearly perfectly. It's extremely culturally compatible
> with C/C++: the syntax smells right, the programming model is
> familiar, and it's generally easy to adopt.

I don't agree.  For instance, Java includes things such as garbage
collection and RTTI for all non-primitive objects (effectively boxing)
that were flame targets for many in the C/C++ world.  It doesn't
compile programs down to little executables.  It doesn't use shared
libraries (instead the things are loaded in).  It lacks pointers
(which STL fans say are key to efficiency).  It was also v. slow
by C/C++ standards.

> It successfully
> associated itself first with the web and now with web services (though
> that may be coming unstuck now because of awful experiences with
> horrors like JBOSS).

Ok, but Java didn't just associate itself with the Web.
It brought in a whole new way of using the Web.  It also
took some things that were already out there, such as byte-code
interpreters and virtual machines (already quite handy
for partability) and gave them a key extra twist: in
that case, security.

> And it provided automatic memory management.

True, but garbage collectors were available for C, and while GC
is a big win, there didn't seem to be much demand for it in the
C/C++ world.  It was seen as inefficient and as making performance
too variable and unpredictable.

> It's easy to forget how important a feature that is, until you look at
> how many security vulnerabilities are caused by memory management
> screwups such as buffer overflows.

Yes, but there were tools to detect memory leaks, and buffer overflows
are primarily about the lack of bounds-checking.

I don't think Java would have gone anywhere if it had merely
fixed one crippling problem and merely associated itself with something
fashionable.

> Perl is another good example: culturally compatible with shell
> scripts, associated relatively early on with things like cgi scripts,
> fixes argument (re)evaluation in shells, and also unifies the three or
> four tools you needed before.

I would say Perl is better as a language than the shells,
and I suspect the person who designed Perl (I can usually
remember his name) thought he was devising a good language.

> C++ is something that looks like a good example but isn't: culturally
> compatible with C, provides `OO' which was fashionable, but does it
> badly enough that it doesn't help much.  Doesn't fix the really
> terrible problem (memory management) and in fact probably makes it
> worse.  Was also significantly too complicated for average programmers
> to use effectively.  Turned into a huge disaster, which the Java
> people then exploited very effectively.

I think C fits the pattern better than Java, and it at leats was
very successful.

> Python is interesting, I think: I'm not sure where it fits in.  If
> it's trying to do anything I think it's in being culturally compatible
> with perl and yet less insane, so eating its lunch, but it's not
> really close to perl.  My guess is that it won't succeed in the long
> term.

"Eating its lunch"?

-- jd
From: Tim Bradshaw
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <ey3isgj8g3v.fsf@cley.com>
* Jeff Dalton wrote:

> "Eating its lunch"?

Eating perl's lunch, leaving it starving.

(I agree with most of the rest of what you said, or at least I think
it's all such a matter of opinion (and the answers - `who will win' -
are still so unclear) that I can't raise technical objections, so I'd
have to just rant, and I haven't the heart for that any more - I just
want to get the job done nowadays, and I'll do it in cobol if that's
the best fit.  I'm using python, after all, which practically is
cobol.

--tim
From: Jeff Dalton
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <fx4u102ibuh.fsf@todday.inf.ed.ac.uk>
Tim Bradshaw <···@cley.com> writes:

> * Jeff Dalton wrote:
> 
> > "Eating its lunch"?
> 
> Eating perl's lunch, leaving it starving.

I see it now.  Eating *Pearl's* lunch.

> (I agree with most of the rest of what you said, or at least I think
> it's all such a matter of opinion (and the answers - `who will win' -
> are still so unclear) that I can't raise technical objections, so I'd
> have to just rant, and I haven't the heart for that any more - I just
> want to get the job done nowadays, and I'll do it in cobol if that's
> the best fit.  I'm using python, after all, which practically is
> cobol.

I'd be interested in your (further) thoughts.

There's an interesting question: why do bad languages win?

"Bad" from the point of view of Lispers like us.

For example, clean, orthogonal design seems to count for very little.
It might even be a disadvantage.  Messy, special-case-ridden syntax
and semantics might even be an advantage.

Lisps can be a bit messy, in a natural language sort of way, such
as having historical artifacts and not quite consistent naming
conventions; but Lisp prevented by its fundamental simplicity (small
number of powerful constructs) from scaling the true heights of
syntactic or semantic mess.

You might remember my suggestion from years ago that the excessively
popular languages tended to require a large amount of shallow
knowledge.  (Lisp OTOH almost immediately confronts programmers
with something conceptually difficult, such as recursion,
because there's not enough syntax etc to delay this.)

Java certainly fits *that* pattern, especially with all the libraries;
but I still think it's surprising that Java is was as successful as it
was.

I could easily have ended up as no more successful as Javascript,
and just as restricted in its applications.

Efficiency had seemed to be important.  Garbage collection and
number "boxing" were always popular weapons against Lisp.
Yet a lot of people started writing applications (we call them
that now, alas) in Java well before there were any efficient
implementations and despite GC.

Java had taken some "efficiency" steps, such as primitive float, int,
etc types and weird rules for which field you were referencing,
but surely not enough.

It confirms something I've long suspect in many areas: that
the reasons people give are not the real reasons.  Not that
they're telling lies: they don't know the real reasons either.

Sun put in a lot of work, though, and kept things moving.
Both probably helped.

-- jd
From: Tim Bradshaw
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <ey3ad1og57f.fsf@cley.com>
* Jeff Dalton wrote:

> There's an interesting question: why do bad languages win?

> "Bad" from the point of view of Lispers like us.

Well, I don't think Java is a bad language - it's not Lisp, but then
it's not C++ either.  I *do* think C++ is a bad language, but it seems
not to be winning, so ...

> You might remember my suggestion from years ago that the excessively
> popular languages tended to require a large amount of shallow
> knowledge.  (Lisp OTOH almost immediately confronts programmers
> with something conceptually difficult, such as recursion,
> because there's not enough syntax etc to delay this.)

I think this hits the nail on the head.  If you want to be widely used
you probably should not include anything too hard.  It's OK to have
lots of stuff - anyone can learn lots of stuff - but hard concepts are
not a good idea.  So big libraries are OK, but completely general
source code transformation as a fundamental tool of the language
isn't.  CL is far from the worst here: full continuations as a
fundamental component of the language is absolute, up-front suicide
outside academia, and backtracking and unification is enough to make
sure you never even get wide adoption *in* academia.

> Java certainly fits *that* pattern, especially with all the libraries;
> but I still think it's surprising that Java is was as successful as it
> was.

I think that Java was very well-positioned (perhaps only partly
deliberately) - it was friendly to C/C++ people, but simpler to use
than C++, it was clearly not `just a scripting language' like
Javascript, say, and it largely fixed a huge problem with C and C++:
memory management.  Finally it was associated with fashionable things
like aplets and then servlets. So it was in a very good position to
succeed, which it promptly did.

--tim
From: John Thingstad
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <opr53fgbu8xfnb1n@news.chello.no>
I think the Mathematica language is a good example of a language that
contains unification and still is popular.
Over a million copies sold last I checked.
(Ofcource for a lisper Mathematica looks kinda like s "souped up" lisp)

On Tue, 06 Apr 2004 22:35:32 +0100, Tim Bradshaw <···@cley.com> wrote:

> * Jeff Dalton wrote:
> I think this hits the nail on the head.  If you want to be widely used
> you probably should not include anything too hard.  It's OK to have
> lots of stuff - anyone can learn lots of stuff - but hard concepts are
> not a good idea.  So big libraries are OK, but completely general
> source code transformation as a fundamental tool of the language
> isn't.  CL is far from the worst here: full continuations as a
> fundamental component of the language is absolute, up-front suicide
> outside academia, and backtracking and unification is enough to make
> sure you never even get wide adoption *in* academia.
> --tim



-- 
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/
From: Jeff Dalton
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <fx4smff4h24.fsf@todday.inf.ed.ac.uk>
Tim Bradshaw <···@cley.com> writes:

> > but I still think it's surprising that Java is was as successful as it
> > was.
> 
> I think that Java was very well-positioned (perhaps only partly
> deliberately) - it was friendly to C/C++ people, but simpler to use
> than C++, it was clearly not `just a scripting language' like
> Javascript, say, and it largely fixed a huge problem with C and C++:
> memory management.  Finally it was associated with fashionable things
> like aplets and then servlets. So it was in a very good position to
> succeed, which it promptly did.

But would C/C++ people see it that way?  I didn't get the impression
that they saw a huge problem with memory management that called for
GC as a solution.  Instead, they (especially C++ ones) seemed to
be anti-GC.  Why wouldn't they regard Java as an inferior imitation
of C++ contaminated by bad ideas?

Why wasn't Java seen as a niche language, good for applets but
not real applications?

Of course, Sun put in a *lot* of work, creating all those libraries.

But I suspect unicode was a big help, making Java a natural for XML,
which then happened to turn into a Big Thing.  So, "time and chance",
as so often.

Maybe.

-- jd
From: Thomas Schilling
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <c520b6$2o0vbh$1@uni-berlin.de>
Jeff Dalton wrote:

> But would C/C++ people see it that way?  I didn't get the impression
> that they saw a huge problem with memory management that called for
> GC as a solution.  Instead, they (especially C++ ones) seemed to
> be anti-GC.  Why wouldn't they regard Java as an inferior imitation
> of C++ contaminated by bad ideas?

Your absolutely right! At least I used to think that way when I used to
program in C++. I still see no reason to learn Java - especially after
having discovered lisp. (But convincing me to try CL wouldn't have been
that easy if I wouldn't have started to dislike C++.)

But that's of course only my humble (former) opinion.

(I once took a look at some Java tutorial and found it not to be a big
difference to C++, so it shouldn't be a problem to learn it if I ever have
to.)

ts
-- 
[...looking for a more optimistic sig...]
From: Steven E. Harris
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <q67ad1mrzfb.fsf@L75001820.us.ray.com>
Jeff Dalton <····@todday.inf.ed.ac.uk> writes:

> But would C/C++ people see it that way?

It depends on how well these "C++ people" know C++. If they had only
dabbled with C++, they likely never found success with it, and any
ease Java could bring would be welcome.

[...]

> Why wasn't Java seen as a niche language, good for applets but not
> real applications?

Programmers like to pick up new "toy" languages to give them the
fifteen minute spin test -- can one write a small program in just a
few minutes? C++ could never pass this test. With any given compiler
suite, it takes vast knowledge and experimentation to set up a
working, effective build environment. And even once that environment
is defined for one compiler suite, little of it may translate to
another suite. Large C++ projects always involve complex customization
that a dabbler would never be interested in. And without that
customization, the tools, and hence the language itself, seem
unapproachable.

Java went a long way toward simplifying the requirements for a working
build environment. I have no evidence for this, but I believe a lot of
Java's popularity came from isolated developers starting programs that
-- working alone -- they would never have been able to assemble in
C++. Not because the actual code is any more simple or safe, but
because the project organization, assembly, and packaging require a
lot more unique, non-transferable effort. Teams that had trouble
figuring out C++, or never would have tried, could pick up Java and
find instant gratification.

Many of these same factors are obviously true of other languages like
Perl, Python, and even CL, but Java was close enough to C++ to still
feel like a legitimate, sufficiently "manly man" alternative. One of
the important aspects of class design in C++ is access protection
(public, protected, private), a consideration absent in most structure
or class systems is other languages. Java borrowed (and subtly
changed) the access system from C++, which eased migrators' fears of
having to give up this facility. I recall working with other C++
programmers who, upon seeing class systems in Perl and Python,
immediately wrote them off: "Wait, you can't declare these variables
private? That's not safe. What about encapsulation? You've got to be
kidding." Java passes this test.

Java came ready-made with a culture. Code organization is mandated by
the language (packages, class loader), coding style got handed down by
Sun, and a propensity toward standard libraries encouraged sharing and
reuse.

Despite the language similarities, I see Java and C++ users as
distinct sets. I have yet to meet a programmer with advanced- or
expert-level knowledge of C++ who would rather work in Java. Turning
it around, I have yet to meet an enthusiastic Java programmer who ever
really got to know C++.

-- 
Steven E. Harris        :: ········@raytheon.com
Raytheon                :: http://www.raytheon.com
From: Jeff Dalton
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <fx4ekqwbkdl.fsf@tarn.inf.ed.ac.uk>
"Steven E. Harris" <········@raytheon.com> writes:

> Despite the language similarities, I see Java and C++ users as
> distinct sets. I have yet to meet a programmer with advanced- or
> expert-level knowledge of C++ who would rather work in Java. Turning
> it around, I have yet to meet an enthusiastic Java programmer who ever
> really got to know C++.

Do you think that an enthusiastic Java programmer who did
really get to know C++ would prefer C++?

-- jd
From: Steven E. Harris
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <q67smf8ewfv.fsf@L75001820.us.ray.com>
Jeff Dalton <····@tarn.inf.ed.ac.uk> writes:

> Do you think that an enthusiastic Java programmer who did really get
> to know C++ would prefer C++?

Sadly not. Java remains "cleaner" and easier to work with. I can see
the loss looking from C++ to Java, but it's harder to look the other
way and see the gain.

-- 
Steven E. Harris        :: ········@raytheon.com
Raytheon                :: http://www.raytheon.com
From: Tim Bradshaw
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <ey3wu4jfzqd.fsf@cley.com>
* Steven E Harris wrote:
> Despite the language similarities, I see Java and C++ users as
> distinct sets. I have yet to meet a programmer with advanced- or
> expert-level knowledge of C++ who would rather work in Java. Turning
> it around, I have yet to meet an enthusiastic Java programmer who ever
> really got to know C++.

One of the best C++ programmers I've ever met now says he'd prefer
Java for almost everything (tight inner loops being the exception - I
think he typically does performance-critical stuff in C and then
native calls it from Java).

--tim
From: Kenny Tilton
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <1a6fc.39442$WA4.25649@twister.nyc.rr.com>
Tim Bradshaw wrote:
> * Steven E Harris wrote:
> 
>>Despite the language similarities, I see Java and C++ users as
>>distinct sets. I have yet to meet a programmer with advanced- or
>>expert-level knowledge of C++ who would rather work in Java. Turning
>>it around, I have yet to meet an enthusiastic Java programmer who ever
>>really got to know C++.
> 
> 
> One of the best C++ programmers I've ever met now says he'd prefer
> Java for almost everything (tight inner loops being the exception - I
> think he typically does performance-critical stuff in C and then
> native calls it from Java).

Does he not miss multiple inheritance and/or the preprocessor? He may 
not be as good as you think. :)

kt

-- 
Home? http://tilton-technology.com
Cells? http://www.common-lisp.net/project/cells/
Cello? http://www.common-lisp.net/project/cello/
Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film
Your Project Here! http://alu.cliki.net/Industry%20Application
From: William Bland
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <pan.2004.04.14.16.40.13.904705@abstractnonsense.com>
On Wed, 14 Apr 2004 07:57:49 +0000, Kenny Tilton wrote:

> Tim Bradshaw wrote:
>> 
>> One of the best C++ programmers I've ever met now says he'd prefer
>> Java for almost everything (tight inner loops being the exception - I
>> think he typically does performance-critical stuff in C and then
>> native calls it from Java).
> 
> Does he not miss multiple inheritance and/or the preprocessor? He may 
> not be as good as you think. :)
> 

Just to add a data point, I moved from C++ to Java a few years
ago.  The preprocessor is one of the few things I really miss
(actually I'd rather have a *real* macro system than C++'s
preprocessor, but I'd rather have C++'s preprocessor than nothing
at all).

I don't really miss multiple inheritance - I've seen enough
horribly complicated hierarchies in C++ that I'm happy with the
way Java does it.

The only other thing I really miss is sizeof.  Without that, it
can be quite difficult to optimise memory use.

Of course I'd still rather be writing Lisp ;-)

Cheers,
	Bill.
-- 
Dr. William Bland                          www.abstractnonsense.com
Computer Programmer                           awksedgrep (Yahoo IM)
Any sufficiently advanced Emacs user is indistinguishable from magic
From: Tim Lavoie
Subject: OT: Java sizeof (was Re: ARC or ARCH ?)
Date: 
Message-ID: <87llky7614.fsf_-_@theasylum.dyndns.org>
>>>>> "William" == William Bland <····@abstractnonsense.com> writes:

    William> The only other thing I really miss is sizeof.  Without
    William> that, it can be quite difficult to optimise memory use.

A good profiler can help here. I've run into the same thing, with our
own Java web app. I've found that JProfiler is a big help, and has a
free evaluation download. We'll be buying this one I think.

     Cheers,
     Tim

--
The power of accurate observation is frequently called cynicism by
those who don't have it. - George Bernard Shaw
From: Antonio Menezes Leitao
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <pan.2004.04.14.22.05.18.948195@evaluator.pt>
On Wed, 14 Apr 2004 16:40:15 +0000, William Bland wrote:

> Just to add a data point, I moved from C++ to Java a few years
> ago.  The preprocessor is one of the few things I really miss
> (actually I'd rather have a *real* macro system than C++'s
> preprocessor, but I'd rather have C++'s preprocessor than nothing
> at all).
> 
> I don't really miss multiple inheritance - I've seen enough
> horribly complicated hierarchies in C++ that I'm happy with the
> way Java does it.
> 
> The only other thing I really miss is sizeof.  Without that, it
> can be quite difficult to optimise memory use.
> 
> Of course I'd still rather be writing Lisp ;-)

[Shameless plug]
Linj (www.evaluator.pt) allows you to write Common Lisp-like programs that
are translated into human-readable Java programs. You can use Common Lisp
macros (much better than C/C++ macros), you can use mixin inheritance
(which is something halfway between single inheritance and multiple
inheritance) and you also get lots of other features from Common Lisp.
Unfortunately, I can't give you a sizeof operator :-)

Best regards,

Antonio Leitao
From: Tim Bradshaw
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <ey37jwis6n9.fsf@cley.com>
* Kenny Tilton wrote:

> Does he not miss multiple inheritance and/or the preprocessor? 

He probably does, but not nearly as much as he appreciates the lack of
memory-management bugs.  I'm fairly sure that he understands that
memory-management problems are by far the single largest class of bugs
in software written by expert programmers. (A preprocessor isn't very
hard to arrange, of course.)

> He may
> not be as good as you think. :)

I'm fairly sure that he is.  This is someone who wrote operating
systems for parallel supercomputers.

--tim
From: Steven E. Harris
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <q67hdvmb8ql.fsf@L75001820.us.ray.com>
Tim Bradshaw <···@cley.com> writes:

> I'm fairly sure that he understands that memory-management problems
> are by far the single largest class of bugs in software written by
> expert programmers.

Again, this one baffles me. It seems that one of the marks of an
expert-level /C++/ programmer is deliberately surmounting any chance
for memory-management errors by choosing proper tools and policies
(various smart pointers, RAII).

I can't criticize your friend directly, but this still sounds a little
bit like, "I was really good with Common Lisp, and I was almost able
to figure out how to match up those damn closing parentheses."

-- 
Steven E. Harris        :: ········@raytheon.com
Raytheon                :: http://www.raytheon.com
From: Tim Bradshaw
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <ey3ptaacd1u.fsf@cley.com>
* Steven E Harris wrote:
>> I'm fairly sure that he understands that memory-management problems
>> are by far the single largest class of bugs in software written by
>> expert programmers.

> Again, this one baffles me. It seems that one of the marks of an
> expert-level /C++/ programmer is deliberately surmounting any chance
> for memory-management errors by choosing proper tools and policies
> (various smart pointers, RAII).

It only baffles you because you didn't read what I wrote:
memory-management problems *are* the single largest class of bugs in
(C++) software written by expert programmers, so whatever
`surmounting' they try to do is clearly not working very well.
Language-level protection from these simple memory-management issues
is such a blindingly obvious solution to this that it probably takes
an `expert' not to immediately recognise it.

--tim
From: John Thingstad
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <opr6ibgxggxfnb1n@news.chello.no>
I don't find that to be true at all.
Today nearly every company uses a bonds checker.
Instantly you get feedback on accessing unallocated pointers.
At the end of execution it lists the items still stored in the heap
together with the place it was allocated.
As far as I am concerned the problem has been addressed and solved.
The most difficult problems to solve today are template errors.

On Thu, 15 Apr 2004 01:14:37 +0100, Tim Bradshaw <···@cley.com> wrote:

> * Steven E Harris wrote:
>>> I'm fairly sure that he understands that memory-management problems
>>> are by far the single largest class of bugs in software written by
>>> expert programmers.
>
>> Again, this one baffles me. It seems that one of the marks of an
>> expert-level /C++/ programmer is deliberately surmounting any chance
>> for memory-management errors by choosing proper tools and policies
>> (various smart pointers, RAII).
>
> It only baffles you because you didn't read what I wrote:
> memory-management problems *are* the single largest class of bugs in
> (C++) software written by expert programmers, so whatever
> `surmounting' they try to do is clearly not working very well.
> Language-level protection from these simple memory-management issues
> is such a blindingly obvious solution to this that it probably takes
> an `expert' not to immediately recognise it.
>
> --tim



-- 
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/
From: Tim Bradshaw
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <ey3smf4s2v7.fsf@cley.com>
* John Thingstad wrote:
> I don't find that to be true at all.

Well, go and look at any source of security vulnerability
information. There are lots and lots of buffer overflows.

I think you don't really realise how stupid your position is, given
the group in which you're posting.  Are you *seriously* claiming that
some mystical combination of user-implemented smart pointers and
bounds checkers is as good as a system-supplied memory-management
system, as provided by Java and (most) Lisp implementations?  Or are
you just one of the knee-jerk anti-Java brigade?

I'm not going to respond any further in this thread.

--tim
From: André Thieme
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <c5k93r$9qd$1@ulric.tng.de>
Kenny Tilton wrote:
> 
> 
> Tim Bradshaw wrote:
> 
>> * Steven E Harris wrote:
>>
>>> Despite the language similarities, I see Java and C++ users as
>>> distinct sets. I have yet to meet a programmer with advanced- or
>>> expert-level knowledge of C++ who would rather work in Java. Turning
>>> it around, I have yet to meet an enthusiastic Java programmer who ever
>>> really got to know C++.
>>
>>
>>
>> One of the best C++ programmers I've ever met now says he'd prefer
>> Java for almost everything (tight inner loops being the exception - I
>> think he typically does performance-critical stuff in C and then
>> native calls it from Java).
> 
> 
> Does he not miss multiple inheritance and/or the preprocessor?

MI is a dangerous thing to do in C++ and you should not apply Lisps
MI on it. So in C++ you're better off when using it as seldom as possible.


Andr�
--
From: Joe Marshall
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <r7uxtfc1.fsf@ccs.neu.edu>
Jeff Dalton <····@todday.inf.ed.ac.uk> writes:

> They [c++ programmers] seemed to be anti-GC.

What are you talking about?  C++ programmers *love* GC.  They love it
so much that nearly every complicated class has it's own separately
implemented ad-hoc reference count GC.
From: Matthieu Villeneuve
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <4076c798$0$26457$626a14ce@news.free.fr>
"Joe Marshall" <···@ccs.neu.edu> wrote in message
·················@ccs.neu.edu...
> Jeff Dalton <····@todday.inf.ed.ac.uk> writes:
>
> > They [c++ programmers] seemed to be anti-GC.
>
> What are you talking about?  C++ programmers *love* GC.  They love it
> so much that nearly every complicated class has it's own separately
> implemented ad-hoc reference count GC.

Absolutely! Also look at how much they like to play with various
smart pointer implementations:
http://www.boost.org/libs/smart_ptr/smarttests.htm

:-)


--
Matthieu Villeneuve
From: Tim Bradshaw
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <ey3smf7fzno.fsf@cley.com>
* Joe Marshall wrote:

> What are you talking about?  C++ programmers *love* GC.  They love it
> so much that nearly every complicated class has it's own separately
> implemented ad-hoc reference count GC.

What they hate is *standard* GC.  It's easy to demonstrate (possibly
even to prove) that any given GC has pathological worst cases where
performance really sucks.  So it's important to implement your own
application-specific one for each class. Also it gives you job
security.

--tim
From: Mario S. Mommer
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <fzhdw34drh.fsf@germany.igpm.rwth-aachen.de>
Tim Bradshaw <···@cley.com> writes:
> Python is interesting, I think: I'm not sure where it fits in.  If
> it's trying to do anything I think it's in being culturally compatible
> with perl and yet less insane, so eating its lunch, but it's not
> really close to perl.

I think Python might be trying to be "culturally compatible" with
pseudocode.

> My guess is that it won't succeed in the long
> term.

That depends on the metrics of success. I think it is a success
today. Tomorow? It will probably survive, as Lisp will do too.

The times where one language could hope for world domination are gone.
And as far as I can tell, it was an illusion to begin with. Watch the
curse of babylon unfolding. We needed no god this time.
From: Brian Mastenbrook
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <070420042040182393%NOSPAMbmastenbNOSPAM@cs.indiana.edu>
In article <··············@germany.igpm.rwth-aachen.de>, Mario S.
Mommer <········@yahoo.com> wrote:

> That depends on the metrics of success. I think it is a success
> today. Tomorow? It will probably survive, as Lisp will do too.

Ah, but the more relevant question is - will it survive like Perl, or
like Tcl? Tcl /used/ to be a requirement for a usable UNIX machine.
Nowadays I rarely see it used. I think in no small part, it owes that
to Python and PyGTK taking over the role of "quick slapped together X11
program" language, and Java taking over the larger "cross platform GUI"
role.

My question is, what can we do to make Python go the way of Tcl? I'd
love to see Python out of the default install of most Linux
distributions in five years and replaced with something lispier for
that kind of hack scripting (Gauche? Chicken?)

-- 
Brian Mastenbrook
http://www.cs.indiana.edu/~bmastenb/
From: Björn Lindberg
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <hcsvfkm3c5s.fsf@fnatte.nada.kth.se>
Artie Gold <·········@austin.rr.com> writes:

> Roland wrote:
> > Is it only me who is wondering about this?
> > The relevant entries according to the dictionary(www.m-w.com):
> > arch: a typically curved structural member spanning an opening and
> > serving as a support (as for the wall or other weight above the
> > opening)
> > arc: a continuous portion (as of a circle or ellipse) of a curved
> > line
> > If I understood the "arc" philosophy correctly "arch" would be a
> > better word
> > to describe the language. The idea would be bottom-up programming,
> > with
> > the lower pieces supporting what is above.
> > I vote for a name change. Paul Graham are you reading?
> >
> 
> 
> "Why is it called Arc?
> 
> The name is a reference to bottom-up programming. This means
> customizing the language to suit your application, yielding a program
> shaped like an arch, rather than a lintel. Since brevity is another
> aim, we lopped off the h."
> (from http://www.paulgraham.com/arcfaq.html)

When I first read about Arc, before reading the FAQ, I imagined Arc to
be named after a parenthesis (being an arc). I still like that
explanation better. :-)


Bj�rn
From: Brian Downing
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <CReac.35988$K91.100866@attbi_s02>
In article <···························@posting.google.com>,
Roland <···············@gmx.net> wrote:
> Is it only me who is wondering about this?
> 
> arch: [...]
> arc: [...]
> 
> If I understood the "arc" philosophy correctly "arch" would be a
> better word to describe the language. The idea would be bottom-up
> programming, with the lower pieces supporting what is above.
> 
> I vote for a name change. Paul Graham are you reading?

There's already an arch, of course.

http://www.gnu.org/software/gnu-arch/

-bcd
-- 
*** Brian Downing <bdowning at lavos dot net> 
From: Karl A. Krueger
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <c4c8tf$eou$1@baldur.whoi.edu>
Brian Downing <·············@lavos.net> wrote:
> There's already an arch, of course.
> http://www.gnu.org/software/gnu-arch/

That's just what it's _called_.  Its _name_ is "tla".

-- 
Karl A. Krueger <········@example.edu>
Woods Hole Oceanographic Institution
Email address is spamtrapped.  s/example/whoi/
"Outlook not so good." -- Magic 8-Ball Software Reviews
From: TLOlczyk
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <a0gj60h8afpk04pnm5c0om6lns8hc0d49h@4ax.com>
On Tue, 30 Mar 2004 16:57:21 +0000 (UTC), "Karl A. Krueger"
<········@example.edu> wrote:

>Brian Downing <·············@lavos.net> wrote:
>> There's already an arch, of course.
>> http://www.gnu.org/software/gnu-arch/
>
>That's just what it's _called_.  Its _name_ is "tla".
Actually arch was the original software which was
essentially a collection of scripts (written by Tom Lord).
gnu-arch/tla is a new SCM which is a rewrite of the original
software ( again by Tom Lord ). There is also a variant
called ArX by Walter Landry, and some other clones
which are not as popular.


The reply-to email address is ··········@yahoo.com.
This is an address I ignore.
To reply via email, remove 2002 and change yahoo to
interaccess,

**
Thaddeus L. Olczyk, PhD

There is a difference between
*thinking* you know something,
and *knowing* you know something.
From: Karl A. Krueger
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <c4cnh5$j1g$1@baldur.whoi.edu>
TLOlczyk <··········@yahoo.com> wrote:
> On Tue, 30 Mar 2004 16:57:21 +0000 (UTC), "Karl A. Krueger"
> <········@example.edu> wrote:
>>Brian Downing <·············@lavos.net> wrote:
>>> There's already an arch, of course.
>>> http://www.gnu.org/software/gnu-arch/
>>
>>That's just what it's _called_.  Its _name_ is "tla".
> 
> Actually arch was the original software which was essentially a
> collection of scripts (written by Tom Lord).  gnu-arch/tla is a new
> SCM which is a rewrite of the original software ( again by Tom Lord ).
> There is also a variant called ArX by Walter Landry, and some other
> clones which are not as popular.

I know.  It was a Lewis Carroll reference.  :)

-- 
Karl A. Krueger <········@example.edu>
Woods Hole Oceanographic Institution
Email address is spamtrapped.  s/example/whoi/
"Outlook not so good." -- Magic 8-Ball Software Reviews
From: Gareth McCaughan
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <87zn9yc4f2.fsf@g.mccaughan.ntlworld.com>
"Karl A. Krueger" <········@example.edu> writes:

> Brian Downing <·············@lavos.net> wrote:
> > There's already an arch, of course.
> > http://www.gnu.org/software/gnu-arch/
> 
> That's just what it's _called_.  Its _name_ is "tla".

But what's its name called? And what *is* it? :-)

I think Paul Graham should call his new language
"Haddock's Eyes".

-- 
Gareth McCaughan
.sig under construc
From: David Fisher
Subject: Re: ARC or ARCH ?
Date: 
Message-ID: <14030ca9.0404072009.79071de0@posting.google.com>
ARGH....