Porting a Rails app to Lift - (Interesting)

This is worth a read:
http://blog.lostlake.org/index.php?/archives/45-A-real-world-use-of-lift.html

Resposes by DPP to questions on LtU
http://lambda-the-ultimate.org/node/2147#comment-27065
http://lambda-the-ultimate.org/node/2147#comment-27135

Mark

Mark wrote:

This is worth a read:
http://blog.lostlake.org/index.php?/archives/45-A-real-world-use-of-lift.html

I’m really trying to keep an open mind here, but is there anyone with me
that that Scala code is anything but intuitive and idiomatic?

Roderick

Michael W. wrote:

So yeah, there’s a “crypticness” to it to those unfamiliar with the
language whereas Ruby seems much more understandable without being
verbose to those who aren’t familiar with the language as DHH has
demonstrated in the past.

I, for one, did NOT find this to be the case… and I sure see a lot of
confused people on this list.

Ruby is just a programming language. Yes, it gives you some great
syntactic sugar and terseness. But there will still be things that take
some figuring out. Hell, I’ve seen some stuff in rails code that would
give Perl a run for its “crypticness”.

Sorry, but I just think this “oh it reads just like English” stuff is a
bunch of hooey. Reads like stilted, oddball English is more like it…
and English that if you get one thing wrong, just doesn’t do what you
want.

b

bunch of hooey. Reads like stilted, oddball English is more like it…
and English that if you get one thing wrong, just doesn’t do what you
want.

So, just to get this straight: you’re complaining that a programming
language acts like… a programming language. You can’t change the fact
that syntax errors are syntax errors… and adding in too many aliases,
etc., will just make the language huge and bloated.

It does read more like English than any other programming language I’ve
used… but making it read exactly like English would be a horrible
idea.
Talk to a semanticist or linguist some time and ask them how well
structured
of a language English is. The point of a programming language is the
ability to get your point across and tell the machine exactly what you
want
it to do. The more general you allow the programmers to be, the slower
the
language as it has to deal with more and more branching paths while
interpreting.

So: Ruby is a great balance. It takes all the stupid, horrible crap
that is
English, and all the stupid, horrible crap that is programming logic,
and
walks a damn fine line down the middle of them. No one (or at least, no
one
who knows what they’re talking about) is trying to say that it reads
like
the English you speak… just that it’s as close as it can get to that
without completely bloating the language to death.

Sorry, had to get that off my chest; I’ve heard a lot of people making
the
particular statement you did recently, and this seemed like an
appropriate
place to bite back. Nothing personal at all.

On 3/29/07, Luke I. [email protected] wrote:

bunch of hooey. Reads like stilted, oddball English is more like it…

is English, and all the stupid, horrible crap that is programming logic, and

E.G.:

Very much like English:

4.days.ago

Not as much like English, but extremely readable with only the basics of
programming logic:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10].select {|x| x % 2 == 0}

and you can generate an English sentance from the syntax: “For this
array,
select objects where that object is even”

This is what we mean when we say “no other language comes as close to
English”.

Jason

Roderick van Domburg wrote:

Mark wrote:

This is worth a read:
http://blog.lostlake.org/index.php?/archives/45-A-real-world-use-of-lift.html

I’m really trying to keep an open mind here, but is there anyone with me
that that Scala code is anything but intuitive and idiomatic?

I think some of that comes from the fact that Scala can be written using
its functional style so you get things like:

def While (p: => boolean) (s: => unit): unit =
if (p) { s ; While(p)(s) }

It also supports Erlang-style actors so you get things like:

if (bid >= maxBid + bidIncrement) {
if (maxBid >= minBid) maxBidder ! BeatenOffer(bid)
maxBid = bid; maxBidder = client; client ! BestOffer
} else {
client ! BeatenOffer(maxBid)
}

So yeah, there’s a “crypticness” to it to those unfamiliar with the
language whereas Ruby seems much more understandable without being
verbose to those who aren’t familiar with the language as DHH has
demonstrated in the past.


Michael W.

At first blush, Scala seems to have more punctuators than does Ruby,
which is
a bit distracting coming from Ruby. I’ve just had to do some maintenance
work on a PHP site, and one of the biggest sources of typos was frikken
punctuators. Ack!

The question I would ask is this: Does Scala derive its “goodness” from
its
type-safety or its ability to compile to bytecode? If the latter, then
JRuby
may be great news. If the former, the question is: How come?

On a different subject, I don’t completely buy “the compiler is your
friend”
argument with respect to static type-checking. I’ve programmed in both
statically and dynamically typed languages and the defect rate (at least
for
me) is actually lower in dynamically typed languages. I believe the
reason
is that static typing requires programmers to make assumptions
regarding
type and often size of data the language can easily infer. In fact, the
interpreters (Python, Ruby, et. al.) seem to do a better job than I do
at
this. YMMV.

The issue for me is not threading, per-se, but rather concurrency and
re-entrance no matter how they is achieved. I’d prefer not to be
required to
make assumptions about how many Mongrels I’ll need. Any implementation
of
re-entrant code could help relieve me of that. To me, that’s the most
likely
way to put Rails on rocket fuel.

Jason R. wrote:

that syntax errors are syntax errors… and adding in too many aliases,
the
without completely bloating the language to death.


View this message in context:
http://www.nabble.com/Porting-a-Rails-app-to-Lift---(Interesting)-tf3485240.html#a9742267
Sent from the RubyOnRails Users mailing list archive at Nabble.com.

On 3/29/07, Luke I. [email protected] wrote:

It does read more like English than any other programming language I’ve
used… but making it read exactly like English would be a horrible idea.

That way lies madness.

Also, AppleScript.

:wink:

J.

Luke I. wrote:

and English that if you get one thing wrong, just doesn't do what

It does read more like English than any other programming language I’ve
logic, and walks a damn fine line down the middle of them. No one (or
at least, no one who knows what they’re talking about) is trying to say
that it reads like the English you speak… just that it’s as close as
it can get to that without completely bloating the language to death.

Sorry, had to get that off my chest; I’ve heard a lot of people making
the particular statement you did recently, and this seemed like an
appropriate place to bite back. Nothing personal at all.

Heh. That’s funny. I wrote my post because I had seen so many people
talk about how Ruby is superior because it’s more like English… and I
have seen a lot of talk about how Ruby and Rails make it so easy to whip
out apps. It is… if (just like any tool) you know what you’re doing.

I think Ruby and Rails are great… but there are plenty of difficult
concepts in both that take some learning. I think the level of confusion
that I’ve seen on this list for over a year now is ample illustration of
that.

No I don’t expect a programming language to read like English… that
was exactly my point. Why then is reading more like English a supposedly
good thing? Making a language read more like English is accomplished
through syntactic sugar and magic; magic always comes at the cost of
additional cerebral load.

Once again… I love Ruby and Rails… I am simply quibbling with what I
see as a common, mindless argument for championing Ruby and Rails. There
is plenty of better ammo.

But I’m also falling back into my reflexive posting of my contrary
opinions… which doesn’t really forward anyone’s knowledge… and is
really just as lame as saying “oooh, Ruby’s great cuz you can say
4.days.from.now”… so it’s back into my hole with me. :slight_smile:

b

The syntax of that language just reminds me way to much of lisp to
think it could be usefull.

Thats why I love ruby. It has all the features I want from lisp and
combines them into a (usually) comprehensible language.