Форум программистов, компьютерный форум, киберфорум
Священные войны
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.72/47: Рейтинг темы: голосов - 47, средняя оценка - 4.72
Заблокирован

А что лучше учить С++ или Делфи ?

09.07.2015, 13:38. Показов 11821. Ответов 143
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я просто не знаю что нужно учить. Подскажете ?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.07.2015, 13:38
Ответы с готовыми решениями:

Подскажите что лучше учить - C# или PHP
Хочу выучить или C# или php вот только не знаю что более востребовано. Я знаю что это два совершенно разных языка. На шарпе пишут под...

Что учить? Си или C++?
1.5 года программирую на PHP, пол года назад немного выучил java. Вот сейчас хочу попробовать что нибудь новенькое. Для себя я поставил...

Что учить первым си или си ++ или c#
Что учить первым си или си ++ или c#

143
Модератор
Эксперт CЭксперт С++
 Аватар для sourcerer
5288 / 2376 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
10.07.2015, 11:30
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от DrunkProgrammer Посмотреть сообщение
За 2 месяца без подготовки можно научиться базе языка, но не программированию.
Согласен. 2 года, если с нуля - это вот более реальный срок.
0
90 / 16 / 1
Регистрация: 08.11.2011
Сообщений: 96
06.03.2016, 21:40
Пишу в основном на Delphi XE2 научные программы. Раньше писал на С++. Многие по-наивности считают, что Delphi - это и есть язык Паскаль. Нет, глупость это! Это именно ЯЗЫК Delphi (а не только среда): так официально и именуется с 2008г примерно. В этом языке масса возможностей, коих нет в Турбо Паскале. Динамические многомерные массивы, к примеру. SetLength(MyArray, 300, 100, 200) - и готово!! Когда по необходимости перехожу на С++ - приходится вместо выделения памяти для многомерного массива и обращения к нему писать трудно читаемые коряги с указателями... В Delphi очень удобные и наглядные атрибуты у параметров функций или процедур: const, var, out . И не надо опять же никаких указателей. Кстати, список параметров процедур в C++ - убожество!! В Delphi перечислил через запятую все однотипные параметры, поставил двоеточие, потом указал тип: 1 раз. А в плюсах??? Каждому аргументу тип прописывать?? А у меня их десятки!
Едем дальше. В Delphi есть понятие вложенной функции или процедуры: она пишется прямо внутри родительской, и...имеет доступ ко всем внутренним переменным последней. Пользуюсь постоянно. В С++ подобного просто НЕТ!! Не ищите!
Не нравится пресловутый Begin-End ? Нравятся операторные скобочки {} ? Ну-ну! А попробуйте в Delphi закомментировать 1-2 символа внутри формулы - легко: {}. А в С++ ?? Гы! /* .... */
===
Про переносимость программ на целевой комп. В Delphi - всё-в-одном EXE. И меня абсолютно не парит, какого он размера - места на винчестере на тысячи таких хватит. Другие вон - джава-машины по 200Мб вместе со своей программой предлагаю ставить... Но вернёмся к С++. Там для переносимости кода нужна куча DLL. Опции компилятора /MT или пара известных DLL, например, в Visual Studio 2015 ужу не спасают, как было раньше!!
Можете, конечно, попробовать поставить Redistributable Package - он все нужные DLL содержит - только не на каждую Винду он встанет...
===
Про скорость работы приложений. Проверяйте сами на тестовых задачах, никому не верьте ! На "числодробилках" (перемножение больших матриц из веществ чисел, к примеру)- тестировал, Delphi отстаёт от С++, но... обычно на 15-20%, НЕ БОЛЕЕ.
В общем, ИМХО: C++ - язык грандиозных возможностей (для мазохистов), 90% из которых вам никогда не понадобятся, но будет греть душу мысль, что они у вас есть! Delphi - язык для практики: ничего лишнего, всё полезно и наглядно!
Да, чуть не забыл. Отладчик и визуальная среда разработки в Delphi - наголову выше Visual Studio. У последней Visual - только в названии... А разговоры про скорую смерть Delphi - слышу последние лет 10 уж точно. Скорее умрёт C++. Не случайно, при установке Visual Studio 2015 он уже по-умолчанию не ставится: вместо него идёт C#.
0
BrainOverflow
 Аватар для sab1ch
