[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 6502 illegal opcodes questions



mdj wrote:
Michael J. Mahon wrote:


Many years later, I think that the "offside rule" for delimiting
blocks simply by indentation is a very nice approach.  Why on
earth should white space, the most significant characteristic of
text to the human eye, be ignored by most programming languages?


Once you bed down the definition of white space, you've committed the
language to a certain aesthetic form quite unnecessarily. People have
been arguing for *years* over such aestheic issues in most programming
languages without any clear consensus. Perhaps one day we'll reach one,
but beauty being in the eye of the beholder I somewhat doubt it :-)

It isn't about beauty--it's about clarity.  And there are *huge*
payoffs in adopting a standard format for programs--as, indeed,
most serious projects do.

Not everyone likes to spell words the same way, either, but we
don't care what they think--the convention is king.

With proper rules, a program's beauty when expressed in a language
is *precisely* its evident function.

BTW, programmers shouldn't choose names they "like", either.  Naming
should all be within a simple, rigid framework, so that the semantics
of any name are expressed by the identifier.

The lack of widespread adoption of such a convention is a measure of
the immaturity of programming as a discipline.

An interesting language in this regard is Ruby, who's syntax is such
that BOTH whitespace or statement delimiters may be used, depending on
what is felt most appropriate to the developer.

Most "offside" languages also permit explicit brackets.  They are
especially handy in rendering short lists horizontally, like argument
lists or short conditionals.

Actually the first language I've used seriously where carriage returns
are considered statement terminators and I've not immediately disliked
the language. In fact, Ruby allows some beautifully concise code. The
language is so flexible in fact, that you can override almost any facet
of it, in effect making it very simple to construct domain-specific
languages, or sublanguages, to better suit the problem domain. Lots of
fun.

Sounds interesting--I'll take a look at Ruby.

-michael

Parallel computing for 8-bit Apple II's!
Home page:  http://members.aol.com/MJMahon/

"The wastebasket is our most important design
tool--and it is seriously underused."