PowerBuilder for Java programmer?

My friend uses ERP software written in PowerBuilder at his company. Unfortunately, the (one and only) developer is about to retire soon. My friend really loves the software and wants to continue using it for at least another ten years, so my friend decided to buy the source code.

He wants to start a business supporting software and developing new features. At the moment, probably about 50 installations of this software are in the wild, and he already knows about a bunch of potential buyers.

Now he is looking for a developer and asked me ... I did some programming in C / C ++, some VB and many other languages, but in recent years I have made my money by writing Java web applications. From what I read, PowerBuilder looks rather outdated for me, there are hardly any tutorials, no open source frameworks, inconvenient version control, I haven’t even read about any test environments. People here on StackOverflow say they hope the language / IDE is dead. In addition, the code that I would save is completely undocumented and not verified.

What do you think, for someone who has never heard of PowerBuilder before, to maintain such software?

EDIT : ok, thanks for your answers. We decided to completely abandon the old application and rewrite it in a modern language.

+4
source share
8 answers

Yes it is possible. Powerbuilder is not a tough language to pick, especially if you've already used VB.

The Powerbuilder community is much smaller than you can use with, for example, Java, but it exists. The best place (other than SO!) To ask questions is sybase.public.powerbuilder. * newsgroups.

For unit testing, try PowerUnit , and for version control you can use Subversion through PBSCCProxy , TamTam SVN SCC , or PushOK SVN SCC Proxy .

It has been a niche language for a long time. In my opinion, this is due to the initial cost of the required tools, which essentially blocks any new one, except for it.

The future is bright enough, though: Sybase is thriving , committed to PowerBuilder, and regularly announces progress towards version 12, which will be complete .NET, such as C # and VB.NET, and will come with a VisualStudio-based IDE . You can directly transfer your code to version 12, no need to rewrite.

+7
source

I started my career as a PowerBuilder developer, but quickly switched to java and python as soon as I realized that PB was an almost dead language.

In addition, even if there are tools that can be used to implement “good programming” practices, they are not widely known and are somewhat expensive, so I had to work even without version control (!!), leaving aside automatic testing or continuous integration.

This is a language in which almost everyone can start creating convenient applications in a short period of time and with little preparation, and applications are created very quickly, unlike java, which requires a training period, while the developer can be productive, and even then webapp takes time to development.

But payback is a service that is quickly becoming a nightmare. Even minor changes to the database, such as a type change in the database column, can destroy every data-bound data item (PB-ubiquitous data access component) that references it.

This is pretty much similar to VB, since almost everyone can develop applications in it, having very little programming knowledge, the average quality of applications is very poor, with unmanaged database communications and pursues poor coding methods.

My advice is not to create a developer’s career in such a language, if money doesn’t justify it, in which case continue to train in alternative technologies, like “plan b”, so as not to become obsolete with the language.

And always work to ensure that your coding and problem-solving skills are “in good shape,” because this kind of language does not help.

+7
source

