LINUX.ORG.RU

Сообщения SwiftRocks

 

Чем плох Go?

Отчего многие его так не любят, что с ним не так? Ну кроме того, что:

  1. Нет дженериков, укуренные решения вроде sync.Map interface{} в stdlib как следствие;
  2. Базилион способов объявить переменную;
  3. Магические функции new() и make(), которые работают только с некоторыми типами;
  4. Выбивающиеся из общего стиля ЯП iota вместо enum, <- и ->;
  5. Сильно ограниченные константы, пригодные только для базовых типов данных;
  6. Кастрированные кортежи;
  7. Бесполезность поддержки unicode в коде ввиду того, что экспортированы могут быть только элементы, начинающиеся на символ из ограниченного подмножества;
  8. Unicode code point'ы можно складывать как числа;
  9. Впиндюренные в сам ЯП, а не в библиотеку «горутины»;
  10. Невозможность форка проекта с сабпакетами (он не скомпилируется с помощью go get/go install, официальная рекоммендация - использовать sed);
  11. Сообщество, которое в каждом объективном дефекте видит глубокий смысл и большой плюс;
  12. Go 2, который не пофиксит ничего из этого, кроме дженериков.

Вроде, не критично всё это, жить можно же?

 , ,

SwiftRocks
()

Swift: tabs vs. 2 spaces vs. 4 spaces?

Пришли к какому-то консенсусу на этот счёт в Swift сообществе? Stdlib, я смотрю, использует 2 пробела, пакетный менеджер, foundation и многие проекты - 4 пробела. И лишь некоторые сторонние пакеты - табы (второй по популярности стайлгайд - от Github - требует именно их). Правильно понимаю, что нет такого, как в Dart / Go / Rust с единственно верным стилем и «\(lang)fmt»? Что используете вы?

 , , , ,

SwiftRocks
()

RSS подписка на новые темы