А еще раньше трава зеленее была и небо голубее.
Компилятор- это всего лишь инструмент. Правильное применение снимает головную боль, неправильное- добавляет.
Я про это и говорил.
И где он теперь этот эмулятор Шалаева? Почему он не развивается? Может потому, что написан был для оптимизации по скорости под имеющееся на то время оборудование. Что привело к
а) абсолютной неподдерживаемости
б) абсолютной некроссплатформенности
в) далеко не оптимальной работе на современных платформах, ибо правила выполнения даже машинных кодов поменялись, а пересборка ассемблерного кода (в отличие от ЯВУ) бессмысленна
Компилятор не сможет за тебя выбрать правильный алгоритм. Если ты фигачишь сортировку пузырьком, то хоть ты лопни или утони в ассемблерных вставках (лично видел такое), получишь на выходе тормозное *****. А правильный алгоритм даже на неоптимальном компиляторе будет работать быстрее.
Существуют платформы, отличные от x86 (Всегда ваш, Капитан Очевидность).
Или ты можешь изглаголить универсальные рецепты по оптимизации под все возможные платформы?
"Написать код, понятный компьютеру может каждый. Написать код, понятный человеку- далеко не каждый".
Ну дык, умеючи и член сломать можно. Наследование- это сильная связь, агрегирование- слабая. Надо использовать агрегирование чтобы легко переделывать программу при необходимости. В моем коде размер типичной иерархии наследования- 2 уровня (абстрактный интерфейс и один или множество наследников). 3 и более уровней (приходится иногда писать) становятся в очередь на рефакторинг.
Я вот тоже видел программу, "оптимизированную по скорости", и располагающуюся в одном(!) файле размером в 600кб(!). Внутри километровые функции по тысяче строк. Сопровождению не поддается.
Или еще пример (из моей программерской жизни). Необходимо описать атрибуты некой сущности. Как поступает обычный программист- пишет структуру и возвращает ее заполненную из некой функции. Я тоже так сделал. И начал ловить дикие тормоза. Переделал все в ООП-стиле (интерфейс с методами доступа) и получил более чем трехкратный прирост скорости. О причинах этого прироста предлагаю догадаться самостоятельно.





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