Как стать автором
Обновить
-4
0

Пользователь

Абсолютно неверно.

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

Передача объекта как аргумент функции с лишним свойством

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

То что в TS "наследование" может быть неявным - это уже отдельный разговор...

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

Вы ошибаетесь, если вы можите читать код на C/C++ то можете сами сравнить открытый код HarmonyOS: https://gitee.com/openharmony и AOSP.

В начале этой статьи написан откровенный бред. Это еще можно было-бы понять когда люди смотрели на первые версии HarmonyOS "снаружи" и им было сложно понять как оно устроенло внутри. Но теперь-то HarmonyOS выложена в open source и любой желающий может увидеть, что там нет ни одной строчки из Android. Да, многие "идеологические" вещи китайцы из него передрали. Но код весь переписан с нуля.

В первых версиях был не "замаскированный" андроид, а обычная dual framework система, когда поверх linux-а и андроидного HAL-а параллельно работало 2 разных фреймворка: для андроидных приложений - андроидный, для хармони приложений - соответсвенно хармонивский. Сейчас они просто допилили свой HAL и выкинули андроид совсем. А не весь вот этот бред, что написан в начале...

Все-же не совсем соглашусь с вашим тезисом. Висит у меня в закладках огнелиса один сайт на котором минимум JS, его даже можно там отключить совсем и функционал просядет не сильно, только мелкие приятности пропадут. И разметка на нем довольно минималистична, т.е. браузер 2007 года потянет его без проблем. И все равно, когда я смотрю статистику потребления ресурсов эта закладка почему-то жрет 200-300Мб памяти, почему??? (Объем загружаемого HTML изменряется максимум в сотнях килобайт, графики практически нет).

А зачем человеку учить язык "для галочки" на уровень больший чем ему нужно? При этом не особенно важно для чего нужно, для работы, для игр, для чтения худлит. В большинстве случаев, когда появляется именно необходимость изучить язык, то он изучается до необходимого минимума, потому что дальше учить - лень и не имеет смысла.

На моем опыте, по-настоящему начал учить язык, только когда начал играть в англоязычные игры (еще в школе), потом продолжил чтением технической литературы, потом письменным общением по работе, потом устным общением по работе и наконец чтением художественной литературы. Не знаю какой у меня уровень, никогда не проходил никаких атестаций/экзаменов, но подозреваю что вряд-ли больше какого-нибудь Upper Intermediate и мне этого вполне хватает и я не собираюсь вкладываться в какие-нибудь курсы или что-то подобное, только для того чтобы иметь оффициальную бумажку.

 Абсолютно такая же ситуация в Китае

Более того, даже с IT-шниками ситуация примерно такая-же :)

На своем опыте: общаемся с ними на английском, т.к. понятно мы не знаем китайский - они русский, так вот качество знания их IT-шниками английского нифига не лучше, чем у наших IT-шников, и даже где-то хуже, поскольку у нас был опыт общения с американцами, а у них видимо не особо...

Вот чесно не понял логики. Как могут хорошие юнит-тесты в этом случае быть вредными. У вас же нет тесов на модуль B, значит и уверенности в его корректности у вас быть не может. Такого рода ошибки отлавливаются интеграционными и E2E тестами, не важно автоматическими или ручными.

Например, когда президент (а не США) объявляет войну Вьетнаму, огромное число американцев (а не США) выходит на акции протеста.

Ну и почему-же того-же самого не случилось когда бомбили Югославию, нападали на Ирак и проводили кучу других, более мелких конфликтов по всему миру?

А ответ очень простой, против войны во Вьетнаме по большей части протестовали не по моральным соображениям, типа "мы мирные люди...", а потому что на эту войну забирали по призыву всех подряд. Это и было основной причиной многочисленных протестов. Как только США перешла на контрактную армию, так сразу все протесты против войн прекратились (ну наверно не совсем все, но массовые точно).

