В любом языке есть идеолог/группа идеологов отвечающих за развитие языка. Что Вы еще хотите найти? Не смогли найти какой-то конкретный ответ — можно ведь спрашивать у разных людей, вплоть до Пайка.
Уделил немного времени: вот корректный вариант https://play.golang.org/p/kIOGJMGafI и то, есть что доделать (см. комментарии).
Элементарный тест производительности представлен, вот результаты:
Round(3.5, 0): 10.0159ms
math.Floor(3.5+.5): 2.0011ms
Разница в скорости в 5 раз. Я прямо угадал. :)
Буду рад дальнейшему обсуждению по сути.
p.s. чтобы работало время, тестировать надо локально.
Да, в том то и дело что в Go идет пересечение дизайна языка вместе с идеологией (ограничениями). Поэтому не совсем корректно сравнивать лишь дизайн JS. Еще раз: ES6+ довольно красивый и не плохой, но проблем от этого в языке меньше не становится. Т.е. я рассматриваю язык в целом, а не только дизайн синтаксиса или какую-то другую часть.
Делает, если смотреть с прикладной стороны.
1. Прикладная. Docker успешный продукт. Это уже показатель трушности, в том числе и программистов. :)
2. Теоретическая. Трушность будет только в самой хардкорной математике. Программирование не тру.
Оффтоп конечно но куда же без: немного троллинга богу троллинга и любителю троллинга. %)
Т.е. Вы предлагаете сделать еще If/case на ровном месте чтобы поддерживать еще один вариант.
В этом то и суть, зачем? Сделайте math.Floor(f — .5) если округляете отрицательные значения.
Хотите универсальности? Сделайте навороченную функцию в 5 раз медленнее и на 20 строк кода.
Выбор за Вами.
Посмотрел.
Вот 2 варианта округления: https://play.golang.org/p/Xog_9wXSqj
Один из них, самый популярный выглядит так: math.Floor(f + .5)
Вопрос, зачем для самого популярного варианта плодить сущность если он элементарен, понятен и расширяем?
Т.е. Вы предлагаете сделать что-то типа math.Round(f, 0) вместо math.Floor(f + .5)?
Ну и чем же это надо обосновывать? Не забываем про общую архитектуру (нельзя сделать значение для функции по умолчанию).
Если виден недостаток нужно пойти и открыть Issue/Pull Request.
Если это действительно bug/недостаток он будет исправлен.
Если это стон от недостаточной квалификации, будет получено немного опыта и боли. :)
Боюсь что читал. Но он впринципе не особо дизайнился. Сейчас ES6+ конечно намного лучше. Но суть все та же: callback hell, итд, итп. И это уже никогда не уйдет из языка.
На самом деле знание + тестирование обязательно. Не важно какой язык\платформа\библиотека. Т.е. такие вещи должны освещаться в каких-то базовых курсах\статьях чтоли…
В случае сортировка — почти никогда.
Тогда выходить что надо требовать чтоб добавили нормальный Round на C! :)
Вообще Go написан на Go. Так что встроенность мало чем поможет. :)
Еще только C# вместе с .NET забыли, но я их отбросил из-за экосистемы MS.
Элементарный тест производительности представлен, вот результаты:
Round(3.5, 0): 10.0159ms
math.Floor(3.5+.5): 2.0011ms
Разница в скорости в 5 раз. Я прямо угадал. :)
Буду рад дальнейшему обсуждению по сути.
p.s. чтобы работало время, тестировать надо локально.
1. Прикладная. Docker успешный продукт. Это уже показатель трушности, в том числе и программистов. :)
2. Теоретическая. Трушность будет только в самой хардкорной математике. Программирование не тру.
Оффтоп конечно но куда же без: немного троллинга богу троллинга и любителю троллинга. %)
В этом то и суть, зачем? Сделайте math.Floor(f — .5) если округляете отрицательные значения.
Хотите универсальности? Сделайте навороченную функцию в 5 раз медленнее и на 20 строк кода.
Выбор за Вами.
Вот 2 варианта округления: https://play.golang.org/p/Xog_9wXSqj
Один из них, самый популярный выглядит так: math.Floor(f + .5)
Вопрос, зачем для самого популярного варианта плодить сущность если он элементарен, понятен и расширяем?
Т.е. Вы предлагаете сделать что-то типа math.Round(f, 0) вместо math.Floor(f + .5)?
Ну и чем же это надо обосновывать? Не забываем про общую архитектуру (нельзя сделать значение для функции по умолчанию).
Если это действительно bug/недостаток он будет исправлен.
Если это стон от недостаточной квалификации, будет получено немного опыта и боли. :)
https://play.golang.org/p/UPcj383JTp