Python the new Lisp, what about Ruby then?

I’ve been reading that Python is the new lisp.

For those Lispers in the crowd, how does Ruby compare with Lisp? I’m
not concerned about the compilers and interpreters, but more about the
samantic limitations or freedoms of each.

I know Matz hacked on Lisp before inventing Ruby, so I can only
imagine that if Lisp had something worth holding onto Ruby would
certainly provide it.

//ed

come on! python the new lisp? what’s that suppose to mean? nothing
compares to lisp. the only reason more prople don’t use lisp is becasue
of the strangeness of the ( ), some function names are esoteric, and
likewise fewer modern tools are available for it. beleive me i’d use it
much much more if it wasn’t for these later two points.

ruby though just may gain as great a heritage as lisp due to its highly
OO nature. but python? flash in the pan.

-transami

···

On Wed, 2002-09-18 at 17:18, Edward Wilson wrote:

I’ve been reading that Python is the new lisp.

For those Lispers in the crowd, how does Ruby compare with Lisp? I’m
not concerned about the compilers and interpreters, but more about the
samantic limitations or freedoms of each.

I know Matz hacked on Lisp before inventing Ruby, so I can only
imagine that if Lisp had something worth holding onto Ruby would
certainly provide it.

//ed


tom sawyer, aka transami
transami@transami.net

web2ed@yahoo.com (Edward Wilson) writes:

I’ve been reading that Python is the new lisp.

For those Lispers in the crowd, how does Ruby compare with Lisp? I’m

I’m a lisper and I’m laughing my ass out hearing that python is
equated with lisp. Show me a language where there is no difference
between data and code, and which has a runtime macro system that can
be used to modify the language, and then and only then it might start
to challenge lisp.

The main power of lisp is the language is so malleable, to solve a
problem, you simply modify the language to suit the problem (this
concept is foreign to most people who haven’t touch lisp) and the rest
becomes much easier. The secondary power of lisp comes from the fact
that (almost) everything is a list. This consistency and purity helps
a lot.

Ruby has more lisp influence than python. For example the proc block
is, I suspect, derived from lisp. Not to mention Matz also comes from
the lisp world, so probably his mind is opened to all those wonderful
possibilities that he later implemented in Ruby. Ruby also has a
(almost) consistent OO-view of the world and itself. In fact this
consistency and purity is why I was interested in Ruby even after
discovering the power of lisp.

YS.

web2ed@yahoo.com (Edward Wilson) wrote in message news:5174eed0.0209181458.668023da@posting.google.com

I’ve been reading that Python is the new lisp.

For those Lispers in the crowd, how does Ruby compare with Lisp? I’m
not concerned about the compilers and interpreters, but more about the
samantic limitations or freedoms of each.

I know Matz hacked on Lisp before inventing Ruby, so I can only
imagine that if Lisp had something worth holding onto Ruby would
certainly provide it.

Of course Ruby is closer to Lisp than Python.

Even Lisp old-timers agree.

Read this:

http://groups.google.com/groups?&hl=ru&lr=&ie=UTF-8&inlang=ru&selm=aku876%242822%241%40serv2.vsi.ru&rnum=1

Yuri Leikind

Strange this should be posted today.
Just yesterday I read the following link:

Comments by Bruce Eckel stating that Python is superior, and Ruby is
not worth learning. Unless you just like learning new languages.
I don’t agree, but the comments are interesting.
Bruce Eckel wrote “Thinking in C++” and “Thinking in Java”.

http://www.mindview.net/Etc/FAQ.html#Ruby

