Owoyemi Joseph Olusegun
NIGERIA, Kaduna, 25/2/09
I will have to say how very disappointed I was with your xBase++. I cost me > $AU1300 back in about 2001 and was nothing but heartache. After 10 years as a productive Clipper programmer, feeling like I could write anything, I read the marketing blurbs and spent my hard earned cash on a *DUD*. It was version 1.3 and after trying for several months to get it to behave - I wasn’t even using the GUI - I just gave up. No chance of being able to upgrade to a later version without *MORE* money being required (aka a "subscription"). I actually threw out the Packaging / CD only last month as it was only gathering dust. (Have a look - I bought it from "Aeronaut Industries")
Luckily I found xHarbour and now I’m firmly in the that camp. It does what I need (5 times faster than Clipper) and thanks to the GTWVW crew, I hardly need to change anything. Thanks to everyone working on the project. Once again I think I can write "anything" again.
I’m not sure what all the noise is about MultiThreading but I’m happy with the performance of my ST applications on xHarbour. My opinion is that if you need MT style performance then you are better porting the DB sections of your code to SQL. Once that is done then 99% of applications are just display / GUI code. If there are any issues with performance with this end then
1. Just let Moores Law take effect (the latest processor will be twice as fast in 2 years time!)
2. Figure out why its slow and then fix it! xHarbour gives you the code so at least you have a chance.
Sorry to be negative about xBase++ but that was how it was.
Direct from http://www.alaska-software.com
Xbase++ was designed to fully support Clipper features like preprocessor, code blocks, macro-evaluation, functions and commands, and to transform them to the world of 32-bit computing. Xbase++ provides a unique three-tier architecture in language for swift and effective application development. Whether you use commands or functions, the compiler transforms your code into the objects you need. And naturally the whole process remains ”hidden” from view. This has the great advantage that all features of the Xbase++ runtime library are realized using platform independent objects.
XbasePARTS – also GET and TBrowse – are true objects in the object-oriented programming model of Xbase++. This substantially increases the reusability of your existing work. The sophisticated OOP model of Xbase++ includes multiple inheritance, encapsulation, polymorphism, automatic synchronization between different threads, access/assign variables and allows the creation of classes at runtime to fully support the dynamics of the language.
Xbase++ accesses database with DatabaseEngines (DBEs). Those included in the development package – DBF, FOX, NTX, CDX, SDF and DEL – offer an unprecedented level of flexibility. For example, Xbase++ makes it possible to create an index for a SDF file and carry out a search within the SDF file.
The Xbase++ development package includes anything you need to develop and deploy professional 32-bit database applications. Besides the 32-bit native code compiler, a source-code debugger to track down errors, a FormDesigner to visually design GUI Forms and Resource Compiler to bind bitmaps and Icons to your application are included.
- Conditional compilation with built-in preprocessor
- Supports OEM and ANSI source code files
- Different warning levels at compilation to develop error free applications
- Exhaustive error recognition at compile-time – not just at runtime
- Automatic support for mathematical coprocessor
- Generates 32-bit multi-threading ready native code
- Supports OMF and COFF object-file formats
- Creates EXE or DLL files
- Applications are royalty-free
- Industry-standard Xbase language
- 100% Clipper language compatible
- Support for all Xbase data types (Logical, Numeric, Character, Date and Array), objects and code blocks as well
- Multi-dimensional arrays without any restrictions in size and dimension
- Length of a character string is limited only by the operating system
- Variable types are PRIVATE, PUBLIC, LOCAL and STATIC
- Directly access DLLs, Window API calls
- All data types are persistent – even objects – and can be stored to and retrieved from external storage
- Object-oriented programming model with multiple inheritance, encapsulation and polymorphism
- Intelligent multi-threading, all values are thread-safe
- STATIC and PUBLIC variables are automatically synchronized between different threads
- 50 ready to use components/classes to enhance productivity and reuse
- CORBA 2.0 based Data-Access-Middleware
- Support of long filenames and UNC naming conventions to access remote files
- Dynamic load/unload of DBEs at application runtime
- The same command/function for all DBE, no code changes neccessary to support the underlying DBMS
- Clipper compatible DBFDBE and NTXDBE to support concurrent operations between Xbase++ and Clipper
- Visual-FoxPro 3.0/5.0 compatible FOXDBE and CDXDBE to support concurrent operations between Xbase++ and Visual-FoxPro applications
- SDF and DEL DatabaseEngines to support different data import and export formats
- Support for DatabaseEngines to access Advantage Database Server or SQL DBM systems