Re[35]: По просьбам трудящихся: Delphi vs C++(VS)
От: WolfHound  
Дата: 16.09.03 19:02
Оценка:
Здравствуйте, mihailik, Вы писали:

FWP>>>А хотя бы задумался с чего бы это в Java уже почти 8 лет нет шаблонов.

WH>>Ибо реализовать их нАмного сложнее чем кажется.
M>Ага. Компилятор Java написали. Интерпретатор и JIT'тер написали. А шаблоны — нет, тут сложность невероятно высока.
Ты просто не представляешь возможности шаблонов.
... << RSDN@Home 1.1 beta 2 >>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[37]: По просьбам трудящихся: Delphi vs C++(VS)
От: WolfHound  
Дата: 16.09.03 19:02
Оценка:
Здравствуйте, mihailik, Вы писали:

M>А вот главные, архитектурные части — очень похожи. В трёх ключевых точках:


M>RTTI (aka Reflection)

Рефлекшен в дельфе... Бедные мои тапочки... Ну не надо сравнивать бумажный самолетик с истребителем пятого поколения.
M>Свойства
О да это величайшая АРХИТЕКТУРНАЯ особенность. К стати VC++ поддерживает свойства в качестве расширения.
M>Упор на простоту синтаксиса
Или убогость? Так чтобы [censured] поняли?

M>Значительная часть преимуществ как Делфи, так и C# коренится в этих трёх пунктах.

Особенно два последних.... величайшие преймущества.

И вобще при чем тут C#? Вы на сабж посмотрите.
... << RSDN@Home 1.1 beta 2 >>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[9]: По просьбам трудящихся: Delphi vs C++(VS)
От: WolfHound  
Дата: 16.09.03 19:02
Оценка:
Здравствуйте, mihailik, Вы писали:

А>>3) Dispose() может выбрасывать исключения

M>А деструкторы C++, очевидно, не выбрасывают исключений? То-то прикольно, когда какой-нибудь Flush в деструкторе не вызовется и твоё приложение скромно об этом умолчит.
А теперь подумай что будет еслидеструкторы начнут кидать исключения:
Летит исключение прибивая объекты и в друг один из деструкторов сам кинул исключение и того два исключения одновременно. Что делать?

M>Правильно, а фиг ли что файл не сохранился. Нужно было почаще Backup делать

flush в деструкторе... гениально.

А>>4) Рекомендательный характер вызова Dispose(). Поубивал бы за это

M>Ага, не поняли они в Редмонде твоей таинственной русской души.
Ага и потом народ долго думает почему на тачке с 256М программа работает прекрасно, а на серваке с двумя гигами вешается в месте с виндой.
... << RSDN@Home 1.1 beta 2 >>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[12]: По просьбам трудящихся: Delphi vs C++(VS)
От: WolfHound  
Дата: 16.09.03 19:02
Оценка:
Здравствуйте, mihailik, Вы писали:

M>Короче, хотите программировать под Windows — читайте Страуструпа. Там всё написано. MSDN — для лохов. А если ваша программа заглючила, это всё бредни и чушь. Всё равно Страуструп круче в сто раз!

Ну что за бред ты тут несешь. MSDN ни кто не отменял. А вот слушать все что говорит братва из MS
... << RSDN@Home 1.1 beta 2 >>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[37]: По просьбам трудящихся: Delphi vs C++(VS)
От: akasoft Россия  
Дата: 16.09.03 19:55
Оценка:
Здравствуйте, mihailik, Вы писали:

A>>Но насчёт полезности этого Net для программирования и применения компьютеров можно долго рассуждать. Это же чёртов новый взгляд на интерпретаторы при ощутимом росте мощностей и производительности компьютеров...


M>Интерпретаторы? Причём здесь интерпретаторы?


Я же не говорю, что это интерпретатор, я говорю о взглядах.

Похожая схема, только дополнительные преобразования в некий промежуточный код, который потом ещё преобразовывается, но не сразу, а по необходимости, по требованию.

