Форум программистов, компьютерный форум, киберфорум
Священные войны
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.74/243: Рейтинг темы: голосов - 243, средняя оценка - 4.74
1 / 1 / 0
Регистрация: 27.02.2009
Сообщений: 5

Сравнение С++ и Pascal

27.02.2009, 12:06. Показов 48900. Ответов 300
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Люблю и уважаю С++. Даже преподаю. Тут до меня один ученик прикопался: докажи ему, что С++ круче чем Pascal или Делфи. А я сердцем чувствую, а доказательств нет. Вроде и функции и указатели и классы и там и там. Подкиньте идейку, а то не учит ведь - С ему, понимаешь, не нравится.
PS аргумент "На С PHP и Java основывается" не прошел.
1
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.02.2009, 12:06
Ответы с готовыми решениями:

Что такое параметрические типы данных в Object Pascal и как привести сравнение механизмов наследования?
Доброго времени суток! Не могу понять как ответить на эти вопросы. Нашла классификацию типов данных, там параметрического типа вообще...

Turbo Pascal, Pascal ABC, Free Pascal, PascalABC.NET - в чем разница?
Всем привет, решил изучать Паскаль, но на форуме увидел 4 его версии - Turbo Pascal, Pascal ABC, Free Pascal, PascalABC.NET и не понял, в...

Сравнение текста из файла и сравнение с текстом в программе char - Dev C++
Доброго времени суток! Имеется код программы: ifstream test("primer.txt"); char awm = "kod"; char buff; test >> buff; if...

300
 Аватар для Бартимеус
