Paul Graham recommends Ruby

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

"... 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.... "

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

"... 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

Hi,

> Paul wrote an article about his recommendations for current
> undergraduate C.S. students. And plugs Ruby while he's at it.
>
> Undergraduation
>
> "... 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. :slight_smile: 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. :slight_smile:

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:

[snip]

> Paul wrote an article about his recommendations for current
> undergraduate C.S. students. And plugs Ruby while he's at it.
>
> Undergraduation
>
> "... 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.

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

"... 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? :slight_smile: *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

[snip]
> > Paul wrote an article about his recommendations for current
> > undergraduate C.S. students. And plugs Ruby while he's at it.
> >
> > Undergraduation
> >
> > "... 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.

:slight_smile:

···

On Sat, 19 Mar 2005 17:21:08 +0900, vruz <horacio.lopez@gmail.com> wrote:

--
Premshree Pillai

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

Heh. But we could always use name dropping. :slight_smile:

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. :slight_smile:

Cheers,
Joao

--
Premshree Pillai

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?

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? :slight_smile:

/wai-sun

http://www.artima.com/weblogs/viewpost.jsp?thread=98196

But who cares? :slight_smile:

···

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

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

···

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

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

But who cares? :slight_smile:

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

But who cares? :slight_smile:

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

But who cares? :slight_smile:

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". :slight_smile:

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

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

The fate of reduce() in Python 3000

But who cares? :slight_smile:

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! :slight_smile:

Cheers,
Navin.

E

···

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

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
>
> But who cares? :slight_smile:

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. :slight_smile:

I made this post on TheServerSide:

Yay!

Cheers,
Joao

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

The fate of reduce() in Python 3000

But who cares? :slight_smile:

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

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

But who cares? :slight_smile:

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. :slight_smile:
(What happened to the S.find_all &:stuck_out_tongue: idea, btw?)

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

Good for you. :slight_smile:

···

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

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
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". :slight_smile: