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.
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.