language_fan wrote:
On Sun, 04 Oct 2009 11:51:13 +0200, Lutger wrote:

How do you think Scala is going to manage to be a popular alternative
for Java by requiring its user to read books about lambda calculus?

It's not necessary. Often removing extra semicolons and changing the form '<type> <value>' to '<value> : <type>' suffices. Especially when porting Java code.

The keyword metric is so flawed you just cannot base any argument around
it.

I admitted that later. Some of the keywords have a strong justification behind them. Others feel irritatingly unnecessary.

I would rather have many different specialized keywords than a few keywords with many different meanings. Its *much* easier to remember a large set of simple words than a small set of complex words.

Imagine if D had keywords goto_unknown, goto_forward and goto_backward, and goto_here (which is rewritten as while(true) {} by the compiler), based on how the program counter will change. Jumps to addresses with a lower program counter value use goto_backward, vice versa for goto_forward. Situations where the pc value is runtime determined would have to use goto_unknown. D 2.0 would also have construct 'goto dynamic (addr);' which would behave identically to 'goto_unknown addr;'. Now some of you might see a pattern here and would try to combine the various gotos into a single keyword. I am talking about similar situation, but my focus is on a higher level.

I can't make sense out of this example, since there's only one possible goto with current hardware, and even VMs don't care where you jump at.

I think you meant to say that we can generalize keywords and let the compiler decide what we meant to do. And that is not always a good thing, sometimes you want your keyword to be verbose to other programmers too, for example the recent discussion about casts which stated D should have support for explicit static, dynamic and reinterpret casts just like C++.

Reply via email to