Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   C++ vs Delphi (http://forum.oszone.net/showthread.php?t=30046)

BigMac 22-11-2001 22:04 206910

Хотелось бы услышать ваше мнение по этому вопросу.. Желательно с объяснениями почему одно, а не другое.......

noname00.pas 23-11-2001 03:48 206911

BigMac
C++ и Дельфи? Выбрать для разработки или для изучения? С++ эффективно компилирует, но в нём нет интерфейса для удобной и более эффективной разработки приложений под виндоус. В дельфи очень просто и удобно работать с API и создавать интерфейсы, но он не очень экономно компилит. При современных скоростях и темпах совершенствования железа я бы выбрал Дельфи.

BigMac 23-11-2001 16:02 206912

noname00.pas
Цитата:

Выбрать для разработки или для изучения?
Для изучения, чтобы потом программить

noname00.pas 23-11-2001 21:41 206913

BigMac
Для изучения тем более Дельфи. Его учить проще на порядок :)

BigMac 23-11-2001 21:46 206914

noname00.pas
Сенкс, а что другие скажут? :biggrin:

DiMka 25-11-2001 01:57 206915

Да помойму тоже Делфи...

BigMac 25-11-2001 02:39 206916

DiMka
А ты почему так думаешь?

DiMka 27-11-2001 01:05 206917

Скорость разработки, скорость изучение, удобство элементарное :)

BigMac 27-11-2001 11:58 206918

DiMka
:up:

Artem 27-11-2001 12:24 206919

И я за Delphi! Я как-то начинал с C++ Builder-а, но упёрся в недостаток литературы и компонентов (т.е. компонентов много, но они написаны на Delphi и поэтому в C++ коряво ставяться...) После 2 недель мучения, перешёл на Delphi. Но у Delphi есть минус, на западе он считается "загнивающей системой... Там надо знать C++ Builder, Visual C++, либо Visual Basic. Конечно Delphi тоже чего-то стоит, но... И ё равно я за Delphi т.к. я лутше выучу то, что проще и удобней учить сдесь, а потом, по мере надобности, буду переходить. Не так уж сильно они отличаются.

BigMac 27-11-2001 22:45 206920

Artem
А я, все-таки, решил на C++ подсесть....... просто в школе Си изучал....... :gigi:

Apis.NET 29-11-2001 03:14 206921

BigMacВ любом случае начни с С++!:lol:

ivank 07-12-2001 15:11 206922

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

Так вот, С++ одназначно рулит.

Что в нём есть чего нет в Delphi:
  • шаблоны -- как следствие удобные контейнеры и STL
  • множественное наследование -- оч удобно часть функциональности реализовать в предке.
  • относительная низкоуровневость -- создавался на базе Си как никак, в паскале( ObjectPascal ) это тоже есть, но это всё привнесено извне Борландом, в оригинале этого не было.
  • Выбор -- Если загнётся Борланд, то всё Дельфиисты останутся у разбитого корыта( врядли кто-нибудь из них перейдёт на gnu pascal ), в тоже время плюсовых компилеров море.

Чуть-чуть цитат теперь:

Цитата:

noname00.pas
С++ эффективно компилирует, но в нём нет интерфейса для удобной и более эффективной разработки приложений под виндоус. В дельфи очень просто и удобно работать с API
Существует такая штука как C++ Builder -- та же дельфи для плюсов, так что... WinAPI изначально создавался для Си, и пользоваться им соответственно удобнее на C ( C++ как ближайшем родственником ) Кстати гуй я рисую на VB
:biglaugh: -- а вся функциональность обычно в COM компонентах.

Цитата:

BigMac
А я, все-таки, решил на C++ подсесть....... просто в школе Си изучал....... :gigi:
ИМХО лучше изучать сразу C++ -- будет меньше соблазна попользовать всякие низкоуровневые штучки.

(Отредактировал(а) ivank - 12:14 - 7 Дек., 2001)

BigMac 07-12-2001 16:03 206923

ivank
Цитата:

ИМХО лучше изучать сразу C++ -- будет меньше соблазна попользовать всякие низкоуровневые штучки.
Насколько мне друзья говорят, то они не особо и отличаются
Просто в Универ на СИ заставляют писать....:) Поэтому надо с СИ начать........
Цитата:

Я только что зарегистрировался, так что ссори за поднятие старой темы.
Это всегда приветствуется

ivank 07-12-2001 16:18 206924

Цитата:

Насколько мне друзья говорят, то они не особо и отличаются
Просто в Универ на СИ заставляют писать.... Поэтому надо с СИ начать........
Синтаксисом они вообще не отличаются, Си это просто подмножество C++, но принципы написания программ коренным образом отличаются.

Кстати C99 ( последний стандарт ) теперь ввёл ряд фич вообще несовместимых с C++! :down:

BigMac 07-12-2001 18:46 206925

ivank
Блин.......... но все-таки с С начинать буду, для Универа надо, а потом на С++ перейду, я думаю это не так сложно будет :gigi:

vasketsov 07-12-2001 19:41 206926

Вот объясните мне, дауну, почему функцию WINAPI на дельфи вызвать сложнее, чем на С. Если не умеем ф-ции из библиотек подлинковывать - то тогда другое дело.

Проблема дельфи в отношении WINAPI заключается в двух вещах и только в двух вещах.
И это даже не имхо, это факт.

Во-первых, некоторые вызовы функций WINAPI в файлах *.pas (прежде всего windows.pas) реализованы некорректно, в частности, передача указателя заменена передачей параметра через var (сразу же параметр становится обязательным и тип его уже нужен тот, который описан) - это, бывает, вываливает всякие исключения. Перемуд(р)или создатели дельфей, с кем не бывает. Выход - писать правильное опрелеление и самому линковать. То же относится и к типам.

Во-вторых, борланд или кто там сейчас, явно отстает в создании файлов *.pas и примеров. Всякие "полулевые" библиотеки приходится описывать самому. А для С(++) есть MSVS, где заголовков просто на порядок больше, чем для дельфи. Правда, некоторые константы в MSVS не описаны, так я их беру из дельфи6 и DDK.

ivank 07-12-2001 23:07 206927

Цитата:

vasketsov
Вот объясните мне, дауну, почему функцию WINAPI на дельфи вызвать сложнее, чем на С.
Я этого не говорил, я сказал что WinAPI изначально для Си.

Цитата:

Правда, некоторые константы в MSVS не описаны, так я их беру из дельфи6 и DDK.
А последний Platform SDK поставить не судьба?

Немного в тему почему плохи Rad средства: http://www.kalinin.ru/programming/cpp/26_07_00.shtml

vasketsov 07-12-2001 23:57 206928

Ну, сходил по ссылке... вот оттуда пример:
>создание программ, которые в принципе не переносимы это просто издевательство над идеями C++.
Одной этой строчки достаточно, чтобы понять, что за человек это писал. Конечно, он мог иметь в виду ANSI C, но тогда все еще хуже, если автор не видит различия.

>VCL (Visual Component Library), целиком и полностью взятая из Delphi
У меня есть исходники VCL. Что то я не увидал такого.
>VCL-классы не могут участвовать во множественном наследовании
Опять же бред. Автор не знаком с основами ООП, или интерфейсное наследование за таковое не считает.

Ну и так далее.
Вывод: не давать ссылки на статьи с ошибками.
Мы люди умные, и сами понимаем, какая область применимости RAD.

>WinAPI изначально для Си
Обоснуй. Только сразу же, не надо писать, что WINAPI написано на С, поэтому оно для С Ж)). Win2000 подавляющей частью написано, насколько мне известно, на C++ и ASM. К тому же, я думаю, ясно, что спор о WINAPI не имеет ничего общего с разговорами о величине получающегося исполняемого файла.

ivank 08-12-2001 03:10 206929

Цитата:

vasketsov
Ну, сходил по ссылке... вот оттуда пример:
>создание программ, которые в принципе не переносимы это просто издевательство над идеями C++.
Одной этой строчки достаточно, чтобы понять, что за человек это писал. Конечно, он мог иметь в виду ANSI C, но тогда все еще хуже, если автор не видит различия.
Вы могли бы разъяснить поподробнее что вы хотели сказать.
Цитата:

>VCL (Visual Component Library), целиком и полностью взятая из Delphi
У меня есть исходники VCL. Что то я не увидал такого.
Я Билдер видел только одним глазом( да на нём ещё повязка была ), и насколько я понял на плюсах есть только интерфейсы к уже откомпиленым Дельфёвым компонентам. Хотя вот тут я ничего точно не знаю...
Цитата:

Автор не знаком с основами ООП, или интерфейсное наследование за таковое не считает.
Интерфейсное наследование это на множественное! Множественное это например если я порождаю обьект от кнопки и от картинки, переопределяю пару методоа и в результате получаю кнопку с картинкой. В случае интерфейсного мне придётся кнопку с картинкой делать мемберами, и иметь кучу гимороя с переопределением _всех_ методов.
Цитата:

>WinAPI изначально для Си
Обоснуй. Только сразу же, не надо писать, что WINAPI написано на С, поэтому оно для С Ж)).
В те давние времена когда закладывались основы современного WinAPI никакого Дельфи не существовало и впомине, соответственно единственный язык принимаемый во анимание был C, на котором к тому моменту писал весь Микрософт.
Цитата:

Win2000 подавляющей частью написано, насколько мне известно, на C++ и ASM.
Я конечно утверждать не берусь( исходников не видел =)), но я всегда считал что оно написаннон а Си и Асме.
Цитата:

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

зы ты(вы) Калинина не обижай(те), на самом деле у него много чего хорошего почитать можно.

Apis.NET 08-12-2001 03:27 206930

Загрузили :(

vasketsov 08-12-2001 11:46 206931

>В те давние времена когда закладывались основы современного WinAPI никакого Дельфи не существовало и впомине, соответственно единственный язык принимаемый во анимание был C, на котором к тому моменту писал весь Микрософт.

Отсюда следует, что создание новых языков программирования ненужно, есть же С. К тому же DELPHI - это не язык программирования в том качестве, в котором языком считается С, лучше говорить о паскале.

Про наследование - лучше читайте ООП. На эту тему больше постить не буду.

А насчет ANSI C - все предельно ясно. С++ - есть ровно там же, где и паскаль, ну плюс минус пара платформ. С++ не создавалась для переносимости и не обладает ей. На всех платформах есть только стандарт ANSI C.

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

BigMac 08-12-2001 14:18 206932

Мда........ Apis.NET прав... Но спор хороший..... Буду иметь ввиду все, что вы тут сказали... :gigi:  Сенкс :up:

ivank 08-12-2001 16:13 206933

Цитата:

vasketsov
Отсюда следует, что создание новых языков программирования ненужно, есть же С. К тому же DELPHI - это не язык программирования в том качестве, в котором языком считается С, лучше говорить о паскале.
Нет этого не следует. А следует только то что WinAPI был изначально для C, вот и всё. Вместо Дельфи надо было сказать ObjectPascal.
Цитата:

Про наследование - лучше читайте ООП.
"Лучше читайте ООП" -- кто ж это вас ООП читать научил :lol:
Цитата:

На эту тему больше постить не буду.
Вы действуете как страус -- голову в песок и нет проблем.

Повторяю вам в чём разница:
  • множественное наследование это, когда мы наследум 2 и более реализации
  • Интерфейсное это когда мы наследум n интерфейсов и пишем всю раализацию
[/quote]
А насчет ANSI C - все предельно ясно. С++ - есть ровно там же, где и паскаль, ну плюс минус пара платформ. С++ не создавалась для переносимости и не обладает ей. На всех платформах есть только стандарт ANSI C.
[/quote]
Я вас удивлю, но C++ есть практичесски везде где есть C, и у плюсов есть овициальный стандарт, кторый декларирует переносимость программ на C++! У паскаля тоже есть стандарт. А вот у ObjectPascal официального ANSI стандарта нет! И поэтому его( в виде Дельфи ) поддерживает только Борланд.
Цитата:

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

(Отредактировал(а) ivank - 13:32 - 8 Дек., 2001)

vasketsov 08-12-2001 16:32 206934

>А следует только то что WinAPI был изначально для C
Ну не следует.
Вызов функции NtQuerySystemInformation, например, на паскале, связан с какими-то проблемами ? Какой вызов API на паскале неосуществим ? Можно пример ?

>Я вас удивлю, но C++ есть практичесски везде где есть C
Практически - не считается. С тем же успехом и про перл можно то же самое написать. И про паскаль. А переносимость программ может быть только на ANSI C. Переносимость не бывает "почти". Это то же самое, что нельзя быть чуть-чуть беременной.
А стандарт - это не реальность. И ANSI тут не при чем. У любого стандарта всегда есть область применимости и предпосылки для реализации. Там написано, что для всех платформ существует компилятор С++ ? Сам когда то писал для PARX. Там никакими плюсам и не пахло.

Насчет Калинина...
Давайте, по бутылке пива за ошибку в статье, которую вы укажете , с обсуждениями, все как полагается ...
Хотя, даже у Руссиновича и Соломона в 3-м издании встречаются ляпы (или это ошибки переводчика)?

ivank 08-12-2001 17:17 206935

Цитата:

vaketsov
>А следует только то что WinAPI был изначально для C
Ну не следует.
Вызов функции NtQuerySystemInformation, например, на паскале, связан с какими-то проблемами ? Какой вызов API на паскале неосуществим ? Можно пример ?
Вы меня не понимаете. Я говорю только что при проектировании WinAPI в расчёт принимался только C. На практике же вызывать Апишный функции можно вызывать из любого языка имеющего указатели, структуры и у меющего импортировать функции из Dll`ок.
Цитата:

>Я вас удивлю, но C++ есть практичесски везде где есть C
Практически - не считается. С тем же успехом и про перл можно то же самое написать. И про паскаль. А переносимость программ может быть только на ANSI C. Переносимость не бывает "почти". Это то же самое, что нельзя быть чуть-чуть беременной.
А стандарт - это не реальность. И ANSI тут не при чем. У любого стандарта всегда есть область применимости и предпосылки для реализации. Там написано, что для всех платформ существует компилятор С++ ? Сам когда то писал для PARX. Там никакими плюсам и не пахло.
Если уж на то пошло то и си есть не на каждой платформе. Но компиляторы C и C++ ( соответствующие единому стандарту ) есть на достаточном количестве архитектур что бы говорить об их переносимости, чего не скажешь о той же Дельфи.
Цитата:

Насчет Калинина...
Давайте, по бутылке пива за ошибку в статье, которую вы укажете , с обсуждениями, все как полагается ...
Хотя, даже у Руссиновича и Соломона в 3-м издании встречаются ляпы (или это ошибки переводчика)?
Судя по количеству денег в моём кармане я больше одной ошибки не потяну. Так что...

vasketsov 08-12-2001 18:45 206936

Если честно, я не знаю, на какой платформе нет ANSI C. Буду рад узнать. Искренне считал, что ANSI C есть везде.
Или имеются в виду платформы типа БЭСМ-6 ?

(Отредактировал(а) vasketsov - 15:47 - 8 Дек., 2001)

vasketsov 08-12-2001 18:50 206937

>при проектировании WinAPI в расчёт принимался только C
Насколько я помню, бейсик тоже был. Значит и для него тоже?

ivank 08-12-2001 22:09 206938

Цитата:

vasketsov
>при проектировании WinAPI в расчёт принимался только C
Насколько я помню, бейсик тоже был. Значит и для него тоже?
Нет, на бейсик е в MS не писали(пишут). Они его только продавают :D К тому же в VB изначально была концепция пользования сторонних компонент, а не WinAPI.
Цитата:

vasketsov
Если честно, я не знаю, на какой платформе нет ANSI C. Буду рад узнать. Искренне считал, что ANSI C есть везде.
Или имеются в виду платформы типа БЭСМ-6 ?
Какая-то популярная Forth система, наиболее часто у астрономов применяющаяся. Но это всё экзотика.

Кстати, встречный вопрос: Вы знаете хоть одну платформу без компилятора C++.

(Отредактировал(а) ivank - 19:16 - 8 Дек., 2001)

vasketsov 08-12-2001 23:50 206939

Я писал для систем PARX. Это Parallel Extension of UNIX. Процессоры PARSYTEC. Куча десятков процессоров и все такое. Там кроме ANSI C ничего нет.
А вообще FORTH - это же язык программирования такой есть.

vasketsov 09-12-2001 00:02 206940

ivank
Сходил на твой сайт, он мне понравился намного больше, чем Калинина.

ivank 09-12-2001 01:38 206941

Цитата:

vasketsov
Сходил на твой сайт, он мне понравился намного больше, чем Калинина.
Странно, он недоделаный даже на четверть -- заметок штук 10 на винте начатых -- лень дописывать.
Цитата:

А вообще FORTH - это же язык программирования такой есть.
И эти FORTH системы( о которых я говорил ) реализуют компилятор(интерпретатор?) этого языка аппаратно.

Короче, хватит флеймить. Дельфи это RAD и область применения у него соответствующая. Думаю с этим все согласны.

ivank 09-12-2001 02:35 206942

vasketsov
Кстати, у тебя тоже хороший. Только вот дизайн немного глаз режет.

Apis.NET 09-12-2001 05:50 206943

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

vasketsov 09-12-2001 14:44 206944

Никто никого не пугал.
А вообще было очень полезно узнать о FORTH.

ivank 09-12-2001 15:07 206945

vasketsov
Кстати, про форт. Я тут две интересные страницы на русском нарыл про него:
(Отредактировал(а) ivank - 12:11 - 9 Дек., 2001)

Apis.NET 11-12-2001 11:20 206946

Хватит тут с С++ дело не идёт а вы так грузите.

ivank 11-12-2001 14:14 206947

Apis.NET
Это у тебя "дело с C++ не идёт"? Купи себе нормальную книжку ( Страуструпа ) и пойдёт как миленькое.

Apis.NET 13-12-2001 02:10 206948

ivank Новый год! Купил жене подарок, а ещё папы, мамы и т.д.

noname00.pas 13-12-2001 02:17 206949

Apis.NET
Книжка стоит не более 150р... :)

Apis.NET 13-12-2001 12:30 206950

Да куплю я куплю, просто мне ещё 3 книги нужно вот и жду что б все вместе купить.

mj 14-12-2001 01:25 206951

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

Вот уж подумайте что лучше... :beer:

Apis.NET 14-12-2001 02:11 206952

:gigi:

test

(Отредактировал(а) ivank - 12:55 - 15 Дек., 2001)

noname00.pas 14-12-2001 03:10 206953

mj
Скомпиль пустую прогу на bp 7.0 и на TMT-Pascal... На ТМТ она будет весить больше 16к, а на бп меньше 2к. Так что же? БП круче что-ли? Судить надо по эффективности компиляции крупных и сложных программ...

ivank 14-12-2001 03:14 206954

mj

Ну что ж, пофлеймить хочем? :D

Цитата:

С++ - это отстой...
Ну зачем же так безосновательно утверждать?
Цитата:

Для сравнения если написать на C и Delphi написать программу выводящую параметры запуска с использованием одинаковых функций WinAPI, дык на C прога в 3 раза больше чем на Delphi получается...
[list][*]C++ это не C! Это раз![*]Далее компиляторов плюсов море( есле не море, то уж вагон и маленькая тележка точно ) Так что выбирай какой по душе, это очень существенный плюс.[*]Я так понимаю, вы компилили Борландом или Микрософтом ( другие у нас в стране не в моде ) И я вас очень удивлю, но:
  • По дефолту( после создания проекта ) и тот и другой выставля дебаг -- ноль оптимизации
  • Старые Borland и MSVC < 6 по дефолту включают отладочную информацию внутрь экзешника, если её вырезать, то размер существенно уменьшится
[*] ИМХО на Delphi серьёзный проект не напишешь! Тут очень много причин:
  • Язык Object Pascal существенно беднее плюсов в плане ООП ( и не надо говорить что большие проекты можно без ООПа написать ):
    • Отсутствуют шаблоны
    • Только интерфейсное и одиночное наследование. В плюсах есть ещё и множественное.
  • Если хотите сказать, что Дельфи это полноценная среда разработки, то привидите хоть один пример успешного большого проекта выходящего за рамки гуя.

И вот 2 ссылочки по теме ( Васкецов может не ходить ;) )
(Отредактировал(а) ivank - 0:24 - 14 Дек., 2001)

VuDZ 02-03-2002 01:44 206955

вот же ш разашёлся злобный модер:
и так:
1.
Цитата:

ИМХО на Delphi серьёзный проект не напишешь! Тут очень много причин:
безосновательное утвержение, замечание номер 1
делфи разрабатывался для рботы с БД, и не уж то ты думаешь, что в Борланде, ныне Ипрайс, такие идиоты сидят и не понимают, что SDK идёт на С, переносить это полностью под паскаль - долго и не благодарное это занятие

Цитата:

Язык Object Pascal существенно беднее плюсов в плане ООП ( и не надо говорить что большие проекты можно без ООПа написать ):[
Незнание сути предмета, замечание номер 2
В большенстве случаев, можно обойтись и без всей мощи ООП. Да и наш любимый С++ не полностью поддерживает ООП - неполное RTTI, отсутствие мета-классов. С помощью мета-классов можно сделать очень многие вещи, на этом базируется VCL. Если интерисует, достану ссылку на одну ветку, в которой было показано что можо сделать на ОП и нельзя с С++

Цитата:

Отсутствуют шаблоны
это не такой уж и большой недостаток. Да, с ними исходник меньше, но от этого страдает быстродествие софта.
Пример:
Код:


template <class T>
void BubleSort (T * array, size_t sz){
 if ((!T) || (sz < 2))
 *return;
 
 for (int i = 0; i < sz; ++i)
 *for (int j = 0; j < sz; ++j)
 * if (array[[i]] <= array[j]){
 * * T tmp = array[[i]];
 * * array[[i]] = array[j];
 * * array[j] = tmp;
 * *}
}

тот же самый код, без шаблонов, работает на 30% быстрее.

Цитата:

В плюсах есть ещё и множественное.
Только не смешите мои тапочеи: в большнтсве прикладного софта это никому и не упало. С сиспрограммирование это очень мощная фишка, но в "обычном" - нет.

PS как RAD делфи не на много превосходит VC, а учитывая, что на создание интерфейса уходит максимум 10% всего времени от написания проекта, это копейки.

PPS если что, то проф. ориентацию я не менял, просто терпеть не могу религиозные войны и фанатизм

PPPS и по теме: лучше в начале выучить делфи, а потом приниматься за С, С++

<font size=dfontsize1 class=bgc1>Исправлено: <b>VuDZ</b>, 1:50 2-03-2002</font>

ivank 02-03-2002 02:48 206956

попытка отмазаться :>
Цитата:

вот же ш разашёлся злобный модер:
Ну... Я тогда ещё модером не был. Это раз. И два, с тех пор я уже персмотрел свою точку зрения.
Цитата:

что в Борланде, ныне Ипрайс
Они обратно в борланд переименовались.
Цитата:

Да и наш любимый С++ не полностью поддерживает ООП
Я этого не утверждал. C++ далеко не самые ОО язык.

Цитата:

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

Цитата:

Цитата:

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

Цитата:

PS как RAD делфи не на много превосходит VC, а учитывая, что на создание интерфейса уходит максимум 10% всего времени от написания проекта, это копейки.
Читаем чуть выше:
Цитата:

делфи разрабатывался для рботы с БД
В моём представлении работа с БД это просто SQL-запросы и их визуализация. Delphi сделана именно для этого -- для быстрого создания интерфейса к базам данных. Т.е. не что иное как RAD-средство. Почему-то MS VC для этих целей применяют реже.

Цитата:

PPPS и по теме: лучше в начале выучить делфи, а потом приниматься за С, С++
Неверно, лучше сначала выучить алгоритмичесский язык, всё равно какой, хоть бэйсик (только в современном варианте) и научиться программировать, т.е. не просто знать синтаксис.

VuDZ 02-03-2002 03:00 206957

Цитата:

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

Цитата:

Расскажи, почему это? В простейшем случаее шаблоны можно рассматривать как продвинутые макросы. И кстати твоя реализация так-себе, не сможет работать с вектором итп.
про векторы - ну и .... ними, не в этом дело. Попробуй сам собрать такой пример, для второго - "читого" - кода, используй long double, И посмотри результаты. для достоверности, проделай это этак 1000-10000 раз, и всё буде ясно

Цитата:

Почему-то MS VC для этих целей применяют реже.
интересно, а почему две книги 70-015 и 70-016 на 3/4 состоят из описания как работать с БД? (это учебный курс для MCSD)

Цитата:

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

ivank 02-03-2002 11:43 206958

Времени отвечать про всё сейчас нет, но скажу, что с темплейтами MSVC и bcc5.5 оба провалились -- действительно худе. А вот у mingw всё было одинаково... Так что, плохая реализация темплейтов, это проблеммы создателей компилятора, а не языка.

VuDZ 02-03-2002 15:10 206959

я почти всегда юзаю ителовский компилер

ivank 04-04-2002 22:32 206960

vasketsov
Спор продолжать не хочу, но только одну вещь добавлю -- C++ есть везде, где есть C, т.к. существуют C++-frontend'ы -- компиляторы из C++ в C. Первые компилеры C++ (cfront в частности) компилировали всё в C, т.к. "это портабельный ассемблер". Сейчас наиболее популярный фронтенд это *Comeu. Его можно у них в onlin'е пощупать -- http://www.comeaucomputing.com .

Daiv 05-04-2002 13:30 206961

[rus]
Ne pomnyu - gde to sprashival... no zabyl gde :)...
PO kakoi mukulature del'fei s samogo - 0 uchit' ?

[/rus]

ivank 05-04-2002 14:06 206962

Daiv
а тему новую создать не судьба?

Daiv 05-04-2002 19:56 206963

ivank
dumaesh stoit? nu sozdam, sozdam... :)

Guest 07-07-2002 12:12 206964

Какая на... Делфи. С++ быстрее, компактнее, мощнее. Билдер - вот то, что нужно.:up:

Crew 10-02-2003 02:27 206965

...Почему-то я себя почувствовал маленьким и *несчастным

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


[s]Исправлено: Crew, 0:05 11-02-2003[/s]

vasketsov 10-02-2003 07:02 206966

ivank
Цитата:

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

Vaulter 11-02-2003 02:19 206967

mj
смотря как писать. если руки кривые то хоть делфи суй в них, хоть си++

ivank 11-02-2003 18:41 206968

vasketsov
Не понял... Фронт-енды C++ -> C есть? Есть, соответственно для всего, для чего есть компилятор C можно откомпилять плюсовую программу (если ресурсов хватит). Где я не прав?

Crew
Множественное наследование можно применять где угодно, где приходится совмещать "два в одном".

Цитата:

И еще очень интересует вопрос переопределения имен при множественном наследовании. При достаточно больших классах не будут ли затраты.....слишком большими.
Какие затраты, в смысле на что?

Crew 12-02-2003 00:13 206969

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]

vasketsov 12-02-2003 01:29 206970

ivank
1) На той машине ни один из них не запустится, ибо их просто никто не делал.
2) Формально - все равно компилятор ANSI C будет в итоге юзаться.

FormerVla 02-03-2003 11:41 206971

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)

IlyaSh 10-03-2003 19:44 206972

Лучше ассемблер :) , но если между C++ или Delphi, то я бы наверно выбрал первое. Почему? Да потому что приложения на делфях слишком напрягают процессор, да и к тому же занимают много места. Его главное преимущество (или недостаток) - это быстрая разработка программ, практически не вдаваясь в подробности.

Ork Yason 11-03-2003 09:53 206973

IlyaSh
Цитата:

C++ или Delphi, то я бы наверно выбрал первое. Почему?
ето если ты пишешь какую-нибудь фиговину системного характера... где больше удар на функциональность, а не интерфейс... а как быть с БД? ты 90% времени потратишь на интерфейс и прочие кости... чтобы потом занятся самими запросами и выборками...
так что смотря где...

а если нужна гибкость цэ-цэ, то билдер тебе в руки ;)

mzd 04-04-2003 15:16 206974

Ребята, я считаю, что сейчас для разработчика главное - скорость сдачи заказа пользователю. Делайте выводы. На мой взгляд, Delphi намного яснее для понимания и не содержит столько нюансов, как С++. Мое слово - Delphi rulezzz 4ever.

ЗЫ: А в 7-м Delphi поддерживается кроссплатформенность - теперь проги для Win можно будет компилить и для *nix. Каково? С++-ам такое и не снилось.

ivank 05-04-2003 08:31 206975

mzd
Т.е. VCL и "встроенную" поддержку COM портанули под *nix? Не верю. А если писать надо используя спец. либу аки CLX, то извините в ++ кроссплатформенных библиотек побольше будет. Это что бы восстановить справедливость, а так в принципе фиолетово на чём писать.

vasketsov 05-04-2003 09:56 206976

Цитата:

в ++ кроссплатформенных библиотек побольше будет
действительно

Цитата:

Т.е. VCL и "встроенную" поддержку COM портанули под *nix?
Ну, VCL большого ума не надо, чтоб портировать, она ж и под виндой не виндовые контролы юзает, а сама большую часть делает.

А про поддержку COM - так не дело это борландов на никсы как на систему COM натягивать. А в рамках одного приложения - тоже проблем не вижу, ты ж сам знаешь, COM - это просто набор правил.

seime 11-04-2003 09:49 206977

Да, в дельфи писать гораздо проще и быстрее. Но сама перешла на VC++. Чтобы писать поги под винду надо понимать функционирование самой винды, а в VС++ это как раз понимаешь. Кроме того, если настолько привыкнешь, то какая разница на чем писать? Клепать формы и там и сям можно.

Sergey T 18-04-2003 21:21 206978

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

Vla2003 07-06-2003 13:40 206979

BigMac
Начинай с C++: я когда-то начал с Delphi и очень жалею, что не с C++.

Цитата:

но все-таки с С начинать буду, для Универа надо, а потом на С++ перейду
Не глупи: начинай именно с *C++, а не с C.
:yes:

SERGEY KUZNECOV 10-06-2003 18:04 206980

Выбор прост, учиться легче на DELPHI.  Но вот если ты
хочешь работать не в РОССИ - то добренькие дяди БУРЖУИНЧИКИ быстренько заставят работать на C++.

RealRascal 11-06-2003 09:53 206981

Как то я тоже задавался этим вопросом. Один кул хацкер привел нескольнко аргуметов на эту тему, щас повторю по памяти.
В пользу дельфей++++++++++++++++++++++++++++++++++
  Лего усвояется. Особенно для тех, кто изучал паскаль. Я пересел с паскаля на дельфи и через полчаса наколбасил то, что потом продал за 30$ одному заочнику.
  Вполне понятный человечий интерфейс.
Кодяра выглядит эстетичнее и понятнее, чем на Сях.
В пользу Сей.++++++++++++++++++++++++++++++++++++
  Правило: все, что продается за деньги, не дельфях писать просто не принято. Это всего лишь правило этикета, и то в последнее время оно не совсем соблюдается
   Как пишет прогу неумный чел? Пишет все САМ. Как делает кул хацкер?Лезет в инет находит 90% материала и дописывает оставшиеся 10%. В инете для Сей полным полно всяких там модулей, библиотек и прочего интересного хлама. Для дельфей конечно тоже немало, но, я думаю на порядок меньше.
 Дельфя написана на... Си!!!!!
++++++++++++++++++++++++++++++++++++++++++
А вообще, не важно ЧЕМ, главное КАК!


[s]Исправлено: RealRascal, 10:57 11-06-2003[/s]

B o s s 11-06-2003 16:50 206982

На Си написана не только Дельфя, но и все оси, про которые я знаю.
Си форевер!!!

Valera Kravtsov 25-06-2003 14:20 206983

Кто это сказал, что Delphi написана на С? Вы видели исходник?

Я считаю, что Delphi - идеальный язык программирования и идеальный компилятор. На нём проги пишутся, как песня поётся!

Не стоит рассматривать ограничения Delphi как недостаток. Например, отсутствие множественного наследования не реализовано Borland'ом умышленно, поскольку главной отличительной чертой Паскаля является его чёткость и логическая продуманность программ, на нём написанных. С множественным наследованием легко залезть "не в ту степь".

Где-то читал, что писать неэффективные и запутанные программы гораздо легче на С, чем на Delphi и я с этим согласен. Хотя С(++) - тоже чрезвычайно мощный язык программирования.

Критерий эффективности языка программирования необходимо оценивать не по его популярности, а именно ПО ЕГО ЭФФЕКТИВНОСТИ. То, что Delphi не очень популярен на западе, ещё не говорит о том, что он плох!

Например, на Delphi можно писать самые настоящие компьютерные игры без всяких проблем (правда, от VCL необходимо в этом случае отказаться; результирующий объектный код будет совершенно не уступать по производительности MVC++, что ещё раз говорит о том, что компилятор Delphi очень высокого качества и о том, что можно обойтись - В КРАЙНЕМ СЛУЧАЕ - без VCL).

Delphi - рулёз!

mj 12-01-2004 13:44 206984

Delphi без VCL гораздо эффективней чем Си++
Delphi с VCL гораздо удобней чем Си++

Первые версии Windows были написаны на Pascal...

Valera Kravtsov правельно сказал...

Хочу заметить ПОЧТИ все крупнейшие проекты сейчас пишется на Delphi...

Пример:
Последний раз я работал с програмкой R-Keeper (софт для реасторанов и клубов и т.п.)... Так вот всё там написано на Delphi и на Pascal...

Си умрёт, вот увидете...

[s]Исправлено: mj, 15:45 12-01-2004[/s]

JCooper 12-01-2004 14:03 206985

Цитата:

Delphi без VCL гораздо эффективней чем Си++
Насчет эффективней можно поспорить, но на чистом API  можна без проблем наваять все что душе угодно.
Цитата:

Delphi с VCL гораздо удобней чем Си++
Delphi - чемпион среди RAD сред и с этим никто не поспорит.
Цитата:

Си умрёт, вот увидете...
Сомневаюсь...Windows не единственная платформа и этим все сказано.

mj 13-01-2004 09:54 206986

Ну да, Си на платформе Unix проживёт гораздо дольше чем под Win32... Но это не будет вечно...


Время: 18:35.

Время: 18:35.
© OSzone.net 2001-