[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Scripting language takes a silicon turn
- From: Jeff Sheets <jeff.sheets@...>
- Date: Thu, 26 Jan 2006 09:12:46 -0600
On Thu, 2006-01-26 at 14:39 +0000, Stephen Kellett wrote:
> In message <20060125233455.M66414@mirametrics.com>, mnewberry
> <mnewberry@mirametrics.com> writes
> >easily accepted Lua will be. Just making syntactic sugar for -- and !- or
> >maybe {} for "then" seems to me to be the kinds of things that make Lua far
> >more palatable without really changing the architecture and capabilities of
>
> Indeed. The Ruby guys realized this early on. They deliberately added
> things to make Perl users feel at home and other things just for ease of
> use. I think failing to address the "syntactic sugar" issues raised in
> this thread will slow the uptake of Lua.
>
> Its not as if the two main issues (!= and //) will change the language
> to any great degree but it will smooth a lot of the awkward, stupid
> mistakes that inevitably get made whilst learning a new language. Real
> mistakes - ones where you are getting your head around a new concept -
> they are great, you are learning, but stupid ones like != are just plain
> annoying.
>
> Stephen
!= and // need no additional context to figure out what they mean. !=
is obviously intended to be "not equal" and nothing else in Lua's
current syntax conflicts with or confuses this. The closest thing to //
would be /, but no additional context is needed to differentiate the
two, one slash is divide, two is a comment. Neither of these is likely
to bother anybody if they get added in. A simple string.gsub pass over
the text of lua code that uses these can also very easily switch them to
"standard" Lua code.
{} for block delimiters, however, clashes violently with {} for table
constructors, and it NEEDS context to determine which is which. The
problem isn't, IMHO, that the parser couldn't be set up to understand
the difference; that would be easy enough for someone familiar with
Lua's parsing system. The problem is with Human Readbility. A few
examples have already been given. Also, string.gsub would not be able to
switch back and forth easily between {} and then/end. Having to do a
double take anytime you see {} is annoying when you're learning Lua,
it'd be annoying if you still had to after learning Lua.
By "learning Lua" I mean specifically, learning lua well enough to be
able to glance at lua code and say without doubt that it's lua code,
instead of C, C++, etc.
--
JJS
"If Ignorance is Bliss, I'll take the Pain."
- References:
- Scripting language takes a silicon turn, Vijay Aswadhati
- Re: Scripting language takes a silicon turn, Chris Marrin
- Re: Scripting language takes a silicon turn, Keith Wiles
- Re: Scripting language takes a silicon turn, Alen Ladavac
- Re: Scripting language takes a silicon turn, Tom Reahard
- Re: Scripting language takes a silicon turn, Brian Weed
- Re: Scripting language takes a silicon turn, Walter Cruz
- Re: Scripting language takes a silicon turn, Ben Sunshine-Hill
- Re: Scripting language takes a silicon turn, Walter Cruz
- Re: Scripting language takes a silicon turn, LEGO
- Re: Scripting language takes a silicon turn, Alen Ladavac
- Re: Scripting language takes a silicon turn, mnewberry
- Re: Scripting language takes a silicon turn, Stephen Kellett