2009-03-03 6 views
4

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

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

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

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

EDIT: хорошо, спасибо за ответы. Мы решили полностью отказаться от старого приложения и перезаписать его на современном языке.

ответ

1

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

7

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

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

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

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

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

+1

Комментарий, связанный с рефакторингом, чтобы перейти на PB12, я не знаю, я боюсь. В PB12 нет ничего, что потребует рефакторинга. Я перенесла приложения на предварительные версии PB12, даже на цели WPF, без каких-либо изменений кода. Это не означает, что * никаких изменений не потребуется, скажем, если ваше приложение использует функции, которые больше не поддерживаются (например, щелчки правой кнопкой мыши на командных кнопках). Это также не означает, что рефакторинг не потребуется для использования новых функций, но это верно в использовании практически любых новых функций. Sybase имеет несколько хороших записей в сети, на которых стоит обратить внимание на PB12. – Terry

2

Да, вы, конечно же, сможете узнать PowerBuilder. Если вы хотите, то это вопрос, на который вы можете ответить.

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

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

Существует журнал (журнал разработчика PowerBuilder - SYSCON), но в наши дни он довольно тонкий. Однако у Sybase есть некоторые опрятные вещи в рукавах для будущих версий PowerBuilder.

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

6

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

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

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

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

7

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

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

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

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

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

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

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

3

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

3

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

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

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

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

  • Определение DB соединения >> dwData.SetTransObject (SQLCA)
  • Читать все данные из БД >> dwData.Retrieve()
  • записи данных в БД >> dwData.Update (истина, ложь)
  • Сброс совершенного >> dwData.ResetUpdate()

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

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

/MicKr- BTW: PocketBuilder - это PB для Windows Mobile - крутая идея!

+1

Спасибо за ваш ответ! Мы решили переписать заявку, но в основном из-за отсутствия документации и тестов. Я взглянул на код, и это был беспорядок. Я бы дал PB шанс, но не на том основании кода ... – Olvagor

1

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

Если вы знаете, Visual Basic, это будет проще

я узнал PowerBuilder в 2-х месяцев.

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

Смежные вопросы