Yes, any competent programmer, and even some not very competent, can use PowerBuilder. However, I would not agree with one of the previous answers. It differs from pre-.Net VB in a sense: it supports the true principles of OO (encapsulation, inheritance, and inclusive polymorphism [but not operational polymorphism via interfaces, as in C # and Java]). Classic VB had no inheritance.

Other answers from Paul Lefebvre and Colin Pickard are correct: PB is still alive, although it is a niche language more than ever, and Sybase really moves it towards .Net. Regarding source control, PB supports some interfaces (we use it with VSS), but I am grateful for a good set of Colin links that may come in handy in the future.

Framework: The most common is the Foundation PowerBuilder class, which Sybase opened many years ago.

My warning to you is this: I said above that people do not need to be particularly strong programmers to write PB. PB is easy to learn, but it takes time to master. He had the biggest days in the late 90s, when anyone who could double-click the Windows icon to launch the application thought he was a programmer. Despite the truly supportive OO, most PB applications are not well designed and well written applications. Usually they take a hack (criticism of the lack of experienced developers and the immaturity of software development at that time, not PB itself, which is still a very powerful tool). If you inherit a code base that is truly easy to maintain and manage, you are outnumbered. PB code can almost always be classified as legacy code. The good news is that there are many problems. You will have many quick refactoring options and lots of production support.

+6
source

At the risk of dubbing, I think PB is one of the best RAD tools, and the new version of PB12 planned for next year will make it interesting again because it uses Visual Studio's VSShell as the new IDE (Intellisense, etc.) . I'm currently busy working as a compiler team, adding all the .NET benefits to PowerScript, of which one is used with C #, such as delegates, interfaces, attributes, etc., but at the same time keeping the language easy to use. PB is also one of the few development platforms that provide the transition from older versions to newer versions, and the new PB12 is no exception. Applications created by PB12 will have a modern look using WPF and then Silverlight for the PB12 post, so I am very excited. I'm not a PB developer as such (C ++), but I still think it's hard to beat it to quickly build C / S applications.

+3
source

It depends on the technical quality of the original application, regardless of whether porting to another language is possible.

BEFORE YOU READ MY "PB IS GOOOD": I have been a PowerBuilder developer since I was 93. PowerBuilder is very lively and kicking. Yes, many people left the language soon after the millennium, but many of them returned later. No, I do not make money selling PB!

The biggest difference between PowerBuilder applications and any other tool is DataWindow technology. This is such a powerful tool in the hands of a knowledgeable developer. Examples: Dynamically creating optimal SQL for INSERT / UPDATE / DELETE. Close to each property of everything, there can be an expression that uses data in DW buffers. DropDown DWs are so cool. DW and the rest of PB are truly DBMS independent!

How important is code completion when many of my DataWindows need only 4 function calls?

  • Define DB Connection -> dwData.SetTransObject (SQLCA)
  • Read all data from DB -> dwData.Retrieve ()
  • Writing data to DB -> dwData.Update (true, false)
  • Reset when committed -> dwData.ResetUpdate ()

My bet: if the original developers knew how to actually use DataWindows, any estimates you make when switching to Java or C # do not even come close to what actually happens. If they haven’t done this: an application is just another application that binds data in a different way than your new tool.

What do you lose when using PowerBuilder? You need to accept that 4GL and its VM are created as they are - there is no access to the source code of the virtual machine, so you cannot create your own settings for the virtual machine. Do not disable NULL support to increase speed. Do not change the order of events by overwriting the VM event manager. 4GL means fewer lines of code. DataWindow means much less LOC. 4GL means a more subtle change in geaky settings.

/ MicKr- BTW: PocketBuilder is PB for Windows Mobile - Cool Idea!

+3
source

Yes, of course you can recognize PowerBuilder. If you want, then this is a question that you can answer.

I used PowerBuilder many, many years (versions 4 through 9). I liked the details. This is a great way to create business applications. It is object oriented, and DataWindow is a great technology.

But he also has his bad moments. The IDE is archaic. The code editor is simplified (for example, without code completion). Integration with version control is annoying, and the community is pretty small. And it is only for Windows.

There is a magazine (PowerBuilder Developer's Magazine - SYSCON), but these days it's pretty thin. However, Sybase has some neat sleeves for future versions of PowerBuilder.

Personally, I liked that I would return to him if such an opportunity arose.

+2
source

I recently worked on powerbuilder, version 6.5. Its quite easy to use, and you can compare it with VB. I believe that it would be quite easy to maintain the application and make minor corrections and improve the system. There are many companies that still use powerbuilder and support the old application.

+1
source

Powerbuilder is very simple, and you will find that datawindows objects are very useful for creating reports, interfaces, forms, etc.

If you know the visual basis, it will be easier

I learned powerbuilder after 2 months.

The downside of powerbuilder is the cost of the license.

+1
source

All Articles