H>>Ни у кого еще фара не встречал, кроме тех, кто пришел с нортона/волкова/дос.навигатора. CC>Т.е. те кто сел на комп уже после 95й винды — юзают тотал. CC>Те кто постарше — FAR CC>Так что ли?
Нет. Те, у которых первым тулом были консольные проги, на них и остались ибо ретрограды. Это могло бы ть как до, так и после виндовс95(и 98 и 2000). Те, кто начинал без консольных прог, частично пользуются тоталом, частично — эксплорером.
Эксплорер, кстати, с плагинами, просто адская вещь при хорошей настройке.
Здравствуйте, Ikemefula, Вы писали:
M>>Я больше скажу — я ради Дельфи на другую работу перешёл! I>А я поменял работу ради VS2010, Asp.Net, EF, Linq, WCF, Silverlight и тд.
парни, где вы такую работу находите? я сколько не меняю — всё линукс да линукс
Здравствуйте, пыщьх, Вы писали:
E>>С#, java — нужен фреймворк, далеко не у всех он есть; кто-то сидит на объекте с ноутом и gprs интернетом и выкачать его не сможет П>Серьезно? 2010 год на дворе, .Net ставится с кучей софта, идет через Windows Update и поставляется с новыми операционками. И у кучи народа его до сих пор нет? КАК???
Есть нюансы. Например в большой корпорации спокойно может использоваться Win2000 потому что на апгрейд нужны большие деньги.
Или компы пользуются древние, которые XP уже не тянут.
Или же железо-софт работает только под Win2000.
Кроме того, апдейтами пользуются далеко не все и далеко не все имеют нужную версию дотнета.
Здравствуйте, enji, Вы писали:
E>Развитость языка — а какие именно возможности языка были бы полезны в этом случае?
К примеру, для работы с СОМ-портом можно использовать Reactive Framework. В Дельфи аналог есть? Для асинхронности все тот же Rx или PLinq. В Дельфи аналог последнего есть?
I>>Захотел фолдеры быстрого доступа — пожалуйста. CC>Есть на хоткеях
Есть еще Named folders. Просто мегаполезняшка. В сад менюшки, в которых нужно высматривать искомый элемент, и даже хоткеи, которые нужно не интуитивно запоминать. Все проще: "cd:wp" и ты уже в рабочем проекте, "cd:md" — и перепрыгнул в "Мои документы". Плюс, если повесить на нажатие ":" (в пустой строке ввода) вставку "cd:" все становится вообще шоколадно.
CC>По right-click контекстное меню на файле там открывается.
И с клавиатуры тоже вполне хорошо открывается графическое меню оболочки.
Другая мощная штука — AltHistory, которая помогает искать по истории открытых файлов и посещенных каталогов, набирая часть имени (скрин)
Есть ли для Тотала такие плюшки? А про Тотал.. Раздражает в нем, что плодятся окошки, когда открываешь файлы на просмотр. Почему бы их не сделать в виде табов? Я уж не говорю о том, что окно создается хрен знает где — винда ж их "любит" выкладывать каскадом.
Не хватает внутреннего редактора. В FAR встроенный редактор та еще няшечка — сочетает простоту и мощь/расширяемость. Да, есть всякие Notepad++ и порты юниксовых, но всё-равно ощущения не те.
Хотя для любителей потыкать по экрану это сомнительные доводы, ага.
Хорошо хоть прилепили ограничение на ширину колонки в Brief-режиме. Но тоже лучше б ограничить количество колонок, а не их ширину.
Было еще что-то, но помнилось пока пытался кушать кактус, а щас уже подзабыл.
ВВ> Делается простенький хелпер для подписки, который сохраняет старый делегат и вызывает его тоже. Этот хелпер при желании можно "встроить" в библиотеку, хоть в сам класс Delegate.
как минимум вы упускаете критичный сценарий использования событий:
отписаться от события в произвольный момент.
это очень важный и очень неудобный для реализации сценарий.
вариант в дельфи (с построением руками цепочек) и ваш вариант — выкидывает именно этот сценарий.
зы
мне вообще не понятно, как можно использовать события без возможности отписаться.
Здравствуйте, DarkGray, Вы писали:
DG>как минимум вы упускаете критичный сценарий использования событий: DG>отписаться от события в произвольный момент. DG>это очень важный и очень неудобный для реализации сценарий. DG>вариант в дельфи (с построением руками цепочек) и ваш вариант — выкидывает именно этот сценарий. DG>зы DG>мне вообще не понятно, как можно использовать события без возможности отписаться.
А что мешает отписаться от события?
События вообще прекрасно реализуются без делегатов вообще. С возможностью множественной подписки, отписки и проч. И работать будут по кр. мере не хуже, если не лучше. Остается только добавить в язык немного сахара для работы с событиями — который в принципе и так есть — и все. Никаких мультиделегатов.
Здравствуйте, matumba, Вы писали:
M>Здравствуйте, snaphold, Вы писали:
S>>5 лет назад думал, что дни его сочтены. Ан нет.
M>В каком-то смысле, Дельфи как Цой — и вроде бы мёртв, но все говорят, что жив и слушают его песни.
M>Дельфи — единственный вразумительный инструмент под Винду для создания нативных Win32 приложений. В плане "морд к БД" вообще остался непобедимым даже навороченным ADO.NET;
Ну-ну. Берешь базу типа AdventrueWorksLT (около 20 таблиц) и делаешь для нее crud морду, скока займет?
А на Dynamic Data — 5 минут независимо от количества таблиц. А потом еще можно красивые называния подписать.
Или например LightSwitch, там и базу, и интерфейс, и разграничение доступа, и метаданные — все в дизайнере делается. Делфи нервно курит в сторонке.
M>Плюс сюда тонны уже существующих приложений, плюс простота инструмента и языка.
Простоты языка в делфи нету. там очень нетривиальная работа с COM и просто интерфейсами, много проблем возникает со строками, особенно когда надо их передавать и получать из внешних модулей.
M>Delphi как язык прекрасно гармонирует со своей же VCL.
У делфи вообще ничего кроме VCL нету.
M>Delphi действительно _визуальный_ инструмент — в отличии от позорной VS2010, где куча действий всё ещё делается клавой, кодом и через анус.
В этом сила студии, что код таки можно писать. Вот когда отбирают возможность править писать текст при программировании наступает жопа.
M>>Плюс сюда тонны уже существующих приложений, плюс простота инструмента и языка. G>Простоты языка в делфи нету. там очень нетривиальная работа с COM и просто интерфейсами, много проблем возникает со строками, особенно когда надо их передавать и получать из внешних модулей.
Достаточно просто для большинства потребностей. Что касается строк и прочего (память не только для строк выделяется), то это проблема менеджера памяти.Нельзя делать зоопарк из менеджеров памяти.
Осознавая это нужно правильно работать с памятью выделенной другим менеджером, либо приводить к одному менеджеру.
Давно уже за Delphi не слежу, но при правильном развитии вполне мог бы получиться нативный аналог шарпа. Я же сторонник аля сингулярити (Оберона) .
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, DarkGray, Вы писали:
DG>ничего не мешает, вот только предложенный вами вариант это не поддерживает. DG>покажите код(или сценарий) варианта с возможностью отписки от события, но без мультикаст-делегатов.
Эээ... подписка реализуется добавлением экземпляров специального класса Subscriber в коллекцию? Которые в свою очередь легко и просто из этой коллекции удаляются? Компилятор же в свою очередь генерит реализации Subscriber-a по аналогии с тем, как он это делает сейчас для лямбд. Равно как и коллекции у объекта, который публикует события, кода для подписки и отписки и пр. И таки да, в неком вырожденном случае, роль класса Subscriber может выполнять и делегат.
Здравствуйте, Serginio1, Вы писали:
S>Здравствуйте, gandjustas, Вы писали:
M>>>Плюс сюда тонны уже существующих приложений, плюс простота инструмента и языка. G>>Простоты языка в делфи нету. там очень нетривиальная работа с COM и просто интерфейсами, много проблем возникает со строками, особенно когда надо их передавать и получать из внешних модулей. S> Достаточно просто для большинства потребностей.
Для потребностей кликанья мышкой — да, а для написания программ — уже непросто получается.
S>Что касается строк и прочего (память не только для строк выделяется), то это проблема менеджера памяти.Нельзя делать зоопарк из менеджеров памяти. S>Осознавая это нужно правильно работать с памятью выделенной другим менеджером, либо приводить к одному менеджеру.
Щас заплачу... почему в .NET такие проблемы отсуствуют?
Там и COM и и передача между модулями нормально работает.
Наверное это таки недостаток делфи.
Здравствуйте, DarkGray, Вы писали:
ВВ>>Эээ... подписка реализуется добавлением экземпляров специального класса Subscriber в коллекцию? DG>и чем это тогда отличается от мультиделегатов?
У мультиделегатов проблема в том, что они используются не только для событий. Как раз к событиям-то претензий нет. Есть претензии к тому, что, к примеру, мультиделегат — единственный способ передать ту же лямбду в качестве аргумента. Т.е. их нам подсунули вместо нормальных функциональных типов.
Здравствуйте, gandjustas, Вы писали:
G>Здравствуйте, Serginio1, Вы писали:
S>>Здравствуйте, gandjustas, Вы писали:
M>>>>Плюс сюда тонны уже существующих приложений, плюс простота инструмента и языка. G>>>Простоты языка в делфи нету. там очень нетривиальная работа с COM и просто интерфейсами, много проблем возникает со строками, особенно когда надо их передавать и получать из внешних модулей. S>> Достаточно просто для большинства потребностей. G>Для потребностей кликанья мышкой — да, а для написания программ — уже непросто получается.
Ну это уже зависит от рук её использующих. S>>Что касается строк и прочего (память не только для строк выделяется), то это проблема менеджера памяти.Нельзя делать зоопарк из менеджеров памяти. S>>Осознавая это нужно правильно работать с памятью выделенной другим менеджером, либо приводить к одному менеджеру. G>Щас заплачу... почему в .NET такие проблемы отсуствуют? G>Там и COM и и передача между модулями нормально работает. G>Наверное это таки недостаток делфи.
Оооо работа с СОМ в Net это те еще проблемы (из за отсутствия автоматического подсчета ссылок хотя как там в 4 ке не знаю). Натив все же лучше уживается с нативом.
А Проблемы и у GC существуют (например при частой перестановке ссылок объектов старших поколений, работа с матрицами итд.) Нет серебрянной пули. Поэтому для каждой задачи свой инструмент.
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, Serginio1, Вы писали:
S>Здравствуйте, gandjustas, Вы писали:
G>>Здравствуйте, Serginio1, Вы писали:
S>>>Здравствуйте, gandjustas, Вы писали:
M>>>>>Плюс сюда тонны уже существующих приложений, плюс простота инструмента и языка. G>>>>Простоты языка в делфи нету. там очень нетривиальная работа с COM и просто интерфейсами, много проблем возникает со строками, особенно когда надо их передавать и получать из внешних модулей. S>>> Достаточно просто для большинства потребностей. G>>Для потребностей кликанья мышкой — да, а для написания программ — уже непросто получается. S> Ну это уже зависит от рук её использующих.
S>>>Что касается строк и прочего (память не только для строк выделяется), то это проблема менеджера памяти.Нельзя делать зоопарк из менеджеров памяти. S>>>Осознавая это нужно правильно работать с памятью выделенной другим менеджером, либо приводить к одному менеджеру. G>>Щас заплачу... почему в .NET такие проблемы отсуствуют? G>>Там и COM и и передача между модулями нормально работает. G>>Наверное это таки недостаток делфи. S> Оооо работа с СОМ в Net это те еще проблемы (из за отсутствия автоматического подсчета ссылок хотя как там в 4 ке не знаю). Натив все же лучше уживается с нативом.
Отсутствия где? Ты ничего не путаешь? Как раз в .NET можно вообще не париться с подсчетом ссылок в COM, ни в компонентах, ни в клиентах.
S>А Проблемы и у GC существуют (например при частой перестановке ссылок объектов старших поколений, работа с матрицами итд.)
Какие именно? Он что-то не освобождает? Максимум что существует это некоторые проблемы с перфомансом, но в типичных для delphi приложениях такие проблемы найти просто невозможно.
S>Нет серебрянной пули. Поэтому для каждой задачи свой инструмент.
Именно, нет такой задачи где бы делфи выигрывал у .NET. А там где .NET не лезет, там уже проще C использовать.
Здравствуйте, gandjustas, Вы писали:
G>Отсутствия где? Ты ничего не путаешь? Как раз в .NET можно вообще не париться с подсчетом ссылок в COM, ни в компонентах, ни в клиентах.
Э-э-э. А кто в .NET будет AddRef/Release вызывать?? В дельфи это компилятор делает.
Здравствуйте, Jack128, Вы писали:
J>Здравствуйте, gandjustas, Вы писали:
G>>Отсутствия где? Ты ничего не путаешь? Как раз в .NET можно вообще не париться с подсчетом ссылок в COM, ни в компонентах, ни в клиентах.
J>Э-э-э. А кто в .NET будет AddRef/Release вызывать?? В дельфи это компилятор делает.
Здравствуйте, gandjustas, Вы писали:
S>> Оооо работа с СОМ в Net это те еще проблемы (из за отсутствия автоматического подсчета ссылок хотя как там в 4 ке не знаю). Натив все же лучше уживается с нативом. G>Отсутствия где? Ты ничего не путаешь? Как раз в .NET можно вообще не париться с подсчетом ссылок в COM, ни в компонентах, ни в клиентах.
Поверь не путаю. Когда нужно освободить СОМ ресурсы либо вручную релизить объекты Или ждать когда вызовется GC для объектов с финализаторами. S>>А Проблемы и у GC существуют (например при частой перестановке ссылок объектов старших поколений, работа с матрицами итд.) G>Какие именно? Он что-то не освобождает? Максимум что существует это некоторые проблемы с перфомансом, но в типичных для delphi приложениях такие проблемы найти просто невозможно.
Освобождает но не по месту. Для кучи СОМ объектов это вызывает проблемы. А перфоманс это разве не проблема? Зная тонкости Delphi многие проблемы перфоманса можно обойти и выигрывать у тогоже C# на многих задачах (поверь делал тесты). Плюс в 2009 и дженерики появились. S>>Нет серебрянной пули. Поэтому для каждой задачи свой инструмент. G>Именно, нет такой задачи где бы делфи выигрывал у .NET. А там где .NET не лезет, там уже проще C использовать.
Простой пример работа с IDispatсh (например с 1С) . Зачем же С, мне проще и приятнее на Delphi. А там где действительно Net рулит там и на C#.
Мне C# очень нравится при этом у Delphi и С# много общего (один руководитель).
и солнце б утром не вставало, когда бы не было меня