Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Delphi - приемущества и недостатки, принимаются различные высказывания 
:(
    Опции темы
Romikgy
Дата 1.1.2007, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 3
Всего: 146



Daevaorn, аналогичное могу сказать и про тебя smile
Цитата(Daevaorn @  1.1.2007,  18:28 Найти цитируемый пост)
Примеры только что были.

что то я их пропустил ссылку дай, имено на пример , а не на демагогию!

Цитата(Daevaorn @  1.1.2007,  18:28 Найти цитируемый пост)
До твоего уровня опускаться не буду.

и не надо ....


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Daevaorn
Дата 1.1.2007, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 5
Всего: 70



Цитата(Romikgy @  1.1.2007,  20:34 Найти цитируемый пост)
что то я их пропустил ссылку дай, имено на пример , а не на демагогию!

Я тебе привел 4 пункта. Ты на них не смог ответить, ни кодом, ни чем. Хотя на С++ это всё делается в раз и с минимумом кода. На этом тему гибкости можно считать закрытой. Что ещё тебе надо?!
PM MAIL WWW   Вверх
Beltar
Дата 1.1.2007, 21:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 627
Регистрация: 11.1.2006

Репутация: 2
Всего: 7



Цитата

в нем тоже размер хранится


Но в Char'е и массиве Char'ов то не храниться.

Цитата

Не забыва про inline в С++ и качество компиляторов. И я бы про эффективность одних перед другиме так с лёту не говорил бы.


1) Компилятор Билдера сосет, у Delphi AFAIK быстрее. А сравнение конкретных реализация у Борланда и у MS никак не доказывает, что C++, как язык, быстрее чем Паскаль.
2) inline в BDS 2005 у Delphi тоже появилась. Если речь идет о вставке кода процедуры, вместо вызова, а не о чем-то другом. Только методы классов не м/б инлайновыми и это правильно ибо ХЗ как там экземпляр класса будет создан и в некоторых случаях эта проблема не разрешима в принципе. Впрочем при шмоне таблиц методов класса ты все равно потеряешь времени намного больше, чем на простой вызов процедуры. Или я не прав?
3) А писать Length(s); приятнее чем Str.Length(s); smile В C# так вообще коры Math.Sin(x)  smile
4) Нет ни одного Delphi'на, который жалеет об отсутствии в Delphi перегрузки операторов ибо там все хорошо продумано, в частности строки можно сцеплять плюсом с каких лохматых версий Ткрбо Паскаля. smile

Цитата

а компонентов, то сколько для Delphi написано.


Ибо VCL настолько совершенна, что расширять ее легко и приятно. smile

Цитата

Потому что в Delphi стредствами языка класс строк невозможно написать. Это ещё один довод в пользу гибкости всего языка С++


Жду доказательств. smile 


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. smile(с) я, хотя может и нет
Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере.
PM MAIL   Вверх
W4FhLF
Дата 1.1.2007, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 2
Всего: 121



Цитата

имхо тоже можно реализовать и на дельфи


Всё давно реализовано, пример тому FGInt.


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
Daevaorn
Дата 1.1.2007, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 5
Всего: 70



Цитата(Beltar @  1.1.2007,  22:00 Найти цитируемый пост)
А сравнение конкретных реализация у Борланда и у MS никак не доказывает, что C++, как язык, быстрее чем Паскаль.

почему же?
Цитата(Beltar @  1.1.2007,  22:00 Найти цитируемый пост)
Если речь идет о вставке кода процедуры, вместо вызова, а не о чем-то другом. Только методы классов не м/б инлайновыми и это правильно ибо ХЗ как там экземпляр класса будет создан и в некоторых случаях эта проблема не разрешима в принципе. Впрочем при шмоне таблиц методов класса ты все равно потеряешь времени намного больше, чем на простой вызов процедуры. Или я не прав?

Вы не понимаете смысла inline, как я погляжу. Экземпляр класса знать вовсе не надо чтобы заинлайнить его методsmile
Цитата(Beltar @  1.1.2007,  22:00 Найти цитируемый пост)
А писать Length(s); приятнее чем Str.Length(s); 

На вкус и цвет...
Цитата(Beltar @  1.1.2007,  22:00 Найти цитируемый пост)
Нет ни одного Delphi'на, который жалеет об отсутствии в Delphi перегрузки операторов ибо там все хорошо продумано, в частности строки можно сцеплять плюсом с каких лохматых версий Ткрбо Паскаля. 

Да. пользовать костылями от Borland каждый Дельфин привык.
Цитата(Beltar @  1.1.2007,  22:00 Найти цитируемый пост)
Жду доказательств. 

Сам же сказал, что нету прегрузки операторов.
PM MAIL WWW   Вверх
Romikgy
Дата 1.1.2007, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 3
Всего: 146



