Можете простым языком объяснить разницу между языками программирования Python и C++?

Ответить
Ответить
Комментировать
0
Подписаться
4
6 ответов
Поделиться

Считается, что язык C++ является расширением (надстройкой) языка C, потому речь обычно ведут про C/C++. Текст на С/C++ в основном кросс-платформенный, то есть может работать на любой архитектуре процессора, при условии что для нее будет разработан компилятор C++ (инструмент, с помощью которого разработчик выполняет построение текста в программу). Текст программы на си/плюсах нельзя просто запустить, его нужно компилировать, например в Exe-файл. Во многом большая часть современных операционных систем и драйверов написаны на C или С++, поскольку обеспечивают максимальное быстродействие и "нативны" (дают текст ассемблера, языка процессора). В отличие от многих других языков программирования, C/C++ работает практически на всех современных устройствах и процессорах, но на чистом языке нельзя создать программу, разработчики устройств поддерживают требуемые зависимости, индивидуальные для различных платформ. Это второе узкое место языка, снижающее универсальность (но не последнее).

Python – это язык, текст которого не компилируется, а сразу выполняется на виртуальной машине, запуская конечную программу. Виртуальная машина пайтона написана на C, таким образом, код на языке Python можно запустить из-нутри программы на C, чем и является классичский интерпретатор python, которым вы пользуетесь, и другие программы, например, роботтехника или игры, в которых используется python. Наконец, текст на языке Python нельзя запустить на “голом железе”. При этом, для работы python приложения нужно так же уйма дополнительных компонентов (packages), которые должны быть установлены или предоставлены виртуальной машине. (Виртуальной машиной называется изолированное пространство памяти, потоков и стека, то есть основа работы программы. В одном программе может параллельно выполняться множество python-машин). Python более универсален, чем нативные языки, посколько один и тот же текст может быть во многих случаях успешно использован на разных платформах и процессорах, при условии, что система предоставила требуемые packages, которые использовал программист. При том каждая программа на python сама по себе package.

Языки различаются синтаксисом, то есть основными конструкциями и регламентом, используемыми программистом. Например, C/C++ и подобные им языки так и называют - C-like languages, в них доминируют фигурная, круглая и квадратные скобки. Пайтон же, в свою очередь, пытается упростить объем текста, который пишет программист, для этого где "не требуется" скобки опускаются, а для разделения блоков используются отступы (tabs) длиной традиционно в 4 пробела, в то время, как программу на C/C++ любой сложности можно написать в одну строку, если очень захотеть. В итоге python имеет альтернативный синтаксис.

Язык Python популярен именно благодаря этим отличиям от C/C++. Говоря про сходства, их очень много. Здесь и поддержка классов/объектов, автоматического управления памятью, лямбда-функции и прочие динамичные трюки, словом Python и С++ ближайшие соседи, в слегка разном исполнении, для разной аудитории и целей. Многие другие языки программирования в течение долгих лет пытались создать альтернативу Python, как на базе принципа VM, так и другими методами, но не один по всей видимости не выдержал конкуренции за место простого, динамичного и расширяемого свободного языка, даже Java.

В дальнем будущем python может оказаться вытеснен языком Go, который устраняет проблемы самого python'а и сохраняет достоинства C/C++ перед ним, но не теряет flexibility.  C/C++ же на пенсию не собираются по определению, хотя есть иные точки зрения.

Дмитрий Игоревичотвечает на ваши вопросы в своейПрямой линии
13
-3
Прокомментировать

Этот ответ написан и доступен на

Этот ответ написан и доступен на Яндекс Кью

С++ более быстрый, Python - более гибкий. В двух словах: математические вычисления - Си, искусственный интеллект - Python. Для Python можно использовать модули, поддерживающие Си, что приближает его по скорости вычислений к Си.

5
0

Я немного поправлю. Математические вычисления — Си, искусственный интеллект — Лисп, подготовка массива данных к обработке искусственным интеллектом (то есть фронтенд искусственного интеллекта) — тут уже можно и Пайтон запустить. Это же интерпретируемый язык, на нем программ не пишут.

0
Ответить

@Андрей Егоров, расскажите о "программ не пишут" разработчикам из гугл, яндекса и фэйсбук. Они над Вами поржут.

0
Ответить
Прокомментировать

Судя по вопросу, вопрошающий не разбирается в программировании.

Если это так, то представьте, что Python — это дорого и вкусно, а C++ — это дёшево и невкусно.

Дорого — компьютеру трудно выполнять программу. Вкусно — программисту легко и приятно писать код.

Дёшево — компьютеру легко выполнять программу. Невкусно — программисту сложно и нужно быть аккуратным при работе.

Что касается схожести этих языков с точки зрения простого программописателя, то эти два языка похожи между собой как испанский и польский. Вроде оба индоевропейские, вроде есть какие-то слова общего происхождения, но совершенно непохожи.

6
-1

Короче, выучите ассемблер и Питон и хватит на все случаи жизни, т.к. они могут взаимствоват т.е. сделать call отПитона к ассемблерской программе и от ассемблера кк Питонский ряд или функции.

0
Ответить
Прокомментировать

Этот ответ написан и доступен на

Этот ответ написан и доступен на Яндекс Кью

Если ещё проще, Python проще. Ему могут обучаться и дети малые, и люди намного постарше. Как говорят в Штатах, программирование со скоростью мысли. Но за это он рассчитывается скоростью. Однако в век мощного железа это уже не так критично. Поэтому он стал таким популярным сейчас.
C++ намного сложнее, но он и быстрее. Учить его как первый язык весьма сложно, особенно если ребенок или уже почтенного возраста.

Хорошей комбинацией является использование обеих языков. C++ быстрее считает, а на Python проще прототип сделать, да и GUI можно быстро сделать и при этом отправить в интернет, да и много чего другого можно сделать. Богатая встроенная библиотека и много сторонних библиотек, которые делают этот язык универсальным.

1
0
Прокомментировать

Этот ответ написан и доступен на

Этот ответ написан и доступен на Яндекс Кью

Питон написан на Си. Собственно Питон условно говоря это не Язык а библиотека написанная на Си. По крайней мере основная реализация СПитон. Есть еще JPyton он написан на Яве. Так что - Это надстройка. Скорости работы от такого ждать не приходится. Зато огромное юзабилити, простота, и синтаксический сахар

0
0
Прокомментировать
Читать ещё 1 ответ
Ответить
Читайте также на Яндекс.Кью
Читайте также на Яндекс.Кью