Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

В чем разница C от C++ в программировании? И что такое Python?

ПрограммированиеPython+2
Gulay Temesheva
  ·   · 6,9 K
Разработчик программного обеспечения  · 11 мар 2019

Си - простой как валенок процедурный язык, хорош для низкоуровневого программирования, где нужна максимальная производительность и/или эффективность использования памяти и прочих ресурсов. C++ базируется на C, но добавляет множество высокоуровневых фичей, таких как:

  • объектно-ориентированная модель, конструкторы, деструкторы;
  • операторы new и delete вместо malloc/free;
  • стандартная библиотека с множеством готовых примитивов: контейнеры, потоки ввода/вывода (i/o streams), строки, регулярные выражения, алгоритмы и т.д.;
  • шаблоны;
  • обработка исключений (try/catch);
  • пространства имен (namespaces);
  • ссылки на переменные;
  • ламбда-функции (С++ 11).
    Наверняка упустил еще что-нибудь важное. Казалось бы зачем нужен C, если С++ намного лучше? Использование всего этого хозяйства не дается бесплатно. Например, использование try/catch приводит к созданию при компиляции дополнительного кода, который может существенно повлиять на производительность. Виртуальные методы классов требуют поддержки таблицы виртуальных методов и динамической диспетчеризации вызовов. Отлаживать программы на C++ тоже нередко бывает довольно больно.

Python – тоже язык программирования, но, в отличии от c/c++, компилируется в байт-код (а не в машинный код) и исполняется виртуальной машиной. Использует динамическую типизацию (c и c++ – статически типизированные). Используется как правило для задач, где важна скорость и простота разработки, переносимость. Особенно популярен для разработки сайтов (бэкенд), научных расчетов, машинного обучения и скриптов.

3 эксперта согласны
Программист, фотограф и террариумист  · 3 февр 2022
С - функциональный язык программирования с очень простым синтаксисом. Из-за этого чтобы сделать поддержку всяких экзотических процессоров/микропроцессоров - был отличным выбором. С++ - объектно-ориентированный язык программирова... Читать далее
Немножко поправлю : 1) Си не функциональный, а процедурный язык программирования. https://ru.wikipedia.org/wiki/Ф... Читать дальше
Диванный философ, по совместительству инженер  · 4 февр 2022
Упрощенно С++ объектно-ориентированное надмножество C. Хотя в нем есть и еще некоторый дополнительный функционал, но по сравнению с ООП это уже вторично. Объектно-ориентированное программирование если совсем кратко - способ... Читать далее