Calling all online computer magazines !

I do a lot of browsing on the internet and particularly online computer/programming magazines, online programming forums, developer resource web sites, etc.

One thing I find quite surprising is the lack of information or discussions about the PowerBasic programming language.  Just go to your favorite programming forum or developer magazine web site and type in PowerBasic in the search box and see what shows up. In most cases absolutely nothing.

Something is inherently wrong here. Powerbasic is not one of those open source freeware compilers or a hobbiest programming languages you often find on the web. Each one of those have their fans (ie. FreeBasic, LibertyBasic, IBasic). PowerBasic is not a gamers programming language (ie. DarkBasic, Blitzbasic) which have great features when it comes to DirectX and writing Games, but lack in many areas critical for commercial software development. PowerBasic is a high quality, commercial compiler with a long professional history which dates back to Borlands TurboBasic. I don’t know the details of why Borland gave up on TurboBasic and sold the rights back to Bob Zale, its developer, but obviously they were not ready to take on Microsoft and the software industries preference for QuickBasic.  Amazingly, Bob Zale picked up where Borland left off and against all odds and with far less resources than either Borland or Microsoft, he progessively took Powerbasic (no longer called TurboBasic) and turned it into an amazing professional tool. Sure, PowerBasic was (and still is) a small company with little resources compared to the big companies, so they took their time in developing their compiler line. Initially it was marketed as an addon to Visual Basic for building DLL’s. Those earlier compilers were called Powerbasic DLL compiler. In time they added GUI commands and changed the name to PowerBasic Windows compiler (PBWin). They added PB Forms their own GUI Designer, but there are a number of third party GUI tools for those who want something different.

The interesting thing about PowerBasic is that initially one had to learn the Windows API (remember the old days before C++ or MFC ?) to be able to write a GUI application, which in all rights can be daunting. Microsoft itself obviously felt the Windows API was too difficult to learn, so they added first MFC, then other frameworks (today dot.net) so programmers could write applications for Windows more easily. PowerBasic programmers on the otherhand were stuck with the pure Windows API, but in some ways that turned out to be an advantage. Why ? Because PowerBasic developed a community of programmers via their online forums (peer to peer) who began to help one another deal with the Windows API, so that in time some excellent programmers began to emerge in the PowerBasic community. PowerBasic (the company) also began to tap into that knowledge.

One of the things I have noticed over the years about PowerBasic (the company) is that they don’t tackle something they don’t fully understand. This is one of the reasons it took them a while to add support for COM in their compilers. The GUI command set also took some time to be developed. But when they finally grasped each aspect of Windows, they added new features to their compiler and what they added worked very well and was optimized for speed, size and reliability.

I have using PowerBasic for a good ten years now and I am an experienced API programmer (have to be to write EZGUI) and I can attest to the quality of the compiler. It is a professional tool through and through.  I find it interesting that some programming languages found on the web, which on the surface appear quite powerful, can do all sorts of amazing stuff like access DirectX and maybe even have some kind of Visual front end are not always the product of the developers who make them. You would be surprised to find such developers are at times using code from open source code or tools. One compiler may supposely be a Basic compiler, but it may use an Open Source C compiler as a back end. I was surprise to read once that even Microsoft when Visual Basic users were tired of just a P Code compiler and they needed to make Visual Basic a real machine code compiler, didn’t create a compiler from scratch but they simply used their C compiler as a backend for Visual Basic. So you have small and large companies developing Basic compilers, but not actually writing all of it from scratch or even using libraries from other developers (ie. open source).

PowerBasic is different. They are machine code (Intel CPU) experts and the compiler itself was written by them. I think this is one of the reasons it took PowerBasic some time to finally convert the compiler itself from 16 bit to 32 bit (even though 16 bit, it still generated 32 bit code). They were writing all the stuff themselves and it was very low level. I still imagine they spend time counting CPU cycles, like the old days, trying to squeeze even more speed out of their compiler (both compile speed and execution speed).

What PowerBasic does, they do well and they are no “fly by night” compiler maker. Other languages come and go, but PowerBasic has stood the test of time and continues to get better. They recently announced the next generation of their compiler, PowerBasic version 10 which will be here soon. It definitely has some surprises in it.

Software development companies are always looking for new technologies and development tools, but why has the computer software development media failed to take notice of PowerBasic ? Sure, I have heard Visual Basic programmers and others comment (from online forums) that PowerBasic is not as easy to use as Visual Basic (or other Visual tools). Yes, that is true.  But you can do things with PowerBasic that you just won’t be doing with Visual Basic. I could never have written EZGUI 4.0 Professional in Visual Basic and thats the truth. Yes, I am experienced with the Windows API and that does make a difference, but still in the right hands PowerBasic allows programmers to go beyond what they were used to with other languages. Imagine writing an application which can run faster than most others, will run on legacy PC’s as well as Windows 7, will fit even on a floppy disk (or a tiny thumb drive) and will use minimal resources (ie. ram, cpu). No need for huge dot.net runtimes. No need to have to always update to the latest dot.net runtime. Don’t think that isn’t important. I recently downloaded Microsofts Small Basic. I couldn’t run it on my XP computer, because it was not service pack 3. I couldn’t run it on my Vista computer because it did not have dot.net 3.5. I was forced to install it on my more recent Windows 7 computer. 

Now you may say that you aren’t a Windows API expert, so you wouldn’t be able to get much from PowerBasic. PowerBasics DDT (Dynamic Dialog Tools) command set is quite good and getting better in each new version. That along with PowerBasics PB Forms visual designer can get you quite far. If you require more there are a number of third party visual designers which emulate Visual Basic, FireFly being the best, which push the limits of the PB compiler even further. If thats not enough for you, there is even my own EZGUI Professional and wait until you see version 5.0 which is coming soon. It does some amazing things, even OpenGL 3D graphics.

The point is, that just like how third party developers really deserve some credit for the success of Visual Basic (ie. ActiveX controls), it can be said that the same is true with PowerBasic. PowerBasic has encouraged third party developers. Some of the third party developers for Powerbasic are experts in their own rights. One good example is Patrice Terrier and his tools WinLift and GDImage. I have seen some skin engines for use with Visual Basic and they were sluggish in comparison to WinLift for PowerBasic. WinLift and GDImage were also written in the PowerBasic language. Unlike Visual Basic, where the majority of addons (ie. ActiveX controls) were written in other languages like C or C++, third party developers who write addons for PowerBasic, write them in PowerBasic, which attests to its power. You can even use inline assembler in PowerBasic, so the “skies the limit”.

As a long time PowerBasic developer, I think its about time online computer magazines (especially those that target software developers) take a closer look at PowerBasic. A few reviews of PowerBasic would be nice. Maybe get some in the PowerBasic community of programmers to write some articles about it. In my opinion, PowerBasic is one of the best kept secrets in the software industry.

Especially with all the hype about Tablet PC’s right now, maybe PowerBasic deserves a closer look. All the hype has been about Android tablets, rather than Windows 7 tablets. Windows has a reputation for being slow and sluggish and requiring too much computer power. Did you realize that PowerBasic, in my opinion, is probably the best compiler available for writing applications for Windows 7, which will ‘”fly” on Tablet PC’s with Intel Atom CPU’s. Forget ARM CPU’s ! If you want to have an edge in developing software for Windows 7, which will run well on Netbooks and Tablets running Windows 7, particularly those using the Intel Atom CPU’s, then look no further than PowerBasic.

For more info see: http://powerbasic.com