А зачем писать целиком компилятор, включая парсер, все эти IR, MIR, borrow checker и даже пролого-подобный солвер (https://github.com/rust-lang/chalk), если можно портировать LLVM?
Вот возьмем мы "Си с классами", и окажется, что там без темплейтов не выразимы такие полезные вещи, как коллекции/алгоритмы. Что, опять void* гонять, как в Си?
Потом выясняем, что неплохо было бы как-то упростить работу с памятью (умные указатели), а что-то позволяет сильно оптимизировать (move семантика), а можно и синтаксического сахара добавить... И пошло-поехало.
Я сишник, мне C++ сложен своими деталями и нюансами (здесь так, это сяк, а вот тут UB), но верхнеуровнево фичи языка я нахожу полезными.
Честно говоря, ни разу не сталкивался с карающим кармическим банхаммером, который лишает возможности пользоваться хабром, за комментарии, не соответствующие "линии партии". Быть может, комментировал мало (0.8 комментария в день... вроде немало).
По наблюдениям, статьи на хабре можно классифицировать следующим образом (классы могут пересекаться):
90% посредственные статьи, не несущие особой пользы
Но иногда попадаются все же неплохие либо неплохие переводы
Новости Чаще всего бесполезные и/или с низким уровнем статьи
Статьи на не-it тематику (научпоп, медицина, физика, биология и др) Вроде как "не по тематике хабра, фу, убрать", но среди них попадаются годные статьи, которые интересно почитать. Я не против видеть хорошие статьи на хабре подобной тематики. Честно говоря, даже не знаю еще что-то подобное почитать, не собирая это по личным блогам.
Шизофрения, заговоры и прочая дичь
Карьера Чаще всего, полный булшит, в корпоративных блогах и пишутся ради того, чтобы задвинуть очередной курс.
Я стал тимлидом в 18 лет года / надоели эти восемнадцатилетние тимлиды (ну хоть Фил не пишет, и то хорошо)
Не подтвержденное экспериментами ИМХО: основной удар по карме могут нанести в срачах. В них много комментариев, эмоциональные комментаторы, ревностное отстаивание своей позиции и ... ноль полезной информации, как в статье, так и (тем более) в комментариях. (Конечно, срачи бывают и под техническими статьями, напр. про ФП, но реже).
Постоянно о таком думал во время бесконечных созвонов. Жалко, что реально используемые средства (Zoom, Teams) не используют такой подход.
Вот только помимо громкости, стоило бы добавлять фазовый сдвиг, чтобы виртуально располагать собеседников в пространстве. Это, кажется, даже более важно для того, чтобы слышать всех разборчиво.
Но ведь все эти койки и скорые не простаивают, а врачи не бездельничают, ожидая, когда к ним привезут пациента по их новому, ковидному профилю, в то время как вокруг умирают от инфарктов, инсультов и прочего без оказания помощи?
Так ли без возможности? Личные наблюдения (г. Волгоград)
Маски на улице не носит вообще никто (кстати, не знаю, насколько они вообще нужны на открытом воздухе в отсутствии массовых скоплений, где люди близко), в общественном транспорте практически никто, в магазинах (где требования) театр безопасности с масками на подбородке.
Люди ездят в битком забитом общественном транспорте (понимаю, нет выбора), гуляют, ходят в гости, кафе работают, концерты проводят
Слышал от знакомых, что на прошедших выходных, много людей рванули на отдых (билеты было не купить).
Удаленка доступна малому числу населения (вообще без аргументации, просто субъективщина)
Привитые знакомые ставят под сомнения меры по снижению контактов ведь "мы же все привиты".
Так что я не берусь утверждать, что люди массово сидят на карантине без возможности отдохнуть и выбраться куда-то.
И да, от коронавируса умирают. А сколько умирают от неправильного питания из-за низкой зарплаты или от тотально загрязненного воздуха? Но как бы тут сложно, а с вакциной просто.
А разве от неправильного питания, низкой зарплаты и загрязненного воздуха перестали умирать? Если я правильно помню, то мы имеем практически двукратный прирост смертности. Стоит ли этим принебрегать?
P.S. Коненчо, непонятно, какую долю состовляет смертность от COVID-19, а какую от перегруженности системы здравоохранения, локдаунов, кризисов итп. Я пока не видел консенсуса на этот счет.
Но есть ведь и менее тупой фрод — см. истории, связанные с берлинским пациентом. И сейчас это хаханьки, но завтра этот не-тупой фрод может прийти к вам, чтобы забрать у вас не сто тысяч рублей, а сто миллионов долларов и заодно посадить в тюрьму.
Данное изречение весьма туманно. Можете рассказать подроблнее, что Вы имели в виду?
Я разочарован в массовом пользователе. И в том, что такой способ использования заставляет тратить в сумме огромные ресурсы на повышение цифровой энтропии.
>Web фронтенд дает кроссплатформенность из коробки и очень легко упаковывается в нативное приложение
Зачем тогда вообще приложение? Почему все словно помешались на приложениях? У практически каждого крупного магазина и прочей организации есть приложение. С чем я сталкивался за последнее время: спортмастер, до-до пицца, delivery club, mybox.
При этом все эти приложения не имеют (я не нашел) какой-либо функциональности, отличной от взаимодействия с сервисом. Приложения полностью повторяют функциональность веб-сайта, теряя такие возможности, как копирование, вкладки, адресную строку и так далее!
У компании уже есть веб-сайт (адаптивный, кстати). Зачем тратить свои средства на разработку приложений, а ресурсы пользователя (место в памяти, траффик итп) на установку приложения, которое делает всё то же самое? (Mybox - 74 мб, спортмастер - 42 мб, не слишком много для простой "отображалки"?)
Может, стоит вложить средства в отпимизацию веб-сайта, чтобы он был удобнее и производительнее? Тем более, когда существуют все эти [тысячи спецификаций](https://habr.com/ru/company/dcmiran/blog/493018/), чтобы внести в веб всё новые и новые фичи. Всякие хранилища и сервис воркеры существуют давно.
Дисклеймер: я не адепт TDD, я не использую труЪ TDD. Обычно, я пишу модуль, потом тесты на модуль, бывает, тесты пишу в процессе написания модуля, но практически никогда не пишу тесты ДО функциональности, если только это не что-то простейшее и понятное.
Далее, возникает вопрос: "Что такое юнит?". Я, быть может, еретик, но считаю, что _юнит - что угодно, не связанное с внешним миром_. Не читает файлы, не ходит в БД, не обрабатывает запросы итп итд. Это может быть функция, класс или даже куча классов вместе, если поверх них есть какой-то интерфейс. Соответственно, юнит тест разработчик может запустить у себя локально, без особого тестового окружения, и они запускаются и работают быстро.
Соответственно, юнит тесты позволяют
Протестировать какую-то функциональность "глубоко внутри" системы.
Вы пишете модуль, который расположен где-то очень глубоко, его ввод/вывод проходит на кучу слоев и влияет на кучу всего. Протестировать такой модуль "извне" будет очень нетривиально. А выкатывать непротестированный код? Откуда вы знаете, что он работает, хотя бы в тех условиях, которые вы предусмотрели?
Протестировать негативные сценарии.
Без юнитов бывает трудно тестировать, когда что-то идет не так. Потому что для этого это "что-то" приходится каким-то образом смоделировать с помощью остальной части системы. Дополнительно, см. п. 1.
Упростить и ускорить цикл отладки при разработке модуля, за счет того, что юниты быстрее, чем всякая интеграция в различных тестовых окружениях, и точно проще, чем "руками" тестировать.
Определить и фиксировать контракт модуля
При этом надо подходить без фанатизма и понимать, что
Архитектура важнее
Надо правильно выбирать, что есть "юнит" при тестировании, это не обязательно самая маленькая возможная единица
Надо минимизировать моки. Особенно, минимизировать моки, которые "влезают внутрь" через рефлексию (или подмену символов на линковке).
А зачем писать целиком компилятор, включая парсер, все эти IR, MIR, borrow checker и даже пролого-подобный солвер (https://github.com/rust-lang/chalk), если можно портировать LLVM?
Вот возьмем мы "Си с классами", и окажется, что там без темплейтов не выразимы такие полезные вещи, как коллекции/алгоритмы. Что, опять void* гонять, как в Си?
Потом выясняем, что неплохо было бы как-то упростить работу с памятью (умные указатели), а что-то позволяет сильно оптимизировать (move семантика), а можно и синтаксического сахара добавить... И пошло-поехало.
Я сишник, мне C++ сложен своими деталями и нюансами (здесь так, это сяк, а вот тут UB), но верхнеуровнево фичи языка я нахожу полезными.
Обо мне: 0 статей, 1.7к комментариев.
Честно говоря, ни разу не сталкивался с карающим кармическим банхаммером, который лишает возможности пользоваться хабром, за комментарии, не соответствующие "линии партии". Быть может, комментировал мало (0.8 комментария в день... вроде немало).
По наблюдениям, статьи на хабре можно классифицировать следующим образом (классы могут пересекаться):
Технические статьи
Годные технические статьи (напр. недавнее https://habr.com/ru/post/590821/)
Посредственные технические статьи
Корпорптивные блоги
90% посредственные статьи, не несущие особой пользы
Но иногда попадаются все же неплохие либо неплохие переводы
Новости
Чаще всего бесполезные и/или с низким уровнем статьи
Статьи на не-it тематику (научпоп, медицина, физика, биология и др)
Вроде как "не по тематике хабра, фу, убрать", но среди них попадаются годные статьи, которые интересно почитать. Я не против видеть хорошие статьи на хабре подобной тематики. Честно говоря, даже не знаю еще что-то подобное почитать, не собирая это по личным блогам.
Шизофрения, заговоры и прочая дичь
Карьера
Чаще всего, полный булшит, в корпоративных блогах и пишутся ради того, чтобы задвинуть очередной курс.
Я стал тимлидом в 18 лет года / надоели эти восемнадцатилетние тимлиды (ну хоть Фил не пишет, и то хорошо)
Выгорание
Собеседования
Эмиграция
Срачи: политика, vim/ide, мониторы, операционные системы, [хабр скатился/торт](https://habr.com/ru/post/592135) итп итд
Не подтвержденное экспериментами ИМХО: основной удар по карме могут нанести в срачах. В них много комментариев, эмоциональные комментаторы, ревностное отстаивание своей позиции и ... ноль полезной информации, как в статье, так и (тем более) в комментариях. (Конечно, срачи бывают и под техническими статьями, напр. про ФП, но реже).
Очень круто, сам пару лет назад загорелся идеей сделать такое, но потом как-то забил. Пишите про всё!
Постоянно о таком думал во время бесконечных созвонов. Жалко, что реально используемые средства (Zoom, Teams) не используют такой подход.
Вот только помимо громкости, стоило бы добавлять фазовый сдвиг, чтобы виртуально располагать собеседников в пространстве. Это, кажется, даже более важно для того, чтобы слышать всех разборчиво.
У ARM же есть [LL/SC](https://en.wikipedia.org/wiki/Load-link/store-conditional), которые позволяют реализовать атомики. А не писать лок-фри код без использования лок-фри примитивов.
В дополнение к комментарию от elektroschwein выше:
Но ведь все эти койки и скорые не простаивают, а врачи не бездельничают, ожидая, когда к ним привезут пациента по их новому, ковидному профилю, в то время как вокруг умирают от инфарктов, инсультов и прочего без оказания помощи?
Вроде бы, пишу обратное:
Так ли без возможности? Личные наблюдения (г. Волгоград)
Маски на улице не носит вообще никто (кстати, не знаю, насколько они вообще нужны на открытом воздухе в отсутствии массовых скоплений, где люди близко), в общественном транспорте практически никто, в магазинах (где требования) театр безопасности с масками на подбородке.
Люди ездят в битком забитом общественном транспорте (понимаю, нет выбора), гуляют, ходят в гости, кафе работают, концерты проводят
Слышал от знакомых, что на прошедших выходных, много людей рванули на отдых (билеты было не купить).
Удаленка доступна малому числу населения (вообще без аргументации, просто субъективщина)
Привитые знакомые ставят под сомнения меры по снижению контактов ведь "мы же все привиты".
Так что я не берусь утверждать, что люди массово сидят на карантине без возможности отдохнуть и выбраться куда-то.
А разве от неправильного питания, низкой зарплаты и загрязненного воздуха перестали умирать? Если я правильно помню, то мы имеем практически двукратный прирост смертности. Стоит ли этим принебрегать?
P.S. Коненчо, непонятно, какую долю состовляет смертность от COVID-19, а какую от перегруженности системы здравоохранения, локдаунов, кризисов итп. Я пока не видел консенсуса на этот счет.
Если файзер и другие не могут создать коллективный иммунитет, то
Какую роль они играют? Уменьшение числа тяжелых случаев и летальных исходов?
Какие средства позволят дальше бороться с эпидемией? Неразработанные интраназальные вакцины, испытания которых планируются где-то году эдак к в 2023?
Все картинки несуществующие, но картинка с Дауни младшим (второй ряд, четвертая картинка) неотличима от оригинала.
Данное изречение весьма туманно. Можете рассказать подроблнее, что Вы имели в виду?
А у нас где-то вообще есть биометрия по голосу? Запись голоса может выступать где-то доказательством?
Я разочарован в массовом пользователе. И в том, что такой способ использования заставляет тратить в сумме огромные ресурсы на повышение цифровой энтропии.
>Web фронтенд дает кроссплатформенность из коробки и очень легко упаковывается в нативное приложение
Зачем тогда вообще приложение? Почему все словно помешались на приложениях? У практически каждого крупного магазина и прочей организации есть приложение. С чем я сталкивался за последнее время: спортмастер, до-до пицца, delivery club, mybox.
При этом все эти приложения не имеют (я не нашел) какой-либо функциональности, отличной от взаимодействия с сервисом. Приложения полностью повторяют функциональность веб-сайта, теряя такие возможности, как копирование, вкладки, адресную строку и так далее!
У компании уже есть веб-сайт (адаптивный, кстати). Зачем тратить свои средства на разработку приложений, а ресурсы пользователя (место в памяти, траффик итп) на установку приложения, которое делает всё то же самое? (Mybox - 74 мб, спортмастер - 42 мб, не слишком много для простой "отображалки"?)
Может, стоит вложить средства в отпимизацию веб-сайта, чтобы он был удобнее и производительнее? Тем более, когда существуют все эти [тысячи спецификаций](https://habr.com/ru/company/dcmiran/blog/493018/), чтобы внести в веб всё новые и новые фичи. Всякие хранилища и сервис воркеры существуют давно.
Зачем?
З.Ы. Мысль не нова: https://ithappens.me/story/13155
З.З.Ы. В комментах хабра сломали Markdown?
Дисклеймер: я не адепт TDD, я не использую труЪ TDD. Обычно, я пишу модуль, потом тесты на модуль, бывает, тесты пишу в процессе написания модуля, но практически никогда не пишу тесты ДО функциональности, если только это не что-то простейшее и понятное.
Далее, возникает вопрос: "Что такое юнит?". Я, быть может, еретик, но считаю, что _юнит - что угодно, не связанное с внешним миром_. Не читает файлы, не ходит в БД, не обрабатывает запросы итп итд. Это может быть функция, класс или даже куча классов вместе, если поверх них есть какой-то интерфейс. Соответственно, юнит тест разработчик может запустить у себя локально, без особого тестового окружения, и они запускаются и работают быстро.
Соответственно, юнит тесты позволяют
Протестировать какую-то функциональность "глубоко внутри" системы.
Вы пишете модуль, который расположен где-то очень глубоко, его ввод/вывод проходит на кучу слоев и влияет на кучу всего. Протестировать такой модуль "извне" будет очень нетривиально. А выкатывать непротестированный код? Откуда вы знаете, что он работает, хотя бы в тех условиях, которые вы предусмотрели?
Протестировать негативные сценарии.
Без юнитов бывает трудно тестировать, когда что-то идет не так. Потому что для этого это "что-то" приходится каким-то образом смоделировать с помощью остальной части системы. Дополнительно, см. п. 1.
Упростить и ускорить цикл отладки при разработке модуля, за счет того, что юниты быстрее, чем всякая интеграция в различных тестовых окружениях, и точно проще, чем "руками" тестировать.
Определить и фиксировать контракт модуля
При этом надо подходить без фанатизма и понимать, что
Архитектура важнее
Надо правильно выбирать, что есть "юнит" при тестировании, это не обязательно самая маленькая возможная единица
Надо минимизировать моки. Особенно, минимизировать моки, которые "влезают внутрь" через рефлексию (или подмену символов на линковке).
Иногда юниты не целесообразны
Без фанатизма
А что мешает человеку взять код привитого знакомого, который полностью валиден?
Хм. Если продолжать аналогию с акциями "страны", то где дивиденды?
А, спасибо, я понял. Упустил корпоративные налоги.