Re[13]: Почему Delphi всё еще жив?!
От: MxMsk Португалия  
Дата: 20.10.10 07:26
Оценка:
Здравствуйте, Head Ache, Вы писали:

HA>Казалось бы, что мешало сделать базовый класс с дефолтной реализацией — нет, нада интерфейс зачем-то.

Ты правда не понимаешь или прикидываешься?

HA>Интересный эффект, если при реализации (очередной версии) класса понадобилось добавить поддержку IDisposable (а вдруг возникла необходимость дернуть неуправляемый код)

HA>Это ВО ВСЕХ зависимых приложениях как минимум надо понавтыкать using,
HA>а уж если класс был вложен в другой, то и тому другому классу тоже надо прикрутить IDisposable и тоже в его использовании понавтыкать using.
HA>А если зависимых классов много, совсем весело становится.
HA>То же — в случае отказа от IDisposable.
HA>Итого злостное, корявое нарушение принципов ООП: изменение внутренней реализации влечет переделку пользователей открытого интерфейса класса.
Твой вариант?

HA>Добавим к этому, что для сборщика мусора вообще нет никаких хинтов в IDisposable,

HA>соответсвенно, сборка мусора возбудится, только когда прилетит ошибка ОС о нехватке свободной памяти или о еще какой ж... в ресурсах.
Какой хинт ты предлагаешь добавить?
Re[20]: Почему Delphi всё еще жив?!
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 20.10.10 07:27
Оценка:
Здравствуйте, hattab, Вы писали:

H>Проходили уже.

H>

This class represents a string-like object whose value is a mutable sequence of characters.


H>ToString у строки... ну-да, ну-да.

Так ты не то выделил. Основное слово в твоей цитате mutable, а не string.

НС>> И длину указывать не надо, маршаллер об этом сам позаботится. Достаточно просто ToString без параметров.

H>Еще и маршалер включается в работу... то-то ганджустас распевался об эффективности .net'а
Снова ты не то померить хочешь. Сколько раз такая функция в среднем вызывается в программах? Я думаю это число гораздо меньше единицы.
А сколько вызывается аллокатор....

Я помню гонял тесты на Turbo Delphi и .NET на выделение-освобождение, результаты не в пользу делфи были
Re[19]: Почему Delphi всё еще жив?!
От: CreatorCray  
Дата: 20.10.10 07:32
Оценка:
Здравствуйте, hattab, Вы писали:

CC>> H>По моему, с w2k все же UTF-16.

CC>> Суррогаты поддерживает, да. Но в потрохах они понимаются не везде.
H>Где об этом почитать можно?
В исходниках ядра например.
UTF16 отличается от UCS2 только тем, что UTF16 поддерживает non-BMP диапазон (U+10000 — U+10ffff)и выше а UCS2 только BMP (U+0000 — U+ffff).
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[13]: Почему Delphi всё еще жив?!
От: CreatorCray  
Дата: 20.10.10 07:32
Оценка: +1
Здравствуйте, gandjustas, Вы писали:

G>Даже ты догадался,

Я вообще капец какой вумный. Даже череп жмёт, да!
А вот ты видимо не догадался, так как почему то не согласен с очевидными вещами Re[15]: Почему Delphi всё еще жив?!
Автор: CreatorCray
Дата: 20.10.10


G>а в MS гораздо больше и гораздо более умные люди работают

Судя по тому, что они понакрутили в области поддержки storage "умность" людей из МС сильно преувеличена.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[14]: Почему Delphi всё еще жив?!
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 20.10.10 07:47
Оценка: -1 :)
Здравствуйте, CreatorCray, Вы писали:

CC>Здравствуйте, gandjustas, Вы писали:


G>>Даже ты догадался,

CC>Я вообще капец какой вумный. Даже череп жмёт, да!
CC>А вот ты видимо не догадался
Я документацию читал

CC>так как почему то не согласен с очевидными вещами Re[15]: Почему Delphi всё еще жив?!
Автор: CreatorCray
Дата: 20.10.10

Потому что ты не в тему влез совершенно и что-то пишешь не разбираясь в вопросе.
Re[13]: Почему Delphi всё еще жив?!
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 20.10.10 09:19
Оценка:
Здравствуйте, gandjustas, Вы писали:


S>>>> Объект.ПолучитьОбъект().Получить2Объект().Выполнить(); После выполнения данной команды промежуточные объекты удалятся (По месту релиза). А бывают и очнь длинные цепочки.

G>>>И что?
S>> А то, что накапливаются объекты многие из которых содержат ресурсы, котрые нужно освождать чем раньше тем лучше.
G>"чем раньше тем лучше" зачастую некорректное утверждение.
Корректное когда ресурсы заняты, ими нельзя воспользоваться из других приложений.
S>>>>>>Плюс в 2009 и дженерики появились.
G>>>>>Все бы хорошо, но в .NET они появились на 4 года раньше. Кроме того до сих пор самая используемая версия делфей — 7
S>>>> Но это не значит, что 2009 не существует. Мы же обсуждаем не NET 1.1
G>>>На .NET 1.1 уже никто не пишет, а на Delphi 7 — вполне.
S>> Это только говорит о его состоятельности. Хотя честно говоря уж долго он не развивался.
G>Это говорит о несостоятельности новых версий.
G>Почему при наличии delphi 2005 и выше, до сих пор на семерке сидят?
Delphi 2005 была ориентирована на Net. 2009 уже на натив. C# в Net мощнее поэтому то и развития не получила.
2009 уже развитие натива. Но много ли перешли в Net на 4ку?
S>>>> Ну и как Тебе с Голым IDispatch работается через рефлексию?
G>>>С dynamic — прекрасно.
S>> И давно динамики то появились?
G>Ну в VB они и раньше были, в C# только в 4 версии.
Еще VB мне до кучи не хватало. Итак приходится разные макросы писать.
Так что намного проще на Delphi написать.
и солнце б утром не вставало, когда бы не было меня
Re[11]: Почему Delphi всё еще жив?!
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 20.10.10 09:20
Оценка:
Здравствуйте, hattab, Вы писали:

H>Здравствуйте, Serginio1, Вы писали:


S>> Почему же? Да нет инлайна, но писать очень быстрый код можно легко проверено.


H>Да инлайн есть давно, лет 5 уже как

Спасибо. Что я совсем отстал или забыл . Практики не так много
и солнце б утром не вставало, когда бы не было меня
Re[21]: Почему Delphi всё еще жив?!
От: hattab  
Дата: 20.10.10 09:57
Оценка:
Здравствуйте, gandjustas, Вы писали:

g> H>Еще и маршалер включается в работу... то-то ганджустас распевался об эффективности .net'а


g> Снова ты не то померить хочешь. Сколько раз такая функция в среднем вызывается в программах? Я думаю это число гораздо меньше единицы.


Это лишь банальный пример, и он свою функцию выполняет, показывая, что "В .NET этого недостатка нету." не более чем миф. По сравнению с дельфей еще как есть.

g> А сколько вызывается аллокатор....


g> Я помню гонял тесты на Turbo Delphi и .NET на выделение-освобождение, результаты не в пользу делфи были


Как раз таки наоборот Ты вспомни топик, где ты мерялся аллокаторами Там .net слил и дельфям и аллокатору от CreatorCray. У меня все ходы записаны
avalon 1.0rc3 rev 363, zlib 1.2.3
Re[20]: Почему Delphi всё еще жив?!
От: hattab  
Дата: 20.10.10 09:57
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC> CC>> H>По моему, с w2k все же UTF-16.


CC> CC>> Суррогаты поддерживает, да. Но в потрохах они понимаются не везде.


CC> H>Где об этом почитать можно?


CC> В исходниках ядра например.

CC> UTF16 отличается от UCS2 только тем, что UTF16 поддерживает non-BMP диапазон (U+10000 — U+10ffff)и выше а UCS2 только BMP (U+0000 — U+ffff).

В чем разница между ucs-2 и utf-16 я в курсе Я думал есть где-то дока говорящая о неполной поддержке utf-16 в виндах.
avalon 1.0rc3 rev 363, zlib 1.2.3
Re[15]: Почему Delphi всё еще жив?!
От: hattab  
Дата: 20.10.10 09:57
Оценка: +1
Здравствуйте, gandjustas, Вы писали:

g> g>> g>> Нету в варианте делфи обработки ошибок, да и кто мешает почти также написать?


g> g>> H>Да что вы с этими ошибками, сам-то не видишь, что пример демонстрирует совершенно другое?


g> g>> Тоже самое, только без обработки ошибок


g> H>Ладно, даю подсказку: твой код будет работать медленнее дельфийского в 4 раза (я уже померял ) Так что не рассказывай больше сказок о беспроблемном и могучем .net.


g> Не смеши мои тапочки. Это не тот код, быстродействием которого имеет смысл мериться. Кроме того в реальном приложении такого кода не будет.

g> Если мне понадобится перфоманс, я (и многие другие) возьму С, а не делфи.

Вот и не рассказывай сказочек больше.
avalon 1.0rc3 rev 363, zlib 1.2.3
Re[32]: Почему Delphi всё еще жив?!
От: CreatorCray  
Дата: 20.10.10 10:47
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Ты заметил, что перечисляешь не потребности и даже не юзкейсы, а какие то огрызки ?

Симметрично

I>>>А вот найди как плагин, что бы _на_панели_ фара был запущен тотал. Слабо ?

SD>>Про свистнуть жопой CreatorCray уже ответил, разделяю мнение. Т.е. плюс Тотала в том, что его юзерям может понадобиться FAR в панели? Мне Тотал как-то вообще не нужен в панели FAR.
I>Это не свистнуть жопой. Это консоль в панели тотала, что бы не надо было дурью маяться. В некоторых случаях очень удобно — получаешь как бы консольное ГУИ приложение, что бы не надо было запускать доп инстанцы всякой дряни.
I>Как в тотале, так это свистнуть жопой, а как фича для фара(сonemu), так это круто.
Не, не круто. conemu по мне так очень на любителя.
Просто для FAR фича "гуй в окне" как то не востребована.
Два разных продукта, с двумя разными ЦА.

I>Консольщики такие консольщики

I>Фолдинг в консольном редакторе ? Круто, круто Я как бы тоже видел, но дерьма стараюсь не употреблять.
Давай без твоего фирменного говнометания.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[19]: Почему Delphi всё еще жив?!
От: vdimas Россия  
Дата: 20.10.10 11:13
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>В Дельфи точно так же уперлась, там все строки мутабельные. А вот то что там нет иммутабельной строки, Дельфи совсем не красит.


А смысл в иммутабельной строке в отсутствии GC?
Re[32]: Почему Delphi всё еще жив?!
От: std.denis Россия  
Дата: 20.10.10 11:28
Оценка: +1
I>>>Для тотала вагоны плагинов если ты не в курсе.
SD>>Вопрос был не достаточно конкретный? Мне не нужны вагоны с плагинами. Я писал о вполне конкретных двух фичах, которые я активно использую.

I>Если тебе нужн делать нечто постоянно, удобно, быстро, то попробуй погуглить.

I>А если ты хочешь, что бы Тотал работал точь в точь как Фар то это к доктору.
I>Ты заметил, что перечисляешь не потребности и даже не юзкейсы, а какие то огрызки ?
Понимаешь какая штука, изначально я отвечал CreatorCray. Т.е. я просто поделился с ним какие полезняшки есть для облегчения/убыстрения навигации.
Вопрос про Тотал был на тот расчет, что найдется добрая душа, которая расскажет как можно в Тотале так же сделать (напомню: 1. быстрый переход в папку по её псевдониму — "cd:md" переход в мои документы, без отыскивания нужного пункта в выпадающем меню; 2. история просмотров, редактирований, переходов по папкам, в возможностью фильтрации по части pathname). Я не хочу сделать из Тотала FAR, меня интересуют вполне конкретные способы выполнения задач быстрой навигации. Если там что-то реализовано по-другому, но с сохранением функционала, то я ж не против.
Но троллить конечно проще

I>"фичи" которые ты перечислил, есть в тотале "искаропки".

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

SD>>Кстати, какие там есть полезные плагины к Тоталу, кроме плагинов файловой системы, отображателей для Lister'a?

I>Если в гугле забанили то помочь конечно сложно. Всего 4 вида плагинов.
Опять же, я не интересовался вагоном плагинов к Тоталу, это и взаправду может выдать Гугль. Меня интересовал личный опыт. Твой опыт. Сложно поделиться? Или ответил лишь бы ответить?

I>Как в тотале, так это свистнуть жопой, а как фича для фара(сonemu), так это круто.

FAR != консоль, Conemu != TotalCmd. Зачем запускать FAR внутри Тотала, если он такой весь из себя удобный? Консоль вполне можно использовать из cmd. Соответственно, Conemu сам по себе не является полноценным приложением, а лишь украшатель интерфейса для консолефобов. Без него FAR на много отзывчивей, особенно, когда нечто вешает весь гуй.

I>Консольщики такие консольщики

I>Conemu это сильно для консольщиков, только нахрена нужно, не ясно, если у меня консольных прог то не осталось
Не правильно. Я не фанат консоли. FAR мог бы быть и гуёвым, я б согласился бы им пользоваться. У Тотала просто нет преимуществ для меня, а есть лишь недостатки, которые я уже упоминал. И я не претендую на единственную истину. У каждого свои нужды и привычки. Нет смысла перебираться на то, что тебе менее удобно, или на чем нужный функционал недостижим.

I>Не интересовался. Расскажи, как это делается для Фара ?

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

I>Они просто табами отображаются, а не тулбаром.

ок

I>Фолдинг в консольном редакторе ? Круто, круто Я как бы тоже видел, но дерьма стараюсь не употреблять.

Ды я тоже не употреблять. Colorer'a и его навигации по файлу хватает с головой. На порядок лучше студии (без VisualAssist).

I>Собственно, видно что ты тотала вобщем то не видел и не пробовал толком, но мнение имеешь

Да, так и есть. Я несколько раз пытался перебраться на Тотал. Но всегда находилась какая-то жопь, из-за которой им было неудобно пользоваться.
И да, я не утверждаю, что я хорошо знаю Тотал. В моем изначальном сообщении до разделителя я описал возможности в FAR, которые я использую и просил знающих подсказать есть ли такое в Тотале. После разделителя я перечислил то, что меня в Тотале не устраивало. Опять же, перед ответом я проверил, не изменилось ли чего в Тоталостане.
Re[13]: Почему Delphi всё еще жив?!
От: пыщьпышь  
Дата: 20.10.10 13:22
Оценка:
Здравствуйте, vdimas, Вы писали:

E__>>Иногда нужно. Но реализация мультиделегата довольно проста, если подумать.


V>Она проста только в системе с GC. А иначе надо думать, кто чем владеет и когда, и не будет ли вызов события отправлен уже мертвому объекту. Весь aggregation в COM плясал именно вокруг этого, и там на счетчиках ссылок не так все тривиально получалось, чтобы избегать взаимного приращения счетчиков, т.е. ненужного лишнего удержания объектов в памяти.
Re[13]: Почему Delphi всё еще жив?!
От: пыщьпышь  
Дата: 20.10.10 13:32
Оценка:
Здравствуйте, vdimas, Вы писали:

Вообще-то в Дельфи есть механизм FreeNotification для уборки за откинувшимся объектом

ЗЫЖ Что-то этот огнелис сначала исходную версию сообщения запостил
Re[13]: Почему Delphi всё еще жив?!
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 20.10.10 14:02
Оценка:
Здравствуйте, gandjustas, Вы писали:

I>>За каким хреном нужно писать код выше вместо

I>>Application.Documents.Current.SomeObjects
I>>Можешь сходу сказать ?
I>>Лично мне не нравится писать десять строчек вместо одной и я называю это "париться", потому что не дай бог забудешь, косяки может понадобиться искать неделями.
G>Так не пиши, ты в чем проблемы увидел то?

Повторяю вопрос — в каких случаях надо писать именно так как я показал, а не в одну строчку.

I>>Кто по твоему закроет Эксель если счетчи ссылок на него нулю не равен ?

G>А кто тебе сказал что не равен? Может почитаешь рихтера и узнаешь когда вызываются финализаторы?

G>ЗЫ. Если че напиши код сам — увидишь что все закрывается.


Писал, потому и сообщаю — не закроется.
Re[16]: Почему Delphi всё еще жив?!
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 20.10.10 14:03
Оценка:
Здравствуйте, hattab, Вы писали:

I>> H>Если людям нафиг не уперлись ни генерики, ни юникод, ни многие другие плюшки нафиг им куда-то мигрировать?


I>> На пенсию идти.


H>Они решают свои задачи меньшими средствами


И все равно надо идти на пенсию.
Re[33]: Почему Delphi всё еще жив?!
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 20.10.10 14:04
Оценка:
Здравствуйте, CreatorCray, Вы писали:


CC>>>Там вообще то между окнами (редактор/просмотр/панели) можно переключаться. И соотвественно редакторов и просмотров может быть много.

I>>Ога, круто — переключаться между редакторами, когда можно обойтись без этого.
CC>Если у тебя открыто на редактирование 2 редактора то ты в любом случае будешь между ними переключаться. Фокус ввода в винде и всё такое.

Они запросто могут быть видны оба. А в фаре нужно переключаться только для того, что бы посмотреть контент.
Re[7]: Почему Delphi всё еще жив?!
От: enji  
Дата: 20.10.10 14:04
Оценка: +1
Здравствуйте, Феоктистов Александр, Вы писали:

ФА>в однокристалках, си должен побеждать асм, на асме большие проги это гемор, а с++ и подавно, так как они не достаточно большие для монстра с++


О, вы точно хотите поспорить

1. Ручная оптимизация для однокристалок на самом деле в большинстве случаев дает 15-20% выигрыша по скорости и объема проги, кроме того однокристалки довольно просты, там нет конвееров и т.д., поэтому такая оптимизация еще и не слишком сложна.

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

uchar state = __save_interrupt();
__disable_interrupt();
WDTCSR = BIT(WDCE)+BIT(WDE);
WDTCSR = BIT(WDE)+BIT(WDP1)+BIT(WDP0);
__restore_interrupt(state);


писать так (что раскрывается в точно такой же машинный код):
Watchdog::start<2000>();


Почувствуйте разницу Второй пример еще и работает на разных процессорах, в отличие от первого.

А для написания всяких HAL рулит наследование, интерфейсы и все прочие вкусности С++

Так что не все так однозначно
... << RSDN@Home 1.2.0 alpha 4 rev. 1476>>
Re[11]: ЧОЧО?
От: enji  
Дата: 20.10.10 14:04
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Здравствуйте, enji, Вы писали:


E>>Развитость языка — а какие именно возможности языка были бы полезны в этом случае?


НС>К примеру, для работы с СОМ-портом можно использовать Reactive Framework. В Дельфи аналог есть? Для асинхронности все тот же Rx или PLinq. В Дельфи аналог последнего есть?


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

На его основе работа с портом пишется весьма просто.
... << RSDN@Home 1.2.0 alpha 4 rev. 1476>>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.