Довод Jam два:
А во-вторых, ассемблер -- такая штука, зная которую, можно превратить Shareware в Freeware, пусть и написанную быстро и легко на языках высокого уровня
.
Только с современными методами защиты для взлома надо быть спецом такого уровня, что тебе дешевле выйдет эту программу купить (и получить бесплатные апдейты, а не ломать их каждый раз), а не трахаться с её взломом. А на бытовом уровне - проще порыться в торрентах и прочих файлопомойках, найдёшь кряк.
Весьма не объективный ответ. Скорей Jam имел ввиду потенциальную возможность как таковую, а не личную заинтересованность.
Я говорю с практической точки зрения. У Джема это выглядит как "а давайте за<censored>еним такую боевую машину, чтобы умела плавать, летать, ездить и ещё на борту несла атомные боеголовки, чтоб этим всем круто было воевать". Я же предлагаю подумать, что а) это непрактично даже с точки зрения конструктива, и б) а оно нам надо, воевать? Ну это так, утрированный пример.
Довод три, ух...
Не так давно мне понадобилось запустить Turbo Pascal, а он на новых компьютерах не работает из-за ошибки деления на ноль. Всего лишь поменяв 3 байта на "nop", я добился того, чтобы TP запускался без проблем.
Рекомендую задуматься над тем, почему проблема запуска такого го... продукта, как турбо паскаль, интересует только тебя. Меня, например, почему-то больше интересуют .Net, Python и Windows 7.
О, да, нам так интересны твои интересы.
В общем на доводы проще всего
увести разговор в сторону или
давить на конкретный пример...
Да, я сразу перевожу разговор в плоскость практического применения. И тут же оказывается, что особо практических применений у того, за что ратуете вы, нет, а есть только какие-то извраты.
Для формальной точки составлю список. "Полезные вещи на асме":
—Драйвера - пишутся к примеру на асм вставках и С++
Да что ты говоришь? По моим сведеньям, они пишутся при помощи чистого C, как правило, и DDK.
—Отладка в дизассемблере - как уже сказал Jam о Turbo Pascal, ну и я свой пример добавлю: практически та же ситуация бывала у меня в играх, мелкая назойливая ошибка из-за которой постоянно вылетало, но пару минут в отладчике всё исправляли.
Я не понял, ты это свой кода при помощи дизассемблера ковыряешь? Или чужой? Если чужой, то тебе действительно больше нечего делать? Игр других, неглючных, вокруг совсем не осталось?
—Оптимизация производительности - ну к примеру возьмём трекер-движок, копейки в производительности тут особо чувствуются при нагрузках в тысячи пиров, поэтому критические участки кода переписывают на асм вставки.
Ну расскажи, какие именно участки кода надо переписать в движке трекера на ассемблере, чтобы он стал работать быстрее? Я почему-то считал, что это должна быть алгоритмическая оптимизация - кеширование, поиск - коду которой в силу своей алгоритмической сложности написание на ассемблере противопоказано вообще. Не говоря уже о различных архитектурах и платформах, монолог о которых ты так удачно порезал.
—Пиратство - как ни крути, пол интернета на этом живёт (а у Украины к тому же один из самых высоких показателей).
Знаешь, вот уж меня терзают сомнения, что Джем сломает хоть одну серьёзную программу за свою жизнь.
Речь же не о том, что ассемблером не пользоваться, речь о том, что конкретный пользователь изучает зачем-то ассемблер. А я говорю, что пользы от этого не больше, чем пользы от умения управлять мартеновской домной в быту. Сплошные понты.
—Микроконтроллеры - да и вообще аппаратное программирование.
Здесь не копал, но, насколько мне опять же известно, большинство кода под микроконтроллеры (если не весь) пишется на чистом C. Менеджмент памяти там адский, да, но это уже другой вопрос.
—Написание вирусов
Без комментариев. Заниматся такой хернёй можно, во-первых, от острых психологических проблем, помноженных на одиночество (в народе - "нидадуд"). Во-вторых, давно уже не требует знания ассемблера. См. макровирусы и ботнеты.
—Написание антивирусов
Ещё смешнее. Это как разгружать вагоны кирпичей удовольствия ради.
—Написание трансляторов
Для этого нада хотя бы выучить yacc, прежде чем лезть в ассемблер.
—Ядра ОСей
Здесь даже C++, не то что C будет использоваться. Ты плохо представляешь себе сложность современных ядер осей.
Короче говоря, это ты увёл разговор в сторону. А тема изначально была простой - человек X ради "удовольствия" изучает ассемблер. Если бы он написал что-то вроде - "активно готовлюсь поступить на работу в Symantec, изучаю имеющиеся методы заражения и бла-бла" - я бы ещё поверил, что он готов писать антивирусы. Но ничего подобного мы не наблюдаем. Мы наблюдаем совершенные понты в изучении устаревшей технологии программирования, которая никогда не будет применена для чего-то полезного и современного. Не напишет он ни ядра ОС, ни антивируса современного уровня.