Language similarities

2 views
Skip to first unread message

jim

unread,
Dec 28, 2009, 11:14:21 PM12/28/09
to Clojure
Had an interesting conversation with a programmer friend of mine. He's
skeptical of my Lisp leanings and mostly sticks to the 'normal'
languages; C++, Java, etc.

I made that comment that pretty much all the languages derived from
Algol like the C family, Java, Pascal, etc. were pretty much the same.
He looked at me like I was insane. :) :)

I guess when you're looking back on the world from the vantage point
of s-expressions, they do look the same. IMHO. :) Erlang and Haskell
would have a similar effect, I would suspect.

Jim

ngocdaothanh

unread,
Dec 29, 2009, 1:11:52 AM12/29/09
to Clojure
I don't know Algol, but I think you're correct:
http://www.paulgraham.com/diff.html

Martin Coxall

unread,
Dec 29, 2009, 4:34:58 AM12/29/09
to clo...@googlegroups.com

On 29 Dec 2009, at 04:14, jim wrote:

> Had an interesting conversation with a programmer friend of mine. He's
> skeptical of my Lisp leanings and mostly sticks to the 'normal'
> languages; C++, Java, etc.
>
> I made that comment that pretty much all the languages derived from
> Algol like the C family, Java, Pascal, etc. were pretty much the same.
> He looked at me like I was insane. :) :)

Well, you're basically correct. The block structure was finalised in 1960 as part of Algol, and everything else (mainly the OO stuff) was all present and correct in Simula in 1967.

Since that point, imperative languages have barely changed in the last 33 years. The only notable exception to this was Ada growing generics in 1987, and their evolution into C++ templates.

Martin

Luc Prefontaine

unread,
Dec 29, 2009, 12:11:44 PM12/29/09
to clo...@googlegroups.com
Nothing new has been invented in software for the last 40 years...
Mostly recycling of existing concepts with (sometimes) improvements.

Since most people are not reading about the history of computers and
software they are under the impression that the stuff they deal with
is brand new.

Of course hardware improvements allowed better implementations but
that's the only benefit.

Thinking out of the box is really missing from the industry in general
now that we have overcome many hardware limits.

Getting better software out faster becomes an urgent matter and
requires some rethinking.

Luc

Sent from my iPod

> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clo...@googlegroups.com
> Note that posts from new members are moderated - please be patient
> with your first post.
> To unsubscribe from this group, send email to
> clojure+u...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en

mbrodersen

unread,
Jan 1, 2010, 7:57:57 AM1/1/10
to Clojure
Everything looks the same if you use a loose enough equality function
I guess.

Using a loose enough equality function, you can argue that Clojure is
just Lisp running on top of a mutable, Object Oriented framework (the
JVM). Immutable data structures and controlled changes of immutable
values is nothing new.

Make the equality function even more loose and you can argue that
Clojure and C# is pretty much the same. Both languages JIT compiles to
machine code, are executed by a CPU and modify states (memory,
magnetic plates, the temperature of the PC etc.)

However, in reality the "small differences" makes a big difference for
people using the languages. I personally feel that it makes a big
difference using C# instead of C or Clojure instead of Lisp.

mbrodersen

unread,
Jan 1, 2010, 8:05:54 AM1/1/10
to Clojure
Paul Graham might be correct that main stream languages will
incorporate features that Lisp had many years ago but the result won't
be Lisp.

Angel Java Lopez

unread,
Jan 1, 2010, 11:45:43 AM1/1/10
to clo...@googlegroups.com
I would like to add Ada exception management. I don't know if there were previous work on the field. Any info? I worked with Algol, but I don't remember if something like exceptions was present those days. Any early Lisp exception management?

And namespaces. The first Eiffel had no management of name collision; it has some sort of renaming. The first time I saw namespaces was in nineties C++, then popularized by Java packages. Any previous work on that? Smalltalk categories, dictionaries could be considered namespaces?

Angel "Java" Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

Mike Meyer

unread,
Jan 1, 2010, 12:31:16 PM1/1/10
to clo...@googlegroups.com, ajlop...@gmail.com
On Fri, 1 Jan 2010 13:45:43 -0300
Angel Java Lopez <ajlop...@gmail.com> wrote:

> I would like to add Ada exception management. I don't know if there were
> previous work on the field. Any info? I worked with Algol, but I don't
> remember if something like exceptions was present those days. Any early Lisp
> exception management?

Try/Catch were add to MacLisp in 1972, because the previous error
handling facilities (ERR/ERRSET) were being abused to get that
behavior. This predates the formation of the Ada working group by a
couple of years.

> And namespaces. The first Eiffel had no management of name collision; it has
> some sort of renaming. The first time I saw namespaces was in nineties C++,
> then popularized by Java packages. Any previous work on that? Smalltalk
> categories, dictionaries could be considered namespaces?

Python dates back to the 80s, and namespaces are a core
concept: "Namespaces are one honking great idea -- let's do more of
those!" is part of the Zen of python.

But Common Lisp had them for package management dating back to the
early 80s.

<mike
--
Mike Meyer <m...@mired.org> http://www.mired.org/consulting.html
Independent Network/Unix/Perforce consultant, email for more information.

O< ascii ribbon campaign - stop html mail - www.asciiribbon.org

David Brown

unread,
Jan 1, 2010, 1:45:31 PM1/1/10
to clo...@googlegroups.com, ajlop...@gmail.com
On Fri, Jan 01, 2010 at 12:31:16PM -0500, Mike Meyer wrote:
>On Fri, 1 Jan 2010 13:45:43 -0300
>Angel Java Lopez <ajlop...@gmail.com> wrote:
>
>> I would like to add Ada exception management. I don't know if there were
>> previous work on the field. Any info? I worked with Algol, but I don't
>> remember if something like exceptions was present those days. Any early Lisp
>> exception management?
>
>Try/Catch were add to MacLisp in 1972, because the previous error
>handling facilities (ERR/ERRSET) were being abused to get that
>behavior. This predates the formation of the Ada working group by a
>couple of years.

I don't think I've ever seen any cross references between any of the
Lisp documentation and any of the Ada documentation. The Ada
rationale only references a couple of obscure papers about exceptions.
Perhaps they didn't want to scare people by mentioning where they got
the idea.

I guess another concept that wasn't really accepted until a
"mainstream" language started using it.

David

Tom Faulhaber

unread,
Jan 2, 2010, 12:56:18 AM1/2/10
to Clojure
I can attest from personal experience that many of the folks who were
working on Ada were quite familiar with everything going on with Lisp
as well as Smalltalk and other language trends of the day (this was
around 1980).

While many of the ideas in Ada aren't so popular now (and weren't even
while the language was being developed), it certainly wasn't due to
ignorance of what was happening around them.

Tom

Reply all
Reply to author
Forward
0 new messages