Daevaorn, специально для тех кто на бронепоезде!!!!
Цитата(Daevaorn @  1.1.2007,  17:11 Найти цитируемый пост)
1. использовать любой свой набор символов

что обозначает любой?
в string (дельфей) можно юзать все символы анси кода!
можно заюзать WideString и получишь символы юникода
Цитата(Daevaorn @  1.1.2007,  17:11 Найти цитируемый пост)
2. контролировать операции на символами. Например нечувствительность к регитсру.

какие операции над символами?
за чуствительность к регистру есть ф_ция 
StrIComp
Цитата(Daevaorn @  1.1.2007,  17:11 Найти цитируемый пост)
3. сам контролировать распределение памяти под символы через аллокаторы

что подразумеваем под контролем?
доступ к символам получаем по средством индексов
Цитата(Daevaorn @  1.1.2007,  17:11 Найти цитируемый пост)
4. использовать стандартные алгоритмы

Есть также целая пачка стандартных алгоритмов для работы со строками

PS как поставлены вопросы , такой дан и ответ, если вы дожив до своего возвраста, не научились правильно задавать вопросы, то и ответы вам получать довольно тяжко,
приведи конкретные примеры в С++ своих вопросов,
ибо демагогия вызывает за собой демагогию!

Добавлено @ 21:22 
Цитата(Daevaorn @  1.1.2007,  20:08 Найти цитируемый пост)
Вы не понимаете смысла inline, как я погляжу

проясни о всезнающий....

Добавлено @ 21:24 
Цитата(Daevaorn @  1.1.2007,  20:08 Найти цитируемый пост)
Сам же сказал, что нету прегрузки операторов. 

нет , а другие помимо операторов?
ждемс


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Daevaorn
Дата 1.1.2007, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 5
Всего: 70



Цитата(Romikgy @  1.1.2007,  22:18 Найти цитируемый пост)
специально для тех кто на бронепоезде!!!!

Специально для тех кто в нем!!!!
Цитата(Romikgy @  1.1.2007,  22:18 Найти цитируемый пост)
что обозначает любой?
в string (дельфей) можно юзать все символы анси кода!

То и рзначает. На ASCII и Unicode свет клином не сошелся. Дальше собвственного носа надо смотреть. Мы же рассматриваем гибкость. А это её одно из важных проявлений.
Цитата(Romikgy @  1.1.2007,  22:18 Найти цитируемый пост)
какие операции над символами?

Любые.
Цитата(Romikgy @  1.1.2007,  22:18 Найти цитируемый пост)
за чуствительность к регистру есть ф_ция 
StrIComp

А вот оператор "=" уже не работает? Ха-ха.
Цитата(Romikgy @  1.1.2007,  22:18 Найти цитируемый пост)
что подразумеваем под контролем?

То и подразумевается. Где, сколько, когда памяти выделено и освобождено.
Цитата(Romikgy @  1.1.2007,  22:18 Найти цитируемый пост)
доступ к символам получаем по средством индексов

Это ты к чемы вообще?
Цитата(Romikgy @  1.1.2007,  22:18 Найти цитируемый пост)
Есть также целая пачка стандартных алгоритмов для работы со строками

Для тех строк, которые тебе впарила Borland. А для своих строк новые писать?! 
Цитата(Romikgy @  1.1.2007,  22:18 Найти цитируемый пост)
ибо демагогия вызывает за собой демагогию! 

С моей стороны её нет. Я чётко сформулировал требования, а вот кто-то начал увиливать и сливать воду.

Добавлено @ 21:29 
Цитата(Romikgy @  1.1.2007,  22:18 Найти цитируемый пост)
проясни о всезнающий....

Тебе тоже кажется, что нужно знать экземпляр класса для инлайна его не виртуальных методов?smile
PM MAIL WWW   Вверх
Romikgy
Дата 1.1.2007, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 3
Всего: 146



Daevaorn, и снова ни одного конкретного примера....
дык кто в нем?

Добавлено @ 21:39 
Цитата(Daevaorn @  1.1.2007,  20:26 Найти цитируемый пост)
На ASCII и Unicode свет клином не сошелся

что имеешь в виду , с примерами плз
Цитата(Daevaorn @  1.1.2007,  20:26 Найти цитируемый пост)
Любые.

снова общие фразы
Цитата(Daevaorn @  1.1.2007,  20:26 Найти цитируемый пост)
А вот оператор "=" уже не работает? Ха-ха.

пропустим.. ибо...
Цитата(Daevaorn @  1.1.2007,  20:26 Найти цитируемый пост)
То и подразумевается. Где, сколько, когда памяти выделено и освобождено.

