Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Delphi <=> Visual Studio .NET (куда податься ?)

Автор: 3D_Dragon
Дата сообщения: 19.05.2003 22:47
Всё чаще в сети встречаю возгласы восхищения людей, которые попробовали новый Visual Studio .NET 2003
Реплики встречаются не от диллетантов, а от людей, которые действительно попробовали поработать в этой среде.

Сам я пишу на Delphi 7 и понятно, что текущие проекты под .Net переписывать пока не собираюсь.
Но как быть дальше ?
Переходить или не переходить на Visual Studio ?

Установил я себе Visual Studio, посмотрел, поклацал и понял, что легкого перехода не будет
Нужно ломать устоявшуюся в сознании логику, синтаксис и приемы написания кода в Delphi, а также отвыкать от привичного (утрированно) "набросал компонентов на форму и прога готова".

Большинство держит такую позицию - новые проекты буду писАть только в Visual Studio.
Интересно мнение других программистов.

Прошу шашками не махать и не обсирАть друг друга и программные продукты !

Для меня, например, этот вопрос достаточно серьезен и мне совершенно не хотелось бы через полгода-год времени прийти к мысли, что выбран ложный путь ...
Автор: AndrewWork
Дата сообщения: 19.05.2003 23:14
Честно говоря я не понимаю почему ты решил что тут всё совершенно отстранённое от Delphi. Я начинал с них, и теперь попробовав VS дискомфорта не испытал. А вообще - то, если Anders Hejlsberg переметнулся на VS (конкретно C#), и если учесть что у мелкософта нет привычки бросать свои разработки на полпути, то ...
Автор: 3D_Dragon
Дата сообщения: 19.05.2003 23:22
AndrewWork

Цитата:
Я начинал с них, и теперь попробовав VS дискомфорта не испытал

Это как ?
Я столкнулся с трудностями сразу
Как создать тот же Grid (в D7 - EhLib 3.0), подлючится к базе (я с FireBird работаю и в D7 - FibPlus) , заархивировать файл (D7 - ZipForge), отправить его на удаленный сервак (D7 - Indy) ...

Да куча задач, которые в Delphi решаются "одним кликом", а в VS я честно скажу растерялся
Автор: AndrewWork
Дата сообщения: 19.05.2003 23:27
Вот тут ты прав ... распустились понимаешь, всем охота создавать хорошие программы одной мышкой. Аннебывает так. Чего хотим, к чему стремимся - штамповать NotePadы или же создавать что-то более серьёзное ?
Автор: Mamay
Дата сообщения: 19.05.2003 23:42
Хороший программер всегда ценится - внезависимости от того на чем он пишет - важен не язык а результат.
Автор: 3D_Dragon
Дата сообщения: 19.05.2003 23:43
AndrewWork

Цитата:
всем охота создавать хорошие программы одной мышкой

Вот и получается, что нужно ПЕРЕХОДИТЬ, переучиваться так сказать.
И возникает вопрос: а нужно ли, есть ли в этом смысл ?
Какие я получу преимущества по сравнению с Delhpi при полном переходе на VS ?



Добавлено
Mamay
Привет !

Цитата:
Хороший программер всегда ценится - внезависимости от того на чем он пишет - важен не язык а результат.


Это понятно, но копать лопатой котлован, пусть красиво и фигурно, при наличии экскаватора - есть неправильно

Программер - это что ?
Человек + мозги + опыт.
Любой Мастер использует в своей работе инструменты.
Если инструмент корявый, то и самый-пресамый мастер криво работу выполнит ...
Автор: Mickey_from_nsk
Дата сообщения: 20.05.2003 06:48
Тут еще такой вопрос: собираешься ли ты переходить от паскаля к C++ или чему нибудь более заточенному под .NET, напр. C#. Если нет - ясно, что Delphi - это твое. Если "почему бы и нет" - тогда возьми книжку умную по .NET, например Рихтера, почитай взвесь. Там много хороших идей, но много и конкретно корявого. В общем .NET - это совсем не Delphi (IMHO).

Насчет строительства интерфейсов - примерно одинаково, в VS немного - совсем чуть-чуть - геморройнее, работа с БД - see later.

Насет табличек - подход такой, что сначала прочитай про ADO .NET, а потом смело используй DataGrid. Его мона использовать и без подключения к БД. И вообще идея ADO .NET - супер.

Ну и последний камушек - я его уже где-то здесь приводил, Microsoft собирается строить все свои ОС на технологии .NET.
Автор: Pupsik
Дата сообщения: 20.05.2003 08:51
Так что-то где-то проскакивало: вроде как Borland лицензировал .NET
и собирается тоже поддерживать.
Я не думаю, что они вот так просто бросят Delphi...
Надо просто посмотреть на borland.com, что они пишут про .NET
Автор: Duke Shadow
Дата сообщения: 20.05.2003 08:52
3D_Dragon
Если тебе нужна поддержка .NET, то немного подожди, в Дельфи она будет - 100%. В крайнем случае язык, как обычно, подправят для поддержки фич .NET.

Цитата:
Нужно ломать устоявшуюся в сознании логику, синтаксис и приемы написания кода в Delphi

Это давно пора менять. Лично меня от синтаксиса Дельфи плющит просто не по-детски. А когда начинаешь задумываться о тех механизмах и идеях, которые лежат в основе Дельфи и VCL, то идеологов Borland надо прибить самым извращённым способом. Если теперь и в C# всё будет также (главный идеолог-то в МС сбежал) то вообще стоит в unix сбегать.

Цитата:
а также отвыкать от привичного (утрированно) "набросал компонентов на форму и прога готова"

А вот это уже сложнее. К хорошему привыкаешь быстро. Хотя мешать интерфейс и код по правилам есть бааальшой косяк.
Автор: Guderian
Дата сообщения: 20.05.2003 10:04
3D_Dragon
Не знаю, где собака порылась, но у меня переход прошел без всяких отторжений, видна рука Хейлсберга. Все таки 7лет на дельфи, боялся что будет хуже. Учитывая, что шестую студию на дух не переносил.


Цитата:
Я столкнулся с трудностями сразу
Как создать тот же Grid (в D7 - EhLib 3.0), подлючится к базе (я с FireBird работаю и в D7 - FibPlus) , заархивировать файл (D7 - ZipForge), отправить его на удаленный сервак (D7 - Indy) ...
Да куча задач, которые в Delphi решаются "одним кликом", а в VS я честно скажу растерялся

Просто ты еще не так хорошо знаком с рынком компонент для .net. Grid - можно стандартный, можно от наверняка знакомого тебе DevExpress - XtraGrid (как всегда, еще вагон и тележка подобного хлама), кидаешь FbConnection от проекта Mono, берешь sax.net compression или xceed zip (тоже наверняка тебе знакомый) или zip от ipworks, от них же можно у тулзы в альтернативу Indy, короче, кругом всего этого хлама завались, это все только примеры.


Цитата:
Это понятно, но копать лопатой котлован, пусть красиво и фигурно, при наличии экскаватора - есть неправильно. Любой Мастер использует в своей работе инструменты.
Если инструмент корявый, то и самый-пресамый мастер криво работу выполнит ...

Сравнение хорошее, но не совсем верное. По одной простой причине. Мастер не будет осушать пипеткой мировой океан. Уж он-то как раз прежде всего озадачиться подбором инструментов. Поэтому апологеты каких-либо отдельно взятых идеологий/методологий/технологий на этом этапе и теряют. Если, например, мне надо быстренько наваять софтинку в которой всего пара мастер-детэйл табличек, которые надо редактировать, а потом вывести пару-тройку отчетов, то на Delphi это у меня займет, грубо говоря, 10 минут, на васике 15, на цпп больше часа. Если же мне надо написать простенький isapi фильтр, то на цпп (точнее на vs6, например), я сделаю это за 5 минут, на дельфи за 10, на васике - минимум пол-часа. Далее элементарная арифметика, если кому-то необходимо решить обе эти задачи в комплексе, то чистый дельфист проиграет, чистый васик и чистый цпп также. Выиграет мастер, который подбирает интсрументы соразмерно задаче.

Duke Shadow

Цитата:
А когда начинаешь задумываться о тех механизмах и идеях, которые лежат в основе Дельфи и VCL, то идеологов Borland надо прибить самым извращённым способом.

Мсье компетентен в этом вопросе? Или как всегда, пока одни пишут, другие хают.
Прочитай лучше еще раз, что Mamay написал, потом перечитай еще десять раз, повесь на стенку и читай, пока не поймешь.
Автор: Sun_Fire
Дата сообщения: 20.05.2003 15:03
Имею средний опыт программирования на Delphi. Начал изучать .NET потихоньку.
Личное впечатление: Delphi действительно легкое и быстрое средство разработки для большинства задач. Причем все, минимум того что нужно для быстрой разработки уже есть в продукте. Сторонними компонентами я пользуюсь, но нечасто. Однако, Delphi быстр ровно настолько, насколько порой коряв и непредсказуем бывает скомпилированный им код.
Почему я начал изучать .NET? Глубоко не вдаваясь в подробности, как и многие, я считаю, что за этой технологией будущее. По крайней мере в мире Microsoft.
Если же рассматривать всё более детально, то можно довести эту тему до состояния дилемы Windows or Unix.
Автор: IvHarbor
Дата сообщения: 20.05.2003 17:52
Сегодня был на презентации Studio .NET 2003. Там доходчиво пояснили, что MS ставит на .NET. Но не стоит делать проблему выбора из выбора языка программирования для .NET. Привели пример, сейчас уже создано более 20 компиляторов с различных языков для .NET. Так как платформа одна, то все проги, написанные на разных языках, работают вместе без проблем. Выгоднее писать на том языке, который тебе ближе. Ведь сама MS поставляет для .NET 4 компилятора с различных языков.
Привели еще такой пример: в квартире сделали евроремонт и перенесли включатель в другое место. Но по прошествии времени, на месте старого включателя появилось гразное пятно. Если переключаться на другой язык, то ты все равно будешь делать ошибки (связанные с различиями), что не есть хорошо.
Автор: mymuss
Дата сообщения: 20.05.2003 19:16

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

Я тут в соседнем треде сделал небольшой эксперимент:
http://forum.ru-board.com/topic.cgi?forum=33&topic=1509
Учитывая, что Delphi - инструмент общего назначения, который позиционируется как конкурент VS...
Автор: Kernel Panic
Дата сообщения: 21.05.2003 09:17
Хотел бы согласиться с Guderian, если команда разработчиков работает только на С или только на Delphi - они проиграют много по времени. В любом крупном проекте, в команде разработчиков обязательно нужно иметь и наСИльников и дельфистов для достижения оптимального результата по времени.

Насчёт мнения - "накидал компонентов и готово", хочу заметить, что Delphi является RAD (Rapid Application Development) системой. Средой предназначеной для быстрой разработки программ, имеющую мощнейший компонентный интерфейс. Многие утрируют работу с ним, как обычное накидывание компонентов и мышкотыкание - это полный бред. Действительно, накачал компонентов, закинул всё на форму и готово. Но на самом деле серьёзные компоненты стоят денег, дома можно програмить и используя их крякнутые версии, но когда вы начинаете работать в какой-либо солидной фирме, нельзя использовать тыреные комерческие компоненты, порой нельзя и покупать компоненты, если к ним не идёт мощная техническая поддержка. Поэтому многое приходится делать ручками. Вот тут то и познаётся, программер ты или мышкотыкало.
Автор: rew
Дата сообщения: 21.05.2003 13:02
имха, если спрос на дельф в вашей месности не падает, то лучше быть спецом в одной области, а не прыгать с цветка на цветок без особой надобности. гарантом, что дельфи не вымрет как мамонты, может быть то что борланд вложил много денег в эту технологию и так просто ее не бросит.
Автор: Duke Shadow
Дата сообщения: 21.05.2003 14:20
Guderian

Цитата:
Мсье компетентен в этом вопросе?

Ну зачем же так? Конечно как всё это реализовано далеко не известно(проприетарный софт всё же), но... Попробуй почитать руководство по Object Pascal (или Delphi, хрен разберёшь уже), но не просто прочитать, а выстроить общую картину, а потом просто проанализировать всё это. И вот тут уже в голову приходят очень интересные мысли. На крики "А в Дельфи крутая система динамической идентификации типов!!!" приходит простой ответ: "Простите, но это ведь виртуальными методами в рамках гомоморфной иерархии классов". А когда прочитаешь про идеи событий и посмотришь на тот, как эта идея реализуется public-методами классов, для кнопочек и прочих стандартных компонентов, то уже и не знаешь плакать или смеяться. Не согласен?

Цитата:
Или как всегда, пока одни пишут, другие хают.

Да нет, не как всегда, вот сейчас пишу и в форум и в Билдер.

Цитата:
Прочитай лучше еще раз, что Mamay написал, потом перечитай еще десять раз, повесь на стенку и читай, пока не поймешь

И что здесь понимать? И так понятно, что пытаться забивать гвозди микроскопом не есть правильный путь.
Автор: MaximSG
Дата сообщения: 21.05.2003 19:42
Хлопцы!
Если вы крутые программеры, то Вам должно быть все равно на чем писать,
и выбирать среду разработки более удобную для быстрого и оптимального решения поставленной задачи!
Мне все равно на чем писать Delphi, Builder, VB. И не проблема чему научиться!
Автор: mymuss
Дата сообщения: 21.05.2003 22:21

Цитата:
Если вы крутые программеры, то Вам должно быть все равно на чем писать,

В общем-то да. Только вот вопрос возникает: а зачем лишнее драгоценное тратить время на изучение того что не имеет спроса? (Аргументыы в соседнем треде, ссылку смотри 2-мя постами выше).
Автор: Mickey_from_nsk
Дата сообщения: 22.05.2003 06:34
MaximSG
Прошу прощения, но IMHO и Delphi и VS .NET достаточно навороченные системы. Я так думаю, если писать на .NET, надо его ОЧЕНЬ глубоко изучать, аналогично - про Delphi. А просто так - пользоваться ими как удобными редакторами и менеджерами проектов, а писать все под LINUX - не есть нормально.
Короче, если ты считаешь себя "крутым программером", надо добавлять - на чем именно ты крут (или по крайней мере - на чем ты круче).

Цитата:
Мне все равно на чем писать Delphi, Builder, VB

Интересное замечание - нет приставки .NET, а собсно о ней данный тред.

Цитата:
И не проблема чему научиться!

Тоже интересно - проблема качественно научиться. По собственному опыту - детально освоить .NET - не совсем так просто как кажется. Сильно уж это заковыристая штука не говоря уж о некоторых технологиях, входящих в него типа ADO .NET, Web services etc.

Сугубо IMHO, но ставить вопрос таким образом как ты - нельзя.
Автор: Guderian
Дата сообщения: 22.05.2003 09:27
Duke Shadow

Цитата:
Ну зачем же так?

Сорьки, вспылил маленько Просто возникает аллергическая реакция, когда кто-то что-то хает не имея за спиной основательного опыта работы в этом чем-то. Утомляет, когда идет беспрерывная война между кланами, вместо того, чтобы делиться опытом.


Цитата:
Конечно как всё это реализовано далеко не известно

Что именно тебе неизвестно? Тебе нужны исходные тексты dcc32.exe? vcl открыт полностью (за исключением некоторых дизайнерских извратов), изучай в свое удовольствие.


Цитата:
Попробуй почитать руководство по Object Pasca

Неее, это плохое начало. Узнаю студенческий порыв, сам этим в свое время аппелировал. Не буду я его по десятому разу читать Для меня единственным принципом выбора является, во-первых, политика заказчика (есть такие, которые ориентированы, например, только на microsoft или только на sun). Ну а во-вторых, при отсутствии таковой политики - календарный план. Если ты людям, которые тебя кормят, будешь объяснять, что задержки в его исполнении вызваны твоим несогласием с системой идентификации типов, то... Потом, все же теперь знают, как не надо делать, но никто не знает, как надо. Например, я сейчас заявлю, что единственный нормальный язык - clos, поскольку только там средствами языка я могу реализовать мультиметоды как гомоморфные иерархии взаимодействующие через функцию, виртуальную к произвольному числу полиморфных параметров. Только практического проку от этого мало. Обидно иногда. Оно может быть и хотелось погрузиться в академические изыскания, но ими семью не накормишь.


Цитата:
А когда прочитаешь про идеи событий и посмотришь на тот, как эта идея реализуется public-методами классов, для кнопочек и прочих стандартных компонентов, то уже и не знаешь плакать или смеяться. Не согласен?

Совершенно не согласен. Или может ты знаешь, как должно быть?
Автор: Duke Shadow
Дата сообщения: 22.05.2003 17:15
Guderian

Цитата:
Утомляет, когда идет беспрерывная война между кланами, вместо того, чтобы делиться опытом.

Да это не то что утомляет, это вообще ужас какой-то.

Цитата:
vcl открыт полностью (за исключением некоторых дизайнерских извратов), изучай в свое удовольствие.

Дык vcl не есть основа. vcl - библиотека и построена она по правилам языка. Мне бы хотелось получить, например, исходники того, как устроена эта самая идентификация типов. Потому что я больше чем уверен, что виртуальными методами в рамках гомоморфной иерархии, а это каждый второкурсник, изучавший С++, наваяет за неделю.

Цитата:
Например, я сейчас заявлю, что единственный нормальный язык - clos, поскольку только там средствами языка я могу реализовать мультиметоды как гомоморфные иерархии взаимодействующие через функцию, виртуальную к произвольному числу полиморфных параметров.

А что вполне возможно. Только если кроме этого он ничего не поддерживает, то стоит ли? Именно за ограничения мне не нравятся C# и прочие чисто объектно-ориентированные языки, где всё должно быть упаковано в классы.

А про бизнес спорить глупо. Если тебе приказали писать на Cobol, то и придётся писать на Cobol. Есть конечно ситуации, когда руководство не понимает, что делает неправильный выбор инструмента и можно его переубедить, но ты и сам знаешь что ориентироваться нужно на месте. А так: нагрузили - неси. Плохо несешь - наймем другого.


Цитата:
Совершенно не согласен. Или может ты знаешь, как должно быть?

Хех... Знаю . Дело в том, что события, по своей сути, являются, ну или должны являться, механизмом абстракции. По идее сторона, вызывающая событие, должна знать только для какого объекта и какое событие вызвать, а что там будет делать объект в ответ на это событие - сугубо его личное дело. Поэтому в общедоступные компоненты должно вписывать только имя события, а методу(методам), который реализует это событие, место исключительно в защищенной области класса. В Дельфи событие - это указатель на метод. Пусть так, это не есть плохо, возможно в Дельфи и С++ это единственный путь, с помощью которого можно реализовать механизм, когда в разные моменты времени объект на одно и то же событие реагирует по-разному - просто и красиво перенастроив указатель на другой метод. Но простите, пихать метод(методы), реализующий событие, в public есть изврат, т.к. никто в этом случае не мешает мне начхать на все эти события и вызывать этот метод непосредственно. Что, кстати, и делают большинство программистов на Дельфи/С++ Билдер, даже имеющие немалый стаж работы в разных проектах.


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

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

З.Ы.: Если я говорю, что мне не нравится Дельфи, то это означает только то, что он мне не нравится. Если придёт заказчик и скажет: "Напиши мне на Дельфи то-то и то-то", то напишу. Если Вам нравиться Дельфи - ради Бога, я не собираюсь Вас переубеждать, просто я знаю, что есть и другие пути, не такие кривые и неудобные как Дельфи...
Автор: Guderian
Дата сообщения: 29.05.2003 12:46
Duke Shadow

Цитата:
просто я знаю, что есть и другие пути, не такие кривые и неудобные как Дельфи...

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

зы. что самое интересное, не слышно от дельфистов воплей о кривости ц/цпп. Наверно, потому что свежеиспеченные насильники поливают всех инакомыслящих помоями, а дельфисты в это время втихаря занимаются делом...
Автор: mymuss
Дата сообщения: 29.05.2003 18:03
Guderian

Цитата:
что самое интересное, не слышно от дельфистов воплей о кривости ц/цпп

А нечего им привести в качестве аргументов

Цитата:
дельфисты в это время втихаря занимаются делом

Да, в смысле дебаггинга и поиска глюков у них несравнимо больше работы чем у сишников. Вот, даже времени в форум написать не остается
Автор: GreyGendalf
Дата сообщения: 30.05.2003 06:12
mymuss
каких контраргументов ты желаешь услышать?

ты проводил исследование о том сколько времени проводит за дебаггингом в среднем дельфист и сишник?

можешь сослаться на некий труд, в котором описана кривость дельфи?

Duke Shadow

Цитата:
Но простите, пихать метод(методы), реализующий событие, в public есть изврат, т.к. никто в этом случае не мешает мне начхать на все эти события и вызывать этот метод непосредственно.


просмотрел несколько базовых классов, ни в одном не нашел public метода, реализующего событие; все protected и private.
время искать еще отсутствует, если найдешь, сообщи (только те классы, что реализовали в Борланде)...

а то что можно вызвать метод, так это только удобно.
разве у тебя никогда не было необходимости вызвать событие программно?
это абсолютно нормально и правильно.
а т.к. эти методы protected и private (при правильной реализации класса), то вызывать его можно только из самого класса и его наследников, что также есть - нормально...
Автор: mymuss
Дата сообщения: 30.05.2003 06:21
GreyGendalf

Цитата:
каких контраргументов ты желаешь услышать

А какие ты можешь привести? (Только желательно касательно того чем я владею. gcc, например. Но VC на худой конец тоже покатит).


Цитата:
ты проводил исследование о том сколько времени проводит за дебаггингом в среднем дельфист и сишник

Ага, проводил. На собственной шкуре


Цитата:
можешь сослаться на некий труд, в котором описана кривость дельфи

Да хоть бы на сей форум
Автор: Guderian
Дата сообщения: 30.05.2003 10:10
mymuss

Цитата:
Только желательно касательно того чем я владею. gcc, например. Но VC на худой конец тоже покатит

Аааа, так месье вообще дельфи не владеет. Да здраствует компетенция


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

Устроим дуэль? Использовал бы юнит-тесты, было бо до фени.


Цитата:
Да хоть бы на сей форум

Это когда один флудер другого перекричать пытается, что дельфи отстой, потому что я его не умею, но слышал где-то в курилке от специалиста по клипперу?
Автор: Duke Shadow
Дата сообщения: 30.05.2003 11:33
Guderian

Цитата:
зы. что самое интересное, не слышно от дельфистов воплей о кривости ц/цпп. Наверно, потому что свежеиспеченные насильники поливают всех инакомыслящих помоями, а дельфисты в это время втихаря занимаются делом...

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

Заодно можно начитаться тех самых "академических изысканий" (кои так не милы сердцу) на тему "Как есть круто программить в Обероне". Причем автор с трудом разбираясь в С++ имеет наглость утверждать, что "**p++^=q++=*r---s" (придумана, очевидно, им самим) есть кривая конструкция и ни один язык в мире не должен её поддерживать. Видимо этим "аксакалам" (так они выражаются) от программирования больше нравятся конструкции типа: "Set(Variable1,Sum(4,75))", лишь бы благословление Вирта было.

Цитата:
людей, убежденных в кривизне дельфи переубедить невозможно.

Возможно, но не требуется. Самая ненавидимая мной цитата: "Jedem das seine". Хотелось бы услышать мнение на счёт событий.

GreyGendalf

Цитата:
время искать еще отсутствует, если найдешь, сообщи (только те классы, что реализовали в Борланде)...

File->New Application. Выбираем форму, Object Inspector, закладка Events. Выбираем любую строчку, дабл-клик, наслаждаемся эффектом. Вот так всё печально

Цитата:
а то что можно вызвать метод, так это только удобно.
разве у тебя никогда не было необходимости вызвать событие программно?

Возникало. Только при этом нужно писать Button1.OnClick(Self);, а не Button1Click(Self); Как пишут большинство программистов на Билдере и Дельфи я думаю догадаться несложно.

З.Ы.:

Цитата:
а дельфисты в это время втихаря занимаются делом...

Втихаря обычно плохими делами занимаются. Воровство там, грабёж всякий, etc.
Автор: GreyGendalf
Дата сообщения: 30.05.2003 12:37
Duke Shadow
честно говоря не понял сути проблемы...


Цитата:
Object Inspector, закладка Events. Выбираем любую строчку, дабл-клик, наслаждаемся эффектом. Вот так всё печально

в инспекторе видны Events, не методы, это разные вещи, они (events) объявлены в разделе published.
ну хорошо, а как это реализовано в других RAD-системах (добавление в событие собственного кода)?


Цитата:
Возникало. Только при этом нужно писать Button1.OnClick(Self);, а не Button1Click(Self); Как пишут большинство программистов на Билдере и Дельфи я думаю догадаться несложно

не знаю кто как пишет, я бы написал Button1.Click
и в чем кривость, данного способа?
Автор: Guderian
Дата сообщения: 30.05.2003 16:26
Duke Shadow

Цитата:
Скорее всего просто видеть не хочешь и сознательно скипаешь эти мессаги.

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


Цитата:
Загляни хоть сюда что ли.

Идиотов везде навалом.


Цитата:
Заодно убедись, как Дельфисты работают - придумать настолько кривой форум - это надо постараться.

Тебе найти мешок кривых форумов где обитаю насильники? Ты знаешь, сколько этому форуму лет? Или это объективная оценка?


Цитата:
Хотелось бы услышать мнение на счёт событий.

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


Цитата:
Мне бы хотелось получить, например, исходники того, как устроена эта самая идентификация типов.

Знание принципов Run-Time Type Identification + System.pas = необходимо и достаточно для понимания.


Цитата:
Потому что я больше чем уверен, что виртуальными методами в рамках гомоморфной иерархии, а это каждый второкурсник, изучавший С++, наваяет за неделю.

Это делается за пять минут. При всем этом я не вижу ничего страшного, если бы реализация была таковой. Но если ты в этом так уверен и заладил про гомоморфность иерархии, то загляни в System.pas, найди описание TObject и найди там искомый виртуальный метод(ы), ответственные за идентификацию типов. Найди там instance-of, кастинг. Дельфи-то не знаем


Цитата:
А что вполне возможно. Только если кроме этого он ничего не поддерживает, то стоит ли?

Это дает такой же повод вылезти фанатам clos'a и сказать, что вы все в помойке, со своими дельфями и сями.


Цитата:
Именно за ограничения мне не нравятся C# и прочие чисто объектно-ориентированные языки, где всё должно быть упаковано в классы.

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


Цитата:
Дело в том, что события, по своей сути, являются, ну или должны являться, механизмом абстракции.

События = факты, факты - механизм абстракции. Офигеть Ты уж определись, чтоты понимаешь под событием и событиями?


Цитата:
По идее сторона, вызывающая событие, должна знать только для какого объекта и какое событие вызвать...

Я не знаю, какие ты событийные механизмы рассматриваешь, но из мне известных подходит только WinAPI.SendMessage.


Цитата:
Но простите, пихать метод(методы), реализующий событие, в public есть изврат

То что ты называешь извратом есть нормальная реализация ооп. Поскольку в инспекторе для некоторого хэндлера просмотреть приватные методы нельзя. Мало того, что они приватные, так у них и rtti нет. И это совершенно правильно. Если же тебя так сильно из-за этого плющит то занеси метод в приватный раздел, напиши MyButton.OnClick := MyClickMethod.


Цитата:
Что, кстати, и делают большинство программистов на Дельфи/С++ Билдер, даже имеющие немалый стаж работы в разных проектах.


Цитата:
Только при этом нужно писать Button1.OnClick(Self);, а не Button1Click(Self);

И зачастую это совершенно нормально. Знаешь в чем парадокс. Если бы ты в начале написал некий весьма полезный публичный метод и назвал бы его SomeVeryCleverSolution, а потом с успехом бы использовал его, как обычно используют публичные методы, это было бы нормально. Потом вдруг решил, что неплохо было бы, если бы он еще и по кнопке вызывался. Выбрал бы у батона соответствующее свойство, нашел бы в лукапе этот метод - все было бы замечательно... бы. Но ты пошел другим путем. Который предназначен для новичков. И сразу решил, что дельфи - отстой.
Мораль. Когда у тебя у класса есть некий полезный метод, который должен быть доступен публично (ну бывают такие случаи, поверь, иначе бы модификатор public не вводили), то почему он не может вызываться помимо всего еще и нажатием кнопки, например? Почему, если у меня у DataModule есть метод Refresh, он не может вызываться путем нажатия кнопки на соседней форме, как результат выполнения некоторого каскада вычислительный операций в некотором методе и еще быть повешенным на OnCreate.


Цитата:
Втихаря обычно плохими делами занимаются. Воровство там, грабёж всякий, etc.

Грязно полемизируете мусье. Некрасиво...
Автор: dneprcomp
Дата сообщения: 30.05.2003 20:30
Просил же человек не махать шашками...
Чуть уши не обрезали, пока через ваши дебри пробирался
Я уже писал где-то на форуме и повторю опять.
Выбор языка програмирования зависит от страны в которой работаешь.
Ну вы все хоть на голову встаньте, а здесь(USA) Delphi не распространен.
И это я еще слова подбираю . Просто не нужен и все. А если в "бывшем СНГ"
он распространен и работать будем только, скажем в России, то вперед.
Почему бы и нет? Сразу оговорюсь - ничего я в этом Delphi не понимаю.
Т. ч. не надо меня заваливать техническими терминами. Я работаю на VB.
И использую Access. И ничего плохого в этой связке не нахожу.
Она полностью удовлетворяет работодателя! И это самое главное.
А по поводу
Цитата:
Button1.OnClick(Self)

Есть такое слово: эмуляция. Так вот, вызывая Button1.Click , я на самом деле просто эмулирую нажатие кнопки. Ну и что в этом такого ужасного?
А если еще рассматривать Button1.Click просто как функцию? Или sub?
Dixi

Страницы: 12

Предыдущая тема: masm32


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.