Delphi или C++

Delphi
31
Нейтральная
сторона
8
C++
84
Прежде чем писать комментарии или выбрать сторону вы должны авторизироваться!

19-04-2009 18:52 +2

В 1969 году AT&T завершила работу над проектом операционной системы
Multics. Брайан и я
только что начали работу с ранней реализаций Паскаля, разработанной в
лаборатории проф. Вирта в Швейцарии, и находились под впечатлением
элегантности, простоты и мощи этого языка. Деннис как раз прочитал
"Уставший от колец", веселую сатиру на знаменитую трилогию Толкина
"Властелин колец". Ради шутки мы решили написать пародии на среду
Multics и Паскаль. Деннис и я отвечали за операционную среду. Глядя на
Multics, мы спроектировали новую систему настолько сложной и запутанной,
чтобы максимально "испортить жизнь" рядовым пользователям, назвали ее UNIX
как пародию на Multics, добавив много других достаточно рискованных
аналогий.
Затем Деннис и Брайан разработали по-настоящему извращенный диалект
Паскаля, назвав его "A". Когда мы обнаружили, что другие действительно
пытаются писать программы на A, мы быстро добавили еще парочку хитрых
примочек, создав B, BCPL, и, наконец, Си. Мы остановились, добившись
успешной компиляции следующего:

for(;P("
"),R-;P("""))for(e=C;e-;P("_"+(*u++/8)%2))P("" "+(*u/4)%2);

4 комментария
username 20-04-2009 19:30 +1

freefly, Во-первых, C и C++ - разные языки.

Во-вторых, у вас свои мысли имеются? Или вы только копипастить умеете?

evgikon 21-04-2009 10:48 +2

freefly, Наверно только дельфисты могут принимать эту старую байку за чистую монету :)

werehuman 21-04-2009 14:06 +2

freefly, Очень-очень старая копипаста.

rtfm 20-06-2010 15:37 0

freefly, Вы что восприняли эту старую шутку всерьёз?

Но, надо признать, шутка смешная, да.

19-04-2009 20:19 +5

Мне правда интересно узнать мнение голосующих за си. Чем си лучше, кроме того, что вы к нему привыкли?

46 комментариев
bwhite 19-04-2009 20:33 0

freefly, Как среда БЫСТРОЙ разработки — Делфи хорош. Но программы получаются весьма большими по весу. Была СТОРОННЯЯ разработка KOL, направленная на уменьшение экзешника, но насколько я знаю, она развития не получила.

freefly 20-04-2009 02:41 0

bwhite, С современными сверхмощными компьютерами и гигантскими винтами - это, по-моему, совершенно не критично! Если только ты пишешь не вирусы. Хотя и вирь на дельфях - тоже не проблема.

bwhite 20-04-2009 12:45 0

freefly, Да ну, это глупости уже. Программистов с убеждениями вроде "а нафига думать о свободном месте, и так всем хватит", надо сдавать на переквалификацию. От таких кодеров и получаются программы, которые тормозят ВЕЗДЕ. Я всё же искренне надеюсь, что педанты, экономящие каждый байт и вылизывающие архитектуру программ до совершенства не станут пережитком прошлого :(

freefly 20-04-2009 13:18 +1

bwhite, Пишите, в таком случае, на ассемблере :-p

freefly 20-04-2009 13:23 +1

bwhite, О свободном месте нужно думать, но при чём здесь Дельфи? Отключай ненужные модули, работайте с API!

saper 20-04-2009 15:44 +1

bwhite, Убеждения "а нафига думать о свободном месте, и так всем хватит" возникают уж точно не из-за используемого языка. На си++ тоже полно программистов, которые пишут тормозные проги. Вы путаете понятия: одно дело, когда программа занимает много места и тормозит из-за программиста (и это действительно плохо. Тут компьютер любой мощности не поможет). А другое, когда она весит больше и работает медленнее (причём как правило изменение в цифрах не критическое) из-за языка(компилятора) и на это далеко не всегда надо обращать внимание

saper 20-04-2009 15:51 +1

bwhite, да и freefly правильно сказал, что многие "программисты" просто не умеют настраивать Делфи так, чтобы он работал быстрее и файлы весили меньше

crazy_fizruk 20-04-2009 19:16 +1

freefly, Вы писали на Ассемблере? Много? А на Си? А Вы видели код, который генерит сишный компилятор? Вы так же сами на ассемблере напишите? А код, который генерит Делфи? Это же просто извращение.

freefly 20-04-2009 19:31 0

crazy_fizruk, Причём здесь, как я пишу? Тут важно, "хавает" машина такой код или нет. Если хавает, какие могут быть вопросы?

username 20-04-2009 19:38 +1

freefly, И вы еще пытаетесь назвать себя программистом? Да любой уважающий себя программист (по крайней мере, использующий императивные языки) должен хотя бы поверхностно знать ассемблер.

"какие могут быть вопросы? " - а производительность кода для вас уже не вопрос?

И как вам вообще хватает наглости что-то утверждать об ассемблере, если вы сами его не знаете?

crazy_fizruk 20-04-2009 19:42 +1

freefly, Можно написать ужасный быдло-код, который будет "хаваться", ну и толку от того? Скорость всегда имела и имеет значение! Даже с современными вычислительными мощностями!

P.S. Думайте прежде, чем отпостить очередную фигню.

freefly 20-04-2009 20:06 0

username, Я не специалист в области ассемблера, но немного с ним знаком. Я к тому веду, что код, созданный компилятором, изначально ориентирован на читаемость машиной, а не на читаемость человеком, так что я вообще не понимаю сути твоего довода.

freefly 20-04-2009 20:17 0

crazy_fizruk, Да пиздец же какой!!! При скорости процессора 4 000 000 000 операций в секунду, конечно, последовательность команд в ассемблере имеет огромное значение. При том, что в delphi есть свой встроенный конвертор кода в ассемблер.

username 20-04-2009 20:18 +2

freefly, Суть моего довода предельно проста. И если вы даже таких простых вещей не понимаете, я повторю еще раз и поясню. Вы слово "производительность" видели выше? Посмотрите еще раз внимательно. Delphi генерирует плохой машинный код. Он работает медленно. В первую очередь это вызвано использованием VCL, но и сам по себе ассемблерный код программы, генерируемый компилятором, далеко не оптимален. Да, как вы выразились, машина такой код "хавает", но (повторяю еще раз специально для вас, понятливый вы наш) этот код работает МЕДЛЕННО, у него низкая ПРОИЗВОДИТЕЛЬНОСТЬ. Надеюсь, хотя бы теперь вы поймете.

P.S. Как сказал наш комрад, думайте прежде, чем отпостить очередную фигню.

freefly 20-04-2009 20:24 0

username, Не используйте VCL - используйте API - кто вам мешает? А производительность раз уж на то пошло - код генерируемый компилятором, может быть, немного хуже, но я сомневаюсь, что на современных машинах это будет заметно. Если это не так, приведите ссылку, где сравнивается быстродействие, приложений, скомпилированных разными компиляторами.

username 20-04-2009 20:39 +2

freefly, "Не используйте VCL - используйте API" - ну насмешили! Кому нужен Delphi без VCL? VCL (вместе с редактором интерфейсов к нему привязанным) - это основной, если не единственный довод в пользу Delphi, а вы предлагаете его выкинуть! Браво! Вы в очередной раз доказали несостоятельность вашей точки зрения.

freefly 20-04-2009 21:22 0

username, Ну хорошо, разрушать всегда проще, чем создавать. Один довод в пользу delphi вы все-таки признали. Назовите тогда хотя бы один довод в пользу c++ :)))

freefly 20-04-2009 21:24 0

username, Я в свою очередь, могу привести ещё пару доводов в пользу delphi - огромное количество готовых компонентов для delphi и хорошая структурируемость и модульность кода.

username 20-04-2009 21:51 +1

freefly, "разрушать всегда проще, чем создавать" - при чем здесь разрушение? Я опроверг ваше бессмысленное заявление - и это вы называете разрушением?

А насчет доводов - прочитайте мое сообщение справа. И в противовес VCL возьмите хотя бы QT или GTK. VCL вместе со всеми компонентами никогда не сравнится с тем многообразием библиотек, существующих для C++. Так что, если VCL - это довод, то очень и очень слабый.

username 20-04-2009 21:52 +1

freefly, Ах да, чуть не забыл. VCL можно использовать в С++.

crazy_fizruk 20-04-2009 22:00 +1

freefly, "хорошая структурируемость и модульность кода" - это к С++, конечно же, не имеет никакого отношения... Почувствовали нотку иронии? :)

freefly 20-04-2009 22:45 0

username, Одно голословное утверждение за другим! Предъявите ваши доказательства!

freefly 20-04-2009 22:47 0

crazy_fizruk, К delphi это относится в большей степени

username 20-04-2009 23:11 +2

freefly, Что именно доказать? Существование QT и GTK? Или что VCL можно использовать в C++? Пожалуйста:

http://ru.wikipedia.org/wiki/Qt

http://ru.wikipedia.org/wiki/Gtk

http://ru.wikipedia.org/wiki/VCL

Такими заявлениями вы лишь подвержадете свою неосведомленность и некомпетентность в обсуждаемом вопросе.

bwhite 21-04-2009 00:22 0

freefly, Ах да, насчёт использования API. Почему-то все SDK "из первых рук" разбирают примеры использования исключительно на Си ;)

freefly 21-04-2009 02:19 0

bwhite, Наверное, потому, что они пишут на си. И что из этого следует?

freefly 21-04-2009 02:20 0

username, Я имел в виду вот это высказывание: "VCL вместе со всеми компонентами никогда не сравнится с тем многообразием библиотек, существующих для C++."

freefly 21-04-2009 02:23 0

username, "Не используйте VCL - используйте API" - ну насмешили! Кому нужен Delphi без VCL? VCL"

Ну если, например, вам нравится синтаксис кода, написанного на Дельфи и вам удобнее его читать, но не нравится, что он, КАК ВАМ КАЖЕТСЯ, медленно работает из-за использования VCL, вы можете не использовать VCL.

freefly 21-04-2009 02:25 0

username, А второе голословное утверждение, что код на дельфи работает медленнее. Я допускаю, что он работает медленнее, меня только интересует НАСКОЛЬКО медленнее. И является ли такой недостаток компилятора Дельфи критичным на современных машинах. Пока не приведете цифры, буду считать это утверждение голословным.

username 21-04-2009 09:12 +1

freefly, Про библиотеки - посмотрите хотя бы это:

http://en.wikipedia.org/wiki/Category:C%2B%2B_libraries

Один boost чего стоит - под Delphi нет ничего даже отдаленно похожего. И даже стандартный STL дает многое, чего в Delphi нет. А про качество кода - откройте любую программу на Delphi дизассемблером и посмотрите, там сразу все понятно. И если вам так нужны точные цифры - проведите тестирование сами. Я не собираюсь потратить уйму свободного времени чтобы доказать непонятно кому то, что и так известно.

До тех пор, пока вы будете требовать цифр, буду считать, что вы не знаете ассемблера и неспособны сами оценить качество кода.

username 21-04-2009 09:43 +1

freefly, И вообще, вы сами не привели еще ни одного аргумента в пользу Delphi. Вы только кое-как защищались от доказательств, что Delphi никуда не годится.

Перечисляйте, чем по-вашему Delphi лучше.

aerosun 21-04-2009 22:08 0

freefly, с++ удобнее в основном использовать

zinaps 10-05-2009 19:29 0

username, 1) Delphi это правильные умолчания. В отличии от глупых неспособных выдерживать критику умолчаний в С++ так например если по умолчанию в языке С++ при передаче объекта не написать звездочку то как известно это умолчание приведет к вызову конструктора копировщика что ИМХО надо в 10% а то и меньше случаев как следствие в 90% случаев это даст Вам право на ошибку.

2) с++ невозможно дать объекту более чем один конструктор с одинаковыми параметрами так как у конструктора нет имени

3) С++ не поддерживает вложенных процедур

4) С++ не умеет работать с классами наследование в нем как метод ООП представляет собой средство для сокращения писанины но не средство реализации абстракций

5) С++ не имеет правил конструирования файлов *.cpp; *.h это всего лишь соглашения на уровне самого языка в С++ никаких правил не заложено и поэтому код читать приходится везде и от недалеких сотрудников сюрпризов побольше ибо бесконтрольность это плохо.

6) Различие больших и маленьких букв дает возможность сделать незаметной шутку от хитрожепого сотрудника а если эта шутка применена в шаблоне или инлайн процедуре то я вам глубоко сочувствую ищите и найдете :) представьте себе если бы SQL был регистро чувствительным задайте себе вопрос почему SQL не регистрочувствителен.

7)В С++ отсутствует возможность создания TNotyfyEvent C# содрал их из не откуда ни будь а из Delphi а С++ сколько лет без них жил (точно не знаю живет ли и сейчас или нет) Однако TNotifyEvent или procedure of object не могут существовать без технологии ClassType так что меня терзают смутные сомнения что эта теха появилась там в прямом универсально работающем а не в извращенном усеянным 1000 ограничений виде как это обычно водится в текстово подстановочном в первую очередь препроцессорном языке С++

8)В С++ отсутствует тип string в том виде в котором он реализован в Delphi c его счетчиками копий и минимизацией расхода памяти с его независимостью от нулевого завершителя и с той легкостью с которой без дополнительного расхода памяти вся эта теха преобразуется в сишный Char c той неимоверной скоростью с и легкостью доступа к длине строки. А те методы которыми при работе со строками пользуются разрабы на С++, делфийцам при всем этом не становятся менее доступны.

9)Отсутствие в С++ быстрой конструкции case об этом я написал ниже

10)Механизм железного реализуемого на уровне компилятора автоматического контроля ссылок на интерфейсы позволяющий реализовать код с той же степенбю надежной гарантированной на уровне компилятора автоосвобождаемости не только памяти но и ресурсов занятых объектом ссылку на который я мог отправить 1000 отдельных локальных и глобальных переменных списков переменных и интерфейс листов.

Я ничего не написал про компоненты которыми я пользуюсь про то как адаптирован Делфи к работе с SQL серверами совершенно разными и не похожими друг на друга. Не только через OLE ADO ODBC BDE а и через достаточно мощные другие библиотеки компонентов обеспечивающие прямой доступ к отдельным серверам БД через их натив API и также питающие функционал столь важной для многих сишников среды .NET (в конце концов там далеко не все на c# написано).

ggdandelion 11-05-2009 18:07 0

zinaps, Бля, я вот такие комменты уважаю, я в этом нихуя не смыслю - но внушает. молодец.

mikenerevari… 11-05-2009 21:06 0

ggdandelion, Походу просто ниасилил ибо много буфк? =)))

zinaps 11-05-2009 21:25 0

mikenerevarin, Итак из всей этой кучи букаф 9 пункт я снимаю скажите спасибо username если он не подделал листинги то... короче с case по крайней мере в gcc все нормально. Икак мы выяснили лучше чем в FPC и не хуже чем в Делфи

ggdandelion 12-05-2009 01:51 0

mikenerevarin, Да нет как раз все прочитал полностью, я знаете ли буквы люблю "осиливать".

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

Так лучше?)

username 12-05-2009 11:29 +1

zinaps, Ты, кстати, так и не доказал, что Delphi генерирует хороший код и не привел примеров (помимо case), в каких случаях, С++ порождает медленный код.

zinaps 12-05-2009 21:25 0

username, Обещаю что привнду!

Хотя есть с этим ряд осложнений связаных с физиологией синтаксиса и разностями парадигм. кроме того я больше не хочу полагатся на информацию полученную несколько лет назад. С отсутствием старой памяти о тонкостях эксперимента не хочу попасть в просак как попал с кейс.

Не подгоняйте мну пусть лучше будет серьезная война фактов. Да и кроме того если 1 пунк из 10 мы вычеркиваем всеже 9 остаются

zinaps 12-05-2009 21:27 0

ggdandelion, Да кстати если у кого не из нейтралов а из сторонников С++ будут вопросы по изложенным пунктам . Ведь я уверен что там не все ясно для програмеров С++ изложено я готов давать разъяснения чтобы эти пункты не ушли в сухую пыль с головой.

username 13-05-2009 01:27 +1

zinaps, "9 остаются" - пока еще остаются. Первое заявление - голословное (что подразумевается под правильными умолчаниями? какие "умолчания" ты называешь неправильными? покажи примеры кода, где разница видна). 2й и 3й - это попросту не нужно. 4е заявление - ложь (где доказательства, где примеры?).

На первое время хватит. Давай, обосновывай свои голословные заявления. Просто написать много умных на вид слов не достаточно.

zinaps 13-05-2009 19:32 0

username, По поводу первого

class ta {

}

если ты напишеш процедуру

void work_a(ta a);

то это будет как ты понимаеш не быстро. редко когда требуется внутри процедуры копия объекта чаще нужно

void work_a(ta* a);

так вот как я пронимаю необходимость по умолчанию тыкать звезды на классы неудобнв именно по этому в Делфи сделали усторевшим ключевое слово object которое тоже требует звездочки и ввели слово class которое какбы по умолчанию содержит звездочку. А в С++ класы так и остались почти тем же самым что и struct на мой взгляд это устаревшее.

P/S

По поводу четвертого я вроде пример изложил ниже.

zinaps 13-05-2009 20:23 0

username, Пункты 2 и 3 ты их укзал как не нужные.

Ну то что ты ими не мог пользоваться не делает их ненужными. Часто во время создания объекта необходимо указать аспект создания его описывают в имени. Параметры для этого не нужны! А так как в С++ изза колосальной лени синтаксических разработчиков конструирование объекта так и осталось на операторе new то имена в конструкторах С++ остались невозможны. Поэтому С++ может поддерживать несколько overload конструкторов (кстати если отталкиваться от твоих размышлений то overload тоже был бы излишней фичей если бы ты им не пользовался).

Но что касается вложенных процедур то тут конечно все очень важно гораздо важнее чем имена в конструкторах. Ты наверно знаеш для чего используются процедуры в Языке прогрраммирования (для многократного использования кода) ты наверно понимамаеш что переменные в процедурах это чаще всего стековая память так как процедура может иметь рекурсивный вызов. Так какже в этой процедуре реализовать многократноиспользуемый вызов какогото функционала который работает с большим колличеством переменых объявленных в этой процедуре для этого в Делфи есть вложенные процедуры. Хотя можно конечно создать много параметров в процедуре и вызывать ее что в свою очередь нагрузит процессор избыточным копированием параметров.

Как быть если код такой

function Recursivel(aLevel: integer; tmp: integer=1): integer;

var

a,b,c,d,e,f,g,h,j,k,l,m,n: integer;

function GetNewN(aLevel: integer; v: integer=1): integer;

begin

Result:=(a+b+c+d+g+h+l+j+k+l+m+n+aLevel-tmp) div v;

n:=Result;

if aLevel
Result:=GetNewN(aLevel+1);

end;

begin

b:=2;a:=2;

a:=aLevel;

b:=a+1;

c:=0;d:=0;e:=0;f:=0;g:=0;h:=0;j:=0;k:=0;l:=0;m:=0;n:=1;

GetNewN(0);

if aLevel
Result:=Recursivel(aLevel+1)+GetNewN(0);

end;

username 13-05-2009 22:24 +1

zinaps, По поводу первого. Под "какбы по умолчанию содержит звездочку" ты, наверное подразумеваешь не звездочку, а константную ссылку, которая в С++ обозначается амперсандом? Может, ты, конечно, не в курсе, но ссылка и указатель - это разные вещи. И даже если простить твои ошибки в элементарных терминах, твое объяснение более чем сомнительно.

Если при использовании ключевого слова object передача аргументов происходит одним образом, а class - другим, это делает код менее читаемым.

zinaps 14-05-2009 18:40 0

username, Вот именно!!! А ты спроси ктониюудь в делфи использует object он есть токо как анохронизм. Но именно на этом прошлом веке С++ и пашет.

Ты начинаеш улавливать !!!

username 18-05-2009 20:02 +1

zinaps, То есть ты согласен с тем, что это делает код менее читаемым? И ты не считаешь, что это плохо?

21-04-2009 15:00 +1

Если сравнивать языки программирования, то по возможностям Object Pascal/Delphi и C++ практически идентичны (то, что в Delphi нет таких "очень нужных" вещей, как множественное наследование и перегрузка операторов, с моей точки зрения, только плюс).

Если сравнивать IDE - не знаю, для C++ ничего, если честно, кроме студии не видел, но смею предположить, что вряд ли есть более удобные, чем она, среды для программирования на C++. Так вот, по крайней мере что касается программирования окошечных приложений (не только простых, а, вот например килострок на 100), студия имхо реально убога.

3 комментария
aerosun 21-04-2009 22:05 0

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

Насчёт ИДЕ - то более удобной связки чем студия с вижуал ассистом не найдётся ни для каких продуктов делфи.

seekbirdy 21-04-2009 22:18 0

aerosun, И чем студия с вижуал ассистом круче чем делфи с CnPack? Что там такого крутого, в вашем вижуал-ассисте, чего нет в дельфи?

zinaps 10-05-2009 22:01 0

seekbirdy, Несогласен насчет идентичности языков Делфи и С++. В С++ нет и половины функционала Делфи. Делфи это мощная среда визуальной разработки, как конечных приложений, так и самой себя для еще большего удобства разработки приложений. Уровень поддержки ООП в Делфи намного выше чем в С++. Программы написанные на Делфи не дилетантами а профессионалами знающими суть ДФМ и RTTI. Которые встраивают в свои приложения языки программирования и ObjectInspector ы которые хранят в базах данных раздизайненные формы и делают это уже десяток лет понимают о чем идет речь. Конечно если писать мелкие утилиты большими силами прибегая зачастую к чрезмерному а порой даже параноидальному документированию кода то С++ для таких задач еще может сгодится. Я не говорю о С++ Builder так как С++ Builder это почти что Делфи. Я не говорю о том что на С++ это не реализуемо. Конечно же реализуемо но просто записать форму с полным фаршем инструментов и компонентов в БД с самого первого Делфи выпущенного еще под Win16 можно было сделать за 15 минут вот для чего нужен RTTI и по настоящему объектный подход.

04-05-2009 13:38 +2

Не люблю С за нечитабельность написанного. И ничего более. Стаж писания на всём, что ни попадя - 20 лет уже, юзал фортран, пл1 на перфокартах, эль76 и всё, что позже появилось. Но к си-подобным языкам всё-равно стойкое отвращение из-за синтаксиса, несмотря на регулярное его использование в прошлом из-за *никсов, для которых ничего другого не катит, любой ассемблер для меня читабельнее. BEGIN ... END мою душу греет гораздо приятнее, чем { ... }.

2 комментария
mikenerevari… 04-05-2009 21:12 0

alexx, #define begin {

#define end }

И радуйся.

Tro 19-08-2013 20:35 0

alexx, Scala, Groovy, Ada, Lua.

04-05-2009 13:53 +1

