OK, functions, built-ins, same thing.
No, no they are NOT.
sizeof is an OPERATOR. Not a function. It doesn't require () for the same
reason that + doesn't require().
return isn't even an operator, it's a kind of statement.
I don't see what's difficult about it, just a small change in the parser.
That you don't see what is difficult about it does not mean that it is
easy, it just means that you don't know anything about the compiler.
When you've done it without breaking any existing code, tell us how easy
it was.
Yes, as I said parentheses would still be needed to override default
precedence/associativity.
And that would create an inconsistency of usage which is, in many cases,
worse than the current situation.
Don't know about Ruby, but Perl manages just fine and it produces much
nicer code to look at and read.
Uh.
No, it really doesn't. Sorry, but I've been using perl for close to twenty
years, and you would NEVER get me to say that it is "nice" to look at and
read, let alone "nicer".
What you have here is what we call "baby duck syndrome" -- you imprint on
something and then it looks normal and good to you and other things look
wrong. When I started using ruby, it looked weird to me because there were
so few ()s and all the idioms were strange. Now I'm used to it and it
doesn't look weird anymore.
I still like C over Ruby and perl for clarity of syntax. I think Ruby wins
for some applications because it allows me to omit a whole lot of syntax
and write things more tersely, but it will always take more effort to
parse complicated expressions than C will.
C's design is to some extent historical -- it reflects what was reasonably
cost-effective to do in a parser thirty years ago. However, it is a pretty
solid design, it works, and there is no real reason to change this about it.
There are good reasons for the way it is, and it seems to me that you would
benefit a whole lot from learning more about the language before declaring
how it should be changed.
-s