Другие языки программирования и технологии

чем отличаются между собой С С++ и Obj C ?

Адам Алмазов
Адам Алмазов
59 848
C - подмножество C++
C - подмножество Objective-C
Objective C - подмножество Objective C++
C++ -подмножество Objective C++

Считайте проще. Яблоко (или NextStep, не суть важно) чуток расширило языки C и C++ некими дикими на вид SmallTalk-подобными конструкциями. Нужны они для того, чтобы дергать яблочный API (он тоже пришел из NextStep вместе с Джобсом)

Ну и понятное дело, что всякие примеры кода от Яблока тоже изобилуют этими SmallTalk-подобными констукциями, даже если оно не особо нужно. И многие программисты приняли такой подход за правила хорошего тона. Обычное дело.

Выглядит это настолько страшно, что Яблоко придумало Swift. Хотя когда-то в древности SmallTalk был крутым. Просто NextStep на пару десятков лет обогнал всю индустрию. Во многом поэтому и загнулся, но созданное там добро не было потеряно.
Вебом мы тоже отчасти обязаны NextStep-у.
Максим Скляр
Максим Скляр
19 662
Лучший ответ
Адам Алмазов причем тут Apple ?
Грубо.
В С нет классов в принципе. он построен на функциях.
Си_с_классами - начальная ступень введения классов.
С++ уже полностью с объектами и классами (включает в себя С, но многое из С не рекомендуется как устаревшее. Да и идеология совершенно другая) .

Оbjectiv-C - Промежуточная ветка в реализации конкретной фирмы идущая на грани"С","Си_с_классами" и "С++"
Руся Ак - 9
Руся Ак - 9
27 060
Под виндой (как наверно и по другими десктопными ОСями, а не на МК и т. п. ) Си и C++ отличаются мало. Нужды терпеть неудобства Си при разработке под какой-нибудь WinAPI нет.
Может быть, под виндой Си имеет смысл в виде вставок в код на C++ и C++/CLI для скорости (так же как и ассемблер) и как гарант независимости от сторонних библиотек (полагаю, проекты на чистом Си Visual Studio не привязывает к VC++ Redist по умолчанию) . Ни в том ни в другом не уверен.
ВТ
Вадим Терзи
15 749
Руся Ак - 9 хи-хи!
"Си и C++ отличаются мало"
попробуй в "С" использовать понятие "класс" которого там вообще нет))