В Бейсиках есть похожая вещь, одни реализации интерпретируют те словоблудия, что видит и человек, другие (Access VBA) могут чего-то там прекомпилировать, и интерпретировать потом это быстрее...
... << RSDN@Home 1.1 beta 2 >>
Re[37]: По просьбам трудящихся: Delphi vs C++(VS)
От: akasoft Россия  
Дата: 16.09.03 19:55
Оценка:
Здравствуйте, mihailik, Вы писали:

WH>> Разговорные языки по функциональности практически равноценны. Но С++ и делфи... ой не смешите мои тапочки.


M>Мне кажется, твоя обувь слишком много на себя берёт.


Вот это в точку! Это стоит баллов. WH сам провоцировал, так часто употреблял этот "аргумент" в разговорах...
... << RSDN@Home 1.1 beta 2 >>
Re[39]: По просьбам трудящихся: Delphi vs C++(VS)
От: akasoft Россия  
Дата: 16.09.03 19:55
Оценка:
Здравствуйте, mihailik, Вы писали:

WH>>Ни фига ты не понял. С++ САМ превращается в другие язаки. boost::spirit превращает его в язык для записи EBNF грамматики. Дельфя на такое не спасобна.


M>А на фиг это надо?


M>Если вам нужна ножовка, вы берёте в руки ножовку. Если вым нужен утюг, вы берёте утюг. Но кому нужа пила с дополнительными функциями утюга?


Нет, ну как же тебе не понятно, с помощью буста можно C++ назвать другим языком, потому что он легко самостоятельно превращается во что ... нужно? ... угодно? ... в Дельфи? ... другой С++. Во что он САМ превращается, кстати?

Ну а не прикалываясь, я из нашего разговора вынес информацию о удобстве, богатстве, многофункциональности и простоте шаблонов. Про простоту писал. Остальные вещи обсуждаемы и признаваемы полезными. По-дельфийски я бы сказал, что библиотека у них хорошая, с хорошей поддержкой...
... << RSDN@Home 1.1 beta 2 >>
Re[35]: По просьбам трудящихся: Delphi vs C++(VS)
От: WolfHound  
Дата: 16.09.03 20:14
Оценка:
Здравствуйте, Serginio1, Вы писали:

S> using в Net нужен только для освобождения системных ресурсов для их немедленного освобождения, во всех других объектах нет деструкторов в в обычном понимании, т.к. за освобождение памяти занятой объектом следит GC. Но через GC а так же через выделение памяти неподвласное GC итд можно многое, к сожалению еще не во все дебри Net залез.

Все что GC попало уже не детерминировано. И using не всегда спасти может.

S>>>>> Например???? Шаблоны будут, что еще???

WH>>>>Ну на эти шаблоны еще посмотреть надо. Еще надо подключение реализации. Короче я жду .NET 2 там будет видно.
S>Насчет шаблонов в Net посмотри http://www.dotsite.ru/Publications/PublicationDetails.aspx?ID=115
S> Почитай очень интересно, плю что предлагают SUN. Так что ты со своими шаблонами уже отстал от жизни.
Ну прочитал. После С++ шаблонов каменный век. Конечно не на столько плохо как сейчас но всеравно близко нет той мощи.
И ни слова о подключении реализации. Такое впечатление что ни кому не надо. Неполные типы это ИМХО штука безполезная особенно если сделать нормальное подключение реализации.

S> Шаблоны,макросы по сути являются Copy-Paste-Replace и ни о каком ООП не идет и речи и легко реализуются без компиляторов путем генерации соответсвующих модулей на основании "Шаблона".

Да ни фига подобного. Слова дилетанта. Это .НЕТ шаблоны можно генерить генератором, а С++ требуют информации о типах на много больше.
S> А вот шаблоны в Net это действительно ООП.
Обьясни мне пожалуйста кого волнует ФИЗИЧЕСКОЕ ООП. А что касается логической состовляющей то шаблоны в С++ очень объектно ориентированые.
При помощи С++ шаблонов можно не только создавать обобщенные контейнеры но и выберать алгоритм наиболие подходящий типу.
Например так Кто хотел определения наличия функции-члена?
Автор: MaximE
Дата: 13.09.03

И много чего еще.

