Интересно вспомнить, что сама Embarcadero Technologies в 2006-2007 годах была приобретена частным фондом инвестиций и снята с листинга (т.е. она была публичной, торговалась на бирже, а стала закрытой, частной компанией), затем (в 2008-2009) Embarcadero приобрела за 20 миллионов долларов инструменты разработчика CodeGear (Delphi, C++Builder, InterBase) у Borland. И вот через 6 лет продажа за 425, т.е. примерно раза в 4 увеличили стоимость.
Довольно грустная история у этих инструментов разработчика, все еще очень популярных и в нашей стране, и в ряде других стран. Стоит компании набрать обороты и начать выпускать качественный продукт (а в последнее время появились возможности многоплатформенной разработки для мобильных ОС, 64 битные версии и много всего хорошего), как ее продают кому-нибудь.
Я как раз работал в российском представительстве Borland во время сделки с Embarcadero, и могу сказать, что ET хорошо отнеслась к приобретению: команды разработки были значительно усилены, затем компания кросс-лицензировала (Fast Reports и др.) и приобрела несколько библиотек компонентов (FireMonkey и др.), которые затем были переработаны и составили новый костяк продукта, значительно увеличив количество разработчиков-пользователей Delphi за счет тех, кто разрабатывает мобильные приложения.
Проявит ли компания Idera такой же джентельменский подход к средствам разработки, как и Embarcadero, сказать сложно. Очевидно, что на сделку, как и при продаже CodeGear, повлияли не только показатели продаж (довольно хорошие), но и почти 3 миллиона пользователей таких продуктов, как Delphi, но какой стратегии по отношению к ним будет придерживаться новый хозяин, пока неясно.
В любом случае, хорошим знаком является сумма сделки — на рынке, ориентированном на разработчиков и администраторов, давно не было таких больших приобретений.
Надеюсь, что Idera станет хорошим хозяином своих новых приобретений.
UPDATE
Embarcadero и Idera, несмотря на бурное обсуждение ситуации в интернете, все еще хранят молчание о сделке, ни подтверждая, ни опровергая их. Надо сказать, что точно также было и с CodeGear, и при покупке Together Software — молчание до последнего момента, даже внутри компании.
По слухам, объявление будет в четверг.
UPDATE 2
Новость на theregsiter.co.uk — подтверждают сделку, но сумму не называют.
Комментарии (84)
vedenin1980
22.09.2015 23:39+2Стоит компании набрать обороты и начать выпускать качественный продукт, как ее продают кому-нибудь.
Хмм, подозреваю, что следствие и причина могут будет ровно противоположенные: как только компанию собираются продать кому-нибудь, ей дают достаточно средств и ресурсов, чтобы она создала видимость набора оборотов и выпуска качественных продуктов, так как покупают не реальное положение дел в компании, а «видимость» компании со стороны. Поэтому предпродажную подготовку делают не только машинам, но и компаниям (за год-другой до сделки).DmitryKuzmenko
23.09.2015 12:46Codegear в Embarcadero был куплен инвестиционным фондом TCB. Так что своего они добились — купили дешево, раскрутили, и продали гораздо дороже.
Kroligoff
23.09.2015 04:24Пугает не известность. Очень жаль если похоронят такой замечательный продукт
lanseg
23.09.2015 06:00+12А он действительно такой замечательный, или это просто остатки впечатлений молодости?
Mirn
23.09.2015 08:24-5намёк: «впечатления молодости» могут быть и отрицательными и нейтральными.
А для меня Делфи это как Ардуино, ничего крупного на ней не сделаешь, но всякую одноразовую мелочь делать можно очень быстро. Т.е. просто штука которая неплоха в очень узком диапазоне задач.Kroligoff
23.09.2015 08:39+4Причем тут молодость, на Delphi делаются и крупные проекты, все прекрасно работает и летает, дело в руках, кто делает. Можно и на Си шарпе сделать школьную поделку.
То что сейчас он стал не популярен это как раз из за подобных заявлений.Mirn
23.09.2015 09:13+1ключевая фраза была "А для меня ", потому что крупные проекты я делаю для МК.
Да не спорю мужики, но под МК делфи пока не может, особенно например под 8 битные.
hopungo
23.09.2015 18:45+1Руки у меня чешутся отправить вам одну «поделку». Если один человек работает с одним проектом, то работать худо-бедно можно. Когда разработчиков становится больше одного, а разрабатываемых модулей — несколько десятков, в дело вступает квантовая механика.
Darthman
23.09.2015 19:50+1В связке с репозиторием mercurial очень даже большие проекты ворочали по несколько человек одновременно и ничего страшного не происходило.
Alexeyslav
23.09.2015 08:55-2Это на делфи-3 сложно было сделать что-то крупное, современная делфи сильно продвинулась в этом.
С Ардуино можно сравнить какой-нибудь жава-скрипт…svd71
23.09.2015 20:19С Дельфи-3 и берут свое начало многие корпоративные разработки. Если правильно помню, то именно в этой версии была расширена работа с клиент-серверными технологиями, введена поддержка 3-хзвенки и отдельный TClientDataset, позволяющий использовать XML-данные. Из минусов стало то, что в отличии от Дельфи-2 изменлся формат PE-файлов и стало не возможно на ней создавати штуки для системы — дрйвера и пр.
Как можно сравнивать не сравнимое, типа Arduino и JavaScript? Это примерно так же, как сравнивать арбузы и девушек между собой. Если ужи хотите «опустить» Ардуино-фреймворк (а не само железо), то хотяб сравните с разработкой на чистом avr-gcc.Alexeyslav
23.09.2015 23:35Они хоть и начинались, но 3-я все-таки была больше для студентов. Те корпоративные разработки что начались на 3-й быстро перешли на 5-ю.
Вот с 5-й делфи пожалуй и началась нормальная корпоративная история.
Я их застал. У нас досихпор проект на 5-й делфи в поддержке-допиливании.
А ардуино и делфи сравнивать можно? речь шла именно об этом сравнении, В программировании сравнить с ардуино по концепции и форме можно именно джава-скрипт, а паскаль в делфийской интерпретации остается все же более низкоуровневым языком.
Почему-то о легкости языка судят по тому как быстро можно нарисовать формочки… но ведь это всего лишь банальная автоматизация рутинной работы.
RomeroMsk
23.09.2015 09:01+4То есть Total Commander, Nero Burning Rom, WinRAR, NuSphere PhpEd и другие — недостаточно «крупные» проекты по вашему?
Maccimo
23.09.2015 15:21+1С WinRAR гражданин хватил лишку, оно очень даже MSVC. Остальные вроде как да.
hopungo
23.09.2015 18:47-2Кстати, почему плагины в Тотал Коммандере построены по технологии dll, а не bpl?
Darthman
23.09.2015 19:51А зачем bpl? Когда я делал систему плагинов у себя, я в сторону bpl и не думал. Даже не сказать чтобы очень представляю как удобно можно было бы их использовать. А главное писать :)
Alexeyslav
23.09.2015 23:44+1Технически, это то же самое. Только bpl во первых нестандартная, плагины писать можно было бы только на делфи, а во вторых очень зависима от версии компилятора. И приложение и плагин должны быть скомпилированы одной версией, иначе будут проблемы совместимости.
bpl-ки у нас используются там где много разных приложений(модулей) в рамках одной общей экосистемы собираемой одним компилятором.hopungo
24.09.2015 06:22Увы, в bpl есть одно важное преимущество — они совместимы с… bpl. С кучей пакетов, в которых лежит куча компонентов, которые обычно используются в программах. Если вы положите форму в длл, то вам придётся впихнуть в неё все юниты из VCL, которые используются плагином, или как-то извращаться, чтобы использовать bpl-ки. C bpl в качестве плагинов это гораздо проще сделать.
И второй фактор — длл практически невозможно гарантированно деинициализировать при выгрузке. Для моего проекта это означает, что как бы не был хорошо спроектирован главный модуль, ошибок не избежать, любой сторонний модуль способен положить программу.
Вопрос изначально состоял в том, почему bpl настолько ущербен и налагает столько ограничений.
Darthman
24.09.2015 11:34Вот о чем и речь. Зачем это нужно? :) Длл лишена этих недостатков.
Alexeyslav
24.09.2015 14:10Для больших проектов, для внутреннего использования.
В DLL мы вынуждены таскать всё необходимое с собой. А теперь представь какое дублирование кода будет в проекте в котором сотня таких независимых модулей.Darthman
24.09.2015 15:47Ну я в длл никогда не сувал формы. Поэтому в моём случае это было более чем оправданно. Мои dll с доп функционалом были по 10-30Кб весом.
Тут всё от случая зависит, где-то и придётся заниматься извращениями с bpl, но в целом для таких целей была dll придумана.Alexeyslav
24.09.2015 16:41Кроме форм и компонентов есть еще много вещей которые пихаются в DLL-ку поскольку неизвестно с каким приложением её будут использовать — например менеджер памяти, процедуры, константы и функции из модуля SYSTEM и т.д. для банального округления числа при вычислениях приходится тянуть туда же Sysutils, Math…
Если понадеяться на то что у приложения будут необходимые функции то появляется проблема совместимости разных версий этих функций, особенно если в них реализовано разное поведение(или известные баги). Тут тоже не всё так гладко как хотелось бы, и применение bpl в проекте delphi-only более предпочтительно чем dll.
Применение dll в проекте на делфи оправдано только если этот модуль может быть использован в стороннем приложении.Darthman
24.09.2015 17:02+1Я уже понял Вашу точку зрения и не хотел бы переводить это всё в холивар.
Для каждой задачи своё.
alan008
23.09.2015 09:09+4Клиент Skype для Windows написан на Delphi. Так, между прочим
AllexIn
23.09.2015 10:23+3Был написан на дельфи.
alan008
23.09.2015 10:34+5ORLY? :)
А вы exe-шник Cкайпа откройте в текстовом редакторе и начало файла (строковые имена типов, например) сравните с именами любого exe-шника, собранного в Delphi.
Или поищите в тексте exe-шника строки SysUtils, TFileName и т.п.
yorick_kiev_ua
23.09.2015 18:18-1Только не клиент, а GUI. Которое у Skype довольно-таки(относительно) простенькое.
SOLON7
23.09.2015 06:19-4Единственное чего мне хватает в дельфи так это сервера приложений, и фреймворка на подобие asp.mvc, жаль что с орм тоже беда! многие бы полюбили дельфи за эти фичи!
alan008
23.09.2015 09:08так это сервера приложений
Кто ж мешает его реализовать самому, на том же Delphi.gricom
23.09.2015 09:33+2вы либо не знаете, что такое application server, либо просто троллите. Для одиночки тут работы на несколько лет фулл-тайм
alan008
23.09.2015 09:58+4Во-первых, оговорок про одиночку нигде выше не было. Возьмите команду и сделайте.
Во-вторых, одиночка-кодер-формошлеп и одиночка-профи-гуру это разные разработчики. Один не сделает, другой сделает.
В-третьих мы сами небольшой командой (3-5 человек) пишем на Delphi сервер-mid-tier. Может это и не сервер приложений в вашем понимании (не Tomcat или что-то ему подобное), но все равно близко по смыслу. Это многопоточная сетевая служба, которая принимает запросы по TCP с множества клиентов, диспетчиризирует каждый запрос в ту или иную «логическую службу», логическая служба их обрабатывает (в отдельном потоке), в т.ч. общается с базой данных если это требуется, и отправляет ответ клиенту. Сервер может работать в режиме 24/7 произвольное время.gricom
23.09.2015 10:35+2Кто ж мешает его реализовать самому, на том же Delphi
Это подразумевает одного человека, а не команду.
Tomcat — это не application server, это просто servlet container, который может обрабатывать входящие http запросы, передавая их задеплоенному внутри приложению.
Application server — это целая платформа для хостинга приложений (одного или многих) внутри него, менеджмента самих этих приложений, менеджмента ресурсов, которые доступны приложениям, предоставление функций для разработчиков приложений: dependency injection, ORM, транзакции (не только SQL, а любые, в том числе распределенные), http эндпоинты, message queue, кластеризация, кэширование, пулы соединений, task scheduling, поддержка веб-сервисов, авторизация и еще куча всего, потому что всё не вспомнить. И всё это средствами самого application server без использования дополнительных фреймворков. Боюсь, что один человек не осилит даже требования проработать, не говоря уже о написании продуктаalan008
23.09.2015 11:22+3Можете тогда назвать пример сервера приложений, не связанного с JavaEE?
vedenin1980
23.09.2015 11:41Всю платформу Net с её ADO.NET, ASP.NET, DI, ORM и т.п. и т.д. по-моему вполне можно считать сервером приложений… И вроде питоновский Zope тоже считается сервером приложений.
gricom
23.09.2015 11:51+1Нет, не могу, потому что во-первых, я не пользуюсь серверами приложений, а во-вторых, я — java программист и с другими экосистемами знаком только на уровне фреймворков.
SOLON7
23.09.2015 13:17+2Самое забавное что трое заминусовали коммент, А то что в ентерпрайзе юзаются ASP.NET, Java этот факт никто в расчет не берет.
Да конечно в дельфи нет ОРМ, веб сервера, хорошо поддерживаемого фреймворка для написания того же MVC.
Но все равно меня заминусовали так как топик дельфийский. Я просто хотел сказать что из-за того что в дельфи нет сервера приложений и веб сервера, мне приходиться изучать платформу .Net так как там есть и MVC и Nhibernate. Так сказать расти дальше для Ентерпрайза. Сахарок HTML +JS притягивает.
Deamhan
23.09.2015 08:38-1Низкий порог вхождения (я про Delphi) привлекал школьников, но у них с платёжеспособностью проблемы.
darked
23.09.2015 08:57+1Может хоть новые хозяева обратят внимание на IDE и доведут её до ума. Кросплатформенность, мобильные приложения — это всё хорошо, но пишутся то они в IDE все… а там работы там хватает.
AllexIn
23.09.2015 10:25+1IDE Дельфевая всегда фору давала другим IDE. Я не слежу за их деятельностью уже лет 5, но судя по тому, что Visual Studio и QtCreator которыми я пользуюсь до сих пор не умеют многого что умела дельфи 5 лет назад — ситуация пока не изменилась.
Deamhan
23.09.2015 10:30-2Например?
AllexIn
23.09.2015 11:16+5Ctrl+Shift+C в дельфи, Alt+Enter в Qt Creator, а в студии?
При том что в дельфи оно с начала времен существует.
Переход по Ctrl между интерфейсом и имплементацией. Почему надо хоткей нажимать? Причем в студии до сих пор работает через раз.Deamhan
23.09.2015 12:04+1Вторая часть — чистой воды холивар
AllexIn
23.09.2015 12:06+1Я согласен что вариант хоткей/мышь — дело вкуса.
Но я не уверен в стабильности перехода в студии. ПРимерно в половине случае студия тупит при попытке перехода или вообще ничего не делает. В дельфе если интерфейс и имплементация идеентичны переход будет 100%. И даже если отличаются, все равно есть шанс что IDE поймет что искать и найдет.
Понятно, что многие фишки в дельфи сделаны изначально и хорошо, потому что они разрабатывались одновременно с языком.
Но я поэтому и не указываю в качестве примеров вещи, которые на языке завязаны. Уж поиск соответствия между имплементацией и интерфейсом не проблема сделать, особенно в ситуациях, когда не нарушается принцип интерфейс в хидере, имплементация в одноименном cpp.hopungo
23.09.2015 13:41Понятно, что многие фишки в дельфи сделаны изначально и хорошо, потому что они разрабатывались одновременно с языком.
Ну тогда начнём с того, что практически весь .NET (поправьте меня, если ошибаюсь) заточен под си шарп, в котором нет привычного понятия интерфейса и имплементации, все функции инлайновые, поэтому переход по Ctrl — костыль и архаизм.
Я долгое время работал в Студии, потом обстоятельства вынудили перейти на сабж. И такое ощущение, что на 10 лет назад в прошлое отправился. Да, моя версия не самая свежая (XE2), но она вышла позже 2010-й студии… В ней нет ни нормальной генерации кода, ни вменяемого рефакторинга, ни инкрементальной компиляции. Те же самые интерфейсы и реализации приходится вбивать ручками, причём она норовит вставить бегин-енд по два раза — когда дополняет имя класса и когда дополняет собственно метод. Параметры при этом она не дополняет. Ощутимы задержки при открытии не самых сложных форм. Если пользоваться группой проектов, в них нормально не работают зависимости, иногда они тупо не проставляются. Хреново работает поддержка гуидов проектов — более новые версии той же XE ругаются на одинаковые гуиды.
К моим бедам добавляется то, что я работаю в виртуалке, проекты лежат в расшаренной папке, соответственно задержки при попытке прочитать таблицы для автоматической подстановки кода оказываются просто астрономическими. Соответственно, приходится CodeInsight отключать. В итоге у меня получается очень тормозной блокнот с некоторыми возможностями отладки и компиляции приложения по хоткею. Не скажу, что Студия идеальна, у неё тоже много проблем при работе в виртуалке, но при взгляде на Дельфи — таки она кажется совершенством.AllexIn
23.09.2015 13:48Давайте подробнее.
В ней нет ни нормальной генерации кода
Пожалуйста пример.
ни вменяемого рефакторинга
Пожалуйста пример.
ни инкрементальной компиляции
Что, простите? :))
Вы хотите сказать, что любое изменени исходника на дельфи ведет к полному ребилду проекта? :))
Те же самые интерфейсы и реализации приходится вбивать ручками
Ctrl+Shift+C не работает? Это странно.
Кстати, а как вы генерируете имплементацию в студии?
Пока наверно остановлюсь с вопросами, когда с этими разберемся — продолжу задавать. :)hopungo
23.09.2015 14:34Хмм.
Допустим, в Студии я могу написать что-то вроде «добавь воды в чайник», не объявив заранее чайник и воду, и она предложит мне сгенерировать метод «добавить» и переменные «чайник» и «вода». Причём если у меня есть объект класса «чайник», то мне достаточно написать «чайник.добавить(вода)» и разрешить студии его сгенерировать. Если тип переменной «вода» уже известен, то метод создаётся в соответствующем классе и с нужным типом параметров. Это самый простой пример, который приходит на ум. Точно так же можно объявить новый класс — просто напечатав подряд два неизвестных идентификатора в теле существующего класса. Студия будет считать первый новым классом, а второй — объектом этого класса.
В плане рефакторинга — очень много ограничений. Можно создать только процедуру, функцию нельзя, из части другой процедуры, в которую параметры передаются вообще не те, которые надо. Мне бывает нужно преобразовать структуру программы так, чтобы передавать литералы в метод, а Дельфи передаст сами объекты, в целом код в новый метод перенесётся без изменений, и литералы придётся заменять вручную. Насчёт Студии точно сказать уже не могу, но создавалось ощущение, что она «понимала», что я хочу сделать и зачем — литералы она заменяла самостоятельно, и ей не было разницы, хочу я функцию, или процедуру — если слева от выделения стоит "=", она создаёт функцию типа той переменной, которой будет присваиваться значение. Я понимаю, что наивно ожидать от машины, что она будет выполнять все твои пожелания, но в си шарпе правда было удобно писать код, не задумываясь, что он опирается на те возможности, которые ещё не реализованы.
Инкрементальная компиляция — рискну предположить, что вы неверно понимаете смысл данной функции. Суть в том, что любой метод можно переписать непосредственно во время исполнения, практически так же, как и в интерпретируемых языках. Любое изменение исходника на Дельфи ведёт к остановке программы и перекомпиляции проекта. Если приложение тяжёлое, из нескольких пакетов, то скорость разработки значительно падает.
Насчёт Ctrl-Shift-C кстати не знал, спасибо. В си шарпе, повторюсь, нет необходимости генерировать интерпретацию методов, они все инлайновые. Генерируется как раз-таки интерфейс, то есть в сторонней библиотеке внутренний код вы посмотреть не сможете, но вам будет доступна исчерпывающая информация о том, какие методы и свойства объявлены публично.AllexIn
23.09.2015 14:44+1Допустим, в Студии я могу написать что-то вроде «добавь воды в чайник», не объявив заранее чайник и воду, и она предложит мне сгенерировать метод «добавить» и переменные «чайник» и «вода».
Это как выглядит на практике?
Я ничего такого в студии не вижу:
Причём если у меня есть объект класса «чайник», то мне достаточно написать «чайник.добавить(вода)» и разрешить студии его сгенерировать.
И этого я не вижу тоже:
Инкрементальная компиляция — рискну предположить, что вы неверно понимаете смысл данной функции.
Полагаю что это вы не верно понимаете смысл этого термина:
An incremental compiler is one that can recompile only those portions of a program that have been modified. Ordinary compilers must process entire modules or programs.
en.wikipedia.org/wiki/Incremental_compiler
Там, кстати, дельфи в списке инкрементальный компиляторов.hopungo
23.09.2015 15:00+1Вы как-то упорно не замечаете, что я говорю про си шарп. С# который, сисярпом ещё в шутку именуемый. Не плюсы. Вы ещё скажите, что там формы до сих пор можно разрабатывать только в виде редактора диалогов. Поддержка плюсов в студии — костыль, Managed C++ — содомия и разврат.
А как бы перекомпиляция метода во время исполнения ни называлась, в Дельфи её нет…AllexIn
23.09.2015 15:05Я, честно говоря, думал что вы C# приводите в качестве идеального примера, потому что я изначально говорил о сравнении с C++ IDE.
Так то, тот же Eclipse по возможностям при работе с Java уделывает и дельфи и С++ студию.
Но, я уже об этом говорил:
Но я поэтому и не указываю в качестве примеров вещи, которые на языке завязаны
Все эти фишки шарпа они проще реализуемы в силу специфики языка.
Delphi же нативный язык, как и С++. При этом С++ IDE во многом хуже себя ведут чем дельфи и только недавно многие из своих фишек получили, которые были в дельфи чуть ли не с самого начала.hopungo
23.09.2015 17:37Да, тоже подумал, что управляемые языки с нативными несколько некорректно сравнивать. Вот мы и достигли консенсуса :)
Правда к возможностям языка Дельфи у меня нет претензий, у него даже методы расширения классов (хелперы) реализованы изящнее, чем в шарпе. А вот пользовательскую оболочку можно было получше сделать. И функционала, и его качественной реализации катастрофически не хватает. Студия значительно проигрывает по функционалу, если говорить о поддержке нативных языков, но то, что там имеется, работает безупречно.
Ещё хотел заметить, что многие фичи в нативных языках появились благодаря влиянию управляемых, но это уже тема для отдельной беседы.
std
28.09.2015 01:31К вопросу об «инкрементальной компиляции», которая на самом деле «edit and continue» – она в студии есть и для нативного C++. Начиная с VS6, емнип.
И кроме её отсутствия еще раздражало то, что нельзя было текущую выполняемую строку сменить при отладке (например выполнить кусок кода еще раз после изменения значений в переменных)
vlivyur
23.09.2015 15:06В C# надо лампочку дождаться или Ctrl+. нажать, там и будут предложены выходы из ситуации.
AlexP11223
23.09.2015 15:05написать что-то вроде «добавь воды в чайник», не объявив заранее чайник и воду, и она предложит мне сгенерировать метод «добавить» и переменные «чайник» и «вода».
Это ж вроде только в Решарпере, а не самой студии?
Для Дельфи впрочем ничего сравнимого с Решарпером вообще нет.
TerminusMKB
23.09.2015 10:16+6Программировал на Delphi плотно до 2005 года, и при этом совершенно не страдал ни от языка, ни от IDE.
После этого ушёл в web. PhpShtorm, а теперь вот и Idea.
С выходом XE8 решил попробовать — как там оно, с разработкой кроссплатформенных приложений?
И вот сейчас, после Idea, IDE Delphi представляется мне просто адом. Достаточно одного лишь автокомплита, не срабатывающего до тех пор, пока ты не исправишь все ошибки выше по тексту. Это просто сплошное страдание.
Я бы с удовольствием использовал Delphi, получи она нормальную среду разработки.Darthman
23.09.2015 12:28+3Согласен. ИДЕ порой бесит, в ней недостаёт согласованности с компилятором (порой ИДЕ красит красным «ошибки» и отказывается открывать автодополнение, а ошибок нет, просто в компиляторе появились новые фичи, о которых почему-то ИДЕ ничего не знает). Нехватает возможностей открывать два файла рядышком, Как в студии, а не на разных закладках. Совершенно непрозрачная поддержка неймспейсов — камень как в среду, так и в компилятор. Зачем нужны неймспейсы, если вложенности не считаются?
AllexIn
23.09.2015 13:53-1Нехватает возможностей открывать два файла рядышком, Как в студии, а не на разных закладках.
Примерно вот так?
Заголовок спойлераTerminusMKB
23.09.2015 15:05Нет уж, скорее так:
Заголовок спойлераAllexIn
23.09.2015 15:07Эээ. Отличается тем что окно в доке?
UPD: кстати да, у меня в 2009 дельфи второй редактор в док не пихается.
Интересно, в новой дельфе также или нет.TerminusMKB
23.09.2015 15:16Ну, в первую очередь в split режиме окна друг друга не перекрывают.
Вы в левом окне курсором пойдете по длинной строке вправо за границу видимой зоны (строка 347), а вас курсор из виду скроется, а в сплит-режиме просто скрол горизонтальный сработает.AllexIn
23.09.2015 15:17Да, дока наверное не хватает.
Никогда не пробовал окно задочить, всегда на второй моник его убирал, когда надо с двумя окнами поработать.
Думаю в новых версиях этот баг исправили.
Darthman
23.09.2015 15:32Тем, что оно не уходит на задний план.
AllexIn
23.09.2015 15:35Полагаю вы и не пробовали никогда открыть второе окно с кодом в Delphi и, вероятно, думали, что такого функционала вообще нет.
Это окно НЕ уходит на второй план. Оно даже если теряет фокус остается над IDE.Darthman
23.09.2015 16:24+1Полагаю вы никогда не пробовали подобный функционал в вижуалстудии (см. скриншот выше), иначе бы не пытались оправдать это жалкое подобие.
Окей, оратор выше выразился внятнее, чем я. Окно физически не уходит назад, да. Но ведёт себя именно как ушедшее назад.
Скажите честно, при таком раскладе очень вам удобно пользоваться менеджером проектов, например?
А то, что он не позволяет открывать один и тот же модуль дважды, если это модуль формы, это нормально? Мне вот надо смотреть начало модуля и править конец одновременно.
Нет, это полумеры всё.AllexIn
23.09.2015 16:39Но ведёт себя именно как ушедшее назад.
Не вижу ничего, что делало бы его поведение похожим на «ушедшее назад».
Скажите честно, при таком раскладе очень вам удобно пользоваться менеджером проектов, например?
А я так и не использую. У меня два монитора.
А то, что он не позволяет открывать один и тот же модуль дважды, если это модуль формы, это нормально? Мне вот надо смотреть начало модуля и править конец одновременно.
Это ограничение визуального редактирования.
Плата за возможность быстро и удобно ваять GUI.
Говорить, что в студии в этом случае что-то лучше — странно, потому что в ней такого инструмента нет вообще. Если с дельфи работать также как со студией(не использовать визуальный дизайн), то и функционал будет такой же.
Нет, это полумеры всё.
Ну смешно же, вы привязались к тому, что окно не дочится и на этом построили целую претензию к функционалу.
ПРи том что проблема плавающего окна имеет как минимум два простых решения:
1) Выключаем MDI режим и расставляем все окна так как нам удобно, сохраняем в отдельный layout. надо подредактировать два файла — переходим в этот layout. закончили — возвращаемся в MDI.
2) Второй монитор.Darthman
23.09.2015 17:43+1Я формы в делфи «ваяю» крайне редко визуально. Так что для меня важно именно удобство работы с кодом. А оно явно проигрывает студии.
Выключаем MDI режим и расставляем все окна так как нам удобно
Не смешно. Это неудобно. В этом случае все окна идут вперемешку, Начинают налезать другие программы, я этого еще во времена делфи5-7 наелся и был несказанно рад монолитному окошку в 2005й делфи.
2) Второй монитор.
Право, не у всех есть возможность поставить себе два монитора. И причин тому может быть масса, начиная от банальной нехватки места, куда его можно было бы поставить. Да и я не очень себе представляю это решение, когда кодить нужно с ноутбука в пути, или командировке. Это костыли всё.hopungo
23.09.2015 18:16Думаю, возможность сравнительно быстро набросать форму в графическом режиме вкупе с поддержкой нативного кода спасает Дельфи от полного забвения. В VS при работе с С++ приходится довольствоваться древнейшим редактором диалогов, а главное окно так вообще до запуска приложения не увидеть. В Дельфи кстати тоже создаётся главное окно, но оно невидимо. Вместо него запускается MainForm, которая по сути является допиленным диалоговым окном (если говорить строже, идея визуального редактора в ней доведена до ума) и построена на VCL.
И таки да, компилятор языка Дельфи крайне быстр, что тоже играет свою роль. Пока «насильники» соберутся, «греки» уже заберут всех девок себе ;)
hopungo
23.09.2015 18:00Стесняюсь спросить, а покупка второго монитора только ради того, чтобы скомпенсировать отсутствие дока, как-то оправдана финансово? Вы, конечно, скажете, что второй монитор — всегда хорошо, но с ним становится хорошо независимо от того, в чём вы будете работать. Второй монитор также не решит проблему тормозов и глючного отладчика.
Darthman
23.09.2015 18:06У рекорда есть такое определение у меня:
strict private class var FZero: TVec2f; public class property Zero: TVec2f read FZero;
Какого черта IDE мне везде пихает strict private вместо проперти в автодополнении, а потом при компиляции ругается сама же на это?
Почему константы, определнные в хелпере подставляются автокомплитом от имени хелпера, а не базового класса. ИДЕ ругается, но продолжает сама подставлять.
ИДЕ постоянно перемешивает модули в DPR файле, дублирует их, игнорируя дефайны. У Среды очень много проблем, но их не фиксят уже лет 10. Как они появились в 2005 версии, так и идут. Зато кроссплатформенность, да.hopungo
23.09.2015 18:27У Среды очень много проблем, но их не фиксят уже лет 10. Как они появились в 2005 версии, так и идут. Зато кроссплатформенность, да.
Как мне кажется, люди, разработавшие платформу, уволились, а индусы, которые пришли на их место, не разобравшись в написанном до них, стали писать свой код, реализовывая поддержку всего что только можно. Это в частности объясняет перманентность многих проблем. И это довольно странно, учитывая насколько грамотно написана сама VCL. Не разобраться в таком коде способен только изрядный лентяй.
Хотя в их защиту можно сказать, что Win32 API тоже не блещет изяществом, и возможно под капотом код дельфей далеко не так гламурен, как высокоуровневая реализация в VCL…
hopungo
23.09.2015 19:27Какого черта IDE мне везде пихает strict private вместо проперти в автодополнении, а потом при компиляции ругается сама же на это?
Почему константы, определнные в хелпере подставляются автокомплитом от имени хелпера, а не базового класса. ИДЕ ругается, но продолжает сама подставлять.
Можно писать программу грамотно, максимально используя все имеющиеся возможности, как заранее существующие, так и реализованные самостоятельно. В результате имеем Визуал Студио, в которой автокомплит в окне просмотра переменных работает аналогично основному редактору. Но и не студией единой. (У неискушённого читателя может сложиться мнение, что я пою дифирамбы Корпорации Зла, но Студия и впрямь хороша, как и Офис, впрочем.) Eclipse тоже хорош, но мне удалось лишь слегка пощупать джаву, а в С++ я пока так ничего и не пытался сделать.
А можно писать так, как написана Дельфи. В результате в окне Watch бывает нельзя просмотреть переменные или вызов какого-либо метода генерирует весьма не безобидное исключение, после которого программа по идее вообще должна вылететь. При этом программа работает нормально, несмотря на то, что в коде вызывается тот же самый метод. Гораздо хуже то, что толку от такой отладки практически нет, и приходится выводить значения переменных месседжами или в лог. А другие операции с отладчиком, гораздо более невинные, достаточно часто вызывают переполнение стека и прочие неприятности. Иногда отладчик останавливается, как упрямый осёл, и никакие меры не могут заставить продолжать выполнение кода дальше, и приходится запускать отладку заново. Сказать, что это меня бесит — ничего не сказать.hopungo
23.09.2015 19:47Если что, я намекаю на то, что редактор кода, отладчик, инспектор, автодополнение и компилятор писали разные люди, которые к тому же плохо скоординировали свою работу. В результате у всех получились велосипеды, несовместимые друг с другом.
Как это выглядит
hopungo
23.09.2015 14:50А вы в виртуалке попробуйте, а потом на реальной машине ;)
У меня сложилось стойкое ощущение, что если в программе есть хоть малейший косяк, Дельфи обижается и начинает пакостить. Сначала отваливается Watch, потом Inspect, а в особо тяжких случаях она начинает останавливаться по брейкпойнту исключительно в CPU View. Не говорим уже о том, что она никогда не покажет, какое место ТВОЕГО кода вызвало ошибку, может тупо вылететь в процессе исполнения от External Error, или «уехать» куда-то в неизведанные области памяти.
Говорят, что те, кто «не в восторге» от Дельфи, просто его «ниасилили». В ответ можно сказать, что те, кто считает его нормальной средой, «ниасилили» остальные среды и не привыкли к хорошему.
Darthman
23.09.2015 12:19+2Может наконец-то и стартер сделают бесплатным. По крайней мере я на это надеюсь. Это бы привлекло много молодежи в ряди делфистов.
ZblCoder
23.09.2015 13:38Даже годовой подписки было бы достаточно (с разумной суммой), с постоянными обновлениями. Только бы добавили в Стартер, все урезанные горячие клавиши, возможности дебага и рефакторинга.
NeoCode
А я надеюсь что будет и у них какое-то движение в сторону open-source. Все-же корпорация+сообщество лучше чем просто корпорация.
Arvur
Ну вот и отдали бы саму среду в OpenSource. В дар сообществу Lazarus/FPC, например.
И дальше специализировались на своих инструментах )))
Эх, мечты-мечты…
NeoCode
А что например мешает открыть общие средства разработки (ту же VCL) под какой-нибудь BSD лицензией? Наверняка нашлись бы желающие портировать под Linux и OSX (хотя под OSX у них вроде что-то есть… но я давно уже не отслеживаю: ).
Среду разработки было бы тоже очень неплохо, по старой памяти среда-то была неплохая. Тем более что они в процессе перехода на открытый Clang, вот бы и Дельфи перевели на LLVM заодно. Хотя может и старый компилятор кого-нибудь заинтересовал бы, чем больше компиляторов тем лучше.
Оставили бы платными специальные вещи типа работы с коммерческими СУБД, ну и корпоративную поддержку. Сейчас, когда есть Qt, Java, C# и все это фактически бесплатно, требовать с разработчиков такие суммы денег странно:)