Re[7]: Visual C# vs C++. Надо сравнить перспективы.
От: alex_public  
Дата: 07.01.17 20:14
Оценка:
Здравствуйте, lpd, Вы писали:

_>>Что ты называешь прямым управлением памятью? Например локальная переменная на стеке (самый правильный способ работы с данными в современном C++) — это прямое управление или нет? ) Или ты имеешь в виду вызовы new/delete? Если последнее, то как раз в правильном современном приложение на C++ их может не быть вообще. И при этом производительность будет не хуже ручного ассемблерного кода. )))

lpd>Под прямым управлением памятью я имею ввиду new/delete и указатели, которые пытаются исключить. Но ценой этого оказывается усложнение языка разными типами ссылок и правилами их преобразования.

Всё верно. Это и есть направление развития современного C++. Он даёт полную автоматизацию работы с памятью и другими ресурсами при этом без малейших потерь в производительности. Т.е. в этом смысле он существенно превосходит и древний C и современные управляемые языки. А ценой этого является требование повышенной квалификации программистов.

lpd>Например, отсутствие копирования было бы полезно при разработке видео-кодеков. Но ffmpeg написан вообще на C, и я не вижу в подобных приложениях применения последним стандартам С++.


Ну естественно в ffmpeg написанном на C (и ассемблере) не используются последние новинки C++. ))) А как ты хотел то? )

lpd>Вот лямбды и потоки — да, полезны. Было бы лучше, если бы C++ развивался не в сторону теоретического улучшения языка, как краткой записи абстрактных операций над абстрактными данными, а в сторону расширения области применения и сближения по удобству всего процесса разработки с Java-фреймворками и инфраструктурой, без излишнего усложнения.


Как раз Java стиль является максимально не эффективным и современный C++ развивается в прямо противоположном направление. Но если хочется именно такого, то оно в мире C++ тоже давно есть. Называется Qt. Там как раз наблюдается Java стиль во всём, но для GUI эта не эффективность не так страшна. И кстати стать "программистом на Qt" довольно просто. )))
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.