16 December 2000 Aaron Lawrence is a software developer and consultant for Advantage Retail Solutions, who produce a Point of Sale and Back Office system for the oil industry, on OS/2 and Windows NT. Advantage used Sibyl to develop an Accounts package. Aaron also used Sibyl to develop NewView, the replacement for OS/2's help viewer. If you have a comment about the content
of this article, please feel free to vent in the OS/2
eZine discussion forums. |
|
| |||
Installation Sibyl comes with it's 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. Visual Development 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. Development Environment Sibyl has a full environment which
integrates
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. Windows 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 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. Support 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. Pricing At around US $150 ($100 for upgrades
or educational purchase) Sibyl represents good value, particularly for a cross platform
tool. Conclusion 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 Visual Age 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. Screen Shots 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. | |||||
|