пример плз
Цитата(Daevaorn @  1.1.2007,  20:26 Найти цитируемый пост)
Это ты к чемы вообще?

к зеленым яблокам ... к строкам конечно
Цитата(Daevaorn @  1.1.2007,  20:26 Найти цитируемый пост)
Для тех строк, которые тебе впарила Borland. А для своих строк новые писать?! 

просто молчу...
Цитата(Daevaorn @  1.1.2007,  20:26 Найти цитируемый пост)
Я чётко сформулировал требования

не вижу четкости , где примеры? на С++?
Цитата(Daevaorn @  1.1.2007,  20:26 Найти цитируемый пост)
Тебе тоже кажется, что нужно знать экземпляр класса для инлайна его не виртуальных методов?

и снова отмазка, где пояснения?
У меня сложилось впечатление , что вы сами не сильны в С++ ибо слишком много воды в ваших
Цитата(Daevaorn @  1.1.2007,  20:26 Найти цитируемый пост)
чётко сформулировал требования

и это точно не радует! smile


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Daevaorn
Дата 1.1.2007, 21:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 5
Всего: 70



Цитата(Romikgy @  1.1.2007,  22:33 Найти цитируемый пост)
У меня сложилось впечатление , что вы сами не сильны в С++ ибо слишком много воды в ваших
Цитата(Daevaorn @  1.1.2007,  20:26 )
чётко сформулировал требования
и это точно не радует

А вашей воде вообще слов нет. Ни одной строчки от вас тоже не было, между прочим.
PM MAIL WWW   Вверх
Romikgy
Дата 1.1.2007, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 3
Всего: 146



Цитата(Daevaorn @  1.1.2007,  20:43 Найти цитируемый пост)
А вашей воде вообще слов нет. 

ровно столько же сколько и от вас!
Цитата(Daevaorn @  1.1.2007,  20:43 Найти цитируемый пост)
Ни одной строчки от вас тоже не было, между прочим. 

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


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
aktuba
Дата 1.1.2007, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: нет
Всего: 38



С Новым годом всех. Приступим к дискуссии...

Daevaorn - ты неправильно себя ведешь! Оскорбляя человека - нельзя получить точного и внятного ответа, но обо всем по-порядку:

Цитата

1. использовать любой свой набор символов


Я тоже могу, если необходимо. Иначе, для чего мне лишнее?
Как я понимаю - ты имеешь в виду то, что вместо стандартных наборов символов (ANSI, UNICODE) ты можешь создать свой? Так в чем проблема? Написать для этого класс - не такая трудная задача...

Цитата

2. контролировать операции на символами. Например нечувствительность к регитсру.


Код

str1 = "HAPPY new YEAR";
str2 = "Happy NEW Year";
if( str1 == str2 ) //true
   //...


Снова промах. Например, я никогда так не сравниваю строки. CompareStr и CompareText - разница как-раз в том, учитывать регистр или нет. А в твоем примере как понять, когда учитывать, а когда нет?

Цитата

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


Снова не пойму в чем проблема. Это так часто необходимо? Тогда создаем класс и работаем через него. Иначе, для чего это? А Delphi как раз не заставляет меня об этом думать =)

Цитата

4. использовать стандартные алгоритмы 


Вот этого я вообще не понял smile . Т.е. хочешь сказать, что Delphi Запрещает использовать стандартные алгоритмы???
Ну а если ты имел в виду, что нельзя написать все, сказанное выше, стандартными функциями... Ты снова не прав.
Любой алгоритм пишется стандартными функциями.

Добавлено @ 22:04 
Цитата

Вот это промывание мозгов!!!smile Ужас. Хороших людей теряем, товарищи.
Да, все боятся Delphi. Это же такой конкурент, куда там...
На западе уже наверно забыли что такое Delphi:) Об этом можно судить по активности тематических news-groups 


Ух, как захватывающе!!! Ты про что? Боятся в основном дяденьки, лет семидесяти =)))
Или ты хотел сказать, что Borland только на Россию работает?
Зря ты так! Таким же образом, можно сказать, что C++ умирает и все переходят на Python. Это соответствует действительности?
Т.ч. не стоит поднимать лишний шум, если сам не уверен...

Добавлено @ 22:06 
Цитата

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


Сам то понял, что сказал?

Это сообщение отредактировал(а) aktuba - 1.1.2007, 22:08


--------------------
user posted image
PM MAIL WWW Skype   Вверх
Daevaorn
Дата 1.1.2007, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 5
Всего: 70



Код

//1
typedef std::basic_string< int > MySuperStringWith4byteCharacter;

Код

//2
template< class CharT>
class MyCharTraits: public std::char_traits< CharT >
{
public:
    //redefine some typedefs
public:
    static int compare(const CharT *_First1, const CharT *_First2, size_t _Count )
    {    
        return stricmp( _First1, _First2 );
    }
};

typedef std::basic_string< char, MyCharTraits< char > > MyString;

Код

//3
template< class CharT>
class MySmartAllocator: public std::allocator< CharT >
{
public:
    //redefine some typedefs
public:
    void deallocate(pointer _Ptr, size_type)
    {    
        // Контролирую освобождение
        // какой-то код
        ::operator delete(_Ptr);
    }

    pointer allocate(size_type _Count)
    {    
        // Контролирую выделение
        // какой-то код
        return std::allocator::allocate( _Count );
    }

    pointer allocate(size_type _Count, const void _FARQ *)
    {    
        // Контролирую выделение
        // какой-то код
        return std::allocator::allocate( _Count );
    }
};

typedef std::basic_string< char, std::char_traits< char >, MySmartAllocator< char > > MyString;

Код

//4
bool foo()
{
    MyString str1 = "New Year!";
    MyString str2 = "Year";
    return std::find( str1.begin(), str1.end(), str2 ) != str1.end();
}


Добавлено @ 22:12 
Цитата(aktuba @  1.1.2007,  23:01 Найти цитируемый пост)
А в твоем примере как понять, когда учитывать, а когда нет?

Я просто создаю объект строки нужного класса.
Цитата(aktuba @  1.1.2007,  23:01 Найти цитируемый пост)
Т.е. хочешь сказать, что Delphi Запрещает использовать стандартные алгоритмы???

Для самодельной строки? Да.
Цитата(aktuba @  1.1.2007,  23:01 Найти цитируемый пост)
Снова не пойму в чем проблема. Это так часто необходимо? Тогда создаем класс и работаем через него. Иначе, для чего это?

У меня оптимизация такая - хроню строки в специальном пуле.
Цитата(aktuba @  1.1.2007,  23:01 Найти цитируемый пост)
А Delphi как раз не заставляет меня об этом думать =)

Конечно. Зачем об этом думать, если уже изменить ничего нельзя.
Цитата(aktuba @  1.1.2007,  23:01 Найти цитируемый пост)
Daevaorn - ты неправильно себя ведешь! Оскорбляя человека - нельзя получить точного и внятного ответа, но обо всем по-порядку:

Я никого не оскорблял. Просто хочется вести диалог с человеком, который отвечает за свои слова.
PM MAIL WWW   Вверх
Romikgy
Дата 1.1.2007, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 3
Всего: 146



Daevaorn, попробуем что либо ответить ,
один вопрос ты тему сначало читал или так поприкалыватся встрял?
где ты шаблоны в дельфи видел?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
aktuba
Дата 1.1.2007, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: нет
Всего: 38



Цитата

Я просто создаю объект строки нужного класса.


Ну тогда и используй функции этого класса. Так будет понятно человеку, который будет читать твой код. Не зря же я спросил, т.к. не понял, как сравнивать иначе...

Цитата

Для самодельной строки? Да.


Ну, я думая, выше я уже ответил.

Цитата

У меня оптимизация такая - хроню строки в специальном пуле.


Вот именно! У тебя. А что должно быть в ЯП? Только то, что необходимо чаще всего и с помощью чего можно создавать свое. Отсюда вывод - можно сделать самому, когда будет необходимо. Вот пример: почему ни в С++ ни в Delphi нет в стандарте класса обработки чисел в троичной кодировке? Правильно, потому что это редко нужно. И что, мне теперь ругать языки за это? Нет, надо - напишу, использую стандартные функции...

Цитата

Конечно. Зачем об этом думать, если уже изменить ничего нельзя.


Ну-ну... Успокаиваемся. Что нельзя изменить? Нельзя написать свой класс или нельзя изменить стандартный класс? Зря Вы так, батенька...

Цитата

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


Значит я неправильно понял. Прошу прощения.


--------------------
user posted image
PM MAIL WWW Skype   Вверх
Daevaorn
Дата 1.1.2007, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 5
Всего: 70



Цитата(Romikgy @  1.1.2007,  23:22 Найти цитируемый пост)
Daevaorn, попробуем что либо ответить ,
один вопрос ты тему сначало читал или так поприкалыватся встрял?

Да, ты меня раскусил. Я в таких темах часто глумлюсь, поскольку они не могут быть серьезными изначально, а фан от них получить вполне возможноsmile
Цитата(Romikgy @  1.1.2007,  23:22 Найти цитируемый пост)
где ты шаблоны в дельфи видел? 

Да. Не видел. Но мы ведь о гибкости стандартных строк в Delphi и C++ говорим, так? Вот я привел примеры гибкости, только и всего
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

С уважением, Smartov.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Религиозные войны | Следующая тема »


 




[ Время генерации скрипта: 0.0735 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.