Pull to refresh
41
1
Dmitry @domix32

Жопа котика

Send message

перейти на плановую экономику и национализировать заводы.

переход на плановую экономику математически невозможен. Ещё в союзе посчитали, что одних только товаров первой необходимости 25+к наименований. Если добавить в план товары, которые нужны для производства этих 25 тыс, то цифра резко вырастает до 80+к. Задачи оптимизации такого рода производств не решаемы до сих пор и даже обучение специаализированных AI погоды не сделает, т.к. отдельно всплывает физическая реальность с выбраковкой, подгонкой цифр, раздраем кадров и прочих параметров. В итоге появляется большое поле для пустой траты ресурсов и коррупции, от чего многие предприятия после развала союза без дотаций государства превращались в тыкву. Отсутствие конкуренции также не способствует техническому прогрессу оных производств.

А яблочники вообще вот на таком сидят

вот уж где без vim mode навигации -  жизнь-боль
вот уж где без vim mode навигации - жизнь-боль

Не знаю, конечно, как архитектурные преступления соотностятся с цифровизацией, но держите вот это уродство

abomination.jpg

Продажи Sifu достигли четырёх миллионов копий

Лол, учитывая что они недавно сделали раздачу в EGS это забавный способ показать, что дела у них идут неплохо. Интересно, какой была бы цифра без раздачи.

Некоторые ребята любят не использовать артикли совсем, на всякий случай:)

В разговорной речи нынче часто почти все неопределённые артикли скипаются за вощем-то ненадобностью. Как и "обязательные" I am/you are/he is если из контекста и так понятно о ком речь.

Британцы в этом смысле более консервативны, а вот уже америка/австралия/новозеландия спокойно скушают и просто software developer т.к. "один разработчик софта" ( - ) не несёт достаточно полезной нагрузки, чтобы как-то повлиять на смысл предложения, то есть из контекста обычно понятно, что речь идёт про какую-то штуку (a thing) даже без артикля.

Шпаргалка для тех кто не знает какой артикль вставлять - a /an произошло от ein - германского "один", поэтому если по смыслу можно вставить это слово, то наверняка там должен быть неопределённый артикль.

These settings the admin has changed already.

какой-то стрёмный пример. Я не знаю кто бы в русском сказал "эти настройки админ сменил уже".

Let’s discuss about the project.

А это пример того, что я называю "шарики за ролики", когда у человека перемешиваются два устойчивых выражения и на свет является что-то подобное. Вероятно, человек хотел to talk about the project, что вполне легитимно, но не вспомнил подходящего глагола, и получилось что получилось.

изрядно портят нам жизнь.

самый противный герой, который оказывается портил жизнь стала приставка pseudo-, которая читается также, как мы чистаем sudo.

Чаще всего «ch» произносится как [tʃ] - чуть более твердо, чем русское «ч».

я не знаю куда уж там ещё твёрже кроме как по-белорусски дошепчивать какой-нибудь чшекпоынт. С русским ч оно не различается.

Он не пустой, он "valid but unspecified state". То есть стандарт гарантирует, что такой код считается валидным, что вызов функции или запись в объект новых данных не приведёт к падению программы, однако гарантировать поведение оно не даёт, т.к. оно зависит от компилятора, флагов оптимизации и какой-нибудь фазы луны. В каких-то ситуациях оно действительно будет превращено в нули, в каких-то объект "перемещённый" останется на месте в памяти и будет действовать как будто объект никуда не перемещался, в каких-то оптимизация превратит обращение к объекту в nop и дальнейшие манипуляции станут бесполезными. Все эти нюансы как раз и есть unspecified behavior, которые придётся тестировать самостоятельно/ Если вас устраивает наличие UB и вы его как-то даже эксплуатируете - отлично, только это определённо не общий случай, на который нацеливается язык.

 Не делайте :)

Собственно, люди хотят, чтобы компилятор говорил это ровно в тех ситуациях в которых описано выше. Но он не говорит и молча компилирует. Ну и когда флаги оптимизации включаются там тоже можно отдельных приколов огрести, когда поведение внезапно начинает меняться.

(и даже совсем-совсем не сложно

ну и вот это как раз и проблема - есть ненулевой шанс написать такой код случайно.

сам по себе не UB.

специально не расшифровывал UB, т.к. их два штуки - unspecified behaviour и undefined behavior. Первое как раз про двойной мув.

Потому что повторный move приводит к UB, что может быть использовано в качестве уязвимости. Не слишком обнадёживающее поведение.

Именно поэтому я и написал, что bc в процессе запиливания/стандартизации. Также как и кучка прочих safety пропозалов разной степени ароматности.

За 52 не слышал, но за теории струн с 21 измерением было дело. Проблема в том, что у них практически нет предсказательной способности, чтобы проверить их экспериментально. Обычно они объясняют какой-то проблемный аспект (вроде ускоренного расширения вселенной), но дальнейших выводов из теории не следует ибо вариантов которые могли бы сработать становится невообразимо много и параметризировать теорию так, чтобы она становилась похожа на наблюдения пока не удаётся.

managed - это как раз языки с gc - кто-то управляет (manages) памятью в противовес ручному управлению (manual). вы просто пишите var x = blabla() и не думаете почистится ли память или нет. C#, Java, D, Python, Haskell - как раз из этой оперы. Можно включать /выключать всякие фичи языка и даже Java можно компилировать в aot/no gc, но зачем, если я могу не делая приседаний иметь все то же самое поведение по-умолчанию в C++/Rust/Odin/Zig. V на худой конец.

не стал сильно заморачиваться со ссылками ради упрощения. Так-то там и каких-нибудь конструкторов перемещающих дорисовать и концептов может каких, а то и в unique_ptr обернуть, чтобы время жизни ограничить.

Скажем, я не слишком фанат managed языков. Отдельное фе к именованию/code style, которое мне сильно напоминает Java. Можно ещё немножко поурчать про обманутые ожидания от флага -betterC. С другой стороны язык смог впитать заметное количество модных-молодёжных фич из других языков, так что разработчикам языка можно поаплодировать. В проде я это использовать конечно же не буду.

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

Что-нибудь типа

using Shader = /* */;
ShaderRegistry{ /* */ };

class ShaderCompiler final{
   std::vector<Shader> names;
   friend ShaderRegistry Compile(ShaderCompiler&& compiler);
   ShaderRegistry compile();
public:
   // единственный доступный метод. Возвращает ссылку на себя,
   // чтобы можно было вызывать цепочкой .add("asd").add("qwe")
   ShaderCompiler& add(std::string_view name);
};
// можно поменять сигнатуру на какой-нибудь unique_ptr
ShaderRegistry Compile(ShaderCompiler&& compiler) {
  // доступ к приватному методу есть только тут
  return compiler.compile();
};

Ну, а проверку borrow checker пока ещё в процессе запиливания/стандартизации, так что пока не дожили.

А Rust'у до появления легаси ещё надо дожить :)

Ну, он его уже примерно 10 лет копит т.к. 1.0 в 2015 вышел. Просто у него механизм резолва легаси несколько отличается от тех же плюсов. Примерно столько же времени у плюсов ушло от первоначального выпуска до выпуска ISO стандарта.

Так что я буду ждать с нетерпением С+=2)))))

cppfront и carbon как раз про это.

cppfront фактически делает апгрейд плюсов зашивая все механизмы GSL в язык, добавляя модули, обратную совместимость с плюсами и избавляя его от всякой дичи, типа спирали типов. В итоге всё это транспилируется в какой-то свежий С++ и в таком виде компилируется уже как обычно.

Про carbon не расскажу ибо у них компилятор не везде работает, но выглядит он в среднем не лучше какого-нибудь D.

Так исторически сложилось. Когда Тьюринг занимался разработкой теории он пришёл к тому, что любую программу можно выразить сначала в виде лямбда исчисления, а потом уже доказал, что тьюринг машина фактически этому тождественна, ну а там уже и свой ломатель Энигмы поставил на эти рельсы.

В питоне типы работают из под палки и просят много тестов, чтобы оказаться действительно эффективными. Что-то отлавливается в LSP/линтерах, что-то не особо. Так что пока все эти аннотации жёстко не приколотят к какой-нибудь фиче языка пользы от них не прям сказать чтобы много в сравнении с Java.

XPath has been adopted by a number of XML processing libraries and tools, many of which also offer CSS Selectors, another W3C standard, as a simpler alternative to XPath.

Идея XPath была использовать его для навигации по DOM, но когда усложнился CSS оно фактически зажило немного собственной жизнью и уже имело назначением делать запросы к DOM, а не просто обращаться по пути. Ну и встроенные функции реинкарнировали в отдельные псевдоклассы и прочие псевдоаттрибуты. Ну и буквально по вашей ссылке оно зовётся CSS Selectors - чем не имя?

объясните такой TIME PARADOX

не знаю чем оно вам time paradox, учитывая что сейчас фактически существует два консорциума по стандартизации - W3C и WHATWG. W3C принимает стандарты довольно неспешно - 3.0 и 3.1 различаются на 4 года, 3.0 от 2.0 - все 7 - а c 2019 W3C и вовсе импотент и вся работа по веб стандартам, исключая HTML, ведётся в рамках рабочих групп WHATWG. Да и ваша ссылка ссылается на черновик, которые тоже пока ещё неизвестно когда устаканится.

Для полного счастья не хватает Ü в compiler explorer.

Information

Rating
2,758-th
Date of birth
Registered
Activity