LINUX.ORG.RU
ФорумTalks

C и C++ - это разные языки ?


0

0

блин, пипец )) - щас чуть не до крика спорил с коллегой (Oracle DBA), о том, что Delphi и Pascal - это разные языки ))
LOL Чувак настолько педант, что просто не понимает разницы...
..потом оказалось, что для него C и C++ тоже один язык )) !

афигеть! - приходится работать с такими ламерами (((
..я ему и ссылки на wikipadia дал, и на статьи (на нормальных сайтах) - пофиг...

дуб полный.

можно ли как-то ему доказать это ? Есть ли какие-то более весомые источники на специяикацию языков, чем википедия ?


P.S. - just for Fan ))

★★★★★

Чувак аргументирует все это тем, что ведь языки-то почти ничем не отличаются - да, добавили классы (C vs C++), добавили всякие новые фичи, но ведь язык-то отт же остался )), а вот типа perl и C - это уже два разных языка ))

dreamer ★★★★★
() автор топика
Ответ на: комментарий от dreamer

Скажи что ITшник из него говённый, но зато 2-3 кубометра метана могут выйти отличные.

anonymousI
()
Ответ на: комментарий от boombick

дык, он и не отрицает что в С++ добавили обьекты!
Но типа это просто новая версия языка, то есть язык тот же, но более новая версия ))

Если спор о Delphi/Pascal я еще как-то мог понять - ну не совсем явно там видно, что это 2 разных языка ...и что Delphi - это официально зарегистрированный язык Борландом, но заявление, что C и C++ - это один язык, меня просто убило ))
..Это все равно что сказать, будто Слака и Генту - один и тот же линукс ))


P.S> и ведь человек ВМК закончил (((

dreamer ★★★★★
() автор топика

В книжке, по которой я учил C и C++, был целый параграф под названием "Особенности C++, не связанные с ООП". Если я ему отсканирую - как думаешь, поможет?

Ну, и пусть изобразит мне обработку Exceptions в Pascal. Я порадуюсь за него :)

anonymous
()
Ответ на: комментарий от Xellos

> С++ - надмножество C.

Не совсем. Есть принципиальные отличия, позволяющие программе на C не быть корректной C++-программой.

anonymous
()
Ответ на: комментарий от dreamer

>дык, он и не отрицает что в С++ добавили обьекты! Но типа это просто новая версия языка, то есть язык тот же, но более новая версия ))

Скажи ему что мужчина - это тоже женщина. Просто убрали сиськи, добавили яйца, член, щетину и повысили волосатость.

anonymousI
()

Хммм не то что C и C++ разные языки ... есть ещё ObjC :) и K&R диалект С :) А C++ это бред Страуструпа...

robot12 ★★★★★
()

А английский и немецкий тоже один язык, я так понимаю?

stassats ★★★★
()
Ответ на: комментарий от anonymous

>Ну, и пусть изобразит мне обработку Exceptions в Pascal. Я порадуюсь за него :)

я приводил это как пример, но он говорит, что это просто добавили новую возможность в язык.

dreamer ★★★★★
() автор топика
Ответ на: комментарий от boombick

>пусть попробует писать объектно-ориентированный код на С

собственно это реально: вопрос в том что для этого надо приложить мозк ;)

OOP это всего лишь подход, а не язык.

alphex_kaanoken ★★★
()
Ответ на: комментарий от dreamer

> Если спор о Delphi/Pascal я еще как-то мог понять - ну не совсем явно
> там видно, что это 2 разных языка ...

program test;
var
  TestFile: Text;
begin
  Assign(TestFile,'c:\config.sys');
  Reset(TestFile);
  Close(TestFile);
end.

Скомпиль-ка в delphi, зайчик.

anonymous
()
Ответ на: комментарий от robot12

>А C++ это бред Страуструпа...

дада именно он очень хотел программировать, но не знал C поэтому придумал C++ ;)

alphex_kaanoken ★★★
()
Ответ на: комментарий от dreamer

> я приводил это как пример, но он говорит, что это просто добавили новую возможность в язык.

Borland взяла язык Pascal как основу. Где надо - подрихтовала, что-то изменила и ОЧЕНЬ много добавила. Получился Delphi. Это уже НЕ паскаль. А то, что несёт твой "друх" - просто редукционизм и демагогия. Этак можно поэтапно пройтись по всей эволюции от амёбы до человека и доказать, что человек - это такая амёба. Фсат, короче.

anonymous
()
Ответ на: комментарий от Xellos

>С++ - надмножество C

Не-а. Нифига подобного

//golodranez

anonymous
()

я так понимаю что чувак ООП не учил

abcypd
()

> щас чуть не до крика спорил с коллегой (Oracle DBA), о том, что Delphi и Pascal - это разные языки

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

anonymous
()

Вообще то Делфи это не язык програмирования а IDE для Object pascal. а С++ это расширение С и теоритически можно писать на С то же что и на С++ но только все обекты нужно будет руцями писать.

anonymous
()
Ответ на: комментарий от Xellos

>Пример программы на C, не являющейся C++ программой?

Щас не приведу(тк не спец по Це Пе Пе), но во многих книгах(и у Страуструпа тоже) упоминается, что не любая Си программа может быть компилированна Си++

//golodranez

anonymous
()
Ответ на: комментарий от anonymous

> Вообще то Делфи это не язык програмирования а IDE для Object pascal.

Ага. Предлагаю вступить в полемику с автором этого опуса, http://en.wikipedia.org/wiki/Delphi_programming_language :

used the name "Object Pascal" for the programming language in the first versions of Borland Delphi, but later renamed it to the "Delphi programming language".

Предлагаю даже свою поддержку при закидывании помидорами. Готов?

anonymous
()
Ответ на: комментарий от Xellos

> Пример программы на C, не являющейся C++ программой?

Из дома напишу. Книжка дома, я на работе. Предлагается несколько часов обождать. Не помрёшь от нетерпения, надеюсь?

anonymous
()
Ответ на: комментарий от Xellos

>оПХЛЕП ОПНЦПЮЛЛШ МЮ C, МЕ ЪБКЪЧЫЕИЯЪ C++ ОПНЦПЮЛЛНИ?

бНР ЕЫ╦ Б РЕЛС -

оПХЛЕП ОПНЦПЮЛЛШ МЮ C, МЕ ЪБКЪЧЫЕИЯЪ C++ ОПНЦПЮЛЛНИ?
мЕЯЛНРПЪ МЮ РН, ВРН АНКЭЬЮЪ ВЮЯРЭ ЙНДЮ яХ АСДЕР ЯОПЮБЕДКХБЮ Х ДКЪ яХ++, яХ++ МЕ ЪБКЪЕРЯЪ МЮДЛМНФЕЯРБНЛ яХ Х МЕ БЙКЧВЮЕР ЕЦН Б ЯЕАЪ. яСЫЕЯРБСЕР Х РЮЙНИ БЕПМШИ ДКЪ яХ ЙНД, ЙНРНПШИ МЕБЕПЕМ ДКЪ яХ++. щРН НРКХВЮЕР ЕЦН НР нАЗЕЙРМНЦН яХ (Objective-C), ЕЫ╦ НДМНЦН СЯНБЕПЬЕМЯРБНБЮМХЪ яХ ДКЪ нно, ЙЮЙ ПЮГ ЪБКЪЧЫЕЦНЯЪ МЮДЛМНФЕЯРБНЛ яХ.

аНКЕЕ РНЦН, ЙНД, БЕПМШИ ДКЪ НАНХУ яХ Х яХ++, ЛНФЕР ДЮБЮРЭ ПЮГМШЕ ПЕГСКЭРЮРШ Б ГЮБХЯХЛНЯРХ НР РНЦН, ЦДЕ НМ ЯЙНЛОХКХПНБЮМ. мЮОПХЛЕП, ЯКЕДСЧЫЮЪ ОПНЦПЮЛЛЮ ОЕВЮРЮЕР ╚я╩, ЕЯКХ ЙНЛОХКХПСЕРЯЪ ЙНЛОХКЪРНПНЛ яХ, Х ╚яХ++╩ ≈ ЕЯКХ ЙНЛОХКЪРНПНЛ яХ++. рЮЙ ОПНХЯУНДХР ХГ-ГЮ РНЦН, ВРН ЯХЛБНКЭМШЕ ЙНМЯРЮМРШ Б яХ (МЮОПХЛЕП 'a') ОПЕДЯРЮБКЕМШ ЖЕКШЛ РХОНЛ int, Ю Б яХ++ ≈ РХОНЛ char.

#include <stdio.h>

int main()
{
printf("%s\n", (sizeof('a') == sizeof(char)) ? "C++" : "C");
return 0;
}
йНМЕВМН ЯСЫЕЯРБСЧР Х ДПСЦХЕ ПЮГКХВХЪ. мЮОПХЛЕП яХ++ МЕ ПЮГПЕЬЮЕР БШГШБЮРЭ ТСМЙЖХЧ main() БМСРПХ ОПНЦПЮЛЛШ, Б РН БПЕЛЪ ЙЮЙ Б яХ ЩРН ДЕИЯРБХЕ ОПЮБНЛЕПМН. йПНЛЕ РНЦН яХ++ АНКЕЕ ЯРПНЦ Б МЕЙНРНПШУ БНОПНЯЮУ, МЮОПХЛЕП НМ МЕ ДНОСЯЙЮЕР МЕЪБМНЕ ОПХБЕДЕМХЕ РХОНБ ЛЕФДС МЕЯБЪГЮММШЛХ РХОЮЛХ СЙЮГЮРЕКЕИ Х МЕ ПЮГПЕЬЮЕР ХЯОНКЭГНБЮРЭ ТСМЙЖХХ, ЙНРНПШЕ МЕ АШКХ ЕЫ╦ НАЗЪБКЕМШ.


//golodranez

anonymous
()
Ответ на: комментарий от Xellos

фу ты, что с кодировками?

вот пример с вики -

Например Си++ не разрешает вызывать функцию main() внутри программы, в то время как в Си это действие правомерно. Кроме того Си++ более строг в некоторых вопросах, например он не допускает неявное приведение типов между несвязанными типами указателей и не разрешает использовать функции, которые не были ещё объявлены.

anonymous
()
Ответ на: комментарий от anonymous

То есть 'a' неявно кастуется к int? Хм. Интересно... Не знал.

Xellos ★★★★★
()
Ответ на: комментарий от Xellos

> Пример программы на C, не являющейся C++ программой?

int func()
{
    return 0;
}

int main(int argc, char *argv[])
{
    return func(30);
}

Sorcerer ★★★★★
()
Ответ на: комментарий от dreamer

> P.S> и ведь человек ВМК закончил (((

О! Вы не из Нижнего Новгорода случаем? Если да, то ничего удивительного, что этот человек, отучившись на ВМК так думает... я сам учусь сейчас на этом ВМК... скажу вам честно, программисты там получаются посредственные, а вот математики... ;)

Cy6erBr4in ★★★
()
Ответ на: комментарий от Cy6erBr4in

да, нет - я из Казани.
Да и человек конечно не глуп...недавно сдал OCI (вводный экзамен по Oracle). Просто он из тех людей, кто педантично повторяет вложенные и заученные формулы и истины, при этом не пытается думать сам, просто как машина твердит одно и тоже, да еще и говорит, что я сам просто поверхностно рассуждаю )), ламер чистой воды вобщем )).

dreamer ★★★★★
() автор топика
Ответ на: комментарий от dreamer

> Да и человек конечно не глуп...недавно сдал OCI (вводный экзамен по Oracle). Просто он из тех людей, кто педантично повторяет вложенные и заученные формулы и истины, при этом не пытается думать сам, просто как машина твердит одно и тоже, да еще и говорит, что я сам просто поверхностно рассуждаю )), ламер чистой воды вобщем )).

Из этих? http://www.teffy.ru/collections/i_stalo_tak/dura.phtml

anonymous
()
Ответ на: комментарий от dreamer

Хех... ну Казань тут рядом :)

Да... ламиры они такие... %)

Cy6erBr4in ★★★
()
Ответ на: комментарий от anonymous

блииин - респект за найденный рассказ! Словно про него писали )) >имейшей серьезности. Самый умный человек может быть ветреным и >поступать необдуманно, &#8212; дурак постоянно все обсуждает; обсудив, >поступает соответственно и, поступив, знает, почему он сделал именно >так, а не иначе. > >Если вы сочтете дураком человека, поступающего безрассудно, вы >сделаете такую ошибку, за которую вам потом всю жизнь будет совестно. > >Дурак всегда рассуждает.

ну копия просто ))

Фак...а ведь это уже не смешно ((

dreamer ★★★★★
() автор топика
Ответ на: комментарий от anonymous

меня тоже ))
сдавал он его прямо на работе (через инет), обложившись кучей шпор.
Готовился кажется чуть ли не год ))..

dreamer ★★★★★
() автор топика
Ответ на: комментарий от Xellos

#include <stdlib.h>

main()
{
  double * a = malloc(10 * sizeof(double))
}

Reset ★★★★★
()
Ответ на: комментарий от anonymousI

> Скажи ему что мужчина - это тоже женщина. ...

Пример опровержения не совсем удачен, так как мужчина это всего лишь женщина модифицированная TDF.

Lumi ★★★★★
()

Я вообще не понимаю, о чём тут спорить? Вопрос сугубо конвенциональный, терминологический. Какое вывод (хотя бы один) можно сделать из утверждения, что это два разных языка, или наоборот два диалекта одного?

Спорить об этом имеет смысл, только если уже договорились о чётком критерии, позволяющем определить два это языка или нет. Да и то честно говоря не имеет смысле спорить. :)

Гуманитарный какой-то спор, ей-богу. :) Вы бы ещё поспорили, есть на свете любовь или нет. :)

Teak ★★★★★
()
Ответ на: комментарий от Lumi

> Скажи ему что мужчина - это тоже женщина. ...
>Пример опровержения не совсем удачен, так как мужчина это всего лишь женщина модифицированная TDF.
Женщина - это модифицированное ребро мужчины. man "История создания человека" :-)

anonymous
()
Ответ на: комментарий от dilmah

вот его фраза -дословно -

>если язык улучшается - это значитт выходит новая версия языка а не >создается новый язык как таковой -

как с ним спорить - я не знаю ))

dreamer ★★★★★
() автор топика
Ответ на: комментарий от dreamer

>Но типа это просто новая версия языка, то есть язык тот же, но более новая версия ))

С и С++ разные языки, т.к. развиваются они независимо друг от друга, даже не смотря на то, что Си иногда берёт лучшие наработки от С++.

Selecter ★★★★
()
Ответ на: комментарий от anonymous

>Вообще то Делфи это не язык програмирования а IDE для Object pascal. а С++ это расширение С и теоритически можно писать на С то же что и на С++ но только все обекты нужно будет руцями писать.

Вообще-то в википедии утверждают, что Delphi это язык и уже давно.

Selecter ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.