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

Поиск:

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


Упертый сишник
*


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

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



Я тебе угрожаю убийством!!!

Добавлено через 1 минуту и 7 секунд
Вот даже в правилах раздела религиозные войны намек на то что его надо загнуть
PM MAIL   Вверх
serger
Дата 10.4.2013, 11:47 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 518
Регистрация: 19.6.2007
Где: Ижевск

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



Цитата(Beltar @  10.4.2013,  08:42 Найти цитируемый пост)
Сойдет?    

Это не Delphi

Добавлено через 2 минуты и 25 секунд
kolesnle, все языки - уг! Я один белый и пушистый!

Добавлено через 7 минут и 31 секунду
Beltar, похвалюсь, но такого типа код я и на асме писал в студенческие годы. На с он же более в тему, в конце концов, winapi на cях писан. Тут даже С++ не надо.
В общем, это не то.


--------------------
упс!
PM MAIL WWW Skype GTalk Jabber   Вверх
Beltar
Дата 10.4.2013, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Ты сказал компоненты, я тебе привел другой вариант написания. В чем проблема-то? В том, что в Delphi можно нормально программировать даже не интересуясь такими вопросами, ну про SendMessage ес-но читать надо, но это в любой книжке для новичков есть, но при этом можно и спуститься в дебри.

Цитата

А для чего они?


Я столько раз слышал про эту хрень, про анонимные методы, но прочитав, так и не мог понять, для чего они вообще нужны, что-то напоминающее передачу параметров по имени в вымерших языках, непонятное, сложное в реализации и абсолютно бесполезное, ну и как следствие через неделю забывал. Правда у Марко Кэнту описывается способ их применения, но для меня это не повседневная ситуация. Видимо Си++ настолько беден нормальными выразительными средствами, что там приходится изобретать такое.  smile 


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


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



Цитата(kolesnle @ 10.4.2013,  10:32)
Это анонимный функтор, а не метод smile обламитесь! Я вообще больше про библиотеки сказал, чем про лямбды))
Дельфи через год загнется) Обещаю! Я ее загну

А если нет, что тогда? За свои слова нужно отвечать, а не тупо тролить  smile

Добавлено через 2 минуты и 13 секунд
Цитата(kolesnle @  10.4.2013,  10:32 Найти цитируемый пост)
Это анонимный функтор, а не метод smile обламитесь! 

Сам обломись, ты просил функцию.  smile

Добавлено через 3 минуты и 10 секунд
Нафига выообще эти анонимные функции?
PM MAIL   Вверх
Zloxa
Дата 10.4.2013, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


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

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



Цитата(Beltar @  10.4.2013,  13:52 Найти цитируемый пост)
Я столько раз слышал про эту хрень, про анонимные методы, но прочитав, так и не мог понять, для чего они вообще нужны, что-то напоминающее передачу параметров по имени в вымерших языках, непонятное, сложное в реализации и абсолютно бесполезное

О каких передачах параметров по имени ты говоришь?
Если ты об передаче параметров в функции по имени vs  предачи параметров в функции по индексу, то тут вопрос как минимум в читабельности, читать код временами становится существенно проще. Если же семантика языка позволяет определять в функции default значения параметров, какие они должны принимать, в случае, если они опущены при вызове, передача значения параметра по имени становится просто необходимой ихмо.

Что же касается "не понял, значит бесполезно"... тут поосторожнее надо бы. К примеру, когда я только начинал изучать делфи, в главе "введение" был отдельный параграф уделен классфункциям. Я тогда вобще не вдуплил чо за хрень, и почему на эту перделку столько фапа. Понимание пришло позже, с осознанием, что без  этой фишки, не было бы делфи. Потому, когда мне рассказыают о сопелке, а я не понимаю области ее применения, я предпочитаю прежде всего уточнить у источника оценку эффективности ее применнеия. Пожалуй, если бы уважаемый kolesnle, оставлял бы впечателние человека, способного дать адекватный ответ, я бы спросил у него, на сколько порядков лямбда-функция может облегчить мне жизнь.

Это сообщение отредактировал(а) Zloxa - 10.4.2013, 13:45


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Beltar
Дата 10.4.2013, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата

О каких преедачах параметров по имени ты говоришь?


Была такая хрень в Алголе 60. За примерами в историческую литературу, да и в Википедии вроде есть описание.

Цитата

Что же касается "не понял, значит бесполезно"... тут поосторожнее надо бы. К примеру когда я только начинал изучать делфи, в главе "введение" был отдельный параграф уделен классфункциям. Я тогда вобще не вдуплил чо за хрень, и почему на эту перделку столько фапа. Понимание пришло позже, с осознанием, что без  этой фишки, не было бы делфи. Потому, когда мне рассказыают о сопелке, а я не понимаю области ее применения, я предпочитаю прежде всего уточнить оценку эффективности применнеия ее у источника. Пожалуй, если бы уважаемый kolesnle, оставлял бы впечателние человека, способного дать адекватный ответ, я бы спросил у него, на сколько порядков лямбда-функция может облегчить мне жизнь.


Без классовых функций очевидно проблеммно реализовать RTTI, хотя в ежедневном программировании оно как бы и до фени вроде бы. Ну в основном. У меня в одном проекте есть такой класс:

Код

  TDummyClass=class
  //События кнопок
    class procedure DeleteUserClick(Sender:TObject);
    class procedure EditUserClick(Sender:TObject);
    class procedure NewUserClick(Sender:TObject);
    class procedure OnFormShow(Sender:TObject);
    class procedure LoginClick(Sender:TObject);
  end;


Смысл в том, что есть отдельная формочка общего назначения и потому имеющая чистые обработчики кнопок, которые должны быть заполнены методами конкретного проекта. Хотя причем тут class мне как-то непонятно, но без этого не понимает.

Хотя в целом ты, конечно, прав, вот есть дженерики, в D2009 появились, я сразу начал использовать, ибо западло всякие TList.Add переопределять под свой тип, и в любой учебник по Delphi 2009+ они войдут, но войдут ли в учебник для начинающих анонимные методы и замыкания сомнительно, можно ведь и без них успешно работать. Можно в принципе работать и без явного использования указателей, что впрочем не отменяет понимания того чем класс отличается от структуры с методами.


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


Чо?
****


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

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



Цитата(Beltar @  10.4.2013,  14:46 Найти цитируемый пост)
в ежедневном программировании оно как бы и до фени вроде бы.

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

PS. По задумке этот посто должен стать 666м в этой теме  smile 


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
k0rvin
Дата 10.4.2013, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Beltar @ 10.4.2013,  07:42)
Цитата
Ты перепутал, это минус.

Опять начинаются слезки, что дескать надо по-человечески код оформлять, и нет возможности ради сохранения 5 минут времени в день на наборе текста набыдлокодить багов на неделю отладки? Си++ vs Pascal было бы актуально при сравнении BC++ и BP году этак в 90-ом, когда в Паскале было полно глупостей, или в эпоху Delphi 7, когда можно было кое-где сэкономить за счет шаблонов, но сейчас тратить на C++ время просто верх глупости. Если вопрос загибания Delphi можно сформулировать как "загнется ли?", то для плюсов после появления C# он звучит "когда?".

Какой-то поток сознания, простите. При чем тут плюсы или сишарп? Вирт, например, давно понял, что паскаль не торт и запилил более лучшие языки.

Добавлено через 4 минуты и 13 секунд
Цитата(Akella @ 10.4.2013,  10:13)
Код

SomeArray.Sort(    
   function(a,b: Integer): Integer   // Инплейс функция-компаратор
   begin
      Result := a - b;
   end
);

ну, как говорится - обломитесь  smile

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

SomeArray.Sort( a, b => a - b )


Добавлено через 7 минут и 18 секунд
Цитата(Deja_Vu @  10.4.2013,  10:49 Найти цитируемый пост)
Вообще Delphi Language идеальный язык для обучения.

Нет, Scheme.


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


Опытный
**


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

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



Цитата

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


Для меня на первый взгляд это скорее реализация банальных процедурных типов, которые были и в BP 7.1. smile По крайней мере, создания события для своего компонента ничем не отличается от объявления процедурного типа за исключением добавления of object. Хотя тут не совсем понятно, вот пишу я, например, обработчик onCreate форму и обращаюсь к какому-нибудь ее свойству. И где здесь классовый метод? Дергаю-то я конкретный экземпляр формы.

Доставая учебник: Методы класса не должны обращаться к полям, так как в общем случае вызываются без создания объекта, а следвательно в момент вызова полей просто не существует

Цитата

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


Виртовский Паскаль такой же не торт, как и ранний Ц++, конкретные реализации от Borland и прочих добавили то, что могло быть нафиг не нужно учебному языку для программ в 200 строк максимум, но жизненно необходимо для работы. Просто Вирту было до фени на уже существующий код, и он мог себе позволить все выкинуть и переделать, причем я бы не сказал, что только в лучшую сторону. Оберон 2, если отбросить еретическую регистрозависимость язык вроде бы православный, но вот только разработка под него IDE потребует добавления 100500 фич без которых она будет просто уныла. По этому поводу есть мысля высказаться в паскалевском разделе. Сейчас попробую написать.


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


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

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



Цитата(Akella @  8.4.2013,  20:48 Найти цитируемый пост)
Вроде давали ссылки на библиотеки уже не раз.
А сервер... однозначно, у кого-нить внутри-корпоративный и есть. Я на форумах не раз встречал темы, вопросы по внутри-корпоративным веб-серверам. Только под виндами крутятся, как я понял.

Цитата(Zloxa @  8.4.2013,  18:36 Найти цитируемый пост)
На делфе можно написать веб сервер так же как на жаве можно написать десктоп приложение. Не просто, не быстро, но можно. Если особо долго помучатся, он, возможно, будет даже сравним с реализациями на других платформах.

Ну я же писал:
Цитата(LSD @  8.4.2013,  15:13 Найти цитируемый пост)
Дельфисты не понимают или сознательно игнорируют одну весчь: недостаточно чтобы ЯП что-то там поддерживал и/или имел библиотеку для того чтобы делать XXX. Если библиотека используется исключительно для парочки демо приложений, у нее нет обширного комьюнити, в сети по ней мало информации - тьюториалы, ворэраунды для багов и мануалы как реализовать нетривиальный вещи. Без всего это, это библиотека просто технодемо, в прод с таким выходить страшно.



Цитата(Beltar @  8.4.2013,  19:18 Найти цитируемый пост)
А почему ты считаешь, что, мне например, есть какое-то дело до веб-сервера, или этой вашей гибридины плюсов с P-кодом 70-ых годов?

Я не к тебе лично обращал свой пост, если тебе нет дела - не комментируй.



Цитата(Akella @  8.4.2013,  20:53 Найти цитируемый пост)
зачем, если есть настроечные типа файлы
к тому же ни разу не встречал вопрос по дельфи по такому сложному парсингу параметров запуска с командной строки
может потому что оно нафиг не нужно или ну ооочень уж редко нужно

Я написал, что Дельфи предназначены исключительно для разработки гуй приложений под винду. Ты заявил, что еще и консольные можно. Я заявляю что даже такую базовую (для консольного приложения) вещь как парсинг командной строки придется писать самому, никаких удобных библиотек для этого нет.


Цитата(Beltar @  9.4.2013,  13:13 Найти цитируемый пост)
в XE2 вон встроеные шкуры появились

Киллер фича smile


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Zloxa
Дата 10.4.2013, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


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

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



Цитата(Beltar @  10.4.2013,  15:59 Найти цитируемый пост)
Для меня на первый взгляд это скорее реализация банальных процедурных типов, которые были и в BP 7.1.

От банальных процедурных типов классовые функции отличает то, что они содержат две ссыкли - на экземпляр класса и на сам метод. Если мне не изменяет память, конечно. Это инновация object pascal.

Цитата(Beltar @  10.4.2013,  15:59 Найти цитируемый пост)
Хотя тут не совсем понятно, вот пишу я, например, обработчик onCreate форму и обращаюсь к какому-нибудь ее свойству. И где здесь классовый метод?

Свойство onCreate  формы имеет тип классовой функции.


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Beltar
Дата 10.4.2013, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата

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


Я заявляю, что в языке C++ нет никаких библиотек для работы с 3D-графикой и звуком, поэтому он малопригоден для разработки игр.




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


Чо?
****


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

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



Beltar, блин я понял почему ты не понимаешь когда я излагаю очевидные для меня вещи - я их скорее всего не правильно называю, сбивая тебя с понтолыку. Я классовыми функциями обзываю ссылки на методы, а ты - статические методы. 

Возможно я попутал название. Не помню точно как называются эти процедурные типы of object. Но имел в виду я именно их.

В конце прошлого века адепты ООПэ не любили делфи в первую очередь за них.

Это сообщение отредактировал(а) Zloxa - 10.4.2013, 15:56


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Beltar
Дата 10.4.2013, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



А что криминального в том, что объект имеет только некий интерфейс (в общем смысле, а не interface), позволяющий делегировать кому-то работу и обойтись без наследования, причем делегата можно подцепить динамически?


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


Чо?
****


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

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



Цитата(Beltar @  10.4.2013,  16:57 Найти цитируемый пост)
А что криминального

Судя по тому, что этой критики уже давно не слышно - ничего  smile 


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

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

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


 




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


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

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