Скорее, это только PC и касается. Решение в лоб может быть эффективным, а может быть неэффективным. Но если оно неэффективно, приходится его оптимизировать.
Любой инструмент имеет свою сферу применения. Современные паттерны проектирования и технологии призваны, в первую очередь, помогать справляться с возрастающей сложностью проектов. Сложные задачи в лоб вообще не решаются.
Не знаю, о чем именно вы здесь, если о коде RST #10 ПЗУ Спектрума, то там код слишком универсален, использует абстракции каналов и потоков, и естественно в связи с этим намного медленнее специализированного и оптимизированного кода вывода знакоместа на экран в играх.
Чтобы ассемблер тормозил, достаточно взяться за задачу, решение которой будет упираться в ограничения железа. Либо использовать неэффективный для выбранной задачи алгоритм, либо неэффективные наработки, либо неэффективные для данной задачи высокоуровневые абстракции. И конечно же это вообще не проблема языка ассемблера, который в принципе теоретически может дать максимально эффективные для данного железа программы, это проблема квалификации программиста либо сложности решаемой задачи. Проблемы языка ассемблера другие - низкая скорость и высокая трудоемкость разработки, низкий уровень абстракций, слабая читабельность программ, непереносимость или плохая переносимость кода на другие платформы.
- - - Добавлено - - -
Нет, это совсем другое. Любой изучение нового предмета делается от простого к сложному, если сразу взяться за сложное, можно просто не осилить порог вхождения, посчитать, что это не для меня и т.п. Вот Бейсик с его пронумерованными операторами - это просто, ему можно сопоставить простейшие бытовые алгоритмы с пронумерованными действиями. А структуризация и т.п. - это сложно, это уже когда ты разобрался с базовыми понятиями и начинаешь понимать, что их недостаточно. Даже Бейсик никто не начинает изучать с процедур, массивов и циклов, начинают с простых операторов, литералов и переменных.
- - - Добавлено - - -
Это скорее примерно как сказать "печать символа в координатах это для более высокого уровня программирования, а для начального идеально простая печать символа в текущей позиции вывода".





Ответить с цитированием