The No.1 i-Technology Magazine in the World !
   
 

      ES no BS
This is a personal blog of Yakov Fain       My son's animations and music         No BS IT podcast      Америчка




Archives

««Sep 2010»»
SMTWTFS
    1
2
34
567891011
12131415161718
19202122232425
2627282930

RSS Feed








Subscribe to these blogs

PowerBuilder developer needs some direction

posted Tuesday, 30 January 2007

I've received a very well written email titled "PowerBuilder  developer needs some direction". Here's what the author (let's call him Joe) wrote:

Yakov, I have been a PB developer for the last 12 years.  I'm hoping since you were a PB programmer awhile back that you can help me understand what the fuss is about with web development and/or point me in the right direction to better understand this. In the past few years, our department is doing less developing in PB and more focus is on developing web applications in Java.  The applications are used within the company so there is no requirement to be able to access the applications from the internet.  I also should mention that most of the business logic was in Oracle stored procedures and now the focus is on having the business logic in Java and using hibernate to talk to Oracle.

I usually thrive at learning new technology but I'm really having a hard time with convincing myself that this is the way to go.  For me, PB is so much faster at building GUIs.  It also made more sense to me to keep the business logic on the Oracle server so we wouldn't have a network bottleneck issue.  And dealing with only PB and stored procedures made maintaining the applications real easy.  Now I have so many parts in applications like JSF, Spring, Hibernate, Java workflows, Log4J and XML configuration files that it's not as simple to maintain these applications anymore. Also, since internet access is not required for these applications, I don't understand why we have to go this route and make these applications so complex.

I'm hoping you can shed some light on this because I really need to get past this.

I swear, I did not change a word in this email. I want to shed some light, but I really do not know what to say - the author is absolutely right - it's really hard to explain why majority of the business applications have to be so painfully difficult.  I'll probably repeat myself, but let me say it again,

Using Web technologies in enterprise development is abused. At least fifty percent of the Web applications in any given corporation could have remained Client-Server using PowerBuilder or Visual Basic as a front end.

Can anyone explain why all these HR applications has to be on the Web? Why your order management system is written in Java and requires developers that know Java, JSF, HTML, JavaScript, Spring, Hibernate, XML, XPath, XSLT, Shell scripting, JDBC, Servlets, JSP and a couple of other buzzwords?  Any PowerBuilder or VB developer who knows SQL could have created such applications in half time for half money.  Why hire expensive Java Swing gurus  to display data in a simple datagrid? Why hire even more expensive AJAX gurus to achieve even half of the functionality that any mid-level PowerBuilder  developer gets off the shelf with an excellent DataWindow control that I've been using more than ten years ago? 

Why overcomplicate programming? Guys, 90% of corporate programmers do not need to be computer scientists. Unless you are working in the algorithmic trading modeling area or have to calculate a trajectory of an object moving in space, PowerBuilder or VB is more than enough! Having a MS in Applied Math, I have to admit that during the last 15 years I did not need to use even a bubble sort algorithm.  If you know how to write nested if-statements and a little of SQL you should be able to write majority of the modern enterprise business applications. And  business users will be much more happier than they are now with this pletora of technologies!

So what can I say to Joe?  You have to learn Java and JSF and Spring and Hibernate to survive and feed your kids. They will proudly announce how dependency injection (also known as inversion of control) helps. I'll tell you a secret - if you are doing PowerBuilder you already know all this - it's just sending custom events to a non-visual user object with all the data that this object needs. But hush! We do not want to make all these gurus angry. You'd better read all these article of smart programmers who will explain you how to make your life easier wit their XYZ framework. Someone  pushed you in the corner in the first place for no reason, and now they are happy to suggest you how to make your life "even easier" than before.  

 All these technologies scared an average American away from CS majors, and friendly Indians are happy to help without having any idea why such superpower as AMERICA can not find people to program  an Order Management System of a shipping company? 

Joe, I'm sorry I can not give you any better explanation. Just surrender and learn all  that they want you to know - you need to raise kids and take you wife to a nice one week vacation to Carribean. Just do not forget to put the Hibernate book into the garment bag right next to the swimming trunks and shades.  They say writing Select lastName, firstName from customers is bad, and  you need to create a Java class and an XML mapping to get the last and first name from a database table.

As one stand-up comedian recently said, "There is no difference between I'm sorry and I apologize unless you are attending a funeral". PowerBuilder is dead, and I am really sorry. 

tags:    

links: digg this    del.icio.us    technorati    




1. Joe left...
Wednesday, 31 January 2007 11:19 am

Thanks for the quick response and not replying with a bunch of marketing hype. I'm sure part of my reluctance is the steep learning curve with all these pieces. I guess I better get the books out.


2. Jim Stokes left...
Wednesday, 31 January 2007 4:44 pm

I too have been a PB programmer from PB4 thru 7 and using the PFC. Having watched the migration tutorials by Benefield with the early Silverstream product, I couldn't wait to touch Java development . Alas, the price... So I settled on being a DBA/ database developer


3. Jonathan Baker [Sybase] left...
Thursday, 1 February 2007 11:58 am

One thought to add. There is one valid reason for developing on the web and not in Client/Server: deployment. Managing a web server is a much easier IT task than deploying a C/S application to anything over 5-10 machines. There are ways to solve this, and I've seen a number of great ones, but with diminished IT budgets and increasing workload that cut has become obvious.


4. Pascal Forget left...
Thursday, 1 February 2007 1:11 pm

With the advent of SARS and other fears of infectious diseases, corporations are increasingly developing emergency plans for having people work from home in case of a full blown epidemic. Web based apps make it easier to telecommute and to move the whole staff to a new building and get them up and running quickly should your building be destroyed by fire, etc. I wholeheartedly agree that j2ee development is overly complex and cumbersome when compared to other tools such as VB or PB, especially EJBs. Companies when considering the pros and cons of standalone versus web based apps seem to prefer a higher cost of development to a higher cost of deployment/support.

As for the complexity of Ajax/Flex/XML/j2ee/<insert favorite buzzword here> scaring away americans from CS, I think it also has a lot to do with the fact that when young people about to choose their future career ask us developers what our work is like, we speak more of the negative aspects such as stress, schedule pressure, etc. and we don't talk enough about the positive aspects of it (nice paycheck, feeling of accomplishment, team work, etc.). Nowadays, there are other professions that have more sex-appeal for the new generations, the profession has lost a lot of its glamor in the general public.


5. Yakov Fain left...
Thursday, 1 February 2007 3:25 pm

To put it simple, Web shines when you want to have seamless deployment. Initially it was just HTML, then JavaScript came in. These two exists on any user's PC, let not worry about Web browser JavaScript incompatibility. Then Java was born with its concept of applets, which was the first rich Internet application. But Java creators quickly decided that server side applications should be their strategic direction. Sun was not able to pull off an easy installation of a small footprint JVM on anyones machine. This is where Flash Player shines. The fact that it exists on 98% of users PCs makes it pretty much equivalent of HTML or JavaScript when it comes to availability on your user machine. Do not get the right version of the Flash Player? One button click and 20 seconds later you have it. Thant's why I beliee that Flash Player is the best environment (it's a VM running compiled code) for rich Internet applications. As to PB developers, Flex seems to be a natural transition for them - event driven, object-oriented, RAD tool. But...you should know at least basics of the server side programming (preferrably Java).


6. Valery left...
Thursday, 1 February 2007 5:58 pm

So the root of evil is that deployment problem was solved in wrong way: there was (is) a need for deployment of client code. Plus there is always a need to have client-server transport for data. So instead of developing right code delivery mechanisms (something besides ActiveX with trojans and Java with disabilities) industry decides to merge client-code transport and data transport. We get HTML applications (mess of data and presentation) with all associated complexities and limitations.

Funny, all the IT world is where it is just due to one fatal error. Oh, more then one actually. Do not forget that CORBA was too complex and not-very-ineroperable so we replaced it with "simple" and "interoperable" WebServices stack (WS-* standards) and human-readable XSD ;) If you ever try to connect .NET / Java with WS or tried to read loudly eBay WSDL then you should understand me...

VS


7. Norman left...
Friday, 2 March 2007 2:48 pm

Sometimes I miss my VB days. Specially when I take a side trip down Swing lane...


8. Al left...
Sunday, 18 March 2007 6:12 pm

I came across this blog when searching for a PowerBuilder Eclipse plug-in. It was a compelling read. I recently learned PB 7 as part of a PowerBuilder to ASP.NET migration project. I was pleasantly surprised to see that PB 5 to 7 was ahead of its time, with its object-orientation, data binding (DataWindow), built-in support for validation and default values, strong database support to make it easy to do SELECTs, UPDATEs, INSERTs, and DELETEs, and a fairly easy-to-use GUI builder. It's obviously not as scalable as today's options but that is an unfair comparison. I also don't like the proprietary way PBLs are packaged. However, I know Sybase has provided to the community ways of getting at the binaries. I'm not sure if the output has to be XML but I've read of some intriguing ways of outputting as XML, using an XSL transform, and using the result to automate migrating PB Windows and DataWindows to .NET or Java. Yes, PB was ahead of its time!