Да, были случаи, когда спецслужбы надавливали на бизнес, заставляя принимать решения согласно линии правящей партии.

Да не надо никаких спецслужб, что вы, достаточно принять "драконовские" законы за взаимодествие с российскими компаниями и физ. лицами как бизнесу вдруг сразу становится не выгодно работать с русскими. И все эти "моральные" оправдания всего-лишь для PR, так сказать сохраняем хорошую мину при плохой игре.

Не хотелось бы влезать в длинную морально-политическую дискуссию, но хотелось бы узнать ответ на один простой вопрос: почему все что делает США или другая сторона с одобрения США (члены НАТО), в том числе развязывание войны с другими странами - это морально, а если это не одобряется США - то это аморально. Естественно с точки зрения вот этого:

Это не "заговор западных элит" и не "ущемление по расовому признаку", это обычная человеческая мораль.

Чтобы удостовериться что текщий блок верен, достаточно старого состояния (оно уже записано в блокчейне), diff-а от старого состояния к новому (по сути сумма всех транзакций в блоке, этакий микро-миксер) и хэша нового состояния. Не обязательно хранить именно каждую транзакцию отдельно.

succinct blockchains - не изучал эту тему, но на первый взгляд движение в правильном направлении.

Это обычная централизовання система, типа того-же WebMoney или PayPal-а, так что ее, в отличии от биткоина, была закрыть очень легко. С биткоином было все сложнее, в самом начале, пока он разгонялся, его не принимали всъерьез, позже, когда была куча майнеров его уже было не "закрыть" просто арестом хоть каких-то физ./юр. лиц или каких-то физических или других активов.

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

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

Если бы вместо хранения транзакций в блокчейне хранилось бы только текущее состояние всех счетов, то во-первых не было-бы неограниченного раздувания блокчена (счета в отличии от транзакций при обнулении уже можно не хранить, так что в целом объем растет не так бытсро, и в максимуме количество счетов конечно (при условвии конечного количества валюты, как в биткоине), в отличии от транзакций), а во-вторых по блокчену нельзя было-бы отследить "путь" денег. Они или есть на счету или их нет, а откуда они пришли не знает никто, при правильной реализации транзакций.

Как бы все хорошо и замечательно, но в реальности платежи по QR-кодам это шаг назад по сравнению с бесконтактной оплатой. Потому что для QR-кодов нужно чтобу у телефона был стабильный канал в интернет, что вообще говоря не гарантировано (особенно в магазинах в подвале, например), и довольно существенное время на обработку (читай в основном передачу данных с телефона), а в случае бесконтактной оплаты этих проблем нет.

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

Т.е. по сути "зарегулировали" хорошее техническое решение до невозможности использования и стали использовать суррогат.

Господа юристы, а скажите пожалуйста, использование простой пары логин/пароль, без всех этих ваших новомодных логин-по-емаил, подподает под пункт 4? А то может и переживать-то на самом деле не о чем?

Ну например у лямбд вообще невозможно ручками записать "нативный" тип. Да, их можно привести к std::function, но это уже не совсем то-же самое...

Вы видимо недооцениваете как сильно виртуальные методы мешают оптимизации и как сильно оптимизация может ускорять выполнение программы.

Не только. Виртуальные вызовы невозможно оптимизировать. С CRTP возможна не только оптимизация вызовов как таковых, но и дальнейший анализ codeflow для других оптимизаций.

Тогда было бы логичней использовать |. Он везде читается как "или".

мы должны сделать функцию Process не виртуальной и переместить ее в заголовочный файл

Перемещать имплементацию функции Process в заголовочный файл вовсе не обязательно, класс DebugPrint  не является темплейтом и имплементация его функций вполне может остаться в .cpp файле.

И кстати, если уж взялись писать про CRTP можно было бы рассказать насколько проще и удобней эту функциональность можно сделать в C++23.

Информация

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