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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Почему так не любят Delphi? 
:(
    Опции темы
Beltar
Дата 1.5.2013, 01:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Я вас расстрою, но я нашел игровой движок для Делфи игровой движок нашел. http://www.afterwarp.net/


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


Идущий в даль
**


Профиль
Группа: Участник
Сообщений: 271
Регистрация: 9.6.2007
Где: Praha - Прага

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



Цитата(Beltar @ 1.5.2013,  01:49)
нашел игровой движок для Делфи игровой движок нашел

Тоже уже празднуешь?   smile 


--------------------
Оптимист - это плохо информированный человек.
user posted image

PM MAIL   Вверх
Athari
Дата 1.5.2013, 03:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



@Zloxa

Цитата
Ребят, а расскажите пожалуйста, кто какие задачи реализует по жизни? В смысле - в повседневной практике?

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

Что пулы в топике поднялись -- так это Белтар тужился доказать, что в дельфи можно сделать управление памятью лучше, чем в шарпе (в частности, реализовать поддержку дефрагментации памяти). Он извратил всё, что только можно, но не получилось.

Что помянули графы -- я просто хотел наглядный пример для демонстрации мощи GC. В принципе можно показывать на чём угодно, это просто красивый абстрактный пример. Но Белтар развернул архитектуру, написал кучу неработающего кода и в результате не доказал ничего, кроме того, что проверить работу кода не в состоянии.

Что умные указатели помянули -- это Белтар пытался доказать, что в дельфи управление памятью не хуже, чем в плюсах. В плюсах такие указатели -- естественное средство, которое постоянно используется, хоть название и звучит странно. Белтар помянул какие-то семинары в результатах гугла, но код так и не привёл.

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

Про пользу грамотного ООП, юнит-тестов, систем контроля версий, скриптовых языков не надо доказывать никому -- оно и так ясно любому здравомыслящему человку. Но Белтар даже здесь влезает со своим веским словом, что всё это магия и шаманство. И ведь не троллит, а реально так думает.

В общем, мне этот балаган уже надоедает. С Белтаром спорить -- что с деревом. Каждый раз вопли про хейтерство, игнорирование половины доводов, пустое необоснованное восхваление любимого языка и далее по спику. Я могу спорить согласно тонкой брошюрке "мужская логика", а к талмуду "женская логика, том 1" мне приближаться нет никакого желания.

@Beltar

Цитата
Я вас расстрою, но я нашел игровой движок для Делфи игровой движок нашел. http://www.afterwarp.net/ 

На этом офигительном движке написаны прогрессивные, сложные, популярные игры: point-and-click игрушка с графикой средней флешки, полтора пазла и платформер с графикой, которую в приличных местах не упомянешь. Круто, чо.

И что-то на сайте движка с сентября нет обновлений, а в сорцах с тех пор аж три коммита: два багфикса и создание бранча. Пациент скорее мёртв, чем жив.
PM MAIL WWW ICQ Skype Jabber AOL YIM MSN   Вверх
Bother
Дата 1.5.2013, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Beltar @  1.5.2013,  00:49 Найти цитируемый пост)
Не изменится ничего кроме частоты ошибок. Да я понимаю, что дескать я все выдумываю, но тут я спорить не буду, потому что тебе не понять, ты видишь только то, что есть в шарпе, или в плюсах, удобства Delphi не для тебя. 
с точки зрения плюсов на дельфи нельзя написать SomeClass someObj, можно только SomeClass* someObj. А то, что частота ошибок при таком подходе возрастает многократно - это да, тебе уже не раз об этом говорили.
Цитата(Beltar @  1.5.2013,  03:49 Найти цитируемый пост)
Я вас расстрою, но я нашел игровой движок для Делфи игровой движок нашел. http://www.afterwarp.net/ 
А - вот к чему было провозглашение смерти плюсов. Теперь то дельфи уж точно станет основным инструментом для разработки игр.  smile 
Цитата(Athari @  30.4.2013,  20:38 Найти цитируемый пост)
Какие ещё "обджекты"? В нормальных языках объекты -- это экземпляры классов. 
Судя по всему - это очередная объектная модель. Они видать их на каждый чих пихают. Неудивительно - паскаль никогда не славился хорошей архитектурой, и пытался замаскировать это т.н "строгостью", которая на дале ничего кроме запутывания в стенах текста не означала.
PM MAIL   Вверх
Alexeis
Дата 1.5.2013, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

