LINUX.ORG.RU

История изменений

Исправление frugurt, (текущая версия) :

Конкретно:

При разработке языка соблюдается принцип: код, одинаково валидный и в C, и в D, должен вести себя одинаково.

Т.е. они тянут за собой совместимость с C. Уже плохо. Язык новый, зачем совместимость ?

// все три следующих варианта корректны и работают одинаково
// «классический» C-подобный вариант
writeln(a);
// функция вызывается так, как будто является методом объекта «a», хотя и не является таковой
a.writeln();
// функцию без параметров можно вызывать без скобок
a.writeln;

Три варианта синтаксиса — видимо чтоб проще код читался.

Исходная версия frugurt, :

Конкретно:

При разработке языка соблюдается принцип: код, одинаково валидный и в C, и в D, должен вести себя одинаково.

Т.е. они тянут за собой совместимость с C. Уже плохо. Язык новый, зачем совместимость ?

// все три следующих варианта корректны и работают одинаково // «классический» C-подобный вариант writeln(a); // функция вызывается так, как будто является методом объекта «a», хотя и не является таковой a.writeln(); // функцию без параметров можно вызывать без скобок a.writeln;

Три варианта синтаксиса — видимо чтоб проще код читался.