Go: спорный синтаксис

В Go как-то странно решён вопрос с разделителями -- фигурными скобками и точкой с запятой. Достаточно просто перенести скобку на следующую строку и лови ошибку. Точка с запятой нужны редко, но НУЖНЫ! Кстати, ставить их где попало не запрещено. Так что, непонятно до конца в чём был смысл усложнять лексический разбор. Оператор создания и присвоения _:=_ использован несколько неудачно, так как нет объявления _:_. (переделка Си спорная). Да и математически знак _=_ не есть присвоение. Это уравнивание левой и правой части, а не присвоение нового значения. Паскаль семейство более логично. А объявление переменной в охране цикла -- удобно, но спорно. Сам же Саммерфильд на стр. 243 говорит, что использование этой фичи почти всегда является багом.("небрежное использование этого приёма может порождать проблемы"). Ещё в качестве странности Go отмечу, что если объявлена переменная в заголовке функции, новая переменная с таким же именем не в охране условия/цикла -- создана не будет!!!! А мужики-то не знают! Вот потом будет весело глюк отлавливать))) Что точно раздражает, так это невозможность компильнуть прогу, если не используются какие-либо переменные. Неужели простого варнинга было бы недостаточно? Склоняюсь к мысли, что Go был сочинён, а не спроектирован. В отличии от Компонентного Паскаля. ,) КП выглядит солидней. Срезы и словари в Go из python смотрятся несколько диковато в компилируемом языке, с заявой на системность...

Комментарии

Популярные сообщения из этого блога

Парадокс Монти Холла РАБОТАЕТ!

Борьбы с ссылками в LibreOffice Calc

Установка Yandex.Disk под OpenSUSE