Daniro_San
@Daniro_San
Программист

Почему появилась мода на новый синтаксис?

Почему новые языки отошли от устоявшегося синтаксиса объявления переменных?
То есть varName : TypeName вместо TypeName varName ?
  • Вопрос задан
  • 1667 просмотров
Пригласить эксперта
Ответы на вопрос 7
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
То есть varName : TypeName вместо TypeName varName ?


Читабельность. "идентификатор varName содержащий TypeName" намного логичнее записывать именно в таком порядке. Ну и да, этот синтаксис не новый, далеко не новый.
Ответ написан
Комментировать
Вообще мода на автоматический вывод типов.
val valName = Value
var varName = Value
let valName = Value
auto varName = Value
и т.д.
Ответ написан
Комментировать
Действительно, не такой уж он новый. Паскаль уже вспомнили, вот добавлю еще: https://en.wikipedia.org/wiki/Standard_ML

Синтаксис переменная : тип стал популярнее потому, что стали популярнее языки НЕ из семейства Си (C/C++/C#/Java), в которых отличается не только семантика, но и синтаксис.

Кстати, я не уверен даже, какой синтаксис появился раньше)
Ответ написан
Комментировать
dnovikoff
@dnovikoff
Вот пример из документации Го:
blog.golang.org/gos-declaration-syntax

У них две главных причины:
1. Удобство чтения
Не "Типа T переменная A", а "Переменная A типа T"
2. Удобство описания указателей на функции
Cишный "int (*T)(int)" против нового "T func(int)int"

Лично на мой вкус это к реальным проблемам программирования отношения никакого не имеет и 90% объяснения почему "так лучше" высосаны из пальца. В каком порядке - без разницы.
Единственный здравый аргумент - это то, что некоторые аспекты парсинга кода компилятором могут оказаться проще благодаря такому подходу.
Ответ написан
Комментировать
sulnedinfind
@sulnedinfind
Это устоявшаяся математическая нотация из теории типов. По крайней мере, на 60 лет старше "устоявшегося" Си. Больше об этом есть в вики на английском.
Ответ написан
Комментировать
@spotifi
Новая?
Pascal. 46 лет тому назад
Ответ написан
Комментировать
@pujonehoc
Э.... малый.
Как раз напротив - то, что ты называешь "новым" является как раз старым, еще с конца 60-х годов. Называется паскалевский, алголовский.
А то, что ты называешь старым - появился уже в 70-е годы. Называется сишный.
20-го века, разумеется.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы