![]() |
Модераторы: LSD Страницы: (144) « Первая ... 78 79 [80] 81 82 ... Последняя »
( Перейти к первому непрочитанному сообщению ) |
![]() ![]() ![]() |
|
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 1 Всего: 329 |
Beltar, спокойней
![]() |
|||
|
||||
Beltar |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 627 Регистрация: 11.1.2006 Репутация: 2 Всего: 7 |
Я тебе открою один секрет, у меня в программах, если они с БД работают, обычно, много экземпляров TADOQuery и почти всегда есть один экземпляр с именем Q, который используется для разного рода запросов, когда ни о каком параллелизме речи не идет, и после выполнения запроса и считывания с него данных, если он есть, можно закрывать его. Потому что не так сложно запомнить, что есть конкретно один вот этот экземпляр и его можно юзать везде, где не предполагается асинхронного выполнения и хранения данных после выполнения. Что касается области видимости, то сервисные классы, как правило, видны глобально.
Допустим, для того, чтобы подготовить к работе мой Q мне надо записать в него новую строку запроса. Для класса чтения файлов задать имя файла. Если это какой-нибудь класс для работы с сетью, то там м/б тьма настроек. Я как бы не совсем понимаю в чем проблема? В том, что мне придется перед использованием настроить сервисный класс? Ну наверное. При этом мне глубоко пофигу на то, какие там были предыдущие значения, я могу их переписывать не беспокоясь, что чего-то сломаю. А если я создам его с нуля, то мне придется настраивать его еще дольше, например, компонент для выполнения запросов потребует установки подключения к классу обеспечивающему соединение с базой, хотя этот класс явно общий для всех, т. е работы только прибавится. В общем ничего кроме надуманных претензий вы выдать не в состоянии.
Стоп-стоп-стоп. Речь была о том, что в Delphi нет создания объектов в стеке. Я ясно показал, что в качестве автопомирающих классов в Паскале с момента его возникновения были структуры, сервисные классы же, как правило, существуют не локально. Т. е. проблема существует только в воспаленных мозгах фанатов плюсов, которые про структуры не знают, т. к. разницы между просто данными (структура) и обработчиком данных (иногда с хранением) не понимают. А не понимают потому что в плюсах на структуру забили. Что касается реюзебельности классов, то класс по определению предполагает реюзебельность. Так что спросить могу только, где такую траву берешь? Уже ведь не только ход мысли потерял, но и такой бред несешь, что даже читать его стыдно. -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. ![]() Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере. |
||||||
|
|||||||
Felix12321 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 8.9.2012 Репутация: -1 Всего: -1 |
||||
|
||||
Beltar |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 627 Регистрация: 11.1.2006 Репутация: 2 Всего: 7 |
Тогда дай определение похороненного продукта. В конце концов программист должен быть точен во всем.
Да и продажи у Delphi 2006 и 2007 по сравнению с пред версиями были больше, XE2 тоже заметно скакнула. -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. ![]() Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере. |
|||
|
||||
Bother |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 0 Регистрация: 13.4.2013 Репутация: нет Всего: нет |
Это наглядная демонстрация того, как сложно приходится дельфистам, или что? Настраиваешь ты только те свойства, которые нужны. И расчитываешь что остальные свойства будут настроены по умолчанию. Здесь же придётся вручную устанавливать каждое свойство.
Тебе уже миллион раз сказали - объекты постоянно создаются в локальной области, и постоянно агрегируются. С++ запросто может распологать любой объект на стеке/в непрерывной области памяти и автоматически управлять временем его жизни. Дельфи такое НЕ МОЖЕТ. Для такого нужно полностью переписать объект под другую объектную систему(записи; вот здесь и пропадает реюзабельность). Т.е я могу сделать класс, напихать в нём поля-объекты, и не заботиться об их жизни. Использовать объекты в локальной области видимости функций. То, что происходит сплошь и рядом. И всё это без дельфового гемороя с переписыванием под структуры. И да - может напишешь уже на дельфях то, что я просил повторить? Или не можешь? |
||||
|
|||||
Beltar |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 627 Регистрация: 11.1.2006 Репутация: 2 Всего: 7 |
Еще раз. В локальной области создаются только данные т. е. структуры. Сервисные классы, как правило, создаются не локально. Попытка создавать их в стеке абсурдна, т. к. их просто нет смысла пересоздавать. Если такая простая вещь до тебя не доходит, то говорить с тобой о языках бессмысленно, т. к. ты не понимаешь, как ими пользоваться.
Как раз при твоем подходе все создавать в стеке и при каждом вызове пересоздавать, придется все настраивать с нуля.
Delphi не предназначена для написания бреда. Впрочем на функциональном языке ты дельфовым синтаксисом тоже ничего не напишешь, так что в очередной раз истерика, что дескать в Delphi чего-то там нельзя сделать, когда в Delphi делать это и не нужно. Так напишет плюсник, пишу ес-но на Паскале, но не важно:
А так нормальный программист:
А ситуация вполне себе типичная. -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. ![]() Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере. |
||||||||
|
|||||||||
Bother |
|
||||||
![]() Новичок Профиль Группа: Участник Сообщений: 0 Регистрация: 13.4.2013 Репутация: нет Всего: нет |
Чушь. Создаются и функции и данные и объекты.
где ты там бред то увидел? С уверенностью в 99% могу сказать что в дельфи это запросто можно написать, только вручную контролируя время жизни. Собственно, о том и речь. Другой вопрос то что ты это написать не можешь(на деле просто выпендриваешься).
без сборщика мусора для дельфи это не нужно а необходимо. "плюсник" напишет так:
Это сообщение отредактировал(а) Bother - 28.4.2013, 17:50 |
||||||
|
|||||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 1 Всего: 329 |
До сих пор народ использует D7, D2007. И может даже D5, но очень редко. Для их задач и программ хватает с головой и даже больше. ![]() И программы работают практически на любой версии винды, и даже на win95/98, включая новые версии. Тут в чем ещё вопрос. Если в шарпе, жабе и др. ЯП десятки новых технологий и фич, то это не означает, что их НУЖНО всенепременно и срочно использовать. Ну да, согласен, M$ может себе позволить нанять 100500 китайских и индусских ###кодеров. Поэтому там напридумано мульон технологий. Потому что написание средств разработки - это не основной вид дохода. А абракадабра не может позволить себе нанять 100500 индусских ###кодеров, поэтому нанимает 1050 российских ###кодеров ![]() И M$ неявно заставляет вас всеми этими мега-супер-бупер-технологиями пользоваться, заставляя покупать всё более мощные ПК пользователям и разработчикам. Да, M$ диктует условия. И разработчикам, и дизайнерам, и пользователям. Ничего не поделаешь. Как только M$ выпустила новый ленточный интерфейс, сразу куча разработчиков начали встраивать его в свои приложения. Нужно оно там или нет, пофиг. Как только M$ выпустила новый метро-интерфейс, сразу начали и разработчики пытаться и тужиться догнать M$. Разработчики используют дельфи, создают новые и поддерживают существующие компоненты даже для дельфи 7. Сколько вы уже хороните дельфи? Ну отстаёт этот ЯП от других ЯП. Ну что поделаешь. Delphi живее всех живых! ![]() |
|||
|
||||
Felix12321 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 8.9.2012 Репутация: -1 Всего: -1 |
А ты себя считаешь лучше среднего программера сM$? Подозреваю что и со самым слабым тебе было бы трудно поспорить ![]()
Да, сейчас очень перспективно разрабатывать приложения для win95/98 ![]() И заметь, M$ тут не единственный игрок. Вот честно, не понимаю, что нужно курить и в каком сферическом вакууме надо жить чтобы так думать. Это сообщение отредактировал(а) Felix12321 - 28.4.2013, 19:35 |
||||
|
|||||
k0rvin |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 442 Регистрация: 24.1.2010 Репутация: 1 Всего: 5 |
Нет, нормальный программист напишет например так:
Добавлено через 58 секунд
Спрос рождает предложение так-то. Добавлено через 6 минут и 18 секунд Писать реализацию разбивки было необязательно. =) И otherMethod немного другой. Что-то типа того:
Добавлено через 8 минут и 48 секунд Или если, например list<string> предполагает конструктор с параметром разделителя, то еще проще:
-------------------- “Object-oriented design is the roman numerals of computing.” — Rob Pike All software sucks |
||||||||
|
|||||||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 1 Всего: 329 |
||||
|
||||
Athari |
|
||||||||||||||
![]() Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 27.6.2007 Где: Казань, Россия Репутация: 1 Всего: 1 |
@Akella
Ты дельфи нормально знаешь? А то с Белтаром спор выходит не очень продуктивным -- он даже то, что есть в дельфи, не очень-то использует. У тебя, как активного отвечателя в разделе дельфи, наверное, будет более интересный ответ на моё первое сообщение в топике, чем "это не нужно"? (У меня ещё теплится надежда, что не все дельфисты такие.)
Ой, хотя я уже догадываюсь об ответе... @Beltar
Ну решил кто-то на некрофилах заработать -- отчего бы и нет. Вон, на игровую индустрию глянь -- одни выжимают соки из последних видюх, у других графика 30-летней давности, времён первых игровых автоматов. (Впрочем, в отличие от дельфи, удовлетворятели игровых некрофилов хотя бы находят какие-то уникальные фичи.)
Что им объяснять? Они и так знают.
Ты нормальную статью дай. Или код. Заставлять искать код в замыленном длиннющем видео какого-то левого семинара -- это проявление неуважения к собеседникам.
Ты уже слился со своей реализацией пула. Для почтенной холиварящей публики поясняю: выше в топике Белтар предложил создать пул в виде списка записей (чтобы память выделялась одним куском); избавиться от неправильного и разъедающего мозги ООП, слив все классы в один-единственный (как иначе пул-то использовать); отдельно хранить промежуточные "указатели", чтобы объекты в пуле можно было упаковывать, и ссылки при этом выживали. Так вот, даже в этой неимоверно извращённой архитектуре, где объекты можно передавать только в обёртках, где доступ ко всем переменным идёт через wrapper.Wrapped.FooProperty, где снижается эффективность кэша процессора из-за лишней бегони по ссылкам, и всё это только ради снижения фрагментации (снижения, а не избавления!) -- невозможно решить банальную проблему: third-party библиотеки не принимают "обёрточные указатели", они принимают только сами объекты. Я уж не говорю про многопоточные приложения, где обязательно возникнет race condition. Когда я упомянул эту проблему, был послан в пешее эротическое путешествие, что расценил как неподдерживание белтаровским фантастическим пулом такого случая. Так что, Белтар, прежде чем брызгать слюной, реши проблемы (пусть даже в рамках твоей укуренной без-ООПной архитектуры, за которую тебя на месте четвертует любой, кому ты скажешь этим пользоваться).
Тебя не учили, что синглтоны (что уж говорить о глобальных переменных) -- это часто анти-паттерн? Учи матчасть: http://en.wikipedia.org/wiki/Global_variable http://en.wikipedia.org/wiki/Singleton_pattern#Drawbacks Что это не проявляется в твоих программах -- это скорее показатель их примитивности (в плане логики, в плане объёма предметной области). Ты уже высказался в ключе, что ООП не нужен (а также скриптовые языки, юнит-тесты, системы контроля версий, что там ещё). Сейчас ты уже взялся за разрушение азов процедурного программирования: вовсю пропагандируешь использование глобальных переменных, что уже на протяжении десятилетий считается образцом экскрементокодерства. Что дальше? Будешь доказывать, что названия классов, методов и переменных лучше сокращать до одной буквы, чтобы быстрее писать? (Ах, о чём я. Ты же уже сократил. Да и мне кидал куски реального кода с однобуквенными переменными.) Я уже не знаю, как можно сильнее надругаться над программированием. В таких случаях принято говорить: "Вон из профессии!". |
||||||||||||||
|
|||||||||||||||
serger |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 19.6.2007 Где: Ижевск Репутация: 0 Всего: 5 |
Последняя версия с трудом поддержку XP сохранили. -------------------- упс! |
|||
|
||||
Zloxa |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 4 Всего: 161 |
Все. ![]() Кому чего-то не хватало в делфе, оттуда уже давно как ушли. Чьи нужды с головой покрывает делфи - не видят крайней нужды в тех сопелках, о которых вы толкуете. ![]() В действтельности тезис о том, что спрос рождает предложение - имеет место быть, но это весьма частный случай в современных рыночных реалиях. Мой любимый пример - жвачки. Если убрать жвачки из ларьков и супермаркетов - как вы думаете, возникнет ли ажиотажный спрос на них? Станут ли их искать в интернетах, станут ли просить друзей, родственников найти жвачки в своем регионе и выслать их бандеролью? Если пройдет слушок, что случился неурожай жвачек, взлетят ли на них цены? Скажем, как в прошлом году на гречку? Можно посмотреть на индустрию смартфонов. Современный смартфон фичаст до нельзя. Но, вы не поверите, многим эти фичи не нужны. Многим телефон нужен для того, что бы звонить. Некоторые находят приятными доп. возможности, которые открывает смартфон, но находят их лишь забавными - не более. Я, к примеру, уже забыл когда в последний раз пользовался ГПС навигацией. ГПРС с телефона у меня используется лишь для синхронизации адресной книги, встроенная камера мной испльзуется лишь чтобы фоткать ценники, ее пикселястость для меня избыточна, в телфонные игры игрался лишь непосредственно после покупки телефона. Казалось бы - нафига мне смарт, мне хватило бы сейчас моего старенького сименса... но ходить, правда, с ним как-то стремно, стыдно что-ли, не статусно. Полагаю такая беда у многих. И многие покупают смарты не за фичи, а за статус, пользуют же их - как обычные телефоны. Мне кажется, с доднетом та же фигня. Пользователь 5го айфона никак не убедит пользователя сименс А35, что айфон лучше, если тому от телефона нужно чтобы звонил, в кармене удобно лежал, и зарядки на долго хватало. Или же, скажем, посмотреть в сторону планшентов, тут вобще беда. Я общался со многими, кто высказывал мысль, мол интересуется приобретением планшета, но хоть убей не может придумать, зачем бы он мог ему понадобиться. И потом зачастую такие люди таки покупают эти планшеты, и таки убеждаются, что они им в дупло не впились. Кто тут кого родил - спрос предложение или же предложение - спрос? ![]() Это сообщение отредактировал(а) Zloxa - 29.4.2013, 09:27 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
Felix12321 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 8.9.2012 Репутация: -1 Всего: -1 |
Могу предположить что мало путешествуете. Мне например неудобно с собой таскать фотик, я уже не говорю про большие фотоаппараты, а чтобы снять нужные кадры айфона вполне достаточно. То же и ГПС. Часто очень сильно выручала. Да и другие приложения являются очень полезными. Ну если только дом - работа, где всегда под рукой есть комп, то да Добавлено через 3 минуты и 58 секунд Насчёт планшетов можно долго спорить. У многих уже давно стоит вопрос зачем компьютер, когда есть планшет. Но я вас понимаю, некоторым они и в пень не вдулись, а тем не менее покупают. На это могу сказать что прогресс идиотам нужно впаривать насильственно, так что ничего плохого в этом не вижу, мир станет лучше ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила ведения Религиозных войн | |
|
1. Уважайте собеседника 2. Собеседник != враг 3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez" С уважением, Smartov. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Религиозные войны | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |