views:

340

answers:

4

This might be a weird question. After all, most people want to jump OUT of PB not IN.

However, after careful analysis, I feel that Powerbuilder can get things done so much more rapidly than C# in the sense its a 4GL.

Now PB is becoming .NET enabled, I was thinking perhaps its a good tool.

My main focus is developing enterprise applications with alot of data entry/reporting/data representation.

I have tried the datagridview and its pretty bad compared to the datawindow. I initially wanted to buy and try the telerik solutions but due to lack of time, i just assume the implementation in C# is just as unwieldy.

Do you feel its a good idea to jump into Powerbuilder now since its the only 4GL committed to moving to .net?

Thanks so much all. Do not hesitate to critique my choice based on my crieria:

  1. c# is very low level and theres alot of coding to be done concerning data bound controls and so on

  2. powerbuilder is a 4gl and has excellent abstractions to avoid unneccessary coding. Sure, you give up a bit of control but how much control is required for an enterprise application? C# is an extremely powerful language and yes you can make literally anything in C#. But Powerbuilder is more limited, and more can be done in PB when making stuff in its scope: i.e. enterprise apps

  3. powerbuilder is moving to .NET and it can be extended by using C# for more sophisticated stuff.

  4. yes, i am aware theres a DataWindow.NET control which is excellent but however does not give assurances of longevity since Sybase may not continue supporting it after traction for PB.NET is seen. After all it will cannibalize sales for PB.NET

I appreciate it, all.

+2  A: 

You are correct that PB can be very productive. And ultimately, the strategy of "using what works" is fine. That said, there are some things to be careful about.

  • It sounds like you are developing a brand new app. If so, that's good, you have a chance to build it as a .Net PB app from day 1. PB 12 is to C# what PB classic is to C++, so your reason (wanting a higher level entry point to .Net) to use PB is in line with what I think Sybase was intending.
  • Do it as part of an overall solution including the .Net integration you speak of, and definitely take advantage of the educational opportunity to learn C#. As a developer, .Net is better for future opportunities than PB.
  • Will you need to readily hire additional resources to help develop/support the application? It may be harder to find PB resources than .Net resources, given the language popularity trends. Note that I make no claims on the quality of the developers: PB or .Net, you'll find journeymen, hacks and stalwarts in both ranks.
  • I wouldn't worry too much about Datawindow .Net if you decide to use it. I don't expect it will go away but someone more familiar with it may be able to provide more context here.

Finally, although there is some value in having a higher level entry point to C#, you will have to learn something about both PB and C#. Managing two tools introduces more overhead than managing one tool. For typical CRUD apps where you are building a lot of data entry and reporting, the productivity gains and strong relationship between SQL and the datawindow may be worth it - that's up to you to decide.

Bernard Dy
Hi, may i know what do you mean by "As a developer, .Net is better... than PB." I presume, you mean PB.NET is better than PB Classic?Thanks so much. Its probable, I will develop WInForm in PB 11.5 and migrate to WPF once Sybase crosses over.Brief background: am an independent IT consultant. i develop software for the education industry. And as a businessman, more time shd be spent helping the customer, not wading through all the low level detail.I believe VB.NET and C# is more popular simply because the innards are exposed making it1. general purpose2. suited to be taught in colleges
cygnus atratus
I didn't mean that PB .Net is better than PB classic; your project can succeed with either. I meant that .Net is probably going to look better on your resume and make you accessible to more jobs than PB will; PB is a great tool, but doesn't seem to be used as often on new development. Perhaps that's not a huge concern in your situation if you've got a healthy supply of clients that don't push development choices on you (and good for you if that's the case!).
Bernard Dy
+1  A: 

If possible, I would suggest you wait some time to see how PB12 is really doing. What worries me is this:

  1. Existing PB application can, theoretically, be compiled into native code. This works horribly. Or, to be precise, it doesn't work at all. How well is PB going to export to .NET is yet to be determined. They seem to be committed to that, but I wouldn't trust them without seeing some real-world proof that works.
  2. Based on PB11.5 and below, Sybase has been doing a bad job with PB IMHO. They rush into new technologies, but the foundations are shaky. PB12 is a big change, and based on their quality of development, I would wait at least a few builds before using it.
  3. PB can indeed be productive, but being a PB programmer, I just can't imagine someone actually getting into it now. You'll have a very small community, not much open source, and an unclear future. And, based on recent experience, Sybase's support is also quite lousy.

Finally, if you do go through with this, the best advice I can give you is this: design your project having in mind you might have to port it to another language one day. Can't say exactly how since I'm not a .NET programmer and I haven't used PB12 yet, but have that in mind. I wish our app, which goes back up to PB3 or even PB2, was portable.

eran
+1  A: 

thanks so much everyone.

I have decided to stick with C# due to a fear (perhaps irrational) that Sybase will be slow to catch up with future .NET upgrades

Because I am still young and working on greenfield applications, i prefer to choose a language that has longevity and support.

Nevertheless, I feel its a shame that Powerbuilder isnt as popular compared to other language, for I can see awesome producivity improvements and the datawindow control is one of the more impressive databound controls i have seen in a long while.

Thanks again, eran and Bernard!

cygnus atratus
Good choice, you have done yourself a huge favor!! +1.
Night Shade
+1  A: 

I don't think you have to fear that PB will go away anytime soon, it has been around a long time ever evolving and it will continue to stick around. There is a very active user community and many larger corporations still use it.

I think also it is good to learn as many tools/languages as possible at least from perspective of coming in contact with different programming paradigms. PB is great for certain projects, C# for others - they don't necessarily cancel out each other.

You can take a look at the latest PB.NET (Beta2) here

Anders K.
Very active user community?!?! You lost me there....It's a real pain to find a proper explanation of anything about PB within a short time. You have to read a large part of the documentation for that, whereas C# has a huge lists of excellent articles that can be really helpful. Most of the articles that I found on PB date back to 2002 or 2004, I found no recent ACTIVE activities about in anywhere.
Night Shade
@Night, sorry to hear about your frustration however there is quite a lot of activity in the Sybase news groups (http://www.sybase.com/support/community-forums) I admit its much less than for C# but then I suspect there are quite few more C# developers than PB developers.
Anders K.