и си



Автор Панк Ленин задал вопрос в разделе Другие языки и технологии

Разница между Си и Си++ и получил лучший ответ

Ответ от Ѕулиганов Иосиф[гуру]
Б. Страуструп называл С++ поначалу как "С с классами". Т. е. С++ это С с возможностью разработки объектно-ориентированного кода. Практически все, что есть в С, заложено и в С++. Но за дополнительные возможности приходится платить. Поэтому объектный и исполнимый код на С, откомпилированный компилятором С++, как правило, тяжелее и неповоротливее, чем такой же, но полученный С-компилятором. И там, где компактность приложения и скорость его работы критична, там без колебаний отказываются от возможностей ООП и используют С вместо С++.

Ответ от Krab Bark[гуру]
Почти совсем верно. На самом деле "плюшек" исчезло очень мало, и то в большинстве компиляторов они вставлены и в C++, хотя и не входят в его стандарт.
Различия (не расширения) посмотри, например, тут:
Я бы добавил еще VLA (Variable Length Array), не включенные в стандарт C++, хотя по факту, как и всё остальное, они часто допускаются компиляторами.

Ответ от [гуру]
> за объектно-ориентированность пришлось заплатить меньшей гибкостью
Ни разу не пришлось. Никто не мешает писать на С++ приложения хоть вообще без ООП, либо применять ООП только когда считается нужнм. Точно так же можно использовать всю сишную библиотеку и вообще смешивать Си и С++ как кажется нужным, в т. ч. в пределах одного проекта и даже файла исходного кода.
Вот в C# и Java - ООП обязательно, и библиотека может использоваться только своя, а библиотека Си или С++ использоваться не может.
---
Синтаксис у всех ЯП - достаточно прост, и в общих чертах не отличается.
Везде есть условия, циклы, функции (или хотя бы goto) и т. д.
Различия же начинаются на уровне: массивов, циклов, структур, классов, пространств имен, типов значений...
То есть на уровне того, что относится не столько к синтаксису. сколько к ПЛАТФОРМЕ И БИБЛИОТЕКЕ языка.
И еще больше различий - на уровне платформы и библиотек в общепринятом смысле слова.
Главное в любом ЯП - именно библиотеки (то есть наборы готовых функций, классов и т. д., используемых при написании программ) - как стандартная библиотека, так и альтернативные и сторонные.
Критерий заточенности реализации ЯП для конкретных целей и вообще актуальности ЯП - именно наличие и качество библиотек.
И главное развитие между Си и С++ -опять же в библиотеках.
На Си невозможно работать с .NET и сторонними .NET-библиотеками.
На Си невозможно работать с Qt (во всяком случае, полноценно).
На Си невозможно работать с VCL.
Список можно продолжать.
И это и есть главная причина не использовать Си под виндой, а использовать С++.

Ответ от Лиля Калиде[гуру]
"С++" по определению включает в себя "С"
и все плюшки из С можно использовать в С++, хотя многие не рекомендуются.
И прога на "С" годится в "С++"
НО!!
У них идеология разная!
в С вообще нет понятия объекта -он на функциях. Так что никаких классов и методов.
Ближайшее в Сиплюсовому классу там "структура". но в ней в принципе не предусмотрено методов. это просто способ объединения разнородных данных без углубления дальше.
Соответственно там и сами структуры прог строятся по разному. Хотя в С++ часто используются фишки из С. И даже наследуется синтаксис.

Ответ от [новичек]
UPD:
> это тот же Си, только улучшенный
Не улучшенный и точка, а лучше подходящий для БОЛЬШИНСТВА стандартных ЦЕЛЕЙ ВЫСОКОУРОВНЕВОЙ РАЗРАБОТКИ.
В низкоуровневой разработке Си по-прежнему удобнее и мощнее, а где-то вообще вне конкуренции, так как компиляторов каких-то других ЯП под ту платформу просто нет.
Рейтинги такого типа просто абсурдны.
Из них можно лишь узнать, на чем пишет больший процент, а на чем меньший, из общего числа программистов.
Но у разных программистов задачи разные.
И если китайских программистов, пишущих прошивки для тамагочи на Си или каком-нибудь брейнфаке, оказывается, больше, чем десктопных программистов на С++ (хотя б потому что китайцев вообще больше, чем многих других народов вместе взятых), то из этого никак не следует, что ВАМ на ДЕСКТОПЕ лучше использовать Си или брейнфак.

Ответ от =Serge=[гуру]
С++ предлагает свою парадигму программирования. Принимать ее тебе или нет - определяется твоими целями и работатодателем. Лучше это или хуже определять только после досконального изучения. Писать в процедурном стиле можно и в С++.Накоплены обширные библиотеки кода С, которые можно использовать и в С++.Короткие и утилитарные функции можно писать по старинке, на С, поэтому таких программистов больше.

Ответ от Дмитрий Сниги?[гуру]
где + там лучше

Ответ от Wolfbertfx[новичек]
C++ это таже С, только с ООП. Так уж получилось что после функциональной сишки, программеров на ООП потянуло, вот из С и появились такие языки как С++ или Objective-C. На обоих этих языках можно писать обычный сишный код.

Ответ от Egregreh[гуру]
C++ более гибкий чем C. В C++ есть классы, объекты, в C только структуры.

Ответ от Петр Мартынюк[новичек]
.

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Разница между Си и Си++
Операторы в C и C++ на Википедии
Посмотрите статью на википедии про Операторы в C и C++
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*