Language similarities
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 -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@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+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en
Re: Language similarities
I don't know Algol, but I think you're correct: http://www.paulgraham.com/diff.html On Dec 29, 1:14 pm, 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. :) :) > > 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 -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@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+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en
Re: Language similarities
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 -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@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+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en
Re: Language similarities
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 On 2009-12-29, at 4:34 AM, Martin Coxall wrote: > > 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 > > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clojure@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+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@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+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en
Re: Language similarities
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. -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@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+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en
Re: Language similarities
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. -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@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+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en
Re: Language similarities
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 On Tue, Dec 29, 2009 at 6:34 AM, Martin Coxall wrote: > > 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 > > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clojure@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+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@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+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en
Re: Language similarities
On Fri, 1 Jan 2010 13:45:43 -0300 Angel Java Lopez 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. 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 -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@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+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en
Re: Language similarities
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 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 -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@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+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en
Re: Language similarities
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 On Jan 1, 10:45 am, David Brown wrote: > 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 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 -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@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+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en