There are many open source scripting languages and shells available. They are often created to solve particular kinds of problems. The following sections summarize the major differences between SparForte and these other common tools.
BASH (the "Bourne Again SHell") is an extended version of the traditional UNIX Bourne shell (sh). BASH supports most of the Bourne shell's original syntax, but also has features of the C and Korn shells such as integer and array variables. The Bourne shell syntax is hard to debug and is not compatible with other computer languages. BASH can act as an interactive shell or can run scripts.
SparForte is a shell that has the fundamental syntax of the Bourne shell. However, SparForte uses a different language for advanced features making SparForte easier to read and debug. SparForte scripts can be compiled into Java or .NET byte code or into an executable program. SparForte's reliability, scalability and speed make it ideally suited for professional scripting projects. SparForte can act as an interactive shell and can run scripts.
Python (named after "Monty Python") is an interpreted language designed for small projects needing rapid development. It is not a shell. Because of it's weak encapsulation features and lack of strong typing,Python scripts are limited in scalability and extensibility. The shortcuts provided by Python cause reliability problems in large, complex projects. Because of its proprietary design, projects developed in Python cannot easily be upgraded to a compiled language.
SparForte is a shell and language designed for high reliability business and scientific applications. SparForte scripts are slower to develop than Python programs but are easier to maintain over the lifetime of a project. The shortcuts SparForte provides are carefully chosen so as not to undercut reliability. SparForte scripts can be easily upgraded to a compiled language.
Perl ("Practical Extraction and Report Language") is, as its name suggests, a scripting language for data analysis and designing reports. PERL is good for writing short scripts to process text information such as system logs.
Perl is well known for being hard to learn and read. It combines the features of completely unrelated tools (including shell scripts, the sed command, and the awk command). In fact, this was the reason Larry Wall developed Perl in the first place. Perl scripts must be extensively commented to be readable. SparForte, on the other hand, is based on an international standard and has features that are designed to fit together smoothly. SparForte scripts are very readable, even with limited comments.
Perl developers also endorse Perl's shortcuts as making scripts more reliable (by making them a smaller) and as aid for programmers. SparForte also contains shortcuts, but it makes no claim that smaller scripts are easier to maintain. While Perl shortcuts can actually hurt development, SparForte's shortcuts are carefully chosen so that a programmer can't "shoot himself in the foot". Some kinds of shortcuts are dangerous. Perl will convert a number to a string automatically, whether or not the programmer made a mistake. If SparForte sees a number where a string was expected, it reports it as a serious contradiction.
Perl is not a shell and is not designed to run programs or to handle process control. However, it contains many features beyond report generation, including interprocess communication and database access. Because of its pattern matching features, cryptic syntax and shell-like quoting rules, Perl makes large projects error-prone and difficult to maintain.
Perl is often described as portable. With GNU tools and the Linux operating system, portable languages like PERL are no longer necessary. Even when PERL is chosen for portability, it is not based on any standard: features can change and break between even minor releases of PERL making PERL scripts difficult to port and upgrade. SparForte is heavily tested and based on an international standard making it more portable than PERL.
SparForte is a Linux shell and shell language designed for high reliability business and scientific applications. Although it's not a report generation language, it can generate reports using formatted output and pattern matching like PERL does.
SparForte scripts are not as "quick-and-dirty" as PERL but but SparForte scripts are easier to maintain over the lifetime of a project. Because of its emphasis on a typo-resistant syntax, SparForte is easier to maintain, especially when used large projects. SparForte scripts can also be compiled into executable programs, Java applets or .Net programs.
PL/SQL is the Oracle stored procedure language. Both SparForte and PL/SQL are based on Ada making SparForte very easy to learn for PL/SQL users. Many PL/SQL commands and statements will work in SparForte. SparForte supports the PostgreSQL database and you can execute queries and examine results.
psql is the text-based database client for PostgreSQL. You can display information about databases, run queries and get formatted responses. It is not a shell and cannot run shell commands.
SparForte is a shell and scripting language. In addition, it can display information about PostgreSQL databases, run queries and display the results as psql-style responses all at the SparForte command prompt. The user doesn't have to switch between a shell and psql--SparForte handles most database needs by itself.
Ada 95 (named after the world's first programmer) is a multithreaded, exception handling, object-oriented programming language used for large, high-integrity projects. It is known for abundant features, high performance, strong checking and readability.
The SparForte shell is not an Ada interpreter. SparForte uses AdaScript, a subset of the Ada 95 language with additional features specifically for interactive shell sessions. Because of its Ada 95 background, SparForte scripts are easy to create, maintain, debug and can be compiled into fast, executable programs using an Ada 95 compiler.
If you are looking for full Ada compilers or interpreters, they are available on the Internet.
Java is an interpreted programming language with threads, exception handling and object-oriented features. It can be compiled into "byte code" and applets can be created for web pages. Java is known for it's awkward syntax, poor performance and debugging problems because of its C heritage. Java is not a shell.
SparForte scripts can also be compiled into Java or .NET byte code (using the JGNAT compiler) and run the same way as Java applets/applications, including web page applets. SparForte scripts are easy to create, maintain, debug and can be compiled into fast, executable programs using GCC.
PHP is an HTML preprocessor and scripting language. In many ways, PHP resembles Perl but it is not Perl-compatible. PHP is often difficult to debug. It is not a shell and it does not have a native template engine.
SparForte is a shell and language designed for high reliability business and scientific applications. SparForte scripts are more secure and robust than PHP and they are easier to debug and maintain over the lifetime of a project. SparForte has a native template engine. SparForte scripts can be easily upgraded to fast, compiled applications (using GCC) or applets (with JGNAT).
Ruby is a scripting language with threads, exception handling and objects. Ruby is completely object oriented. Ruby has a very compressed syntax that uses the "Principle of Least Surprise"--that is, Ruby attempts to "second guess" the programmer. In some cases, removing a single space, or capitalizing a single letter, can cause a Ruby script to radically change its behavior. Ruby is not a shell.
SparForte is a shell and language designed for high reliability business and scientific applications. SparForte scripts are slower to develop than Ruby programs but are easier to maintain over the lifetime of a project. Changing capitalization and white space does not change the how a script is run. SparForte features do not fall victim to the "feature bloat" syndrome that weakens the reliability of a language. SparForte scripts can be easily upgraded to a compiled application or applet.
Lua's web site describes it as a "powerful, fast and light-weight". These are hype terms and contradictory: something cannot be powerful and light at the same time, the way gold is not free and a Ford Focus is not a luxury car. Lua is an open-source language designed for game scripting. It is popular with Portugese developers.
Although Lua scripts look similar to the SparForte, Lua is not designed on software engineering principles. It cannot be effectively used in enterprise programming.
QBASIC or QuickBASIC is a text-screen or console version of the BASIC language with a built-in IDE. It features interactive debugging and drop-down menus. SparForte, when combined with PegaSoft's TIA IDE, provides a text-screen language with drop-down menus and interactive debugging.
Lua is a programming language popular for writing add-on scripts or game macros. It has good speed, is easy to call from other languages. The basic syntax looks somewhat like SparForte but it is silent on many error conditions is is not designed to handle large projects.
|Back To Top|