S> Кроме всего прочего на данном этапе надежность кода встает на первый план (хотя мне это и не импонирует)

Какие проблемы с надежностью С++ шаблонов мне ктонибудь обьяснит наконец?
... << RSDN@Home 1.1 beta 2 >>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[40]: По просьбам трудящихся: Delphi vs C++(VS)
От: WolfHound  
Дата: 16.09.03 20:30
Оценка:
Здравствуйте, akasoft, Вы писали:

A>Нет, ну как же тебе не понятно, с помощью буста можно C++ назвать другим языком, потому что он легко самостоятельно превращается во что ... нужно? ... угодно? ... в Дельфи? ... другой С++. Во что он САМ превращается, кстати?

Во что хотим в то и превращаем хотим EBNF грамматики пишим, хотим FSM задаем...
//Реализация finite_state_machine тривиальна
enum Events
{
    letter,
    digit,
    space,
};
struct EventsCallBack
{
    template<class T, class U>
    bool operator()(const T& cur, const T& next, U event)
    {
        std::cout<<cur.get_info()<<"  "<<next.get_info()<<std::endl;
        return true;
    }
};
struct test_machine
    :finite_state_machine<Events, std::string>
{
    test_machine()
        :empty("empty")
        ,number("number")
        ,identifier("identifier")
        ,unknown("unknown")
    {
        start(empty);
        empty
            =    (letter>>identifier)[EventsCallBack()]
            |    (digit>>number)[EventsCallBack()]
            ;
        identifier
            =    (letter>>identifier)[EventsCallBack()]
            |    (digit>>identifier)[EventsCallBack()]
            ;
        number
            =    (digit>>number)[EventsCallBack()]
            |    (letter>>unknown)[EventsCallBack()]
            ;
        unknown
            =    default_state(unknown)[EventsCallBack()]
            ;
    }
    state empty, number, identifier, unknown;
};

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

A>Ну а не прикалываясь, я из нашего разговора вынес информацию о удобстве, богатстве, многофункциональности и простоте шаблонов. Про простоту писал. Остальные вещи обсуждаемы и признаваемы полезными. По-дельфийски я бы сказал, что библиотека у них хорошая, с хорошей поддержкой...
... << RSDN@Home 1.1 beta 2 >>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Спор бесполезен!
От: Miem Россия  
Дата: 16.09.03 20:41
Оценка: :))
Этот Человек одержим! Это положительно его характеризует!
Давно слежу за топиком. Все ответы четкие, все в тему, но с уклоном в одно.. Однобокий взгляд...
Попробуйте поспорить с истинным православным. У вас ничего не получится... Когда человек ВЕРИТ в то, что говорит его не переубедить, он живет этим. Поставить под сомнение веру такого человека — значит посягнуть на самое дорогое, обречь на гибель. Коперника сожгли такие люди! Опомнитесь!

PS Не в обиду WolfHound'у
... << RSDN@Home 1.1 beta 2 >>
ICQ: 446240
Re[37]: По просьбам трудящихся: Delphi vs C++(VS)
От: FWP Россия  
Дата: 17.09.03 05:14
Оценка:
Здравствуйте, mihailik, Вы писали:

M>По функциональности C++ опережает Дельфи только в возможности компилировать драйвера.

Не опережает. Компилировать драйверы для ОС Windows можно только на MS VC++. А вот на GCC или Watcom C++ каком-либо не выйдет. Так же как и на Delphi. Так что это не ограничения языка. Это БОЛЬШАЯ политика MS.
Re[34]: По просьбам трудящихся: Delphi vs C++(VS)
От: FWP Россия  
Дата: 17.09.03 05:37
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Вот только шаблоны сводят ручную работу практически на нет. А если учесть что очень многим приложениям не нужно куча диалогов...

Насчет многим это ты погорячился. Я к примеру 90% своих программ пишу для конечного пользователя (весьма далекого от программирования и компьютеров). Поэтому хороший GUI ОБЯЗАТЕЛЕН.
WH>... и написать интерфейс при помощи WTL не состовляет большого труда...
Вот именно. НАПИСАТЬ. И ты не видишь в этом ничего дурного. А когда я говорю, что сортировку можно написать или использовать библиотеку — это почему-то неправильно. Двойные стандарты какие-то.

