# Paul Graham recommends Ruby

**URL:** https://rubytalk.org/t/paul-graham-recommends-ruby/17033
**Category:** ruby-talk
**Created:** [19 March 2005 02:54 UTC](https://rubytalk.org/t/paul-graham-recommends-ruby/17033 "2005-03-19T02:54:41Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![J-Van](https://avatars.discourse-cdn.com/v4/letter/j/bc8723/32.png) [@J-Van](https://rubytalk.org/u/J-Van)
#### Post date: [19 March 2005 02:54 UTC](https://rubytalk.org/t/paul-graham-recommends-ruby/17033/1 "2005-03-19T02:54:41Z")

</div>

Paul wrote an article about his recommendations for current  
undergraduate C.S. students. And plugs Ruby while he's at it.

[http://paulgraham.com/college.html](http://paulgraham.com/college.html)

"... What you should learn to get a job depends on the kind you want.  
If you want to work in a big company, learn how to hack Blub on  
Windows. If you want to work at a cool little company or research lab,  
you'll do better to learn Ruby on Linux. And if you want to start your  
own company, which I think will be more and more common, master the  
most powerful tools you can find, because you're going to be in a race  
against your competitors, and they'll be your horse.... "

---

<div class="post-metadata">

### Author: ![Premshree\_Pillai1](https://avatars.discourse-cdn.com/v4/letter/p/ecccb3/32.png) [@Premshree\_Pillai1](https://rubytalk.org/u/Premshree_Pillai1)
#### Post date: [19 March 2005 07:57 UTC](https://rubytalk.org/t/paul-graham-recommends-ruby/17033/2 "2005-03-19T07:57:10Z")

</div>

> Paul wrote an article about his recommendations for current  
> undergraduate C.S. students. And plugs Ruby while he's at it.
> 
> [http://paulgraham.com/college.html](http://paulgraham.com/college.html)
> 
> "... What you should learn to get a job depends on the kind you want.  
> If you want to work in a big company, learn how to hack Blub on  
> Windows. If you want to work at a cool little company or research lab,  
> you'll do better to learn Ruby on Linux. And if you want to start your

I don't think he "recommends Ruby". He probably means something to the  
effect of "use a dynamic language like Python, or Ruby".

As much as all of us would like Mr. Graham to "recommend" Ruby, I  
think it's for the better if we don't draw conclusions.

> **···**
>
> On Sat, 19 Mar 2005 11:54:41 +0900, Joe Van Dyk \<joevandyk@gmail.com\> wrote:
> 
> > own company, which I think will be more and more common, master the  
> > most powerful tools you can find, because you're going to be in a race  
> > against your competitors, and they'll be your horse.... "
> 
> --  
> Premshree Pillai
> 
> > **[Premshree's (品速力) Personal Weblog](https://premshree.livejournal.com/)**
> >
> > etc.

---

<div class="post-metadata">

### Author: ![Joao\_Pedrosa](https://avatars.discourse-cdn.com/v4/letter/j/e56c9b/32.png) [@Joao\_Pedrosa](https://rubytalk.org/u/Joao_Pedrosa)
#### Post date: [19 March 2005 08:11 UTC](https://rubytalk.org/t/paul-graham-recommends-ruby/17033/3 "2005-03-19T08:11:59Z")

</div>

Hi,

> \> Paul wrote an article about his recommendations for current  
> \> undergraduate C.S. students. And plugs Ruby while he's at it.  
> \>  
> \> [Undergraduation](http://paulgraham.com/college.html)  
> \>  
> \> "... What you should learn to get a job depends on the kind you want.  
> \> If you want to work in a big company, learn how to hack Blub on  
> \> Windows. If you want to work at a cool little company or research lab,  
> \> you'll do better to learn Ruby on Linux. And if you want to start your
> 
> I don't think he "recommends Ruby". He probably means something to the  
> effect of "use a dynamic language like Python, or Ruby".
> 
> As much as all of us would like Mr. Graham to "recommend" Ruby, I  
> think it's for the better if we don't draw conclusions.

My take is that he sees Ruby as a good medium to delivering some good  
results, because since some articles ago by him, he has mentioned  
Ruby, together with other languages. But in this particular article,  
"college.html", he mentioned Ruby alone, because in the context of  
small companies and research labs, Ruby has more probability of being  
used, while Perl and Python feature in bigger companies already.

It's like the Nasdaq -- some indices go down and up, depending on the  
trend. 🙂 But these indices are kind of irrelevant to the majority of  
the people.

The Perl and Python people can keep ignoring Ruby, till the trend  
changes really big. 🙂

Cheers,  
Joao

> **···**
>
> On Sat, 19 Mar 2005 16:57:10 +0900, Premshree Pillai \<premshree.pillai@gmail.com\> wrote:
> 
> > On Sat, 19 Mar 2005 11:54:41 +0900, Joe Van Dyk \<joevandyk@gmail.com\> wrote:

---

<div class="post-metadata">

### Author: ![vruz](https://avatars.discourse-cdn.com/v4/letter/v/4bbf92/32.png) [@vruz](https://rubytalk.org/u/vruz)
#### Post date: [19 March 2005 08:21 UTC](https://rubytalk.org/t/paul-graham-recommends-ruby/17033/4 "2005-03-19T08:21:08Z")

</div>

[snip]

> \> Paul wrote an article about his recommendations for current  
> \> undergraduate C.S. students. And plugs Ruby while he's at it.  
> \>  
> \> [Undergraduation](http://paulgraham.com/college.html)  
> \>  
> \> "... What you should learn to get a job depends on the kind you want.  
> \> If you want to work in a big company, learn how to hack Blub on  
> \> Windows. If you want to work at a cool little company or research lab,  
> \> you'll do better to learn Ruby on Linux. And if you want to start your
> 
> I don't think he "recommends Ruby". He probably means something to the  
> effect of "use a dynamic language like Python, or Ruby".
> 
> As much as all of us would like Mr. Graham to "recommend" Ruby, I  
> think it's for the better if we don't draw conclusions.

Are you arguing about the use of the verb 'to recommend' ?  
or else, how do you come to the conclusion that he didn't really mean  
exactly Ruby, but Ruby or something else when he has explicitly named  
Ruby on Linux ?

I think Graham knows well a number of programming languages, and could  
have been explicit about them had he wanted to do so.

IMHO it's for the better if we don't draw conclusions about certain  
reptiles when Graham hasn't mentioned any in the entire essay.

---

<div class="post-metadata">

### Author: ![Christian\_Neukirche1](https://avatars.discourse-cdn.com/v4/letter/c/ee7513/32.png) [@Christian\_Neukirche1](https://rubytalk.org/u/Christian_Neukirche1)
#### Post date: [19 March 2005 12:00 UTC](https://rubytalk.org/t/paul-graham-recommends-ruby/17033/5 "2005-03-19T12:00:34Z")

</div>

Premshree Pillai \<premshree.pillai@gmail.com\> writes:

> > Paul wrote an article about his recommendations for current  
> > undergraduate C.S. students. And plugs Ruby while he's at it.
> > 
> > [Undergraduation](http://paulgraham.com/college.html)
> > 
> > "... What you should learn to get a job depends on the kind you want.  
> > If you want to work in a big company, learn how to hack Blub on  
> > Windows. If you want to work at a cool little company or research lab,  
> > you'll do better to learn Ruby on Linux. And if you want to start your
> 
> I don't think he "recommends Ruby". He probably means something to the  
> effect of "use a dynamic language like Python, or Ruby".

Yeah, but Python 3000 won't have lisp stuff anymore, didn't you read  
that? How could PG ever advertise that? 🙂 \*eg\*

> **···**
>
> > On Sat, 19 Mar 2005 11:54:41 +0900, Joe Van Dyk \<joevandyk@gmail.com\> wrote:
> 
> > Premshree Pillai
> 
> --  
> Christian Neukirchen \<chneukirchen@gmail.com\> [http://chneukirchen.org](http://chneukirchen.org)

---

<div class="post-metadata">

### Author: ![Premshree\_Pillai1](https://avatars.discourse-cdn.com/v4/letter/p/ecccb3/32.png) [@Premshree\_Pillai1](https://rubytalk.org/u/Premshree_Pillai1)
#### Post date: [19 March 2005 08:38 UTC](https://rubytalk.org/t/paul-graham-recommends-ruby/17033/6 "2005-03-19T08:38:43Z")

</div>

> [snip]  
> \> \> Paul wrote an article about his recommendations for current  
> \> \> undergraduate C.S. students. And plugs Ruby while he's at it.  
> \> \>  
> \> \> [Undergraduation](http://paulgraham.com/college.html)  
> \> \>  
> \> \> "... What you should learn to get a job depends on the kind you want.  
> \> \> If you want to work in a big company, learn how to hack Blub on  
> \> \> Windows. If you want to work at a cool little company or research lab,  
> \> \> you'll do better to learn Ruby on Linux. And if you want to start your  
> \>  
> \> I don't think he "recommends Ruby". He probably means something to the  
> \> effect of "use a dynamic language like Python, or Ruby".  
> \>  
> \> As much as all of us would like Mr. Graham to "recommend" Ruby, I  
> \> think it's for the better if we don't draw conclusions.
> 
> Are you arguing about the use of the verb 'to recommend' ?  
> or else, how do you come to the conclusion that he didn't really mean  
> exactly Ruby, but Ruby or something else when he has explicitly named  
> Ruby on Linux ?

Well, I was taking the phrase into context -- "Ruby on Linux". He  
probably used that as a specific instance of "[cool dynamic language  
here] on \*nix".

> I think Graham knows well a number of programming languages, and could  
> have been explicit about them had he wanted to do so.
> 
> IMHO it's for the better if we don't draw conclusions about certain  
> reptiles when Graham hasn't mentioned any in the entire essay.

🙂

> **···**
>
> On Sat, 19 Mar 2005 17:21:08 +0900, vruz \<horacio.lopez@gmail.com\> wrote:
> 
> --  
> Premshree Pillai
> 
> > **[Premshree's (品速力) Personal Weblog](https://premshree.livejournal.com/)**
> >
> > etc.

---

<div class="post-metadata">

### Author: ![Premshree\_Pillai1](https://avatars.discourse-cdn.com/v4/letter/p/ecccb3/32.png) [@Premshree\_Pillai1](https://rubytalk.org/u/Premshree_Pillai1)
#### Post date: [19 March 2005 08:46 UTC](https://rubytalk.org/t/paul-graham-recommends-ruby/17033/7 "2005-03-19T08:46:33Z")

</div>

> It's like the Nasdaq -- some indices go down and up, depending on the  
> trend. 🙂 But these indices are kind of irrelevant to the majority of

Heh. But we could always use name dropping. 🙂

> the people.
> 
> The Perl and Python people can keep ignoring Ruby, till the trend

I don't think others are \_still\_ ignoring Ruby. Larry Wall after all  
does talk about it.

> **···**
>
> On Sat, 19 Mar 2005 17:11:59 +0900, Joao Pedrosa \<joaopedrosa@gmail.com\> wrote:
> 
> > changes really big. 🙂
> > 
> > Cheers,  
> > Joao
> 
> --  
> Premshree Pillai
> 
> > **[Premshree's (品速力) Personal Weblog](https://premshree.livejournal.com/)**
> >
> > etc.

---

<div class="post-metadata">

### Author: ![Navindra\_Umanee](https://avatars.discourse-cdn.com/v4/letter/n/d78d45/32.png) [@Navindra\_Umanee](https://rubytalk.org/u/Navindra_Umanee)
#### Post date: [19 March 2005 17:35 UTC](https://rubytalk.org/t/paul-graham-recommends-ruby/17033/8 "2005-03-19T17:35:50Z")

</div>

Can you expand on this?

Cheers,  
Navin.

> **···**
>
> Christian Neukirchen \<chneukirchen@gmail.com\> wrote:
> 
> > Yeah, but Python 3000 won't have lisp stuff anymore, didn't you read  
> > that?

---

<div class="post-metadata">

### Author: ![Wai-Sun\_Chia1](https://avatars.discourse-cdn.com/v4/letter/w/3da27b/32.png) [@Wai-Sun\_Chia1](https://rubytalk.org/u/Wai-Sun_Chia1)
#### Post date: [19 March 2005 09:31 UTC](https://rubytalk.org/t/paul-graham-recommends-ruby/17033/9 "2005-03-19T09:31:46Z")

</div>

Premshree Pillai wrote:

> > Are you arguing about the use of the verb 'to recommend' ?  
> > or else, how do you come to the conclusion that he didn't really mean  
> > exactly Ruby, but Ruby or something else when he has explicitly named  
> > Ruby on Linux ?
> 
> Well, I was taking the phrase into context -- "Ruby on Linux". He  
> probably used that as a specific instance of "[cool dynamic language  
> here] on \*nix".

I agree. He explicitly stated "Ruby on Linux".

If going by your logic, of "[cool dynamic language here] on \*nix"", I don't think he'd have meant Tcl on Dynix[1]??? Or Lua on QNX?

The context that he was trying to bring it in is either a small R&D, SME or startup company with small budgets.

Ruby is relevant for product-to-market-speed (dynamic, OO, etc.), and Linux is probably due to the fact that it runs well on commodity (read cheap) Intel/AMD hardware.

p.s. anybody else remember what this is? 🙂

/wai-sun

---

<div class="post-metadata">

### Author: ![Laurent\_Sansonetti1](https://avatars.discourse-cdn.com/v4/letter/l/4af34b/32.png) [@Laurent\_Sansonetti1](https://rubytalk.org/u/Laurent_Sansonetti1)
#### Post date: [19 March 2005 17:41 UTC](https://rubytalk.org/t/paul-graham-recommends-ruby/17033/10 "2005-03-19T17:41:54Z")

</div>

[http://www.artima.com/weblogs/viewpost.jsp?thread=98196](http://www.artima.com/weblogs/viewpost.jsp?thread=98196)

But who cares? 🙂

> **···**
>
> On Sun, 20 Mar 2005 02:35:50 +0900, Navindra Umanee \<navindra@cs.mcgill.ca\> wrote:
> 
> > Christian Neukirchen \<chneukirchen@gmail.com\> wrote:  
> > \> Yeah, but Python 3000 won't have lisp stuff anymore, didn't you read  
> > \> that?
> > 
> > Can you expand on this?
> 
> --  
> Laurent

---

<div class="post-metadata">

### Author: ![Premshree\_Pillai1](https://avatars.discourse-cdn.com/v4/letter/p/ecccb3/32.png) [@Premshree\_Pillai1](https://rubytalk.org/u/Premshree_Pillai1)
#### Post date: [19 March 2005 09:36 UTC](https://rubytalk.org/t/paul-graham-recommends-ruby/17033/11 "2005-03-19T09:36:51Z")

</div>

TCL definitely doesn't qualify as a "cool dynamic language". 🙂

> **···**
>
> On Sat, 19 Mar 2005 18:31:46 +0900, Wai-Sun Chia \<waisun.chia@hp.com\> wrote:
> 
> > I agree. He explicitly stated "Ruby on Linux".
> > 
> > If going by your logic, of "[cool dynamic language here] on \*nix"", I  
> > don't think he'd have meant Tcl on Dynix[1]??? Or Lua on QNX?
> 
> --  
> Premshree Pillai
> 
> > **[Premshree's (品速力) Personal Weblog](https://premshree.livejournal.com/)**
> >
> > etc.

---

<div class="post-metadata">

### Author: ![vruz](https://avatars.discourse-cdn.com/v4/letter/v/4bbf92/32.png) [@vruz](https://rubytalk.org/u/vruz)
#### Post date: [19 March 2005 17:47 UTC](https://rubytalk.org/t/paul-graham-recommends-ruby/17033/12 "2005-03-19T17:47:34Z")

</div>

I believe it's just a matter of time for Paul Graham to say something  
about P3k getting 'unlisped'

> **···**
>
> > \> Christian Neukirchen \<chneukirchen@gmail.com\> wrote:  
> > \> \> Yeah, but Python 3000 won't have lisp stuff anymore, didn't you read  
> > \> \> that?  
> > \>  
> > \> Can you expand on this?  
> > \>
> > 
> > [The fate of reduce() in Python 3000](http://www.artima.com/weblogs/viewpost.jsp?thread=98196)
> > 
> > But who cares? 🙂

---

<div class="post-metadata">

### Author: ![Navindra\_Umanee](https://avatars.discourse-cdn.com/v4/letter/n/d78d45/32.png) [@Navindra\_Umanee](https://rubytalk.org/u/Navindra_Umanee)
#### Post date: [19 March 2005 18:26 UTC](https://rubytalk.org/t/paul-graham-recommends-ruby/17033/13 "2005-03-19T18:26:12Z")

</div>

Ruby was a language that was designed and inspired from other  
languages... It's interesting to know what others think and how other  
languages are evolving.

Ruby blocks are just syntactic sugar for a special-case lambda. Ruby  
doesn't support generic lambda half as cleanly, as say, Scheme. What  
seems to be happening in the case of Python is that syntactic sugar is  
being added to do what people used to do with lambda and so support  
for the later is being removed.

Guido makes some good points... For example, I don't know about you,  
but I always have trouble with non-trivial reduces as well.

Cheers,  
Navin.

> **···**
>
> Laurent Sansonetti \<laurent.sansonetti@gmail.com\> wrote:
> 
> > [The fate of reduce() in Python 3000](http://www.artima.com/weblogs/viewpost.jsp?thread=98196)
> > 
> > But who cares? 🙂

---

<div class="post-metadata">

### Author: ![Michael\_Campbell](https://avatars.discourse-cdn.com/v4/letter/m/b5a626/32.png) [@Michael\_Campbell](https://rubytalk.org/u/Michael_Campbell)
#### Post date: [20 March 2005 01:14 UTC](https://rubytalk.org/t/paul-graham-recommends-ruby/17033/14 "2005-03-20T01:14:10Z")

</div>

From that article:

"filter(P, S) is almost always written clearer as [x for x in S if P(x)]"

Wow. He and I clearly have different views of "clear".

> **···**
>
> On Sun, 20 Mar 2005 02:41:54 +0900, Laurent Sansonetti \<laurent.sansonetti@gmail.com\> wrote:
> 
> > On Sun, 20 Mar 2005 02:35:50 +0900, Navindra Umanee \> \<navindra@cs.mcgill.ca\> wrote:  
> > \> Christian Neukirchen \<chneukirchen@gmail.com\> wrote:  
> > \> \> Yeah, but Python 3000 won't have lisp stuff anymore, didn't you read  
> > \> \> that?  
> > \>  
> > \> Can you expand on this?  
> > \>
> > 
> > [The fate of reduce() in Python 3000](http://www.artima.com/weblogs/viewpost.jsp?thread=98196)
> > 
> > But who cares? 🙂

---

<div class="post-metadata">

### Author: ![gabriele\_renzi5](https://avatars.discourse-cdn.com/v4/letter/g/e79b87/32.png) [@gabriele\_renzi5](https://rubytalk.org/u/gabriele_renzi5)
#### Post date: [19 March 2005 12:24 UTC](https://rubytalk.org/t/paul-graham-recommends-ruby/17033/15 "2005-03-19T12:24:51Z")

</div>

Premshree Pillai ha scritto:

> **···**
>
> > On Sat, 19 Mar 2005 18:31:46 +0900, Wai-Sun Chia \<waisun.chia@hp.com\> wrote:
> > 
> > > I agree. He explicitly stated "Ruby on Linux".
> > > 
> > > If going by your logic, of "[cool dynamic language here] on \*nix"", I  
> > > don't think he'd have meant Tcl on Dynix[1]??? Or Lua on QNX?
> > 
> > TCL definitely doesn't qualify as a "cool dynamic language". 🙂
> 
> you're underestimating tcl, it is a \*strange\* language but it is in the end a powerful one, being homoiconic and such..  
> I can say tcl will see, in the third quarter of 2005, a grow in momentum when it gets to the market.
> 
> Ok, I'm becoming addicted to this:  
> [http://buzz.research.yahoo.com/bk/market/market.html?\_mid=7440](http://buzz.research.yahoo.com/bk/market/market.html?_mid=7440)

---

<div class="post-metadata">

### Author: ![Anonymous\_Coward](https://avatars.discourse-cdn.com/v4/letter/a/94ad74/32.png) [@Anonymous\_Coward](https://rubytalk.org/u/Anonymous_Coward)
#### Post date: [19 March 2005 18:35 UTC](https://rubytalk.org/t/paul-graham-recommends-ruby/17033/16 "2005-03-19T18:35:41Z")

</div>

In data 3/19/2005, "Navindra Umanee" \<navindra@cs.mcgill.ca\> ha scritto:

> > [The fate of reduce() in Python 3000](http://www.artima.com/weblogs/viewpost.jsp?thread=98196)
> > 
> > But who cares? 🙂
> 
> Ruby was a language that was designed and inspired from other  
> languages... It's interesting to know what others think and how other  
> languages are evolving.
> 
> Ruby blocks are just syntactic sugar for a special-case lambda. Ruby  
> doesn't support generic lambda half as cleanly, as say, Scheme. What  
> seems to be happening in the case of Python is that syntactic sugar is  
> being added to do what people used to do with lambda and so support  
> for the later is being removed.
> 
> Guido makes some good points... For example, I don't know about you,  
> but I always have trouble with non-trivial reduces as well.

We need eta-reduction in Ruby! 🙂

> Cheers,  
> Navin.

E

> **···**
>
> > Laurent Sansonetti \<laurent.sansonetti@gmail.com\> wrote:

---

<div class="post-metadata">

### Author: ![Joao\_Pedrosa](https://avatars.discourse-cdn.com/v4/letter/j/e56c9b/32.png) [@Joao\_Pedrosa](https://rubytalk.org/u/Joao_Pedrosa)
#### Post date: [19 March 2005 18:41 UTC](https://rubytalk.org/t/paul-graham-recommends-ruby/17033/17 "2005-03-19T18:41:01Z")

</div>

Hi,

> **···**
>
> On Sun, 20 Mar 2005 03:26:12 +0900, Navindra Umanee \<navindra@cs.mcgill.ca\> wrote:
> 
> > Laurent Sansonetti \<laurent.sansonetti@gmail.com\> wrote:  
> > \> [The fate of reduce() in Python 3000](http://www.artima.com/weblogs/viewpost.jsp?thread=98196)  
> > \>  
> > \> But who cares? 🙂
> > 
> > Ruby was a language that was designed and inspired from other  
> > languages... It's interesting to know what others think and how other  
> > languages are evolving.
> > 
> > Ruby blocks are just syntactic sugar for a special-case lambda. Ruby  
> > doesn't support generic lambda half as cleanly, as say, Scheme. What  
> > seems to be happening in the case of Python is that syntactic sugar is  
> > being added to do what people used to do with lambda and so support  
> > for the later is being removed.
> > 
> > Guido makes some good points... For example, I don't know about you,  
> > but I always have trouble with non-trivial reduces as well.
> 
> I love taking a cheap shot at Python. 🙂
> 
> I made this post on TheServerSide:
> 
> > **[TheServerSide | Your Java Community discussing server side development](https://www.theserverside.com/)**
> >
> > Java developers discussing Java J2EE, java software, Java programming and other trends in server side development
> 
> Yay!
> 
> Cheers,  
> Joao

---

<div class="post-metadata">

### Author: ![Christian\_Neukirche1](https://avatars.discourse-cdn.com/v4/letter/c/ee7513/32.png) [@Christian\_Neukirche1](https://rubytalk.org/u/Christian_Neukirche1)
#### Post date: [19 March 2005 18:51 UTC](https://rubytalk.org/t/paul-graham-recommends-ruby/17033/18 "2005-03-19T18:51:06Z")

</div>

Navindra Umanee \<navindra@cs.mcgill.ca\> writes:

> > [The fate of reduce() in Python 3000](http://www.artima.com/weblogs/viewpost.jsp?thread=98196)
> > 
> > But who cares? 🙂
> 
> Ruby was a language that was designed and inspired from other  
> languages... It's interesting to know what others think and how other  
> languages are evolving.
> 
> Ruby blocks are just syntactic sugar for a special-case lambda. Ruby

Care to elaborate? What's lacking?

> doesn't support generic lambda half as cleanly, as say, Scheme. What

You cannot do lambda{|x|x\*2}(2), yes.

> seems to be happening in the case of Python is that syntactic sugar is  
> being added to do what people used to do with lambda and so support  
> for the later is being removed.

Python's lambda was broken anyway (only one expression allowed) and  
the "closures" didn't seem to deserve that name from what I recall.  
Still, in some cases it can't be easily removed (e.g. GUI callbacks)  
without losing functionality. But IANAP.

> Guido makes some good points... For example, I don't know about you,  
> but I always have trouble with non-trivial reduces as well.

If they are written in a half-way sane style, I usually don't.  
And often, the fold is easier to read than the expanded version.

I don't care what methods Guido drops and whatnot. After all, you  
still can write your own map, filter and reduce. But when you drop  
lambdas and any way to closure (from what I have read, inner functions  
can't access outer variables), it's more than a dumb move IMO.

\<troll\>I, for one, welcome our new indented Java.\</troll\>  
(Yes, Java has inner classes.)

> **···**
>
> > Laurent Sansonetti \<laurent.sansonetti@gmail.com\> wrote:
> 
> > Cheers,  
> > Navin.
> 
> --  
> Christian Neukirchen \<chneukirchen@gmail.com\> [http://chneukirchen.org](http://chneukirchen.org)

---

<div class="post-metadata">

### Author: ![Christian\_Neukirche1](https://avatars.discourse-cdn.com/v4/letter/c/ee7513/32.png) [@Christian\_Neukirche1](https://rubytalk.org/u/Christian_Neukirche1)
#### Post date: [20 March 2005 10:37 UTC](https://rubytalk.org/t/paul-graham-recommends-ruby/17033/19 "2005-03-20T10:37:14Z")

</div>

Michael Campbell \<michael.campbell@gmail.com\> writes:

> > \> \> Yeah, but Python 3000 won't have lisp stuff anymore, didn't you read  
> > \> \> that?  
> > \>  
> > \> Can you expand on this?  
> > \>
> > 
> > [The fate of reduce() in Python 3000](http://www.artima.com/weblogs/viewpost.jsp?thread=98196)
> > 
> > But who cares? 🙂
> 
> From that article:
> 
> "filter(P, S) is almost always written clearer as [x for x in S if P(x)]"

And S.find\_all { |x| P(x) } is even more readable. 🙂  
(What happened to the S.find\_all &😛 idea, btw?)

> Wow. He and I clearly have different views of "clear".

Good for you. 🙂

> **···**
>
> > On Sun, 20 Mar 2005 02:41:54 +0900, Laurent Sansonetti \> \<laurent.sansonetti@gmail.com\> wrote:
> > 
> > > On Sun, 20 Mar 2005 02:35:50 +0900, Navindra Umanee \>\> \<navindra@cs.mcgill.ca\> wrote:  
> > > \> Christian Neukirchen \<chneukirchen@gmail.com\> wrote:
> 
> --  
> Christian Neukirchen \<chneukirchen@gmail.com\> [http://chneukirchen.org](http://chneukirchen.org)

---

<div class="post-metadata">

### Author: ![tony\_summerfelt](https://avatars.discourse-cdn.com/v4/letter/t/b9bd4f/32.png) [@tony\_summerfelt](https://rubytalk.org/u/tony_summerfelt)
#### Post date: [20 March 2005 19:07 UTC](https://rubytalk.org/t/paul-graham-recommends-ruby/17033/20 "2005-03-20T19:07:25Z")

</div>

i dunno, i think:

pack [button .b -text "quit" -command{exit}]

is pretty cool.

if i need a quickie gui tool for anything (or platform) i turn to  
tcl/tk time and again. of course it's the 'tk' part that makes tcl  
really useful.  
[http://home.cogeco.ca/~tsummerfelt1](http://home.cogeco.ca/~tsummerfelt1)  
telnet://ventedspleen.dyndns.org

> **···**
>
> On Sat, 19 Mar 2005 18:36:51 +0900, you wrote:
> 
> > TCL definitely doesn't qualify as a "cool dynamic language". 🙂

[Next page](https://rubytalk.org/t/paul-graham-recommends-ruby/17033.md?page=2)
