|
|
@@ -0,0 +1,35 @@
|
|
|
+# C++
|
|
|
+
|
|
|
+### Краткая история
|
|
|
+
|
|
|
+
|
|
|
+C++ был создан Бьёрн Страуструп в Белл Лабс как расширение языка C. Цель заключалась в том, чтобы добавить область для программ, ориентированных на объект (классы, наследование), сохраняя при этом производительность и контроль за памятью, которые дает C.
|
|
|
+
|
|
|
+### Применение
|
|
|
+- программирование систем: операционные системы, водители, низкоуровневые коммунальные услуги.
|
|
|
+- Установка систем: регуляторов, устройств с ограниченными ресурсами.
|
|
|
+- Игры и графики: двигатели (реконверсия в реальном времени), графические библиотеки.
|
|
|
+- Финансовые и высокопроизводительные виды применения: торговые платформы, низкоосвоенные расчеты.
|
|
|
+- Научные расчеты и моделирование: модели, требующие контроля скорости и памяти.
|
|
|
+- Большинство библиотек и инструментов с поперечной платой (например, компоненты браузера, холодильные системы) имеют части C++.
|
|
|
+
|
|
|
+Плюс к другим языкам
|
|
|
+Быстрый и эффективный: очень быстрый ход выполнения кода с правильной оптимизацией.
|
|
|
+- Контроль за ресурсами: управление памятью, возможность определения степени высвобождения ресурсов (РАII).
|
|
|
+- Гибкий: поддержка процедур, объектно-ориентированного и общего стиля.
|
|
|
+- богатая экосистема: множество библиотек, инструментов и зрелых решений.
|
|
|
+- Портативность: Код может работать на различных платформах с минимальными изменениями.
|
|
|
+- Это хорошо для задач, когда производительность и небольшие задержки важны.
|
|
|
+
|
|
|
+# Недостатки по сравнению с другими языками
|
|
|
+- Язык очень большой, много тонкостей, которые нужно знать, чтобы избежать ошибок.
|
|
|
+- управление памятью: свобода, но ответственность заключается в риске утечки и ошибок (хотя современные методы и умные показатели уменьшают этот риск).
|
|
|
+- Более продолжительное время для разработки: требуется больше времени для написания кода и внимания, по сравнению с другими языками программирования (Python, JavaScript).
|
|
|
+- Трудности, связанные с современными конструкциями: шаблоны и метапрограммирование могут быть трудно поняты; процесс составления крупных проектов иногда является медленным.
|
|
|
+
|
|
|
+C++ подходит
|
|
|
+- Те, кому нужен высокий контроль и производительность.
|
|
|
+- разработчики программного обеспечения, игры, внутренние и финансовые приложения.
|
|
|
+- Те, кто готовы изучать сложные, но мощные инструменты.
|
|
|
+
|
|
|
+C++ - это мощная и гибкая формулировка для задач, где важно скорость и контроль. Это дает превосходную производительность и возможность, но для изучения требуется время. Для быстрых прототипов и задач без жестких требований скорости часто требуются более простые языки, а для критических вариантов скорости C++ остается одним из наилучших вариантов.
|