CEE-SECR

Posted by on in Blogs
Сравнительно недавно прошла конференция "Разработка ПО 2010". Embarcadero представила два доклада, один из которых, как оказалось, был моим на тему "Проблемы и направления развития RAD".

Поскольку событие было в некотором роде пафосное (приехал сам Бьёрн Страуструп), то и говорить приходилось на темы чуть серьезнее, чем "новые фичи Delphi XE". Кстати сказать, удалось послушать доклад отца-основателя, посвященный стандарту С++ 0x, который уже поддерживается C++Builder начиная с версии 2010 до официального опубликования. Вот уж точно г-н Страуструп выглядел "иконой" в прямом смысле этого слова! Ну а сам новый стандарт каких-то сильных переживаний в его изложении не вызвал, наверное, в силу академичности представления. И что-то как-то его книга с его автографом как-то сама собой не купилась у меня. Вообще, создалось впечатление, что идеология объектно-ориентированного программирования отдельно, а потребности программистов тоже отдельно. Наверное, виноваты не идеологи, а прикладные программисты, которым "пожалуйста побыстрее да еще и в компонентной оболочке". За что мы все дружно C++Builder  и любим.

Чего скрывать, любим мы RAD-ы с их "визуальщиной". И благодаря C++Builder многие и познакомились с языком C++, а совсем не одноименной книге предсказуемого автора. Это и называется "низкий порог вхождения". Чтобы воспользоваться RAD-ом достаточно, чтобы руки были немного синхронизированы с глазами, тремор отсутствовал и был некий интерес к происходящему в инженерии программных средств.

В принципе, читая различные форумы, иногда мышка встает дыбом, а кнопки на ней шевелятся. Как могут вполне зрелые программисты так рассуждать! "Мертвая технология", "для дураков", "никому не нужно"... По мне так футбольные фанаты гораздо более взвешены в суждениях. Да, основным достоинством RAD-ов является легкость в освоении. Здесь нет им конкурентов. И пока не просматриваются. Однако это есть и основная проблема развития RAD-ов. Чтобы ни было придумано, это должно оставаться таким же простым, как "форма-кнопка-процедура". Однако не все к этому можно свести. Embarcadero пока удалось сделать максимально простой многозвенную технологию DataSnap и держать её на данном уровне. Следующим шагом в направлении увеличения возможностей при сохранении простоты будет "кроссплатформенная" разработка.

Конечно, все доклады пересмотреть/переслушать было нельзя. Но кое-что интересного зацепить удалось. Во-первых, доклад Андрея Уразова (Parasoft). Естественно, разговор был о продукте, но очень познавательно в плане "зачем нужен статический анализ". Статический анализ кода - процесс, собственно, анализа текстов на предмет соответствия определенным правилам. То, что у нас (Delphi, C++Builder) называется "аудитами" и "метриками".

Владимир Рубанов, между прочим, представлявший ИСП РАН, лично для меня явился образцом "технической презентации". Абсолютно без пафоса и великолепно по всем категориям оценки доложил практический материал по "юнит-тестам". Ну да -  средства модульного тестирования у нас есть.

Сенсацией (опять же - для меня) на грани понимания был доклад, который сделал Радована Вречка на тему "Конфигурационно-ориентированное программирование". Позиционировалась идея как "то же, что и ООП, только лучше". Радован говорил по-русски, называя экземпляр "инстАнцией", а метод "метОдой". Так и было: "создаем инстАнцию", вызываем "метОду". Такой вот приятный "албанский" для ООП :) Но в целом - большой молодец! Особенно, если учесть, что из методологически-концептуальных докладов в языковом плане (помимо великого Бьёрна) он был вполне уникален.

И, наконец, хочется сказать пару слов об Александре Орлике, который оказался "горячим перцем", т.е. настоящим чилийским программистом. Смешно, но программа на стенах была по-английски, а модераторы - русскоязычные. Очень представительная и энергичная дама распекала опоздавшего докладчика, его самого, Александра Орлика. Однако потом выяснилось, что бедняга "doesn't understand" русский, а прибыл из страны, которой пугают непослушных американских детей (по слухам, источник не назван). Несмотря на всё свое "неайтишное" происхождение (да простит меня великий чилийский народ), Александр очень красиво (а латинский английский особенно красив) рассказал о "захвате с помощью UML". Да, именно так. "UML capturing". Смысл в чём - с виду обычный UML-редактор, но который компилирует UML-диаграмму в UML-испоняемый код, который исполняется UML-виртуальной машиной. Зачем? А чтобы аналитики/архитекторы могли тестировать модели без генерации исходного кода, компиляции в соответствующей языковой среде уже другими людьми и т.д.
Да, с UML у Embarcadero тоже всё в порядке. Углубляем и расширяем поддержку!

В целом, хочется сказать, что данная конференция показал тенденции развития инженерии программных средств. Много докладов о методологии, о качестве, об организации и управления командами. И как-то по окончании у меня возникло стойкое ощущение, что новая RAD XE, нацеленная на повышение производительности с инструментарием для Agile-разработки очень даже в мейнстриме.
Хорошо!
Tags: public


Comments

  • Guest
    Yuri Thursday, 21 October 2010

    >>"UML capturing". Смысл в чём - с виду обычный UML-редактор...

    Всеволод, но но Эмбакадеро есть же "умерший" BOLD. Реанимируйте его, и будет почти тоже самое. Хорошо забытое старое.

    >>Проблемы и направления развития RAD
    Моё личное мнение, проблемы не в RAD а мозгах тех кто используют RAD, нет идеала (стандарта) на что равняться. Начинают использовать так как "думают правильно" , а когда решение начинает гнать обвиняют среду а не свои кривые руки.

  • Guest
    Vsevolod Leonov Thursday, 21 October 2010

    @Yuri

    Реанимация - задача, в принципе, выполнимая. Вопрос в другом, насколько это востребовано? Я понимаю, что "идеологи" (продвинутые гуру) программирования были бы однозначно "за". Но вот насколько "рядовые" (прикладные) пользователи готовы использовать BOLD?

    >>нет идеала (стандарта) на что равняться.
    Как раз работаем над этим. Не поверите, но сейчас занят организацией конференции/подготовкой издания для обобщения опыта и разработки "стандартов/стандартов". Такой процесс, естественно, подразумевает вовлеченность большого числа экспертов не компании Embarcadero, а именно реальных практиков, которые имеют за спиной опыт промышленных систем на Delphi.
    Хотите помочь Embarcadero, сообществу Delphi-программистов и просто всему IT-человечеству?
    Лично Вас приглашаю принять участие в конференции. Если интересно - напишите письмо, пообщаемся.
    [email protected]

  • Guest
    Dmitry Pomerantsev Friday, 22 October 2010

    Разберёмся... У Delphi и Builder может и низкий порог вхождения с точки зрения программирования (который побуждает писать ужасный код), но высочайший с точки зрения денег. :) Компиляторы банально недоступны. Не многие решаться столько платить.

    Плюс технологическое отставание. x86-64 во всю на рабочих столах. Компилятора до сих пор нет. (Как мне это напоминает времена BP под DOS, когда он тупо оставался 16-битным, пока мир наводняли 32-битные программы защищённого режима. Как следствие - медленное сползание популярности.) Более того, Intel начинает вытесняться Arm'ом. Может ещё китайцы со своим MIPS подтянутся.

    Даже не представляю, какие средства нужны, чтобы вернуть Delphi/Builder массовость. Кровь из носу сдержать обещание насчёт нового компилятора и кроссплатформенности? Тут же поставить в планы компилятор под Arm? На порядок снизить цены? Выпустить бесплатный консольный компилятор? (Можно лицензионно запретить использование его во внешних средах, хотя история Lzarus'а показывает, что этого можно не бояться. Фиг по быстрому наваяешь среду...)
    Но как-то сомнительно, что меры будут реализованы...

  • Guest
    Vsevolod Leonov Sunday, 24 October 2010

    >>Разберёмся…
    Всенепременно!

    >>У Delphi и Builder может и низкий порог вхождения с точки зрения программирования (который побуждает писать ужасный код)
    Ужасный код побуждает писать незнание, неумение и нежелание. Если с этим проблемы - заходите на www.delphikingdom.com, отличный ресурс Delphi-программистов. Совершенно безвозмездно можно получить помощь по любым вопросам, например, как перестать писать ужас. Сам там постоянно бываю, как раз консультирую людей, с чего начать и куда двигаться.

    >>но высочайший с точки зрения денег
    Неправда Ваша! Для студентов/школ-техникумов-институтов/преподавателей у нас 10% цены от коммерческих лицензий.
    Ну а для начинающих вне учебного процесса, которые пока программируют "для себя", цена Delphi Professional соизмерима со смартфоном, простым фотоаппаратом, поездкой в Турцию на неделю или породистым котёнком среднего уровня.

    >>Не многие решаться столько платить.
    1,7 миллиона пользователей по всему миру. Взрослый человек (сотрудник компании) вполне может "самоокупиться" в плане приобретения Delphi.

    >>Плюс технологическое отставание.
    Ничего подобного. Идём "по рынку". Сформулируйте, зачем GUI для клиент-серверной системе БД нужно 64?

    >>медленное сползание популярности
    Изучите статистику. Пока Delphi даёт рост, сопоставимый с ростом конкурирующих RAD средств.

    >>Даже не представляю, какие средства нужны, чтобы вернуть Delphi/Builder массовость.
    Наверное, поэтому Вы и не являетесь идеологом развития Delphi/Builder. Для восполнения пробелов ознакомьтесь, пожалуйста, со roadmap-ами. Они, кстати, составляются с учетом пожелания разработчиков. Мы делаем то, что от нас ждут.

    >>На порядок снизить цены?
    Меня всегда радуют люди, которые пытаются помочь. Советами. Вот представьте себе, что в компании Embarcadero есть сотрудники, отвечающие за маркетинг и ценообразование. И что эти люди не глупее нас с Вами и вполне принимают обоснованное решение.
    Не надо обобщений "никто не купит" на основе личного опыта.

    >>Выпустить бесплатный консольный компилятор?
    А смысл?

    >>Но как-то сомнительно, что меры будут реализованы…
    Ну да, эти меры действительно реализованы не будут.

    Я прошу прощения за несколько "обидные" комментарии. Сам был таким: казалось что мои личные ощущения и понимания как-то отражают тенденции рынка/потребности корпоративного разработчика. Но компания Embarcadero является вполне публичной, что касается обсуждения вот этих вопросов. Пожалуйста, любые мысли/пожелания.

  • Guest
    Shin Yuri Wednesday, 27 October 2010

    >Вопрос в другом, насколько это востребовано? Я понимаю, что "идеологи" (продвинутые гуру) программирования были бы однозначно "за". Но вот насколько "рядовые" (прикладные) пользователи готовы использовать BOLD?

    Думаю что рядовые не готовы, сложновато.
    НО тем не менее появляются части функционала в других продуктах, например о чём вы писали "UML capturing" или "типа SQL" запросы объектам в памяти похожие на OCL ...
    И в общем не понятна политика Эмбакадеро по этой технологии. Другие ORM как то развиваются, а в сумме все вмести не покрывают и 30% функционала BOLD.


    >низкий порог вхождения с точки зрения программирования (который побуждает писать ужасный код)
    Помоему это наоборот плюс, а "ужасный код" через это должен пройти каждый, причём на любой технологии.

  • Guest
    Vsevolod Leonov Wednesday, 27 October 2010

    >>Думаю что рядовые не готовы, сложновато.
    Да, к сожалению, это является определенным тормозом. Это хорошо заметно на границе "процедурное программирование" - ООП. Очень много людей не смогли её преодолеть. И даже до сих пор остаются открытые вопросы.

    >>НО тем не менее появляются части функционала в других продуктах...
    Появляются, но, откровенно говоря, пока их популярность не позволяет оценивать их выше, чем "хороший стартап". Например, автор доклада UML capturing честно признался, что данная технология вообще не для массового потребителя, а сам проект ждет крупной корпорации для внутреннего использования. Такие новые разработки часто требуют изменения всего процесса, а это уже проблемы внедрения инструмента, но не технологии, которая да - может быть многообещающей.

    >>Помоему это наоборот плюс, а "ужасный код" через это должен пройти каждый, причём на любой технологии.
    Здорово, что Вы это трактуете как "+" :) Я Вас в этом 100% поддерживаю.

  • Please login first in order for you to submit comments
  • Page :
  • 1

Check out more tips and tricks in this development video: