В мире есть много стран со своими единицами измерений типа дюймы, фунты и т.д. Есть системы стандартов физических единиц в отраслях и даже у отдельных концернов.
Так я не пойму, в чём проблема-то здесь, по-прежнему?
Unit<Length> METER = ...
Unit<Length> INCH = ...
Unit<Length> FOOT = ...
Unit<Weight> GRAM = ...
Unit<Weight> POUND = ...
val length = (1.METER + 15.INCH).to(FOOT);
val myValue = 1.METER + 1.POUND; // compilation error
Определять можно вообще любую единицу измерения, в любой системе стандартов — для этого понадобится не более и не менее чем определить, какая система "главная" (почему бы и не SI?), и по какому правилу происходит преобразование из одного в другое. А можно и не определять заранее, какая из систем предпочитается вообще, тогда и правил никаких не нужно будет.
Библиотека — это же не только сами эти вот метры и дюймы, они должны быть поверх чего-то ещё общего, которое будет иметь сами правила определения единиц, и правила их операций между собой.
Условно говоря, это несколько библиотек:
kt.measures
kt.measures.si (depends on kt.measures)
kt.measures.imperial (depends on kt.measures, optional dependency on kt.measures.si).
Если принять число транспорта в первом приближении числом неизменным, но ровно после 2035 лавинообразно будет нарастать количество EV, потому что рыночек так порешает — значит, инфраструктура под все новые авто должна уже быть, а в идеале ещё и с запасом, и вообще протестирована.
Достаточно глянуть сколько новых автомобилей продаётся в ЕС в год, и прикинуть, насколько должна быть нарощена инфраструктура уже к тому времени.
Я не катался на самокатах (ни электрических, ни каких-то ещё), но вот катание на лыжах — это хорошая такая физическая активность, с работой самых неожиданных на первый взгляд групп мышц. Всё это будет выделять тепло и увеличивать циркуляцию крови в удалённые от теплового центра места.
В противовес, виденное мной пользование электросамокатами — это плюс-минус стояние по стойке смирно. Я лично ходить пешком могу и в минус тридцать пару часов, но вот стоять даже в минус пять и даже пятнадцать минут — холодновато становится.
В той же самой одежде, замечу.
Война — это всё-таки другой уровень вовлечённости в разрушения, не то же самое, что смотреть, как роботы носятся по полю, раскидывая друг друга и оставляя вмятины на всём подряд.
Почему нишевый? Я, к слову, несколько раз слышал разговоры в духе, что если, например, отменить в спорте допинговый контроль и позволить спортсменам быть настолько накачанными химией, насколько им самим захочется, то рейтинги от этого только вырастут. Речь там шла про американский футбол и, ЕМНИП, хоккей, весьма жёсткие подвиды спорта.
UPD: А, и про Robot Wars так или иначе слышали весьма много людей в моём окружении с самым разным бэкграундом, что уже мало соответствует критериям сугубо нишевого продукта.
С того, что общее отношение "ну а куда ты денешься с подводной лодки" от производителей видно, по-моему, невооружённым глазом. Наложением на карго-культ вокруг того же iPhone (а более формально — вокруг мгновенного лидера рынка), и типичное пользовательское соглашение, получаем достаточно неприглядную картину со стороны пользователя.
А если другие люди рассматривают?
Другие люди смогут выразить свои предпочтения сами. Я в принципе не имею достаточных ресурсов чтобы в точности узнать потребности и предпочтения даже одного другого человека.
банально количество пользователей стима и всяких подписок на консолях говорит скорее об обратном.
Стим создаёт некоторую иллюзию владения, всё-таки. Про подписки на консолях мне известно меньше, но разве не пользуется большей популярностью как раз та подписка, где игры не "растворяются" обратно в облако по истечении месяца аренды, что тоже как раз та самая иллюзия владения?
Много будет смотреть если это будет футбол без правил, с тотальным разрушением, отрыванием и размахиванием манипуляторами, и прочим экстримом, которого в мясном футболе не будет по понятным причинам.
Вот как Robot Wars был первые несколько сезонов.
сейчас вот выкатили разной степени неадекватности помогаторов и всё, завтра всех программистов уволим
Когда-то давно, язык SQL разрабатывался именно с таким синтаксисом в том числе для того, чтобы "условно любой" сотрудник бизнеса мог сформировать отчёт по базе данных компании без необходимости привлекать для этого программистов.
Хотя может это байка, конечно.
Я что-то не пойму, как некомпетентность может приводить к смене процесса работы с бродячими собаками именно в эту сторону, может, поясните?
Обычно некомпетентность выражается в том, что менее успешно их отлавливают, или там допускают побег из питомника, и снова приходится отлавливать.
Вот связь между идеей "жалко же их, не надо их убивать, пусть живут" — я вижу. Ну и объяснение в духе "да они просто идиоты там все", по-моему, как-то плохо работает в системах такого размера, реальность обычно всё же сложнее.
Школьникам и студентам совершенно ничто не помешает осваивать нелокализованную библиотеку. Программирование в широком смысле сводится просто к определённому набору символов, и 5.km/h понимается и запоминается ими ничуть не хуже, чем 5.км/ч.
В качестве бонуса, отсутствие локализации stdlib служит дополнительным вектором освоения иностранных языков.
Короче, я по-прежнему не понимаю, какой цели служит создание огромного множества библиотек с переведёнными на какой-нибудь другой язык названиями, и почему эти усилия по поддержке нельзя потратить вместо этого на, скажем, обеспечение типобезопасности в операциях по размерностям на этапе компиляции.
От создателей "ваш рост выше двух метров", вероятно.
Очень много естественной речи на самом деле "не заморачивается" с тем, чтобы корректно отслеживать связи между понятиями.
PS все кто сомневаются могут легко нагугулить и про наводнения и засуху в этом и прошлом году!
Когда в ответ на теорию глобального потепления приводят примеры аномальных морозов или выпадения осадков/снега, эти примеры исключаются из рассмотрения как anecdotal evidence. Постулируется, что одиночные примеры не могут служить никакими доводами в вопросах понимания глобальных процессов.
Но когда нужно подтвердить ту же самую теорию, всегда приводят в качестве доводов примеры какой-нибудь засухи или аномальной жары (да ещё на картах прогноза погоды рисуют +34С тёмно-красным, чтобы пострашнее выглядело). И почему-то на замечание, что это такой же самый anecdotal evidence, и обращать на него внимание не нужно — очень сильно обижаются, почему-то.
Охота на дикого зверя и поголовье бродячих псин связаны через отношение "мне зверюшку жалко".
Из-за этого запрещают охоту, а бродячих собак при ловле не устраняют с улицы, а маркируют и выпускают обратно.
Я предложил эту или подобную библиотеку наконец-то вставить в стандартную поставку Котлина
Так как ваш вариант не предлагает проверки несоответствия типов значений на уровне компиляции, я считаю, что встраивание её в стандартную библиотеку серьёзно навредит возможному развитию этой библиотеки в будущем, потому что развитие этого API с добавлением проверок на этапе компиляции будет невозможно без нарушения обратной совместимости. Примерно так в своё время навредили стандартной библиотеке Java типы java.util.Date и java.util.Calendar, каждый со своими хвостами неправильных предположений о датах и времени, и кучам legacy-кода, который уже не переделать.
В виде обычной библиотеки я против вашего варианта API ничего не имею, тогда каждый найдёт что-то для себя, и будущее развитие никак не пострадает.
Я считаю, что в Котлине необходимы библиотеки для работы с национальными единицами. Т.е. должно быть возможно написать на большинстве языков что-то вроде: val скорость = 60.км/час.
Это не имеет смысла пока в Kotlin нет, например, kt.Последовательность<out T>.
Стандартная библиотека на то и стандартная, что представляет собой общий словарь, понятный любому программисту. Её перевод на другие языка дробит сообщество и создаёт анклавы программистов, неспособных читать код других программистов. Это явно противоречит интересам тех, кто разрабатывает и поддерживает стандартную библиотеку. Уже хотя бы потому, что вместо одной стандартной библиотеки появляется огромное множество региональных стандартных библиотек, несовместимых между собой, это увеличивает бремя поддержки самой библиотеки, и заставляет и иметь в штате специально обученных людей, которые будут принимать баги из региональных версий стандартной библиотеки, и переводить (или не переводить) их в термины глобальной стандартной библиотеки, если такая вообще имеется.
А что взамен — возможность чуть-чуть более знакомые имена методов применять?
Так я не пойму, в чём проблема-то здесь, по-прежнему?
Определять можно вообще любую единицу измерения, в любой системе стандартов — для этого понадобится не более и не менее чем определить, какая система "главная" (почему бы и не SI?), и по какому правилу происходит преобразование из одного в другое. А можно и не определять заранее, какая из систем предпочитается вообще, тогда и правил никаких не нужно будет.
Библиотека — это же не только сами эти вот метры и дюймы, они должны быть поверх чего-то ещё общего, которое будет иметь сами правила определения единиц, и правила их операций между собой.
Условно говоря, это несколько библиотек:
kt.measureskt.measures.si(depends onkt.measures)kt.measures.imperial(depends onkt.measures, optional dependency onkt.measures.si).Ну и всё, как-то так.
Если принять число транспорта в первом приближении числом неизменным, но ровно после 2035 лавинообразно будет нарастать количество EV, потому что рыночек так порешает — значит, инфраструктура под все новые авто должна уже быть, а в идеале ещё и с запасом, и вообще протестирована.
Достаточно глянуть сколько новых автомобилей продаётся в ЕС в год, и прикинуть, насколько должна быть нарощена инфраструктура уже к тому времени.
А препараты, в вашем списке помеченные как "Influenza" — это разве не те самые препараты от ОРВИ? Или вы какой именно ОРВИ имеете в виду?
Напомню, что "день икс" назначен на 2030й год, примерно, то есть пары десятилетий у нас на это нет. Даже одного десятилетия уже нет.
Я не катался на самокатах (ни электрических, ни каких-то ещё), но вот катание на лыжах — это хорошая такая физическая активность, с работой самых неожиданных на первый взгляд групп мышц. Всё это будет выделять тепло и увеличивать циркуляцию крови в удалённые от теплового центра места.
В противовес, виденное мной пользование электросамокатами — это плюс-минус стояние по стойке смирно. Я лично ходить пешком могу и в минус тридцать пару часов, но вот стоять даже в минус пять и даже пятнадцать минут — холодновато становится.
В той же самой одежде, замечу.
Разве от ночного избытка электрогенерации не планируют отказаться путём перехода на генерацию солнечными панелями?
Это плохо, что кто-то умирает, но, тем не менее, люди намного чаще замерзают насмерть, чем умирают от теплового удара:
Или вот, если фокус на США и малое число случаев вам не нравится:
Война — это всё-таки другой уровень вовлечённости в разрушения, не то же самое, что смотреть, как роботы носятся по полю, раскидывая друг друга и оставляя вмятины на всём подряд.
Почему нишевый? Я, к слову, несколько раз слышал разговоры в духе, что если, например, отменить в спорте допинговый контроль и позволить спортсменам быть настолько накачанными химией, насколько им самим захочется, то рейтинги от этого только вырастут. Речь там шла про американский футбол и, ЕМНИП, хоккей, весьма жёсткие подвиды спорта.
UPD: А, и про Robot Wars так или иначе слышали весьма много людей в моём окружении с самым разным бэкграундом, что уже мало соответствует критериям сугубо нишевого продукта.
С того, что общее отношение "ну а куда ты денешься с подводной лодки" от производителей видно, по-моему, невооружённым глазом. Наложением на карго-культ вокруг того же iPhone (а более формально — вокруг мгновенного лидера рынка), и типичное пользовательское соглашение, получаем достаточно неприглядную картину со стороны пользователя.
Другие люди смогут выразить свои предпочтения сами. Я в принципе не имею достаточных ресурсов чтобы в точности узнать потребности и предпочтения даже одного другого человека.
Стим создаёт некоторую иллюзию владения, всё-таки. Про подписки на консолях мне известно меньше, но разве не пользуется большей популярностью как раз та подписка, где игры не "растворяются" обратно в облако по истечении месяца аренды, что тоже как раз та самая иллюзия владения?
Много будет смотреть если это будет футбол без правил, с тотальным разрушением, отрыванием и размахиванием манипуляторами, и прочим экстримом, которого в мясном футболе не будет по понятным причинам.
Вот как Robot Wars был первые несколько сезонов.
Когда-то давно, язык SQL разрабатывался именно с таким синтаксисом в том числе для того, чтобы "условно любой" сотрудник бизнеса мог сформировать отчёт по базе данных компании без необходимости привлекать для этого программистов.
Хотя может это байка, конечно.
Я что-то не пойму, как некомпетентность может приводить к смене процесса работы с бродячими собаками именно в эту сторону, может, поясните?
Обычно некомпетентность выражается в том, что менее успешно их отлавливают, или там допускают побег из питомника, и снова приходится отлавливать.
Вот связь между идеей "жалко же их, не надо их убивать, пусть живут" — я вижу. Ну и объяснение в духе "да они просто идиоты там все", по-моему, как-то плохо работает в системах такого размера, реальность обычно всё же сложнее.
В таком случае, какова ваша версия причин выпускания бродячих собак обратно на улицу?
Школьникам и студентам совершенно ничто не помешает осваивать нелокализованную библиотеку. Программирование в широком смысле сводится просто к определённому набору символов, и
5.km/hпонимается и запоминается ими ничуть не хуже, чем5.км/ч.В качестве бонуса, отсутствие локализации stdlib служит дополнительным вектором освоения иностранных языков.
Короче, я по-прежнему не понимаю, какой цели служит создание огромного множества библиотек с переведёнными на какой-нибудь другой язык названиями, и почему эти усилия по поддержке нельзя потратить вместо этого на, скажем, обеспечение типобезопасности в операциях по размерностям на этапе компиляции.
От создателей "ваш рост выше двух метров", вероятно.
Очень много естественной речи на самом деле "не заморачивается" с тем, чтобы корректно отслеживать связи между понятиями.
А что противоречит глобальному потеплению?
И с другой стороны — обязательно ли аномальная жара вызывается глобальным потеплением?
Когда в ответ на теорию глобального потепления приводят примеры аномальных морозов или выпадения осадков/снега, эти примеры исключаются из рассмотрения как anecdotal evidence. Постулируется, что одиночные примеры не могут служить никакими доводами в вопросах понимания глобальных процессов.
Но когда нужно подтвердить ту же самую теорию, всегда приводят в качестве доводов примеры какой-нибудь засухи или аномальной жары (да ещё на картах прогноза погоды рисуют +34С тёмно-красным, чтобы пострашнее выглядело). И почему-то на замечание, что это такой же самый anecdotal evidence, и обращать на него внимание не нужно — очень сильно обижаются, почему-то.
Охота на дикого зверя и поголовье бродячих псин связаны через отношение "мне зверюшку жалко".
Из-за этого запрещают охоту, а бродячих собак при ловле не устраняют с улицы, а маркируют и выпускают обратно.
Так как ваш вариант не предлагает проверки несоответствия типов значений на уровне компиляции, я считаю, что встраивание её в стандартную библиотеку серьёзно навредит возможному развитию этой библиотеки в будущем, потому что развитие этого API с добавлением проверок на этапе компиляции будет невозможно без нарушения обратной совместимости. Примерно так в своё время навредили стандартной библиотеке Java типы
java.util.Dateиjava.util.Calendar, каждый со своими хвостами неправильных предположений о датах и времени, и кучам legacy-кода, который уже не переделать.В виде обычной библиотеки я против вашего варианта API ничего не имею, тогда каждый найдёт что-то для себя, и будущее развитие никак не пострадает.
Это не имеет смысла пока в Kotlin нет, например,
kt.Последовательность<out T>.Стандартная библиотека на то и стандартная, что представляет собой общий словарь, понятный любому программисту. Её перевод на другие языка дробит сообщество и создаёт анклавы программистов, неспособных читать код других программистов. Это явно противоречит интересам тех, кто разрабатывает и поддерживает стандартную библиотеку. Уже хотя бы потому, что вместо одной стандартной библиотеки появляется огромное множество региональных стандартных библиотек, несовместимых между собой, это увеличивает бремя поддержки самой библиотеки, и заставляет и иметь в штате специально обученных людей, которые будут принимать баги из региональных версий стандартной библиотеки, и переводить (или не переводить) их в термины глобальной стандартной библиотеки, если такая вообще имеется.
А что взамен — возможность чуть-чуть более знакомые имена методов применять?