А про оптимальность результатов компиляции - "до диез" (С#) тоже бывает перлы выдаёт. В своё время мне препод в универе бутылку Хеннеси проспорила, когда её любимый MS C облажался против Turbo Pascal. Дельфей тогда ещё не было в природе, как и винды...

2 комментария
mikenerevari… 04-05-2009 21:13 0

alexx, А подробнее?

username 14-05-2009 11:46 0

alexx, А при чем здесь C#?

10-05-2009 17:39 +1

Мифы о скорости С++ это просто отпад все вранье. С++ разрабатывался далеко не профессиональными программистами и уж тем более не людьми с ученой степенью. Так же С++ не имеет отношения к людям награжденным премией Тьюринга а вот pascal имеет все эти регалии а не только гавканье Пиарщиков.

Медленная скорость работы С++ изначально заложена в его базовых языковых конмтрукциях взять в сравнение case C++ он в отличие от Pascal case не способен быть оптимальным и никакой компилятор не способен это исправить пример:

C++ switch рассматривает последовательно несколько вариантов зачастую сишнеги вручную пишут break (такое можно было и If конструкцией разрулить). В отличие от этого Pascal case изначально предназначен для выбора одного варианта из многих в нем невозможно забыть написать break да и писать его не нужно а так как компилятор по воле самой конструкции знает что

a) в вариантах будут стоять константы

б) уникальные

то он еще на этапе компиляции строит бинарное дерево что в свою очередь повышает производительность этой операции в порядки.

и это только один пример.

И откуда собственно эти мифы о скорости взялись. С++ это просто кросплатформенный язык и стал он таким не потому что хорош или прост в обращении далеко нет он сложен не быстр и убог. Он стал таким потому что кроме текстового процессора в нем для кода реализующего сложный компилятор остается 20% что есть большой плюс при заражении новой платформы таким убогим и калечным вирусом как С++

24 комментария
username 10-05-2009 19:19 +1

zinaps, "С++ разрабатывался далеко не профессиональными программистами" - наглая ложь или просто незнание истории. Иди лучше уроки делать и не позорься.

zinaps 10-05-2009 19:36 0

username, Аргументируй назови имена ученые степени. Лауреатов премии Тюрига. Не голословь.

username 10-05-2009 19:51 0

zinaps, Да ты еще и читать не умеешь? Браво! Где я сказал про лауреатов премии Тьюринга? Или ты думаешь, что, чтобы быть профессиональным программистом, надо получить премию Тьюринга? А еще, ты слышал, в русском языке есть правила пунктуации? Такого забавного дурачка я давно не видел.

zinaps 10-05-2009 20:02 0

username, Складно званиш может ты есче и мои ошибки гаматттичиския паправеш и запятыи разставиш лучше аргументы поисчи или научись правильно программы писать на любимом языке мы сейчас не про русский язык общаемся. А вот в С++ запятые и черточки и палочки там есть где поставить ИМХО на них там весь синтаксис держится :)

А вот про премию Тюринга я писал и в мой аргумент это входило.

zinaps 10-05-2009 20:05 0

username, А за дурочка спасибо всегда приятно знать что аппанента зацепило !

username 10-05-2009 20:17 +1

zinaps, Что, не признаешь ошибки? Ну ладно, я ткну пальцем.

Ты сказал во втором предложении первого сообщения: "С++ разрабатывался далеко не профессиональными программистами".

Я сказал, что это ложь, так как Бьерн Страуструп к моменту разработки языка закончил университет по специальности математика и информатика, защитил диссертацию по информатике в Кембридже и работал в легендарной Bell Laboratories. Это по-твоему не профессиональный программист?

Да ты феерично обосрался во втором же предложении своей пафосной речи!

zinaps 10-05-2009 20:35 0

username, А я думал, что Г-н Страуструп это не профессиональные программисты, а один человек, который к тому же не является изобретателем языка Си? Он всего лишь немного добавил в Си объектной ориентированности, и он это собственно в названии и указал Си "++". Или ты думаешь, что я в своих аргументах буду только "++" рассматривать этак я делать не буду, а то с Делфи вообще нечего будет сравнивать потому как в самом "++" на самом деле мало что есть.

username 10-05-2009 20:42 0

zinaps, Даю справку. С и С++ - это разные языки. С++ создан Страуструпом, С - Брайаном Керниганом и Денисом Ритчи (тоже очень известные программисты). В любом случае твои слова "С++ разрабатывался далеко не профессиональными программистами" - бред.

zinaps 10-05-2009 20:50 0

username, Гуд ввиду того что дальнейшая полемика на эту тему начинает затрагивать больше конкретные личности а не качества их решний буду я должен согласися что приобщился началом, но только исключительно началом своего высказывания к людям которые. Черезмерно завышенно критикуют слабые места аппонентов и в полане известности разработчиков С++ весьма сильно перегнул палку. Наверно это произошло изза эмоционального стресса вызваного неменее необоснованными плевками в сторону Делфи твоих сторонников ;)

Прастите вспылил.

mikenerevari… 10-05-2009 21:44 0

zinaps, Твою мать, он (zinaps) вообще по-русски пишет???

zinaps 10-05-2009 22:06 0

mikenerevarin, Не понял тебя что ты имел ввиду.

Чо нада разъясню ты токма вапрашай не стесняйсо. Может я просто сильно зипую.

zinaps 10-05-2009 22:10 0

mikenerevarin, Я просто имелл ввиду что фиг с ними с разрабами гнать на них не буду. Но Аргумент по поводу скорости С++ и конструкции case/switch остается нетронутым или тут нет С++ заступников

username 11-05-2009 09:30 0

zinaps, Да, кстати, вот это: "case C++ он в отличие от Pascal case не способен быть оптимальным и никакой компилятор не способен это исправить" - тоже бред. Современные компиляторы (gcc, intel C++ compiler) запросто такие вещи оптимизируют. Где это возможно, компилятор строит таблицу переходов и совершает выбор по CASE за O(1) (Надеюсь, я ясно выразился). Ты бы хоть проверял свои, так называемые, аргументы, прежде чем кричать и брызгать слюной о том, что С++ - гадость.

username 11-05-2009 09:39 0

zinaps, Либо ты действительно ничего не знаешь про С++, либо ты очень толстый тролль.

zinaps 11-05-2009 13:01 0

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

Задай себе следующие вопросы для размышления.

1)Где легче делать оптимизацию в заранее на это расчитанной конструкции делфи или убого зслепленном с++ варианте Кейсоифовщины

2) Так как С++ кросплатформенный язык как это не раз уже тут заявлено то является ли оптимизационное решение компилятора в свою очередь тоже кросплатформенным

3)Неужели это правда что именно компилятор делает программу быстрее а не код написанный программистом Но чтобы программист мог сделать код быстрее он должен понимать как работает та или иная конструкция языка по отношению к компиляции.

4)Стреляет ли с++ компилятор в тебя Ворнингами по поводу кривой и неподлежащей его хитрожеподорогой оптимизации конструкции case когда ты забыл дописать там ненужную в делфи и так необходимую в с++ загагулину.

Итак если говорить про свм язык то ох он неоптимален по case о великий Вы заноток С++

username 11-05-2009 14:30 0

zinaps, 1) Какая разница, это ведь не программист делает, а компилятор (и делает это хорошо)?

2) Если речь идет о кроссплатформенности между различными ОС, то, очевидно, является.

3) Пустые слова, не доказывающие твою точку зрения.

4) Поясни. Приведи пример кода, на который по-твоему должен выводиться warning.

P.S. Ты говорил, что case - это только один пример "оптимальности Delphi". Приведи остальные. Желательно с примерами кода (об ассемблерных листингах, сгенерированных компилятором я даже не говорю).

username 11-05-2009 15:26 0

zinaps, Я решил, что глупо продолжать чисто теоретический спор, и проверил твои слова. Я написал 2 простейшие программки, одну - на Delphi, другую на С. Вот исходники:

1) http://pastebin.mozilla-russia.org/98755

2) http://pastebin.mozilla-russia.org/98753

И скомпилировал их компиляторами fpc и gcc соответственно (под Linux лучшего компилятора Delphi чем fpc я не знаю) вот ассемблерные листинги, сгенерированные компиляторами (оба запускались с опцией -O3):

1) http://pastebin.mozilla-russia.org/98756

2) http://pastebin.mozilla-russia.org/98757

Любой человек, мало-мальски знакомый с ассемблером поймет, что разницы в трансляции case-выражения нет. И все ваши заявления оказались необоснованными.

P.S. Кстати, размер исполняемого файла, сгенерированного fpc в 17 раз превысила размер сишного. Такой вот "оптимальный язык" твой Delphi.

zinaps 11-05-2009 15:59 0

username, Где код на С++ ты бва раза Делфи заслал пришли плиз код на С++

zinaps 11-05-2009 16:27 0

zinaps, Да тут Делфя не намрягалась очень маленький пример однако вот сделай так и все пойдет по другому

case x of

1: y := 5;

3: y := 6;

5: y := 7;

10: y := 5;

30: y := 6;

50: y := 7;

100: y := 5;

200: y := 6;

250: y := 7;

else y := 0;

end;

а вот так ты получиш еще один интересный вариант компиляции

case x of

1: y := 5;

2: y := 1;

4: y := 2;

3: y := 6;

5: y := 7;

6: y := 8;

7: y := 9;

else y := 0;

end;

шож вы господин код посылаете где оптимайзить нечего

username 11-05-2009 16:46 0

zinaps, Вот код на C++

http://pastebin.mozilla-russia.org/98758

username 11-05-2009 17:11 0

zinaps, Ха-ха! Я проделал то что ты сказал и действительно, разница есть. Только преимущество не у Delphi. Смотри сам. Исходники:

1) http://pastebin.mozilla-russia.org/98759 (Delphi)

2) http://pastebin.mozilla-russia.org/98760 (С)

Ассемблерные листинги:

1) http://pastebin.mozilla-russia.org/98761 (Delphi, fpc)

2) http://pastebin.mozilla-russia.org/98762 (C, gcc)

Как видно, gcc строит бинарное дерево, fpc тупо генерирует код аналогичный коду из предыдущего теста. Напоминаю, используются свежие версии компиляторов, включена оптимизация (-O3). Твои слова об оптимальности case в Delphi являются чисто теоретическими и на деле ничего не стоят.

zinaps 11-05-2009 17:56 0

username, Насчет FPC незнаю

Делфи построил во втором случае создал бинарное дерево а в третьем просек что числа идут вподряд и воспользовался числом кейс как индексом массива для перехода насамом деле кейс в третьем варианте доведен до одной комманды

username 11-05-2009 19:03 0

zinaps, Какой код генерит именно дельфийский компилятор, не видел. Но gcc во втором случае тоже посторил таблицу. Вот ассемблерный листинг:

http://pastebin.mozilla-russia.org/98763

Учти, что это - только gcc, существуют компиляторы С++ и лучше. Так что C++ компиляторы генерируют код для case, как минимум, не хуже Delphi.

zinaps 11-05-2009 19:26 0

username, Ну чтож низкий поклон разрабам компилеров для С++ которые несмотря на отсусттвие в С++ жестких ограничений намеренно направленных на оптимизацию кода всетаки постарались и сделали оптимальную генерацию. К сожалению вынужден назвать себя ЛОХом так как не помню где точно столкнулся с проблемой медленной работы Case в С++. Однако как ты понимаеш наверное сам что в теории case у Pascal оптимизировать легче чем у С++ и если ты прав то разрабы FPC сильно лоханулись с оптимизацией что в свою очередь конечно обидно.

11-05-2009 00:08 0

Я пишу на Делфи потому что у синтаксис Делфи наименее багоемок. Я немогу позволить присутствие в своих программах ошибок на внедрение которых будто специально расчитан синтаксис С++ в отличие от синтаксиса Делфи.

0 комментариев
12-05-2009 10:12 0

Все языки хороши но Паскаль рулит , а хуле ваша крос платформеность реально она дружественне интерфейс не делает только все усложняет.

2 комментария
mikenerevari… 12-05-2009 20:53 0

Hort, А паскаль прямо делает.

username 13-05-2009 01:14 -1

Hort, Ты даже слово "кроссплатформенность" не знаешь как правильно пишется. Куда уж ожидать понимания, что это такое и зачем нужно. Ты в каком классе учишься, детка?

12-05-2009 23:07 +2

Пример кода Delphi компилится также и на FPC

type

TClass1=class(TObject)

public

function Trulala: integer; virtual;

end;

TClasOfClass1=class of TClass1;

TClass2=class(TClass1)

function Trulala: integer; override;

end;

{ TClass1 }

function TClass1.Trulala: integer;

begin

Result:=1;

end;

{ TClass2 }

function TClass2.Trulala: integer;

begin

Result:=inherited Trulala+1;

end;

var

aList: TList;

//В этой процедуре вся соль

function RandomClass: TClass1;

begin

Result:=TClasOfClass1(aList[RandomRange(0, aList.Count-1)]).Create;

end;

initialization

aList:=TList.Create;

aList.Add(TClass1);

aList.Add(TClass2);

//И может быть откудато еще были туда добавлены другие типы классов

finalization

aList.Free;

end.

Итак вопрос можно ли в более гибком языке С++ такое написать? но только чтоб в процедуре

TClass1* RandomClass(){

Небыло типовых констант. Все из списка, вектора, стека, откуда угодно, сохраните смысл примера вы не знаете скока различных наследников TClass1 погружено в TList

};

32 комментария
username 13-05-2009 01:11 0

zinaps, Пример практического использования такого извращения приведи.

zinaps 13-05-2009 13:30 0

username, С рандомом конечно пример не приведу. Однако эта технология довольно часто применима. И мне очень жаль что большинство С++ программистов не страдают абстракциями. На самом деле этот пример довольно легко реализуется на С++ однако для каждого объекта придется делать отдельную функцию. добавлять в объект список эти функции. А вообще поздняя дорегистрация функционала основопологающий механизм создания надежного абстрактного кода. А ты говориш извращение молчи лучше раз незнаеш.

username 13-05-2009 15:11 0

zinaps, Пример где?

zinaps 13-05-2009 16:04 0

username, Пример где это применяется. Ну чтоб не пинать тут километрами кода скажу что именно на этом принципе устроенна регистрация компонентов в Палитру В Lazarus и Делфи.

classes

RegisterComponents смотри для справки .

username 14-05-2009 11:37 0

zinaps, И ты хочешь сказать, что эта одна сомнительная фича перевешивает все мощные средства С++? Например, для С++ есть такая библиотека InteLib, которая позволяет внутри С++ кода писать на Lisp. Разве на Delphi можно создать подобное? Вот ссылка: http://intelib.org

zinaps 15-05-2009 11:26 0

username, А почему ты считаеш что это заслуга компилятора С++ это извините заслуга его текстовой надстройки. А вот если бы это небыло неким отчаянно неабдуманным выпадом разработчиков несумевших создать компилятор с гибкими возможностями то InterLib было бы удобно еще и отлаживать. Ты же не говориш что в С++ решения не совсем компиляторные.

Кстати в укор С++ программированию в последних версиях делфи прекомпиллер можно дописывать и бобавлять в него функции подстановки как в С++ а также добавлять в него такие текстовые извращения которые С++ и не снились. Осталось только надеятся что такие примочки не получат сильного распространения. На С++ это очень надо потому что он без этого не может он и на конструкциях #define долго константы поддерживал извините но чтоже в это время на паскале заменядо #define не большая ли продвинутость компилятора.

username 15-05-2009 14:09 0

zinaps, Говори по делу. Можно в Delphi реализовать подобное?

sviborg 18-05-2009 15:45 0

zinaps, Аргумент сильный, помню в своё время этой функциональности сильно нехватало. Но дело в том что в плюсах куча фич, о которых делфисты не могут и мечтать, и это решает

zinaps 18-05-2009 16:41 0

sviborg, Так я вроде как сказал в ver 2009 можно

zinaps 18-05-2009 18:09 0

username, Ccылка не пашет http://intelib.org

username 18-05-2009 20:00 0

zinaps, А у меня пашет. Попробуй так http://www.intelib.org/, или погугли просто.

username 18-05-2009 20:01 0

zinaps, "Так я вроде как сказал в ver 2009 можно" - пруфлинк в студию!

zinaps 18-05-2009 22:44 0

username, Я внимательно просматрел твой линк с Лиспом. Я думал ваще что это построенно на подходе С++ извращений с препроцессингом. Я ошибался и по этому привожу тебе ряд подобных проектов на Pascal. www.fastreport.com там содержатся возможности писать на Pascale код С++ и VB и не только :). Я так думал что ты хоть вкратце осознаеш что может и неможет Pascal в отличии от С++.

username 18-05-2009 23:01 0

zinaps, Ссылка кривая. Более того, доменное имя fastreport.com не зарегистрировано, я проверил.

Давай, приводи свой ряд проектов, жду. Создается впечатление, что ты эти проекты выдумал.

username 18-05-2009 23:04 0

zinaps, Вот пруфлинк, доказывающий, что сайта www.fastreport.com не существует.

http://www.whois.net/whois/fastreport.com

zinaps 19-05-2009 11:31 0

username, http://fast-report.com

zinaps 19-05-2009 11:43 0

zinaps, Ищи среди продуктов fastscript

username 19-05-2009 13:23 0

zinaps, Не нашёл. Дай ссылку конкретно на описание библиотеки, которая, по твоим словам, позволяет писать на С++ внутри кода на Pascal. Заодно приведи пример кода.

username 19-05-2009 13:45 0

zinaps, А, ты об этом: http://fast-report.com/ru/products/fast-script.html ?

Не смеши меня! Это совсем не то же самое, что InteLib! Это - банальная библиотека для интерпретации скриптов. Если ты не понимаешь разницу между этим и InteLib, то ты совершенное ничтожество в программировании.

P.S. Кстати, FastScript можно использовать в C++.

zinaps 19-05-2009 15:27 0

username, Ну мальчег. Интер либ практически ничем не отличима от Fast-script и если ты уже такой сверхумный то по колличеству элементов интерпретатор и компилятор равны. Разницу составлеет лиш время разбора. Короче существование такого продукта как миниму доказывает таким как ты фанатикам что на Pascal это делается без труда. Существуют другие продукты. Если ты когданибуть слышал о INNOSETUP который стоит на innerfuse pascal script и хотя в этом случае мы тоже имеем слово скрипт однако innerfuse pascalscript это ярко выраженный компилятор + виртуальная машина исполнения откомпилированного кода.

Но я настаиваю даже на том что применение термина банальный к продукту fast-script как минимум является как минимум искажением либо твоего сознания либо фактов.

Объясни пожалуйста поконкретней что может стать непреодалимой преградой для перевода interlib на object pascal. И если ты хоть чуточку вариш мозгом ты поймеш что преград нет. А если бы ты еще и знал Pascal ну не как я а хотябы в более менее профпригодном виде то ты бы сказал что С++ для таких проектов полный отстой.

username 19-05-2009 17:19 0

zinaps, Да, я был прав, ты ничего не понял. Ладно, чтобы ты не брызгал слюной, я объясню тебе этот тривиальный факт.

Как работает FastScript? Ты в коде пишешь что-то типа

script.text = "x = 1; ShowMessage(x);"

script.run();

и твой скрипт интерпретируется во время работы основной программы, а не во время её компиляции. Очевидно, что такой способ не обеспечивает полноценной интеграции двух языков - основного и скриптового, например x в основной программе и x в скрипте - это разные вещи.

Теперь как работает InteLib. Он фактически расширяет синтаксис C++, и ты можешь перемешитвать операторы С++ с Lisp-формами, используя и там и там одни и те же переменные и структуры данных. Причем, лисповый код, написанный с помощью InteLib компилируется C++ компилятором непосредсвенно в машинный код.

Чувствуешь разницу? Так вот второй подход в паскале неприменим просто потому, что Lisp-формы не являются корректрной записью с точки зрения компилятора Pascal, с точки зрения С++ являются (благодаря перегрузке операторов).

Если же ты хочешь сказать, что скриптовый подход - это правильно и хорошо, то тут тоже С++ на высоте. Есть библиотеки, позволяющие применять скрипты на Perl, Python, Lua, JavaScript и вообще практически на любом скриптовом языке в твоих программах на С++.

Подытожу. InteLib нельзя реализовать на паскале. А любые библиотеки для работы со скриптами, реализуемые в паскале можно реализовать на С++.

Следовательно, ты опять облажался.

zinaps 20-05-2009 12:45 0

username, Подитожим тоесть ты считаешь что мне придется потратить больше одного месяца чтобы создать текстовый препроцессор который сможет предварительно перед компилятором проехатся по исходникам и реализовать С++ подмену операторов.

Да этот код не сможет откомпилить С++ интерлиб но он сможет по этому принципу реализовывать переопределение операций для паскаля.

Повторяю этим занимается детсадовский текстовый процессор который реализовать под паскаль нет никакого труда просто Pascal это язык который настолько совершенен по конструкциям что ему эта чтучка встроенная была не обязательна в то время как изза калечности конструкций культура програмирования на убогом С++ предпологала эволюцию именно этого отрезка языка. Если я захочу это откомпилить на паскале я конечно это откомпилю. Но мне кажется что за месяц я смогу собрать текстовый процессор и посовершенней.

ЗЫ

1)К твоему сведению перегрузка операторов в делфи давно поддерживается.

2)Согласно моим скромным познаниям скриптовых языков они владеют не меньшими инструментами интеграции с готовой программой. В них можно регистрировать типы готовой программы и передовать для обработки в скриптовый язык переменные этих типов. То есть взаимодействие происходит неменее плотное.

3)Я пользуюсь скриптовыми языками чтобы дать пользователю взаимодействовать с моей программой добавляя в нее свой индивидуальный нужный только этому пользователю функционал. Зачем мне использовать в программе на Pascal LISP, мне что Pascal мало?

4)С++ программисты прекратите наконец хвастатся тем что в С++ есть текстовая примочка без которой С++ не пашет - это не плюс а позор языка. Если у нормального программиста всплывают алгоритмы ввиде текстовых перестановок операторов то он скорее COPYPASTER чем программист. А если уж необходимость в COPYPAST всетаки возникает ввиду нехватки алгоритмической состовляющей мозга или конструкций языка. То повторяю Все ваши текстовые подстановки и мощь языка за пару дней реализуются а то и меньше, чем тут хвастятся особой ленью разработчиков вашего языка которые дали вам дибильный и дешевый инструмент, нате текстомутируйте но извините этож выше наших сил по этому все текстовые мутации не будут удобно дебажится (тоесть это какбы и часть С++ и какбы не совсем рабочая ввиду того что ущербная) Кроме того в Delphi сейчас можно встраивать и такое. Ну не пользуются пока потому что оно и не надо особо. Так Сказать невелика примочка. Короче хватит хвастатся что у вас перед компилятором есть маленькая програмка со встроенной функцией ReplaceSubStr это не барьер для профессионала. И нихрена не аргумент в сторону языка.

username 20-05-2009 21:00 0

zinaps, Ты действительно считаешь, что Pascal может полностью заменить Lisp? Я в шоке. Я знал, что ты глуп, но не думал, что настолько!

username 20-05-2009 21:03 0

username, Значит, я только время зря трачу с тобой, клоун.

saper 20-05-2009 22:07 0

username, Если вам так надо использовать несколько языков в одном проекте, то используйте лучше .net

username 20-05-2009 23:12 0

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

P.S. Но .Net я все равно не использую, так как пока он не поддерживает нужные мне языки.

saper 20-05-2009 23:32 0

username, Какие языки, если не секрет?

username 20-05-2009 23:47 0

saper, Я использую C, C++, Ассемблер, Perl, Common Lisp, причем в основном под Linux.

username 21-05-2009 00:00 0

username, Для .Net вроде бы есть реализации Perl и Lisp, но в кросплатформенный Mono их, к сожалению, не поддерживает.

zinaps 21-05-2009 13:51 0

username, Ты действительно считаешь, что Pascal может полностью заменить Lisp? Я в шоке. Я знал, что ты глуп, но не думал, что настолько!

Думаю что для какихто случаев вполне может. А там где /неудобно может/ для заюзания найдется другой подход InterLibовский подход ведь не панацея. Может я не совсем конечно разобрался как InterLib там цепляется (не тратил время) однако меня терзают сомнения что мой QA пропустит этот подход.

zinaps 21-05-2009 15:44 0

username, Я использую C, C++, Ассемблер, Perl, Common Lisp, причем в основном под Linux

Ассемблер .Net не будет использовать по определению. А если и будет то это будет уже не .Net

ЗЫ

Да здравствует самый лучший язык на свете SQL.

r619 02-06-2012 12:07 0

zinaps, Сурцы - под кота.

16-02-2012 15:10 0

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

4 комментария
opera.rulez 16-02-2012 18:03 0

Hemul, Какие особенности Delphi помогают его освоить? Что в нём такого, чего нет в C++?

Hemul 18-02-2012 06:56 0

opera.rulez, Понятнее стандартные операторы. И более понятная логика построения проектов.

Hemul 18-02-2012 07:24 +1

Hemul, Намного удобнее писать словами (хоть и не на радном языке), чем символами !"№;%:?*(

opera.rulez 18-02-2012 15:43 0

Hemul, Кстати, мне тоже обилие этих всяких символов в C++ не понравилось. Были времена, когда C и C++ называли write-only, потому что читается такое тяжело. Но потом появился Питон...

18-02-2012 07:48 0

Куда более простой и очевидный. Хотя для графона или системной лабуды, конечно, стоит с++ мучать. Дельфи - формошлепство онли.

11 комментариев
opera.rulez 18-02-2012 15:44 0

cherepets, Никто не заставляет заниматься формошлёпством. На Delphi можно писать даже консольные программы и драйвера, вообще не пользуясь его IDE.

cherepets 18-02-2012 18:49 0

opera.rulez, На Delphi

не пользуясь его IDE.

Эм, но дельфи ведь и есть IDE. Не понял смысла...

opera.rulez 18-02-2012 18:49 0

cherepets, А как ты назовёшь dcc32.exe плюс тонны библиотек?

cherepets 18-02-2012 18:52 0

opera.rulez, Я и не в курсе что такое есть...

cherepets 18-02-2012 18:53 0

opera.rulez, В смысле что компилятор есть отдельный от ИДЕ, а не то что не только формошлепство.

opera.rulez 18-02-2012 18:57 0

cherepets, А я даже для ДОСа на Delphi писал. Если выражаться точнее, то на Object Pascal, потому что VCL и формочек я совсем не использовал, ибо готовых библиотек, которые бы работали с формочками в ДОСе я не нашёл.

Плюс по сравнению с Турбо Паскалем в том, что у Delphi функция может возвращать не только скалярное значение, добавлены исключения, новая система ООП (которая называется class, а не object, и включает, например, свойства, которых не было у TP) и ещё кое-какие дополнения к синтаксису.

cherepets 18-02-2012 18:58 0

opera.rulez, А FPC не лучше для доса?

opera.rulez 18-02-2012 19:00 0

cherepets, Это ещё с Турбо Паскаля сохранилось. Кто-то даже нашёл прикол, что IDE и отдельный компилятор некоторые выражения немного по-разному компилируют. Кажется, разница в компиляции констант, которые заданы выражениями, содержащими дробные числа.

А вот у Borland C/C++ в IDE встроенного компилятора нет, IDE всегда вызывает внешний компилятор (bcc32.exe, кажется).

opera.rulez 18-02-2012 19:02 0

cherepets, Согласен, FPC универсальнее и библиотек для него больше. Но по скорости и компактности результирующего кода мне понравились Virtual Pascal и Delphi (они примерно на одном уровне). Правда, разработчик VP давно его забросил.

Тут хоть холивар по компиляторам создавай.

cherepets 18-02-2012 19:04 0

opera.rulez, В FPC есть режимы совместимости с TP, Delphi и еще кучей всего. Наверное, я бы на него поставил в холиваре.

opera.rulez 18-02-2012 19:10 0

cherepets, Есть ещё gpc. С одной стороны, он гиперуниверсален (он поддерживает элементы синтаксиса Standard Pascal, Extended Pascal, Object Pascal, Delphi и т. д.; работает на всех платформах, где есть gcc, поэтому проблем с библиотеками и с поддержкой ОС и железа не будет), но мне он почему-то не понравился. FPC лучше.

Есть ещё TMT Pascal, но у него хитрая лицензия.

Кстати, сейчас уже актуальность потеряна, но Delphi 1.0 генерирует код для 16-битных платформ (у меня даже похаканный модуль Graph от TP в нём заработал), а остальные версии Delphi — для 32-битных. В принципе, gcc тоже можно заставить генерировать 16-битный код (я видел патч для него, но результатов не помню).

02-06-2012 12:05 0

Предпочитаю плюсам нативный си, ибо плюсы слишком толстые, генерируют массу асм кода, а использование ООП не совсем соответствует моей религии.

В делфи тоже есть ооп, но зато нет возможности написать костыли, да и проще этот язык.
К сожалению, в продакшене делфи, как и анси си, не используются. :C

2 комментария
r619 02-06-2012 12:06 0

r619, Хотя вру, иногда на делфи пишут довольно крупные вещи, типа скайпа и аимпа.

opera.rulez 02-06-2012 16:26 0

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

19-08-2013 20:37 0

Меньше мест для спотыкания. А вообще Java.

0 комментариев
19-08-2013 21:59 0

C++ знаю на плохом уровне. На делфи раньше много прогал. Хочу наконец-то сесть за C#, но мало времени и увлекает веб-программирование.

0 комментариев
20-09-2013 09:48 +1

Уважаемые борцы за С++
Я разделяю Ваши чувства и так сказать патриотический настрой, который движет Вашими аргументами. В конце концов чувства это хорошо, но конструктивность - лучше. У Вас тут проскакивали аргументы о других языках, которые основаны на с++, о количестве людей которые пишут на с++, о портируемости с++. Безусловно все это то что радует слух ваших собратьев. Однако что это говорит о качестве языка с++. Появятся ли от количества портируемых платформ в с++ Events или появится ли от количества людей которые на нем пишут try finally, появится ли в с++ указатели на классы, появится ли в с++ полиморфизм в конструкторах и деструкторах, будет ли в с++ от этих аргументов нормальные безопасные функции с переменным числом аргументов. Все это давно живет во враждебном Вам мире Delphi живет так давно, что Вы уже и не знаете что Вы от нас переняли и что предстоит перенять. Впрочем можно вечно оставаться при своем мнении (это не запрещено - но не всегда здраво). Есть ряд честных причин почему Delphi как язык лучше (обратите внимание как язык). Если бы я мог свести этот спор на синтаксические плюшки и тонкости парадигм, и очистить его от чувственных словоизлияний, возможно этот спор читался бы мной как нечто конструктивное, способное выявить недостатки и преимущества с обеих сторон.

0 комментариев
27-10-2015 23:30 0

Насколько хорош С, настолько ужасен С++

я в школе учил делфи, и не смотря на то что сейчас ощущения немного странные когда пишешь на нём(хотя я на нём уже года 2 ничего не писал, даже мелкого), такого отвращения как С++ он не вызывает

хотя говорят в 11 стандарте С++ уже всё намного лучше, но я луше останусь в своём уютном мире java

15 комментариев
Gopnik 27-10-2015 23:35 0

BerkutOi, Странно. Джава ведь практически полностью заимствует синтаксис C++.

BerkutOi 28-10-2015 09:20 0

Gopnik, язык != синтаксис

opera.rulez 28-10-2015 11:42 +1

Gopnik, Таки нет:
1. В Java нет тяжёлого наследства из сишки вроде арифметики указателей и goto.
2. В Java нет перегрузки операторов.
3. Крестошаблоны — это отдельный язык программирования. Дженерики в Java намного примитивнее.
4. В Java из коробки нет препроцессора для макросов, поэтому нет макролюбов.

Подробнее тут: en.wikipedia.org/wiki/Comparison_of_Java ...

Самое красноречивое:
«Java syntax has a context-free grammar that can be parsed by a simple LALR parser. Parsing C++ is more complicated. For example, Foo<1>(3); is a sequence of comparisons if Foo is a variable, but creates an object if Foo is the name of a class template.»

BerkutOi 18-11-2015 20:07 0

opera.rulez, 1. В Java нет тяжёлого наследства из сишки вроде арифметики указателей и goto.
Кстати так и не понял, зачем нужен goto, кроме как для выхода сразу из нескольких вложенных циклов/блоков

Jotun 18-11-2015 20:25 +1

BerkutOi, настолько ужасен С++
уютном мире java
Тогда уж C#.

Кстати, сравнивать плюсы и джаву - это какая-то особая отрасль специальной олимпиады. Они ведь используются в абсолютно разных целях.
Другое дело C++ и Delphi, ведь оба используются активно как стартовые языки для новичков, причем в плане удобства и понятности для новичков плюсы, может, и проигрывают, но в плане общей полезности выигрыш очевиден.

BerkutOi 18-11-2015 20:34 0

Jotun, Тогда уж C#.
Нет спасибо, C# совсем не уютный.
И да, java очень даже хороша для новичков, просто преподы у нас стремаются (зато блядь давать голый С, где чтоб обьяснить как ввести с клавиатуры что-либо, нужно обьяснить указатели, это им норм)

Jotun 18-11-2015 20:38 0

BerkutOi, int n;
cin >> n;

А по сабжу C# куда уютнее. Многие вещи, которые в Джаве реализованы просто тупо криво (их очень много, и типичный пример - дженерики), в шарпе реализованы с учетом всех недостатков.

BerkutOi 18-11-2015 20:52 0

Jotun, int n;
cin >> n;

Это С++ код, мне на первом курсе преподавали голый С, и считывали мы со стандартного ввода/файла исключительно с использованием библиотеки stdio, хотя текущему первому курсу повезло куда больше, с ними такой хуйней уже не занимаются, лектора на этот предмет поменяли :)

А по сабжу C# куда уютнее.
так то я исключительно про свои собственные впечатления говорил, с C# я знаком слишком уж поверхностно, но если уж об этом говорить то теже дженерики в джаве не криво реализованы, а просто являются не более чем языковой конструкцией, ты еще поругай джаву за отсуствие множественного наследования

Jotun 18-11-2015 20:57 0

BerkutOi, мне на первом курсе преподавали голый С
А, нет, ну это лютый перебор. Зачем так делать вообще?

а просто являются не более чем языковой конструкцией
Сравни с реализацией в шарпе. Вот уж где на порядок разумнее сделано.

ты еще поругай джаву за отсуствие множественного наследования

Ну это тут не при чем.

BerkutOi 18-11-2015 21:03 0

Jotun, Зачем так делать вообще?
Ебанутый человек, он у нас еще операционные системы вел потом и там только и делал что рассказывал какой хороший линукс, и какой ужасный виндовс, но с другой стороны, я б ебанулся, если б у меня на работе стояла винда, так что в этом он был в некотором смысле прав

cherepets 18-11-2015 23:07 0

BerkutOi, просто являются не более чем языковой конструкцией

По сути это косяк самой среды исполнения, а не языка. Языки то в этом плане почти равны.
В TypeScript недавно поразбирался и остался очень доволен самим языком. Но какое же дно JS и его интерпретаторы...

ты еще поругай джаву за отсуствие множественного наследования

Его и в шарпе нет.

BerkutOi 18-11-2015 23:12 0

cherepets, Но какое же дно JS и его интерпретаторы...
бывает

Его и в шарпе нет.

чёт бля

opera.rulez 19-11-2015 01:29 0

BerkutOi, Кстати, поскольку в этой ветке подняли вопрос альтернатив C++, к C# и Java добавлю идеи для обсуждения:
D, в настоящий момент развиваемый Андреем Александреску, в своё время реализовавшим шаблоны проектирования на шаблонах C++.
Rust («Курятник» «Ржавчина»), названный в честь германского лётчика, приземлившегося на Красной площади (шутка).
Клей Clay — скорее мёртвый, чем живой.
Go, пока ещё не дошедший до Мемориального кладбища имени Гугла.
• И, внезапно, язык Ада.

По каким из них холивары могут взлететь?

BerkutOi 19-11-2015 01:44 0

opera.rulez, rust - go должен быть актуальнымм поидее, но фиг знает

opera.rulez 19-11-2015 02:00 0

BerkutOi, Ещё вспомнил, что в последних версиях Delphi (которые разрабатывает не Борланд, а уже другая компания) и Free Pascal появились дженерики, перегрузка операторов и ещё всякая фигня, так что их уже можно рассматривать как новые языки.

19-04-2009 18:49 +2

Delphi -- выкидыш паскаля. Ещё и заточен под венды.

7 комментариев
mrtim 19-04-2009 19:01 0

hades, Следуя этой логике C++ выкидышь C? Что за глупость?!

hades 19-04-2009 20:02 0

mrtim, Какой логике? Я ни о какой логике не говорил, я изложил факт. Никто ведь не считает паскаль заслуживающим права на жизнь языком программирования?

freefly 19-04-2009 20:10 0

hades, А с++ - выкидышь BCPL

freefly 19-04-2009 20:13 0

hades, Ну никто ведь не считает, BSPL заслуживающим права на жизнь языком программирования?





bwhite 19-04-2009 20:34 +1

mrtim, Странная логика.

opera.rulez 20-06-2010 22:01 0

hades, А как же Kylix?

r619 02-06-2012 12:08 0

hades, заточен под венды
Lazarus, LCL.
ЧЯДНТ?

19-04-2009 19:30 +2

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

8 комментариев
freefly 19-04-2009 20:18 0

directx, Насчёт большей производительности - откуда такие сведения? Синтаксис у С++ - это пиздец просто! Код абсолютно нечитаем! )) Ну да тут, скажем, это дело привычки ))

hades 19-04-2009 20:53 0

freefly, А у делфи читаемее?

freefly 20-04-2009 02:38 +1

hades, Да!

Простой пример "{" vs "begin" или

"for (int i=0; i
"for i:=0 to len-1 do"

Что лучше читается?

crazy_fizruk 20-04-2009 03:44 +2

freefly, Читается лучше то, к чему больше человек привык. Если Вы не привыкли к синтаксису языка программирования - это Ваша проблема.

Кстати, сравнивать записи циклов здесь абсолютно неуместно, поскольку семантика этих выражений совершенно разная.

И еще. Читаемость исходного кода зависит не от языка программирования, а от программиста.

freefly 20-04-2009 13:17 0

directx, Сам дурак!

freefly 20-04-2009 13:35 0

crazy_fizruk, Про семантику не надо - просто парсер лох! ))

freefly 20-04-2009 13:42 0

crazy_fizruk, Вообще, конечно, я согласен, что это всё дело привычки. Кому-то, может, и 16-тиричном коде писать привычно. А чё?

1H HA 13 05 AB... и т.д. ))) Главное комментарии правильно оформить, чтобы лучше читалось - так же? :)))

opera.rulez 20-06-2010 22:03 0

directx, Производительность зависит не столько от языка, сколько от программиста. Если уроды пишут на Дельфи, то это не значит, что язык плохой. Говнокодеру язык программировать мешает.

19-04-2009 20:34 -1

Я хожу на курсы по C++, все очень нравится. Поэтому я за С++

19 комментариев
seekbirdy 20-04-2009 16:14 +1

randex, А я 6 лет по работе пишу на Delphi, и мне смешны люди, которые просто следуя моде утверждают, что C++ лучше.

mikenerevari… 20-04-2009 22:54 +2

seekbirdy, Ваш дельфи запустится на КПК, Linux, Mac Os, Symbian и многих других платформах и ОС?

randex 21-04-2009 00:37 0

seekbirdy, А мне не смешно, потому что я абсолютно не следую никакой моде. Я голосую за то, чем я увлекаюсь. Надо защищать свои интересы.

seekbirdy 21-04-2009 13:00 0

mikenerevarin, Вы программируете с помощью КПК? Месье знает толк в извращениях!

mikenerevari… 21-04-2009 14:38 0

seekbirdy, Почитай правила пунктуации, обрати внимание на разницу в смысловом значении предлогов "НА" и "ДЛЯ".

seekbirdy 21-04-2009 14:45 0

mikenerevarin, Прежде чем отправлять меня неизвестно зачем учить русский язык, который я знаю в достаточной мере (с моей точки зрения), не удосужитесь ли Вы

а) ткнуть меня носом в то место, где у Вас предлог "НА" (или "ДЛЯ")

б) хорошо подумать, что означает фраза "Delphi запустится на КПК"

в) выражаться не так косноязычно и не упрекать при этом в неграмотности других

seekbirdy 21-04-2009 14:48 0

mikenerevarin, И да, пунктуация здесь ни при чём :)

mikenerevari… 21-04-2009 15:14 0

seekbirdy, а) ткнуть меня носом в то место, где у Вас предлог "НА" (или "ДЛЯ")

В моём сообщении.

б) хорошо подумать, что означает фраза "Delphi запустится на КПК"

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

в) выражаться не так косноязычно и не упрекать при этом в неграмотности других

Каждый понимает как хочет.

Ну и я писал где-нибудь, что "программируете с помощью КПК"?

seekbirdy 21-04-2009 15:39 0

mikenerevarin, Для меня "запустить Delphi на КПК" - это запустить Delphi на КПК, только и всего. Именно так Вы написали (см. также "Проезжая мимо станции, с меня слетела шляпа"). Проехали, я сразу понял, что имелось в виду.

По существу: да, такой как у C++ кроссплатформенности (пока) нет. Но вот так, честно, хотел бы я знать, многие ли из здешних защитников C++ используют его при программировании не под Windows?

mikenerevari… 21-04-2009 16:19 0

seekbirdy, Symbian, *nix.

mikenerevari… 21-04-2009 16:19 0

mikenerevarin, Винду я не использую вообще, хоть и по учебе иногда приходится дельфи...

seekbirdy 21-04-2009 22:22 0

mikenerevarin, ну ок, и что, Вы хотите сказать, что прямо вот под симбианом Вам все эти сиплюсплюсные фичи типа той же пергрузки операторов сильно нужны? Или Вы Си считаете Сиплюсплюсом?

mikenerevari… 21-04-2009 23:08 0

seekbirdy, C это C. C++ это C++

Речь идёт не о том, что я использую (перегрузки - да, классы - да, наследование - да), а о том, сможет ли среда Delphi скомпилировать подо что-то, кроме Винды. Правильно, нет, поэтому С/С++ и лучше, что если ты знаешь С/С++, ты можшь писать подо что угодно (с API платформы, разумеется).

seekbirdy 22-04-2009 10:08 0

mikenerevarin, Ну вообще если уж на то пошло, Delphi может компилировать под .NET, а с помощью Mono это всё может исполняться на тех же *nix-ах :) но сам такими извратами не занимался, так что утверждать не буду. Будет, будет кроссплатформенность. Но пока нет, тут Вы правы.

seekbirdy 22-04-2009 10:11 0

mikenerevarin, И опять же, Lazarus никто не отменял (см. ниже)

mikenerevari… 22-04-2009 13:45 0

seekbirdy, Знаю я лазарус, даже предлагал преподу чтобы я делал на лазарусе работы. Обычно проекты лазаруса не работают на дельфи 7 (про другие не знаю), дельфи 7 - на лазарусе. Что-то там не нравится им друг в друге.

saper 22-04-2009 14:06 0

randex, Если говорить про кроссплатформенность на основе .net, то надо смотреть в сторону Delphi Prism (официальный продукт от Embarcadero, хоть и купленный у стороннего разработчика)

seekbirdy 23-04-2009 10:46 0

saper, А, точно, я просто вот тоже, оказывается, отстал от жизни. Так что аргумент сиплюсплюсного лагеря по поводу кроссплатформенности тоже бьётся!

Да, кстати, как я понял, Prism - это всё-таки просто новое название Delphi for .NET, разве не так?

saper 23-04-2009 13:27 0

seekbirdy, Нет, не так :) Про Prism очень хорошо написано в этой статье: http://www.itc.ua/node/36294

20-04-2009 19:28 +4

C++ - кроссплатформенный язык, для которого существует множество хороших компиляторов под все известные программные и аппаратные платформы, для которого написано множество мощных библиотек.

Delphi - это среда разработки для единственной ОС на единственной аппаратной платформе. И даже на этой ОС и на этой платформе преимущество Delphi перед другими средами разработки более чем спорно.

По-моему выбор очевиден.

28 комментариев
freefly 20-04-2009 19:30 0

username, А как же Kylix?

username 20-04-2009 19:35 0

freefly, Вы его использовали? И много вы программ написали, работающих и под Windows и под Linux?

freefly 20-04-2009 20:06 0

username, Нет, не использовал.

username 20-04-2009 20:09 0

freefly, Все с вами ясно.

freefly 20-04-2009 20:20 0

username, Отличный аргумент! Убеждать ты умеешь! ;) Сразу видно - настоящий программист - логическое мышления, весомость доводов )) "Если ты не писал на Kylix под Linux, то и о delphi с тобой говорить не стоит" :))

username 20-04-2009 20:31 +1

freefly, Не надо приписывать мне то, чего я не говорил - это слишком даже для вас.

Если вы не использовали Kylix, но при этом что-то про него утверждаете, значит вы не слишком разумный человек.

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

freefly 20-04-2009 21:13 0

username, У-тю-тю ))))

freefly 20-04-2009 22:43 0

username, А про Free Pascal Compiler (FPC) ты что-нибудь слышал?

username 20-04-2009 23:08 +2

freefly, Free Pascal и Delphi - совершенно разные вещи. Я использовал и то и другое. Free Pascal использовал и под Linux и под Windows.

username 20-04-2009 23:13 +2

freefly, И что вы вообще пытаетесь доказать? Кроссплатформенность Delphi? Если так, то у вас ничего не выйдет. Только еще раз выставите себя дураком.

crazy_fizruk 20-04-2009 23:21 +2

freefly, Мне казалось, мы здесь сравниваем Delphi и С++. Почему все постоянно путают C и С++, Pascal и Delphi?..

saper 21-04-2009 00:34 0

crazy_fizruk, Всё таки правильней будет сравнивать Object Pascal (он же Delphi language) с Си++, но ни как не Delphi с Си++. Но видимо многие здесь этого не понимают и сравнивают среду разработки с языком...

freefly 21-04-2009 02:16 0

crazy_fizruk, Нет, официально язык называется Delphi. Object Pascal'ем он назывался до 2003-го года.

freefly 21-04-2009 02:17 0

username, Да, я говорю именно о кроссплатформенности.

freefly 21-04-2009 02:32 0

username, "freefly: Free Pascal и Delphi - совершенно разные вещи. Я использовал и то и другое. Free Pascal использовал и под Linux и под Windows."

Так уж "совершенно разные"? Free Pascal поддерживает компиляцию в режиме совместимости с Borland Delphi, включая поддержку классов и интерфейсов. Важной особенностью данного компилятора, в отличие, например, от GNU Pascal, является ориентация на распространённые коммерческие диалекты языка: Object Pascal и Delphi.

saper 21-04-2009 02:46 0

freefly, Вы видимо не обратили внимание на то, что я написал в скобках. Сейчас язык называется Delphi language, а не просто Delphi

freefly 21-04-2009 02:48 0

saper, Ну да, наверное, правильней. Я когда создавал этот холивор не предполагал, что тут всё так серьезно будет :)) Если бы предполагал, наверное, уточнил бы :)))

username 21-04-2009 09:18 0

freefly, Очередное голословное утверждение! Формально fpc как-то совместим с Delphi. А вы потрудились проверить уровень совместимости? Скомпилируйте хоть один свой большой (хотя бы несколько тысяч строк) проект на Delphi с помощью fpc, а потом заявляйте вообще что-то о совместимости.

username 21-04-2009 09:22 0

freefly, И вообще, раз уж вы говорите о переносимости, то доказывайте свои слова. Сколько вы знаете серьезных кроссплатформенных программ на Delphi? Можете дать ссылки хотя бы на описания этих проектов? Примеров широко распространенных программ, написанных на C++ могу привести очень много.

А то вы только голословными утверждениями раскидываться горазды. Я требую доказательств. Пока вы не приведете ссылки, буду утверждать все ваши заявления о кроссплатформенности как минимум голословными.

username 21-04-2009 09:24 0

username, Ошибся. В последнем предложении должно быть "буду считать", а не "буду утверждать".

seekbirdy 21-04-2009 15:16 +1

username, Да, кроссплатформенность - это слабая сторона Delphi. Но! Ребят, вы же не будете спорить с тем, что FP/Lazarus появился сам по себе? Он создавался изначально как open-source-клон Delphi, и идеологически полнстью подвержен ее влиянию. Lazarus - это Лазарь (который воскрес), имеется в виду "воскрешение" Kylix, ссылку лень искать.

freefly 21-04-2009 19:07 0

seekbirdy, О! Слава Богу! В нашем полку прибыло, а то сишники меня тут совсем уже совсем заклевали! ))

zinaps 10-05-2009 19:55 0

username, Сколько бы я программ не написал под другие операционки 0 или 10 или 100 FreePascal от этого ну никак не станет одноплатформенным.

zinaps 10-05-2009 20:18 0

username, FPC Совместим практически со всеми конструкциями Delphi за исключением пожалуй лиш Рантайм Пакетов на нем можно компилировать сотни тысяч делфийских строк не опасаясь наткнутся на языковые несовместимости

username 10-05-2009 20:35 0

zinaps, То есть перечислять кроссплатформенные проекты на Delphi вы не собираетесь? То есть это такой замечательный кроссплатформенный язык, на котором практически нет серьезных кроссплатформенных программ? )

Язык программирования бессмысленно рассматривать чисто теоретически, забыв про программы, на нем написанные (или не написанные).

zinaps 11-05-2009 13:46 0

username, Мда хороший аргумент. Про кроссплатформенные проекты. Ну что греха таить я действительно не занимался кросплатформенными проектами. К сожалению заказчики для которых создавались проекты были моноплатформенными. Были проекты и под Линух и под Соляру и под Вин даже под какойто клон линуха непомню его названия но совершенно небыло никакой надобности делать кросплатформенные проекты. А вот готовые решения для одной платформы на другую перегонялись. И как бы не было в этом чегото уж сверхестественного а засчет абстрактности языка Pascal чем С++ кстати не блещет делать это было как мне намного легче чем если бы языком быо с++.

username 13-05-2009 15:13 0

zinaps, Какие именно проекты ты разрабатывал для Linux, Solaris и Windows? С какой на какую платформу переносил? Как этому способстововал Delphi?

opera.rulez 20-06-2010 22:05 0

username, На C++ более 9000 непереносимых программ, заточенных под Visual Studio. И где тут кроссплатформенность?

20-04-2009 19:38 +1

не слышал ни об одной ОС, программном комплексе, бд, которые были бы написаны или полностью или с поддержкой дельфи

на ум приходит только qip =)

как язык - си лучше делфи, т.к. си - это язык для программистов и сделан он программистами. а делфи - коммерческая платформа, причём ничем не отличающаяся от массы других. кстати делфи унаследовала все ООП-идеи именно от С++

18 комментариев
freefly 20-04-2009 20:28 0

youfailme, The Bat! Aimp, Total Commander

crazy_fizruk 20-04-2009 20:37 +1

youfailme, Не путайте, пожалуйста С и С++.

username 20-04-2009 20:41 0

freefly, youflame неточно выразился, но идея верна. Серьезных программ, написанных на С++ действительно несравнимо больше, чем серьезных программ на Delphi.

username 20-04-2009 20:50 0

username, Извиняюсь, неправильно написал ник, я имел в виду youfailme.

bwhite 21-04-2009 00:26 0

freefly, Ещё квест Штырлиц, ладно уж :)

saper 21-04-2009 02:02 0

username, Да их больше, но не по причине того, что на Делфи их невозможно написать. Просто Си++ более популярен и этим всё объясняется

freefly 21-04-2009 02:28 0

username, То что их мало не означает, что их невозможно написать. Просто Си - попса и все на нем пишут, только и всего.

username 21-04-2009 09:31 0

freefly, Ваши заявления, как минимум, необоснованны. Вы даже путаете C и C++, куда уж от вас ожидать знания языка С++. Вы говорите "Си - попса", и подразумеваете, что Delphi - нет. Почему? Чем по-вашему Delphi лучше?

username 21-04-2009 09:35 0

freefly, А вы, вообще говоря, С++ знаете? Если да, то насколько? Какие серьезные программы вы на нем писали?

Или вы просто не осилили С++ и теперь кричите, что это гадость?

seekbirdy 21-04-2009 15:11 0

youfailme, Ну а IDE MSVC унаследовала все кнопочно-окошечные удобства от Delphi, причем в урезанном убогом виде. Насколько мне известно, патенты на VCL-ные идейки были куплены мелкософтом у борланда (или тогда еще Inprise). В общем, историю пишут те, у кого больше денег, ага.

crazy_fizruk 21-04-2009 16:49 0

freefly, Повторюсь, не путайте, пожалуйста, С и С++.

freefly 21-04-2009 19:14 0

username, Я не кричу, что C++ гадость! Я кричу, что delphi намного удобнее!!! Да и не кричу вовсе, а пишу буковки в формочки, когда совсем уже заняться нечем ))

youfailme 21-04-2009 21:36 0

freefly, это не ОС, не программные комплексы и не бд, это пользовательские программы)

я же сказал - на ум приходит только квип и ему подобные - так что это не в счёт)

кстати я ни бэтом, ни аимпом, ни tc не пользуюсь)

youfailme 21-04-2009 21:37 0

crazy_fizruk, я не путаю си и си++

С++ - ооп-расширение возможностей си. а не отдельный язык

поэтмоу когда говорят си - имеют ввиду с++ ) и нефиг тут

freefly 21-04-2009 21:47 0

youfailme, Например, ПК ЕГРЗ

seekbirdy 22-04-2009 10:19 0

youfailme, Да, кстати, Skype под винду написан на Delphi :)

crazy_fizruk 22-04-2009 14:55 +2

youfailme, Pascal и Delphi, по-вашему, тоже одно и то же? C++ создавался как надстройка, которая должна изменить сам принцип построения программы. С++ - объектно-ориентированный язык программирования (хоть и не совсем), а С - структурный язык программирования. Да, можно на С++ писать сишный код, но он создавался не для этого. Та надстройка, которую реализовал Страуструп стоит того, чтобы называть С++ отдельным языком. Поэтому когда говорят Си - имеют в виду Си, а когда говорят С++ - имеют в виду С++.

opera.rulez 20-06-2010 22:07 0

youfailme, В Дельфи ООП-идеи унаследованы от Модулы и от языка программирования Ада (который, кстати, проектировался для военных целей). C++ унаследовал ООП-идеи от Симулы, только весьма непоследовательно.

21-04-2009 00:55 +2

Delphi - потомок Паскаля, учебного языка программирования.

К тому он неудобен для написания актуальных ныне кроссплатформенных приложений.

8 комментариев
freefly 21-04-2009 02:27 0

AiMDi, Смешно )) Паскаль - учебный язык программирования. С чего вы это взяли?

crazy_fizruk 21-04-2009 16:51 0

freefly, С того, что он создавался, как учебный язык программирования. Вам пора вырасти и начать трезво оценивать положение вещей, а не выкрикивать, не разбираясь в вопросе.

freefly 21-04-2009 19:16 0

crazy_fizruk, Ну хорошо. Я не прав. Разобрался. Действительно паскаль создавался как учебный язык. Ну и что из этого следует? У нас в школе, например, c++ был. тоже, значит, как учебный использовался. Учебный, значит, никчемный, по-вашему?

crazy_fizruk 22-04-2009 14:58 0

freefly, Pascal создавался как учебный язык, С++ - нет. Почитайте литературу. То, что у Вас в школе С++ использовался в качестве учебного - это минус Ваших преподавателей. Учебный - не значит никчемный, учебный - значит предназначен для обучения, но не более того. Просто многим неохота слезать с детских языков и попробовать что-то взрослое, прежде чем осуждать это.

saper 22-04-2009 15:27 0

crazy_fizruk, И в чём же заключается детскость языка Delphi?

saper 22-04-2009 15:32 0

saper, Pascal может быть и детский, но уж точно не Delphi language

crazy_fizruk 22-04-2009 15:40 +2

saper, В данном контексте имелся ввиду Pascal. Но отнюдь немногие программисты Delphi ушли от уровня Pascal, многие пишут в стиле Pascal, не используя многих новшеств (по отношению к Pascal), добавленных в Delphi, как, например, ООП. То же можно сказать и о программистах С++. Многие программисты пишут сишный код на плюсах и не используют возможностей С++ для решения их задач. Это минус для обоих языков, потому что позволяют программисту писать некрасивый, так скажем, код.

saper 22-04-2009 15:50 0

crazy_fizruk, С этим полностью согласен

21-04-2009 09:27 -3

дальфи для лентяев. готовые объекты это не по нашему.

9 комментариев
seekbirdy 21-04-2009 14:03 0

indigo, Правильно! Надо в стотыщпитцотый раз писать то, что уже до тебя кучу раз написано. Вдруг оптимальнее сделаешь!..

indigo 21-04-2009 14:05 0

seekbirdy, менее глючно сделаю, ага. и то как мне надо.

werehuman 21-04-2009 14:12 0

indigo, Что же это значит, библиотеки вроде Boost и Qt не нужны?

indigo 21-04-2009 14:15 0

werehuman, я не про все. дельфи годится для обучения, но никак не для серьёзного более мение (коммерческого) программирования

seekbirdy 21-04-2009 14:51 0

indigo, И как Вы это аргументируете? Тут все про это пишут, ни одного аргумента я так и не увидел. Кроме аргументов типа "мне Васек из соседнего отдела сказал, а он отец!"

alexx 04-05-2009 13:41 +1

indigo, Угу. Настояшие програмеры пишут программы как "copy con: program.exe" :) Лень, между прочим - она двигатель прогресса...

zinaps 10-05-2009 21:19 0

indigo, Интересно и для чего ж это Embarcadero купила CodeGear наверно для своей ERStudio написанной на С++ или очего это M$ купила главного Делфидевелопера не оттого ли чтоб C# унаследовать от С++. Как бы там нибыло Делфи довольно популярна как среда разработки.

zinaps 11-05-2009 14:27 0

indigo, Готовые объекты действительно не для С++ это потому что в С++ нет управляемого переопределения кода в потомке ввиду отсутствия техи inherited. Мои соболезнования по этому прескорбному обстоятельству хотите писать на С++ современный код пишите на с# или ждите когда с++ станет по настоящему держать ООП

