В таком случае, ассемблера под ARM или x86 тоже нет, только машинный код. Но ты его (ассемблер) почему-то используешь, причем с макросами, повышающими сопровождаемость кода, иногда в ущерб размеру памяти или скорости работы. Я вижу тут банальное лукавство и самообман.
Код на асме, к сожалению, далеко не всегда оптимален. Хотя бы по причине человеческого фактора — слишком много деталей чтобы они уместились в голове у программиста. А в «голове» у компилятора- запросто. Не говоря уже о том, что ассемблерный код моментально протухает сразу после написания, теряя возможность работать на другой платформе. А мог бы совершенно бесплатно получить ускорение за счет более новых технологий.
Витамин, я тебя уважаю, но выглядит как будто ты высокопарно стебёшься.
и в данном треде вы с робусом находитесь в противопожных позициях — скорость изготовления против максимального использования ресурсов, примерно так.
Не просто описать, для этого есть программисты, а описать оригинально, как это делает кодер. Ты же кодер, ты же сам видишь, что код на асме всегда оптимален, да же если написан слабым программистом, по скольку автор не ограничен языком, а особенно где байты это dword'ы. Я уже молчу про код под кэши. О чём мы вообще спорим? Это небо и земля, не возможно писать на языке высокого уровня и говорить про ядро в априори. Нет Си кода под АРМ, или под х86, только асм может быть под ядро. Кодинг это искусство.
В данный момент — да. Программирование в основном на С++ по работе и C++/Java для души (объем использования остальных языков незначителен на фоне этих двух).
На заре рабочей карьеры занимался программированием железа. Бесценный опыт в плане понимания, что ассемблеру не место в промышленной разработке, только в специализированных библиотеках/SDK и в минимально возможных дозах. Похожий опыт был пару лет назад, когда пришлось писать драйвер для гипервизора.
В моём представлении ты занят программированием на С-подобных языках, под разные платформы.
В случае с Робусом — это программирование железа и разработка схем.
Я чую бесполезность использование такого языка. А мечты о переносимости кода становятся второстепенными, если код перестал быть кодом, и стал простым алгоритмом из иф-ов и фор-ов. Смысл этих языков только в визуализации и исполнении простых алгоритмических действий.
Боже упаси от такого. Предлагаешь мне со своим софтом ещё и компилятор прилагать? Нее сишарпы не для меня, только если по работе потребуют.
Почему же. Код виртуальной машины преобразуется в нативный. После этого распространяется обычный бинарник, который уже не будет компилироваться у клиента.
И универсальный язык программирования выдавал мне в окошке аккуратную надпись «CRC memrory region error, correct?». Эврика!!! Отвечаешь ДА, и новые данные, которые я подставил автоматически вписывались под ксор!
OMG Ты действительно не чуешь разницу между языком программирования, средой выполнения и конкретной программой, написанной на этом самом языке?
Поэтому, да, я не хочу писать свой код, под вот такие вот виртуальные машины. Я уж лучше по старинке, на асме, под эмулятором Z80 быстрее будет исполняться, чем на таком вот «нативном» языке.
Настало время для объяснения факту
Увы, он работает только под 32-бита, у этого есть ряд причин, но почему это так, — не сейчас.
У меня досипор экспи и будет экспи пока не сдохнет 2я мать которая щас лежит в заначке, а 1я уже 8 лет работает. Кор джва дуо, 2.66 гигагерца, 3.0 в разгоне. А уебаны с и7 за неебически просранные деньги пусть кончают от вин10, который и на их железе работают медленнее чем у меня хр. Свежая хр — не виснет и не глючит, зато после установки новых говнософтов, драйверов, обновлений начинаются фокусы типа вытянул юсб камеру получил синий экран. ОК, 10 минут на восстановление быкапа и жизнь снова прекрасна. Под вмваре стоит вин7 из под которого я захожу на сраные впн неебически новые и охуенно без дырок. Я ему сука дал 512 метров, шоб он сдох. Кряхтит с ССД падла, но ползает. Для рдп достаточно. И так еще много дал, пусть спасибо скажет.
Боже упаси от такого. Предлагаешь мне со своим софтом ещё и компилятор прилагать? Нее сишарпы не для меня, только если по работе потребуют.
Знаешь, как-то очень давно был какой-то сайт где был написан эмулятор SPECCY, то ли на джаве то ли на флеше. Этот эмулятор был через браузер, и набранные очки в играх вписывались в топы. Ну там всякие соревнования EXELONов можно было проводить. И начал с авторами переписываться, простите, уже не помню кто это был, что вот эмулятор полностью защищён от взлома, потому что там, что-то применяется, что в памяти ксорится код исполняемой программы, вообщем не взломать одной бутылкой пива. Ну я сразу начал пробовать что к чему, и всё оказалось банально. Вся память 49152 байт в памяти хранилась DWORD'ами, где и вправду первый байт DWORD'а был заксоренный и видно, что он менялся, все 49152 байта в каждом DWORD'е молотились, однако третий байт этого DWORD'а не менялся. то есть видать где-то был код типа MEM[n]=MEM[n] XOR SUPER_BYTE_FOR_XORING, но автор да же не догадывался что в памяти остаётся оригинал. Там я был зарегистрирован под именем HACKER, и договорился с авторами, что я пытаюсь накрутить очки, а они придумывают метод защититься от этого. Мало того весь этот джава или флеш был такой супер ООП и так следил за памятью, что,! вникаем! — я находил в памяти, допустим, очки в Earth Shaker'е, менял на нужные байты НЕ ЗАКСОРЕННЫЕ ДАННЫЕ, то есть это биты с 16 по 23. И универсальный язык программирования выдавал мне в окошке аккуратную надпись «CRC memrory region error, correct?». Эврика!!! Отвечаешь ДА, и новые данные, которые я подставил автоматически вписывались под ксор!
Поэтому, да, я не хочу писать свой код, под вот такие вот виртуальные машины. Я уж лучше по старинке, на асме, под эмулятором Z80 быстрее будет исполняться, чем на таком вот «нативном» языке.
Кто ж тебе виноват, что ты используешь устаревшее ПО (10 лет назад это уже 2005 год, XP уже довольно стабильна), сваливая на железо неумение софта работать с ним.
Т.е. ты не писал разработчику с сообщением о его проблеме только потому что он в Копенгагене? Серьезно?
Давай ты откроешь исходники своих проектов для аудита на предмет педантичности, неленивости и «деструкции данных»? Заодно отделим рукожопость от невнимательности.
Все имеют право ошибаться, но сторонний разработчик плевать хотел что у какого-то там робуса не работает софт. Сидовский плеер попортил память, как раз тот случай о котором мы говорили. В те времена все уже вожделели ХР, а у меня был всё ещё 98ой, и судя по всему память закончилась, автоматическая диструкция памяти, при переходе с мелодию на мелодию не работала, и в какой-то момент пошло по памяти гулять. Я постоянно сохранялся, тяжёлое детство глючного софта, и побил половину своих проектов. Плеер выдал кучу хрипов в динамик, и всё остановилось. Потом сидел и восстанавливал остатки с винта, а результатом сбоя был запись артефактов на винт. Может, конечно за 10 лет его поправили, и возможно что на ХР этого всего не было бы, но факт остаётся фактом, код плеер испортил мне часть проектов, и никакой ММУ не помог.
А глюки своего софта я всегда могу поправить, если бы автором плеера был бы ты, я бы тебе написал письмо и возможно плеер больше бы такое не делал, но автор где-то там в Копенгагене.
«деструкция данных» это попытка заткнуть дырки людей которые любят у системы попросить попросить байтики, а отдавать не хотят. были бы программисты педантичными как кодеры, занимались бы деструкцией сами, тем более, что это одна-две строчки кода. Лень это всё. И в чём тут рукопожатие, экономия на двух строчках кода? Тогда можно выпилить из Z80 команду DI, будет рукопожатие, что бы HALTы не мешали работать ядру.
Яб добавил что MMU не только для надежности, но и для удобства и экономии ресурсов. Т.е. swap, mmap, copy-on-write, вот эти все ништяки. Ну и там границы не только между процессами, но и внутри процесса, чтоб стек не рос неограниченно, или чтоб код нельзя было модифицировать, например.
Я пробовал мелкий тест, который строит подобие игровой карты, используя стейтмашинку-итератор на ISR от DMA. При окончании каждой транзакции ДМА ему подбрасывается новое задание. При этом в ISR ДМА стоит EI, так как могут быть активными строчные прерывания, которые пропускать нельзя.
В таком случае, ассемблера под ARM или x86 тоже нет, только машинный код. Но ты его (ассемблер) почему-то используешь, причем с макросами, повышающими сопровождаемость кода, иногда в ущерб размеру памяти или скорости работы. Я вижу тут банальное лукавство и самообман.
Код на асме, к сожалению, далеко не всегда оптимален. Хотя бы по причине человеческого фактора — слишком много деталей чтобы они уместились в голове у программиста. А в «голове» у компилятора- запросто. Не говоря уже о том, что ассемблерный код моментально протухает сразу после написания, теряя возможность работать на другой платформе. А мог бы совершенно бесплатно получить ускорение за счет более новых технологий.
и в данном треде вы с робусом находитесь в противопожных позициях — скорость изготовления против максимального использования ресурсов, примерно так.
На заре рабочей карьеры занимался программированием железа. Бесценный опыт в плане понимания, что ассемблеру не место в промышленной разработке, только в специализированных библиотеках/SDK и в минимально возможных дозах. Похожий опыт был пару лет назад, когда пришлось писать драйвер для гипервизора.
В случае с Робусом — это программирование железа и разработка схем.
OMG Ты действительно не чуешь разницу между языком программирования, средой выполнения и конкретной программой, написанной на этом самом языке?
Настало время для объяснения факту
? :-D
Знаешь, как-то очень давно был какой-то сайт где был написан эмулятор SPECCY, то ли на джаве то ли на флеше. Этот эмулятор был через браузер, и набранные очки в играх вписывались в топы. Ну там всякие соревнования EXELONов можно было проводить. И начал с авторами переписываться, простите, уже не помню кто это был, что вот эмулятор полностью защищён от взлома, потому что там, что-то применяется, что в памяти ксорится код исполняемой программы, вообщем не взломать одной бутылкой пива. Ну я сразу начал пробовать что к чему, и всё оказалось банально. Вся память 49152 байт в памяти хранилась DWORD'ами, где и вправду первый байт DWORD'а был заксоренный и видно, что он менялся, все 49152 байта в каждом DWORD'е молотились, однако третий байт этого DWORD'а не менялся. то есть видать где-то был код типа MEM[n]=MEM[n] XOR SUPER_BYTE_FOR_XORING, но автор да же не догадывался что в памяти остаётся оригинал. Там я был зарегистрирован под именем HACKER, и договорился с авторами, что я пытаюсь накрутить очки, а они придумывают метод защититься от этого. Мало того весь этот джава или флеш был такой супер ООП и так следил за памятью, что,! вникаем! — я находил в памяти, допустим, очки в Earth Shaker'е, менял на нужные байты НЕ ЗАКСОРЕННЫЕ ДАННЫЕ, то есть это биты с 16 по 23. И универсальный язык программирования выдавал мне в окошке аккуратную надпись «CRC memrory region error, correct?». Эврика!!! Отвечаешь ДА, и новые данные, которые я подставил автоматически вписывались под ксор!
Поэтому, да, я не хочу писать свой код, под вот такие вот виртуальные машины. Я уж лучше по старинке, на асме, под эмулятором Z80 быстрее будет исполняться, чем на таком вот «нативном» языке.
Т.е. ты не писал разработчику с сообщением о его проблеме только потому что он в Копенгагене? Серьезно?
Давай ты откроешь исходники своих проектов для аудита на предмет педантичности, неленивости и «деструкции данных»? Заодно отделим рукожопость от невнимательности.
А глюки своего софта я всегда могу поправить, если бы автором плеера был бы ты, я бы тебе написал письмо и возможно плеер больше бы такое не делал, но автор где-то там в Копенгагене.
«деструкция данных» это попытка заткнуть дырки людей которые любят у системы попросить попросить байтики, а отдавать не хотят. были бы программисты педантичными как кодеры, занимались бы деструкцией сами, тем более, что это одна-две строчки кода. Лень это всё. И в чём тут рукопожатие, экономия на двух строчках кода? Тогда можно выпилить из Z80 команду DI, будет рукопожатие, что бы HALTы не мешали работать ядру.