Репутация: 14
Всего: 459



Цитата(Bother @  1.5.2013,  11:30 Найти цитируемый пост)
с точки зрения плюсов на дельфи нельзя написать SomeClass someObj, можно только SomeClass* someObj. А то, что частота ошибок при таком подходе возрастает многократно - это да, тебе уже не раз об этом говорили.

  Частота ошибок на С++ при таком подходе многократно возрастает, особенно если смешивать оба подхода, передавать куда нить указатели на стековые объекты или разрушать их не своевременно, копировать их без конструктора копирования, чтобы увеличить время жизни.
  Не путайте хер с пальцем. Когда объект всегда создан в куче, то с ним очень просто и однозначно работать. При правильном подходе, путешествует по коду лишь COM интерфейс, а он реализован как автоматический объект, который сам уничтожиться когда никому не станет нужным. Если COM интерфейс не используется, то используется стратегия владельца. Владелец чистит все объекты которыми владеет перед уничтожением. Объекты созданные в куче в большинстве случаев не требуют копирования, поэтому исчезает еще одно место для частых ошибок С++ - неправильный конструктор копирования. Объекты все имеют таблицу VMT и виртуальный деструктор, поэтому корректное уничтожение через указатель на любой базовый класс гарантировано безопасно. Да и вообще, если объект передали во владение, то не нужно думать его уничтожать и нужно ли вообще. Вопрос всегда решается однозначно, что нужно и дается всегда одним способом. Кроме того, если говорить о достаточно больших объектах, то и в С++ их создают в куче, для того чтобы избежать длительной операции копирования в контейнерах. И еще в Delphi отсутствует конструктор копирования объекта по умолчанию, что опять же избавляет от ошибок, когда объект начинает разрастаться и копирование перестает быть тривиальным. 
  А вот необходимость в простых стековых объектах закрывается рекордами, аналогами структур, только в отличии от С++ из record полноценного объекта не сделать, зато можно копировать его сколько угодно раз и вызывать методы, в том числе и статические.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Bother
Дата 1.5.2013, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Alexeis @  1.5.2013,  14:16 Найти цитируемый пост)
Частота ошибок на С++ при таком подходе многократно возрастает
Ага, а на дельфи остается на прежнем высоком уровне.
Цитата(Alexeis @  1.5.2013,  14:16 Найти цитируемый пост)
Не путайте хер с пальцем. Когда объект всегда создан в куче, то с ним очень просто и однозначно работать. 
Когда объект создан на стеке с ним ещё проще и "однозначнее" работать.
Цитата(Alexeis @  1.5.2013,  14:16 Найти цитируемый пост)
При правильном подходе, путешествует по коду лишь COM интерфейс, а он реализован как автоматический объект, который сам уничтожиться когда никому не станет нужным.
о - как просто и однозначно. А weak ref оно умеет? А что если мне не нужен счётчик ссылок? А если у меня обслуживающий класс, реализующий специфическую функциональность - для него тоже интерфейс писать? Реализация интерфейса предпологает использование виртуальнах методов? Т.е если я хочу автоматического управления - мне нужны виртуальные методы? Было бы бредово.
Цитата(Alexeis @  1.5.2013,  14:16 Найти цитируемый пост)
 Объекты все имеют таблицу VMT и виртуальный деструктор, поэтому корректное уничтожение через указатель на любой базовый класс гарантировано безопасно.
А что если мне не нужен vmt? К тому же речь о том что корректного уничтожения может и не быть.
Цитата(Alexeis @  1.5.2013,  14:16 Найти цитируемый пост)
Да и вообще, если объект передали во владение, то не нужно думать его уничтожать и нужно ли вообще. Вопрос всегда решается однозначно, что нужно и дается всегда одним способом.
Как уже писали выше - далеко не всё и не вегда так однозначно.
Цитата(Alexeis @  1.5.2013,  14:16 Найти цитируемый пост)
если говорить о достаточно больших объектах, то и в С++ их создают в куче, для того чтобы избежать длительной операции копирования в контейнерах.
копирование больших объектов может понадобиться только в ситуации когда такой объект меняет владельца. Что бы избежать копирования, объект не обязательно распологать в куче. см. move semantics.
Цитата(Alexeis @  1.5.2013,  14:16 Найти цитируемый пост)
А вот необходимость в простых стековых объектах закрывается рекордами, аналогами структур, только в отличии от С++ из record полноценного объекта не сделать, зато можно копировать его сколько угодно раз и вызывать методы, в том числе и статические.
Необходимость в стековых объектов в дельфи никуда не пропадает. У вас в представлении всегда два крайних случая - большие объекты и структуры данных. На деле это никогда не так. Большую часть объектов составляют какраз средняки - не просто данные(а объекты), но и не огромные коллекции.
PM MAIL   Вверх
Athari
Дата 1.5.2013, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



@Bother

Цитата
о - как просто и однозначно. А weak ref оно умеет? А что если мне не нужен счётчик ссылок? А если у меня обслуживающий класс, реализующий специфическую функциональность - для него тоже интерфейс писать? Реализация интерфейса предпологает использование виртуальнах методов? Т.е если я хочу автоматического управления - мне нужны виртуальные методы? Было бы бредово.

Я тут гуглил... В дельфи ВСЕ интерфейсы наследуются от IInterface IUnknown. Счётчик есть при использовании ЛЮБОГО интерфейса. Какая к чёрту экономия на VMT, есть такое пропихивается.

"Weak ref" будет, если параллельно со ссылкой на интерфейс использовать ссылку на реализацию. Но в документации чёрным по белому написано: "Если вы так будете делать, всё кончится плохо".
PM MAIL WWW ICQ Skype Jabber AOL YIM MSN   Вверх
Bother
Дата 1.5.2013, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Athari @  1.5.2013,  15:38 Найти цитируемый пост)
"Weak ref" будет, если параллельно со ссылкой на интерфейс использовать ссылку на реализацию. Но в документации чёрным по белому написано: "Если вы так будете делать, всё кончится плохо". 
Так оно и без документации ясно что плохо. Потому и спрашиваю - можно ли сделать по человечески? 
Видимо нет. И эти люди ругают ГЦ...  smile 
PM MAIL   Вверх
Beltar
Дата 1.5.2013, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата

Что помянули графы -- я просто хотел наглядный пример для демонстрации мощи GC.


Мощей.

Цитата

оно и так ясно любому здравомыслящему человку


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

Цитата

Счётчик есть при использовании ЛЮБОГО интерфейса.


По определению интерфейсов, хотя их кто-то юзает, кто-то нет.

Цитата

с точки зрения плюсов на дельфи нельзя написать SomeClass someObj, можно только SomeClass* someObj


В 158-ой+1 раз повторяю, для этого есть структуры. Сколько пишу, постоянно надо заводить локальные ссылки на объекты, передавать объекты по ссылке, но может 2 или 3 раза надо было скопировать содержимое одного TSrings в другой. Так для чего вынуждать меня явно работать с указателем, провоцируя ошибки, что здесь чего-то не поставил, там не поставил?

Цитата

Судя по всему - это очередная объектная модель.


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

Цитата

Владелец чистит все объекты которыми владеет перед уничтожением.


А ведь если подумать, то 99% создаваемых и уничтожаемых объектов хранятся как раз в разного рода List'ах, которым можно дать право владения, т. е. после команды Delete объект будет автоматом освобожден, причем освобожден немедленно, а не когда-то там, что упрощает освобожение дефицитных ресурсов, которые может продолжать удерживать ожидающий смерти через GC объект.

Цитата

Объекты созданные в куче в большинстве случаев не требуют копирования, поэтому исчезает еще одно место для частых ошибок С++ - неправильный конструктор копирования. 


Что это такое, и почему с этим носятся в плюсах дельфину вообще не понять. Впрочем и неудивительно, у дельфина для мелочевки есть идеально работающие структуры, а для копирования объектов посложнее есть метод TPersistent.Assign.
Википедия приводит такой пример:

Код

#include <iostream>
 
class Array
{
  public:
    int size;
    int* data;
     Array(int size)
        : size(size), data(new int[size]) {}
 
    ~Array() 
    {
        delete[] data;
    }
};
 
int main()
{
    Array first(20);
    first.data[0] = 25;
     {
        Array copy = first;
         std::cout << first.data[0] << " " << copy.data[0] << std::endl;
     }    // (1)
     first.data[0] = 10;    // (2)
}


Который приводит к Segmentation Fault просто потому что в плюсах массив и указатель не отличимы. Эта же проблема является причиной уязвимостей из-за переполнения. Т. е. сетевое ПО, написанное на плюсах, можно считать дефектным по умолчанию. Знаете, но с точки зрения дельфина такое вот ручное управление памятью натуральный закат солнца вручную. И понтоваться умными указателями тут, то же самое, что владельцу ржавой шестерки понтоваться новой магнитолой перед владельцем новенькой "Тойоты".

Цитата

только в отличии от С++ из record полноценного объекта не сделать


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


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


Опытный
**


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

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



Цитата(Alexeis @  1.5.2013,  12:16 Найти цитируемый пост)
Да и вообще, если объект передали во владение, то не нужно думать его уничтожать и нужно ли вообще. Вопрос всегда решается однозначно, что нужно и дается всегда одним способом

Если объектом владеют два потока с непредсказуемым временем завершения, какой из потоков должен уничтожить объект?

Добавлено через 3 минуты и 58 секунд
Цитата(Beltar @  1.5.2013,  16:37 Найти цитируемый пост)
По определению интерфейсов

В Делфи как всегда какие-то свои определения.

Добавлено через 6 минут и 10 секунд
Цитата(Beltar @  1.5.2013,  16:37 Найти цитируемый пост)
Что это такое, и почему с этим носятся в плюсах дельфину вообще не понять. Впрочем и неудивительно, кругозор дельфина ограничен его мелким болтцем

Пофикшено.

Добавлено через 7 минут и 54 секунды
Цитата(Beltar @  1.5.2013,  16:37 Найти цитируемый пост)
Который приводит к Segmentation Fault просто потому что криворукие недоучки не изучив язык мнят себя программистами.

Снова пофикшено.


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
Bother
Дата 1.5.2013, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Beltar @  1.5.2013,  18:37 Найти цитируемый пост)
В 158-ой+1 раз повторяю, для этого есть структуры.

Повторяю в милионный раз - это не одно и то же.
Цитата(Beltar @  1.5.2013,  18:37 Найти цитируемый пост)
Сколько пишу, постоянно надо заводить локальные ссылки на объекты, передавать объекты по ссылке, но может 2 или 3 раза надо было скопировать содержимое одного TSrings в другой. 
Кто вообще заикается про копирование? Оно не нужно при работе с объектом на стеке, обычно он предаётся по ссылке(не путать с указателем).
Цитата(Beltar @  1.5.2013,  18:37 Найти цитируемый пост)
 Так для чего вынуждать меня явно работать с указателем, провоцируя ошибки, что здесь чего-то не поставил, там не поставил?
Работа с указателем здесь ничем не отличается от дельфовой работы с объектами. Ошибки те же.
Цитата(Beltar @  1.5.2013,  18:37 Найти цитируемый пост)
Википедия приводит такой пример:
достаточно заменить сишный массив на vector / array. Плюсовый стиль сильно отличается от сишного.
Цитата(Beltar @  1.5.2013,  18:37 Найти цитируемый пост)
Т. е. сетевое ПО, написанное на плюсах, можно считать дефектным по умолчанию. 
Дефектными по умолчанию можно считать дельфистов. Покажи мне работу с сырыми массивами в boost/Qt. Один asio надёжней чем миллион дельфей. 
Цитата(Beltar @  1.5.2013,  18:37 Найти цитируемый пост)
Знаете, но с точки зрения дельфина такое вот ручное управление памятью натуральный закат солнца вручную.
Так дельфисты только и делают что вручную управляют памятью.
Цитата(Beltar @  1.5.2013,  18:37 Найти цитируемый пост)
И понтоваться умными указателями тут, то же самое, что владельцу ржавой шестерки понтоваться новой магнитолой перед владельцем новенькой "Тойоты".
Если плюсы это ржавая шестёрка - то дельфи трёхколёсный велосипед. 

Это сообщение отредактировал(а) Bother - 1.5.2013, 17:31
PM MAIL   Вверх
Athari
Дата 1.5.2013, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



@Beltar

Цитата
По определению интерфейсов, хотя их кто-то юзает, кто-то нет.

По определению COM-интерфейсов операционной системы Windows. К интерфейсам во всём остальном мире это отношения не имеет.

Цитата
В 158-ой+1 раз повторяю, для этого есть структуры. Сколько пишу, постоянно надо заводить локальные ссылки на объекты, передавать объекты по ссылке, но может 2 или 3 раза надо было скопировать содержимое одного TSrings в другой. Так для чего вынуждать меня явно работать с указателем, провоцируя ошибки, что здесь чего-то не поставил, там не поставил?

В плюсах есть следующие типы, работающие с полиморфизм включения:
1. указатели;
2. указатели на константы;
3. константные указатели;
4. константные указатели на константы;
5. ссылки;
6. ссылки на константы.

Ссылки в плюсах всегда константны. В шарпе есть неконстантные ссылки, в целом полный аналог дельфовых. Не знаю, чего тебе не хватает.

Цитата
Т. е. ты понятия не имеешь об объектных моделях в Delphi, и как оно там реально используется, но вывод уже сделал?

Вообще-то ты уже сделал все выводы, когда в первый раз упомянул. И потом тоже.

Цитата
причем освобожден немедленно, а не когда-то там, что упрощает освобожение дефицитных ресурсов, которые может продолжать удерживать ожидающий смерти через GC объект

Ты правда думаешь, что кому-нибудь будет не лень в 50-й раз рассказывать тебе про RAII? Берёшь на измор?

Цитата
Википедия приводит такой пример

Ты ожидаешь проверки аргументов и индексов от минималистичного примера? Юзай STL и будет тебе счастье с валидацией индексов.

Добавлено через 10 минут и 3 секунды
@Beltar

Цитата
Т. е. ты понятия не имеешь об объектных моделях в Delphi, и как оно там реально используется, но вывод уже сделал?

Вот этот момент особенно забавен.

Ты: В дельфах есть "обджекты", древние как окаменелое г#вно мамонтов, нафиг никому не нужны. Выпилить бы их нафиг.
Оппонент: Да, лишняя вещь, всё усложняет только, нафиг её.
Ты: Да как ты смеешь!!! Да это ж! Да я-то ж тебя! Да на куски порву!!!!!! Ты ничего не понимаешь в дельфи!!!!!!!!!!!!!!!111111адынадын
PM MAIL WWW ICQ Skype Jabber AOL YIM MSN   Вверх
k0rvin
Дата 1.5.2013, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Bother @  1.5.2013,  17:29 Найти цитируемый пост)
Работа с указателем здесь ничем не отличается от дельфовой работы с объектами. Ошибки те же.

Или с делфийскими(паскалевскими) же указателями.


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
Beltar
Дата 1.5.2013, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата

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


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

Цитата

Дефектными по умолчанию можно считать дельфистов. Покажи мне работу с сырыми массивами в boost/Qt. Один asio надёжней чем миллион дельфей. 


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

Цитата

Работа с указателем здесь ничем не отличается от дельфовой работы с объектами. Ошибки те же.


Сразу видно, что не работал.

Цитата

достаточно заменить сишный массив на vector / array. Плюсовый стиль сильно отличается от сишного.


Заменяй. Если обернуть гниль в обертку, она так и останется гнилью. Отсюда и GC, потому что народ наелся управлением памятью, причем наелся не в Delphi, где ничего сложнее вызова Free без необходимости делать не приходится.

Цитата

Ты правда думаешь, что кому-нибудь будет не лень в 50-й раз рассказывать тебе про RAII?


А что мне реально даст RAII, кроме, по меньше мере, сомнительной провокации создавать сервисные классы в стеке? И почему твой любимый шарп вдруг использует дельфовый подход?


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


Новичок



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

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



@Beltar

Цитата
народ наелся управлением памятью, причем наелся не в Delphi, где ничего сложнее вызова Free без необходимости делать не приходится.

Ты так и не привёл ни одного примера преимущества работы с памятью в дельфи.

А что не в дельфи наелись -- ну так ведь:

user posted image

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

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

Цитата
И почему твой любимый шарп вдруг использует дельфовый подход?

Потому что главный по языку один и тот же?
PM MAIL WWW ICQ Skype Jabber AOL YIM MSN   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

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

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


 




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


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

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