GO - назначение
По словам Роба Пайка[9], «Go был разработан для решения реальных проблем, возникающих при разработке программного обеспечения в Google».
В качестве основных таких проблем он называет:
- медленную сборку программ;
- неконтролируемые зависимости;
- использование разными программистами разных подмножеств языка;
- затруднения с пониманием программ, вызванные неудобочитаемостью кода, плохим документированием и так далее;
- дублирование разработок;
- высокую стоимость обновлений;
- несинхронные обновления при дублировании кода;
- сложность разработки инструментария;
- проблемы межъязыкового взаимодействия.
Основными требованиями к языку стали:
- Ортогональность.
- Язык должен предоставлять небольшое число средств, не повторяющих функциональность друг друга.
- Простая и регулярная грамматика.
- Минимум ключевых слов, простая, легко разбираемая грамматическая структура, легко читаемый код.
- Простая работа с типами.
- Типизация должна обеспечивать безопасность, но не превращаться в бюрократию, лишь увеличивающую код.
- Отказ от иерархии типов, но с сохранением объектно-ориентированных возможностей.
- Отсутствие неявных преобразований.
- Сборка мусора.
- Встроенные средства распараллеливания, простые и эффективные.
- Поддержка строк, ассоциативных массивов и коммуникационных каналов.
- Чёткое разделение интерфейса и реализации.
- Эффективная система пакетов с явным указанием зависимостей, обеспечивающая быструю сборку.
Komentāri
Ierakstīt komentāru