WH>>>>>Ты что думаешь я не понимаю try finaly? Напрасно. Просто я не хочу освобождать ресурсы РУЧКАМИ. В С++ за этим следит компилятор.

FWP>>И он в некотрых случаях может принять неправильное решение.
FWP>>И следить за этим надо и обходить такие ситуации вручную. Да и надежности это не добавляет.
WH>Конкретно пожалуйста. Ни разу не встречал.
Посмотри весь топик. Я приводил цитату вашего любимого папочки Страуструпа. Повторять лень.
Re: Спор бесполезен!
От: WolfHound  
Дата: 17.09.03 05:39
Оценка:
Здравствуйте, Miem, Вы писали:

M> Этот Человек одержим! Это положительно его характеризует!

M>Давно слежу за топиком. Все ответы четкие, все в тему, но с уклоном в одно.. Однобокий взгляд...
M>Попробуйте поспорить с истинным православным. У вас ничего не получится... Когда человек ВЕРИТ в то, что говорит его не переубедить, он живет этим. Поставить под сомнение веру такого человека — значит посягнуть на самое дорогое, обречь на гибель. Коперника сожгли такие люди! Опомнитесь!
Ты на остальных посмотри... Они верят в то что отсутствие сторогой типизации благо... Что шаблоны в .НЕТ круче чем в С++ ...

M>PS Не в обиду WolfHound'у

Да я не обидчивый.
И вобще как только появится инструмент превосходящий по возможностям С++ я перейду на него. А пока...
Если у .НЕТ есть коекакие преймущества перед С++ но у дельфи ...
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re: Спор бесполезен!
От: centurn Россия  
Дата: 17.09.03 05:39
Оценка: 12 (1)
Здравствуйте, Miem, Вы писали:

M> Этот Человек одержим! Это положительно его характеризует!

M>Давно слежу за топиком. Все ответы четкие, все в тему, но с уклоном в одно.. Однобокий взгляд...
M>Попробуйте поспорить с истинным православным. У вас ничего не получится... Когда человек ВЕРИТ в то, что говорит его не переубедить, он живет этим. Поставить под сомнение веру такого человека — значит посягнуть на самое дорогое, обречь на гибель. Коперника сожгли такие люди! Опомнитесь!

M>PS Не в обиду WolfHound'у


Ага. Осторожно, WolfHound, а то эти Delphi-поклонники и сжечь могут.
Re[34]: По просьбам трудящихся: Delphi vs C++(VS)
От: DOOM Россия  
Дата: 17.09.03 05:50
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, DOOM, Вы писали:


WH>>>Ах да я же забыл в дельфе нет инлайнов и дробление сказывается на производительности...

DOO>>Они есть! Просто их не надо описывать ручками, а это сделает за нас компилятор.
WH>А ты с С++ не путаешь? Если мне не изменяет скалероз дельфя вобще ни чего не подставляет.

Посмотри асмовский код... Может просто юзал доисторические Дельфи.
Re[5]: Некоторые итоги:
От: DOOM Россия  
Дата: 17.09.03 05:53
Оценка:
Здравствуйте, centurn, Вы писали:


C> А каким-нибудь Deplhi 3.0 по политическим соображениям не заставляют пользоваться для сравнения?


Если и сравнивать, то 6-м тогда уж. В крайнем случае с 5-м. Они намного круче 6-й VS
Re[35]: По просьбам трудящихся: Delphi vs C++(VS)
От: WolfHound  
Дата: 17.09.03 06:44
Оценка:
Здравствуйте, FWP, Вы писали:

WH>>Вот только шаблоны сводят ручную работу практически на нет. А если учесть что очень многим приложениям не нужно куча диалогов...

FWP>Насчет многим это ты погорячился. Я к примеру 90% своих программ пишу для конечного пользователя (весьма далекого от программирования и компьютеров). Поэтому хороший GUI ОБЯЗАТЕЛЕН.
А слабо на дельфях нарисовать ГУЙ в ХР стиле?

WH>>... и написать интерфейс при помощи WTL не состовляет большого труда...

FWP>Вот именно. НАПИСАТЬ. И ты не видишь в этом ничего дурного. А когда я говорю, что сортировку можно написать или использовать библиотеку — это почему-то неправильно. Двойные стандарты какие-то.
Та видел как на WTL пишут ГУИ? Думаю что нет. вот я видел как на дельфе пишут обобщенные сортировки

WH>>Конкретно пожалуйста. Ни разу не встречал.

FWP>Посмотри весь топик. Я приводил цитату вашего любимого папочки Страуструпа. Повторять лень.
Это про забытый сопиконструктор чтоли? Дык они нужны только помошникам. Классы логики в 99.99% случаев имеют правильный.
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[2]: Спор бесполезен!
От: Miem Россия  
Дата: 17.09.03 06:56
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Ты на остальных посмотри... Они верят в то что отсутствие сторогой типизации благо... Что шаблоны в .НЕТ круче чем в С++ ...


M>>PS Не в обиду WolfHound'у

WH>Да я не обидчивый.
WH>И вобще как только появится инструмент превосходящий по возможностям С++ я перейду на него. А пока...
WH>Если у .НЕТ есть коекакие преймущества перед С++ но у дельфи ...

Просто нужно всегда понимать что язык — инструмент, шаблоны,строгая типизация — это тоже инструменты. Это то, с помощью чего решают задачи. Дык вот правильным набор инструментов будет тот, который по возможностям максимально сверху приближен к достаточным условиям задачи. И цитата в твоей подписи об этом говорит:

Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн

... << RSDN@Home 1.1 beta 2 >>
ICQ: 446240
Re[35]: По просьбам трудящихся: Delphi vs C++(VS)
От: WolfHound  
Дата: 17.09.03 06:59
Оценка:
Здравствуйте, DOOM, Вы писали:

DOO>>>Они есть! Просто их не надо описывать ручками, а это сделает за нас компилятор.

WH>>А ты с С++ не путаешь? Если мне не изменяет скалероз дельфя вобще ни чего не подставляет.
DOO>Посмотри асмовский код... Может просто юзал доисторические Дельфи.
VC++7.1
int add1(int x, int y)
{
    return x+y;
}
int add2(int x, int y)
{
    return add1(x, y)+add1(x, y);
}
int main()
{
    return add2(5, 6);
}


PUBLIC    _main
; Function compile flags: /Ogty
;    COMDAT _main
_TEXT    SEGMENT
_main    PROC NEAR                    ; COMDAT

; 186  :     return add2(5, 6);

    mov    eax, 22                    ; 00000016H

; 187  : }

    ret    0
_main    ENDP

Немного усложним
int main()
{
    return add2(GetTickCount(), 6);
}


_main    PROC NEAR                    ; COMDAT

; 186  :     return add2(GetTickCount(), 6);

    call    DWORD PTR __imp__GetTickCount@0
    lea    eax, DWORD PTR [eax+eax+12]

; 187  : }

    ret    0
_main    ENDP


Ну как? А какие результаты даст дельфя? Причем это очень простые примеры.
Но практака показывает что запутать компилятор практически не возможно.

ЗЫ на номера строк в асмовом коде не смотрем у меня там еще куча всего.
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[3]: Спор бесполезен!
От: WolfHound  
Дата: 17.09.03 07:06
Оценка:
Здравствуйте, Miem, Вы писали:

M>Просто нужно всегда понимать что язык — инструмент, шаблоны,строгая типизация — это тоже инструменты. Это то, с помощью чего решают задачи. Дык вот правильным набор инструментов будет тот, который по возможностям максимально сверху приближен к достаточным условиям задачи. И цитата в твоей подписи об этом говорит:

По мне так чем меньше РУЧНОЙ работы тем лучше. В С++ ручками надо работать один раз при написании шаблона, а потом в сотне мест с различными типами использую.

M>

M>Пусть это будет просто:
M>просто, как только можно,
M>но не проще.
M>(C) А. Эйнштейн

Вот именно нельзя делать проще чем можно.
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.