I have been on a bit of language learning quest lately.
There are many many interesting languages out there.
In no particular order:
Ruby, Python, Perl, Haskel, (OCaml, SML, ML, F#), Lisp, Lua,
Dylan, GOO, Self, Sather, Mercury, Merd, and I am sure many more.

I used to love C++. After much VB and Java programming, I decided
some things were just harder to do in C++ and C++ was not always the
best choice. VB is a beyond belief crappy language. However, the
development environment is very nice and it generates tons of code for
you at the push of a button. For some things it is hard to beat, but
I never liked it. Java seemed liked the perfect compromise. Easy to
learn, easy to use, reasonably consistent. Most of the power of C++
without the headaches. I fell out of love with Java because of Swing.
It is my belief that a windowing tookit must support native widgets
or it will never be accepted by end users. It might be fine for in
house development, but not for the world at large. This led me to
Python and WxWindows. However, before I really got there I found
Ruby. So far I like Ruby, but the only native windowing toolkits are
Tk(primitive widget support) and VRuby(documentation in Japanese). So
I tried Python and wxWindows.
However, the first wxWindows program that I wrote, contained just six
buttons on a form and it had problems. It would not repaint correctly
when sized.
At this point, two lights went on in my head.

One, there is a big problem with all languages other than C and C++.
They don’t integrate easily with C/C++ code. All languages provide a
way to integrate, but it is not easy. If you must leave your
languages standard library to make an OS call, it is going to be
difficult. Maybe not for one call, but for many like the GUI calls,
it is tough going. Thankfully there is SWIG. However, a couple days
ago I tried running SWIG on WinUser.h and it failed miserably. I am
not going to be calling CreateWindow from Ruby anytime soon.

Two, Java is a really boring language compared to Python and Ruby. It
really added nothing new to the world of programming languages. I
don’t really understand why Sun created it. It is simplified C++ with
garbage collection. I suppose somebody had to do it.

So where does that leave us.
If you need a quality GUI, C++, C# and VB are about the only way to
go.

If you don’t need a quality GUI or you’re willing to build a sockets
interface from the GUI to your code, then the world of languages opens
up. I have realized that I received a poor education in functional
and logical languages.
You can write Quicksort in 4 lines of Haskell code. That alone tells
me that there is something about Haskell that might be worth learning.

But of the 15 languages that I listed how to choose which ones to
learn? Which are best? Impossible to tell (In Yoda voice).

I decided to learn Ruby and Haskell for now, just for educational
purposes.
I can’t see getting to use either on a job anytime soon.

ruby though just may gain as great a heritage as lisp due to its highly
OO nature. but python? flash in the pan.

I don’t use Python, but I’d hardly call it that. It is quite popular, and
doing Real World Stuff ™. Seems to me hardly faddish.

Hi –

Strange this should be posted today.
Just yesterday I read the following link:

http://www.mindview.net/Etc/FAQ.html#Ruby

Oh, that again. I particularly like:

Recent improvements to the language [Python] have outstripped
whatever Ruby could offer, I think, and there’s currently lots of
very good work going on to further improve Python.

That would be, ummm, iterators, for example? :slight_smile:

I have been on a bit of language learning quest lately.
There are many many interesting languages out there.
In no particular order:
Ruby, Python, Perl, Haskel, (OCaml, SML, ML, F#), Lisp, Lua,
Dylan, GOO, Self, Sather, Mercury, Merd, and I am sure many more.

Have you seen the Language of the Year project (LotY)
http://www.pragmaticprogrammer.com/loty? It’s an initiative based
on the PragProgs’ advice to the effect that every programmer should
learn at least one new language a year. The 2002 language is Haskell.
Lively discussion about next year’s language(s) has been going on just
in the past couple of days on the mailing list. It’s not clear what
the main 2003 language will be, but it looks like there will be a
Haskell Holdouts sub-group of people who didn’t quite “finish” Haskell
in 2002 (such as me :slight_smile: In general, if you’re interested in learning
a new language, you might find kindred spirits in the LotY community.

David

···

On Fri, 20 Sep 2002, MetalOne wrote:


David Alan Black | Register for RubyConf 2002!
home: dblack@candle.superlink.net | November 1-3
work: blackdav@shu.edu | Seattle, WA, USA
Web: http://pirate.shu.edu/~blackdav | http://www.rubyconf.com

Comments by Bruce Eckel stating that Python is superior, and Ruby is
not worth learning. Unless you just like learning new languages.
I don’t agree, but the comments are interesting.
Bruce Eckel wrote “Thinking in C++” and “Thinking in Java”.

This was discussed at length when he made these comments
a year or two ago. Search the archives if you’re curious.

(snippage)

I am
not going to be calling CreateWindow from Ruby anytime soon.

Hmm, what about WIN32API? I’ve never used it myself…

You can write Quicksort in 4 lines of Haskell code. That alone tells
me that there is something about Haskell that might be worth learning.

You can write it in one line in Pascal. If it’s a
really long line. :wink:

But of the 15 languages that I listed how to choose which ones to
learn? Which are best? Impossible to tell (In Yoda voice).

I decided to learn Ruby and Haskell for now, just for educational
purposes.
I can’t see getting to use either on a job anytime soon.

Some people are already using Ruby on the job. (Probably Haskell
too, for all I know).

One good way is to sneak it in. (Refer to Andy Hunt’s excellent
“Ruby Insurgency” talk at last year’s RubyConf). Use it behind
management’s back. Use it for quick scripts, prototyping, proof
of concept, spikes, non-critical code, and so on.

The “law of software osmosis” (which I just made up) says that
if it works well enough, it will eventually seep into production.

As for me, I’m seriously thinking of learning Python as my LOTY
(using the six minutes per month of free time that I have).

Hal

···

----- Original Message -----
From: “MetalOne” jcb@iteris.com
Newsgroups: comp.lang.ruby
To: “ruby-talk ML” ruby-talk@ruby-lang.org
Sent: Thursday, September 19, 2002 6:59 PM
Subject: Re: Python the new Lisp, what about Ruby then?

jcb@iteris.com (MetalOne) writes:

So where does that leave us.
If you need a quality GUI, C++, C# and VB are about the only way to
go.

I would add Dolphin Smalltalk to that list. Beautiful environment, and
makes really nice win32 gui’s. You can get a free evaluation versions
at

http://www.object-arts.com

···

Vennlig hilsen

Syver Enstad

well, i exagerate. but you get my meaning. i’m sure python dosen’t have
the staying power of lisp. lisp will probably be with us for all time,
while python will be superceeded.

i think ruby has greater potential for sticking around, and perhaps is
the successor of python to which i refer.

···

On Wed, 2002-09-18 at 21:37, Mike Campbell wrote:

ruby though just may gain as great a heritage as lisp due to its highly
OO nature. but python? flash in the pan.

I don’t use Python, but I’d hardly call it that. It is quite popular, and
doing Real World Stuff ™. Seems to me hardly faddish.


tom sawyer, aka transami
transami@transami.net

In article 1032407726.16274.346.camel@silver,

ruby though just may gain as great a heritage as lisp due to its highly
OO nature. but python? flash in the pan.

I don’t use Python, but I’d hardly call it that. It is quite popular, and
doing Real World Stuff ™. Seems to me hardly faddish.

well, i exagerate. but you get my meaning. i’m sure python dosen’t have
the staying power of lisp. lisp will probably be with us for all time,
while python will be superceeded.

    • Lisp started around 1956 and has been widely used since 1960
      or so. It’s got a long head start.

i think ruby has greater potential for sticking around, and perhaps is
the successor of python to which i refer.

    • Repeat after me…

Ruby is the new Ruby…

Pointless comparisions are a waste of time. Python/Perl/Foo
bashing merely makes you look well, un-Ruby like.

    • Booker C. Bense
···

Tom Sawyer transami@transami.net wrote:

On Wed, 2002-09-18 at 21:37, Mike Campbell wrote:

Tom Sawyer wrote:

ruby though just may gain as great a heritage as lisp due to its highly
OO nature. but python? flash in the pan.

I don’t use Python, but I’d hardly call it that. It is quite popular,
and
doing Real World Stuff ™. Seems to me hardly faddish.

well, i exagerate. but you get my meaning. i’m sure python dosen’t have
the staying power of lisp. lisp will probably be with us for all time,
while python will be superceeded.

i think ruby has greater potential for sticking around, and perhaps is
the successor of python to which i refer.

Choosing Ruby I made comparison to other languages, mostly python, Python
seems to be better documented, more popular, has more modules etc.
Yet I chose Ruby. It wasn’t pointless comparison because I have language
that will stay with me for very long time.

It’s bit like shopping before you invest your time and effort in a new
language you’d better make good comparison and choose wisely. Then the
language will serve you for long time.

But if making such choice you just follow fashion comparisons are pointless.

Comparing with other languages can teach you a lot. I don’t mean here some
shallow list of features but trying to learn some of the language and see
how things can be done in a different way, or even learning new way of
thinking.

Perhaps Pragmatic Programmers rule ‘one new language a year’ can give you
hints how useful such comparisons can be.

I recently started to learn some Lisp. Ruby will be my main language, but
believe me, this experiemce will improve my Ruby programming.

···

On Wed, 2002-09-18 at 21:37, Mike Campbell wrote:

Jacek Podkanski

Tom Sawyer wrote:

···

On Wed, 2002-09-18 at 21:37, Mike Campbell wrote:

ruby though just may gain as great a heritage as lisp due to its highly
OO nature. but python? flash in the pan.

I don’t use Python, but I’d hardly call it that. It is quite popular, and
doing Real World Stuff ™. Seems to me hardly faddish.

well, i exagerate. but you get my meaning. i’m sure python dosen’t have
the staying power of lisp. lisp will probably be with us for all time,
while python will be superceeded.

If we ever find intelligent creatures somewhere else in the universe,
they will know pi, e, and some dialect of LISP. But they won’t know Python.

who’s bashing? just stating an opinion.

time will prove me right or wrong. it dosen’t really matter anyway. now
does it?

and who knows? perhaps some super language will come along a lay a path
of dead languages behind it.

ruby to ruby? now that is a pointless comparision :slight_smile: hey, if you don’t
compare languages, what’s the point of choosing one over the other in
the first place?

-transami

···

On Wed, 2002-09-18 at 22:38, bbense+comp.lang.ruby.Sep.18.02@telemark.stanford.edu wrote:

-----BEGIN PGP SIGNED MESSAGE-----

In article 1032407726.16274.346.camel@silver,
Tom Sawyer transami@transami.net wrote:

On Wed, 2002-09-18 at 21:37, Mike Campbell wrote:

ruby though just may gain as great a heritage as lisp due to its highly
OO nature. but python? flash in the pan.

I don’t use Python, but I’d hardly call it that. It is quite popular, and
doing Real World Stuff ™. Seems to me hardly faddish.

well, i exagerate. but you get my meaning. i’m sure python dosen’t have
the staying power of lisp. lisp will probably be with us for all time,
while python will be superceeded.

    • Lisp started around 1956 and has been widely used since 1960
      or so. It’s got a long head start.

i think ruby has greater potential for sticking around, and perhaps is
the successor of python to which i refer.

    • Repeat after me…

Ruby is the new Ruby…

Pointless comparisions are a waste of time. Python/Perl/Foo
bashing merely makes you look well, un-Ruby like.

    • Booker C. Bense

-----BEGIN PGP SIGNATURE-----
Version: 2.6.2

iQCVAwUBPYlQ32TWTAjn5N/lAQHh+wP+ONJp+detA/HNp3AeGTkP5IpFgb3AjSMr
yl3zQ2gondHIM+y91ZL5CAMbnAN+wEMzwgs3FEL2D8ZW2fJ/R63G5jhYJb3CniM5
JoOkjs0UR1UOSRUZTKXpscLQJlDfxtNtAjA4QzS1cwu+BmCTW/N52H7qwoZPdJ1V
2IJWJqDp+Fc=
=kdDp
-----END PGP SIGNATURE-----


tom sawyer, aka transami
transami@transami.net

Pointless comparisions are a waste of time. Python/Perl/Foo
bashing merely makes you look well, un-Ruby like.

Foo really is awful though. =)

···

=====

Use your computer to help find a cure for cancer: http://members.ud.com/projects/cancer/

Yahoo IM: michael_s_campbell


Do you Yahoo!?
New DSL Internet Access from SBC & Yahoo!

well said!

···

On Thu, 2002-09-19 at 13:46, Joel VanderWerf wrote:

If we ever find intelligent creatures somewhere else in the universe,
they will know pi, e, and some dialect of LISP. But they won’t know Python.


tom sawyer, aka transami
transami@transami.net

Hi,

As I don’t have a computer science background, my dream is a
“language” where I can specify my own rules. I can specify whether I want
a free form language like C and Perl, or an indentation-based language
like Python. I can specify whether I have array/hash context such as
in Perl, or I just want Ruby object model.

Yes, probably tools such as yacc and bison already exist to create a new
language, but they are still too hard to use for a typical
programmer. (How many new languages are actually created per day?) It
may be a total dream, but who could imagine a language like Ruby 30 years
ago when assembly, BASIC, Fortran, and COBOL were the norm?

Basically, my dream is I can specify easily: I want a language with Ruby
object model, with Python syntax, with reference counting gc, without the
need for Python ending “:” to reduce typing, with blocks, and voila! with
just several instructions such a language is created. And even further, I
can change the gc model for different parts of my code. Basically,
each one of us can create his/her own rules based on his/her own
preferences at that moment. What a dream… (Any possibilities from the
theoretical computer science point of view? Hopefully a Turing machine is
not the answer; it is still too hard to use :slight_smile: )

Regards,

Bill

···

=============================================================================
Tom Sawyer transami@transami.net wrote:

and who knows? perhaps some super language will come along a lay a path
of dead languages behind it.

In article amfugm$p4h$1@grapevine.wam.umd.edu,

Hi,

As I don’t have a computer science background, my dream is a
“language” where I can specify my own rules. I can specify whether I want
a free form language like C and Perl, or an indentation-based language
like Python. I can specify whether I have array/hash context such as
in Perl, or I just want Ruby object model.

Yes, probably tools such as yacc and bison already exist to create a new
language, but they are still too hard to use for a typical
programmer. (How many new languages are actually created per day?) It
may be a total dream, but who could imagine a language like Ruby 30 years
ago when assembly, BASIC, Fortran, and COBOL were the norm?

    • The ideas behind Ruby are not that new. They were around 30
      years ago. They’ve just taken that long to get out of acedemia
      and into a more accessible space.

Basically, my dream is I can specify easily: I want a language with Ruby
object model, with Python syntax, with reference counting gc, without the
need for Python ending “:” to reduce typing, with blocks, and voila! with
just several instructions such a language is created. And even further, I
can change the gc model for different parts of my code. Basically,
each one of us can create his/her own rules based on his/her own
preferences at that moment. What a dream… (Any possibilities from the
theoretical computer science point of view? Hopefully a Turing machine is
not the answer; it is still too hard to use :slight_smile: )

    • You’ve basically described programming on a Symbolics lisp
      machine as I understand it. However, I never really got a
      chance to do more that stand over somebody’s shoulder while
      they showed me all the cool tricks you could do. We have
      lost some really cool things along the way.
    • The problem with such a flexible model is you eventually
      create a language that only you understand[1]. Solipsism in
      a computer language is a bad thing IMHO. If I understand
      the perl6 apocalypses correctly, Perl6 is going to let
      you do a lot of this kind of thing. It’s one of the reasons
      I started looking for another language. IMHO, programming,
      while primarily a means for talking to a computer, is also
      a means to communicate with other programmers. If every
      program invents it’s own language, I have to learn that
      specific language before I can make sense of the program.
      (For an example of this consider C++ operator overloading.)
      You need to strike a balance between discipline and flexiblity.
    • Booker C. Bense

[1]- even worse, only you at a certain point in time understand.
One of the reasons I’ve learned to avoid command customization
via aliases and whatnot, is that if I stop using something for
a while, when I come back I’ve lost the context that made all
those aliases meaningful.

···

William Djaja Tjokroaminata billtj@z.glue.umd.edu wrote:

Booker is right. There is a very thin line between flexibility and chaos.