Difference between revisions of "Talk:Eiffel Language Skins"

(New page: --~~~~ Under '''must-haves''' is listed "inherit keyword replaced by T1 : T2 as used in al C languages that support inheritance". I disagree. C# (and maybe others) uses a colon like that, ...)
 
m
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
--[[User:Peter gummer|Peter gummer]] 13:44, 19 April 2012 (UTC) Under '''must-haves''' is listed "inherit keyword replaced by T1 : T2 as used in al C languages that support inheritance". I disagree. C# (and maybe others) uses a colon like that, but Java does not: Java uses "extends". I think the colon idea is more likely to confusion. I can't see Eiffel's "inherit" keyword causing any confusion at all. I think we should remove this; it's not a must-have; it's not even a desirable, it's an undesirable ;-)
 
--[[User:Peter gummer|Peter gummer]] 13:44, 19 April 2012 (UTC) Under '''must-haves''' is listed "inherit keyword replaced by T1 : T2 as used in al C languages that support inheritance". I disagree. C# (and maybe others) uses a colon like that, but Java does not: Java uses "extends". I think the colon idea is more likely to confusion. I can't see Eiffel's "inherit" keyword causing any confusion at all. I think we should remove this; it's not a must-have; it's not even a desirable, it's an undesirable ;-)
 +
 +
--[[User:Peter gummer|Peter gummer]] 13:57, 19 April 2012 (UTC) CamelCase is the convention for C# and Java, but there are plenty of popular languages out there that use underscores, similar to Eiffel. So I question whether this is needed.
 +
 +
If we do decide to go for CamelCase, which variant? Java follows the Smalltalk convention that ClassesStartWithUpperCase and everything else starts with lower-case, but in C# public features start with upper-case too.
 +
 +
The Eiffel convention that looks most alien is that CLASSES_SHOUT_AT_YOU. Java and some other languages have stupidly followed the C convention that constants are all upper-case (although C# doesn't do that, thank goodness), so Eiffel class names probably look like constants to a lot of people. But those upper-case class names look very weird even to C# programmers, so I would consider CamelCaseClassNames to be a must-have.
 +
 +
--[[User:Peter gummer|Peter gummer]] 14:06, 19 April 2012 (UTC) I don't think multi-line comment delimiters /* */ are important. Single-line comments // are a trivial transform from Eiffel, easy to do and perfectly sufficient. Let's not aim for bells and whistles here ... we just need the minimum number of changes so that newcomers don't get turned off by their initial impression of what the language looks like. Let's try to keep the number of changes to a minimum.

Latest revision as of 06:07, 19 April 2012

--Peter gummer 13:44, 19 April 2012 (UTC) Under must-haves is listed "inherit keyword replaced by T1 : T2 as used in al C languages that support inheritance". I disagree. C# (and maybe others) uses a colon like that, but Java does not: Java uses "extends". I think the colon idea is more likely to confusion. I can't see Eiffel's "inherit" keyword causing any confusion at all. I think we should remove this; it's not a must-have; it's not even a desirable, it's an undesirable ;-)

--Peter gummer 13:57, 19 April 2012 (UTC) CamelCase is the convention for C# and Java, but there are plenty of popular languages out there that use underscores, similar to Eiffel. So I question whether this is needed.

If we do decide to go for CamelCase, which variant? Java follows the Smalltalk convention that ClassesStartWithUpperCase and everything else starts with lower-case, but in C# public features start with upper-case too.

The Eiffel convention that looks most alien is that CLASSES_SHOUT_AT_YOU. Java and some other languages have stupidly followed the C convention that constants are all upper-case (although C# doesn't do that, thank goodness), so Eiffel class names probably look like constants to a lot of people. But those upper-case class names look very weird even to C# programmers, so I would consider CamelCaseClassNames to be a must-have.

--Peter gummer 14:06, 19 April 2012 (UTC) I don't think multi-line comment delimiters /* */ are important. Single-line comments // are a trivial transform from Eiffel, easy to do and perfectly sufficient. Let's not aim for bells and whistles here ... we just need the minimum number of changes so that newcomers don't get turned off by their initial impression of what the language looks like. Let's try to keep the number of changes to a minimum.