opera.rulez 20-06-2010 22:09 0

indigo, Никто не заставляет использовать готовые объекты. Можно подумать, что си-плюс-плюсники только своими объектами пользуются.

21-04-2009 09:27 +1

В C++ есть шаблоны и перегрузка операторов.

12 комментариев
seekbirdy 21-04-2009 13:04 +1

username, В последней версии Delphi language это тоже есть (вроде бы, сам не пользовался)

werehuman 21-04-2009 14:09 0

username, Честно говоря, шаблоны эти кривовато реализованы, перегрузка операторов зачастую путает. Зато С++ - это свободный язык, который имеет множество реализаций, а Delphi - мертвая(вроде) закрытая технология одной фирмы (про freepascal+lazarus тут не было сказано).

seekbirdy 21-04-2009 14:21 0

werehuman, Про FP было сказано, это во-первых. А во-вторых, хотя Delphi и проприетарный продукт, но благодаря своей архитектуре (компоненты, эксперты и т.п.) позволяет сколь угодно наворачивать на нее библиотеки.

Вокруг Дельфи сложилось достаточно обширное open-source-коммьюнити (например, тот же проект JEDI).

seekbirdy 21-04-2009 14:22 0

werehuman, И с чего это Вы взяли, что "мертвая"? Что подразумевается под этим словом?

seekbirdy 21-04-2009 14:24 0

username, А вообще, еще вспомните про множественное наследование. По мне - так это не преимущество, а недостаток. Реально не нужно, а только запутывает программиста.

werehuman 21-04-2009 14:31 0

seekbirdy, Копипаста с википузии:

В марте 2006 года компания Borland приняла решение о прекращении дальнейшего совершенствования интегрированных сред разработки JBuilder, Delphi и C++ Builder по причине убыточности этого направления. Планировалась продажа IDE-сектора компании. Группа сторонников свободного программного обеспечения организовала сбор средств для покупки у Borland прав на среду разработки и компилятор (см. openDelphi.org).

werehuman 21-04-2009 14:33 +1

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

seekbirdy 21-04-2009 14:35 0

werehuman, Хм, ну и что. Март 2006 года. Потом IDE-подразделение было выделено в дочернюю компанию CodeGear, которая потом была приобретена Embarcadero. Не так давно вышла Delphi 2009 (с упомянутой поддержкой шаблонов и Юникода). Также существует Delphi for PHP, Delphi for .NET.

seekbirdy 21-04-2009 14:54 0

werehuman, Так речь о том, что в качестве аргументов за C++ используется наличие таких вот спорных "преимуществ". Object Pascal/Delphi тоже развивается, и всякие примочки такого рода были бы уже реализованы, будь они действительно нужны.

werehuman 21-04-2009 14:57 0

seekbirdy, Хм, буду знать.

username 14-05-2009 11:41 +1

seekbirdy, "всякие примочки такого рода были бы уже реализованы, будь они действительно нужны" - А может они не реализованы просто потому, что Delphi гораздо меньше используется и медленее развивается?

opera.rulez 20-06-2010 22:10 0

username, Именно перегрузка и породила кучу кривых программ на C++, которые невозможно отладить, из-за того, что сразу не видно, какую функцию выполняет оператор.

21-04-2009 22:01 +2

писал и на том и на том, общий стаж - чуть больше 9 лет. Как ни крути С++ был удобнее для большинства проектов. Но сложность синтаксиса с последними предполагаемыми добавлениями сильно убивает читаемость и скорость "вьезда" в программу новичков. ИМХО: нужен новый подход к программированию, отличный от языка С++, думаю что появление нового лидирующего языка - вопрос только времени.

10 комментариев
zinaps 11-05-2009 14:19 0

aerosun, Очень проитиворечивое заявление. С одной строны как ни крути С++ был удобнее (Стругой стороны сложный синтаксис (ИТАК У С++ сложный и удобный синтаксис, а у Делфи неудобный но простой)))

username 12-05-2009 11:32 0

aerosun, Да, C++ уже сейчас сдает позиции перед языками с динамической типизацией. И Delphi и C++ со временем уйдут в прошлое.

username 12-05-2009 11:33 0

zinaps, Да, именно так. У С++ сложный синтаксис, и для новичков это - проблема. Однако для программистов с опытом это проблемы не представляет.

zinaps 12-05-2009 21:47 0

username, Я по воле судьбы уже давно пишу гиганские проекты с базами данных и сложными механизмами самообновления. Я утверждаю что там где можно допустить ошибку человек ее допустит. вот возьмет и забудет поставить звездочку в коде и все станет в С++ уже сидьно медленно. Но никто этого не заметит кот проверит QA код рабочий. а потом через год придет маленькая прозьбв обработать список чегойто. И тут эту давно проверенную процедурку вставят в цикл. Ну вроде С++ понятно к чему я клоню (тот человек который вынудил компилятор без звездачки терзать процессор кодом копировщиков и выделением и уничтожением он знал что так низзя знал вот просто незаметил отсутствия звезды)

Проблема С++ не в сложном синтаксисе а в множестве нюансов которые необходимо знать об этом синтаксисе и неправильно рассавленными умолчаниями с выбором нюансов. И даже у профессионально опытных программистов С++ синтаксис дает больше шансов на ошибку чем синтаксис Делфи.

mikenerevari… 12-05-2009 23:28 0

zinaps, Короче ты пытаешься сказать что Дельфи - он для быдлокодеров которым лень следить за чистотой программы.

zinaps 12-05-2009 23:37 0

mikenerevarin, Я хочу сказать что для качества я бы выбрал делфи а для багов С++

username 13-05-2009 22:26 0

zinaps, Если принять во внимание слова mikenerevarin, ты только что назвал себя ленивым быдлокодером.

zinaps 14-05-2009 18:46 0

username, Ну шутить то ты мастак конешно. Но я думаю что если ты не Progect Manager то ты не борешся за минимизацию кода. Однако PM борется за минимизацию кода по вполне очевидной причине меньше кода меньше багов какие бы профессионалы код не писали.

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

username 15-05-2009 14:20 0

zinaps, Тем не менее, моих слов ты не опроверг.

zinaps 18-05-2009 17:33 0

username, А как я могу опровергнуть твои слова я реалист. Я видел ленивых быдлокодеров на С++ видел их и на Delphi. Ленивое и тупорылое быдлокодерство есть везде.

11-05-2009 17:08 +2

На делфи было сделано такое говно как qip.

3 комментария
ggdandelion 12-05-2009 01:55 0

taewonsu, Серьезный аргумент)

username 12-05-2009 11:30 0

taewonsu, Это действительно не аргумент. И на Delphi и на C++ написано много плохих программ.

opera.rulez 20-06-2010 22:11 0

taewonsu, Вы говорите так, как будто на Си++ говна не писа́ли.

21-05-2009 16:17 +1

На основе этого языка были созданы самые популярные на данный момент языки java, php, C#, JavaScript и другие, и они постоянно развиваются.

Так же на С-образных языках были написаны все популярные операционные системы и игры.

Delphi - получил же свою поулярность только как первая наиболее функциональная IDE, которая позволяла созавать приложения в WIn с помощью Drag-Drop достаточно быстро.

С появлением не менее удобных IDE под другие платформы, разработка себя изжила и продолжает житьтолько потому, что еще остались программеры, которые пишут только на Делфях, но и они через пару лет "вымрут". Знания же С - поможет в дальнейшем развиваться в наиболее продвинутых языках.

2 комментария
zinaps 21-05-2009 17:02 0

mpbikc, С# взял за основу больше Delphi чем С++. А там где он взял за основу С++ там и доселе узкие места и проблемы. Взять например борьбу за template в assembly.

opera.rulez 20-06-2010 22:14 0

mpbikc, У java, C#, java_script другая семантика. Они только по синтаксису похожи. В Си++ нет модульной конструкции, связывает части кода линкер, а потом приходится материться из-за того, что программа линкуется не так. Дельфи унаследовал модульную конструкцию от Модулы, то эе можно сказать про java и C#. А Javascript — совсем другая история.

02-06-2012 12:01 +1

После C# Делфи таким убожеством кажется. Совершенно неудобный. В планах - освоение С++.

7 комментариев
r619 02-06-2012 12:19 0

Lp6666, C#
Sad, sad story.

Lp6666 02-06-2012 12:22 0

r619, С# чем-то плох?)

r619 02-06-2012 12:30 0

Lp6666, Использует виртуальную машину, есть некоторые лицензионно правовые сложности с написанием и использованием компаниями (это вроде как лечится кривым Mono, программы на нем часто вылетают и лагают, см. отзывы о Evolution и Banshee на таких сайтах).
По отзывам знакомого - сишарпера (кодит на Unity, вроде как выбора нет) даже по сравнению с убогой джавой у него более страшный синтаксис.

Мотивом для его создания послужило нежелание м$ сратся с ораклом (или Sun?) по патентным вопросам. Велосипеды прямыми не бывают

Lp6666 02-06-2012 13:11 0

r619, Синтаксис там офигенный, очень удобен. С переменными удобно работать и т.д.) Кстати о компонентах.) В Делфи для привязанного к бд списка нужен dbComboBox, а в C# пригодится обычный, никаких вывертов.)

Lp6666 02-06-2012 13:12 0

r619, Хотя насчет второго скорее плюс к Visual Studio)

Lp6666 02-06-2012 13:45 0

r619, *DBLoocupComboBox

opera.rulez 02-06-2012 16:26 +1

Lp6666, Как насчёт языка программирования D? Синтаксис там офигеннее, чем у C++, но виртуальная машина не нужна.

20-09-2013 11:20 0

Перейду сюда. Игрушки на DX11.2 > формошлепства.

2 комментария
opera.rulez 20-09-2013 15:34 0

cherepets, А я придерусь к заголовку. Если спор о средах, например, «Delphi vs Visual Studio», то Эскобар поможет выбрать. А если спор о языках («Object Pascal vs C++»), то в C++ ад и погибель из перегрузки операторов, макропроцессора и синтаксиса, состоящего чуть более, чем полностью, из нечитаемого нагромождения знаков препинания.

Серьёзно, что мешает писать игрушки на Delphi, а заниматься формошлёпством в C++?

cherepets 20-09-2013 16:20 0

opera.rulez, Затем, что иначе тебе придется тянуть сторонний мусор и врапперы.
Для удобного формошлепства в С++ понадобится Qt, для DirectX 11.2 нужно использовать WinRT'шные методы => напрямую ты с ним можешь работать только если пишешь на C или C++ (но конечно ты можешь сделать библиотеку, которая будет вызывать их, а из дельфи обращаться к ней).

15-09-2015 12:18 0

Delphi ужасен. Надеюсь больше никогда его не увижу.

3 комментария
Tro 27-10-2015 09:36 +1

Gopnik, А в нашем универе преподают Eiffel, что действительно ужасно (хотя куда деться, когда его создатель здесь). Так что Delphi ещё нормален.

Slimmer 27-10-2015 21:24 0

Tro, если преподает сам Мейер (или хотя бы есть возможность с ним контактировать), то это огромная удача. Необходимость прикоснуться к языку, который, вероятно, никогда не пригодиться - это абсолютно незначительный момент по сравнению с пользой, которую ты можешь извлечь в общении с крутым практиком (а не "хелоувордщиком", кем являются бОЛьшая часть преподов)

Tro 28-10-2015 01:17 0

Slimmer, Если честно, не знаю, какие полезные знания можно получить от Мейера. Он здесь продвигает идеологию design by contract, которая на практике практически не встречается. И всё это на курсе ООП, где можно было бы в это время изучать реально полезные вещи на той же Джаве (которой тут всех обучали на летней школе).