Страница 1 из 2
C или C++
Добавлено: 13 июл 2005, 00:35
дааааааа
я вот по сих пор не могу понять на что все таки сделать больший упор на С или С++ , все таки синтаксис немножко разный не хочется их путать , а вообще нужен тот который на данный момент используется в Линухах , например в Федоре или Дебиан что лучше стоит учить , да и вообще смотря на сегодняшний день какие перспективы чему светят

Добавлено: 13 июл 2005, 06:28
Anonymous
Лучше учи С, на нем написано большая часть программ Linux'a. И ядро тоже.
Добавлено: 13 июл 2005, 09:40
dojlid
Усё залежыць ад задачы. Ды лепей ведаць і тое й іншае.
Добавлено: 13 июл 2005, 09:44
Llama
дааааааа, следцует понимать - C и C++ - это два _разных_ языка с очень похожим синтаксисом...
C - традиционно язык системного программирования, получаемый код как правило несколько быстрее чем у C++.
C++ чаще используют для написание прикладного софта, хотя C++ ИМХО менее стандартизирован.
Для начала разберись, что и менно тебе интересно будет писать...
А софт в дистрибутивах написан на чем угодно, пологою помимо C/C++ в дистриубутивах очень активно исползуется perl, python, tcl/tk и банальные shell-скрипты Несколько реже - lisp, ruby, java...
Добавлено: 13 июл 2005, 16:19
loge
Llama писал(а):следцует понимать - C и C++ - это два _разных_ языка с очень похожим синтаксисом....
Eto y tebia posle Perla ?:)
C javlaetsa 4ast'u C++. Prakti4eski lybaja programma na C mojet bit' skompilirovana kak C++. 4to zna4it dva _raznih_ ?
2 avtor:
Tak 4to y4i C++

Добавлено: 13 июл 2005, 16:22
booxter
loge, давай скампіль мне, калі ласка, xfce4 кампілятарам g++.
Добавлено: 13 июл 2005, 16:54
Llama
loge,
Разных - в том смысле что писать на них надо _по разному_ иначе ничего хорошего не выйдет. Если не использовать OOP то зачем ++, а если использовать - то это все же два разных языка со своими особенностями...
Добавлено: 13 июл 2005, 17:27
loge
boxter писал(а): loge, давай скампіль мне, калі ласка, xfce4 кампілятарам g++.
poprobyi sam. make CC="/usr/bin/g++ -g -x c -fredo" kogda doidet do kompanovki -- cd src && make CC="/usr/bin/g++ -x c -ansi". eto dla xfcedesctop-4.0.5.
Добавлено: 13 июл 2005, 17:31
loge
imeetsa vvidy kogda doidet do komponovki :
xfdesktop-backdrop.o
xfdesktop-main.o
xfdesktop-menu.o
xfdesktop-settings.o
xfdesktop-workspaces.o
v
xfdesktop
Добавлено: 13 июл 2005, 17:35
loge
LIama, ja ne spory 4to pisat' na nix mojno po raznomy, ved' i pishyt na nix raznoe i po raznomy.. ja prosto govoru o tom 4to C javlaetsa 4ast'u C++ i vse.
Добавлено: 13 июл 2005, 18:17
exe
loge,
Я считаю что ты допускаешь самую большую ошибку,
как и много других людей.
С не является частью С++. Это только с виду так.
Если бы являлся, то любую прогу на С можно было бы скомпилять
обоими компайлерами и получить абсолютно такой же исполнимый код.
Добавлено: 13 июл 2005, 18:51
geo
Вот ссылка на FAQ на сайте Страуструпа. Читаем, думаем

надеюсь, ответы автора С++ оспаривать никто не будет?:
http://www.research.att.com/~bs/bs_faq.html#difference
И цитата для тех, кому лень идти по ссылке:
C++ is a direct descendant of C that retains almost all of C as a subset. C++ provides stronger type checking than C and directly supports a wider range of programming styles than C. C++ is "a better C" in the sense that it supports the styles of programming done using C with better type checking and more notational support (without loss of efficiency). In the same sense, ANSI C is a better C than K&R C. In addition, C++ supports data abstraction, object-oriented programming, and generic programming (see The C++ Programming Language (3rd Edition)"; Appendix B discussing compatibility issues is available for downloading).
Добавлено: 13 июл 2005, 19:22
loge
geo, esli ti ne ponal o 4em spor:
Liama skazal 4to C i C++ eto dva raznih jazika. Na eto poly4il vozrajenie, t.k. po moemy(i mneniju sozdatela) C javlaetsa podmnojestvom C++ (esli virajenie "javlaetsa jast'u" po vashemy mneniju ne ravnozna4ano "javlaetsa podmnojestvom", to izvinite, nepravilno virazilsa, no tem ne menee imel vvidy imenno eto).
C++ is a direct descendant of C that retains almost all of C as a subset
C++ eto pramoi potomok C, kotorii sohronaet po4ti ves' C kak podmnojestvo.
Добавлено: 13 июл 2005, 21:54
geo
Я ни с кем не спорю. просто привел выдержку с сайта создателя языка. То, что C++ включает все подмножество операций и возможностей С - факт, который отрицать глупо. Не менее глупо утверждать, что любая программа на С может быть легко откомпилирована любым компилятором С++ ровно в тот же код, что и родным компилятором.
Вопрос ведь не в том, чтобы радостно прыгать и кричать одну фразу из описания языка. Если вернуться к сути темы, то человек спрашивал, какой язык ему лучше учить. Здесь уж каждый поступает по-своему. Я, например, в свое время начинал с С, потом перешел на С++. Немало писал и на других языках со схожим синтаксисом, и скажу, что после любого первого языка все языки, базирующиеся на схожих конструкциях, кажутся страшно близкими родственниками. На первый взгляд. Когда знакомишься с языком (а тем более не с одним) поближе, понимаешь, что каждый изх них имеет свои сильные и слабые стороны. Да, на С++ можно писать в стиле С. Получаемые откомпилированные программы будут, конечно, несколько больше по размеру и не столь хорошо оптимизированы именно с точки зрения чистого С. Если задача только в изучении языка, то С++ в этом случае будет предпочтительнее.
А языки действительно разные (тут прав exe). Разные с точки зрения подхода к написанию программ. От непонимания этого факта потом и получаются мега-программеры, из-под пальцев которых выходит такая каша, что человеку, столкнувшемуся с их творениями не позавидуешь. Не говоря уже об эффективности готового продукта.
Добавлено: 14 июл 2005, 08:43
Foxx
имхо предмет спора глуп.
афтор, смотри просто, что в жизни пригодицца.
чистый C, согласно последним веяниям, живет только в люникс-подобных средах и в серцах программеров old-school. В остальном весь буржуйский мир стремится к упрощению и переходит на ООП, значительным шагом к пониманию которого будет изучение сиплюсов. От линейного программирования переход к ООП без наличия хорошего наставника дается обычно нелегко.
Оптимумом будет умение и того и другого (с изучением си в дальнейшем понимаешь, как ооп-концепты си++ складируются в памяти, например, как работают потоки данных и т. п.).