нет самых элементарных вещей, которые есть в изобилии в других языках и к которым все привыкли, поэтому Go толкает разработчика на создание велосипедов в диком количестве, как результат снижение продуктивности и увеличение возможных ошибок в коде.
Н-р: нет функции типа IsFileExists () (ну серьезно нет)
«Чего только нет стандартной библиотеке Go, практически ничего нет»
Стандартными средствами для работы с SQL невозможно получить данные запроса полный состав которых и тип которых вам заранее неизвестен. Обработка элементарного запроса «select * from table» превратится для вас в ад по поиску костыля.
Определение видимости элемента в зависимости от кейса первой буквы отдельный гемор, что будет если вы решите поменять область видимости? Да, да…
Возвращаемых функцией кортежи нельзя на лету преобразовать тип.
func get() (int64, err) {}
i int
err error
i, err = get() // Ошибка, которую нельзя исправить в этой строке
А ещё нет директив компилятора (Ну и так далее)
Вообще, взглянув на те решения которые предлагает Go в тех или иных ситуациях (Синтаксис и прочее)
Создается впечатление, что автор языка школьник который решил изобрести свой язык. Как ещё можно объяснить такое решение для условной компиляции под разные платформы:
pkg_windows.go
pkg_linux.go
и многие, многие другие решения.
Серьезно, строить современный язык, стоя на плечах гигантов и имея весь их опыт и сделать такое? Ну блин(
пс За статью спасибо
os.IsNotExist Директивы компилятора немного зло
Обсуждают сегодня