From: Costan on
Hi all,
I'm trying to choose between Ruby of Python as almost my first
programming language (I started more that 10 years ago to study
Computer Science but I changed major). The reason is that I want to
create an application (I'll create a start-up with more people later
on) that is very demanding in semantic search capabilities and
creating lots of theory-like relations... I heard that ruby could have
some advantages over Python in how manages language... This was
discussed though... Is there anyone there that can answer this with
concrete arguments? Why do you think it is or it is not?

Forget about the following question if it sounds too cumbersome: I
heard the word 'prototype' in the same conversation about Ruby and
natural language and I wondered if it could have anything to do with
the Rosch's theory about how concepts and categories work. Does it?


Thanks a lot in advance,

Costan
From: Eric I. on
Hi Costan,

On Fri, Jul 4, 2008 at 3:37 PM, Costan <CMValma(a)gmail.com> wrote:
> I'm trying to choose between Ruby of Python as almost my first
> programming language (I started more that 10 years ago to study
> Computer Science but I changed major). The reason is that I want to
> create an application (I'll create a start-up with more people later
> on) that is very demanding in semantic search capabilities and
> creating lots of theory-like relations... I heard that ruby could have
> some advantages over Python in how manages language... This was
> discussed though... Is there anyone there that can answer this with
> concrete arguments? Why do you think it is or it is not?

Your description is not clear enough for me to say whether Ruby would
have any natural advantage over Python. Both are dynamically typed
which *might* be helpful to your needs.

> Forget about the following question if it sounds too cumbersome: I
> heard the word 'prototype' in the same conversation about Ruby and
> natural language and I wondered if it could have anything to do with
> the Rosch's theory about how concepts and categories work. Does it?

I'm familiar with Eleanor Rosch's thoughts on categories (and I
believe she made a very good case for them!), and I can say pretty
definitively there is no relation. It's also a little unclear what
meaning of "prototype" you heard in your discussion about Ruby. It
could refer to a JavaScript library (often used with a Rails web app),
or a technique of object-oriented programming (used in the JavaScript
language and which Ruby can mimic to some degree), or that Ruby, being
a dynamically typed language, is very nice for prototyping software
ideas with. But no matter which meaning you were referring to, it's
pretty different from what Rosch was talking about.

I hope that helps,

Eric

====

LearnRuby.com offers Rails & Ruby HANDS-ON public & ON-SITE workshops.
Please visit http://LearnRuby.com for all the details.

From: Costan on
On Jul 5, 3:11 pm, Marc Heiler <sheve...(a)linuxmail.org> wrote:
> > The reason is that I want to create an application [...]
> > that is very demanding in semantic search capabilities
> > and creating lots of theory-like relations.
>
> Sounds highly advanced :D
>
> I am not sure what differences you expect, because ruby and python are
> after all very, very similar. Python has probably a small advantage
> concerning speed and projects using it than ruby ("being more
> established").
>
> Ruby's OOP structure is a lot more natural, and being able to omit ()
> makes the code a LOT more readable too, IMHO.
>
>   cat.meow_how(:furiously).then.attack 'johnny the dog'
>
> Granted this looks somewhat weird but python will only look more weird
> IF one does this but in python one must carry the () and use explicit
> "self".
>
> But to be honest really, both are very similar.
>
> The biggest difference is that Python emphasizes on rules,
> and Ruby emphasizes on fun. ;)
> --
> Posted viahttp://www.ruby-forum.com/.


Thanks a lot Eric, Dave and Mark,

I found the text that made me think of Ruby as having some advantages
for semantic processing: " I will probably still fall back on Ruby for
text-processing scripts as its always been stellar for those kinds of
tasks" (in http://blog.cbcg.net/articles/2007/04/22/python-up-ruby-down-if-that-runtime-dont-work-then-its-bound-to-drizzown).
But reading your answers it seems there's no real advantage for this
particular purpose so that guy must be wrong...

I still will need to investigate more or just try both to decide which
one fits better my needs. I don't know what you meant by "fun" and
"beautiful" and although the Ruby's there's-more-than-one-way-to-do-it
sounds like more things to remember and more time needed to learn it
and also like giving freedom to users-programmers because the author
lack the clarity on what is the best way to do it, I'm really
intrigued and attracted by those "fun" and "beautiful" words (could it
be related with what I read in Why's manual that the language should
make you improve the way you think? Or perhaps this is truth for
several languages like Python.

In any case, if there is something I'm finding clearly attractive
about Ruby is the honesty and friendly support and of its community.

Warm regars,

Costan :)

P.s Eric, I can't found where I read about prototype but it seems also
clear that I was just interpreting the words with my own concepts.
Thanks again for the clarification.
From: SHINDO Motoaki on
Hi…

On 2008/07/06, at 14:51, Robert Klemme wrote:

> On 06.07.2008 02:02, Costan wrote:
> Not necessarily: when we talk about "text processing" we usually refer
> to symbolic transformations on text files

Let me add one thing here;
I've heard in Ruby library established Lexical Parser(s),
which could do nothing for Semantics, but
the latter part must be the pleasure part of Costan-san.
And the Parser would do trivial things in helping him.

I mean
Lexical Parser is Off-the-Shelf subroutines or subjects to Costan-san;
Semantics Parser could be built on top of the Lexical Parser.

for Python, I know nothing. Sorry…


=============================
I'm the One of Sad&Mad.

Shindo Motoakira
<motoakira(a)mac.com>
=============================








From: Costan on
On Jul 6, 3:41 pm, SHINDO Motoaki <motoak...(a)mac.com> wrote:
> Hi…
>
> On 2008/07/06, at 14:51, Robert Klemme wrote:
>
> > On 06.07.2008 02:02, Costan wrote:
> > Not necessarily: when we talk about "text processing" we usually refer
> > to symbolic transformations on text files
>
> Let me add one thing here;
> I've heard in Ruby library established Lexical Parser(s),
> which could do nothing for Semantics, but
> the latter part must be the pleasure part of Costan-san.
> And the Parser would do trivial things in helping him.
>
> I mean
> Lexical Parser is Off-the-Shelf subroutines or subjects to Costan-san;
> Semantics Parser could be built on top of the Lexical Parser.
>
> for Python, I know nothing. Sorry…
>
> =============================
>    I'm the One of Sad&Mad.
>
>          Shindo  Motoakira
>     <motoak...(a)mac.com>
> =============================

Hi Shindo-san,

I'm not sure I have understood you correctly but I guess the main
message is that there's built-in lexical parser in Ruby but that I'll
still have to find out how does it work and if this is something that
differentiates Ruby from other programming languages like Python.
Anyway it seems it is kind of hard to have a general comparative
theory of programming languages (research in programming language
theory dates from 2006 AFAIK) and/or that I will need to delve for
some time with any programming language I choose to check the
advantages. The point then is how long should I invest in learning a
language before I decide someone is the appropriate person to take
technical decisions...

Thanks Shindo-san :)

Costan