Delphi и visual studio сравнение
Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Плещев Владимир Васильевич
Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Плещев Владимир Васильевич
Классификация и анализ содержания образования в области программирования и баз данных Анализ и формирование содержания предмета изучения и методического обеспечения адаптивного образования в области программирования Определение оптимальных параметров технологических схем отработки пластов неблагопрятных для длинных КМЗ с помощью пакетов стандартных компьютерных программ Методология проектирования универсальной адаптивной методической системы формирования компетентности специалистов (на примере обучения в области разработки компьютерных приложений для специальности «Прикладная информатика в экономике (по областям)») Практическое применение систем автоматизированного учета на предприятии i Не можете найти то, что вам нужно? Попробуйте сервис подбора литературы.Текст научной работы на тему «Сравнительный анализ программных средств разработки приложений и баз данных и индивидуализация учебного процесса их изучения»
Владимир Васильевич Плещев
Кандидат технических наук, доцент кафедры информационных систем в экономике Уральского государственного экономического университета
СРАВНИТЕЛЬНЫЙ АНАЛИЗ ПРОГРАММНЫХ СРЕДСТВ РАЗРАБОТКИ ПРИЛОЖЕНИЙ И БАЗ ДАННЫХ И ИНДИВИДУАЛИЗАЦИЯ УЧЕБНОГО ПРОЦЕССА ИХ ИЗУЧЕНИЯ
Индивидуализация профессионального образования позволяет эффективно развивать способности и профессиональные навыки каждого студента с учетом его индивидуальных особенностей, исходного и результирующего уровней подготовки. К основным принципам индивидуализации образования относятся:
систематичность и последовательность в работе со студентом на максимально доступном для него уровне;
развитие самостоятельности и творчества студента, его умения эффективно работать с технической литературой и с электронными средствами обучения и контроля знаний;
интенсивное развитие способных студентов.
Существуют различные приемы организации такого учебного процесса, например: разработка индивидуальных программ обучения и самостоятельного планирования; контроль хода обучения с возможной корректировкой программы обучения; создание адаптируемого учебно-методического обеспечения для самостоятельной работы; гибкое и оптимальное сочетание индивидуальных и групповых форм учебной работы.
Выделим три основных уровня обучения и их примерное соответствие типам учебных заведений:
начальный (ознакомительный) уровень - студенты колледжей (техникумов), обучающиеся по не компьютерным специальностям;
основной уровень - студенты вузов и институтов повышения квалификации кадров, обучающиеся по не компьютерным специальностям, и студенты колледжей (техникумов), обучающиеся по компьютерным специальностям;
углубленный уровень - студенты вузов и институтов повышения квалификации кадров, обучающиеся по компьютерным специальностям.
Для определения содержания подготовки специалистов в указанной области нужно проанализировать состояние дел в ней. Сформулируем кратко результаты такого анализа по основным разделам этой области.
Среды быстрой разработки приложений (RAD). Большинство современных языков программирования имеют собственные среды быстрой разра-
ботки приложений (RAD). Современные среды программирования автоматизируют все процессы жизненного цикла программных средств (ЖЦПС).
СУБД Access - идеальная по простоте и удобству среда разработки. В качестве недостатков можно отметить отсутствие возможности формирования исполнимого файла, медленную работу с базами данных больших объемов, отсутствие средств администрирования. Рекомендуется использовать для разработки простых приложений и персональных баз данных с ограниченным объемом (несколько сотен тысяч записей) информации.
СУБД Visual FoxPro. СУБД имеет собственный язык программирования с возможностью создания исполнимого EXE-файла. Недостатки СУБД те же, что и у СУБД Access, плюс наличие ошибок при визуальном связывании таблиц. Рекомендуется использовать для разработки достаточно сложных приложений с ограниченным объемом (не более миллиона записей) обрабатываемой информации.
СУБД Oracle - современная универсальная, полнофункциональная система управления реляционной базой данных, работающая в различных операционных средах и на различных типах компьютеров. Oracle представляет собой целый мир, включающий методы и средства проектирования (CASE-средства), создания и использования распределенных баз данных, языки запросов (SQL, SQL*PLUS, PL/SQL), генераторы обработки и оперативного анализа данных (Oracle Express OLAP), конструкторы и мастера форм (Oracle Form Builder), запросов, отчетов (Report Builder) и приложений (Oracle Developer, Oracle Project Builder) и др. Oracle отличается сложностью и большой стоимостью. Рекомендуется использовать для очень больших централизованных или распределенных баз данных крупных предприятий.
CASE-средства. Обычно к CASE-средствам относят программное средство, автоматизирующее совокупность процессов всего ЖСПС. CASE-средство содержит следующие компоненты:
а) репозиторий, который должен обеспечивать хранение версий проекта и его отдельных компонентов, синхронизацию поступления информации от различных разработчиков при групповой разработке, контроль метаданных;
б) графические средства анализа и проектирования, обеспечивающие создание и редактирование иерархически связанных диаграмм;
в) средства разработки приложений, включая системы программирования и генераторы кодов, конфигурационного управления, документирования, тестирования, управления проектом, реинжиниринга.
CASE-средства реализуют методы объектно-ориентированного анализа и проектирования (Rational Rose), потоков данных и работ (BPwin), проектирования схем баз данных (ERwin) и др.
В таблице приводятся примерные экспертные оценки (по десятибалльной системе) возможностей и быстроты их освоения (оценки перечисляются
Экспертная оценка основных средств разработки приложений
Оцениваемое средство VB Del CB VC Acc Sql Ora Fox
Команды управления 8,6 8,6 9,5 2,9 - 5,5 6,9
Мастера форм 5,8 6,8 6,8 2J ?,9 - 8,8 6J
Мастера запросов и представлений 4,6 5,5 5,5 - 9,9 - 9J ?,5
Мастера отчетов 5,9 3,9 3,9 - 8,9 - 9,8 ??
Конструкторы форм 5,4 6,5 6,5 2,2 8,8 - 9,6 6J
Конструкторы запросов и представлений 6,6 5,5 5,5 5,6 9,9 5,6 9J ?,4
Конструкторы отчетов 4,5 8J 8J - ?,9 - 9,8 ??
Команды формирования запросов и представлений (SQL) 5,4 6,5 6,5 ?,5 ?,8 8J 9,6 6,5
Работа с файлами ?,8 9,9 8J 9,6 - 5,6 ?,6 6J
Работа с базами данных (БД) 9,6 8J 8,6 9J - - - -
Оперативная обработка (OLAP) - ?,8 - - 9J -
Обработка сбойных ситуаций 4,8 8J 8,6 9,5 - ?,6 8,6 4,4
Администрирование БД - - - - 3J 8J 9,6 4,4
Копирование и восстановление БД - - - - 4,9 8,8 9,8 3,5
Взаимодействие с другими приложениями 8,8 8,6 9,4 5J 6J ?,5 ?,6
Таким образом, каждое средство программирования и СУБД имеет свои преимущества, недостатки и области эффективного применения. Это обусловливает необходимость их изучения и освоения.
Для подготовки специалистов в указанной области за основу взят государственный образовательный стандарт по специальности «Прикладная информатика (по областям)». Изучение ведется в рамках взаимосвязанных курсов «Информатика и программирование», «Высокоуровневые методы информатики и программирования», «Базы данных», «Разработка и стандартизация программных средств и информационных технологий».
Содержание подготовки должно задаваться методическим обеспечением. Исходя из необходимости индивидуализации процесса обучения сформулируем основные принципы разработки такого обеспечения:
1. Системность, т.е. учет взаимосвязей между указанными дисциплинами, исключение дублирования учебного материала; согласованность и унификация понятий, правил изложения и оформления учебного материала.
2. Классификация - декомпозиция учебного материала по специализации (видам программных средств) и уровням изучения и освоения.
3. Самодостаточность (кейс-обеспечение). Все, что нужно для изучения и контроля (включая электронное тестирование) полученных знаний и навыков (в соответствии с требованиям ГОС и ОСУЗ), содержится в этом обеспечении.
4. Развитие - оперативное изменение и дополнение учебного материала с учетом современного состояния изучаемой области.
5. Модульность. Описание групп взаимосвязанных тем выделяется в отдельные тематические модули (блоки):
а) основы теории программирования;
в) основы теории проектирования баз данных;
г) СУБД: Access, Visual FoxPro, SQL Server, Oracle.
д) разработка приложений: CASE-средства BPwin, ERwin, Rational Rose.
Обобщим результаты классификации.
Примерное соответствие уровней изучения содержанию учебного материала было принято следующим:
1. Начальный уровень - основные команды, функции, классы, объекты, методы, свойства, события; визуальные мастера и построители объектов. Студенты учатся составлять простые программы на Visual Basic и (или) Delphi, базы данных с СУБД Access.
2. Основной уровень - дополнительные команды, функции, классы, объекты, методы, свойства, события; объектно-ориентированное программирование; визуальные средства в полном объеме, всевозможные конструкторы (таблиц, форм, диаграмм, запросов и отчетов), средства создания, использования и администрирования баз данных. Студенты создают приложения и Internet-приложения.
Путем комбинации учебных модулей, тем и уровней изучения можно создать индивидуальные образовательные траектории, ориентированные на различные формы обучения, аудиторию и отдельных студентов.
В заключение отметим, что для всего образовательного процесса в области программирования и баз данных в соответствии с указанными принципами были разработаны учебники [1; 2] и пособия 4, в которых учебный материал классифицирован по специализации и уровням изучения. Для контроля знаний студентов были разработаны примеры, упражнения и задачи для программирования, темы практических, контрольных и курсовых работ, тесты для электронного тестирования, вопросы для зачетов и экзаменов.
Разработанное методическое и программное обеспечение было применено в учебном процессе в нескольких высших и средних учебных заведениях с различными формами обучения и показали свою эффективность.
1. Плещев В.В. Информатика и программирование. Quick Basic и Visual Basic 6.0, VBScript, HTML, ASP, Dreamweaver, Crystal Reports с примерами и упражнениями: Учебник. 3-е изд., испр. и доп. Екатеринбург: Изд-во Урал. гос. экон. ун-та, 2002.
3. Плещев В.В. Базы данных. Visual FoxPro, Access, SQL Server, Oracle: Учеб. пособие. Екатеринбург: Изд-во Урал. гос. экон. ун-та, 2002.
4. Плещев В.В. Разработка и стандартизация программных средств и информационных технологий: Учеб. пособие. Екатеринбург: Изд-во Урал. гос. экон. ун-та, 2003.
5. Плещев В.В. Основы программирования в СУБД FoxPro: Учеб. пособие. Екатеринбург: Изд-во Урал. гос. экон. ун-та, 1999.
Delphi сегодня - интервью с Всеволодом Леоновым. Часть 2
Продолжаем разговор с Всеволодом Леоновым, начатый нами в первой части нашего интервью. Во второй, сегодняшней части, мы поговорим о стереотипах, связанных с Delphi, узнаем, что есть плохого и хорошего в ближайшем конкуренте — Visual Studio и Microsoft вообще. Обсудим, в чем будущее Delphi, походу пройдемся по современной моде, которая порой излишне навязывает внедрение замысловатых шаблонов проектирования и необоснованно-инновационных (в ущерб простое и ясности кода) фреймворков.
Короче говоря, современный Delphi X3 предлагает немного по-другому посмотреть на уже привычную многим стратегию софт-разработки. И хотя сейчас для многих Delphi — это не более чем приятные воспоминания из молодости, — наш сегодняшний гость постарается доказать, что эта технология не только по-прежнему «в седле», но, оставаясь по своему самобытной, имеет все шансы на прекрасное будущее.
Скажу прямо, имея некоторый опыт работы в США в разных софтверных фирмах, часто сталкивался у своих тамошних коллег либо вообще с незнанием «что такое Delphi», либо с ярым отстаиванием того, что понятия «коммерческая разработка» и Delphi — суть несовместимы.
Исключительно из своего личного опыта у меня сложилось мнение, что Delphi — это среда разработки (и язык программирования) по большому счету популярная лишь в странах Восточной Европы (в силу нашей образовательной специфики и акцента на Паскаль). Что вы можете сказать на этот счет? Что можно сказать о позициях Delphi на рынках США и Западной Европы?
Небольшой исторический экскурс по поводу стран Восточной Европы. Система образования бывшего СССР была очень сильна во многих аспектах, но не по части прикладного программирования. В начале как получить доступ к компьютеру, так и научиться что-то делать в современных средах разработки могли лишь те, кто имел определенную специальность. Целые факультеты «пролетали мимо» фундаментальных курсов по программированию. И наличие Turbo Pascal с низким порогом вхождения, а затем среды Delphi, позволяющей заняться самообразованием в хорошем смысле этого слова, смогли насытить ИТ-отрасль достаточно грамотными разработчиками, а также повысить общенациональный инженерный уровень создания прикладного ПО.
Таким образом, для стран бывшего соцлагеря связка Pascal/Delphi резко выдернула экономику из ИТ-небытия за счет очень простого языка программирования и среды визуальной разработки на основе готовых компонентов. Но Delphi всё-таки язык объектно-ориентированный язык программирования (а не object-based), поэтому дальше прикладной ИТ-профессионал не был ничем ограничен, мог свободно пользоваться основными парадигмами ООП, писать сложный объектный код с развитой архитектурой классов, т.е. развиваться дальше.
В первой части интервью вы затронули вопрос взаимоотношений с Microsoft, можно на этом остановиться чуть поподробнее?
Вот, например, Skype написан на Delphi, но принадлежит MS, теперь я читаю, что MS набирает Delphi-программистов к себе на работу — очень интересно, как могут вообще сосуществовать в таких замысловатых взаимных хитросплетениях такие, по сути, антагонисты и компании прямые-конкуренты, как вы и MS?
Ответ на вопрос хочу начать с метафоры. Microsoft и Embarcadero (можно даже сказать, Microsoft и Delphi) по стратегическим взаимоотношениям можно сравнить с Россией и Финляндией. Экономические ресурсы несопоставимы, но бизнес-отношения тесно переплетаются. Еще раз хочется напомнить, что Delphi — это, прежде всего, разработка под ОС Windows, причем один и тот же проект будет работать и под Windows 2000, и под Windows 7. Также как и новые уникальные возможности создания интерфейсов в стиле Windows 8.
А вот в хоккее Россия и Финляндия — непримиримые соперники, причем с переменным успехом. В области средств разработки под Windows Delphi спокойно может противостоять и выигрывать у Visual Studio, созданной, к слову, на той же идеологической базе (да-да, я имею в виду Андерса Хейлсберга). Здесь у нас единые правила игры, богатый исторический опыт и ряд конкурентных преимуществ.
Более того, такая жёсткая фиксация на одном производителе делает ИТ-рынок слишком монополизированным, а это сразу же начинает влиять на качество продуктов. Я полагаю, Microsoft благосклонно относится к Delphi как средству разработки под Windows.
Именно Microsoft! Алексей Шуленин сделал доклад по новым возможностям MS SQL Server 2012, а Дмитрий Сошников рассказал о разработке под Windows Phone. Более того, мы с Дмитрием сделали совместный доклад, где показали разработку тонкого клиента под Windows Phone на Visual Studio, который затем взаимодействовал с сервером приложений, написанном на Delphi. Конечно, как Вы правильно сказали, разобраться в хитросплетениях бывает, подчас, сложно. Но для этого и существуют евангелисты, подавляющая часть которых не стремится рассорить сообщество программистов, но ищут направления взаимовыгодного сотрудничества.
Насколько я понял вашу маркетинговую политику, сейчас вы провозгласили отказ от поддержки независимых разработчиков и малых групп — по большому счету теперь вас интересует только enterprise-сектор. Отсутствие у вас бесплатной версии (как правило, ориентированной именно для этой ниши) лишний раз подчеркивает эту ориентацию. Так ли это?
Была сделана попытка «подловить» меня на слове в рамках одного из моих вебинаров. Я лишь заявил, что компания Embarcadero взяла курс не на эксперименты над своими пользователям, типа внедрения замысловатых шаблонов проектирования, необоснованно-инновационных (в ущерб простое и ясности кода) фреймворков замысловатых шаблонов проектирования, необоснованно-инновационных (в ущерб простое и ясности кода) фреймворков и следованию некой ИТ-моде. Средство разработки для нас не является средством шантажа, неким кнутом, загоняющим разработчиков в предопределенных платформой рамки. Мы совершенно ясно и чётко говорим о том, что стремимся выполнять пожелания максимально большему числу наших пользователей, которые в основной массе — корпоративные разработчики. Зачем, скажите, им ненатуральное разделение представления и кода?
Нет, я не говорю, что это — плохо. Вообще, нет понятия «плохо», но есть — целесообразно. В подавляющем большинстве противоестественное дробление, а потом связывание, но уже в неочевидной, слабоконтролируемой форме вносит больше путаницы, а не ясности в код. Эту моду бойко подхватывают всякие эксперты-консультанты, которые просто рады обвинить прикладного программиста в недалекости, а затем выгодно продать свои уникальные знания.
В подавляющем большинстве команды корпоративных разработчиков не имеют отдельно взятой роли «дизайнер интерфейсов», который живет в полной изоляции от среды разработки.
То же самое касается и другого модного течения — методология разработки. Сначала прививают комплекс неполноценности — «вы делаете всё не так», а потом засыпают новомодными терминами — test driven development, model driven development, agile и т.д. Embarcadero не пытается под очередным идеологическим «соусом» скормить никзокалорийный программный продукт. Мы же взяли старый-добрый продукт Delphi и, не будучи связанными необходимостью продвигать какую-то конкретную платформу, стали развиваться по наиболее натуральному пути — расширению количества поддерживаемых ОС на классической основе. Мы не учим наших пользователей, но предоставляем им инструмент.Но вернёмся к изначальной постановке — отсутствия поддержки индивидуальных разработчиков и малых групп. Такая формулировка — часть чёрного пиара, маркетинговой войны и, часто умышленного, введения в заблуждение пользователей. Есть некая необсуждаемая цена ИТ-продукта.
Для начинающих она может оказаться недостаточно привлекательной. Но мы изучили реальные потребности конкретных, а не вымышленных программистов, и предлагаем Delphi в редакции Starter, которую можно приобрести от $150 до $200. Эта цена уже значительно ниже по сравнению со стоимостью современного смартфона. Так называемая цена вашего «хобби», если программирование не приносит вам прибыли. И опять же, анонимность интернета провоцирует на всякие слишком эмоциональные высказывания, абстрактную борьбу за справедливость.
И уж если Вы — фанат программирования, эксперт в использовании Delphi, то мы рады отметить Вас статусом MVP (most valuable professionals). Вы бесплатно получаете коммерческую лицензию на Delphi в максимальной редакции Architect.
В заключении этого достаточно длинного и пространного ответа хочется сказать, что нужно отделять «поддержку разработчиков» от «продвижения платформы через разработиков». Вот мы действительно поддерживаем наших пользователей за счет поддержки преемственности кода и компонентной базы. Мы делаем миграцию максимально простой и безполезненной. А с точки зрения поставки продуктов, приобретя Delphi XE3, программист бесплатно получает предыдущие версии XE2, XE, 2010, 2009, 2007 и Delphi 7. Можн спокойно «тащить» старый проект на Delphi 7, потихоньку переделывая его на Delphi XE3.
А можно рассказать про российскую «кадровую составляющую» Delphi?
Не секрет, что один из главных идеологов и архитекторов новой кроссплатформенной библиотеки FireMonkey является Евгений Крюков, который живёт и работает в Улан-Уде. Также унаследованное от Borland подразделение в Санкт-Петербурге славно трудится на поприще развития компонентной базы FireMonkey. Более того, в последние годы было проведено расширения питерской команды в прямом смысле этого слова. Мы даже шутим, что Delphi уже наполовину отечественный продукт, что приятно. Злые языки даже говорят, что Embarcadero переносит разработку в Россию для удешевления процесса производства.
Опять же, про Microsoft (никак не можем о них забыть). На одной из конференций AgileDays мне довелось слушать доклад одного из ведущих разработчиков данной корпорации. Он был посвящен их методологии разработки (я бы не сказал, что это был именно Agile), применительно к Microsoft Office. Было представлен конкретно процесс разработки через призму командной работы, многоверсионности, чудовищной ответственности, отсутствия права на серьезную ошибку и правильного планирования входа обновлений. Я не могу ссылаться на кулуарные беседы с этим милым и интересным человеком, но можно легко догадаться, что разработка данного продукта если не контролируется, то активно ведётся именно в России.
Я слышал, что вы постоянно расширяетесь и растёте, хотелось бы каких-то деталей именно про вашу российскую команду. Если не секрет: где и что находится у вас в России, сколько работает человек и чем они занимаются? Можно немного рассказать про себя?
Совершенно открыто могу сказать лишь о московском офисе. Сейчас у нас шесть человек, чего нам вполне хватает. Мы не стремимся развить имиджевую составляющую продуктов, поэтому у нас одна из самых низких долей маркетинга в отрасли. У нас только один маркетолог, на котором висит столько ответственности, что подчас и целому отделу не разгрести. Остальные пять человек — специалисты с профильным ИТ-образованием, трое из которых закончили ВМиК МГУ им. М.В. Ломоносова.
На любой позиции — от менеджера по продуктам до специалиста по работе с партнёрами — у нас только те люди, которые сами программировали. Мы вообще работаем как группа спецназ — формально имеем некую должность, но фактически можем прикрыть друг-другу спину в любой ситуации. Вы никогда не услышите — «ой, это не мой продукт». Или «извините, это не в сфере моей компетенции». Стрелять, бегать, перевязывать раны и посылать шифрограммы у нас умеют все. У нас нет дублирования обязанностей, у нас перекрывающиеся компетенции. И Вы знаете из истории случаи, когда небольшая группа супер-профессионалов решала задачи, не посильные целой армии.
Без лишней скромности могу сказать, что владею несколькими специальностями. Я начинал системным администратором на вычислительном центре, параллельно занимаясь прикладным научным программированием. Потом преподавал (включая достаточно жесткий режим работы) в крупнейшем российском образовательном центре «Специалист» — иногда по 12 академических часов в день. Определенное время работал «чистым кодером» — над задачами, которые мне в виде ТЗ спускали свыше. Это не помешало защитить диссертацию в области «применение ИИ для построения САПР».
Был небольшой шаг в сторону — некоторое время занимался прямыми инвестициями.
Теперь «евангелизм» для меня — синергия знаний и опыта, полученных в прошлом. Для меня нет «белых пятен» в ИТ-бизнесе, я знаю и специфику образовательной сферы (от написания учебников и тренингов для тренеров, до психологических аспектов преподавания), я знаю, что чувствует «простой кодер», я сам работал «эникейищком», я, наконец, знаю инвестиционную политику и оценку перспектив с точки зрения бизнеса. Примерно то же самое могу сказать и о своих коллегах, которые являются настоящими многоопытными практиками, а не голосовыми сервисами по озвучиванию чужих презентаций в PowerPoint.
Заключительный вопрос. Уверен, что нас читает огромное количество почитателей Microsoft Visual Studio, которые сейчас снисходительно улыбаются после фраз «о блестящем будущем Delphi». Что вы можете им сказать, в чем ваша главная фишка? Что вы можете предложить уникального? Чем отличаетесь в лучшую сторону от Visual Studio? Какие у вас шансы в конкурентной борьбе с Microsoft за будущее? Я понимаю, что вкусы у всех разные, но каковы факты?
Снисходительно улыбаться я бы не посоветовал никому. Я люблю уподоблять ИТ-бизнес в целом и средства разработки в их конкурентной борьбе спортивным состязаниям. И вели мы в счёте 3:0, но пошел дождь, противник выпустил на поле молодую, но никому пока не известную звезду. И за 15 минут до конца матча — 3:4. Никто даже из именитых и прославленных тренеров не улыбается снисходительно до финального свистка, ибо знают цену времени.
Так же и я говорю — подождите, посмотрим, как дальше пойдет дело. Тем более, что речь не идет об одном матче, мы говорим о марафоне, когда нам всем ещё бежать и бежать. Нельзя, обнаружив себя первым, встать, оглянуться назад и улыбнуться.
Да, я имею в виду некоторых особо расслабленных пользователей Visual Studio. Я пока вообще не вижу ничего из того, что заставило бы меня волноваться за судьбу Dephi.
Сначала это WinForms, потом WPF, затем Silverlight. Потом возвращение к C++ и не до конца понятная стратегия в отношении HTML5. Разработчики — прикладные, с 20 летним стажем и сотнями тысяч строчек за спиной — реально в недоумении. А те, кто остался верен Delphi, мигрировав на Delphi поколения XE, спокойно смотрят в будущее. Здесь и есть «главная фишка», она же «козырной туз».
Разница в бизнес-моделях. Для нас главное — средства разработки, поэтому желания разработчиков для нас — закон.
Разработчик не хочет, чтобы в машине появилась лишняя педаль, руль превратился в джойстик, а заходить в салон теперь нужно через багажник, но зато теперь можно любоваться звёздами через прозрачную крышу. Пусть это будет старая-добрая Delphi с новой кроссплатформенной библиотекой FireMonkey (генетически близкой к VCL), как есть старый-добрый SQL и ООП в «нативном» коде, не отягощенное «тяжёлыми» фреймворками. Пусть классический код на Delphi будет работать быстро и эффективно на самом широком спектре устройств, не взирая на то, под управлением какой операционной системы они работают.
Но опять же, уже в порядке позитивной критики, есть отставание от идеологического мейнстрима. Вышла новая, замечательная Windows 8, не похожая ни на что другое. Покажите, расскажите, как нам «жить дальше» и писать новые приложения? Или нет никакой разницы? Тогда давайте стилизовать существующие приложения или делать их с нуля, но по классическому принципу в «нативном» виде с поддержкой стиля Windows 8. Если вы заметили, я сам фанат Windows 8, но вижу разработку под неё через призму соблюдения интересов прикладных разработчиков с годами наработанным багажом исходных кодов и методов программирования в контектсе инструментальных средств.
И этот матч ещё не закончен!
Читать моё более новое (последнее) интервью с Всеволодом Леоновым о RAD Studio XE4 и Delphi, а также о будущих принципах разработки софта.
dev.by, 2013
Теги: devby, Microsoft, битва, глобализация, многобукаф, прогнозы, программистское, сериал, человеческоеЭта запись опубликована: Суббота, 5 января 2013 в рубрике Программирование → Интервью.
4 комментария
Бред, простите, какой-то! Создается впечателние, что Всеволод вообще далекий от программирования человек. Про офис вообще ужасно сказал. Какая-то шаражкина контора, судя по описанию. Друг друга прикрываем, каждый и голлкипер и защитник. Ничего против Delphi не имею против, годная штука была в свое время, но уже неактуально, не вижу смысла делать новый проект на Delphi.
все тот же корпоративный бред который мы слышим со дня смерти дельфи после версии 7.
больно и противно все это.
конечно у дельфи нет блестящего будущего, его только ухудшают упорно из года в год. лучше бы просто опубликовали исходники дельфи/билдера 7/6. нет же надеются еще заработать производя очередную фигню под именем которому доверяют люди.
"Только когда все умрут, тогда закончится большая игра" (с) Р. Киплинг.
5-6 Человек с полной взаимозаменяемостью допустимо для небольших отделов, особенно, когда подбор людей действительно, как в спецназ, а не с улицы, но против конторы, где незаменимых нет просто за счет массовости тягаться сложно.
К сожалению, Г-н Леонов обыкновенный болтун и демагого, и он думает, что в этом и заключается его работа в Embarcadero. Посчитайте сколько раз он говорил про себя любимого и 'якал' и сколько он действительно рассказывал о нововведениях Delphi. К сожалению, крайне слабый евангелист, никакой программист, нахватавшийся броских фраз из рекламных проспектов. Вот из-за такой хреновой подачи материала, Embarcadero мало что светит на российском рынке. А жаль искренне.
В этой статье я хочу ответить на один из вопросов, который мне часто задают в том числе при «живом» общении.
Почему я ушёл от разработки на Delphi и почему когда-то основной язык был исключён из стека поддерживаемых мной технологий.
На самом деле это вызвано целым рядом весьма существенных причин.
Причина 1. Ценовая политика вендора
Delphi стоит в разы дороже аналогичных решений многих своих конкурентов.
По состоянию на конец 2018 года за Delphi Professional просили 87 999 руб. (цена на официальном сайте). Для сравнения, Visual Studio Professional тогда же стоила 30 058 руб. (цена в Microsoft Store). Разница почти в 3 раза.
Полноценной бесплатной версии доступной для небольших компаний и индивидуальных разработчиков у Delphi в отличие от той же Visual Studio нет.
Официально в июле 2018 года вышла Community Edition, но у неё есть лицензионное ограничение 5 000$ в год совокупного дохода. То есть если Ваш суммарный доход (не только от Delphi программ) превышает указанную величину, вы обязаны купить коммерческую версию.
Причина 2. Востребованность
К сожалению, при всём уважении к Delphi сфера применения для него и аналогичных технологий в последние годы значительно сократилась.
Если в 2012-2013 годах Delphi программист ещё чувствовал себя на рынке вполне уверенно, то в 2018 году вакансий по Delphi на том же HeadHunter единицы.
Как это ни прискорбно, в таких условиях вложения в приобретение дорогостоящего программного пакета и поддержание знаний и навыков в актуальном состоянии просто не оправдывают себя.
Причина 3. Общее отставание от современных трендов
Процесс разработки на Delphi не менялся уже очень много лет.
Целый ряд технологий в Delphi доступен в лучшем случае в виде библиотек от сторонних производителей, которые также часто далеко не бесплатные.
Печально. Но в Delphi до сих пор нет полной поддержки ООП (хотя бы вследствие ограничений, связанных с интерфейсами).
Как следствие всего вышеизложенного снижение производительности у программиста и нередко ухудшение качества ПО. Конечно, если речь не идёт о задачах, которые легко решаются по принципу «накидать компонентов на форму».
Причина 4. Неблагоприятные условия на рынке
В силу ряда причин Delphi программистов пока ещё достаточно много, но, как уже говорилось выше, вакансий для них наоборот крайне мало. Поэтому очень редко кто из Delphi разработчиков сейчас в той или иной степени не сталкивается со всеми «прелестями» так называемого «рынка покупателя».
Конечно, даже в такой ситуации найти вакансию или проект на Delphi вполне возможно. Только каковы будут условия?
Резюме
Как это ни печально, но все вышеизложенные причины привели меня к одному (в прочем вполне закономерному) следствию. Писать на Delphi в настоящее время:
- Практически бесперспективное занятие в плане опыта и карьеры;
- Просто не выгодно по деньгам.
Это и заставило меня перейти с Delphi на альтернативные технологии и в 2017 году я полностью прекратил разработку на этом языке программирования.
Ничего личного. Просто работа.
Искренне надеюсь, что эта статья в достаточной степени разъяснит основания для принятия мной такого решения.
12 комментариев
Пройдет время и delphi опять будет в моде. Как фортран.
Дело здесь не в моде, а в сочетании целого ряда факторов, о которых я писал в статье.
К слову, у Delphi несколько лет назад уже был всплеск популярности после длительного спада. Но, он быстро прошёл и сменился даже ещё большим спадом, т.к. внедрения только технических новшеств (той же кроссплатформы) оказалось недостаточно, чтобы в корне изменить ситуацию.
Посмотрим, что будет дальше, но пока предпосылок для роста популярности Delphi что-то не заметно.
я правильно понимаю что из-за кросплатформенности все функции отличаются?
В любой кроссплатфоменной технологии отличия касаются в основном операций специфичных для той или иной платформы. Например, сохранение файлов в Android имеет свои особенности, а WinAPI будет работать только под Windows. В остальных случаях всё везде одинаково. Только вот обойтись без, так называемых, платформозависимых API получается не всегда.
P.S. Впервые слышу о популярности Фортрана.
Например, сохранение файлов в Android имеет свои особенности, а WinAPI будет работать только под Windows
Так я об этом и спрашивал. Как решается такая проблема? Есть какая то универсальная функция? Или фактически мне нужно переписывать под каждую ОС весь код если я много работаю с ОС, папками, записью файлов и т.д.?
Данная проблема решается при помощи условной компиляции, когда в зависимости от платформы в программу включаются те или иные альтернативные наборы операторов.
С её помощью можно сделать кросплатформенным очень многое (если не всё), но общий объём кода будет увеличиваться пропорционально числу поддерживаемых платформ. Как-то так.
Нисколько не препятствую вашему решению.
Но далеко не все так однозначно как вы пишете.
1. По поводу ценовой политики вендора конечно есть вопросы.
Embarcadero в отличии от того же MS зарабатывает основные деньги на продаже весьма узкого ассортимента ПО и не может раздавать инструменты даром.
Если взять других конкурентов (например Qt), то там коммерческая лицензия за год стоит 5000$ на одного разработчика, что уже дороже бессрочной лицензии от Эмбы. А за скомпилированное ПО на FreeQt версии вы вообще не имеете права брать деньги. Delphi Comunity же позволяет это делать как раз до 5000$. Что IMHO в самый раз, чтобы условный студент попробовал свои силы.
Короче, успехов вам.
Хотя, лично я уже знаю людей, которые сначала ушли с Дельфей, а теперь вернулись. Все познается в сравнении и везде есть свои тараканы.
А Дельфи хоронят практически с момента создания (особенно в Штатах), а он по прежнему живее всех живых, более предсказуемый и готовые программы работают стабильно, быстро и непрожорливо десятилетиями без какого-либо гемора связанного со средой выполнения.
Embarcadero в отличии от того же MS зарабатывает основные деньги на продаже весьма узкого ассортимента ПО и не может раздавать инструменты даром.
По поводу меньшей востребованности. Да есть такое.
Но если вы вечный соискатель мечтающий лишь о зарплате и готовы прыгать с места на место, где сегодня на пол-рубля больше — то да — вам тогда нужно стремиться только к самому модному и новому.
А если вы участвуете в долгосрочном проекте и на хорошем счету, то я знаю дельфистов зарплатами более 200т в России.
Неблагоприятные условия на рынке как уже и написал волнуют в большей степени «попрыгайчиков» за зарплатой.
Какое собственно общее отставание от современных трендов
Кстати, есть еще и такое условие-фактор, который называется, а на чем писать свое собственное коммерческое десктопное приложение?
Нисколько не препятствую вашему решению.
Alex, со своей стороны я также нисколько не осуждаю Ваш выбор.
Могу сказать только одно. Если человек что-то хочет, обычно он ищет возможности, в противном случае он будет искать причины. Если Вам так нравится Delphi и Вы так сильно хотите с ним работать, используйте его на здоровье! Возможно для Вашего проекта это даже наиболее подходящее решение.
Просто помимо Вас и Вашего проекта есть ещё много чего другого в этой жизни. И то, что подходит для Вас вовсе не обязательно подходит для других.
Клиенту нужен рабочий инструмент, а он себя не окупает.
Простите, но если бы так было, то новые версии Delphi просто перестали бы выпускать и продавать по причине полного отсутствия спроса.
Но как видим, этого не происходит именно по той причине, что инструмент себя окупает.
Например, лично я использую в своей работе такие инструменты как TestComplete и HelpNDoc, написанные на Delphi.
И надо сказать, что TestComplete ну совсем не дешевый. И просто поверьте, что лично я выбираю инструменты не по тому, на чем они написаны, а по отношению цена/(качество+функционал).
С Delphi это делать с каждым разом всё труднее.
Хочется спросить, что конкретно делать с каждым разом труднее?
А, также в частности трезво сравнить VCL/FMX с тем же WPF.
Я работал некоторое время с WPF и именно поэтому врагу не пожелаю такого прожорливого заковыристого (из-за XML) и малоудобного монстра. Привязка там вообще была ужас. Да это и не кроссплатформа, а значит и вообще не стоит усилий по нынешним временам.
Если уж и сравнивать, то с QML. Вот это действительно хорошая, кроссплатформенная и крайне оптимизированная вещь, которую используют сейчас даже во встраиваемой электронике.
Но, во-первых, в коммерческом применении это совсем не дешево, а во-вторых, все эти красивости на десктопе в учетных и даже в специфических программах в 99% случаев нафиг никому не нужны.
А если же вам нужно на мобилках поражать фенечками типа плавных переходов, анимаций и 3D, то можно быстро и на кроссплатформенном FMX.
Поэтому я более чем трезво смотрю. И уж куда-куда но никак не в сторону полузаброшенной и моноплатформенной WPF.
Игрался с QML, но в реале таких задач просто нет пока.
А еще есть простые и дешевые решения типа встраиваемого Хромиума, если позарез нужен нестандартный интерфейс.
Десктоп сейчас очень сильно сдал свои позиции вследствие развитие web и мобильных технологий.
Если Вам так нравится Delphi и Вы так сильно хотите с ним работать, используйте его на здоровье!
Мне нравится не столько Delphi и Object-pascal, хотя и у современного Object-pascal все еще много преимуществ. Мне нравится конечный результат, который я получаю в найтиве под любую из платформ.
Конечно, еще больше мне нравится результат на C++, но для его достижения нужно применить гораздо больше усилий, времени и внимания.
А менеджет решения мне в принципе не нравятся на десктопах. Да и по-хорошему IMHO им место лишь в корпоративе.
А конкретно с технологиями от MS я бы вообще связываться поостерегся по множеству причин.
Просто помимо Вас и Вашего проекта есть ещё много чего другого в этой жизни.
Delphi просто перестали бы выпускать и продавать по причине полного отсутствия спроса.
Простите, он уже сейчас почти никому не нужен. Если бы он себя окупал, проектов на Delphi было бы гораздо больше. И спрос на программистов под него был бы соответствующим.
Я работал некоторое время с WPF и именно поэтому врагу не пожелаю такого прожорливого заковыристого (из-за XML) и малоудобного монстра. Привязка там вообще была ужас.
Подозреваю, что Вы просто не разобрались в WPF. А, непонятное иногда кажется чем-то страшным и даже ужасным. На самом же деле потенциал этого фреймворка гораздо шире, чем Вы думаете. В более современных фреймворках с поддержкой XAML возможностей стало ещё больше.
А если же вам нужно на мобилках поражать фенечками типа плавных переходов, анимаций и 3D, то можно быстро и на кроссплатформенном FMX.
А, о чём говорю? Если для решения задачи достаточно просто быстро накидать компонентов на форму, тут вопросов нет.
Да это и не кроссплатформа, а значит и вообще не стоит усилий по нынешним временам.
По данным сервиса Яндекс Радар на сегодня доля Windows 96,71%, MacOS 2,33% и 0,95% всё остальное (это я про десктоп). Делайте выводы.
А только по факту для работы (а не потребления контента) все как работали на десктопе так и работают.
Можно довольно долго продолжать эту дискуссию. Но, как я полагаю, в этом нет никакого смысла.
Если Вы хотите поучаствовать в прениях на тему Delphi и, в частности, его перспектив, то можете поискать в сети ресурс с соответствующим обсуждением и присоединиться к нему. А, мне это занятие совсем не интересно.
Лично я вижу, что вы просто боитесь честного диалога.
Простите, он уже сейчас почти никому не нужен.
Подозреваю, что Вы просто не разобрались в WPF
Прекрасно разобрался и даже писал морду под это, чтобы еще лучше разобраться.
Но как и говорил, все красивости WPF в корпоративе на десктопе вообще никому не нужны, а плавающей и удобной разметки можно добиться и на WinForms и на VCL с использованием сторонних решений, а на FMX или QML и подавно. Но сама идея с многословно-мострообразным XML проигрывает на фоне конкурентов. И вдвойне проигрывает из-за отсутствия кроссплатформенности. Я даже замеры делал. Оно еще и медленнее, чем QML или FMX.
Можно довольно долго продолжать эту дискуссию. Но, как я полагаю, в этом нет никакого смысла.
Конечно нет смысла. Если исходя из вашего текста вы всерьез думаете, что какие-то ВЕБ решения, написанные на примитивнейшем и тормозном скрипте работающем в песочнице, способны заменить полноценный оптимизированный найтивный десктоп, то действительно не о чем. Расскажите свои мечты компаниям Autodesk или Adobe. Они улыбнуться.
Впрочем, время нас рассудит 😉
Успехов! 🙂
Лично я вижу, что вы просто боитесь честного диалога.
Очень жаль, что Вы относитесь к теме обсуждения столь предвзято.
все красивости WPF в корпоративе на десктопе вообще никому не нужны,
Расскажите свои мечты компаниям Autodesk или Adobe. Они улыбнуться.
Я Вам только, что привёл 2 web проекта от Autodesk.
какие-то ВЕБ решения, написанные на примитивнейшем и тормозном скрипте работающем в песочнице
По моему субъективному мнению, очень многое будет зависеть в первую очередь от того, как Delphi будет развиваться с течением времени.
Если политика вендора станет более лояльной, а сама платформа более современной, уверен это не только привлечёт в мир Delphi новых программистов, но и вернёт, если не всех, то очень многих ушедших. Но, к сожалению, пока ничего этого нет.
Можно сколько угодно бить себя в грудь и кричать на каждом углу то, что Вы здесь пишите в комментариях. Но, от одних громких слов, сами понимаете, толку не будет.
В прочем, думается мне, время само всё расставит на свои места.
Никто не будет на многотонный грузовик ставить двигатель от малолитражки. Ведь последний несмотря на то, что потребляет меньше горючего, просто не разовьёт необходимой мощности. Здесь аналогичная ситуация.
Кстати о птичках. Пока писал ответ на Ваш комментарий, решил на всякий случай заглянуть в системные требования для актуальной на данный момент версии Delphi в официальной документации.
Максимальные требования к объёму жёсткого диска сравнивать бессмысленно, т.к. у Delphi/RAD Studio и Visual Studio существенно отличается набор поддерживаемых возможностей. Но, в остальном эти IDE на сегодняшний день предъявляют практически одинаковые требования к системе (Visual Studio в чём-то даже несколько выигрывает).
консольная программа с двумя функциями компилируется столько, сколько на Delphi компилируется проект с 20-тью формами.
Время компиляции зависит от множества факторов. Поэтому, как я писал ранее, подобные высказывания было бы неплохо подкреплять конкретными цифрами и описанием того, как, когда, для каких программ и на каком железе и т.д. они были получены. Иначе это будет разговор ни о чём.
Дальше продолжать (а также комментировать остальное) не вижу смысла, т.к. судя по всему это приведёт только к началу нового бесплодного обсуждения по кругу.
Введение 3
Delphi. Структура языка программирования Delphi 4
Основные составные части Delphi: 5
Основные компоненты 5
Синтаксис и семантика языка программирования Delphi 7
Visual Studio 2010. 12
Операторы MS Visual Studio 2010. 12Подходящие элементы программирования 13
Типы данных в операторах присваивания 13
Составные операторы присваивания 14
Сравнительный анализ 15
Delphi. Достоинства языка программирования 15
Недостатки языка программирования 15
Visual studio 16
Достоинства языка программирования 16
Недостатки языка программирования 16
ВведениеЦелью курсовой работы является сравнительный анализ средств визуального программирования Microsoft Visual Studio и Delphi. При выполнении курсовой работы предстоит:
• Ознакомится с Visual Studio и Delphi
• Проанализировать доступную литературу
• Провести сравнительный анализ двух сред, для выявления плюсов и минусов.
В последнее времяобъекто-ориентированные языки программирования пользуются огромной популярностью среди программистов, так как они позволяют использовать преимущества объектно-ориентированного подхода не только на этапах проектирования, но и на этапах реализации и тестирования.
Первый объектно-ориентированный язык программирования Simula 67 был разработан в конце 60-х годов в Норвегии. Авторы этого языка очень точноугадали перспективы развития программирования: их язык намного опередил свое время.
Появление Delphi не могло пройти незамеченным среди многочисленных пользователей компьютера. Оценки экспертов, изучающих возможности этого нового продукта фирмы Borland, обычно окрашены в восторженные тона. Основное достоинство Delphi состоит в том, что здесь реализованы идеи визуального программирования.Среда визуального программирования превращает процесс создания программы в приятное и легко понимаемое конструирование приложения из большого набора графических и структурных примитивов.
Microsoft Visual Studio — линейка продуктов компании Майкрософт, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. Данные продукты позволяютразрабатывать как консольные приложения, так и приложения с графическим интерфейсом.
Delphi. Структура языка программирования Delphi
Delphi — результат развития языка Турбо Паскаль, который, в свою очередь, развился из языка Паскаль. Паскаль был полностью процедурным языком, Турбо Паскаль, начиная с версии 5. 5, добавил в Паскаль объектно-ориентированные свойства, а Delphiобъектно-ориентированный язык программирования с возможностью доступа к метаданным классов (то есть к описанию классов и их членов) в компилируемом коде.
Язык Pascal предназначен для описания вычислительного процесса решения задачи, в состав которой могут входить величины.
Схема 1 – Используемые величины
Константы - данные, значения которых не изменяются в программе.Переменные - данные, могущие изменяться при выполнении программы.
Для обозначения имен констант, переменных, функций, процедур и модулей используются буквы и цифры, входящие в алфавит языка, и знак подчеркивания " _ ". Имена начинаются с буквы или знака подчеркивания " _ "и содержат до 63 значащих символов. Символ пробела в имени не допускается. Эти имена.
Читайте также: