on 2013 Jun 06 2:21 PM
ok guys,
I have to prepare for a session to a meeting where I have to convince developers to switch from Visual Studio to Powerbuider.
Can you give me 10 good reasons for the mission?
ty
GMY
Help others by sharing your knowledge.
AnswerRequest clarification before answering.
As I don't really know Visual Studio, I did a very personal list of PB Native (classic)
pros and cons, so that everyone reading it can compare and contrast his favourite
development environment with Powerbuilder. I currently use PB 11.5.1.
(I'm not considering PB.NET here because of its poor performance and long-term strategic issues)
Pros:
RAD GUI development
Very fast, very easy
In-depth help with examples to get you started
SQL development, with visual query tool
MDI applications
Datawindow
Simplicity
Powerful builtin commands (easy insert/update/delete )
Good performance even on millions of records
Takes care of all problems and returns a simple error code
Reporting
ETL with pipelines
Client/Server Development (especially ODBC over LAN)
Built in debugger, even if it's quite old
High level and open handed community
Can't really do:
Linux
Manual memory handling (pointers)
Multithreading
Builtins for Lists, queues, B-trees of any datatype that doesn't fit in a datawindow
Interfaces
Templates
Lambda functions
Operator overload
Embedded programming
Drivers development
Real-time computing
Can't do without tools, still being hard to very hard to work with:
Web ( Appeon Web uses .NET and Java on IIS and costs x000$ )
Mobile ( Appeon Mobile costs x000$ too )
Fast heavyweight string manipulation ( Novalis uses C++ for Enable )
Regular expressions (Sébastien Kirche uses C++ through PBNI, I use JScript )
Callbacks (PBNI C++, PBInvoke)
XML parsing ( Datawindows are limited to 2 levels nesting, PBDOM is C++ )
Runtime object serialization / deserialization (We've done it in JS.NET)
Console applications with access to StdIn and Stdout ( C++ through PBNI )
Dynamic code execution ( see www.embeddingperl.com, PBNI, Perl or VB/JScript needed )
User level reports creation ( like Crystal Reports or the one from Novalis )
Custom controls (C++)
Modern graph controls for BI reports ( Crystal Dashboard, HTML + JS + CSS)
OpenGL (PBNI C++)
Early bound COM (QueryInterface())
Sockets, FTP, SMTP, SSH
Web services (requires .NET)
Image library ( plot, filters, SVG )
Windows Event Log
NoSQL databases
Object-Relation mapping ( Powerdesigner? )
Test Driven Development
Could have been done better:
Null handling ( string + null = null )
Structures
Compiler - has lots of regeneration issues. PowerGen costs 2000$
Garbage collection. Never rely on it, just CREATE and DESTROY.
Arbitrary decimal precision. Try "ceiling( 40.0 / 8 )": PB tells you it's 6.
PBL format: proprietary and obscure package of source code + semicompiled sections
The Datawindow mixes application, presentation, interaction code
InterProcess Communication
Source Code Control integration ( ProDiff needed at least to compare objects )
Powerbuilder Native IDE has been looking the same since PB 9
hopefully this will change in PB 15
IDE editor - looks like Notepad with autocompletion
Exception handling, it's just a stub. Most functions fail with return code even on critical error.
Direct3D
Windows Services
Window layout and autoresizing
String formatting ( where is a serious printf/scanf? )
Deployment and packaging
Loops. There is no "foreach", no iterators...
Other environments have:
Very huge opensource libraries:
Scientific (SciPy)
Imaging, Audio, Video
Distributed messaging (ZeroMQ)
Operations Research
IDE plugins
... enter your favs here.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Paolo;
That is a pretty good list!
I would like to correct one item though ... PB has always been multi-threaded since PowerSoft added the SharedObjectxxxxxx commands. I have a new PB application that I built last year that runs 50 threads in production 24/7 and has been running continuous for 6 months now.
Regards ... Chris
Take that item out of the list.
Sorry, I don't know why I always thought that it was a time-sharing based mechanism.
My i5 (2 physical cores 4 logical) CPU is running 50% after creating a shared object with a full CPU usage test, so they're actual threads.
Unfortunately looks like no "edit" or revision function is available here on SCN after the post has been moderated.
Thank you Chris
Hi Paulo;
Yes, real threads ... nice eh!
As I say .. "Its always a good day when you learn something new"!
Again ... nice list and a good overview / comparison as to ho how PB "stacks up" feature wise to other products. This is the kind of thing that SAP needs to focus on when deciding on new PB 15, 16, 17, etc features that will give PB back the prowess in the IDE marketplace.
Regards ... Chris
Reading this thread I found a lot of things comparable to my current situation and my (still growing) problems in the last years.
I'm using Powerbuilder since v3 and found that migrating from/to v5, v7, v8, v10, v11.5, 12.1 and currently 12.5.2 was an easy walk.
Powerbuilder saved me a lot of time, so I spend this time over the years to have an eye on MSDN, Visual Studio and C#. There they have a lot of books/docs, samples, source snippets, components, ideas, tutorials, trainers, evangelists, gurus ...,This must be the look of paradise.
I started more than one approach to switch over to Visual Studio; at the end and everytime I ruefully come back to Powerbuilder classic.,Most of the times the reason was that one of my clients wanted to have their apps "now" up und running; not interested in implementation details (out of budget).
Then PB.NET comes up. Does someone really read my enhancement requests from Techwaves in Vienna, Paris, San Diego...?,I know PB wanted to be everybodies darling; but the old lady does not want to change her "look and feel" and not her behaviour.
So I gave PB.NET a try in the isolated shell and ... went back to PB classic.
I don't feel very comfortable with PB.NET. Where is my MDI?. Why does rendering/migrating to WPF have such ugly results? (compared to my old lady which is suddenly looking younger and more agile then ever)?.
There is an migration path for my old ActiveX-Controls, from which I tried to get rid off in the past. But there is no real and stable support for new attractive and fancy 3rd party WPF controls (e.g. Spreadsheetgear, Syncfusion) which I want to use instead, with intellisense, visual designers, documentation, examples and so on...
The Sybase engineers have done a great job. Inheritance of visual controls (that saved me a lot of time maintaing my applications) is still supported in PB.NET; but this is at least not a usual concept in a XAML world.
I love Powerbuilder. But to be precise at this point: I love the datawindow control (including DDDWs), the datastore and transaction class. They are the heart and core of powerbuilder. I can use all of them very easily in "Visual Studio 2010 Pro" with C# by including a few Sybase.Datawindow.* DLLS and inherit and extend their classes/interfaces. For designing datawindows I use PB (classic or NET; InfoMaker should also be fine) and export them into SRD-files. I picked them up in VS/C# and feel happy and at home. OK there are some drawbacks. The rest of my GUI is missing, my business logic has gone. But therefore I have all the wide opportunities of a dotnet and (wpf-based?) 3rd party world.
Finally my suggestion (IMHO) is:
Stay tuned with PB classic for mature applications and try to think about Visual Studio for your new applications including a datawindow wpf component. Answer yourself: Do you really need a wpf-based application or want to use a 3rd party component, which is not supported by pb classic (with pbni, pbinvoke, com access) ?
For some "non visual" parts, I (re)implement them in C# as COM visible classes/components, so I can use even the new logic in "old" PB classic apps. For example: Last week I build a COM-visible REST-Client using C# o access a Wakanda NOSQL-Server and returning his json responses into my CRUD classic datawindow.
Last but not least I hope the (near?) future will bring some simple answers to me:
Hi Hans;
1) So I gave PB.NET a try in the isolated shell and ... went back to PB classic.
=> Yes .. all my Canadian Federal government clients did the same!
2) Why does rendering/migrating to WPF have such ugly results? (compared to my old lady which is suddenly looking younger and more agile then ever)?.
=> I agree. All we got was another poor implementation of a native MS-Windows only based application development IDE! Add Appeon to PB classic and you are a lot further ahead with Web, Cloud & Mobile!
3) Will Microsoft announce that wpf should go the same way as winforms, webforms and silverlight (as rumoured) ?
=> MS has already stated that they are not extending WPF any further. (Hello .. wake up Sybase)!
4) Is Javascript (HTML5, CSS3) rising (or declining or replaced by ...) ?!
=> Np .. HTML5 is where its at. The whole Canadian government for example is now standardizing on it for all their websites:
CLF: http://www.tbs-sct.gc.ca/ws-nw/index-eng.asp
WET: https://github.com/wet-boew/wet-boew
5) SAP-Sybase could change (extend) their migration process for pb.classic to pb.net in a way that pure C# comes out(skipping powerscript and the isolated shell)?
=> no .. don't forget that 52% of the IDE market is Java. PB needs to be just as good at inter-operating with Java as it does with .Net. That is why it makes more sense to continue with PB Classic as its C++ based and can inter-operate with J2EE as well as .net (and that's what SAP should focus on - the BIG picture, not just the declining MS world)!
6) Who knows ?
=> The "Shadow knows"! 🙂
http://en.wikipedia.org/wiki/The_Shadow
Regards ... Chris
4) Is Javascript (HTML5, CSS3) rising (or declining or replaced by ...) ?!
=> Np .. HTML5 is where its at.
I agree with you Chris - HTML5 is the way to go. Generally JavaScript is a poor solution - fragile and interpreted, but there aren't really a lot of good options. Story is MS is working on a ".Net plugin" that will allow you to write .Net Lang (like C#) code, compile it to IL and run that in the (any) browser. Native in IE of course; no plugin. There are a few tools that convert C# to JavaScript but the result is still interpreted in the browser.
Randy Buchholz said:
I agree with you Chris - HTML5 is the way to go. Generally JavaScript is a poor solution - JavaScript is what powers HTML5, if it's a poor solution, then so is HTML5.
http://radar.oreilly.com/2011/07/what-is-html5.html#javascript
| User | Count |
|---|---|
| 9 | |
| 5 | |
| 4 | |
| 4 | |
| 3 | |
| 3 | |
| 2 | |
| 2 | |
| 2 | |
| 2 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.