
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Тут только "опыт - сын ошибок трудных"
Все входные параметры и/или условия можно проверить заранее. Не знаю ни одного неконтролируемого исключения. Приведи хотя бы один пример, я могу заблуждаться, забыл, сплю etc
Я могу себе представить функцию решения системы линейных уравнений. Деление на ноль - на раз! Но только если функция запрограммирована тем, кто верит в исключения. Правильный программист проверит делитель
(А ещё проверять указатели на NULL мама не велела)
Легко, вот пример из 2004 г. примерно. Работал по автоматизации энергоуправления ж/д, заменили старую аппаратуру 60-х годом на нашу цифру. И была там одна моя разработка, спец. модем для телеуправления по меди, как временная замена, пока тянули на ЖД ВОЛС. На тяговой подстанции работала на пенсии бабуля. Старую аппаратуру не демонтировали на всякий случай, но монтажники забыли полностью ее отключить! Бабушка использовала ее, как печку для разогрева обеда и случайно нажала на старом пульте серию кнопок и получилась команда.
А мой модем был построен на дохленьком ADSP-2181 и паре 8-разрядников AT-**** от Atmel. Голое Си + ASM, никаких exceptions, конечно. Уже подробностей не помню, но от манипуляций бабули аппаратура на подстанции немного сошла с ума. А мой модем имел на МК встроенные аппаратные watchdog таймеры, которые тупо перезапускали проц, если их программа периодически не сбрасывала. Плюс я, для перестраховки, поставил еще отдельную микросхему такого таймера, который делал вообще глобальный сброс модема. Как понимаю, именно они тогда и спасли ситуацию, сохранилась связь с диспетчерской в Москве. То есть эти watchdog таймеры явились неким аналогом исключений. Когда все рухнуло, они пересбросили девайс.
f(t)=20; - это уже какая-то гомосятина. Я тоже этого не понимаю, хотя я и не ИИ. (нет, конечно, я понимаю, но принять не могу - идите в яваскрипт)
PS ещё я не понимаю (не принимаю) goto и exceptions, потому что это - от лукавого и от лени
Это не гомосятина, а вполне себе такой способ, известный от рождения С++. Я его впервые увидел в учебнике по плюсам 1995 года выпуска)) И "Факел" я знаю. Я в те времена работал на НПО "Молния", не так далеко. И у нас был целый VAX с VAX/VMS )))
Кстати, особо эффектен вот такой способ применения:
class CLass1 {
public:
int& PrivateData() {return k;}
private:
int k;
}
Ну и где то создать объект и шаловливыми ручками вызвать в левой части присваивания метод PrivateData().
Насчет goto — это ведь обертка для команд из серии jmp на асме.
Обёртка, но не совсем. Все эти форы, вайлы и ифы в ЯВУ придуманы, чтобы избежать таких «обёрток». В ассемблере условные и безусловные джампы - неотъемлемая часть языка. Причём реализовано гораздо красивее. И подлежит оптимизации в отличие от левого и бланкового goto.
Тут только "опыт - сын ошибок трудных"
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Библиотеки: Virtual
fxsaber, 2023.12.06 20:38
Честно говоря, не понимаю, почему MQ выбрали дорогой string для SymbolInfo-функций.
Почему не стали делать SymbolID для Тестера?
Интересна история вопроса.
Почему не стали делать SymbolID для Тестера?
а кто сказал что string дорогой ?
потенциально - string это opaque pointer -там может физически быть всё что угодно, вплоть до байт-кода или готового jit
доступ к const литералам по имени - O(1) , всё верно придумано.
Каков результат этого фрагмента кода и почему?
VS console output:
ИИ ответ на вопрос:
This is a C++ program that uses a function f(int x, int& y) to manipulate the variables x and y . Here’s what the program does:
So, the output of this program will be:
3 1 1 1
I hope this helps! Let me know if you have any other questions. 😊
Для MQLx сработает.
Обёртка, но не совсем. Все эти форы, вайлы и ифы в ЯВУ придуманы, чтобы избежать таких «обёрток». В ассемблере условные и безусловные джампы - неотъемлемая часть языка. Причём реализовано гораздо красивее. И подлежит оптимизации в отличие от левого и бланкового goto.
Нет в асме ничего красивого. У меня был кошмар, когда писал звуковой тракт амерам для первого в мире одночипового цифрового ТВ процессора. Кстати, был изумлен, что часть дизайна этого сложного чипа делали Питерские ребята за стенкой в нашем офисе! Естественно, все на уровне Verilog и чего-то еще — не моя тема и не разбираюсь. А делали разводку, маски и печатали уже на TSMC. Я и не думал до этого, что у нас есть такие умы! Впрочем, сейчас самые умные в Кремниевой Долине...
Я писал звук для DSP ядра на архитектуре VLIW. Попросил на всякий Гига Чат набросать справку, все верно:
Архитектура VLIW (Very Long Instruction Word) представляет собой способ организации вычислений, при котором множество операций объединяются в одну длинную инструкцию. Это позволяет увеличить пропускную способность и эффективность работы процессора, так как сокращается количество переходов и ветвлений в коде программы. В архитектуре VLIW используются сложные внутренние зависимости между операциями, что требует более сложного декодирования инструкций и более сложного процесса исполнения команд. Это может усложнить программирование для VLIW-архитектур, поскольку требуется больше усилий для оптимизации кода и доверия к оптимизации компилятора. VLIW-архитектура получила широкое распространение в различных областях, включая графические процессоры (GPU) и центральные процессоры (CPU) различных производителей, таких как Nvidia, AMD/ATI, Qualcomm и другие. Она также применяется в различных устройствах, таких как микроконтроллеры и DSP (Digital Signal Processors). Несмотря на свою сложность, архитектура VLIW предлагает преимущества в terms of throughput и efficiency, что делает ее привлекательной для различных приложений, особенно в области параллельных вычислений и обработки данных.
Наша DSP могла молотить до 6 операций за такт, естественно разных. Например, MUL32x32 -> 64 Acc (FPU не было) + всякие регистровые операции, загрузка из памяти, переходы. Пусть там Задорнов и кричал про амеров «ну, тупы-ы-ые», ребята из Кр. Долины не стали придумывать велосипед, а заимпрувили GNU C++ под этот проц с применением паралеллизма! А потом фирма решила в следующей версии проца ставить 4 DSP со средствами взаимодействия и они начали пилить GNU C++ и под такого монстра! А в фирме всего было 500 разрабов, это не Майкрософт!
К счастью, я до того кошмара ASM на 6*4 == 24 операции за такт не дожил, так как один монстр купил фирму для обладания патентами, а саму распустил. Так что, когда слышу восторги по поводу асма, то понимаю, что человек не участвовал в крупных коммерческих проектах.
Одно дело сидеть дома и под чай/пивко баловаться с асмом, ощущая себя гением IT. И другое, когда тебя засыпают письмами Самсунг или Сони и требуют внести новые фичи/исправить существующие прошивки и срочно! Потому что, б***ь!, они наклепали телевизоров, все склады забиты, а прошивок нет, а нужно было позавчера! И они отправляют контейнеровоз с ТВ реселлерам в Европу и чтобы кровь из носу, когда он прибудет, у них была обработка 32-битного звука, потому что так хвастливо заявил маркетинг и реклама крутится из всех утюгов!
А у них час простоя 100500 миллионов долларов в секунду! А ты как думаешь, почему постоянно выходят обновления Винды и новые прошивки для бытовой техники? Да по простой причине! Бизнес делается ради бабок, а не совершенства.
Как-то давно, в 70-е...80-е, когда Сонька правила балом в области аудио, на конференции один корреспондент задал главе Сони вопрос:«Почему бы вам не собрать лучших инженеров и не разработать самую лучшую, самую совершенную аудио-видео аппаратуру?»
Ответ был страшен и прост:
— Потому что, пока мы 2-3-4 года будем делать идеальный звук и видео, конкуренты завалят рынок просто хорошим
Я про бытовое РЭА в России знаю не по наслышке, есть коллега, мастер-ремонтник РЭА из Архангельска, мы с ним контачим. Рассказывал про то, как ремонтируют РЭА и меняют прошивки в условиях Северов :)) Прошу ссылку не удалять, его маленькой мастерской это не реклама, а чел толковый и пишет интересно.
А что касается того же Самсунг, у нас в фирме был негласный бойкот на покупку домой их продукции. Помню, купил в Питере новый 22" моник их производства, соблазнился ценой и тем, что контачил с СС. Моник сбоил и глючил, переключал сам собой входы сигнала, зато был дешевый и со встроенным ТВ приемником на нашем чипе :))). Через месяца три из СС прислали мне стабильную прошивку, уже 18 лет ни одного сбоя, тьфу-тьфу через плечо :)
int f (int x, int &y);
Лень в голове это крутить, y передается по ссылке, это стандартное решение. Насчет ИИ, Вы еще попробуйте YandexGPT, это вообще позор. Я как-то заинтересовался, почему в эксперименте с мышами наблюдался «Эффект Бейтмана». Яндекс затрясся от страха и сказал, что не будет отвечать на неполиткорректные вопросы )), ну или как-то так. Бывшую сугубо скриптовую Алису заколбасило )).
Лень в голове это крутить, y передается по ссылке, это стандартное решение. Насчет ИИ, Вы еще попробуйте YandexGPT, это вообще позор. Я как-то заинтересовался, почему в эксперименте с мышами наблюдался «Эффект Бейтмана». Яндекс затрясся от страха и сказал, что не будет отвечать на неполиткорректные вопросы )), ну или как-то так. Бывшую сугубо скриптовую Алису заколбасило )).
Я привела этот пример кода, потому что только один из известных мне ИИ может его понять, тот самый ИИ, который в конце концов решил и ваш пример.