Обновить
3

Уверенный пользователь холодильника

1
Подписчики
Отправить сообщение
> Это делают конкретные личности.

А г… нокодом, значит, называют не конкретные личности?
Ваш опыт основам на дискуссиях о Вашем коде? Если да, не допускаете ли Вы мысли, что дело в Вашем коде, а не в таксичных программистах?
ему просто напишут, что его браузер не поддерживается, пусть ставит Хром

… и услужливо предоставят ссылочку на установщик.

Всё познаётся в сравнении. 3% это мало если мы говорим про доли метра, к примеру. А в данном случае мы говорим о компании с стоимостью сотни миллионов долларов, и проценты тут исчисляются, по меньшей мере, в сотнях тысяч долларов.

А радиоактивный распад открыли ради развития энергетики, а не создания оружия, ну да.

Радиоактивный распад просто открыли, не для чего-то. Потом оказалось, что из этого выделяется энергия, и появились две дороги развития: применение в энергетике, и применение в качестве оружия. Люди, оплачивавшие весь тот банкет, решили, что им в данный момент важнее оружие, а не энергетика.


Иначе мы тут договоримся, будто колесо открыли чтобы танки делать.

Я вовсе не утверждал, что конкретно этот код можно заменить сотней строк, просто выразил неудовольствие подходом «раз сделано сложно, значит так было надо». Я слишком часто вижу, что сложный код для работы с простым проблемным доменом (а проблема возвратить [0; n) элементов — это простая проблема) это скорее признак недостаточного понимания, чем признак того, что проблема на самом-то деле сложна.

Конкретно по этому коду моё лично впечатление от представленных кусочков — это, банально, легаси-код. Сначала там всегда был один элемент и ошибка если его нет, но просят. Потом оказалось, что значений бывает несколько, но старый код для одного значения решено было оставить для краевых случаев (надеюсь, с ошибкой если просят один, а на самом деле там несколько). Потому были добавлены семейства методов getLength<Property> и getElement<Property>(index). Идея позволить доступ обычной итерацией тогда никому в голову не пришла, а когда пришла — уже был написан код, ломать который просто так никто не захотел, и прежние два метода с доступом по индексу убирать не стали.
Думаю, стоит всё же объяснить — в чём же сложность решения проблемы потенциального наличия во многих свойствах [0..n) значений? Первопричина этого мне понятна — там действительно может много значений, а может не быть ни одного. Но настолько ли эта причина глубокая?
Если проблема кажется простой, но простой на самом деле не является, то стоит объяснять, почему она не простая, а не спрыгивать тут же на «лучшие умы целым отделом полгода думали, как лучше сделать, так что нечего лезть со своими предложениями». А иногда простые проблемы — это действительно простые проблемы, с простыми решениями.
К сожалению, самостоятельно исторические данные найти не смог, но согласно вот этой статье, в том же индексе Kotlin за один год вырос с ~65 места до 36-го, а это более чем двукратный рост. А учитывая что пока что Гугл старается как можно больше разработчиком переместить с Java на Kotlin, укрепление позиций среди задаваемых вопросов на StackOverflow может будет продолжаться как минимум до поры когда в Гугле найдут новую игрушку.
Да, а вот унитаза может и не быть.
Грубовато, зато честно — прямо указывается, какой именно элемент bathroom тебе интересен в данный момент. Иначе разница примерно как между вопросами «где тут туалет?» и «где я могу припудрить носик?», и закономерную возможность в ответ на второй вопрос получить указания по пути до ближайшего зеркала.
«A nice, warm cup of Hug You».
То есть логичная и развитая система типов это больше про академические задачи, а не про практическиe.

"Это не про практические задачи" — это такой тонкий способ сказать что конкретно? Вот язык Kotlin — по вашей логике, он решает больше академические задачи? Ведь там нет исключений, и число является объектным типом первого класса. Только заточен ли Kotlin под академические задачи, или всё же он ближе "к станку", раз уж его в Гугле полюбили настолько, что пытаются заменить им Java, в котором исключения из системы типов присутствуют? Достаточно ли Kotlin императивен и мейнстримен?

Думаю, именно цифрой. Чтобы также возможно было написать типизированную версию addElement, как вот тут
Смартфон в 2018 (19?) году — и без моноброви? Свежее слово в дизайне, не иначе.
А я вот исхожу. Потому что в логичной и развитой системе типов не должно быть произвольных исключений, вроде «это вот имеет интерфейс, а вот это не имеет». Число — это тип, не хуже любого другого типа. И у него тоже есть интерфейсы, обычно даже больше одного, в зависимости от самого числа.
Тем более типы тут ни при чём, такие вещи должны отлавливаться на приёмочном тестировании. И всего-то достаточно однострочного теста
myFunction(0);
чтобы проект перестал компилироваться, и кто нужно разобрался как следует и наказал кого попало.
Динамические слабые языки хороши обычно во всяких сценариях, когда ошибочный результат не так уж сильно заметен. Типа нарисовали врага на полпикселя левее — ну и хрен бы с ним. Поэтому они почти всегда используются как скриптовые языки в игровых движках и редакторах карт.

Да, а потом происходит вот так: https://habr.com/post/417435/

Может моё мнение непопулярное, но нечего делать операциям XOR и AND на типе, представляющем число, потому что это будет ограничивать возможную реализацию самого числа и требовать, чтобы число было расширением типа BitSet.
А если интерфейс BitSet из интерфейса числа исключить, то остаётся так уж много способов проверить на неотрицательность, и уж с ними компилятор как-нибудь справится.
Перефразируйте вопрос.
«неотрицательный» — это value >= 0
«положительный» — это value > 0
От понимания двух этих слов человеком (равно как от отсутствия понимания) в коде программы ничего не зависит.

Вообще говоря, если определить функцию
doTimes(положительный times),
а потом Вася попытается её вызывать как
doTimes(0);
doTimes(-1);

и его код не скомпилируется, то виноват Вася, а не компилятор.
Просто нужно определиться, что дороже — потенциальная невозможность откатить изменение схемы, или необходимость конкретное изменение поддерживать в течение некоторого времени, пока не станет ясно, что точно ничего не сломалось.

Разумеется, здесь каждый будет решать по себе, серебряных пуль не завезли.

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность