July 7th, 2010

vit_r

Про вервольфов

В начале двадцатого века языком науки был немецкий. А потом Гитлер начал Вторую Мировую.
Кто-то из наших крутых профессоров. Скорее всего Глебов в лекциях по стёклам.
Читаю вечерами документацию Erlang/OTP. Успокаивает...
(В принципе, стоящее ниже надо б писать на английском и не здесь. Будь я помоложе - так бы и сделал. Но, чтоб объяснить полностью, нужно было б написать небольшую книжку, чего по куче субъективных и некоторым объективным причинам сделать не получилось и не получится.)
Всё очень красиво и приятно. Всё логично и продуманно. Но есть один момент, который мне сильно не нравится: надстроенные над языком словарь и грамматика.
То, что в переменную можно засунуть, что угодно, - это мелочи. Хотя очень полезно различать по внешнему виду, сидит ли в какой-нибудь "Var001" функция, атом или список. Гораздо хуже стиль, применяемый авторами документации. Если взять примеры, то open может быть в одной строчке именем функции, в другой - атомом, а в третьей - состоянием.
Конечно, это типичный английский. Но обозначение одним словом разных сущностей - серьёзная слабость языка. Именно по этой причине возникают разнообразные надстройки типа венгерской нотации и объектно-ориентированного программирования.
В гораздо более мощном немецком глагол тоже может быть субстантивированным, но das Gehen от gehen отличается прописной буквой, не говоря уже о практически обязательном предваряющем артикле.
Чаще отглагольное существительное и саму форму меняет на хорошо различимую аналогично преобразованию в русском:
программировать => программирование, программист
programmieren => die Programmierung,der Programmierer
Естественно, приверженцы Эрланга считают излишнюю гибкость преимуществом. Естественно, если что, компилятор разберётся. Если не он, так первое же падение программы по ошибке покажет...
Но, если смысл и характер слова меняется от фазы Луны от контекста и порядкового номера в списке параметров, это дурная практика. Даже не смотря на то, что посвящённые ей владеют в совершенстве.
PS: Естественно, я с радостью ознакомлюсь с любыми мнениями и любыми аргументами. Но я всё равно прав. ;-)