C vs C++

78 отговора 0 прегледа
#1

C vs C++

Спомням си, преди време, тук особено дългите теми бяха по повод езици за програмиране.

Текущата тема е предизвикана от сигнатурата на един от пишещите тук, ще го помоля да обясни какви са причините да смята, че "C++ is to C as lung cancer is to lung". Молбата е сериозна, сигурна съм, че отговорът ще ми е полезен и интересен. Обръщам се персонално към Пайп, защото допускам, че повечето тук ще са "за" C++, а как може да има полезно разискване, без различни гледни точки?

Какво е повече в C++ и какво му е в повече?

Green Peas!
Отговор
в отговор на devnul #2

искаш да ни сбиеш ли?

нали наскоро имаше караница по темата?
е, като ще се почва боя, да пролея първа кръв - всички С маниаци са сополанковци без абстрактно мислене, не умеещи да схванат концепция по-сложна от функциите и масивите




NE SUTOR ULTRA CREPIDAM
Отговор
в отговор на devnul #3

Re: C vs C++

ООП

Наследяване на класове(пеизползваемост на код),виртуални функции,които позволяват да промениш функционалността на даден клас със сравнително малко код,автоматични деструктори и конструктори.

Отговор
в отговор на devnul #4

Re: C vs C++

Е това е известен цитат от някой си... питай гоогле



Вися на мекия космат хуй на времето.
Отговор
в отговор на devnul #5

Re: C vs C++

Съжалявам, но ме мързи, имам си по-интересни занимания в момента.

P.S. Хмм, сигнатурата ми е изчезнала някъде, веднага я сменям :)

Object-oriented design is the roman numerals of computing - Rob Pike

Редактирано от | на

Отговор
в отговор на devnul #6

Re: C vs C++

(Хайде аз ще взема първата смяна от 6 до 12 срещу С++. Мата Космата да ме смени от 12 до другото 6, а втората мата космата е веднага след това.)

Що е то дето може да се направи със Ц++ а не може на Ц? Обекти? Да си направиш обекти ти трябва една хеш таблица от пойнтери към функции, а със добре организация на кода дори няма да е толкова грозно. Ц++ докарва цял нов синтаксис за същите неща.

Отговор
в отговор на MaтaKocмaтa #7

Re: C vs C++

Писнало ми е да разговарям с гуглето, с вас исках да си поговоря.

Green Peas!
Отговор
в отговор на selandur #8

а що е то

дето не може да се направи със асемблер и копи-пасте?




NE SUTOR ULTRA CREPIDAM
Отговор
в отговор на zaphod #9

Re: а що е то

Асемблера не е конкретен език. Един и същ код може да се компилира на всички платформи със Ц. Освен това дори да разгледаме само х86, непрекъснато има нови разширения, разлики между АМД/Интел, т.е много пренливи неща за помнене. Една от заблежките към Ц++ е именно големия обем нов синтаксис.

Отговор
в отговор на selandur #10

Е, ти пък

ако те плаши синтаксиса на езика за програмиране - какъв програмист си
А сега сериозно - ти виждал ли си код написан на С, който да наподобява С++? Аз съм виждал - имаше един образ навремето, който беше прочел една книжка и я беше приложил на практика - всичко си имаше - и виртуални функции, и "наследяване" (той си поддържаше всичко сам) - в резултат - беше загубил на фирмата 2 години (200 хиляди долара) - и в крайна сметка след като напусна имахме един абсолютно невъзможен за поддържане код.
Наложи се да му пренапиша програмата в свободното си време, защото иначе и аз трябваше да напусна.

Обектно-ориентираното програмиране ти дава преди всичко улеснение за поддръжка - така както процедурното ти дава предимства пред асемблерите. Софтуера е преди всичко бизнес, колкото и да ни се иска на нас да е изкуство или средство за "чешене на крастата"

Отговор
в отговор на koм #11

Re: Е, ти пък

Първо, аз съм в лайняната марианска падина от код на различни езици.

Или ти или колегата ти е бил тъпак. Напълно е възможно да се пише и подържа такъв код.

Отговор
в отговор на koм #12

Re: Е, ти пък

То това въобще не е новост (С със С++ елементи).
Даже има UML-тулове, които генерират такъв код. Някой от JCI да каже

Вися на мекия космат хуй на времето.
Отговор
в отговор на devnul #13

Re: C vs C++

Ама ти кво питаш всъщност? :)

Едно време основния проблем на С++ беше грубо казано, че хора, които са писали на С чули, че С++ е същото, само слагаш функции в структура и си готов.

Вися на мекия космат хуй на времето.
Отговор
в отговор на devnul #14

Re: C vs C++

Аз страна няма да вземам, само ще постна няколко бисера за да поддържам огъня

Q. How many C++ programmers does it take to change a light bulb?
A. You're still thinking procedurally. A properly designed light bulb
object would inherit a change method from a generic light bulb class,
so all you'd have to do is send a light bulb change message.

When your hammer is C++, everything begins to look like a thumb.

C++: Take one part C, 5 parts "bad hacks", 6 parts "bad language features", 9
parts "unclear on the concept", and blend. Has taste and consistency of vomit.

C++ is the only current language making COBOL look good.
--Bertrand Meyer

Java: the elegant simplicity of C++ and the blazing speed of Smalltalk.

"C++ is an insult to the human brain."
- Niklaus Wirth

Отговор
в отговор на selandur #15

Разбира се, че

е възможно. Всичко е възможно - стига да имаш достатъчно време и пари.

Има само един малък проблем - че създаването на подобен код неминуемо води до създаване на доста по-сложен синтаксис (под формата на функции) - ама - нейсе.

Отговор
в отговор на MaтaKocмaтa #16

И с теб съм съгласен

не е новост изобщо. Въпроса е защо да ручаме жабетата.

Отговор
в отговор на | #17

Ако си падаш

по афоризми за С++ - ето моя любим:

In C++ only your friends can touch your privates.

Отговор
в отговор на devnul #18

Re: C vs C++

Аз пък съм твърдо за C!
В областта в която аз работя, "компютрите" рядко имат повече от 1К памет и човек да ползва C++ е все едно да си режеш ноктите с моторна резачка за дърва. Да не говорим, че персонално аз смятам безброй "подобрения" в C++ за безумни а и поради откачения стил на мислене на ООП и до по-ниска надеждност на софтуера като цяло

Отговор
в отговор на devnul #19

Re: C vs C++

“C++ is to C, as lung cancer is to lung.” —Clayton Cramer.

Тъй че спрашивай Клейтън Цреймър по този въпрос. Напълно съм съгласен с мего бай дъ впрочем.

Отговор
в отговор на MaтaKocмaтa #20

Re: C vs C++

Може и да не ги слагаш.Пак е същото

Отговор