Pull to refresh

Comments 296

Сразу оговорюсь что люблю Делфи и регулярно на нём пишу всякго рода програмульки для себя. В посте
Таким образом, основные причины временного заката Delphi:
низкий порог вхождения

Низкий порог вхождения разве когда-то был минусом?
Вы имхо не описали главную беду из за которой делфи отстал из жизни лет на пять, и из за которой многие кто пишут на этом замечательном языке по прежнему сидят в седьмой версии… А именно бажность последующих выпусков в купе с невнятными нововведениями
В свое время (лето 2009-го года), причину падения популярности Delphi мне назвал человек, до сих пор преподающий Delphi и периодически общающийся с разработчиками CodeGear, которые сейчас вошли в компанию Embarcadero.
Когда у компании Borland были финансовые трудности, они выпустили акции, которые разошлись по большой цене. Компания Microsoft, желая лидировать в области разработки сред и языков программирования, скупила через подставные фирмы около 40% акций, получив право блокировать принимаемые советом директоров решения.
А далее все просто. Delphi целенаправленно не давали развиваться, параллельно переманивая разработчиков с компании Borland в команду C#.
Все остальное сделало время. Поскольку никто и ничто в нашем мире не развиваясь не может оставаться на лидирующих позициях долго.
А низкий порог вхождения сейчас есть и в других языках. И это не так сильно им мешает развиваться.
Везде заговор!
Delphi целенаправленно не давали развиваться, параллельно переманивая разработчиков с компании Borland в команду C#.

А хоть маленькие-то пруфы есть? Хотя бы того, что разработчики из Borland перешли в Microsoft?
Вот что есть в Википедии:
В конце 2002 года появились слухи о возможной покупке Borland Microsoft-ом. Эти слухи не подтвердились, но, по неподтверждённым данным, в какой-то момент около 5 % уставного капитала Borland всё-таки принадлежало Microsoft.
> Хотя бы того, что разработчики из Borland перешли в Microsoft?

Ну насчет главного идеолога Delphi вроде бы известно, но он ведь из C# не стал делать MS Delphi и слава богу.
Делать Delphi не стал, но приличное количество идей позаимствовал.
Может всё же повторно реализовал свои же идеи? :)
Обычная практика — перекупать звезд.
Перекупить Хайльстберга — это зло, а Аршавина — обычное дело :)
Мне тоже слабо верится, но если предположить что это правда, то не удивительн очто нету пруфов. Были бы пруфы — было бы судебное дело против MS.
Поломались они гораздо раньше. Более того, они изначально были мертворожденными, это как солома, которая горит ярко, но недолго.
Бред какой-то говорите, для своего времени это была революция в разработке, MS был дааалеко позади…
Революция — это VCL. Это тогда было действительно инновацией.
Мне кажется, что у Microsoft нет цели убить другие средства разработки. Даже наоборот: чем больше сред разработки, тем больше рынок, больше программистов. Если бы они хотели убить всех и вся, начали раздавать Visual Stuido бесплатно (так они убили Netscape Navigator, выпустив бесплатный IE).
По моему только на Хабре таких разборов полетов делфи было не один, и не два…

Ну а то что в противовес языку часто приводится C#, так Delphi тут конкурировать проблематично. У C# за спиной поддержка Microsoft, да и прочие плюшки вроде WPF. Тут Delphi малесь не на своём поле играет, MS с собственным языком под собственную систему по технологиям часто опережать будет. ИМХО
Все плюшки Delphi утекли в C# после ухода Хейлсберга из Borland в Microsoft.
Хейльсберг пришел в Майкрософт в 96-ом. .NET зарелизили в 2002-ом что мешало Борланду выпустить за всё это время революционный продукт.
Что это за компания такая что уход одного человека так всё ламает. Ведь уже были тогда и Java, Java SWT, Java Beans, Visual J++ идеи лежали на поверхности, но Борланд своими неурядицами в конце 90-х и бездарным менеджментом просто проспала своих клиентов и рынок. Им было мало денег они хотели на ALM-рынок, а на дойную корову средства разработки времени, денег, людей не осталось.
Вы недооцениваете влияние одного человека на будущее всей компании и продукта, пока есть «вдохновитель» все живет, когда за дело берутся «голые» менеджеры все идет…
UFO just landed and posted this here
Что-то в последнее время повыползали как бы попытки проанализировать причины непопулярностисмерти Delphi. Господа, давайте прекратим пинать мертвую лошадь и пойдем дальше.

В конце концов, Римская империя умерла, СССР распался…
Вот именно «ВУЗы прогибаются под рынок» в таком мелком масштабе и есть проблема нашего ИТ. В буржуйских вузах учат ML и хаскел, а у нас мечатся между паскалем, дельфи и джавой.
У нас на первом курсе ассемблер и С++. Мне кажется вполне логичная программа.
На разных специальностях разная программа обучения, но в любой из них делфи лишний.
Ага, ага. И ни капли функционального программирования. В этом и проблема советской школы — она застряла в 60ых, когда только-только появились «программирующие программы».
Давать параллельно с ООП функциональное программирование — многовато для одного года, не думаете?
Я думаю, что маловато. Потому что есть ещё пролог, который было бы тоже неплохо преподавать.
Люди теорию вероятности 5 курсов понять не могут, а вы их за 8 месяцев хотите научить четырем разным идеологиям программирования (процедурное, функциональное, логическое, объектно-ориентированное).
Проблема даже не изучить синтаксис (что за 8 месяцев зубрёжки вполне реально), а освоить и переварить каждую из идеологий. А это — очень сложно.
Проблема даже не в 8 месяцах зубрёжки разных идеологий, а в том что первые курса три забиты под чистую абсолютно ненужными предметами для будущих Программистов.
С этим у нас, кстати, всё хорошо. Из явно лишнего — история (её проходили и в школе) и история университета. Остальное полезно и нужно, хотя бы в ознакомительном порядке (по 1 семестру).
Ознакамливать должны в школе. В университете должны наполнять голову концентратом из профессиональных знаний и навыков.
В соседней с Россией стране историю среднестатистический студент сдаёт 3 раза. Один раз в 9м, один раз в 11м, и один раз в универе. И 1 из 1000 что-то помнит после экзамена.
Не та политика образования, учиться должно быть интересно, так чтобы обучаемый сам хотел учиться, а не что бы его заставляли.
Зря минусуете, человек дело говорит. Я сейчас на первом курсе, учусь по достаточно далёкой от IT технической специальности, однако в первом семестре у нас была история (кстати, завтра её сдаю), которая технарю на работе до лампочки (а для общего развития была выдана в полном объёме в школе).

НИЧЕГО глубже, чем в школе пройдено не было. А дальше меня ждут «Психология и педагогика», «Экономика», «Экология», «Политология», «Философия» и куча других прекрасных дисциплин, а уже только потом (по сути, начиная с третьего курса) я буду изучать дисциплины, нужные мне как специалисту — «Средства электроавтоматики в гидро- и пневмосистемах», «Надежность и диагностика гидромашин, гидро- и пневмоприводов» и тому подобные.
UFO just landed and posted this here
Я не против преподавания той же истории технарям, я говорю, что это абсолютно не имеет смысла, если заново проходить в универе школьную программу.
скажу вам как кандидат в кандидаты технических наук: история и философия науки — самый полезный предмет, изученный мной за последние 10 лет.
Для меня, как для аспиранта технической специальности и абсолютного НЕгумманитария это самый отвратительный и бесполезный предмет, на который придется потратить кучу ценного времени…
между тем, кандидат любых наук, пусть даже филологических, опираясь на данный предмет, может утверждать, что торсионные поля — чушь и ересь.
напротив, незнакомый с данным предметом технический специалист может этими самыми полями увлечься настолько, что потеряет не одну кучу ценного времени.
Очень хорошо показывает, на сколько качественно развито образование. Тематические дисциплины, которые предполагается применять в работе менее полезны левого предмета. А потом в менеджеры по продажам или преподы, ага…
Тем не менее, аналог кандидата наук «там» — Ph. D.
Что в переводе означает «доктор философии».
Ну так это название должности такое просто.
В идеале выпускник ВУЗа должен иметь способность работать по специальности. Или заниматься научной деятельностью опять-же, по специальности.
И если левые предметы вроде истории (для тех. специальности) оказываются наиболее полезными в обучении, то обучение пошло не в ту сторону.
>Сейчас я уверен, что человек, а особенно работник умственного труда, должен быть развит всесторонне.

Для всестороннего развития есть 11 классов полного среднего образования. В высшем учебном заведении человек должен получать выбранную им специальность, а не тратить время на «школьные» дисциплины.
Вот это я и имел в виду, впрочем, тема не об этом
Изучать «все стороны» кроме одной (действительно нужной) целых 2 года — это не всестороннее образование, а «многобокое» :) Нельзя ведь сказать, что однобокое, но главного направления явно не хватает.

Специализация практически всегда лучше универсальности. И не зря люди поступают не просто в универ, а на вполне определённый факультет. Иначе было бы только один факультет — всесторонний.

Я только со своей колокольни могу судить. Принимаем студентов со специальностью «программист» (разные названия в разных вузах). Продолжать наверное не стоит. Об уровне качества образования выпускников уже писалось не раз. Причём практически без разницы, что за человек — бывает, что это отличник по жизни, золотая медаль в школе, красный диплом в вузе, победитель олимпиад… Но к работе человек не готов. И долго ещё не будет готов. 5 лет коту под… всестороннее образование.

Всесторонне человек должен развиваться сам. Образование во все стороны из под палки только отбивает любознательность и тягу к новому (да и времени на расширение кругозора после такой учёбы уже нет — нужно спешно подтягивать ту сторону, которой не уделялось должного внимания). В универе должны учить тому, за что человек платит, тому, чему обещали научить (см. название специальности при поступлении). Любые отмазки про «всестороннее» — это оправдание ненужных дополнений, которые втюхивают до кучи. Поди проверь качество всестороннего образования! Нет критериев. А вот по специальности — легко. Почти ноль. Но отмазка «ну мы же дали вам фундаментальное, всестороннее» — действует. Пока. Надеюсь дожить до лучших времён. Когда дополнения будут именно дополнениями. После главного. Когда средний бал будет вычисляться так: 90% по основному предмету, и 10% на все оставшиеся стороны. Мне не нужен выпускник с пятёрками по философии и экологии — мне нужен полноценный член команды после двух месяцев испытательного срока. У нас на бесплатных курсах за пару месяцев изучают программирование глубже, чем в вузе. И пользы больше. Сорри за нытьё. У кого что болит, тот о том и… ноет :)

Кстати, я не всю жизнь был программистом. Работал несколько лет кабельщиком-спайщиком, связистом-телефонистом. Учился на это дело. Та же ситуация. Только я познавал её с другой стороны баррикады. Быстро понял, что мог сэкономить несколько лет жизни (себе и преподавателям :) ), если бы сразу на курсы пошёл. Даже интересно — а бывает по другому? :)
Специализация практически всегда лучше универсальности
Ну это кому как :)
Меня лично, люди-универсалы впечатляют намного больше, чем полуроботы-узкоспециалисты, как в истории, так и в личном опыте :)
Ну да это философский вопрос :)
Мне не нужен выпускник с пятёрками по философии и экологии — мне нужен полноценный член команды после двух месяцев испытательного срока. У нас на бесплатных курсах за пару месяцев изучают программирование глубже, чем в вузе. И пользы больше.
Вам просто не нужен выпускник университета — вам достаточно того же выпускника курсов/пту/техникума :)
Поэтому ваши претензии к программе вузов, имхо, слишком необоснованны. Предъявлять же претензии к качеству обучения, которое несомненно в очем плачевном состоянии, имхо, бесполезно, пока государство не заинтересовано в его качестве, а само наличие этого самого высшего образования сейчас больше мода, чем необходимость :)
Могу лишь повторить, что я не против всестороннего образования. Просто этим человек должен заниматься сам. Меня и программистом-то взяли «за кругозор и эрудицию», как мне потом признались через какое-то время после собеседования. Точнее, взяли тестером, а потом я уже доказал на деле, что могу работать программистом.

У нас многие руководители отделов выпускники «курсов/пту/техникумов». Это показательно, на фирме 250 человек работает (в русских филиалах). Отшибают у человека волю и тягу к саморазвитию напрочь в наших вузах. Ну это я так интерпретирую, у вас может быть другое объяснение найдётся. Я не замкнут на своём опыте, чужой мне тоже интересен.
Ознакамливать должны в школе. В университете должны наполнять голову концентратом из профессиональных знаний и навыков.

В школе должна быть база. Профессиональный концентрат — в пту. А в университете должны давать _высшее_ образование и готовить интеллигентного интеллектуала со стойкой сформированной жизненной позицией и умеющего при этом что-то делать более-менее профессионально :)
Скорее не ПТУ (они же лицеи), а техникум (они же колледжи) должен давать профессиональный концентрат.
Беда только в том, что преподавать у нас за частую идут люди которые не смогли себя реализовать профессионально… Это было и советское время, но сейчас это особенно актуально, так как зарплата преподавателя в основном в несколько раз ниже чем специалиста в какой-то области…
У нас полстраны уже этих интеллигентных интеллектуалов. Давайте лучше чему-нибудь полезному будем учить, а не молиться на Всесторонне Развивающее Высшее Образование.
>готовить интеллигентного интеллектуала

В последнее время слово «интеллигентный» и его однокоренные сородичи вызывают у меня стойкое отвращение. Так что лучше просто «интеллектуал».
читайте как «культурного» (ну или хотя бы воспитанного) интеллектуала :)
Предметы «Риторика» и «История права», ага. Но отменить их и заменить программированием смысла нету, имхо. Программистом нужно созреть, за неделю с нуля выучится практически нереально, дополнительные пары выше нормы только отобъют желание, а те, кому интересно и вне вуза сами выучатся.
Те кому интересно и без вуза сами выучаться, примеров множество даже среди моих знакомых. А вот вуз не из каждого закончившего сделает программиста(есть у нас несколько особ с «высшим» образованием, одна из которых на свою специальность пошла потому что название понравилось и теперь при любой проблеме хочет переустанавливать винду, а второй искал слоты на материнке под видеопамять при этом заявляя что он скорее железячник чем программист) — тут либо есть задатки и будешь программистом, либо никакие вузы не помогут.
Имхо, нормальная теория вероятности даст фору по сложности всем четырем идеологиям, вместе взятым. Особенно если пытаться ее применять на практике (стохастическое моделирование, скрытые марковские модели, и тп). Хотя за год их, конечно, не выучить.
Имхо нормальный матан даст фору любому терверу, да и идеологии просты и понятны(хотя их далеко не 4) любому кто способен логически мыслить.
Тут скорее должно быть разбиение на специальности программистов. Добавлять НУЖНЫЕ им предметы, например Линейную алгебру тем кто будет работать с 3d, некоторые разделы физики для тех кому интересно написание физических моделей, и так далее и тому подобное.
В идеале, студент на первом-втором курсе осваивает основы программирвоания(идеологии, языки, стили, методы, etc), а дальше выбирает нужные ему предметы которые идут не голыми(биохимические процессы программисту не настолько интересны как их реализация), а в контексте программирования.
Но это всё утопия, и будут наши дети учить всё подряд становясь узкими специалистами широкого профиля, если, конечно, трактор не доедет до ближайших соседей)
(хотя их далеко не 4)

Конечно. Просто в сообщении речь шла про 4.

Добавлять НУЖНЫЕ им предметы, например Линейную алгебру тем кто будет работать с 3d

Я, конечно, учился на экономиста, но если бы учился на программиста, например веб-девелопера, был бы очень огорчён, если бы меня обделили курсом 3д. =)
что то все про сопромат молчат — видимо даже вспоминать страшно :)
UFO just landed and posted this here
Извините, а что эти оболдуи на дневном отделении тогда делают?
Будьте снисходительнее. Таких — 90%. И нету смысла навязывать. В институте даже те, кто хорошо учится делают это ради оценок. И это — не плохо. Не надо грузить институтом. Те, кто чего-то стоит и чего-то хочет добится сделают это вне стен института. Но для этого их не надо перегружать ненужным «Домашним заданием», тупыми рефератами и принципами некоторых тупоголовых преподавателей, которые неправильно преподают.
Вот поэтому я и считаю, что совковые и постсовковые ВУЗы нихрена ИТ не учат. Потому что тем, кому интересно, приходится учить вне стен, а тем, кому не интересно — достаточно тупых рефератов. А если ИТ учить вне стен, то нафига эти стены? Корочки клеить? Да нафиг мне эти корочки сдались.
>Корочки клеить?
А Вы как думали?
>Да нафиг мне эти корочки сдались.
Вам не сдались, а многие хотят их иметь.
>В институте даже те, кто хорошо учится делают это ради оценок.
Ну не все, конечно. Но большинство «отличников» просто умеют хорошо крутиться-вертеться. Получить будущему «программисту» за чужую курсовую «отлично» – это реально. Многие так и делают.
>А если ИТ учить вне стен
Ну нелиповые IT-шники и делают… Университет, это так, для «общего развития ума».
Поправочка:
>Получить будущему «программисту» за чужую курсовую «отлично» – это реально (при том что он ничего не понимает)
Многие не хотят ах иметь, а хотят чтобы их сотрудники их имели, более того, для некоторых вещей (лицензирование, например) закон требует, чтобы сотрудники корочки имели, да и в тендерах-конкурсах встречаются требования об образовании сотрудников.
У нас в УПИ преподавали пролог, ничего в нем не понял) Магистрам преподавали гораздо более полезный лисп (они правда тоже, по рассказам, ничего не поняли). Но это все было мельком и как-то несерьезно, основа — все равно C++ и ассемблер, т.к. готовили из нас системных программистов.

А насчет западных универов и обильной функциональщины — это иллюзия, там тоже лисп и т.д. вытесняется явой, самый банальный пример — даже в MIT о scheme больше не рассказывают.
Ну у меня например был 1 семетр лиспа и 1 семестр пролога; помимо остальных дисциплин по специальности.
По работе с ними так и не сталкивался, но кругозор расширил, общее представление имею, выяснил круг задач да этих парадигм.
В случае появления реальной задачи, буду знать с чего начать и куда копать, а это имхо самое главное.
Ассемблер на первом курсе имхо слишком. У нас на втором давали, так больше половина сдать не могла, а потом еще повтор на четвертом, но уже с большим уклоном в железо — опять у народа были проблемы серьезные. А тут на первом курсе…
На втором в смысле после основательных курсов по высокоуровневым ЯП и ООП.
>В буржуйских вузах учат ML и хаскел
О Б-же, я был о них лучшего мнения.
количество проектов, написанных недопрограммистами увеличивается

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

заказчики все чаще и чаще слышат, что «проще переписать, чем исправить/доделать»

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

ВУЗы прогибаются под рынок, Delphi начинают исключать из программ обучения студентов


ВУЗы взялись за ум, и перестали готовить вместо программистов чёрт знает кого. Молодцы.

все больше и больше народу/заказчиков/руководителей начинают думать что «Delphi — это плохо»

Делфи, в его существующем варианте, это не плохо — это очень плохо. Если бы из него вкинуть весь мусор, убрать этот дурацкий редактор форм плодящий гавноприложения, выкинуть избыточный синтаксис паскаля и переписать компилятор на что нибудь нормальное, то может быть и вышло что, а так — мёртвый язык.
И да, как писали выше, он не просто так умер, он умер от неконкурентоспособности, ведь от того что Вы с детства любили Вашего старенького жигулёнка, Вы же не бежите покупать новую Ладу Калину?
Если бы из него вкинуть весь мусор, убрать этот дурацкий редактор форм плодящий гавноприложения, выкинуть избыточный синтаксис паскаля и переписать компилятор на что нибудь нормальное, то ...

Извините, но Питон уже есть
Именно об этом и речь) Уже есть отличные языки, зачем ковырять чей то труп для того чтобы сделать ещё один(и не факт что что-то выйдет)
PS а кроме питона есть ещё много других отличных языков
Питон в данном случае имя нарицательное =)
Не, MFC — это жуткая смесь ОО и процедурного стилей. Совсем не пример хорошей технологии.
MFC — тонкая обёрка над WinAPI (классическая фраза). В меру удобная, потому что обёртка, в меру неудобная, потому что тонкая :)
Очень удобна для изучения WinAPI, потому что не мешает до него добираться, и помогает не повешаться/застрелиться/выпить яду (нужное подчеркнуть) в процессе изучения.

После слияния в экстазе с более молодой и продвинутой ATL, старенькая MFC существенно похорошела. Новый набор контролов (давно ожидаемый, заменивший кучу сторонних расширений) добавил старушке привлекательности. Интерфейс а'ля MS Office, риббоны и прочая…

Чем MFC лучше WPF, например? (Ещё раз, я не говорю «лучше», я говорю «чем лучше», для кого-то минусы перевесят плюсы, но это же не значит, что плюсов совсем нет). Например, визард сгенерит кучу вариантов заготовки вашего приложения за секунды, нужно лишь выбрать нужные опции. А мой коллега, агитирующий за WPF, лишь за неделю сделал маленькую часть всего одной такой заготовки, к тому же глючную. И без таких давно стандартных фич, как горячие клавиши, хинты в статусбаре и т.п. Оно может и не надо сейчас кому-то, но в корпоративной среде… Там всё стабильно, если не сказать старомодно. WPF ещё долго нарабатывать ту базу кода, что давно отлажена в MFC.

Впрочем, сам я смотрел в сторону WPF давненько. На тот момент там ещё не определились даже с таким важным механизмом, как маршрутизация команд, народ делал свои альтернативные реализации. Называть настолько недоделанные вещи фреймворком… обман, имхо. Это так, набор классов, конструктор лего, комплект «сделай сам». WPF скорее сама новое API, нуждающееся в обёртке, чем библиотека над каким-то API.

Вот… А MFC вещь завершённая, зрелая, чем и хороша. От чего и помрёт. После зрелости не избежать старости. Но она прожила долгую славную жизнь. Хоть и не вся слава была доброй :) О её смене пока нельзя этого сказать, и долго ещё нельзя будет. (Я пока присматриваюсь к Qt, тоже долгожительница, к тому же ей всё равно где жить.)
MFC это бесчеловечное надругательство над Си и Си++ с кучей костылей, проблем и просто ну совершенно угребищным синтаксисом, названиями макросов и тому подобным ужасом. WPF в этом плане просто ну на порядки лучше даже чисто архитектурно. Сегодня начинать проект на MFC — это самоубийство! Раньше то конечно необходимость во многих этих костылях была нужна, но сегодня?
Qt хоть и немногим моложе MFC, но её в 2005 году фактически переделали с нуля! И код, написанный на Qt, выглядит в сто раз лаконичнее и понятнее, чем на MFC. Да и ногу себе прострелить куда сложнее.
Я сразу сказал, почему MFC неудобная — потому что это хоть и обёртка, но тонкая. Большинство её проблем — прямое следствие проблем WinAPI, с его синтаксисом и отсутствием лаконичности с понятностью.

Опять же, нежелание Microsoft переписать MFC с нуля тоже вполне объяснимо. Не их стиль. Их фишка — совместимость. Я качал древние проекты на MFC с codeproject.com, компилил в Visual Studio, которая старше на несколько поколений — и всё работало. Правки очень редки и минимальны, типа заменить UINT на UINT_PTR в одном месте.

Проблемы же от стрельбы в ногу — ну, это уже проблемы самого программиста. Просто не давайте чужому коду оружия: я всегда пишу отдельную DLL, где располагается реализованный мною функционал, а GUI в EXE отдельно стоит и не вмешивается, там никакой стрельбы и других рискованных занятий, всё работает как часы, баги редки до ужаса, вот в чём весь ужас. Поэтому если я в DLL стреляю себе в ногу, я точно знаю, что виноват сам, и не на кого валить свой промах. Ну или попадание. В ногу :)
Переписывать MFC просто без толку, её нужно пометить как deprecated и выпилить вообще из новых студий, что кажется и было сделано.
WinAPI тоже уж очень страшным вышел: мусора там over 9000, да и синтаксис страшен.

>Проблемы же от стрельбы в ногу — ну, это уже проблемы самого программиста. Просто не давайте чужому коду оружия: я всегда пишу отдельную DLL, где располагается реализованный мною функционал, а GUI в EXE отдельно стоит и не вмешивается, там никакой стрельбы и других рискованных занятий, всё работает как часы, баги редки до ужаса, вот в чём весь ужас. Поэтому если я в DLL стреляю себе в ногу, я точно знаю, что виноват сам, и не на кого валить свой промах. Ну или попадание. В ногу :)

Хм… вот поэтому те фреймворки, которые всякую низкоуровневую хрень инкапсулируют от конкретного программиста лучше, поэтому Qt в разы лучше MFC спроектирована. Поэтому она столь кроссплатформенная, поэтому там и по ногам сложнее стрелять, ибо стрелять во все в обычных случаях даже не требуется.
MFC в Visual Studio 2010 есть, в ней и пишу.

Огорчает, что Microsoft вообще сокращает поддержку C++. Встроенное тестирование, Calculate Code Metrics, и т.п. — всё это доступно лишь для C#, Visual Basic, на крайняк в C++/CLI. Наличие поддержки последнего говорит о том, что это чистый маркетинг, а не технические сложности.

Т.е. MS весь C++ пометила уже как deprecated.
Они и C99 отказались поддерживать, и вообще двигают только свою платформу .NET.
C++ сейчас активно Intel+Nokia продвигают, а также частично Apple способствует. Поэтому ничего с плюсами не случится от того, что MS выкинут их поддержку.
Со мной что-то случится :) Плюсам-то да, ничего не будет. Хуже того, что уже есть. Отток молодых имею ввиду. Или скорее отсутствие притока.

И мне придётся перепрыгивать с Visual Studio. Не помру, справлюсь, иногда юзаю Eclipse, в чём-то он лучше, но там в основном на Java пишу, некорректное сравнение. В «детстве» юзал Borland C++. Кое-что вообще без IDE пишется прекрасно, в Notepad++. Но вообще подсел я на эту студию, давно вне конкуренции для меня лично.

Впрочем, переход на .NET, C#, WPF совершенно не исключаю. Когда (и если) дозреют. Тонкие ценители перечисленного — не ругайтесь. У каждого свои критерии для оценки. О причинах «недооценки» WPF, к примеру, я писал. Это совершенно не означает, что мне не нравится технология. Наоборот, для графики я собираюсь опробовать WPF в С++ обёртке или как внешний процесс.
>Со мной что-то случится :) Плюсам-то да, ничего не будет. Хуже того, что уже есть. Отток молодых имею ввиду. Или скорее отсутствие притока.

На форумах кучу вопросов по Qt задают, все хорошо идет.

>Наоборот, для графики я собираюсь опробовать WPF в С++ обёртке или как внешний процесс.

Тогда уж лучше qml попробовать, там как раз С++ родной язык для оберток
Начал читать про qml с вашей подачи. Ваше же, Первые шаги с QML.

Забавно, не так давно приходила в голову мысль «эх, было бы что-нибудь типа XUL или XAML, но на основе YAML. И вот оно :)

Кстати, в комментах там многие недовольны, типа что за JSON, надо всё на XML. Предлагаю вам такой аргумент в подобных спорах: „JSON — подмножество YAML, языка не на много моложе XML, живёт с 2001 года, RFC 2822 (который основан на знаменитом RFC 822 от 1982 года). Просто менее популяризированный, но гораздо более человекочитаемый, и, главное, человекописательный“ :)

Я сам про YAML узнал недавно. Проект, которым сейчас занят, использует RDF и OWL, в основе тут XML обычно. Но есть и более простые формы записи (Turtle), в основе которых как раз YAML. Это просто спасение. Разумеется, есть конверторы туда-сюда-обратно. И поддержка самого YAML (и JSON) в куче языков. Мода на XML — это мода, и ничего более. Да, иногда это посредник между человеком и машиной (хотя сделан скорее для обмена между машинами разных платформ), и он чуть ближе к человеку, чем форматы до него. Но это далеко не идеал, пусть лучше машина за меня пишет/читает, чем я за неё :)
Советую присмотреться к Qt. Действительно хорошая вещь (возможно, для C++ — лучшая). Но после MFC мозги надо немного повернуть. Иначе получится плохой код. WPF — для C++ оно вообще слабоюзабельно, для C# — ничего так, очень симпатично, радует ориентация на вектор, а не растр. Но соглашусь, что в данный момент это база, не имеющая готовых решений. Точнее они есть, но в основном «левые» — каждый изобретает свои. Взять хотя бы PropertyGrid — его аналога под WPF нет (опять же есть куча незнамо каких реализаций, wpg.codeplex.com/ наверное лучший вариант, что представляет на данный момент не знаю, но года 2 назад, многого не хватало, впрочем это было только начало)
Да, Qt — вещь. Я сказал тут чуть выше, что уже присматриваюсь, но я обычно смотрю руками :) Я писал немного на Qt. Порог вхождения низок. При том, что дело осложняло переход с Windows на Linux, с Visual Studio на KDevelop, я написал требуемое за пару недель не напрягаясь, скорее получая удовольствие. Слегка переделать мозги понадобилось лишь для понимания сигналов и слотов, непривычна была концепция moc.

WPF юзал конечно же на C#. Я не такой уж «полиглот», но считаю, что глупо соваться в чужой монастырь со своим уставом. Сейчас пишу проект, где ядро «IDE» на C++, основной функционал вынесен в отдельные процессы на Java (из-за готовых библиотек в предметной области), работа с текстом и HTML/CSS — на Perl. И в «IDE» ещё встроил Lua scripting ради гибкости без перекомпиляции и кастомизации юзерами. И есть ещё .cmd-батники. В общем, где что больше подходит, на том стараюсь и писать. При этом не забывая использовать имеющийся опыт и наработки.
>Да, Qt — вещь.

Тут как посмотреть. Из Qt проги можно юзать любую С++ либу, но вот юзать Qt либу в обычной С++ проге это да… больно короче: придется обертки писать и много.
Жаль. MFC я в юнит-тестах спокойно запускаю несколько раз (т.е. GUI запускаю в консоли, WinMain в main), и это работает. В нескольких файлах тестов у меня несколько «микро-приложений» — с наследованием от CWinApp, CWindow. Кто-то говорит, что GUI очень сложно тестить автоматически. Хм. Если целиком всю махину — то конечно. Но тогда это уже не юнит тестирование. А если писать так, что целое легко разобрать на запчасти — то вполне легко и тестить.
В Qt есть целый модуль QTest и там очень много полезных плюшек для написания unit тестов GUI приложений
Там много что есть. Свой браузер, например, Webkit вроде. Свой движок ECMAScript и т.п.
Но не тем путём идут товарищи вот именно в этом вопросе. Закрытость платформы ведёт к её коллапсу, ака Дельфи.

С той же MFC я могу CppUnit юзать, а могу и Boost.Test. И ещё полдюжины всяких разных.
Впрочем, я надеюсь, что и с Qt многое стороннее вполне можно использовать.
Qt же наоборот открытая платформа. Единственная проблема, что если нужно Qt либы юзать, то и твоя прога начинает от Qt утилит зависеть, но это имхо не так уж и страшно.
webkit это немного не только Qt это вообще универсальный opensource браузерный движок.
Не так немного выразился… Браузер на основе Webkit, компонент, родной для Qt, для простоты встраивания. Не смотрел, так только, слышал. QtWebKit, кажется.

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

От такой открытости толку мало. Нет, опять не так. Много, очень много, но могло бы быть на порядки больше, если бы был какой-то общий стандарт компонентов. Вот поглядим на PC — я могу взять плату от Intel, видяху от nVidia, могу выбрать AMD с ATI, а могу взять и переставить. В разумных пределах, конечно, но смысл понятен, думаю.

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

Сейчас в софтостроении масса готовых кросплатформенных вещей. Но нет клея. Клей все варят сами, долго и трудно.
Для наглядности… Просто представьте, что для сборки PC нужно купить паяльник, переходники, радиодетали, протравить свою плату, изучив схемотехнику… Сколько бы длилась сборка каждого PC? :)
Дак в случае Qt существует выбор, или самому всё собрать, а заодно поизучать внутренности, или воспользоваться готовой сборкой где всё уже есть. Я самостоятельно собираю только в тех случаях, когда нету готового билда: или для разрабатываемых версий или же например если мне нужна Qt под win-x86-64
Дак и MFC можно собрать, собирал как-то, пофиксив баг. Правда, я не в курсе правовых вопросов в этом деле…

Я немножко не про то, про другое. Про слабость стандартизации в программировании. Возьмём те же Qt и MFC. В одной QString, в другой CString. В Яндексе, как недавно писали на Хабре, вообще класс строки называется Stroka.

А в STL есть стандартный std::string, и почему было его не использовать? Не нравится стандарт, хочется оптимизации? Так участвуйте в стандартизации, оптимизируйте стандарт! Я понимаю, раз это не делается, то в этом есть свои трудности. Но такие трудности надо преодолевать, а не обходить.

К тому же, зачастую дело не в том, что стандарт плох, а в том, что хочется создать свой стандарт ради разных выгод. Если бы вместо этого развивали STL и POSIX, добавляли бы подобные новые стандарты, то жилось бы нам сейчас намного легче. Не клей бы варили нудно и упорно, а собирали бы готовое на готовых шурупах, а всё оставшееся время тратили на новые вещи. Которые бы снова стандартизировали.

Вы только представьте: кросплатформенная стандартная библиотека, типа STL, но GUI. Если бы это в своё время появилось, то никаким Java и C# долго было бы не потревожить C++ монополию де факто. Просрали момент.
>А в STL есть стандартный std::string, и почему было его не использовать? Не нравится стандарт, хочется оптимизации?

Строки там появились еще даже до появления STL. Потом на std::string они не перешли по очень даже веской причине. Дело тут в дизайне Qtшной библиотеки контейнеров: он принципиально отличается от stl! И работать с QString'ами можно и нужно по другому! Все контейнеры в Qt — неявно разделяемые! Этим они принципиально отличаются от stl контейнеров, например если передать в функцию строку по значению, то не произойдет глубокого копирования, в отличии от std:string, которые обычно как const std::string & передают. В случае с Qt активно используется QSharedData и технология Copy on write — это позволяет сократить потребление памяти в большинстве случаев. Для GUI это очень важно.

>Вы только представьте: кросплатформенная стандартная библиотека, типа STL, но GUI. Если бы это в своё время появилось, то никаким Java и C# долго было бы не потревожить C++ монополию де факто. Просрали момент.

ИМХО проще тогда Qt как стандарт прописать. Да и кстати с бинарной совместимостью у них местами даже лучше, чем у некоторых реализацией libstd++.
В MFC тоже copy on write для CString, тоже свои контейнеры (хотя с ними другая история — они намеренно упрощённые по сравнению с STL реализацией)…

Это же как раз то, о чём я говорю :) По крайней мере двух игроков на рынке не устраивал стандарт. Думаю, недовольных было гораздо больше (кстати, тот же Yandex свою Stroka ровно по той же причине написал). Но вместо того, чтобы внести в стандарт изменение, или на крайняк сделать новый стандарт, но общий, каждый игрок предпочитает играть на своём поле. А остальные вынуждены выбирать, чьё поле им больше нравится.

Qt была бы хорошей точкой отсчёта для стандарта, но у них идеологически неправильный moc. Мне-то всё равно, но борцы за чистоту языка не допустят. Хотя я бы даже на расширение стандарта языка согласился. В него не раз вносили спорные правки.

И про экономию… экономить на строках можно где угодно, только не в GUI. Сравните объём текста с объёмом картинки (звука, видео) и всё станет ясно. Экономия была оправдана в те времена, когда берегли каждый бит. Сейчас это устарело. Лучше беречь не чипы, а нас, разработчиков, не процессорное время, а наше. Чипы дешевеют, а мы дорожаем :)
>Qt была бы хорошей точкой отсчёта для стандарта, но у них идеологически неправильный moc

И там есть страница, где написано четко и по пунктам почему он нужен. Те же сигналы и слоты можно на шаблонах сделать, но потеряется их очень важное свойство — динамичность, что для GUI может быть неприемлемо.

Блин если бы Тролли тянули все свои идеи в стандартную либу, то возникла бы огромная бюрократическая волокита, которая бы серьезно замедлила развитие. Мне кажется основная причина именно в этом: не хочется зависеть от сотен непонятных людей.
Я читал эту страницу, но согласен был ещё и до этого. Программирование не чистая наука, здесь идеологии не место. Чистой наукой программирование ещё долго не будет, поскольку огромная часть программирования — человеческий фактор. А человек сам себя не скоро ещё на уравнения не разложит. Хотя постоянно пытается :)

Не «волокита бы замедлила», а бюрократия замедляет. Тем и замедляет, что все её обходят. С ней и надо бороться.

На самом деле всё ведь просто — есть популярная технология, проверенная временем. Всё, стандарт де факто должен стать задокументированным стандартом. Что тут думать и спорить? :) Бюрократия, идеология, маркетинг и «политические» игры — это и мешает. Обойти можно. Но нужно ли?
Просто когда ты стандарт, ты вынужден оглядываться на огромное количество людей, а когда нет, то у тебя есть свобода действий, которая например позволила полностью переделать Qt в своё время. Не в пример С++, где ради обратной совместимости тянутся весьма страшные костыли из тьмы веков
Кто-то должен брать на себя эту роль, гаранта совместимости. И бремя ответственности за стабильность. За это Microsoft даже враги уважают (вменяемые). Пускай MS не из лучших побуждений этим занимается, но справляется в основном неплохо, в этом им не откажешь. Но поддерживать старое — это не значит не добавлять нового. Старое можно вычеркнуть из C++ добровольно принятыми самоограничениями, как Google.

С++ упускает многие не такие уж и новомодные вещи, связанные с GUI, с web. Стареет. Принимать стандарт раз в 10 лет — медленное самоубийство в наше динамичное время. Если идти с такой скоростью, то обгонят как стоячего.

Я знаю, что многим на работе запрещают применять boost. Боятся патентных исков. Был бы стандартизирован — не было бы страхов. Тысячи разработчиков не писали бы своих велосипедов.
Ну и при чем тут Делфи? Все что тут так красивенько понаписано с цитатками, это беда не языка или среды, а недопрограммистов которые выпускаются из вуза даже не понимая что такое ООП, я уже не говорю применение этого в коде. Я лично не считаю студентов освоивших метод Form1.Button1OnClick программистами. А если брать количество людей работающих в сфере рабзработки с непрофильным образованием и не особо желающих развиваться (тот же Form1.Button1OnClick) то все вроде становится на свои места. Надо не язык со средой хоронить, а быдлокодеров.
Так и проблема то в том что в вузах их так учили, а потом они так и писали. Если бы большинство писало на делфи не гавнокод а нормальные и рабочие программы, то все бы любили делфи.
Или почему думаете сейчас так не любят флеш? Отличная среда, отличный скриптовый язык с множеством возможностей и толпы быдлокодеров которые делают банеры из 2х меняющихся картинок и жрущие 100% процессорного времени.
Вот только одна разница всё же есть — флеш нашёл свою нишу, и это другим приходистя его пододвигать, а делфи пытался пододвинуть китов уже занявших свои места в мире.
Делфи, в его существующем варианте, это не плохо — это очень плохо. Если бы из него вкинуть весь мусор, убрать этот дурацкий редактор форм плодящий гавноприложения, выкинуть избыточный синтаксис паскаля и переписать компилятор на что нибудь нормальное, то может быть и вышло что, а так — мёртвый язык.

Тут вроде бы написано о среде, а не о программистах. Делфи — отличная среда для разработки приложений. А вот из-за таких высказываний как раз и создается впечатление об убогости IDE и складывается прочная ассоциация: продукт написанный на Delphi = плохой продукт. И толпы руководителей различный отделов автоматизаций, отлично знающих бизнес процессы, но особо не погружающихся в разработку, а так же толпы студентов, начитавшихся такого в интернетах, упорно считают Delphi говном. Ну, чтож поделать… Нормальным delphi-программистам больше платить будут ;)
IDE у делфи клон студии, что в нём хорошего? Вернее не так, у студии отличный ide, но что в ide delphi такого что может пишущих под винду заставить перейти на delphi?
Оу, оу! У Delphi и студии совершенно разное IDE. То что ты об оэтом пишешь означает что ты не работал в delphi. Кстати, delphi появилось пораньше студии. Схожести в интерфейсов IDE у языков программирования можно объяснить тем же, чем и схожести интерфейсов у браузеров. Не стоит путать интерфейс и IDE.
Во первых, при сравнении с MSVS имелась в виду то что они назвали RAD Studio, во вторых MSVC++ появился задолго до delphi.
И да, первой попыткой мелкомягких создать общее ide для всех языков была Visual Studio 97, когда делфи ещё пешгком под стол ходил.
И ещё раз да, я не работал в делфи, я его изучал как новомодный язык 2000х годов, а работал я в те времена в Visual Studio и прекрасно видел разницу в подходе к пользователю борландов и мелкомягких. Если бы и дальше писал под винду — студией бы и пользовался, ведь цена на vc++ очень даже вменяемая(если конечно не брать к нему мсдн)
при сравнении с MSVS имелась в виду то что они назвали RAD Studio


Более смешного аргумента я и представить не мог =) IDE Delphi похоже на IDE Visual Studio потому что в Visual Studio и в RAD Studio есть слово Studio. Оригинально-то блин =)))
Да о чем вы говорите, в 97 году уже была третья версия дельфи, более чем зрелый продукт, при этом ее историю нужно в действительности смотреть начиная с Turbo (Borland) Pascal под DOS, ведь там был Turbo Vision (привет быстрой разработки оконных интерфейсов на чистом ООП) и Object Pascal, вся разница с Delphi только в том, что от dos перешли к windows. Туже библиотеку Turbo Vision потом адаптировали под Watcom C++, который очень долго был основой разработки на с++ под windows.

До 2005 версии VS по сравнению с «дельфи студией» была по сути никакая и не выдерживала никакого сравнения, при этом после 2002 года Delphi во всех смыслах фактически перестала развиваться.
PS И да, в теме написано про язык, и о ide в моём коментарии напоминает лишь упоминание редактора форм.
А флеш-то спустя десять лет после комментария по этой же причине умер.
Согласен.

У меня приятные воспоминания о Дельфи. Суперский RTTI, красивая компонентная модель. Все было очень здорово.

Да, действительно простота использованяи сыграла зулую шутку. Кто видел в коде вот такое: (Unit29, Form36, Button24 — поймут.

Но. Не вижу почему вот точно также не писать на .NET. Ничего не мешает.

Школа дельфистов очень сильно портит программистов. И для того, чтобы стать настоящим хорошим(!) .NET-программистом, то нужно очень сильно и серьёзно переучиваться. Подходы к программированию совершенно разные.
А если кодить на .NET методами Delphi, то это уже называется быдлокод. Да, работать будет. Но качество кода будет значительно низкое.
Чушь собачья.

Если человек начал программировать с того, что начал рисовать формjчки в C# и писать всякий код в Button1_OnClink — результат ровно то же что с Delphi и Visual Basic

Все зависит от программиста. И на bat можно писать хорошо и правильно.
К нам приходили такие на собеседование, да. Бросил кнопку на форму — всё, я программист. А как спросишь его про синглтон, модель MVC или абстрактные классы, делает выпученные глаза и непонимающе мотает головой «А про XPath я не слышал, да и зачем — я же вручную могу XML парсить». Можешь. Но это глупо, и вообще, как программист он остался в начале 2000-х.
С вашим подходом спокойно можно кодить программки «для себя». Но в серьёзной команде такой фокус не пройдёт. Если тольо в команде не такие же как вы сидят. По крайней мере, большой код поддерживать будет невыносимо трудно. Проще с нуля переписать. Знакомо?
Чё та вы текст почитали, но не осмыслили.

Делаю выжимку: если человек уже умеет писать нормальный код, ему пофиг на чем Дельфи, С# или еще что.
UFO just landed and posted this here
30 минут?
Я рад что я не делаю такие перегруженные формы.
30 часов?
На кодинг обработки информации этой формой — может быть.
На создание?
Видимо я не знаю каких то аспектов создания божественных форм;)

Я о том что упрощения отупляют разработчика, те «старики» с которыми я работал иногда, которые писали приложения на асме, думают в разы эффективнее чем я. Я асм учил уже после С, о чём сожалею теперь, а в вузах его иногда просто пропускают.
UFO just landed and posted this here
>Что плохого в том, что бы интерфейс сделать за 30 минут, а не за 30 часов?

Что интерфейс будет говном и на его доработку потребуется 300 часов, а не 30.
UFO just landed and posted this here
Формошлепство ведет к тому, что логика работы самого приложения тесно переплетается с логикой работы интерфейса, что в общем случае недопустимо. Поэтому любое изменение в интерфейсе приводит к тому, что нужно менять логику работы основного приложения.
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
Да ладно. Это как раз подход к построению архитектуры системы.
UFO just landed and posted this here
Это всё части ООП, или у нас MVC и MVP возможны без ООП?
UFO just landed and posted this here
UFO just landed and posted this here
Ну если у вас ООП ассоциируется со словом class то и разговаривать больше не о чем.
UFO just landed and posted this here
С каких пор тот же MVC завязан на MVC? У вас, сударь, каша в голове…
UFO just landed and posted this here
Да, конечно… Сорри.
>С каких пор тот же MVC завязан на MVC?

Кто бы говорил ^_^
Взять к примеру MVC и процедурное программирование. Представление на ООП вообще не особо завязано. Контроллер можно реализовать, поместив код контроллера в отдельный файл (для скриптового языка), фронт-контроллер соответственно как и в обычном случае, подгружает нужный файл. С моделью посложнее, но можно в использовать структуру или массив для хранения состояния, а для обработки описать ряд функций.

Другое дело, что MVC все же намного удобнее реализовывать в рамках ООП, поскольку паттерн изначально задумывался именно в рамках данной парадигмы.
Ну ООП между прочим и на процедурных языках реализовывается и между прочим все равно неявно используются ООП подходы при реализации MVC, разве нет?
Весь мир одно большое ООП если расширять Ваши утверждения… вопрос только в восприятии :)
Какие из трёх основных китов ООП (инкапсуляция, наследование и полиморфизм) неявно используются?
Я реализовывал MVC без неё, если не считать под ней mysql_fetch_array()
А это разве не есть инкапсуляция? Принцип черного ящика.
Разве? Я что-то пропустил в жизни… Покажите plz, как реализовать объекты на процедурах. Именно объекты (с наследованием и, желательно, private/public методами).

>между прочим все равно неявно используются ООП подходы при реализации MVC, разве нет?

Нет. Вот простейший пример mvc:

index.php:

$result = include 'model.php';
include 'template.php';

model.php:

return array('1', '2', '3');

template.php:

var_dump($result);

Где тут «ООП подходы»?
>Разве? Я что-то пропустил в жизни… Покажите plz, как реализовать объекты на процедурах. Именно объекты (с наследованием и, желательно, private/public методами).

Про GObject не слышали? Вот почитайте, сделано всё на голых сях.
Если имеется в виду ru.wikipedia.org/wiki/GObject, то это немного не то… Доки не читал, но на вскидку не нашел упоминаний о приват/паблик метода в GType, о наследовании и пр. Возможно, это что-то близкое, но точно не чистое ООП.

И кстати, не важно на чем сделано — по итогу все в маш.кодах работает. Важнее, как это предоставлено для разработчиков. Про «ООП подходы» не ответил — есть они в моем примере или нет?
Слишком толсто, как мне кажется.

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

Что мешает вынести всю логику в отдельный класс, или может проект, а в обработчиках кнопок вызывать функции класса?
Если делать так, то скорее всего не будете прокляты тем, кто это будет поддерживать.
>Формошлепство ведет к тому, что логика работы самого приложения
>тесно переплетается с логикой работы интерфейса

Не надо свои проблемы проецировать на всех остальных.
Да, когда-то давно я через подобные дебри прошел, но когда перешёл на C++ и некоторое количество интерфейсов заимплементил руками, то понял насколько же я был далек в понимании того, что происходит внутри в те годы, когда просто рисовал кнопочки и по дабл клику писал обработчики. Итого я могу сказать, что IDE Delphi навязывает неправильный подход.
Что плохого в том, чтобы нашлепать быстро интерфейс? И если человек ясно понимает, что происходит внутри, то всё должно быть замечательно. Все зависит исключительно от кривизны рук кодописателя.
В том, что этот инструмент дают новичкам и они сразу учатся делать НЕПРАВИЛЬНО, а потом привыкают. IDE просто толкает их на неправильные действия.
Ну так опять же, это проблема исключительно новичков и их учителей, не показывающих, как делать правильно. Я писал в Delphi некоторое время. Это был ужасающий говнокод (теперь я это понимаю). Могу с уверенностью сказать, что теперь, поняв хоть немного принципы ООП, я никогда в жизни больше такого не напишу. Но разве язык виноват во всем этом?

P. S. По правде говоря, мне не особо нравится Delphi. Но я не могу сказать, что «ненавижу» его, или что это «плохой» язык.
>Но разве язык виноват во всем этом?

Не язык, а IDE. Те же плюсы или чистые Си ошибок не прощают и гораздо быстрее на своих же шишках учишься их недопускать, а в Дельфях получается, что «пока гром не грянет мужик не перекрестится».
О каких ошибках вы говорите, которые оказались бы некритичными в Делфи, но C/C++ их не прощают? Тем более, как вы сказали, мы говорим об IDE…
Из того, что я помню, Дельфи весьма странно относилось к работе с памятью. Точно помню всякие окошки типа access violation, после чего прога продолжала работать! В С/С++ это сразу приводит к падению.
Ммм, да припоминаю что-то… Это всё?
Вы так и не пояснили, в чем подход неправилен.
Нарушает принцип чёрного ящика и делает разные части системы сильно зависимыми друг от друга. В идеале чем меньше зависимостей, тем лучше. Формошлепство же их только плодит
Вас куда-то не туда уводит.
Каким образом язык или иде в данном случае «делают» части зависимыми друг от друга?
«Формошлепство» — лишь инструмент для быстрого и достаточно удобного создания гуя, ничего более. Если вы гаечным ключом не гайки вертите, а в зубах ковыряетесь, со всеми вытекающими(и выпадающими) — то виноват, конечно же, ключ, да?
Этот самый ключ нельзя давать в руки новичкам! А его сплошь и рядом давали…
Я вам из личного опыта скажу — написанного на C++ говнокода я видел не меньше, чем на делфях.
Ну и сам, если быть до конца честным, понаписал всякого в свое время и на том, и на другом.
И вот что могу сказать — не вижу ни одного фактора, который бы провоцировал появление на делфях б0льшего количества говна, чем на других языках и платформах.
На том же PHP, который с си-образным синтаксисом, и при этом без всякого формошлепства — такое довелось повидать, что бизнес логика внутри Button1.ButtonClick() — цветочки.
Как-то у меня под qt получается не переплетать тесно логику интерфейса и логику модели. Более того, не могу даже представить как их можно переплести :)
Потому, что там низя вот так взять даблкликнуть на кнопку и сразу написать код обработчика.
Даблкликаю и пишу такому-то сигналу соотвествует такой-то слот… Это не то?
Обычно там просто выбираешь слот из списка и обычно это уже заранее реализованые слоты. Хотя я помню там можно делать по аналогии с дельфями, помню, что если слот правильно обозвать он автоматом подцепится, но не помню, чтобы сами Qtшники рекомендовали этот подход и где-либо в своем софте ему следовали. Сам я такое никогда не делаю.
правильно, а код пусть с перфокарт вводят. пока набивают их, заодно получше подумают
редактор форм плодящий гавноприложения


в полночь запускается сам и начинает плодить?
Никогда, никогда редактор форм, или кода, не будет делать говноприложения.
Их пора бы взять ответственность на себя, а не обвинять инструменты.
Хорошая среда и язык, но для меня дороговато. Хорошо, если лицензии для вас покупает работодатель, но для фрилансеров и просто энтузиастов цена существенна.
Раньше выпускали бесплатную Turbo Delphi, неужели снова лавочку прикрыли?
Прикрыли бесплатную Turbo Delphi Explorer.
Мне кажется все намного проще. Delphi приобрел такую популярность за счет VCL, который в свое время на порядок превосходил другие решения для разработки гуя по Windows. Закат начался как раз в период, когда платформа .NET стала набирать популярность. C# во многом превосходит Delphi, поэтому даже Delphi.NET не смог исправить ситуацию, тем более учитывая глючность первых версий Delphi.NET.
Думаю основная причина в том, что язык сам по себе, без своей среды, победить не может. А среда в случае Delphi была (и есть) проприетарной, покрытым лицензиями, и не имела широкого спектра как коммерческих, так и свободных альтернативных реализаций. Это такой огромный минус для распространения языка программирования, который можно перебить только чем-то мега-существенным. Например, доминирующим положением на широчайшем спектре рынков, как в случае с Microsoft и ее “проприетарными” языками типа C#. Да и то, как далеко им до распространенности C или C++…
Сейчас есть Free Pascal, Lazarus IDE, так что в этом плане все не так плохо.
UFO just landed and posted this here
Lasarus это наколеночная быдлоподелка в сравнении с свободными IDE для С/С++ да и FreePascal тоже совершенно не блещет.
К слову, во FreePascal реализация типа Generic (аналог шаблонов C++) появилась раньше, чем в Delphi. Да и вообще, диалект FreePascal мне как-то больше нравится, чем Delphi. А еще радует, что он не только для Windows, так что консольные утилиты, которые должны работать на разных платформах, писать на FreePascal'е одно удовольствие. Так что я бы сказал наоборот, FreePascal «блещет».

Кстати, еще одно упущение Delphi — он только для Windows. Да, были попытки реализации под другие платформы, тот же Kylix, но во-первых, это изначально был не тот же Delphi, а нечто иное, а во-вторых, от проекта быстро отказались.

Ну и закрытость, а вдобавок еще платность и дороговизна Delphi тоже не добавляло языку популярности. Все же, как уже было замечено, фрилансерам нет особого резона покупать Delphi, когда можно воспользоваться чем-нибудь, что не хуже и бесплатно.
Помню срачи на тему поддержки 64 бит во FreePascal'е. Разрабы вместо юзания glibc свой лисапед сделали, мотивируя это тем, что в glibc проблемы с обратной совместимостью!(где они их там нашли?) и этот самый лисапед безбожно тормозил на 64 битах.
Вот когда это поделие от Embarcadero научится хотя бы 64 битам, не говоря уже о других платформах, в том числе мобильных, тогда и можно сказать, что оно развивается. Пока же это ходячий труп.
UFO just landed and posted this here
UFO just landed and posted this here
Это лишь показатель отсталости и не портабельности. Вот винду под ARM презентовали, сколько туда быдлокодеры из Embarcadero будут Дельфи портировать? Лет 8 не меньше при таких темпах развития.
В принципе для некоторых приложений весьма существенный. Я бы не начинал крупный проект на языке, для которого компилятора под х64.
Да. По этой причине, например, до сих пор нет 64-х битного Total Commander. А вообще, Delphi потерял mainstream. Поздно вспомнил о Unicode, до сих пор не вспомнил о платформах, отличных от Windows+IA-32. Не смогу полно и объективно судить, но уже эти 2 факта символизируют.
Делфи уже вспомнил. Сейчас они вроде бы копают к кросплатформенному VCL+.
Копают — это слишком туманно. Вот когда можно будет написать и откомпилировать приложение, хотя бы, под x86_64, тогда и можно будет говорить вспомнил.
Где-то промелькивал билд с возможностью компиляции консольных приложений под MacOS, правда найти картинки сейчас не могу. А обещали они помоему в 2012 или 2013 доделать это дело.
Меня в дельфи убивает неинформативность ошибок.
UFO just landed and posted this here
Для примера: компилится проект, синтаксических ошибок нет, но при выполнении кого-то действия вываливается ошибка в которой кроме адреса памяти нифига нет, ни описания, ни вида ошибки, нифига кроме адреса памяти, в сравнении с питоном допустим, тот хотя бы выдает тип ошибки/вид эксепшена+код и операцию на которой она появилась( понимаю конечно интерпретируемый язык, но всетаки)
UFO just landed and posted this here
А может инструмент такой кривой что при наличии развитых RTTI механизмов оно ничего как упасть с открытием дизассемблера в дебагере не может.
VC++6.0 инструмент 1998-го года, может открыть отладчик в исходном коде COM-компонента который вызывается JScript-ом из встроенного Internet Explorer в Windows Forms, а Delphi при попытке вызвать неинициализированную форму из под отладчика валится без каких-либо объяснений.
UFO just landed and posted this here
Какие вам доказательства нужны? я привёл пример когда мне запустится голый отладчик. Добавляем в проэкт форму, а потом пытаемся её же динимически уничтожить. Отладчик свалится в непонятном месте с выводом регистров.
Чёрт это наверное супер сложная задача развернуть стэк.
UFO just landed and posted this here
Скорее всего, дело в руках…
UFO just landed and posted this here
Юникод прекрасно существовал и до Delphi 2009. Смотреть TNTUnicode.
О выбравших Делфи людях сложились следующие впечатления:

-Они испугались синтаксиса другого языка (CPP, к примеру), в школе учили Паскаль. Выбрали Делфи.
-Им сказали, что VB это зло, но где же еще есть таки красивые формочки? Выбрали Делфи.
-Научили Делфи. Программировать не научили. Выбрали Делфи.
-Связали, приставили нож к горлу, пригрозили смертью, если не выберут Делфи. Выбрали Делфи.

Иначе как в здравом уме человек может выбрать Делфи? Субъективно избыточный монструозный синтаксис, IDE поощряющий создания тонн говнокода и топтание на месте и разрастание вширь, вместо добавления необходимых элементов (того же юникода в свое время) для нормальной работы. И обиженное на всех и вся комьюнити, в большинстве своем даже не пытающееся посмотреть и поюзать другие языки, ибо синтаксис ведь не похож на Паскаль. Печаль, печаль. Смерть унылому Делфи. Хотя с другой стороны — какая разница. Все равно большинство существующих так называемых программ лучше переписать с нуля. И если есть хоть капля здравомыслия — делать это уже лучше не на Делфи.
UFO just landed and posted this here
С быстро и просто не спорю. Не спорю также что на Дельфи (подозреваю минусы в карму из за опущенного мягкого знака до этого, или это кто-то из теплых чувств к Дельфи) МОЖНО писать грамотно. Не использовать глобальные переменные, думать о том, что кто-то эту программу будет потом поддерживать. Но почему, черт возьми, так мало людей это делает? От моих изысков у человека, что пришел после меня не один день болела голова, потому как некоторое время я был тот самый плодящий говнкод человек, именующий себя почему-то программистом. Ну и собственно много чего хорошего в C# пришло именно с Дельфи. Из личного — один из «пунктиков» программиста, а именно чат, тоже был сделан на нем.

Тем не менее осадок от него горький и противный. Выбирали знакомые мне люди (если уж без сарказма) по причине того, что либо «знакомый дядя посоветовал», либо по причине похожести синтаксиса на паскаль, либо потому что так требовали на работе. Большинство ушли с сисадмины, часть ушла в веб, снова выбрав путь простоты, скорости, и говнокода. Верно говорят — некоторых только могила исправит. (И это я про PHP, чувствую теперь словлю минусы и от Вас, та же ситуация, вот только зверек на этот раз живуч, настолько что хочешь — не хочешь, а и самому вступать по колено приходится. Снова. И не так редко, как хотелось бы.). Это язык в себе, с него сложно перейти на что-то другое. Застоявщийся на месте, не имеющий вектора развития язык, на данный момент тот самый C# по мере возможности копирующий. Его смерть — приятное и греющее душу событие. Но пока не состоявшееся. Но в скором (надеюсь) времени — о покойниках только хорошо, буду лелеять воспоминания о чатике, и ненавидеть трупика дальше. Но молча, а то родственники и друзья уж больно обидчивые.
UFO just landed and posted this here
Затем, что адепты, они… Они заполоняют всю планету. И многим приходится следовать по неверному пути. Особенно яркий пример с упомянутым вами 1С и упомянутым мной PHP — Bitrix. Мало того, что написано лебедем, раком и щукой (создается впечатление что делала стая разработчиков, которых командой даже близко назвать нельзя, и каждый тянул в свою сторону, без контроля с чьей-либо стороны, ASP .NET версию не смотрел). Так еще и теперь приходиться использовать одну гадость, созданную при помощи другой гадости, потому что в некоторых случаях адепта просто не переубедить. Смерти желать тут ну очень хочется. С другой стороны денег не так много, чтобы их терять из какой-то там принципиальности посредством потери заказчика, вся принципиальность отступает на второй план, быть может поэтому и 1С (позволяет заработать за счет чужого раскрученного бренда) и PHP (позволяет написать черт знает что, но быстро, и получить за это денег) живее всех живых на данный момент.
Пока не было C#, Delphi рулил неподецки на Windows-платформе.

Люди на C++ писали годами то, что на Delphi делалось за месяц.
На CPP время от времени пишу в паскалевсом стиле. Часто «перевожу» заголовочные файлы.
VB знаем. Ко всему еще VBA часто выручает. Ах да, начинал я с алгоритмического языка :)
Именно из-за него мне кажется, что в современных языках много лишнего.
Причем знания об этом «лишнем» 80% времени лежат в памяти мертвым грузом.
В остальных 20% все равно часто приходится смотреть справку.
Справедливости ради, замечу, с моей точки зрения, в Дельфи тоже есть «излишества».
CPP приучает к аккуратности — неловкое движение и вы прострелите голову вместо ноги.
Delphi расслабляет, и порой я его ненавижу за то, что он позволил какому-то быдлокодеру написать, то что мне приходится разгребать последние пять лет.
ВУЗы прогибаются под рынок, Delphi начинают исключать из программ обучения студентов


Далеко не все. В том же МГТУ в первом семестре почти на всех факультетах изучают Delphi и только потом си начинают. Слышал, что в некоторых вузах на первом курсе в учебной программе Ruby — аж завидно)
Не поверите, ага. Сам добиваю 3 курс программиста местного колледжа (в ВУЗ испугался, да и опасался финансовой стороны вопроса). Теперь понимаю что зря. Удивительное рядом — за 4 года обучения мы проходим Pascal, Delphi ииии… А всё ^_^. ASM действительно давался, но по очень старым методичкам, и без какой либо практики (код в тетрадках писали). В остатке имеем более менее качественный курс математических дисциплин (в чем заслуга только преподавателя болеющего за свою дисциплину). За 3 года о языке почти ничего не узнал (всё что проходим — знал ещё в школе). Сами учителя (99% женщины) учили Delphi в конце 90-х, в глаза не видали версии выше 7-ой, а сейчас уже вполне состоявшиеся люди с семьями и детьми, им эти ваши высокие технологии не упали. Лично слышал разговор учителя со знакомой, в котором на фразу «А вот мой племянник проходит C#» был дан ответ «А что это такое?»

И вот как-то ответ почему Delphi плох напрашивается сам собой. После колледжа валю в ВУЗ.
Что может дать Delphi в ВУЗе.
Для обучения программированию алгоритмам лучше давать Python, код читабельнее, язык более высокоуровневый есть нужные типы данных уже в языке и язык принуждает писать хорошим стилем.
Для обучения построения GUI приложений опять же лучше подойдёт хотя бы VS205-8-10 Express, технологии значительно чаще сейчас используются.
Для разработки под web, есть много технологий и платформ, но Delphi там нет даже в двацатке.
Если задача обучить низкоуровневому программированию то лучше связки C + ASM не найти, С как макроассемблер и большинство операторов языка транслируется в ассемблер один в один.
Если задача обучить ООП, то Делфи тоже не лучший кандидат изза своеобразной его реализации в языке, здесь я бы вибирал из C#, Java, Python.

Так чем ещё хорош Делфи в ВУЗах кроме старичков которые кроме Паскаля выученного 20 лет назад на большее не способны. Да и преподать предмет качественно они кроме алгоритмов уже не могут, потому что парадигм и подходов новых появилось со времён 5-7-го Делфи много, а Делфи их просто не поддерживает.

А ещё я скажу чем очень плох Делфи в ВУЗах, потому что стоит он даже для учебных заведений недёшево. И за один оборудованный клас уже наступает криминальная ответственность. А VS Express, Python, Java безплатны при лучшем соответствии потребностям.
Да, как не печально с точки зрения «тоски по былым временам», но вы правы на все 1000% Python + C + VS Express…
ООП в java ничем не отличается от Delphi
Это Вам просто не повезло, да и вообще ИМХО язык это дело 200 в программирование, главное в обучении программированию понимать «суть», а любому языку можно научиться за несколько недель, не в совершенстве конечно, но писать можно начать и за 1 день :) Если знаешь и понимаешь как это делать «вообще»…

Конечно опыт лишним не бывает и практика дело хорошее, но поверьте мне как программисту с 8 лет и уже 22 летним стажем, что главное в этом деле «хотение» ;)

А упор в преподавании ИМХО вообще надо делать на «методы программирования», на алгоритмы, на объяснения что и как вообще работает начиная с аппаратного уровня (в этом плане ASM просто обязателен) и заканчивая разным моделями высокого уровня, а уж язык/среда это дело наживное :)
И еще Вам совет, лучше валите не в ВУЗ, а валите на работу, и работайте, набирайте реального опыта + читайте хорошие классические книжки типа:
«Алгоритмы и структуры данных», «Алгоритмы. Построение и анализ», Dragon book и в конце концов просто теорию информации…

Учитесь ДЛЯ СЕБЯ и получайте РЕАЛЬНЫЙ опыт, а не изучайте сферических коней в ВУЗе по программе составленной людьми, которые сами нихрена не умеют и поэтому пошли преподавать.
Для меня основной причиной забросить дельфи было то что та версия которая под .net (не помню точное название) запускалась за время, за которое visual studio успевало запуститься, открыть проект, открыть msdn, скомпилить, запустить под дебагом.
UFO just landed and posted this here
Ну народ, ну сколько можно этот плач Ярославны поднимать, ну задолбали. Я сколько не спрашивал Делфи программистов на какую они нишу вообще ориентируются, так либо они ничего толком сказать не могут, либо говорят про десктопные приложения причём только под одну ОСь (отгадайте какую :) — про Киликс — вроде так называется — уже давно ничего не слышал). Тот же Java никто не пиарит, тот же C++ никто не пиарит, они также как Делфи (а было время его чрезмерной популярности) в своё время приобрели свою популярность, и почему-то не особо её теряют (хотя да, небольшое проседание всё же со временем наблюдается), хотя и там тоже есть свои проблемы, но однако популярность у них огого (и это именно из-за того, что они заняли определённые ниши, свои ниши, где оказались наиболее удобными инструментами)!

Ну вот ответьте вы, автор статьи, ну какие преимущества несёт в себе Delphi? Я понимаю например, какие преимущества для меня даёт C++ (например достаточная для многих задач его низкоуровневость при наличии кроссплатформенности, плюс столько стандартизированных и проверенных временем библиотек, что просто дух захватывает), Java (та же ещё большая кросплатформенность, настоящая популярность в сегменте высоконагруженных систем, серверных решений и пр.), я понимаю, почему именно C# для Windows — это действительно круто (динамично развивается, что не год, то плюшки и новая версия, заметное развитие языка в очень многих направлениях — Web, интеграция с мобильными решениями, облака и пр., а не только для рисования интерфейса — поддержка непосредственно со стороны создателя ОСи, что скорее всего позволит переходить с одной версии самой популярной десктопной ОСи на другую в моём приложении довольно просто), но я никак не могу понять зачем нужен Делфи. Ну хороший язык, ну и что? Ну могу я где-то писать меньше скобок при преобразовании типов (это я вспоминаю статью про переход Delphi на C#). Он позволяет именно что-то сделать на начальном этапе, из-за низкого порога вхождения на это первом начальном этапе создаётся что-то, что работает, но у приложения ещё должно быть и такое качество, как расширяемость, поддержка, возможность дальнейшего развития… А получается, что на первом этапе что-то сделают, при этом не понимая истоков и вообще как это всё работает (на том же C++ приходится вникать побольше, хотя и там такое порой делают!), рисуют быстро кнопки, при этом при достаточной низкоуровневости языка не нужно толком вникать как работает ну хотя бы та же система обработки сообщений в Windows (т.е. уже не C++ с MFC, но и до C# не дотягивает), а как только что-то нестандартное нужно сделать — опа, не можем (это я НЕ ПРО ВСЕХ программистов на Delphi, а именно тех, кто вот быстро освоил рисование формочек, сделал что-то, а о поддержке и не подумал, короче люди, которые «легко вошли»), вот и начинаются костыли и прочее. Ну зачем это? Вот скажите, какую бы нишу сегодня мог бы Delphi занять? Я, честно, готов признать свою чрезмерную тупость, съесть шляпу, и посыпать себя пеплом весь год, если мне вкрадчиво и толково объяснят. Сразу скажу, что наличие меньшего количества скобок в выражении, какие-то ещё плюшки типа, а вот у нас тут оператор такой есть и прочие незначительные ухищрения — это не настолько большие преимущества, да и субъективно это всё, чтобы переходить на другой язык. Вот например я понимаю, почему мне нужно изучить функциональное программирование (например Lisp или Haskell): там вообще другая идеология, другой подход к постоению программ, который даёт определённые преимущества на определённых задачах. Вот что-то такого масштаба у Delphi есть?
Delphi задумывался в первую очередь для разработки клиентских приложении для СУБД в высоко нагруженных информационных системах и бизнес-процессах.
При этом позволяет получить высокую скорость разработки + меньше возможностей допустить ошибку + высокая скорость работы полученного приложения.
Почему Win-платформа? Да потому что там где умеют считать время и деньги Linux только-только пробивается.
Кстати, вы уверены, что клиентские приложения на Java всегда быстро работают?
То что клиент Skype-а написан на Delphi для вас ничего не значит?
Хотя насчет Linux-а я пожалуй погорячился :)
> Кстати, вы уверены, что клиентские приложения на Java всегда быстро работают?

нет не уверен, но я вроде про клиентские приложения и не говорил. Когда я говорил про Java, то в первую очередь имел ввиду именно серверную часть, а уж там-то безраздельно правит Java (в том числе и из-за прекрасной переносимости, в том числе и в многопроцессорных/многопоточных и распределённых системах), а современные крупные бизнес использует системы, у которых процентов 80 минимум того что делается крутится на серверах и уж поверьте не столько под Windows (хотя и их доля там есть), сколько под альтернативные системы.

> То что клиент Skype-а написан на Delphi для вас ничего не значит?

А реализация протокола на чистом С вас не смущает. А под другие ОС клиент тоже на Delphi написан? И я не говорб про Linux, но про MacOS, iOS, Android, Symbian, Maemo, Bada? И именно рынок мобильных решений сейчас набирает обороты и очень серьёзно. Переписать тот же Windows клиент на другом языке — это не так уж и сложно сегодня для Скайпа и это вполне может произойти из-за вот такой разрозненности, используя какой-нибудь фреймворк например, который позволит с наименьшими потерями портировать приложение между платформами.

> Delphi задумывался в первую очередь для разработки клиентских приложении для СУБД в высоко нагруженных информационных системах и бизнес-процессах.

Про большие корпорации и наверное во многом средние фирмы я сказал, когда говорил про Java, а для мелких сегодня всячески популяризируются Облака. Это может нравиться, может не нравится, но эволюция систем коммуникаций привела к тому, что сегодня это стало реальностью и такая воодушевляющая поддержка этой идеи со стороны крупных корпораций со временем сделает своё дело (кстати, уже делает). Вот что перспективного тут может предложить Delphi? Опять старый подход когда всё внутри фирмы аккумулируется, нужно держать штат специалистов для обслуживания и пр. Да, это пока работает, но этот подход можно реализовать на других языках, которые ещё позволят в будущем перейти наименее безболезненно на новые облачные рельсы (это я например про C#). Вот и получается, что сейчас Delphi предлагает подход, реализовав который сейчас придётся в будущем всё равно выкинуть, сделав всё с нуля. В чём плюс?

> При этом позволяет получить высокую скорость разработки + меньше возможностей допустить ошибку + высокая скорость работы полученного приложения.

Сами же пишите, что вас задолбал быдлокод. В чём реально меньше ошибок? В том, что сейчас вот это работает? А расширяемость? Её-то и нет получается и приходится всё равно переписывать? Так опять же в чём плюс? Только в том, что вот сейчас ошибка не проявляется, но в ближайшей перспективе всё равно столкнёмся с трудностями? Не понимаю. Поверьте, отсутствие расширяемости для настоящего коммерческого продукта — это ещё та ошибка. И опять же на C# вроде тоже много сделано, чтобы ошибок было меньше по сравнению с тем же C++.
Для Андроид Java, для iOS — objective c, для maemo — а какая разница, если этот бобик уже сдох? symbian, bada — c++, blackberry — java. Для каждой ОС свой язык и свой SDK.
ну раз уж для каждой платформы свой язык, то как быть с выбором языка для платформы, на которой этих языков много. Вот я сижу и думаю, а что бы мне выбрать: C# или Delphi на сегодняшней Wind'е… Может разьясните чем С# хуже, раз уж не получается сказать чем Delphi лучше…

P.S. А то, что под каждую платформу свой язык — это вы конечно правы, но не совсем. Все перечисленные платформы молодые, поэтому средств для них пока действительно не так много, но с развитием всё будет, не сомневайтесь. Вот уж не думаю, что среди будущего множества языков для всех этих платформ вдруг Delphi окажется: ему и на десктопах пока не удалось нормальной кросплатформенности достичь, что уж про мобильные решения говорить. А вот и ещё заброс: уже есть возможность программить на Питон под Symbian, какой-то фреймворк появляется на горизонте, который вроде как в будущем позволит на JavaScript писать именно кросплатформенные приложения (не помню как они называются, если честно, да и пока они больше на iOS ориентируются). А что Delphi? Дальше будем про то, что Skype и Qip были когда-то Delphi написаны, или посмотрим, что сегодня творится на рынке.
QIP тоже. И это совсем не плюс для Дельфи.
QIP вообще страшен аки ядерная война Оо Но там еще «дизигнеры» поработали.
Можно прокомментировать Ваши тезисы?

>Delphi задумывался в первую очередь для разработки клиентских приложении для СУБД в высоко нагруженных информационных системах и бизнес-процессах.

И здесь себя Delphi вполне оправдал и продолжает оправдывать до сих пор.

>При этом позволяет получить высокую скорость разработки + меньше возможностей допустить ошибку + высокая скорость работы полученного приложения.

«Delphi» и «RAD» долгое время были синонимами. В середине 90-х Delphi очень быстро завоевал популярность и значительно потеснил другое популярное RAD-средство — Visual Basic, однако после выхода Visual Studio .Net довольно быстро сдал позиции. С трудом верится, что это результат исключительно маркетинговой компании Microsoft.

Может быть, писать в коде "{", "}" все же удобнее чем «begin», «end»?

Кстати, кроме .Net (и чуть позже Java) сильный ущерб Delphi-сообществу, по-видимому, нанесла компания 1С, предложившая еще более быстрый способ разработки корпоративных систем (а именно здесь в первую очередь возникает необходимость разработки сложных клиентских приложений для СУБД).

У меня есть много знакомых программистов, которые перешли с Delphi не на С# или J2EE, а на 1С: Предприятие 7.7/8.x. И, как говорится, никто из них не вернулся обратно…

>Почему Win-платформа? Да потому что там где умеют считать время и деньги Linux только-только пробивается.

Не в этом дело, там где умеют считать деньги и Linux приживается хорошо, но на серверах, а не на десктопах (если только на них изначально не стоял Linux). А ниша Delphi — как Вы верно заметили — клиентское ПО.

>Кстати, вы уверены, что клиентские приложения на Java всегда быстро работают?

Неакадемические программы, как правило, безбожно тормозят. Особенно приложения, обслуживающие сложные бизнес-процессы.

>То что клиент Skype-а написан на Delphi для вас ничего не значит?

На Delphi написано немало хороших и качественных программ, посложнее чем клиенты QIP и Skype, и все же, сейчас найти хорошего программиста, знающего C# или Java проще, чем дельфиста. Такая ситуация наблюдается по крайней мере, в Саратове.
UFO just landed and posted this here
ну я думаю, автор предыдущего топика просто пошутил. Он просто акцентировал внимание на том, что раз Delphi такой хороший, то почему он всё же планомерно уходит с рынка? Неужели только из-за того, что Майкрософт такой плохой и принижает их? Ну так это конкуренция и борьба — почему я должен в таком случае поддерживать слабейших, если у них нет никаких преимуществ?
Вы совершенно правы, цитированная фраза заканчивается знаком "?", а не "." и не может рассматриваться как выражение моего мнения.

В утвердительной форме это суждение высказал один мой товарищ, когда мы были еще студентами 2-го курса. Правда, ни сишник, ни дельфист из него не получился — он стал сисадмином.
>То что клиент Skype-а написан на Delphi для вас ничего не значит?

Для меня ничего… никогда не слышал о Delphi на Mac OS X, Skype у меня стоит кокошный
> Delphi задумывался в первую очередь для разработки клиентских приложении для СУБД в высоко нагруженных информационных системах и бизнес-процессах.
А сто в Delphi c SOA? какой стек здесь готовы предложить. Нет? Тогда о высоконагруженных и бизнеспроцесах лучше не говорите. Потому что Делфи там уже давно нет. По некоторым банкам ещё стоят legacy-приложения, но почти все вымерли, а новое всё совсем на других технологиях.
UFO just landed and posted this here
А разве такой подход как нарисовал, скомпилил и получил особо не вникая (как вы только что сказали про Delphi) — это уже не фреймворк или не подход основынный на фреймворках?

А приведённый вами пример — немного попахивает Хэллоувордом. А поддержка, а расширяемость, её-то скорее всего приходится писать своим умом, а форматы создание формата файлов, куда будет сохраняться, а поддержка различных форматов файлов, что придётся делать, если выходишь на рынки, где уже кто-то есть. Т.е. происходит всё равно усложнение, если нудно что-то большее, чем просто нарисовать простое приложение и тут два подхода: или действительно уже боьше думать и по-настоящему программировать, возможно и используя сторонние библиотеки, но чем этот подход лучше того же C++, который ещё и кроссплатформенность предлагает (а с Qt и в сфере визуального представления) или делать к простой формочке на Delphi api или в формочке использовать стороннее api той части, которая будет реализовываться на более удобном и простом для этой уже задачи языке. Пока преимуществ больших не вижу.
UFO just landed and posted this here
Ну я говорил в первую очередь именно о том, чтобы писать приложения, на которых можно зарабатывать деньги. Не думаю, что Delphi создавался для того чтобы писать приложения под себя. Для приложений под себя можно использовать что угодно и что нравится (вот знавал я одного препода, так он всю математическую логику писал на ассемблере используя набор собственных накопленных библиотек). Да и что это за приложение, что нельзя сделать например на скриптовом, заведомо более простом языке? Вот мне-то зачем Delphi учить? Я например C++ знаю, почему бы мне интерпретатором С не воспользоваться для простых задач? Да и формочку я и с использованием MFC или Qt быстро тоже наваять могу. Ну может больше на полчаса потрачу. Но при этом голова не будет забита лишним.

Вы мне скажите, для чего учить Делфи, кроме формочек для себя. Не думаю, что это такой уж плюс. Хотелось бы от Delphi что-то ещё получать, кроме удовольствия клепания своих программ для себя.
UFO just landed and posted this here
Ну не думаю, что вы формочки рисовали большую часть времени (а вы именно про это говорили раньше, как про преимущество Delphi). Да и насколько больше в плане формочек должно быть приложение на Delphi в плане формочек, чтобы можно было почувствовать разницу в скорости разработки?

А работа с COM на том же C++ не проще, но и не сложнее, чем на том же Delphi (это мнение у меня родилось после общения с разными делфистами, которые мне объясняли как у них это делается), да и использование базовых алгоритмов, библиотек во многих других языках не хуже. А тут ещё в статье упоминали про то, что выходящие последние несколько лет решения для Delphi довольно глючные были. Это тоже рождает опасения и зарождает мысль, а не посмотреть ли на что-то ещё?

А теперь представим ситуацию, когда поставляется железка с неким КРОСПЛАТФОРМЕННЫМ api. Вот насколько большая вероятность, для этой железки можно что-то будет сделать с применением Delphi без программирования ещё одного слоя между Delphi и api-железки. А если это железка должна в Linux работать (реальный пример — куча роутеров дома на Linux внутри). Что тогда? Неужли и тут разработка будет быстрее?

Для вас и для этой конкретной задачи я готов согласиться, что Delphi — это наилучший выбор, вы знали Делфи давно, много на нём программировали, а это как на велосипеде научиться кататься, но это не значит, что теперь Delphi должен вдруг стать популярнее. Тот же программист например на Fortran те же доводы может привести, что вот взял и сделал, потому что он всегда так делал, он знает все подводные камни и они уже для него не подводные камни, а решения, именно решения. Но для человека, который только присматривается — это не довод. Вот вы распишите конкретные плюсы с учётом современных реалий, а не только потому что вам за три дня удалось что-то сделать. Поверьте, на реальных задачах и в создании настоящих корпоративных приложениях сроки другие. Жа и если за нишу взять клепание таких железяк и программ под них — долго этот бизнес без развития не протянет, т.е. всё равно придётся расширяться, придётся осваивать новое, возможно взаимодействие с серверами, постоение более сложных систем, а тут все преимущества Delphi, как я понимаю, уходят на нет, потому что у него слишкм узкая получается ниша, которую и так ему приходится делить с другими.
Простой вопрос у вас Delphi купленый?
Думаю после ответа вопрос о разработке для себя отпадает. Потому что по сравнению с VS2010 Express цена Delphi — это очень дорого.

Результат достигается тот же и я бы сказал даже лучше и быстрее. Потому что embedder-ы знакомые с С, C# осваивают быстрее чем Delphi.
Я достаточно написал коммуникационного и GUI софта на прежней работе в Cypress Semiconductor для самых разных железок, а потому знаю о чём говорю.
Софт описанный здесь www.cypress.com/?docID=19818 был написан на Delphi. Сейчас входит в состав PSoC Programmer под названием Bridge Control Panel переписан на С# и поверьте его сопровождение на порядки проще. А здесь как раз коммуникация с COM-компонентом который генерирует команды протокола по USB, свой простенький скриптовый язык и полезные режимы визуализации.
Опять! Не углубляясь: очень забавно наблюдать, как на всю критику защитники делфи вспоминают историю. Но в этой теме очень активно напирают на то, что у делфи нету ниши сейчас. На что защитники делфи опять вспоминают историю и ставят в заслугу рисование формочек. Формочки можно рисовать в Glade или каком-нить Qt Creator. Зато получим универсальный продукт. Но нет, надо блин делфи использовать. В общем, делфи таки мёртв. Нет ни одной задачи, для которой не существовало бы более подходящего языка. А для большинства задач таких языков — десятки, из совершенно разных областей, от C++ до Python. Все языки живут и развиваются, когда есть что на них программировать. На делфи программировать нечего, вот он и загнулся. Язык вроде и не плохой, но такова его судьба.
Идеальный язык должен позволять программисту абстрагироваться от низкоуровневой реализации команд.
Вирт все жизнь стремился создать такой лаконичный, простой, легкий язык программирования для людей. Он постепенно убирал из языка все лишнее (с его точки зрения). Algol, Pascal, Modula, Ada, Oberon (+Component Pascal). Последний он считал своим наилучшим произведением.
Исторически так сложилось, что Borland начал с Pascal-я и развил его до Delphi. Сам Вирт был против против усложнения Pascal-я да и вообще какого бы то либо языка.
Из всех ныне здравствующих ООП-языков (имхо) Delphi наиболее приближен к идеальному языку. Жаль что BlackBox не стал популярнее Delphi.
Ну чтож, время покажет, что нас ждет в будущем!
Кстати, если интересно, можете глянуть в Wiki jnrelf растут ноги у виртуальной машины Java.
Embarcadero сейчас делают акцент все так же на субд. Так же заслуживает внимание такая штучка как DataSnap. Вот по ссылке можно чутка почитать как просто реализовать клиент-серверное приложение — edn.embarcadero.com/article/41176
Вот у меня возникла задача проложить мост между 1С и Oracle. Точнее так — есть приложение которое использует данные из Oracle и 1С, вот и для экономии лицензий (хотя это не главное) будет использоваться такая вот трехзвеночка, а не как сейчас — отдельно запускать дополнительный com-объект. Реализовать — просто. Вот и ниша, какая-ниакая…
EF <-> WCF <-> ASP.NET/WPF/WinForms/Silverlight/REST Client — после такой связки DataSnap выглядит как наколенная поделка студентов-дипломников.
Сколько можно продавать одно и тоже. Эти уроки как сделать сервис калькулятора ещё Борданд делала после каждой раелизированой технологии CORBA, COM+, IntraWeb. Только реальные задачи немного посложнее калькулятора: безопасность, транзакционность, надёжность, устойчивость к ошибкам, легкость конфигурирования, взаимодействие с чужими платформами и т. д.
Думаю этот msdn.microsoft.com/en-us/library/ms733069.aspx пример не сильно сложнее, а вообще для простого калькулятора там можно ещё наполовину упростить.
UFO just landed and posted this here
нет, они из ума не выжили. Они просто:

>С 1992 года группа компаний «ГРАНД» успешно и профессионально занимается разработкой и внедрением сметного программного обеспечения.

Просто именно с того времени, когда под Винду толком ничего не было они и стали использовать Delphi, кстати, не обязательно именно с самого начала, но на Windows долго нормального инструментария не было и очень возможно, что когда проект был не такой большой им удалось например с Basic переметнуться на Delphi почувствовав настоящий кайф. Но наработав огромные свои библиотеки, огромное количество кода за свою оооочень долгую жизнь они сейчас просто неспособны перейти со всем этим грузом на что-то новое в короткие сроки.

Я не знаю всей специфики их проектов — не сталкивался — но Delphi тут во многом может быть как груз. У них явно голова на плечах есть, раз они не бросатся на всё новое сломя голову, но и стоять на месте я бы им не советовал. Застой всегда приводил к провалам. Можно сколько угодно любить Delphi, но пользователи могут например что-то Web-овое захотеть, и тут уж точно Delphi не в дамках.

P.S. Я подобного рода конторы видел и не раз и даже в одной работал. Ну там ситуация насчёт C++ такая же, когда-то перешли, много всего написали, а теперь отказаться от этого очень сложно, хотя просект с каждым релизом всё больше и больше показывает, что пора что-то с ним делать, а не решать все текущие задачи методами 12-летней давности. Ничего, контора живёт, хотя за процветание не ручаюсь.
У нас клиент компания с почти миллиардным долларовым оборотом с более чем сотней приложений почти все на Delphi.
Сейчас на Delphi только унаследованные приложения. Ни одного нового на Delphi приложения не планируется. И хотя это большие затраты приложения понемногу переводятся на .NET. Потому что оставаться значительно дороже.
Да и не может Делфи уже предложить такой развитый стек технологий.
Ну вот про то и разговор, что когда-то Delphi действительно был хорошей технологией (со многими приятными и по-настоящему вещами), но сегодня сложилась ситуация, когда приложения, созданные в то время теперь являются именно «грузом», а та ниша, которую Delphi когда-то занимал собой и был лидером, теперь за другими, более продвинутыми на сегодня технологиями. Каких-то особых преимуществ он сегодня за собой не несёт, поэтому новых приложений либо нет, либо появляется как результат скорее академического интереса или истинной преданности и упорства, достойной похвалы. Вот и вы говорите, что для настоящей коммерческой компании

>оставаться значительно дороже.
>Да и не может Делфи уже предложить такой развитый стек технологий.

P.S. Простите, если я вас задел своим предыдущим PS, просто привёл как пример огромное количество фирм, которые сидят в том числе и на других неудачных на сегодня технологиях только в свете «исторических» причин, что отнюдь не доказывает преимущество этих технологий. Я очень рад, что вы действительно не стоите на месте и смогли, не смотря на такой внушительный оборот, открыть глаза и посмотреть в будущее, и приняли решение о постепенном переходе с одних рельс на другие. Вот все бы так! А не просто сидели и вспоминали клиент Skype, Qip и Total Commander, как что-то, что доказывает преимущество чего-то перед чем-то! Удачи :)
UFO just landed and posted this here
Вы что-нибудь из ближайших например 3-х лет привести можете, вот что зародилось на чистых Delphi за последние 3 года и выстрелило ну например не хуже того же Коммандера или Qip'а? А то всё по старичкам, да по старичкам ходите, которые зародились, когда Delphi чуть ли ни единственной альтернативой для программистов на Windows был. Сколько историю можно ворошить?! Может пора начать жить настоящим?
цитата из Википедии:

>Весной 2006 года к Измайлову обратилась администрация журнала Game-Man с предложением перенести проект на их сайт с бесплатного хостинга narod.ru, однако вскоре журнал прекратил существование, и плеер вновь затерялся.

Уже что-то было в 2006, а с тех пор 4 года прошло…

Вот, кстати, ещё цитата из той же Википедии:

>Проект был начат российским программистом Артёмом Измайловым, когда тот ещё учился в школе.

Я конечно очень рад за этого талантливого парня, но можно что-нибудь серьёзное, корпоративненькое, на чём люди реальные деньги зарабатывают, приняли абсолютно осознанное решение кодить на Delphi, а не просто «для души» (ну неужели AIMP начал он делать, чтобы реальных бабок поднять?)
UFO just landed and posted this here
ну во первых первая новость о выходе первой версии аж 2006 годом ознаменована (т.е. уже не 3-х летней давности проект), но это на самом деле не так существенно, поскольку дальше больше:

полазил по сайту, но так и не нашёл информацию, что всё это сделано на Delphi, хотя то, что создание их проектов заточено под продукты Borland — это точно.

Но вот это очень порадовало: «Works under Windows 2000, XP, 2003.» Просто супер! Народ, Vista уже была и семёрка уже есть. Может немного станем более современными.

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

Хотя… Я как обычно, задавая прямой вопрос, подразумеваю косвенный. Мне было интересно, просто насоколько наиболее неизвестное нечто приведут люди, чтобы меня переспорить. Конечно страничка в Википедии о Delphi может кого-то и впечатляет набором ПО, которое на этом языке написано (там есть и очень хорошее ПО, но оно либо относительно маленькоеЮ либо неизвестное), но например Silverlight написан на C# и С++ или тот же MS Office забабахан вроде как на C++, а про Java и C я вообще молчу (ну просто для примера Eclipse и Wine соответственно). Вот на таких масштабах и сложностях максимум, что может, как я понял предложить Delphi — так это рисовать формочки, ну и облегчить работу создание средств по работе с базами данных. Что-то не впечатляет Delphi до сих пор :(
UFO just landed and posted this here
Ну вот хоть чем-то вам помог…

Ладно, последний пожалуй вопрос, но он всплыл из вашего же ответа. А почему, раз вы нуждаетесь в мультиплатформенности (ну Wine зачем-то там написан), то всё равно ваяете проект на Delphi? (Смею предположить, что такая ситуация — «это исторически сложилось»)

Зачем Wine и все эти навороты? Почему бы постепенно не перевести проект на какой-нибудь мультиплатформенный язык?

UFO just landed and posted this here
>Наличие вылизанных наработок (классы, энжины, библиотеки доступа, парсеры и т.д.)

ну вот так и надо говорить с самого начала: «мы на нём столько всего понаделали, что уже перейти на что-то другое не можем», а не «Delphi — это круто», только потому что вы на нём столько давно программите. Подобные доводы может привести любой сишник, джавист, лисповист и пр. люд, который долгое время использует какой-то язык программирования. Наличие каких-то знаний и опыта у вас не значит, что это _такой прямо крутецкий язык_.

А по поводу Wine, я согласен, что это лучше чем ничего, тем более у вас довольно большой и устоявшийся проект, который действительно переписать на что-то будет сложнее и дороже, чем поддерживать всё переписать. Но согласитесь это скорее костыль, чем решение, и данная ситуация показывает один из самых огромных минусов Delphi — это его абсолютная заточенность под одну десктопную платформу (отгадайте какую). К тому же Wine сам никак не связан с миром Delphi, и наличие его использования в вашем проекте нисколько не говорит в пользу Delphi — вместо того, чтобы использовать как можно меньше средств и инструментов, происходит только усложнение. Это не плюс, а жирный минус.

>Стоимость перевода сопоставима с написанием такого же продукта с нуля.

Поэтому я и предлагал, что если уж заниматься этим, то постепенно, не рвя на себе майку, а спокойно от релиза к релизу, библиотека за библиотекой. Хотя я конечно не знаю ваш проект, что у вас там внутри, поэтому конечно настаивать не буду. Вам это в конце концов деньги приносит. Хотя я бы всё же задумался бы — Wine — это костыль, как ни крути, а костыли могут и поломаться со следующими релизами, да и может нагрянуть перспектива какой-нибудь интеграции в чего-нибудь для поднятия ещё большего бабла, где каждый костыль будет чуть ли непреодолимым препятствием. Результат рассуждений: в данном вопросе я согласен с вами процентов на 90!

> Меряние пиписьками закончилось, когда у меня появились собственные дети. И теперь я пишу на том, что принесет бабло.

А я и не пытаюсь меряться письками. Я просто хочу понять, чем так хорош Delphi, кроме того, что «мы програмим на нём сто лет» и «на нём клиент Скайпа написан», что каждый делфист считает своим долгом за свою жизнь не только посадить сына, вырастить дом и построить дерево, но и написать очередную статью «Почему Delphi самый крутецкий язык» с призывами к сообществу программировать на нём. Вот я честно в комментариях здесь пытался понять, что в нём такого, и знаете — абсолютно не впечатлило… в очередной раз… а жаль… объективных причин не хватает. Я готов пока развиваться, а не поднимать бабло (хотя и то должно присутствовать). Но в мире программирования столько всего, что хотелось бы знать, а какие я бенефиты я получу, по сравнению с тем средством, что я сейчас ипользую. У Delphi таких бенефитов по ходу нет, кроме того, что можно программу с одним окном за полчаса забабахать, а не 40 мин. как на C++, например. Скучно… Хотелось бы на примере каких-нибудь реальных больших проектов. А тут, видно, показаьть Делфям опять же нечего, если у вас проекту не сто лет и он не делался на Delphi всегда.
Яндекс.Деньги на Delphi так же крутятся. Какой процент доверия? Думаю высокий, несмотря на постоянную вакансию delphi-программиста :)
Процент доверия никакой так как функциональность 3 формочки + две кнопочки, явно исторически сложившийся факт и не более того… Как человек написавший не один десяток тысяч строк на Delphi (и корпоративные СУБД и много чего разного для себя и не только себя).

Сейчас могу с уверенностью сказать — «такого тута не стояло», начинать большой проект на Delphi как выразились уже многие комментаторы это надо быть или «не в себе» или просто сильно не хотеть учить ничего нового…
зачастую переписать заново легче вовсе не потому что это плохой язык/программа/библиотека…
Периодически вижу в коде дефайны под MacOS. Я думаю, они еще попытаются нас чем-то удивить.
Да, слухи ходят давно и упорно. Замерли в ожидании.
слухи ходят давно, а дефайны появились совсем недавно :)
Delphi не умер, он вполне жив. Skype под Windows написан на Delphi. Это о чем-то говорит, разве нет?

Если стоит задача сделать небольшое приложение под Windows с интерфейсом, то Delphi вне конкуренции, ИМХО. Удобный дизайнер, много готовых компонентов. Синтаксис языка Delphi менее запутан, чем C++: программы выглядят «стройнее». Фантастическая скорость компиляции. Довольно эффективный код. Отличная IDE со множеством расширений.

«Говноформы» получаются, в основном, из-за простоты внесения кода в код самой формы. Delphi навязывает эту концепцию (например, создавая обработчики событий). В результате, View тесно сливается с Model. В маленьких проектах это неважно. Однако, никто не обязывает это делать в больших проектах.

Беда в том, что вектор развития Delphi был как-то… потерян что-ли… Возобладали какие-то странные стремления (наверное, маркетинговые). К примеру, в Delphi в стандартной библиотеке так и не появился аналог STL map, то есть полноценный набор пар имя-значение (полноценный, в смысле, с производительностью O(log(N)) ). Зато появилась масса ненужных компонент, бессмысленное портирование под Linux, «дружба» с .Net и т.д.

Мне кажется, нужно было развивать Delphi, как «вещь в себе», как платформу — дополнять его библиотеку средствами шифрования, работой с XML, регулярными выражениями, сетевыми возможностями и пр. и пр. Причем нужно было делать это аккуратно, системно.

Вообще, Delphi нужно любить. В умелых руках это чрезвычайно мощный инструмент. И большое сообщество в Сети это подтверждает. А если начать разбирать достоинства по пунктам, то всегда найдется лучший аналог :-)

UFO just landed and posted this here
Протокол и серверная часть Skype написаны на С, под другие платформы, в том числе и мобильные, клиента тоже явно не Delphi писали.
Delphi должен повторить судьбу Netscape. Выйти в Open Source и превратиться через несколько лет в отличную, открытую среду разработки, которая не догоняет новые платформы, а опережает их. Объединить усилия с Mono и другими открытыми анти-MS проектами, добиться, чтобы под этот язык затачивали SDK новых девайсов. Т. е. путь реванша в браузерной войне, на этот раз для IDE.
mono — анти-MS проект? я надеюсь вы шутите?
Когда начинал изучать Delphi, потратил много времени на принципы работы WinAPI, копание в библиотеке VLC. Зато понял, как все работает внутри. После чтения форумов по Delphi, понял за что дельфи-программистов не любят разработчики C/C++ — большинство вопросов сводилось «как найти компоненту, которая делает ...»
Не знаю — жив или мертв, но все мои знакомые, кто когда-то писал на Дельфи или вообще завязали с программированием (ушли в PMы) или перешли на другие языки (C#, Java по большей части).
У Делфи очень удобная, продуманная, качественная и быстрая IDE. Её не надо настраивать, думать над тем, как, что, куда нажать, какие плагины поставить, чтобы она компилировала, как сделать вывод ошибок, где найти дерево классов и поставить на форму кнопку. Среда — идеальна. Я бы даже сказал, что это лучшее из всего, что я видел. Порог вхождения нулевой (вспомним Eclipse).

А язык, не спорю, давно отстал.
Это IDE БЫЛА удобной и быстрой во времена 6-ой студии. А Delphi 7 с отсталым редактором, окнами которые постоянно перекрывают друг-друга и примитивным дебагером уже такой считатся не может, замечу что в 2002-ом вышла Visual Studio 2002.
А с Eclipse они толком никогда не конкурировали. Делфи в первую очередь для разработки толстых десктоп клиентов, а то что у них было для веба конкурентными технологиями не назвёшь.
Насчёт семерки соглашусь. Знаю контору, которая до сих пор (!!!) спокойно ваяет из Самары в Лондон софты на D7+MSSQL(или Oracle). Просто накоплены и отработаны все необходимые компоненты для работы.
>Так вот, почти всегда новый проект пишется либо на C#, либо на Java.
Обычно для конкретного проекта выбирается более удобный/выгодный инструмент.

для меня, delphi стал проигрывать другим языкам 7 лет назад (в большинстве проектов)
почему delphi так долго живет? люди не любят изучать новые/другие технологии, имхо.
Пока тебе «до 25», ты рассуждаешь именно так. После — начнутся другие заботы, например ипотеки, жена, дети и прочие дела, попробуй поучись. :-)
Досконально изучать нет необходимости, достаточно знать обзорно, прочитать описание и возможности, на это не много времени уходит.

я например трачу каждый день по 5мин что-б пролистать хабр на свежие темы, если вижу не знакомое слово (незнакомую технологию), то обзорно изучаю её (что? где? для чего?) — 5..15мин

>более удобный/выгодный инструмент.
сюда уже заложены затраты на изучение, реализацию и пр.
грубый пример: вместо написания своего прокси-сервера на Delphi, лучше потратить время на обзоры готовых решений, выбрать, изучить, настроить. т.к. это выгоднее — быстрее, качественнее, дешевле.

если-б не изучали новое, то до сих пор сидели бы под досом.
ЗЫ: мне не «до 25»
С какого-то года они Object Pascal переименовали в Delphi
Delphi так же и язык, с 7-ой. До этого да, был Object Pascal вроде.
Многое сказали и правильно. Чуть-чуть добавлю и от себя.
Наша жизнь меняется и сегодня разработка под web не так уж сильно отличается в удобстве и скорости от классических настольных приложений. Кто бы мог об этом подумать 10 лет назад? Из-за кроссплатформенности web выигрывает.

Тем не менее Delphi уверенно держится в сегменте работы с СУБД, горы драйверов и спец компонентов. Если нужно более-менее серьёзное приложение для работы с бд, то Delphi и сейчас отличный выбор.
Да, был очень плохой период — когда властвовал codegear. Ужасная ценовая политика. Поддержка того же .net отставала на несколько версий (другой вопрос зачем он там нужен).
Но сегодня мы становимся свидетелями рождения нового Delphi, подождите еще годик, все вернется: и популярность и программа в вузах).
Delphi надо не так уж и много, поправить ошибки (многие ошибки не правятся уже 10 лет!), прикупить парочку компонент и вставить в дистрибутив. И популярность вернется.

Задумайтесь, многие ли из вас пользуются каждый день софтом, написанным 10 лет назад и почему. Так вот, я пользуюсь Delphi6 — она выпущена в 2000 году (последний пак с исправлениями от 2002 года). И она до сих пор актуальна!

P.S.
На последней олимпиаде программа, управляющая светом на церемонии открытия и закрытия написана на Delphi.
P.S.
www.isdelphidead.com
Delphi уже не вернётся. Ей приходится сейчас конкурировать в Pyhhon, PHP, JavaScript за третьи и места о она им успешно сливает.
А толстые клиенты для работы с БД с нуля сейчас редко начинают делать и уж точно не на Delphi. Ещё некоторое время(лет 5-10) за счёт legacy-кода продержатся, но уже сейчас их доля балансирует на уровне статистической погрешности.
Время нас рассудит, но то что Delphi вновь родилась, думаю спорить не будете.
Да родилась только ниши в которой она была сильна почти не осталось, а в том что осталось появились более сильные конкуренты.
Как кричал Балмер Developers, developers, developers, потому что к выбору технологии разработки всё таки имеют отношение они.
А здесь ситуация удручающая www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Использование Delphi стабильно падает, уже скоро LISP-перов будет столько же сколько и Делфистов.
Там правда ещё есть Паскаль, но просуммировав значения очутимся ниже Perl.

Кстати об актуальности Delphi 6. Недавно пришлось написать знакомым несколько программ по обработке текста в Delphi 7.
-После Python низкоуровеневость языка и его многословность удручает. Более того решать задачи обработки языковых конструкций на ней банально неудобно, а если добавить что на Python есть nltk где значительная часть нужных мне алгоритмов уже качественно реализовано то это как пользоваться лупой для исследования генов.
-Разработка графического интерфейса в редакторе с отвратительной навигацией по коду, перекрывающимися окнами которые постоянно норовят закрыться и которые чтобы открыть нужно много телодвижений.
-Отладчик — это всегда было слабое место Борланд, при наличии развитых rtti механизмов иметь такое убожество которое постоянно норовит открыть дизассемблер это мне непонятно. Даже VC++6.0 который старее имеет значительно более удобный отладчик и при наличии отладочных символов почти всегда вернёт вас в правильное место.
-Самый большой недостаток для меня — Отсутствие нормального рефакторинга — Castalia — убожество.
-Система помощи, луч ненависти техрайтерам и пиэмам Борланд которые в 2002-м году выхода Делфи 7 не захотели сделать помощь в нормальном формате. Хорошо хоть сейчас есть интернет, а в 2002-ом у меня с ним было туго, а в winhelp-овской справке что-то найти сродни подвигу.
Из этого резюме я буду что делать на Delphi только за очень большие деньги и с умноженым временем разработки в минимум в 2-3 раза по сравнению конкурирующими технологиями.

Насчёт плюсов Делфи по работе с БД, то их уже давно нет абсолютно. .NET, Java имеют полно адаптеров и свои технологии доступа к данным. Да и одной работы с БД недостаточно, а полного стэка технологий нет.

У Delphi была и есть только одна проблема «ошибки менеджмента».
Несколько лет в коментариях кто-то из среднего звена мэнеджмента проговорился что средства разработки были прибыльны всегда.
Проблемы иссключительно в мэнэджменте и маркетинге. Компания после 5-го Delphi металась, акционері требовали больше прибыли соостветственно инструментам разработки приделялось всё меньше внимания, зато полезли в модный ALM, потом история с переименованиями марки.
Это в СНГ Delphi стоило по цене носителя, а на Западе оно стоило раза в два дороже Visual Studio, при том что с студией ты получал больше инструментов. Майкрософт дала большую фору Borland не обвновляя 6-ую студию с 98 по 2002 год, за это время Delphi доросла до версии 7.
А потом .NET который вроде непонятный зверь, но гарантировано поддерживается грандом индустрии и Borland (толи Inprise) который никак не мог определится зачем ей Delphi.
Если стоит выбор выбрать платформу которая:
— Специалистов имеет относительно мало (да-да, даже в самые лучшие времена в Штатах специалистов по Delphi было на порядок два меньше того же VB6)
— Неизвестно будет ли дальше развиваться, угробить кучу денег на разработку чтобы в определённый момент остаться с инструментами без поддержки.
— Очень серьёзный Vendor-Lock In, в случае работы грандами вроде Microsoft, Sun это ещё допустимо, но с Borland уже тогда связываться было неразумно.
— Тупое игнорирование нужд разработчика, в 2002-ом веб уже грохотал, нормальных решений для быстрой веб-разработки в Delphi 7 не оказалось, все эти IntraWeb это конечно хорошо но в вебе на тот момент конкурентом был больше PHP в масовом сегменте и Java в корпративном. Да и кстати добавить поддержку Unicode аж в 2010-ом это офигительное уважение к нуждам заказчиков или ихняя супер удобная справка в формате winhelp в которой пока найдёш что-то разобьёш клавиатуру.

А сейчас вменяемый западный заказчик низачто не свяжется с разработкой на Delphi по доброй воле.
— Опять же vendor lock-in на ещё меньшую конторку чем была Borland
— Специалистов мало, соответственно они дороги
— Сама платформа дорогая, чёрт побери я с студией получаю 4 языка разработки + кучу инструментария и за цену обычно вдвое меньшую чем за один Delphi.
— На два порядка меньше библиотек чем под любую конкурирующую платформу.
Для меня как разработчика который разбалован C#, Java, Pyhon язык Delphi слишком низкоуровневый ну и дибильный синтаксис это тоже.

Осталась ещё одна небольшая ниша где Delphi ещё есть некоторые плюсы это разработка native rich GUI клиентов под Windows, но обычно C++ + Qt, удобнее и даёт доступ ко всем возможностям WinAPI без потребности писать свои обёртки если этого не сделали.
Только не в 2 раза. Лицензию на Microsoft Visual Studio Professional можно периодически купить за $150, а Delphi — от $1 000.
>неизвестно будет ли дальше развиваться
так вроде начали развиваться
>игнорирование нужд разработчика
с этим сейчас получше, хотя когда как
>vendor lock-in + специалистов мало
низкий порог вхождения позволяет за год «вырастить» своих специалистов
>на два порядка меньше библиотек
спорно, что там насчет почты в C# :)
>сама платформа дорогая
с этим да, согласен, опять же «менеджмент» так решил :(
>неизвестно будет ли дальше развиваться
>так вроде начали развиваться
А здесь уже вопрос не у них, а в рынке который они просрали. У них банально может не хватить прибыли чтобы дальше развиваться.
>игнорирование нужд разработчика
>с этим сейчас получше, хотя когда как
Добавить поддержку Unicode аж в 2010-ом году, это сильно. После такого я по доброй воле не свяжусь с такой компанией. Доверие уже потеряно давно.
Сколько мне ждать x64, ещё 10 лет? Думаю пользователи этого не поймут.
>vendor lock-in + специалистов мало
>низкий порог вхождения позволяет за год «вырастить» своих специалистов
А нужно ли это специалистам. Платят как PHP-никам, перспектив минимум. Java, .NET значительно лучше оплачиваются и при желании легко сменить работу. Разве компании хорошо, текучка меньше.
>на два порядка меньше библиотек
>спорно, что там насчет почты в C# :)
— Угу интересный комментарий например у этой библиотеки code.google.com/p/opencvdelphi/
А с почтой что не так, что именно нужно то?
stackoverflow.com/questions/670183/accessing-imap-in-c
Да и в случае проблем обёртку к С++ библиотеке не так уж и сложно сделать.

К тому же Exchange с C# будет полегче добраться именно с .NET так как COM-ские интерфейсы.

>сама платформа дорогая
>с этим да, согласен, опять же «менеджмент» так решил :(
— На предыдущей работе большая часть моего отдела писала application note и декстоп приложения для них в большинстве писались на Delphi. Когда руководство прикинуло стоимость лицензирования и сравнило с ценой VS2005 Standart на тот момент, то порядок очень быстро навели, а разработчики бодренько выучили C#. На разницу в ценах купили site license нескольких библиотек компонентов и два больших набора иконок.
Да и пользователям больше не надо объяснять как использовать наши разработки, потому что примеры на знакомых технология, а в Штатах доля инженеров знающих Delphi исчезающе мала.
Про то, как Delphi умирает, пишут заметки уже лет 10 минимум. Каждый год читаю по несколько таких. И каждый же год в комментариях и обсуждениях таких заметок начинается Delphi-срач, «аргументация» сторон в котором великолепно демонстрирует реальный уровень аргументирующих.

Более всего доставляют фанаты фигурных скобочек — их ненависть к begin end достигает порой эпических величин. На следующем месте — радетели за понимание того, «как на самом деле работает программа», но при этом понятия не имеющие о том, что такое access violation. Третье место занимают любители порассуждать о «ненужных» знаниях, которыми их якобы где-то потчевали (эти, что характерно, практически в любом сраче появляются). Все остальные «аргументаторы» не столь массовы, но в целом их можно объединить общим признаком «смотрите, я тут придумал, почему Delphi говно, а те, кто его использует — лохи».

Тем временем Delphi живет, развивается, с его помощью люди продолжают зарабатывать деньги: «собаки лают — караван идет».

Как-то так.
Старые проекты на Дельфях надо же кому-то поддерживать — вот поэтому и едет ваш караван.

А новые никто на Дельфях уже писать не будет — ибо это не программы, а хроники пикирующего бомбардировщика… ;)
И пишут, и будут писать — мнение сетевых борцунов с Delphi при этом в расчет не берется :-P
Много копий тут поломалось я гляжу, но вот только все таки можно сказать Rest In Peace. Я думаю она уже не вернется :( хотя у самого не один десяток тысяч строк кода на этом «языке древних» ;) Проморгали, упустили струю, вобщем «прошли мимо», но явно «застолбили» прочное место в истории программирования.
UFO just landed and posted this here
Работодателей… Поискали бы архив вакансий за 2000 год :) и за 2009 :) А если Вы спросили у Дельфиста, это тоже самое что спросить у Михалкова хорошие-ли он фильмы снимает :)? Конечно он ответить что быдлу его высочество не понять ;)
По-моему все гораздо тривиальнее. Причины заката Borland — неадекватная ценовая политика. Когда MS пихала свои IDE всем кому не лень за символическую цену, полный пакет продуктов Borland стоил несколько k$. Причины успеха в России — все это можно купить было на пиратском СД за пару баксов, и на паскале учат программить в школах.
Для меня Delphi — это как первая любовь. И очень жалко, что умирает =(
Действительно, когда Delphi занимался Borland — всё было очень неплохо, а CodeGear убил дельфю =(
Честно говоря не люблю Delphi (если понятие «любить» вообще можно применить к неживому предмету, мало того даже не предмету а программе). Хотя и писал на нём много как для себя, так и под заказ, как маленькие утилитки, так и более менее крупные системы (систему автоматизации автотранспортного предприятия например), как в одиночку так и в команде. Основные причины нелюбви — ноги, растущие из Pascal (неудобный синтаксис, строгая типизация, отсутствие некоторой вольности обращения с данными).
Sign up to leave a comment.

Articles

Change theme settings