126 / 130 / 64
Регистрация: 31.03.2013
Сообщений: 556
06.03.2016, 21:50
Prok12,
vs 2315 С++
Миниатюры
А что лучше учить С++ или Делфи ?  
0
06.03.2016, 21:50

Не по теме:

Del

Миниатюры
А что лучше учить С++ или Делфи ?  
0
Модератор
Эксперт CЭксперт С++
 Аватар для sourcerer
5288 / 2376 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
06.03.2016, 22:10
Цитата Сообщение от Prok12 Посмотреть сообщение
В Delphi перечислил через запятую все однотипные параметры, поставил двоеточие, потом указал тип: 1 раз. А в плюсах??? Каждому аргументу тип прописывать??
Легко:
C++
1
std::string firstName, LastName, birthDate; // три переменные типа std::string
0
52 / 52 / 24
Регистрация: 24.12.2011
Сообщений: 133
06.03.2016, 22:12
По поводу того, какой язык лучше, можно спорить, но с тем, что С++ более популярный, чем Delphi/Pascal, думаю, спорить никто не будет.
0
Модератор
Эксперт CЭксперт С++
 Аватар для sourcerer
5288 / 2376 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
06.03.2016, 22:15
Цитата Сообщение от Prok12 Посмотреть сообщение
А у меня их десятки!
Десятки аргументов в функции? О хорошем стиле программирования читали кода-нибудь? Может лучше те параметры, которые логически связаны, обернуть в классы и в функцию передать не десятки параметров, а два-три?

Добавлено через 2 минуты
Цитата Сообщение от Prok12 Посмотреть сообщение
В Delphi есть понятие вложенной функции или процедуры: она пишется прямо внутри родительской, и...имеет доступ ко всем внутренним переменным последней. Пользуюсь постоянно. В С++ подобного просто НЕТ!! Не ищите!
"Лямбды? Не, не слышал" (с). Вы прям как тот персонаж у Чехова "Не читал, но осуждаю".
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
06.03.2016, 22:19
Цитата Сообщение от Prok12 Посмотреть сообщение
Но вернёмся к С++. Там для переносимости кода нужна куча DLL. Опции компилятора /MT или пара известных DLL, например, в Visual Studio 2015 ужу не спасают, как было раньше!!
Не надо вводить людей в заблуждение, все там прекрасно работает, и /MT, и
"app-local deployment", в том числе и на таких системах, как Windows XP.
Сам проверял буквально неделю назад на Visual Studio 2015.

Цитата Сообщение от Prok12 Посмотреть сообщение
C++ - язык грандиозных возможностей (для мазохистов), 90% из которых вам никогда не понадобятся, но будет греть душу мысль, что они у вас есть!
Был у нас тут один нелюбитель C++, помнится, тоже выступал он с такими же заявлениями.
В итоге был пойман на том, что не знал элементарных вещей. Но в грудь себя бил крепко, да.
Я тоже, к примеру, не использую вообще ничего из C++0x и выше, но при этом не могу
сказать, что оно все там поголовно ненужное.

Цитата Сообщение от Prok12 Посмотреть сообщение
Отладчик и визуальная среда разработки в Delphi - наголову выше Visual Studio. У последней Visual - только в названии...
О вкусах не спорят. Мне вообще из отладчиков нравится только WinDBG.
Кстати, Delphi уже научился генерировать нормальные dbg-файлы?
Чтобы можно было, например, открыть крэш-дамп и попасть на строку кода, в которой
произошло исключение? Вот с pdb от Visual C++ у меня такой проблемы нет.

