ScrollLock писал(а):
Как же оказывается прав дедушка Вирт, когда вычищал из своих языков весь "синтактический сахар", оставляя то что действительно необходимо. В данном случае это ни при чём: подобную глупость для флагов (она не только тормозная, но и неверная) можно написать на любом языке.
Это понятно, что такое можно на любом языке сморозить. В статье еще несколько примеров было с примерами на C#,
где высокоуровневые конструкции языка C# дают плохую производительность. Я же не буду всю статью переписывать здесь. Общий лейтмотив статьи такой, что "... чем более высокоуровневая конструкция, тем меньше ее область применения" и приводятся примеры этого. Когда я написало "дедушка Вирт, когда вычищал из своих языков весь "синтактический сахар", я имел ввиду, что надо сохранять баланс низкоуровневых и высокоуровневых конструкций в языке. Мне кажется, что это ему удалось.
А в заключении автор написал "Существует мнение, что программы на С++ получаются более производительными, зато на C# писать их быстрее. Хочу отметить, что разница в языковых конструкциях действительно дает преимущество C#? но если вы решаете действительно сложную задачу, где используется сложные алгоритмы и где производительность имеет первостепенную важность, тогда разница между С++ и C# минимальна... Другими словами - если писать суперкачественно, вам придется выкинуть все фишки C# и использовать для оптимизации те же указатели. В чем тогда разница между С++ и C#?"
В древнем номере журнала PC Magazine (по-моему) была как-то статья, где сравнивалась MFC и OWL от Borland.
Известно, что по оптимизации Microsoft C++ превосходит Borland C++, но там приводился примеры, когда по скорости выполнения Borland С++ превосходил Microsoft C++, причем существенно, только из-за того, что OWL была гораздо лучше спроектирована, чем MFC. Не знаю как сейчас, но тогда MFC была похожа на китайскую грамоту.