|
1 / 1 / 0
Регистрация: 27.02.2009
Сообщений: 5
|
|
Сравнение С++ и Pascal27.02.2009, 12:06. Показов 48900. Ответов 300
Метки нет (Все метки)
Люблю и уважаю С++. Даже преподаю. Тут до меня один ученик прикопался: докажи ему, что С++ круче чем Pascal или Делфи. А я сердцем чувствую, а доказательств нет. Вроде и функции и указатели и классы и там и там. Подкиньте идейку, а то не учит ведь - С ему, понимаешь, не нравится.
![]() PS аргумент "На С PHP и Java основывается" не прошел.
1
|
|
| 27.02.2009, 12:06 | |
|
Ответы с готовыми решениями:
300
Что такое параметрические типы данных в Object Pascal и как привести сравнение механизмов наследования?
Сравнение текста из файла и сравнение с текстом в программе char - Dev C++ |
|
181 / 33 / 7
Регистрация: 29.10.2008
Сообщений: 283
|
|
| 04.04.2009, 17:58 | |
|
0
|
|
|
|
|||
| 04.04.2009, 19:10 | |||
|
Сейчас это делается для лучшей исполняемости кода но новые процессоры. К примеру, если взять обычный цикла байтового копирования (уже в машинном коде), то он практически не может быть распараллелен (на несколько исполняющих устройств), т.к. почти каждая операция зависит от предыдущей. А потому в машинных тактах этот цикл что на одноконвейерном 486, что на 4-хконвейерном Pentium3 исполняется в одно и тоже количество тактов (тонкости времянки конвейеров не буру в расчёт). А теперь если это копирование делается в одну машинную инструкцию, то аппаратно новый процессор её может исполнять более эффективно, чем тарый (к примеру, анализировать размер блока, и если он длинный, то делать копирование кусками по 8 байт и т.п.). Т.е. с улучшением процессора будет улучшаться и микроархитектурное исполнение кода А что касается всей темы - спор как-то ни о чём. Из разряда того, что один доказывает что трактор круче, потому что по болоту проедет, другой говорит, что мотоцикл лучше, потому что в пробке между машинами проскочить можно. Паскаль - высокоуровневый язык. Как уже отмечалось, был создан в таком виде, чтобы можно с ним было работать по однопроходной схеме. Вирт он скорее преподаватель/математик, а потому и язык создан примерно под такие цели - обучать студентов мыслить астрактно в терминах переменных. Так же как и остальные его языки а-ля Модула, Симула и тому подобное (в истории разбираюсь не сильно, а потому прошу простить, если что напутал с создателями). В состав языка входят макрооперации, которые кроме как через библиотеки внешней не реализовать никак. И большая часть этой поддержки пишется либо на ассемблере (когда ещё Си не появился), либо на Си (в современном мире). Язык довольно жёстко стандартизован, а потому в нём очень мало undefined свойств. Но в то же время я, например, никогда не слышал о реализация паскаля под Sun-Solaris или что-то другое, отличное от Интела Язык Си - это фактически ассемблерный код, но в котором нет непосредственной работы с регистром и памятью, а сделано через переменные, как и положено в языках программирования. На си пишется практический весь нижний уровень (операционная система + библиотеки). Язык разрабатывался программистами и для программистов. Язык не содержит никаких макроконструкций, требующих какую-то системную поддержку. Т.е. язык самодостаточный и именно поэтому он работает на всех современных платформах и на нём пишут низкоуровневые коды - разработчики позаботились о прероцессировании и о том, чтобы коды на языке нормально состыковывались с кодами на ассемблере (понятно, что в этом месте возникают программные соглашения). Если задача состоит из нескольких файлов, то препроцессированные тексты, будучи поданными на различные компиляторы различных разработчиков ОБЯЗАНЫ быть совместимыми друг с другом Язык Си++ это язык высокого уровня - дальнейшее развитие языка Си. Изначально программисты разработали некий "C with classes", а зетем математики развили это дело до современной мегаконцепции. Многие из тех, кто программирует на Си++ даже и не догадываются о существовании кучи возможностей языка, потому как в жизни они им не особо нужны, но они есть для математической полноты. Свойство языка такое, что генерировать эффективный код с него очень сложно, в том числе и из-за существующей идиоматики написания кодов на Си++. В современных библиотеках нормальное явление, когда когда идёт какое-нибудь многоэтажное виртуальное наследование классов, обложенное пятью шаблонами и вложенное в сем namespace'ов, после чего при маленькой ошибочке вылезает сообщение линкера, что мол не найден символ и далее на полстраницы пересичление полного имени. Т.е. абсолютно правильного языка нет. У каждого свои достоинства и свои недостатки. Выбор языка зависит от того, что вы хотите программировать. Если консольное системное приложение - это Си, если несложное окошечное приложение - то пустьбудет дельфи, если бльшущее многоконное приложение - то мне кажется уже Си++. Если пишем переносимое на другие платформы приложение - то однозначно Си\Си++ БЕЗ использования каких-либо билдеров от борланда или микрософта
1
|
|||
|
11 / 11 / 0
Регистрация: 31.03.2009
Сообщений: 69
|
||
| 06.04.2009, 11:09 | ||
|
Может, под твоим ником кто другой зашел и меня сминусил? Но мне от этого не легче!
0
|
||
|
нубик программист)
96 / 10 / 0
Регистрация: 04.06.2008
Сообщений: 348
|
|
| 04.06.2009, 10:03 | |
|
а че мучить Паскаль учили бы сразу С++ они же пахожи
0
|
|
|
Администратор
87972 / 53293 / 249
Регистрация: 10.04.2006
Сообщений: 13,783
|
|
| 04.06.2009, 10:19 | |
|
0
|
|
|
19318 / 2626 / 84
Регистрация: 17.02.2009
Сообщений: 30,364
|
||
| 04.06.2009, 10:35 | ||
|
0
|
||
|
Почетный модератор
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 | ||
![]() Все от кривизны рук зависит.
0
|
||
|
MCSD: APP BUILDER
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
|
|
|
нубик программист)
96 / 10 / 0
Регистрация: 04.06.2008
Сообщений: 348
|
|
| 04.06.2009, 18:33 | |
|
хз Паскаль незнаю
![]() я в начале тоже думал то ли с него начать,то ли с С++
0
|
|
|
|
|
| 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 | ||
|
у нас в стране случается и случалось и не такое... у нас просто страна непуганых идиотов(с), платят прогерам мало, вот и пишут на чём попроще, и забить на конкурентоспособность и быстродействие продукта, как это по-русски) делфи - это костыли к паскалю, учебному языку, а костылями пользуются те, кто не может без них, естественно, я не в коей мере не приуменьшаю значимость их для обучения, ибо машины казённые, софт не на продажу, в общем не стыдно, ибо можно сказать "я не волшебник, я только учусь"(с). Обычно роясь в интернетах, видишь, такие ссылки как "делфи глазами хакера" и прочее подобное, следовательно либо язык так позиционируют, либо это "у нас в стране" им пользуются всякие скрипткидди и прочие недоросли... Если честно, противно даже становится, может из-за этого я считаю делфи языком для баловства, а не для серьёзной работы... Извините, если кого-то задел, но это моё мнение.
0
|
||
|
22 / 20 / 5
Регистрация: 11.02.2009
Сообщений: 383
|
|
| 25.12.2010, 00:37 | |
|
CyberHunter,
поддерживаю... поступил на ВМК МГУ этим летом... перед этим программировал на Сях года 4 так тут нам втирают про "паскаль машину", да и не просто втирают а заставляют писать проги на каком-то тупом стандарте языка паскаль, причем делает это 60-летний шипилявый старпер, похожий на жабу, который меня просто выбешивает. такое впечатление что кроме того, чему его научили 40 лет назад он больше ничего не знает, но он типо очень гордится тем, что он знает... в общем в россии нет нормальных преподавательских молодых кадров. С++ довольно молодой язык... в 98 вроде году вышла только первая его стандартизация (поправте ес ошибаюсь) програмирование - развивающаяся гигантскими шагами наука и большинство молодых программистов, закончивших нормальные вузы, такие как мой, быстро сваливают за бугор, что не могли сделать те, кто щас имеет мозг студентам тупой ненужной ересью.
0
|
|
|
|
||
| 25.12.2010, 11:55 | ||
|
0
|
||
|
22 / 20 / 5
Регистрация: 11.02.2009
Сообщений: 383
|
|
| 25.12.2010, 12:03 | |
|
Evg,
вот это я и имел ввиду)
0
|
|
|
22 / 20 / 5
Регистрация: 11.02.2009
Сообщений: 383
|
||
| 25.12.2010, 13:26 | ||
|
если перечислять дальше то из отечественных более-менее нормальными продуктами можно назвать qip и 1с (и то врядли) я уж не говорю о железе... однако вспомнить можно только суперкомпьютер стоящий в подвале нашего корпуса. И то около корпуса стоят 5 охладительных машин, на которых рядом с надписью "российские суперкомпьютеры" стоит эмблема какой-то западной фирмы))
0
|
||
|
|
|
| 25.12.2010, 15:06 | |
|
-MefistofeL-, просто началось с фразы из поста #114: "у нас просто страна непуганых идиотов(с), платят прогерам мало, вот и пишут на чём попроще, и забить на конкурентоспособность и быстродействие продукта, как это по-русски)". Согласись, причина вовсе не в этом. Это является общей проблемой ведения бизнеса в нашей стране, но никак не является проблемой обучения (60-летних старпёров и т.п.)
0
|
|
| 25.12.2010, 15:06 | |
|
Сравнение DateTime - Почему сравнение запаздывает на 1 мин
Различия трансляторов Pascal ABC.Net и Turbo/Borland Pascal
Из множества выбрать три различные точки по условию -из Turbo Pascal во Free Pascal Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Был там один разговор по поводу свободы в материальном мире.
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.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|