C++: различия между версиями

2290 байт убрано ,  3 года назад
→‎Ручное управление памятью: убрал раздел, ссылки перенёс в сравнения языков.
(→‎C++ и C: дополнение)
(→‎Ручное управление памятью: убрал раздел, ссылки перенёс в сравнения языков.)
 
Соотнесение факторов результативности с затратами на разработку, а также общая культивируемая в сообществе программистов дисциплина и культура программирования важны для заказчиков, выбирающих язык (и, соответственно, предпочитающих этот язык разработчиков) для реализации задуманных ими проектов, а также для людей, начинающих изучать программирование, особенно с намерением программировать для собственных нужд.
 
==== Ручное управление памятью ====
Как отмечается в исследовании<ref>{{статья | заглавие = Advantages and Disadvantages of Conservative Garbage Collection
 
| автор = Boehm H.
| ссылка = http://www.hpl.hp.com/personal/Hans_Boehm/gc/issues.html
}}<br> (ссылка из{{книга
|автор = [[Реймонд, Эрик]].
|заглавие = Искусство программирования для Unix.
|год = 2005
|страницы = 357
|страниц = 544
|isbn = 5-8459-0791-8
}})</ref>, программисты на Си тратят 30 % — 40 % общего времени разработки (не считая отладки) только на управление памятью. Если в низкоуровневых задачах (для которых разработан Си) это оправданно, то в прикладных задачах широкого спектра (на которые претендует C++) это не только является напрасным, но и чревато ошибками. Для C++ существуют библиотечные средства автоматического управления памятью, но они применяются далеко не всегда.
 
В то же время существует эмпирическое исследование<ref>{{cite web
|url = http://page.mi.fu-berlin.de/prechelt/Biblio/jccpprt_computer2000.pdf
|title = An empirical comparison of C, C++, Java, Perl, Python, Rexx, and Tcl
|subtitle =
|author = Lutz Prechelt
|authorlink =
|coauthors =
|quote =
|date =
|format =
|work =
|publisher = [[Технологический институт Карлсруэ]]
|accessdate = 2013-10-26
|lang = en
|description =
|deadlink =
|archiveurl =
|archivedate =
}}</ref>, показывающее, что разница в скорости разработки программного обеспечения на C++ и на Java, в которой реализована автоматическая [[сборка мусора]], невелика.
 
==== Качество и культура программирования ====