![]() |
Хотелось бы услышать ваше мнение по этому вопросу.. Желательно с объяснениями почему одно, а не другое.......
|
BigMac
C++ и Дельфи? Выбрать для разработки или для изучения? С++ эффективно компилирует, но в нём нет интерфейса для удобной и более эффективной разработки приложений под виндоус. В дельфи очень просто и удобно работать с API и создавать интерфейсы, но он не очень экономно компилит. При современных скоростях и темпах совершенствования железа я бы выбрал Дельфи. |
noname00.pas
Цитата:
|
BigMac
Для изучения тем более Дельфи. Его учить проще на порядок :) |
noname00.pas
Сенкс, а что другие скажут? :biggrin: |
Да помойму тоже Делфи...
|
DiMka
А ты почему так думаешь? |
Скорость разработки, скорость изучение, удобство элементарное :)
|
DiMka
:up: |
И я за Delphi! Я как-то начинал с C++ Builder-а, но упёрся в недостаток литературы и компонентов (т.е. компонентов много, но они написаны на Delphi и поэтому в C++ коряво ставяться...) После 2 недель мучения, перешёл на Delphi. Но у Delphi есть минус, на западе он считается "загнивающей системой... Там надо знать C++ Builder, Visual C++, либо Visual Basic. Конечно Delphi тоже чего-то стоит, но... И ё равно я за Delphi т.к. я лутше выучу то, что проще и удобней учить сдесь, а потом, по мере надобности, буду переходить. Не так уж сильно они отличаются.
|
Artem
А я, все-таки, решил на C++ подсесть....... просто в школе Си изучал....... :gigi: |
BigMacВ любом случае начни с С++!:lol:
|
Я только что зарегистрировался, так что ссори за поднятие старой темы.
Так вот, С++ одназначно рулит. Что в нём есть чего нет в Delphi:
Чуть-чуть цитат теперь: Цитата:
:biglaugh: -- а вся функциональность обычно в COM компонентах. Цитата:
(Отредактировал(а) ivank - 12:14 - 7 Дек., 2001) |
ivank
Цитата:
Просто в Универ на СИ заставляют писать....:) Поэтому надо с СИ начать........ Цитата:
|
Цитата:
Кстати C99 ( последний стандарт ) теперь ввёл ряд фич вообще несовместимых с C++! :down: |
ivank
Блин.......... но все-таки с С начинать буду, для Универа надо, а потом на С++ перейду, я думаю это не так сложно будет :gigi: |
Вот объясните мне, дауну, почему функцию WINAPI на дельфи вызвать сложнее, чем на С. Если не умеем ф-ции из библиотек подлинковывать - то тогда другое дело.
Проблема дельфи в отношении WINAPI заключается в двух вещах и только в двух вещах. И это даже не имхо, это факт. Во-первых, некоторые вызовы функций WINAPI в файлах *.pas (прежде всего windows.pas) реализованы некорректно, в частности, передача указателя заменена передачей параметра через var (сразу же параметр становится обязательным и тип его уже нужен тот, который описан) - это, бывает, вываливает всякие исключения. Перемуд(р)или создатели дельфей, с кем не бывает. Выход - писать правильное опрелеление и самому линковать. То же относится и к типам. Во-вторых, борланд или кто там сейчас, явно отстает в создании файлов *.pas и примеров. Всякие "полулевые" библиотеки приходится описывать самому. А для С(++) есть MSVS, где заголовков просто на порядок больше, чем для дельфи. Правда, некоторые константы в MSVS не описаны, так я их беру из дельфи6 и DDK. |
Цитата:
Цитата:
Немного в тему почему плохи Rad средства: http://www.kalinin.ru/programming/cpp/26_07_00.shtml |
Ну, сходил по ссылке... вот оттуда пример:
>создание программ, которые в принципе не переносимы это просто издевательство над идеями C++. Одной этой строчки достаточно, чтобы понять, что за человек это писал. Конечно, он мог иметь в виду ANSI C, но тогда все еще хуже, если автор не видит различия. >VCL (Visual Component Library), целиком и полностью взятая из Delphi У меня есть исходники VCL. Что то я не увидал такого. >VCL-классы не могут участвовать во множественном наследовании Опять же бред. Автор не знаком с основами ООП, или интерфейсное наследование за таковое не считает. Ну и так далее. Вывод: не давать ссылки на статьи с ошибками. Мы люди умные, и сами понимаем, какая область применимости RAD. >WinAPI изначально для Си Обоснуй. Только сразу же, не надо писать, что WINAPI написано на С, поэтому оно для С Ж)). Win2000 подавляющей частью написано, насколько мне известно, на C++ и ASM. К тому же, я думаю, ясно, что спор о WINAPI не имеет ничего общего с разговорами о величине получающегося исполняемого файла. |
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
зы ты(вы) Калинина не обижай(те), на самом деле у него много чего хорошего почитать можно. |
Загрузили :(
|
>В те давние времена когда закладывались основы современного WinAPI никакого Дельфи не существовало и впомине, соответственно единственный язык принимаемый во анимание был C, на котором к тому моменту писал весь Микрософт.
Отсюда следует, что создание новых языков программирования ненужно, есть же С. К тому же DELPHI - это не язык программирования в том качестве, в котором языком считается С, лучше говорить о паскале. Про наследование - лучше читайте ООП. На эту тему больше постить не буду. А насчет ANSI C - все предельно ясно. С++ - есть ровно там же, где и паскаль, ну плюс минус пара платформ. С++ не создавалась для переносимости и не обладает ей. На всех платформах есть только стандарт ANSI C. У Калинина - почитал пяток статей - ни одной не нашел без ошибок или неточностей. Может, конечно, это все писалось кучу лет назад, но ссылки на него в качестве аргумента я принимать не буду. |
Мда........ Apis.NET прав... Но спор хороший..... Буду иметь ввиду все, что вы тут сказали... :gigi: Сенкс :up:
|
Цитата:
Цитата:
Цитата:
Повторяю вам в чём разница:
А насчет ANSI C - все предельно ясно. С++ - есть ровно там же, где и паскаль, ну плюс минус пара платформ. С++ не создавалась для переносимости и не обладает ей. На всех платформах есть только стандарт ANSI C. [/quote] Я вас удивлю, но C++ есть практичесски везде где есть C, и у плюсов есть овициальный стандарт, кторый декларирует переносимость программ на C++! У паскаля тоже есть стандарт. А вот у ObjectPascal официального ANSI стандарта нет! И поэтому его( в виде Дельфи ) поддерживает только Борланд. Цитата:
(Отредактировал(а) ivank - 13:32 - 8 Дек., 2001) |
>А следует только то что WinAPI был изначально для C
Ну не следует. Вызов функции NtQuerySystemInformation, например, на паскале, связан с какими-то проблемами ? Какой вызов API на паскале неосуществим ? Можно пример ? >Я вас удивлю, но C++ есть практичесски везде где есть C Практически - не считается. С тем же успехом и про перл можно то же самое написать. И про паскаль. А переносимость программ может быть только на ANSI C. Переносимость не бывает "почти". Это то же самое, что нельзя быть чуть-чуть беременной. А стандарт - это не реальность. И ANSI тут не при чем. У любого стандарта всегда есть область применимости и предпосылки для реализации. Там написано, что для всех платформ существует компилятор С++ ? Сам когда то писал для PARX. Там никакими плюсам и не пахло. Насчет Калинина... Давайте, по бутылке пива за ошибку в статье, которую вы укажете , с обсуждениями, все как полагается ... Хотя, даже у Руссиновича и Соломона в 3-м издании встречаются ляпы (или это ошибки переводчика)? |
Цитата:
Цитата:
Цитата:
|
Если честно, я не знаю, на какой платформе нет ANSI C. Буду рад узнать. Искренне считал, что ANSI C есть везде.
Или имеются в виду платформы типа БЭСМ-6 ? (Отредактировал(а) vasketsov - 15:47 - 8 Дек., 2001) |
>при проектировании WinAPI в расчёт принимался только C
Насколько я помню, бейсик тоже был. Значит и для него тоже? |
Цитата:
Цитата:
Кстати, встречный вопрос: Вы знаете хоть одну платформу без компилятора C++. (Отредактировал(а) ivank - 19:16 - 8 Дек., 2001) |
Я писал для систем PARX. Это Parallel Extension of UNIX. Процессоры PARSYTEC. Куча десятков процессоров и все такое. Там кроме ANSI C ничего нет.
А вообще FORTH - это же язык программирования такой есть. |
ivank
Сходил на твой сайт, он мне понравился намного больше, чем Калинина. |
Цитата:
Цитата:
Короче, хватит флеймить. Дельфи это RAD и область применения у него соответствующая. Думаю с этим все согласны. |
vasketsov
Кстати, у тебя тоже хороший. Только вот дизайн немного глаз режет. |
Ну слава богу, полюбили друг друга, комплементами обменялись, утихли вобщем одним словом.Блин столько всего написали что теперь к компилятору боюсь подойти в друг укусит.Не надо нас пугать мы и так запуганные!!!
|
Никто никого не пугал.
А вообще было очень полезно узнать о FORTH. |
vasketsov
Кстати, про форт. Я тут две интересные страницы на русском нарыл про него: (Отредактировал(а) ivank - 12:11 - 9 Дек., 2001) |
Хватит тут с С++ дело не идёт а вы так грузите.
|
Apis.NET
Это у тебя "дело с C++ не идёт"? Купи себе нормальную книжку ( Страуструпа ) и пойдёт как миленькое. |
ivank Новый год! Купил жене подарок, а ещё папы, мамы и т.д.
|
Apis.NET
Книжка стоит не более 150р... :) |
Да куплю я куплю, просто мне ещё 3 книги нужно вот и жду что б все вместе купить.
|
С++ - это отстой...
Для сравнения если написать на C и Delphi написать программу выводящую параметры запуска с использованием одинаковых функций WinAPI, дык на C прога в 3 раза больше чем на Delphi получается... Вот уж подумайте что лучше... :beer: |
:gigi:
test (Отредактировал(а) ivank - 12:55 - 15 Дек., 2001) |
mj
Скомпиль пустую прогу на bp 7.0 и на TMT-Pascal... На ТМТ она будет весить больше 16к, а на бп меньше 2к. Так что же? БП круче что-ли? Судить надо по эффективности компиляции крупных и сложных программ... |
mj
Ну что ж, пофлеймить хочем? :D Цитата:
Цитата:
И вот 2 ссылочки по теме ( Васкецов может не ходить ;) )
(Отредактировал(а) ivank - 0:24 - 14 Дек., 2001) |
вот же ш разашёлся злобный модер:
и так: 1. Цитата:
делфи разрабатывался для рботы с БД, и не уж то ты думаешь, что в Борланде, ныне Ипрайс, такие идиоты сидят и не понимают, что SDK идёт на С, переносить это полностью под паскаль - долго и не благодарное это занятие Цитата:
В большенстве случаев, можно обойтись и без всей мощи ООП. Да и наш любимый С++ не полностью поддерживает ООП - неполное RTTI, отсутствие мета-классов. С помощью мета-классов можно сделать очень многие вещи, на этом базируется VCL. Если интерисует, достану ссылку на одну ветку, в которой было показано что можо сделать на ОП и нельзя с С++ Цитата:
Пример: Код:
Цитата:
PS как RAD делфи не на много превосходит VC, а учитывая, что на создание интерфейса уходит максимум 10% всего времени от написания проекта, это копейки. PPS если что, то проф. ориентацию я не менял, просто терпеть не могу религиозные войны и фанатизм PPPS и по теме: лучше в начале выучить делфи, а потом приниматься за С, С++ <font size=dfontsize1 class=bgc1>Исправлено: <b>VuDZ</b>, 1:50 2-03-2002</font> |
попытка отмазаться :>
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
Цитата:
Цитата:
Цитата:
Цитата:
|
Времени отвечать про всё сейчас нет, но скажу, что с темплейтами MSVC и bcc5.5 оба провалились -- действительно худе. А вот у mingw всё было одинаково... Так что, плохая реализация темплейтов, это проблеммы создателей компилятора, а не языка.
|
я почти всегда юзаю ителовский компилер
|
vasketsov
Спор продолжать не хочу, но только одну вещь добавлю -- C++ есть везде, где есть C, т.к. существуют C++-frontend'ы -- компиляторы из C++ в C. Первые компилеры C++ (cfront в частности) компилировали всё в C, т.к. "это портабельный ассемблер". Сейчас наиболее популярный фронтенд это *Comeu. Его можно у них в onlin'е пощупать -- http://www.comeaucomputing.com . |
[rus]
Ne pomnyu - gde to sprashival... no zabyl gde :)... PO kakoi mukulature del'fei s samogo - 0 uchit' ? [/rus] |
Daiv
а тему новую создать не судьба? |
ivank
dumaesh stoit? nu sozdam, sozdam... :) |
Какая на... Делфи. С++ быстрее, компактнее, мощнее. Билдер - вот то, что нужно.:up:
|
...Почему-то я себя почувствовал маленьким и *несчастным
ivank Можно пример какого-нибудь применения множественного наследования, не код я имею ввиду, а просто идею.. кроме кнопочек с картинками и кроме потокового ввода-вывода, который соединяет в себе наследование от класса вывода и класса ввода (или может соединять) И еще очень интересует вопрос переопределения имен при множественном наследовании. При достаточно больших классах не будут ли затраты.....слишком большими. [s]Исправлено: Crew, 0:05 11-02-2003[/s] |
ivank
Цитата:
Ну вот не сделали еще компилятор, и все, руки, видать, не дошли руки. Даже компилятора с языка ассемблера там еще нет, на парситеках. |
mj
смотря как писать. если руки кривые то хоть делфи суй в них, хоть си++ |
vasketsov
Не понял... Фронт-енды C++ -> C есть? Есть, соответственно для всего, для чего есть компилятор C можно откомпилять плюсовую программу (если ресурсов хватит). Где я не прав? Crew Множественное наследование можно применять где угодно, где приходится совмещать "два в одном". Цитата:
|
ivank
Цитата:
Например: оба родителя используют метод add(int) И предположим, что получившийся класс использует оба метода и ему они нужны для разных целей. После некоторго размышления оставляем оба метода например так void CC::add(int n) { * *CA::add(n); } И вводим второй метод void CC::add2(int n) { * CB::add(n); } Ура, проблема решена А если двусмысленность более сложна? Сейчас это было необходимо из-за пересечения понятий наследования и параметрической перегрузки. Когда в С++ используется перегруженное имя, то сперва вызывается механизм наследования для поиска контекста, в котором определена функция. Затем типы параметров анализируются для снятия двусмысленности в пределах данного контекста. Предположим, что есть два класса А и В, для каждого из которых определен метод display. но у методов разные аргументы (int и double). Мы считаем, что так как эти два метода различаются по списку параметров, дочерний класс может наследовать от двух родителей и иметь доступ к обоим методам. Счазззз. Когда мы вызываем метод display с целочисленным аргументом, компилятор не может приянять решение, использовать ли функцию из класса A(которая соответствует типу аргумента) или же из класса В (которая встречается первой при заложенном в С++ алгоритме поиска; для ее вызова аргумент будет приведен от типа int к типу double). Копмилятор ругнется, но ругнется только в точке вызова метода, а не при описании класса. Звучит может угрожающе, но на самом деле это лечится, но только переопределением родительских классов, где методы необходимо объявить виртуальными (не чисто виртуальными), и компилятору станет ясно, что мы сделали это специально Проблема на уровне дочерних классов, а решение на уровне родительских. Кде тут ООП? Вот эти вот расходы на переопределение больших классов и кажутся мне слишком большими. [s]Исправлено: Crew, 0:15 12-02-2003[/s] |
ivank
1) На той машине ни один из них не запустится, ибо их просто никто не делал. 2) Формально - все равно компилятор ANSI C будет в итоге юзаться. |
The Language Difference
Despite the notable differences exist between the two languages, the concept of Object Oriented programming is the same. The following sections will compare these two languages to give Delphi users a quick start in C++ Builder. However, by no means this covers the complete feature set of C++ Builder. The features which are unique to C++ are not covered. Choosing the Right Tool C++ Builder is not to replace Delphi. Delphi is still simpler to use, and faster to compile. C++ has the advantage of having more control, broader user base, and easier to interface to many existing third party libraries. In many cases, Delphi programmers and C++ programmers will need to work together on the same project. This section will discuss which tool is more proper for different type of coding if Delphi and C++ Builder are mixed in the same project. (http://www.consist.it/bcb3C++BfD.htm) Лично я пришёл в восторг, когда впервые познакомился с C++ (до того я уже знал Delphi) |
Лучше ассемблер :) , но если между C++ или Delphi, то я бы наверно выбрал первое. Почему? Да потому что приложения на делфях слишком напрягают процессор, да и к тому же занимают много места. Его главное преимущество (или недостаток) - это быстрая разработка программ, практически не вдаваясь в подробности.
|
IlyaSh
Цитата:
так что смотря где... а если нужна гибкость цэ-цэ, то билдер тебе в руки ;) |
Ребята, я считаю, что сейчас для разработчика главное - скорость сдачи заказа пользователю. Делайте выводы. На мой взгляд, Delphi намного яснее для понимания и не содержит столько нюансов, как С++. Мое слово - Delphi rulezzz 4ever.
ЗЫ: А в 7-м Delphi поддерживается кроссплатформенность - теперь проги для Win можно будет компилить и для *nix. Каково? С++-ам такое и не снилось. |
mzd
Т.е. VCL и "встроенную" поддержку COM портанули под *nix? Не верю. А если писать надо используя спец. либу аки CLX, то извините в ++ кроссплатформенных библиотек побольше будет. Это что бы восстановить справедливость, а так в принципе фиолетово на чём писать. |
Цитата:
Цитата:
А про поддержку COM - так не дело это борландов на никсы как на систему COM натягивать. А в рамках одного приложения - тоже проблем не вижу, ты ж сам знаешь, COM - это просто набор правил. |
Да, в дельфи писать гораздо проще и быстрее. Но сама перешла на VC++. Чтобы писать поги под винду надо понимать функционирование самой винды, а в VС++ это как раз понимаешь. Кроме того, если настолько привыкнешь, то какая разница на чем писать? Клепать формы и там и сям можно.
|
Си или делфи? Я пока подробно с этими языками не знаком и не знаю всех подробностей их применения. Мне кажется, что это дело вкуса. Например мой брат начал с паскаля и затем перешел на делфи. Его этот язык вполне устраивает и он пишет исключительно на нем. Я же начал изучать Си, так как он применяется не только в винде, но и в линуксе.
|
BigMac
Начинай с C++: я когда-то начал с Delphi и очень жалею, что не с C++. Цитата:
:yes: |
Выбор прост, учиться легче на DELPHI. Но вот если ты
хочешь работать не в РОССИ - то добренькие дяди БУРЖУИНЧИКИ быстренько заставят работать на C++. |
Как то я тоже задавался этим вопросом. Один кул хацкер привел нескольнко аргуметов на эту тему, щас повторю по памяти.
В пользу дельфей++++++++++++++++++++++++++++++++++ Лего усвояется. Особенно для тех, кто изучал паскаль. Я пересел с паскаля на дельфи и через полчаса наколбасил то, что потом продал за 30$ одному заочнику. Вполне понятный человечий интерфейс. Кодяра выглядит эстетичнее и понятнее, чем на Сях. В пользу Сей.++++++++++++++++++++++++++++++++++++ Правило: все, что продается за деньги, не дельфях писать просто не принято. Это всего лишь правило этикета, и то в последнее время оно не совсем соблюдается Как пишет прогу неумный чел? Пишет все САМ. Как делает кул хацкер?Лезет в инет находит 90% материала и дописывает оставшиеся 10%. В инете для Сей полным полно всяких там модулей, библиотек и прочего интересного хлама. Для дельфей конечно тоже немало, но, я думаю на порядок меньше. Дельфя написана на... Си!!!!! ++++++++++++++++++++++++++++++++++++++++++ А вообще, не важно ЧЕМ, главное КАК! [s]Исправлено: RealRascal, 10:57 11-06-2003[/s] |
На Си написана не только Дельфя, но и все оси, про которые я знаю.
Си форевер!!! |
Кто это сказал, что Delphi написана на С? Вы видели исходник?
Я считаю, что Delphi - идеальный язык программирования и идеальный компилятор. На нём проги пишутся, как песня поётся! Не стоит рассматривать ограничения Delphi как недостаток. Например, отсутствие множественного наследования не реализовано Borland'ом умышленно, поскольку главной отличительной чертой Паскаля является его чёткость и логическая продуманность программ, на нём написанных. С множественным наследованием легко залезть "не в ту степь". Где-то читал, что писать неэффективные и запутанные программы гораздо легче на С, чем на Delphi и я с этим согласен. Хотя С(++) - тоже чрезвычайно мощный язык программирования. Критерий эффективности языка программирования необходимо оценивать не по его популярности, а именно ПО ЕГО ЭФФЕКТИВНОСТИ. То, что Delphi не очень популярен на западе, ещё не говорит о том, что он плох! Например, на Delphi можно писать самые настоящие компьютерные игры без всяких проблем (правда, от VCL необходимо в этом случае отказаться; результирующий объектный код будет совершенно не уступать по производительности MVC++, что ещё раз говорит о том, что компилятор Delphi очень высокого качества и о том, что можно обойтись - В КРАЙНЕМ СЛУЧАЕ - без VCL). Delphi - рулёз! |
Delphi без VCL гораздо эффективней чем Си++
Delphi с VCL гораздо удобней чем Си++ Первые версии Windows были написаны на Pascal... Valera Kravtsov правельно сказал... Хочу заметить ПОЧТИ все крупнейшие проекты сейчас пишется на Delphi... Пример: Последний раз я работал с програмкой R-Keeper (софт для реасторанов и клубов и т.п.)... Так вот всё там написано на Delphi и на Pascal... Си умрёт, вот увидете... [s]Исправлено: mj, 15:45 12-01-2004[/s] |
Цитата:
Цитата:
Цитата:
|
Ну да, Си на платформе Unix проживёт гораздо дольше чем под Win32... Но это не будет вечно...
|
Время: 18:35. |
Время: 18:35.
© OSzone.net 2001-