Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > perspective on ruby

Reply
Thread Tools

perspective on ruby

 
 
RK
Guest
Posts: n/a
 
      04-20-2006
I apologize if this is a stupid question, I'm asking Python group for
perspective on Ruby, but I don't see how the alternative of going to a
ruby group for a perspective on Ruby is going to do me any good...

I just unpacked and tried out InstantRails, after turning off the
local Plone stack.

Looking over the IR stack, making the required hacks to the examples,
looking at all it's pieces(including some of the more powerful PHP
support mixed in), looking at the shipped examples, I had to marvel
again at how far behind these folks are compared to something like
Zope. They are 10 years behind an integrated platform like that.

I just don't get it. The scripted object-oriented clean programming
language is done.

I'm more than willing to supprt RoR if it's being sold as the popular
alternative to .NET programming, which it is in some CS curriculum
(where Java being thrown out).

But, all those "END"s are getting on my nerves.

Thx

 
Reply With Quote
 
 
 
 
BartlebyScrivener
Guest
Posts: n/a
 
      04-20-2006
RK,

I always liked this Martelli post, which I found by searching on Ruby
early on when I was still trying to decide to learn Python or Ruby. For
a mere hobbyist doing both is out of the question:

http://groups.google.com/group/comp....8422d707512283

If you want more just search on "ruby" in comp.lang.python or "python"
in comp.lang.ruby

That should cover it.

rick

"A language is a dialect with an army and navy." --Max Weinrich

 
Reply With Quote
 
 
 
 
Edward Elliott
Guest
Posts: n/a
 
      04-20-2006
RK wrote:
> I just don't get it. The scripted object-oriented clean programming
> language is done.


Nothing's ever done except LISP. There's always room for experimentation
and improvement.

> I'm more than willing to supprt RoR if it's being sold as the popular
> alternative to .NET programming, which it is in some CS curriculum
> (where Java being thrown out).


Switching to Java for CS was a tremendous blunder. Students need to
understand low-level resource management. They need to learn to think in
more than 1 programming paradigm that shoehorns everything into objects
(ok, java has generics now. if you squint really hard. sort of). One
course in C++ doesn't cut it, the curriculum should either use different
languages fitted to each task or emphasize a single language with broad
abilities (picking the best programming model for each task). Java is
****-poor for most undergraduate classes (I've taught several). C++ isn't
perfect but it is pretty good, warts and all (some warts make good learning
experiences).

Note that I'm talking about teaching languages. Outside the classroom my
choices would be completely different.

Sorry, I don't know anything about Ruby on Rails. The fact that even
numeric literals are objects make me suspicious of Ruby as a
general-purpose language though.
 
Reply With Quote
 
Peter Otten
Guest
Posts: n/a
 
      04-20-2006
Edward Elliott wrote:

> The*fact*that*even numeric literals are objects make me suspicious of Ruby
> as a general-purpose language though.


>>> add_one = 1 .__add__
>>> add_one(42)

43

Just in case you didn't know...

Peter

 
Reply With Quote
 
Edward Elliott
Guest
Posts: n/a
 
      04-20-2006
Peter Otten wrote:
> Edward Elliott wrote:
>>The fact that even numeric literals are objects make me suspicious of Ruby
>>as a general-purpose language though.

>
>>>>add_one = 1 .__add__

>
> Just in case you didn't know...


True enough, but I don't often see Python code treating numbers as objects.
In Ruby it's right in the tutorials. Which may be fine; I'm not
discounting Ruby, I'm just cautious.
 
Reply With Quote
 
Alex Martelli
Guest
Posts: n/a
 
      04-21-2006
Edward Elliott <nobody@127.0.0.1> wrote:
...
> course in C++ doesn't cut it, the curriculum should either use different
> languages fitted to each task or emphasize a single language with broad
> abilities (picking the best programming model for each task). Java is


The only "single language" I could see fitting that role is Mozart,
deliberately designed to be SUPER-multi-paradigm -- not even Lisp and
Scheme (the only real competition) can compare.

While Mozart appears cool, I really think that a wider variety of
languages would help -- some machine code (possibly abstract a la
Mixal), C (a must, *SO* much is written in it!), at least one of C++, D,
or ObjectiveC, either Scheme or Lisp, either *ML or Haskell, either
Python or Ruby, and at least one "OOP-only" language such as Java, C#,
Eiffel, or Smalltalk. For a tipycal CS bachelor course, a set of over
half a dozen languages might be overkill, admittedly (particularly
because these are just the "general purpose" languages -- you no doubt
also want to present XML and friends, possibly XSLT, definitely SQL, and
several other *special*-purpose language classes, too....!!!); too much
time would end up devoted to semirelevant syntax differences...

> Note that I'm talking about teaching languages. Outside the classroom my
> choices would be completely different.


Absolutely, I'm thinking about CS courses specifically -- for science
and engineering courses, I'd have much different sets (yes, Virginia,
there ARE fields where you still absolutely need to know Fortran!-), for
humanities and soft-sciences other ones yet, and the real world is a
different (and frightening sort of place!-)


Alex

 
Reply With Quote
 
Edward Elliott
Guest
Posts: n/a
 
      04-21-2006
Alex Martelli wrote:
> The only "single language" I could see fitting that role is Mozart,
> deliberately designed to be SUPER-multi-paradigm -- not even Lisp and
> Scheme (the only real competition) can compare.


Don't know Mozart. After 5 minutes of googling, it looks like strictly a
high-level language. Features like network transparency are jumping the
gun for undergrads. But it has potential.

> While Mozart appears cool, I really think that a wider variety of
> languages would help -- some machine code (possibly abstract a la
> Mixal), C (a must, *SO* much is written in it!), at least one of C++, D,
> or ObjectiveC, either Scheme or Lisp, either *ML or Haskell, either
> Python or Ruby, and at least one "OOP-only" language such as Java, C#,
> Eiffel, or Smalltalk.


Yeah I agree that more is better. The problem is using a new language
every couple courses without bogging down in implementation details.
Personally I'd just say "Here's a book, learn it yourself". It's what they
gotta do on the job anyway.

> For a tipycal CS bachelor course, a set of over
> half a dozen languages might be overkill, admittedly (particularly
> because these are just the "general purpose" languages -- you no doubt
> also want to present XML and friends, possibly XSLT, definitely SQL, and
> several other *special*-purpose language classes, too....!!!); too much
> time would end up devoted to semirelevant syntax differences...


Here's where I disagree. XML? Conceptually (and more elegantly) covered
as LISP s-expressions. XSLT? Just a bastardized spawn of Prolog. SQL
will be covered in databases. My problem with most domain-specific
languages is 1) they're usually too applied for a teaching environment and
2) they're easy to pick up once you master general programming concepts.
The one exception that's really invaluable is regular expressions, but
those are universal enough they get covered elsewhere.

> Absolutely, I'm thinking about CS courses specifically -- for science
> and engineering courses, I'd have much different sets (yes, Virginia,
> there ARE fields where you still absolutely need to know Fortran!-), for
> humanities and soft-sciences other ones yet, and the real world is a
> different (and frightening sort of place!-)


Yep, I hate how schools lump the CS majors and science majors into one
intro programming course. They both need to learn basic programming
concepts, but the majors need to understand implementation while the
non-majors need productivity. I'd put the majors on something like C and
the non-majors on Python (or Fortran if need be). But that won't fly
because non-majors who convert would have to retake the class. So maybe
put them both on Python and switch languages for the second course.
Rougher for the majors, but there's little reason for non-majors to know
C/C++/Java/Pascal. Scheme is an interesting option, I'm not sure how that
would work out.
 
Reply With Quote
 
Lawrence D'Oliveiro
Guest
Posts: n/a
 
      04-21-2006
In article <dpQ1g.12815$ >,
Edward Elliott <nobody@127.0.0.1> wrote:

>The fact that even
>numeric literals are objects make me suspicious of Ruby as a
>general-purpose language though.


Isn't Python going that way?
 
Reply With Quote
 
Dave Benjamin
Guest
Posts: n/a
 
      04-21-2006
On Thu, 20 Apr 2006, Alex Martelli wrote:

> Edward Elliott <nobody@127.0.0.1> wrote:
> ...
>> course in C++ doesn't cut it, the curriculum should either use different
>> languages fitted to each task or emphasize a single language with broad
>> abilities (picking the best programming model for each task). Java is

>
> The only "single language" I could see fitting that role is Mozart,
> deliberately designed to be SUPER-multi-paradigm -- not even Lisp and
> Scheme (the only real competition) can compare.


I agree that Mozart/Oz is probably the most ambitiously multi-paradigm
language out there, and anyone interested in some real mind expansion
should really check out the excellent book, "Concepts, Techniques, and
Models of Computer Programming" by Peter Van Roy and Seif Haridi.

However, my impression of Mozart/Oz so far can be summed up like this:
"You can have any paradigm you want, as long as it's concurrent". The
degree to which out-parameters are used (in the form of "dataflow
variables") is very unusual for OO or FP, and this is a source of both
amazement and confusion for me. It's clearly possible to program in many
styles, but you still need to adapt your thinking to the Mozart way.

Also worth a mention is Alice ML, which runs on the Mozart system but is
statically typed, type-inferred, very similar to SML but with concurrency
support (lazies and futures), typesafe marshalling, and "packages", which
allow for dynamically-typed interfaces between modules.

--
.:[ dave benjamin -( ramen/sp00 )- http://spoomusic.com/ ]:.
"one man's constant is another man's variable" - alan perlis
 
Reply With Quote
 
Lawrence D'Oliveiro
Guest
Posts: n/a
 
      04-22-2006
In article <w1_1g.73947$> ,
Edward Elliott <nobody@127.0.0.1> wrote:

>XML? Conceptually (and more elegantly) covered
>as LISP s-expressions.


"...Lisp is still #1 for key algorithmic techniques such as recursion
and condescension."
-- Verity Stob
<http://www.regdeveloper.co.uk/2006/01/11/exception_handling/>

>XSLT? Just a bastardized spawn of Prolog.


As is any kind of pattern matching, including everyone's favourite
regular expressions. Prolog did it all.
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
how to restore the original perspective in eclipse david wolf Java 2 12-10-2012 09:20 AM
Ruby vs. Groovy: your perspective Diego Virasoro Ruby 43 06-06-2009 02:51 PM
Perspective transform on glyphs? daniel.w.gelder@gmail.com Java 0 01-02-2006 08:55 AM
[BLOG] A different perspective on Ruby. ES Ruby 44 05-30-2005 06:38 AM
Any Eclipse equivalent to WSAD server perspective? Jay Eckles Java 1 02-19-2004 08:39 AM



Advertisments
 



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57