Цитата Сообщение от Prok12 Посмотреть сообщение
А разговоры про скорую смерть Delphi - слышу последние лет 10 уж точно. Скорее умрёт C++. Не случайно, при установке Visual Studio 2015 он уже по-умолчанию не ставится: вместо него идёт C#.
"Умрет - не умрет", "актуально - не актуально" и т.п. - все это, как мне кажется, вообще
какой-то детский сад, если честно. Ну вот на C и C++ можно всякую "низкоуровневую механику"
делать, на Delphi может не так удобно, зато там куча встроенных полезных вещей типа GUI,
интеграции с базами данных и т.п. При этом он тоже нативный, без байт-кода и виртуальных
машин, это плюс к перфомансу, как минимум, и к простоте установки. Что мешает нормальному
человеку знать и успешно применять оба этих языка в работе? И еще подключить сюда
какой-нибудь Python, например, или Rust? Лишь предрассудки мешают.
0
Модератор
Эксперт CЭксперт С++
 Аватар для sourcerer
5288 / 2376 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
06.03.2016, 22:19
Цитата Сообщение от Juffin Посмотреть сообщение
С++ более популярный, чем Delphi/Pascal
Более распиареный. Как следствие, вакансий будет поболе, чем на Дельфи. Хотя, если отталкиваться от вакансий, то лучше учить Java или C#.
0
90 / 16 / 1
Регистрация: 08.11.2011
Сообщений: 96
06.03.2016, 22:24
Цитата Сообщение от gru74ik Посмотреть сообщение
"Лямбды? Не, не слышал"
Вложенная функция и "лямбда"- совершенно разные вещи!
0
Модератор
Эксперт CЭксперт С++
 Аватар для sourcerer
5288 / 2376 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
06.03.2016, 22:28
Никто не говорит, что Delphi плох. Для своего круга задач он достаточно хорош. Многие люди до сих пор его успешно используют. Не нужно быть фанатиком. Языки программирования, фреймворки, библиотеки, IDE, компиляторы, отладчики - это просто инструменты. Глупо боготворить напильники и отвёртки, и клеймить позором тех, кто предпочитает какие-то операции выполнять надфилями и шуруповёртом.

Добавлено через 2 минуты
Цитата Сообщение от Prok12 Посмотреть сообщение
Вложенная функция и "лямбда"- совершенно разные вещи!
И в чём же разница между вложенной функцией в Delphi и лямбда-функцией в C++?
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
06.03.2016, 22:40
Цитата Сообщение от Prok12 Посмотреть сообщение
В С++ подобного просто НЕТ!! Не ищите!
все очень просто:
вы неплохо знаете Дельфина, и крайней плохо - с++.
поэтому на Дельфине вам тупо проще, удобнее, и тп.

но дело даже не в этом.

дело в том, что вот такие вещи:
Цитата Сообщение от Prok12 Посмотреть сообщение
В Delphi перечислил через запятую все однотипные параметры, поставил двоеточие, потом указал тип: 1 раз. А в плюсах??? Каждому аргументу тип прописывать?? А у меня их десятки!
на самом деле не имеют отношения к собственно программированию.
(я специально не акцентирую ваше внимание на возможностях плюсов в этом смысле)

Цитата Сообщение от Prok12 Посмотреть сообщение
В общем, ИМХО: C++ - язык грандиозных возможностей (для мазохистов), 90% из которых вам никогда не понадобятся, но будет греть душу мысль, что они у вас есть! Delphi - язык для практики: ничего лишнего, всё полезно и наглядно!
а вот это уже попахивает "священным военом".
с++ - промышленный язык.
на протяжении всей своей истории он проявлял
"чудеса гибкости и изворотливости"(ц)Лурк

он стал таким, каким мы его знаем сегодня
именно под влиянием реальных потребностей,
которые ставил перед ним бизнес.

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

Добавлено через 3 минуты
Цитата Сообщение от Prok12 Посмотреть сообщение
Вложенная функция и "лямбда"- совершенно разные вещи!
есть какая то принципиальная разница?

может быть используя только лямбду,
я не смогу поиметь тот же профит,
который мог бы получить используя "вложенную функцию" ?
0
90 / 16 / 1
Регистрация: 08.11.2011
Сообщений: 96
06.03.2016, 22:49
Цитата Сообщение от Убежденный Посмотреть сообщение
Не надо вводить людей в заблуждение, все там прекрасно работает, и /MT, и
"app-local deployment", в том числе и на таких системах, как Windows XP.
Сам проверял буквально неделю назад на Visual Studio 2015.
НЕ РАБОТАЕТ! Только в простых приложениях, где подключены стандартные библиотеки.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
06.03.2016, 23:29
Да просто все. Не надо ничего выбирать. Учить С++ c упором на С++ Builder. Паскаль кстати все равно лучше освоить,делов на несколько часов чтения докаи а в жизни пригодится, даже если основным языком С++ пользовать. Только сначала С++ осваивать а потом паскаль.

Добавлено через 6 минут
Цитата Сообщение от gru74ik Посмотреть сообщение
И в чём же разница между вложенной функцией в Delphi и лямбда-функцией в C++
Разница огромна. Если вернуть адрес на вложенную функцию, и при этом она обращается к переменным в скопе родительской функции, то она при вызове просто покрешит стек. С лямбдой+замыкание такого не произойдет.
Цитата Сообщение от Prok12 Посмотреть сообщение
В Delphi очень удобные и наглядные атрибуты у параметров функций или процедур: const, var, out .
В С++ это все не только наглядно но и еще в том месте где используется, т.е. еще и очень удобно и практично.
Цитата Сообщение от Prok12 Посмотреть сообщение
И не надо опять же никаких указателей
Указатели в С++ тоже можно не использовать. Только зачастую в Дельфах постоянный вопрос где его взять.

Добавлено через 3 минуты
Цитата Сообщение от Prok12 Посмотреть сообщение
Каждому аргументу тип прописывать?? А у меня их десятки!
А почему вас с первого курса не отчислили за то что вы не усвоили такую штуку как структура? Вообще в объекто-ориентированном языке странно видеть такое количество параметров вызове. При том что через регистры в x86 передаются только первые два. для кого конвенцию __fastcall изобретали?

Добавлено через 2 минуты
Цитата Сообщение от Prok12 Посмотреть сообщение
В этом языке масса возможностей, коих нет в Турбо Паскале.
Естественно. Его же за С++ тянут за уши. Библиотека то одна на двоих и нужно чтобы эта библиотека и возможности С++ не ограничивала. Кстати если дельфу в действительно стоящий язык развить С++ Builder получится.
0
90 / 16 / 1
Регистрация: 08.11.2011
Сообщений: 96
06.03.2016, 23:36
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
А почему вас с первого курса не отчислили за то что вы не усвоили такую штуку как структура?
Не могу я использовать структуру. Отчислять надо именно вас, раз путаете паскаль и язык дельфи! В дельфи тоже есть и анонимные методы, и лямбда выражения. Найдите их в турбо-паскале! Но есть ещё и ВЛОЖЕННЫЕ функции. Это не те, что мы переадаём в качестве аргумента анонимному методу.
А не использую я в данном случае структуры, потому как (говорил в другой ветке форума) пишу сейчас код для видеокарты. Язык OpenCL. Сам язык - С-подобный (C99). Передавать в ядро (KERNEL) в качестве параметров структуры НЕЛЬЗЯ, даже многомерные массивы **Array - НЕЛЬЗЯ. Количество параметров выходит диким (ну разве что в массивы их объединять), а типы, например, __global const cl_float4* у каждого...
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
06.03.2016, 23:45
Цитата Сообщение от Prok12 Посмотреть сообщение
Когда по необходимости перехожу на С++ - приходится вместо выделения памяти для многомерного массива и обращения к нему писать трудно читаемые коряги с указателями...
А я их себе один раз написал и не парюсь. классы которые с этим работают. Ну а для тех кто неосилил std::vector есть. Есть еще DynamicArray в С++ Builder. абсолютный аналог паскалевских динамических массивов. Неплохая штука. Местами можно пользовать особенно если допилить. Вот если вас в дельфе вдруг чем то не устроит как этот массив работает, вы это поменять или доделать не сможете. А в С++ это запросто. Не далее как третьего дня приделывал этому DynamicArray чтение/запись в поток/файл. 5 минут делов. Приделать ему функцию Add чтобы не нужно было при добавлении длину устанавливать - еще минута. Еще при этом массивы получили операторы сравнения содержимого, и потомка который содержит только уникальные элементы. Так же массив получил оператор преобразования в строку.
Еще 1 минут и методы записи/чтения получили строки . А в дельфе это переделать под себя не получится без конкретных плясок с бубном или держать целое стадо функций.

Добавлено через 4 минуты
Цитата Сообщение от Prok12 Посмотреть сообщение
раз путаете паскаль и язык дельфи
Дельфи это современный подтянутый за уши до С++ диалект паскаля. Вернее урезанный компилятор С++ с всунутой таблицей парсинга паскаля
0
90 / 16 / 1
Регистрация: 08.11.2011
Сообщений: 96
06.03.2016, 23:49
Всё наоборот! Если речь идёт о C++ Builder - то это надстройка над Delphi
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
07.03.2016, 00:03
Цитата Сообщение от Prok12 Посмотреть сообщение
Язык OpenCL. Сам язык - С-подобный (C99)
Препроцессора там тоже нет? И зачем вам непонятно кем слепленный OpenCL если есть Compute Shader в котором можно все? и вообще CUDA, которая рулит в плане прог под GPU полностью заменяющих конвейер.
Цитата Сообщение от Prok12 Посмотреть сообщение
Да, чуть не забыл. Отладчик и визуальная среда разработки в Delphi
Не в Delphi а в RAD Studio. Не забывайте что у С++ Builder тот же отладчик и IDE. Кстати не все так гладко с дельфи и C++ Builder. В том плане что за 20 лет практически никакого развития языка и принципов фреймверка, даже при том что в ключевых аспектах обогнали всех остальных лет на 20.
0
529 / 432 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
07.03.2016, 00:05
Цитата Сообщение от Убежденный Посмотреть сообщение
Был у нас тут один нелюбитель C++, помнится, тоже выступал он с такими же заявлениями.
Согласен с тем чуваком. С++ перегружен. Академический язык. Изучить кашку из парадигм - пойдет. Применимость на практике - сомнительна.
Цитата Сообщение от Убежденный Посмотреть сообщение
В итоге был пойман на том, что не знал элементарных вещей.
По поводу незнания элементарных вещей. Их быстро забываешь, когда бросаешь использовать С++. Странная у любителей С++ логика, что не любят его те, кто его не знает. Логика в корне неверная. Надо идти от обратного, многие, кто не любят С++, его уже не знают, потому что в свое время слишком близко его узнали. Для меня, например, последней каплей безумия в С++ стал decltype(auto). Мне это не нравится и смотреть на весь этот синтаксический кошмар противно даже физически. Зачем тому, кто не любит С++ помнить всю жизнь про него? Не за чем. Есть, конечно, те, кто ночами дрочат на своих бывших, но это уже клиника.
0
90 / 16 / 1
Регистрация: 08.11.2011
Сообщений: 96
07.03.2016, 00:15
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
и вообще CUDA, которая рулит в плане прог под GPU
Не рулит: команд меньше. CUDA работает ТОЛЬКО с картами Nvidia. Есть ещё DirectCompute.
Есть ещё в Visual Studio надстройка к C++ - именуется C++ AMP, тоже для GPU. Вот там-то как раз активно используются лямбды, но работает очень криво.

Добавлено через 7 минут
Цитата Сообщение от Velesthau Посмотреть сообщение
С++ перегружен. Академический язык. ...Применимость на практике - сомнительна.
+100 Я именно об этом и говорил. И очень тяжёл для восприятия постороннему (не автору кода)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.03.2016, 00:15

Что учить? Delphi или c++
Что из них учить?Хорошо владею vb.net и средне c#

Что лучшие учить новичку C# или Java
Привет, последние время мне приходиться работать с Web это HTML CSS JS PHP MySQL, и не много с такими CMS WordPress и фреймворк Laravel...

Что учить: химию-биологию или программирование?
Всем доброго времени суток! Не знаю куда лучше написать,поэтому пишу здесь. Меня зовут Никита,мне 17лет. Я студент первого курса...

Какой язык лучше учить?
Помогите пожалуста какой язык лучше учить следующим.Выучил С++.Какой посоветуете следующий учить?

Что лучше С++ или Delphi
собственно вопрос в названии темы:)


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

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru