PowerBuilder для программиста на Java? - PullRequest
4 голосов
/ 03 марта 2009

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

Он хочет начать бизнес по обслуживанию программного обеспечения и разработке новых функций. В настоящий момент, вероятно, существует около 50 установок этого программного обеспечения, и он уже знает о группе потенциальных покупателей.

Теперь он ищет разработчика и спрашивает меня ... Я немного программировал на C / C ++, немного на VB и кучу других языков, но в последние годы я заработал свои деньги на написании веб-приложений на Java. Из того, что я прочитал, PowerBuilder выглядит довольно устарелым для меня, там практически нет учебных пособий, нет фреймворков с открытым исходным кодом, неуклюжего контроля версий, даже не читали ни о каких тестовых фреймворках. Люди из StackOverflow говорят, что надеются, что язык / IDE мертв. Кроме того, поддерживаемый мной код полностью не документирован и не проверен.

Как вы думаете, возможно ли для кого-то, кто никогда раньше не слышал о PowerBuilder, поддерживать такое программное обеспечение?

РЕДАКТИРОВАТЬ : хорошо, спасибо за ваши ответы. Мы решили полностью выкинуть старое приложение и переписать его на современном языке.

Ответы [ 8 ]

7 голосов
/ 13 марта 2009

Я начал свою карьеру в качестве разработчика PowerBuilder, но быстро перешел на java и python, как только понял, что PB - почти мертвый язык.

Кроме того, даже если есть инструменты, которые можно использовать для применения "хороших практик" программирования, они не широко известны и несколько дороги, поэтому мне пришлось работать даже без контроля версий (!!), оставив в стороне автоматизированный тестирование или постоянная интеграция.

Это язык, на котором почти каждый может начать создавать полезные приложения за короткий промежуток времени и с небольшим обучением, а приложения создаются очень быстро, в отличие от java, что требует периода обучения, пока разработчик может быть продуктивным, и даже тогда разработка веб-приложения требует времени.

Но окупаемость - это обслуживание, которое быстро превращается в кошмар. Даже незначительное изменение в базе данных, такое как изменение типа в столбце базы данных, может разрушить каждое окно данных (компонент повсеместного доступа к данным PB), которое на него ссылается.

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

Мой совет - не строить карьеру разработчика на таком языке, если это не оправдывает деньги, и в этом случае продолжать тренироваться в альтернативных технологиях как «план б», чтобы не устареть вместе с языком.

И всегда работайте над тем, чтобы ваши навыки кодирования и решения проблем находились в «хорошей форме», поскольку этот тип языка не помогает в этом.

7 голосов
/ 03 марта 2009

Да, это возможно. Powerbuilder - не сложный язык, особенно если вы уже использовали VB.

Сообщество Powerbuilder гораздо меньше, чем то, к чему вы можете привыкнуть, например. Ява, но она существует. Лучшее место (кроме SO!) Для того, чтобы задавать вопросы, - sybase.public.powerbuilder. * группы новостей.

Для модульного тестирования попробуйте PowerUnit , а для управления источником вы можете использовать Subversion через PBSCCProxy , TamTam SVN SCC или PushOK SVN Прокси SCC .

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

Хотя будущее довольно светлое: Sybase процветает , привержен PowerBuilder и регулярно объявляет о продвижении к версии 12, которая будет полноценным языком .NET, таким как C # и VB.NET, и будет поставляться с IDE на основе VisualStudio . Вы сможете напрямую перенести свой код в версию 12. Никаких переписываний не требуется.

6 голосов
/ 05 марта 2009

Да, любой компетентный программист, и даже некоторые не очень компетентные, могут использовать PowerBuilder. Тем не менее, я бы не согласился с одним из предыдущих ответов. Он отличается от pre- .Net VB в одном смысле: он поддерживает истинные принципы ОО (инкапсуляция, наследование и полиморфизм включения [но не операционный полиморфизм через интерфейсы, как в C # и Java]). У классического VB не было наследства.

Другие ответы от Пола Лефевра и Колина Пикарда верны: PB все еще жив, хотя больше нишевого языка, чем раньше, и Sybase действительно продвигает его в направлении .Net. Что касается управления исходным кодом, PB поддерживает некоторые интерфейсы (мы используем его с VSS), но я благодарен Колину за хороший набор ссылок, которые могут пригодиться в будущем.

Фреймворки: наиболее распространенным является класс PowerBuilder Foundation, который Sybase открыла несколько лет назад.

Моя оговорка для вас заключается в следующем: я сказал выше, что людям не нужно быть особенно сильными программистами, чтобы писать ПБ. PB легко учиться, но требует времени, чтобы освоить. Это были самые большие дни в конце 90-х, когда любой, кто мог дважды щелкнуть значок Windows, чтобы запустить приложение, думал, что он программист. Несмотря на действительно поддержку ОО, большинство приложений PB не имеют хорошо разработанных и хорошо написанных приложений. Обычно это хакерские работы (критика отсутствия опытных разработчиков и незрелости разработки программного обеспечения в то время, а не самой PB, которая все еще является очень мощным инструментом). Если вы наследуете кодовую базу, которая действительно проста в обслуживании и управлении, вы в меньшинстве. Код PB почти всегда можно классифицировать как устаревший код. Хорошей новостью является то, что есть много проблем. У вас будет много возможностей быстрого рефакторинга и много поддержки производства.

3 голосов
/ 29 мая 2009

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

ДО ТОГО, ЧТО ВЫ ПРОЧИТАЛИ МОЕ "PB ХОРОШО": я разработчик PowerBuilder с 93 года. PowerBuilder очень жив и здоров. Да, многие люди покинули язык вскоре после тысячелетия, но многие вернулись позже. Нет, я не зарабатываю деньги на продаже PB!

Самым большим отличием между приложениями PowerBuilder и любым другим инструментом является технология DataWindow. Это такой сильный инструмент в руках знающего разработчика. Примеры: Динамическое создание оптимального SQL для INSERT / UPDATE / DELETE. Близким к каждому свойству всего может быть выражение, использующее данные в буферах DW. DropDown DW такие крутые. DW и остальная часть PB действительно независимы от СУБД!

Насколько важно завершение кода, когда многим моим DataWindows все равно нужно только 4 вызова функций?

  • Определение соединения с БД >> dwData.SetTransObject (SQLCA)
  • Считать все данные из БД >> dwData.Retrieve ()
  • Запись данных в БД >> dwData.Update (true, false)
  • Сброс при фиксации >> dwData.ResetUpdate ()

Моя ставка: Если первоначальные разработчики знали, как на самом деле использовать DataWindows - любые оценки, сделанные вами при переходе на Java или C #, даже близко не приблизятся к тому, что на самом деле произойдет. Если они этого не сделали: это просто приложение, которое выполняет привязку данных не так, как ваш новый инструмент.

Что вы теряете при использовании PowerBuilder? Вы должны согласиться с тем, что 4GL и его виртуальная машина спроектированы так, как они есть - нет доступа к исходному коду виртуальной машины, поэтому вы не можете выполнять собственные настройки виртуальной машины. Не отключайте поддержку NULL для увеличения скорости. Не нужно изменять порядок событий, переписав менеджер событий виртуальной машины. 4GL означает меньше строк кода. DataWindow означает намного меньше LOC. 4GL означает менее дрянную настройку.

/ MicKr- Кстати, PocketBuilder - это PB для Windows Mobile - классная идея!

3 голосов
/ 26 марта 2009

Учитывая риск предвзятого звучания, я думаю, что PB - один из лучших инструментов RAD, и новая версия PB12, запланированная на следующий год, сделает его еще более интересным, поскольку он использует VSShell из Visual studio в качестве своей новой IDE (Intellisense и т. Д.) ). В настоящее время я занят работой в команде компилятора, добавляя все полезности .NET в PowerScript, к которым он привык из C #, такие как делегаты, интерфейсы, атрибуты и т. Д., Но все еще сохраняя язык простым в использовании. PB также является одной из немногих платформ разработки, которые обеспечивают переход от более старых к более новым версиям, и новый PB12 не является исключением. Приложения, сгенерированные PB12, будут выглядеть современно с использованием WPF, а затем и Silverlight для поста PB12, поэтому я очень взволнован. Я не являюсь разработчиком PB как такового (C ++), но я все еще думаю, что быстро создавать приложения на C / S сложно.

2 голосов
/ 03 марта 2009

Да, вы наверняка сможете изучить PowerBuilder. Хоть ты и хочешь - это вопрос, на который ты можешь ответить, однако.

Я использовал PowerBuilder много, много лет (версии с 4 по 9). Были детали, которые мне действительно понравились. Это отличный способ для создания бизнес-приложений. Он объектно-ориентирован, а DataWindow - замечательная технология.

Но у него есть и свои плохие стороны. IDE является архаичным. Редактор кода упрощен (например, без завершения кода). Интеграция с контролем версий раздражает, и сообщество довольно мало. И это только для Windows.

Есть журнал (PowerBuilder Developer's Journal - SYSCON), но в наши дни он довольно тонкий. Однако в будущих версиях PowerBuilder у Sybase есть некоторые изюминки.

Лично мне это понравилось, и я бы вернулся к нему, если бы появилась возможность.

1 голос
/ 11 октября 2012

Powerbuilder очень прост, и вы найдете объекты datawindows очень полезными для создания отчетов, интерфейсов, форм и т. Д.

Если вы знаете Visual Basic, вам будет легче

я изучил энергетика за 2 месяца.

Недостатком энергетика является стоимость лицензии.

1 голос
/ 03 марта 2009

Я работал над powerbuilder довольно давно, версия 6.5 Его довольно легко использовать, и его можно сравнить с VB. Я чувствую, что было бы довольно легко поддерживать приложение и делать небольшие исправления и улучшать систему. Есть довольно много компаний, которые до сих пор используют powerbuilder и поддерживают старые приложения.

...