181 / 33 / 7
Регистрация: 29.10.2008
Сообщений: 283
04.04.2009, 17:58
Студворк — интернет-сервис помощи студентам
Code
1
2
как раз по теме)
Интересно, а студент учит с++ или до сих пор упирается?
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21285 / 8310 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
04.04.2009, 19:10
Цитата Сообщение от Yevgenijz Посмотреть сообщение
К сожалению в PDP не было ассемблерных команд, которые пересылают массивы(в VAX и IBM были и в современных Pentium ах тоже есть[ASM]REP MOVSB
Наверное, это "к счастью", а не "к сожалению". Ибо аппаратная поддержка аггрегатного копирования (т.е копирования блока памяти) - это огромное количество лишних транзисторов. Такая поддержка раньше и сейчас делаются по разным соображениям. Раньше это делалось для того, чтобы можно было сократить код программы (ибо памяти на машинах тогда было очень мало и стоила она очень дорого).

Сейчас это делается для лучшей исполняемости кода но новые процессоры. К примеру, если взять обычный цикла байтового копирования (уже в машинном коде), то он практически не может быть распараллелен (на несколько исполняющих устройств), т.к. почти каждая операция зависит от предыдущей. А потому в машинных тактах этот цикл что на одноконвейерном 486, что на 4-хконвейерном Pentium3 исполняется в одно и тоже количество тактов (тонкости времянки конвейеров не буру в расчёт). А теперь если это копирование делается в одну машинную инструкцию, то аппаратно новый процессор её может исполнять более эффективно, чем тарый (к примеру, анализировать размер блока, и если он длинный, то делать копирование кусками по 8 байт и т.п.). Т.е. с улучшением процессора будет улучшаться и микроархитектурное исполнение кода

Цитата Сообщение от Yevgenijz Посмотреть сообщение
а жаль, тогда бы в Си были бы и такие операторы как пересылки массивов!
В си ты можешь структуры одного типа присваивать. Над массивами такой операции нет, т.к. семантика идентификатора массива трактуется несколько не так, как кажется на первый взгляд. Т.е. если мы имеем объявление "int a[3][3]" и далее используем "a", то оно трактуется как адрес начала массива (т.е. &a[0][0]), и именно поэтому используется один и тот же синтаксис для обращения к массиву и дереференс через указатель. И по этому по семантике языка нельзя написать присваивание массивов

А что касается всей темы - спор как-то ни о чём. Из разряда того, что один доказывает что трактор круче, потому что по болоту проедет, другой говорит, что мотоцикл лучше, потому что в пробке между машинами проскочить можно.

Паскаль - высокоуровневый язык. Как уже отмечалось, был создан в таком виде, чтобы можно с ним было работать по однопроходной схеме. Вирт он скорее преподаватель/математик, а потому и язык создан примерно под такие цели - обучать студентов мыслить астрактно в терминах переменных. Так же как и остальные его языки а-ля Модула, Симула и тому подобное (в истории разбираюсь не сильно, а потому прошу простить, если что напутал с создателями). В состав языка входят макрооперации, которые кроме как через библиотеки внешней не реализовать никак. И большая часть этой поддержки пишется либо на ассемблере (когда ещё Си не появился), либо на Си (в современном мире). Язык довольно жёстко стандартизован, а потому в нём очень мало undefined свойств. Но в то же время я, например, никогда не слышал о реализация паскаля под Sun-Solaris или что-то другое, отличное от Интела

Язык Си - это фактически ассемблерный код, но в котором нет непосредственной работы с регистром и памятью, а сделано через переменные, как и положено в языках программирования. На си пишется практический весь нижний уровень (операционная система + библиотеки). Язык разрабатывался программистами и для программистов. Язык не содержит никаких макроконструкций, требующих какую-то системную поддержку. Т.е. язык самодостаточный и именно поэтому он работает на всех современных платформах и на нём пишут низкоуровневые коды - разработчики позаботились о прероцессировании и о том, чтобы коды на языке нормально состыковывались с кодами на ассемблере (понятно, что в этом месте возникают программные соглашения). Если задача состоит из нескольких файлов, то препроцессированные тексты, будучи поданными на различные компиляторы различных разработчиков ОБЯЗАНЫ быть совместимыми друг с другом

Язык Си++ это язык высокого уровня - дальнейшее развитие языка Си. Изначально программисты разработали некий "C with classes", а зетем математики развили это дело до современной мегаконцепции. Многие из тех, кто программирует на Си++ даже и не догадываются о существовании кучи возможностей языка, потому как в жизни они им не особо нужны, но они есть для математической полноты. Свойство языка такое, что генерировать эффективный код с него очень сложно, в том числе и из-за существующей идиоматики написания кодов на Си++. В современных библиотеках нормальное явление, когда когда идёт какое-нибудь многоэтажное виртуальное наследование классов, обложенное пятью шаблонами и вложенное в сем namespace'ов, после чего при маленькой ошибочке вылезает сообщение линкера, что мол не найден символ и далее на полстраницы пересичление полного имени.

Т.е. абсолютно правильного языка нет. У каждого свои достоинства и свои недостатки. Выбор языка зависит от того, что вы хотите программировать. Если консольное системное приложение - это Си, если несложное окошечное приложение - то пустьбудет дельфи, если бльшущее многоконное приложение - то мне кажется уже Си++. Если пишем переносимое на другие платформы приложение - то однозначно Си\Си++ БЕЗ использования каких-либо билдеров от борланда или микрософта
1
11 / 11 / 0
Регистрация: 31.03.2009
Сообщений: 69
06.04.2009, 11:09
Цитата Сообщение от Phantom Посмотреть сообщение

Не по теме:

Что за наезды? Лично я тебя не минусил . С чего ты взял этот бред ?? Сдалось мне тебя минусить:):) И администрации тоже не писал.
Вообще, откуда весь этот бред?

Скажи просто, откуда ты это взял и почему так решил? (Не, понимаю конечно, домыслы или приход или глюки, но, может всё же обоснуешь?)

Вот взгляни нав мою репутацию : меня поблагодарили 2 раза и минус два очка, итого репа 0,а конкретно мне было написано, что этот минус от тебя, за то, что я не понимаю программ, написанных на иврите.
Может, под твоим ником кто другой зашел и меня сминусил?
Но мне от этого не легче!
0
нубик программист)
 Аватар для Мегатрон
96 / 10 / 0
Регистрация: 04.06.2008
Сообщений: 348
04.06.2009, 10:03
а че мучить Паскаль учили бы сразу С++ они же пахожи
0
Администратор
 Аватар для mik-a-el
87972 / 53293 / 249
Регистрация: 10.04.2006
Сообщений: 13,783
04.06.2009, 10:19
Цитата Сообщение от Мегатрон Посмотреть сообщение
а че мучить Паскаль учили бы сразу С++ они же пахожи
С чего это они похожи? Совершенно разные языки, разная философия.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21285 / 8310 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
04.06.2009, 10:34
Цитата Сообщение от Мегатрон Посмотреть сообщение
а че мучить Паскаль учили бы сразу С++ они же пахожи
Действительно. Зачем человека сначала на трёхколёсный велосипед сажать? Надо сразу на спортивный мотоцикл
0
 Аватар для BasicMan
19318 / 2626 / 84
Регистрация: 17.02.2009
Сообщений: 30,364
04.06.2009, 10:35
Цитата Сообщение от Бартимеус Посмотреть сообщение
как раз по теме) Интересно, а студент учит с++ или до сих пор упирается?
учит ли студент уже С++ или нет какая, собственно, уже разница? тема называется "Сравнение С++ и Pascal", а не "Как заставить студента учить С++" ))
0
Почетный модератор
 Аватар для Humanoid
11561 / 4356 / 453
Регистрация: 12.06.2008
Сообщений: 12,457
04.06.2009, 13:09
Оба этих языка являются устаревшими... на них можно только ошибки писать. Все эти вещи, когда нужно вручную работать с памятью - это ведёт к ошибкам в программе.
0
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
04.06.2009, 13:25
Цитата Сообщение от Humanoid Посмотреть сообщение
на них можно только ошибки писать
Наивный. Еще в школе, лет 10 назад, я видел как люди очень успешно писали ошибки и на Бейсике.
Все от кривизны рук зависит.
0
MCSD: APP BUILDER
 Аватар для IT_Exp
8795 / 1074 / 104
Регистрация: 17.06.2006
Сообщений: 32,602
04.06.2009, 13:56
Все эти вещи, когда нужно вручную работать с памятью - это ведёт к ошибкам в программе.
В современном C++ это уже неактуально.
auto_ptr, unique_ptr, shared/scope_ptr/array, linked_ptr, intrusive_ptr - какой больше нравится?
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21285 / 8310 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
04.06.2009, 14:28
Цитата Сообщение от Humanoid Посмотреть сообщение
Все эти вещи, когда нужно вручную работать с памятью - это ведёт к ошибкам в программе.
А на всяких jav'ах пытались от этого уйти, в результате получили язык, на котором особено серьёзного ничего не пишут. Во всяком случае во много раз меньше, чем на Си++
0
нубик программист)
 Аватар для Мегатрон
96 / 10 / 0
Регистрация: 04.06.2008
Сообщений: 348
04.06.2009, 18:33
хз Паскаль незнаю
я в начале тоже думал то ли с него начать,то ли с С++
0
 Аватар для snake32
3591 / 1721 / 236
Регистрация: 26.02.2009
Сообщений: 8,725
Записей в блоге: 5
03.02.2010, 04:46
Начал с Pascal'я ибо только его преподавали, затем Delphi и долгое время(~ года 3) плевался в сторону С++. В основном из-за того что очень странным и не понятным для меня Си обладал синтаксисом. А это определение переменных в середине кода меня вообще бесило. Даже придумал такую фишку, что типа Си придумали для тех кто код пишет шариковой ручкой на бумажках, а не на компах. Если вдруг понадобилась переменная, то тут же её объявил и не паришься! =) (на паскале для этого приходилось отступать непонятное количество строчек в разделах переменных....так сказать с запасом). Потоковый ввод/вывод(<</>>) - это вообще труба. Про шаблоны я тогда ещё не знал....слава богу. НО увлечение 3D-графикой вскоре в корне поменяло мое отношение к этому языку. Ведь большинство примеров были написаны именно на Си. У меня просто небыло выбора. Приходилось потстепенно самому изучать бредовый, как казалось по началу, синтаксис. Мало того, для улучшения производительности пытался заюзать ф-ии, которые попросту небыли объявлены в OpenGL.pas(стандартный модуть для доступа к ф-иям OpenGL). Прежде чем заюзать ф-ии приходилось её описать. И тут я подумал, на кой чёрт я буду обявлять новые ф-ии если в хедерах С++ уже давно всё обявлено и готово к использованию? Тем более что читать синтаксис я к тому времени научился без проблем, а значит и писать тоже смогу! И чем больше я писал на С++ тем большн мне он нравился. С началом изучения WinAPI до сих пор верю что ему вообще равных нет. Там где в Delphi при вызове WinAPI ф-ии есть параметр-переменная, которая тебя НЕ интересует, вот хочь что бы ты не придумал, обязательно должен обявить переменную с идентичным типом и подставить в тот НЕНУЖНЫЙ параметр, а в Си просто пишешь NULL! Очень гибкий язык. Перегрузка операторв, ф-ий; статические и динамические классы и наборы шаблонов. Всё что бы ты не задумал - реализуемо и в приятном виде! Не зря ж последние версии Delphi стали перенимать гибкость Си. Этот факт говорит сам за себя. Только всё равно, с моей точки зрения, выглядит это как-то кривовато. Как обмануть компилятор?
Хотя MSVS с её MFC выглядит тоже не фонтан по сравнению с IDE Borland. Но речь щаз не о том.
Кстати, наверно это и есть определяющий фактор популярности IDE Borland.

Как бы я тут не распинался сейчас работаю программером Delphi...на С++ видимо опыта не хватило, а есть то хочется...

Думаю, выбор языка полностью зависит от характера человека. То есть его отношению к прогаммированию. Хочет ли он быстро и без особых заморочей накатать программку(Delphi). Или же хочет достать до самого дна бездны - сути, максимально оптимизируя код, на сколько сам пожелает(С++). И там и там работает прога нормально. Но лично я бы во втором варианте получил бы больше удовольствия от процесса. И надеюсь меня не забросают комнями, а некоторые поймут.
0
13 / 13 / 1
Регистрация: 03.08.2010
Сообщений: 61
24.12.2010, 10:10
Цитата Сообщение от mik-a-el Посмотреть сообщение
у нас в стране
это всё объясняет)

у нас в стране случается и случалось и не такое...

у нас просто страна непуганых идиотов(с), платят прогерам мало, вот и пишут на чём попроще, и забить на конкурентоспособность и быстродействие продукта, как это по-русски)
делфи - это костыли к паскалю, учебному языку, а костылями пользуются те, кто не может без них, естественно, я не в коей мере не приуменьшаю значимость их для обучения, ибо машины казённые, софт не на продажу, в общем не стыдно, ибо можно сказать "я не волшебник, я только учусь"(с).
Обычно роясь в интернетах, видишь, такие ссылки как "делфи глазами хакера" и прочее подобное, следовательно либо язык так позиционируют, либо это "у нас в стране" им пользуются всякие скрипткидди и прочие недоросли... Если честно, противно даже становится, может из-за этого я считаю делфи языком для баловства, а не для серьёзной работы... Извините, если кого-то задел, но это моё мнение.
0
 Аватар для -MefistofeL-
22 / 20 / 5
Регистрация: 11.02.2009
Сообщений: 383
25.12.2010, 00:37
CyberHunter,
поддерживаю... поступил на ВМК МГУ этим летом... перед этим программировал на Сях года 4 так тут нам втирают про "паскаль машину", да и не просто втирают а заставляют писать проги на каком-то тупом стандарте языка паскаль, причем делает это 60-летний шипилявый старпер, похожий на жабу, который меня просто выбешивает. такое впечатление что кроме того, чему его научили 40 лет назад он больше ничего не знает, но он типо очень гордится тем, что он знает...
в общем в россии нет нормальных преподавательских молодых кадров. С++ довольно молодой язык... в 98 вроде году вышла только первая его стандартизация (поправте ес ошибаюсь) програмирование - развивающаяся гигантскими шагами наука и большинство молодых программистов, закончивших нормальные вузы, такие как мой, быстро сваливают за бугор, что не могли сделать те, кто щас имеет мозг студентам тупой ненужной ересью.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21285 / 8310 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
25.12.2010, 11:55
Цитата Сообщение от -MefistofeL- Посмотреть сообщение
в общем в россии нет нормальных преподавательских молодых кадров
Программирование обречено на то, чтобы это всегда было так. Есть такой принцип: "кто может - тот работает, кто не может - тот учит". Преподавать люди начинают к 50-60 годам. А развитие науки в области программирования идёт слишком быстрыми темпами, а потому человек в свои 50 лет не сможет вести на современном уровне, а лишь с отставанием минимум на 10-20 лет. А тех, кто всё-таки может - единицы. К тому же знания в институте не получить. Программист должен уметь развиваться сам.
0
 Аватар для -MefistofeL-
22 / 20 / 5
Регистрация: 11.02.2009
Сообщений: 383
25.12.2010, 12:03
Evg,
вот это я и имел ввиду)
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21285 / 8310 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
25.12.2010, 12:13
Цитата Сообщение от -MefistofeL- Посмотреть сообщение
Evg,
вот это я и имел ввиду)
"У нас в стране" или "в другой стране" - разницы нет. У всех оно приблизительно так.
0
 Аватар для -MefistofeL-
22 / 20 / 5
Регистрация: 11.02.2009
Сообщений: 383
25.12.2010, 13:26
Цитата Сообщение от Evg Посмотреть сообщение
"У нас в стране" или "в другой стране" - разницы нет. У всех оно приблизительно так.
да.. но почему-то мы сидим на windows и ubuntu, юзаем skype и google играем в half-life и unreal tournament
если перечислять дальше то из отечественных более-менее нормальными продуктами можно назвать qip и 1с (и то врядли)

я уж не говорю о железе... однако вспомнить можно только суперкомпьютер стоящий в подвале нашего корпуса. И то около корпуса стоят 5 охладительных машин, на которых рядом с надписью "российские суперкомпьютеры" стоит эмблема какой-то западной фирмы))
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21285 / 8310 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
25.12.2010, 15:06
-MefistofeL-, просто началось с фразы из поста #114: "у нас просто страна непуганых идиотов(с), платят прогерам мало, вот и пишут на чём попроще, и забить на конкурентоспособность и быстродействие продукта, как это по-русски)". Согласись, причина вовсе не в этом. Это является общей проблемой ведения бизнеса в нашей стране, но никак не является проблемой обучения (60-летних старпёров и т.п.)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.12.2010, 15:06

Сравнение DateTime - Почему сравнение запаздывает на 1 мин
public DateTime NextShort(DateTime cur, int ofset, int period) { var temp = (cur.Minute / period) * period + ofset;...

Дополните пожалуйста эти методы! скалярное произведение векторов, умножение на скаляр, сравнение векторов, сравнение
public class VectorTricks { public static void main(String args) { Vector v1 = new Vector(1, 2, 3); Vector v2...

Различия трансляторов Pascal ABC.Net и Turbo/Borland Pascal
Пожалуйста, объясните различия между компиляторами Pascal ABC.Net и Turbo/Borland Pascal

Нужно перевести программу с Turbo Pascal в Pascal ABC.NET
Вот есть программный код , но он для турбо паскаля, помогите перевести его в АБС.NET Program graphics; uses graph; var...

Из множества выбрать три различные точки по условию -из Turbo Pascal во Free Pascal
Даны 2 множества точек на плоскости. Выбрать три различные точки первого множества так, чтобы круг ограниченный окружностью , проходящий...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
120
Ответ Создать тему
Новые блоги и статьи
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru