Sibyl, a Visual Development Environment for OS/2
Development tools for OS/2 have always been a problem. A large variety have been available in the past, but many of them are unsupported, old fashioned, not easy to use, or based on Rexx, which despite it's attraction for some tasks is not really suitable for developing full-on applications.
Sibyl is a Visual Development Environment for OS/2, Win32 (95/NT4), and soon Linux.
It's written by a German software company called Speedsoft (http://www.speedsoft-online.de). It was built on top of their previous product, Speed Pascal, and has been released for about 2 years. In that time Speedsoft have supported it through a mail list, and have released three patches for it, fixing numerous bugs, and resulting in a stable OS/2 application.
In fact, Sibyl is a copy of Delphi, Version 2, including the user interface, language/compiler, and class libraries. If you've used Delphi before you'll find Sibyl is exactly the same, including the same strengths and weaknesses.
Sibyl comes with its own graphical installation, which quickly and painlessly copies the files onto your system and updates config.sys for you. Sibyl does not make use of Workplace Shell enhancements and generally does not cause problems with OS/2. Most people do not have problems with it, except for occasional confusion with the evaluation version. Reinstalls are not usually necessary.
Patches come only as Zip files, which must be unzipped over top of the existing installation. While this is not particularly attractive, it is reasonably straightforward.
As a big bonus, Sibyl comes with full source code for the runtime libraries and component classes, as well as numerous sample applications. These are very useful for learning, and mostly make up for the occasional gap in the help files.
Exactly like Delphi, Sibyl lets you quickly create a user interface, creating 'forms' - the windows or dialogs of your application - containing buttons, list boxes, edit boxes, and the other standard OS/2 controls, as well as quite a few special controls such as a progress bar, database controls and so on. You simply select the controls from a categorised palette and drop them onto your forms.
You can configure various 'properties' of the controls using the 'Object Inspector'. Most importantly, you can link the various 'events' that the control can activate to code written in Object Pascal.
Unlike traditional PM programming, there is very little 'housekeeping' code to write, so it's much easier to get started writing a useful PM application.
Sibyl has a full environment which integrates
- the form editor, discussed above
- a good tabbed code editor with color syntax highlighting to make your code more readable, search and replace and all the usual features (though it won't win any awards as an editor)
- project management - there's no makefile to worry about
- Object Pascal compiler
- online, context sensitive Help
Sibyl creates standalone EXEs for OS/2 Warp 3 or Warp 4, presentation manager or command line. It does not require any runtime DLLs: this increases the size of the EXEs but makes applications easy to distribute.
From the same files, Sibyl can create a working application for Windows 95 or NT 4. Though this functionality is not officially finished, some users have created large applications that work on both OS/2 and Windows. In addition to this, the development environment itself can run on either Windows or OS/2. Perhaps the most serious omission from the Windows version is online help, though this is likely to be fixed soon.
Why would I use Sibyl?
If you want to write presentation manager applications, from small and simple, to medium scale systems, Sibyl will provide you with an easy to use tool that is based on a reasonably sophisticated language and compiler. Unlike Rexx based tools, Sibyl gives you the assurance that comes from a typed, object oriented language, but is still fairly easy for beginners. The online help is good enough that no paper manual is needed (just as well since none is provided).
Sibyl makes it particularly easy to customise and extend the built-in controls, something that is very difficult or simply impossible with many tools.
If you want to create a graphics application, it will be *far* easier than using OS/2 presentation manager calls, though you may find it is limited in some features, requiring you to access OS/2 API calls - which is easily done.
What would I not use Sibyl for?
Sibyl's support for command line applications is problematic in my experience. However, other users have written programs using it. It has the usual Pascal input/output facilities. You can also write programs as 'simulated' PM applications where the normal text output goes to a window.
The Object Pascal compiler (which is available as a command line program as well) is good but has some problems with optimisation and complex expressions, and lacks some of the things that would make it a serious industrial-strength tool, such as include files. To be fair, earlier versions of Delphi had the same limitations. For most people the compiler will generally be sufficient.
The database support in Sibyl is frankly incomplete, and is difficult to start using for many database systems. For example, only read-only DBase file support is provided. This is unfortunate since the bulk of the database capability is done, including various data aware controls. People intending to use Sibyl for database applications would be best to check carefully what support is available for the engine they pick, and be prepared to work around problems.
These problems mean it is not going to replace any of the full C++ compilers like Visual Age, GCC, or Watcom, for heavy-duty programming tasks. And of course some people dislike Pascal in itself, though to be fair Object Pascal is far beyond the original Pascal syntax.
Compatibility with Delphi
Speedsoft have made every effort to keep both the language and the component class libraries compatible with Delphi. I was able to port a whole application to Delphi with minimal changes. Unfortunately the form files (which define the layout of each form) is not compatible with Delphi; there is however an Import facility which can convert Delphi forms to Sibyl.
Speedsoft have never offered full one-on-one support in any form, and do not have a phone support number or email address. However, they have in the past been very responsive on the Sibyl mailing list, which anyone can join; this is recommended even if you just want to find out about Sibyl. There is a demo version available.
But there is a MAJOR warning. Recently, we have not heard much from Speedsoft; they seem to have given up at the moment. Around the end of 1999, Speedsoft saw an opportunity with Linux and as a side effect of porting to Linux, decided to release further enhancements to the OS/2 and Windows versions.
This resulted in a further fixpack for OS/2, and an early pre-release of Sibyl for Linux. However we have not seen further comment since that time. It appears that, for now at least, Sibyl is going to be left as it is.
At around US $150 ($100 for upgrades or educational purchase) Sibyl represents good value, particularly for a cross platform tool.
Sibyl is a great tool that makes developing serious graphical applications for OS/2 easy. Perhaps if it had been available a few years earlier, it could have helped prevent OS/2's decline. Now, we are lucky to have such a tool, and I wish Speedsoft the best in their efforts to expand into the Linux and Windows markets.
A few significant issues prevent Sibyl from being a full professional development system like IBM VisualAge C++, but it is nevertheless very useful for corporations who are looking for a tool that combines the ease of visual development with a serious language.
The Sibyl environment, made up of several windows - see later...
This is the only essential Sibyl window, and gives you access to load and save projects, run or debug your program, and of course it contains the palette of components for you to use.
The object inspector lets you set the properties of each component on a form (in this case the control named 'BackButton'), and link the events that the control can fire to code (for example, the 'Click' event of the button).
Sibyl includes a multi-file text editor, with colour highlighting to make code easy to read. You can set breakpoints like the highlighted red line here. At the bottom you can see the 'control centre' which shows compiler output, variables during debugging, and so on.
You create the main application window(s) and dialogs visually, giving you a feeling of immediate progress before you've written a line of code!
The next two windows are included to give some idea of the configurability of Sibyl.
Each project (application) can be configured in some detail. You can see that compiler options are sufficient, though not exhaustive - note that optimisation usually has to be left turned off as it can cause some problems.
Sibyl has many general options which allow you to work the way you like. If only the keyboard layout was fully configurable! - but that's just a faithful copy of Delphi.