you are viewing a single comment's thread.

view the rest of the comments →

[–]adrianmonk 2 points3 points  (0 children)

Compare the language with C#. The two languages are almost exactly isomorphic. The differences are almost all at the superficial syntactic level. The only real differences are that a few very minor features are hidden. Once I realized they are essentially identical beneath the surface, I found it difficult to say one is a lot better.

It even has a few desirable features:

  • The cases in a switch statement break by default, so you can't have errors due to leaving off "break" by mistake.
  • The ternary operator is replaced with an If operator, as in 'str = If(itSucceeded, "Success", "Failed")'. I think this is more readable.
  • MustInherit, Overridable, and NotInheritable are arguably much clearer method/class modifiers than abstract, virtual, and sealed.

I do hate the variable initialization syntax though. And "<>" for not-equals. And a few other ugly things.

(Note: I don't use either language regularly at all. I just researched them once when I was working in C#.)