Здравствуйте, Аноним, Вы писали:
А>синтаксис проще чем у немерли
А>1
А>print("Hello, " name "!"); вместо "Hello, $name !"
Очень спорно что лучще
А>2. не нужна ->
А>Table table {
А> title="Squares";
А> rows=5;
А> Border border {
А> padding=2;
А> weight=1;
А> }
А> Column {
А> heading="x";
А> width=10;
А> String content(Natural row) {
А> return row.string;
А> }
А> },
А> Column {
А> heading="x**2";
А> width=10;
А> String content(Natural row) {
А> return (row**2).string;
А> }
А> }
А>}
<- это вообще макрос, который был написан значительно позже устаканивания синтаксиса языка.
Этот подход взят из Smalltalk (о чем автор упомянул), и базируется на подходе к вызову методов:
метод {
параметр = значение
}
Мне в принципе нравится, точно лучше чем в C#.
А>3. можно делать пересечения и объединения интерфейсов (зачем не понял)
В Nemerle это прикрутить возможно (компилятор с такими типами работать умеет), вопрос только — зачем.
А>4. a:=1 — эквивалентно def a=1 что сокращает код
О да, мегасокращение!
З.Ы. В Ceylon нету перегрузок.