Comment: Re:There are problems with new languages (Score 1) 125
It is called static because it is statically allocated
That's a circular argument. What does statically allocated mean? Is it called "static" because its kind of the opposite of dynamic? I checked two thesaurus that don't make that connection... they suggested 'fixed' or 'stable' or 'permanent'. Those make at least as much sense as 'static'.
. It is a compiler concept which became an OO concept due to being somewhat similar.
Even you have got to realize that is pretty weak. Could have just as easily called them shared, or something more directly applicable.
It is called void because it returns nothing
So void is nothing, and its not to be confused with a void* which is a pointer to absolutely anything, right?
But ultimately the issue is that a variety of decisions were made back when C was written, and there is absolutely a sort of logic to it all, but if you don't know C they don't make a lot of sense, especially when you encounter them in quasi "somewhat similar" roles in modern languages.
Like why are they in dart? Nothing is statically allocated in a language that compiles to javascript to run in a browser. And there are any number of ways of writing function/method declarations to communicate return values or lack thereof without invoking the 'ghost of C' void keyword.
hell simply
method_name [return type] (params)...
or perhaps the more verbose:
method_name (params) returns (return type|nothing)
I mean, if you are designing a new language... the advantage to re-using old keywords from C is that it makes it easier for people coming to the language from C and its descendants. But its needless complexity and confusion for new programmers.