There are many programs that can be used to process text files and produce results
similar to those that can be obtained by using Proteus; this is a brief description of the
alternatives to Proteus and the advantages of using this language:
- PERL: this language is very widespread and is really
powerful; its syntax recalls that of C, but unfortunately
with many exceptions; a PERL script is usually difficult to understand; moreover, even
though PERL is usually very efficient, it does not have an extended library of built-in
functions like Proteus, so sometimes you need to write a lot of code to solve your problem
(e.g. managing dates) - the step that goes from here to creating a full C program doing
the same thing is small; all in all, it is a language that is used mostly by IT pros;
- AWK:
it is almost as widespread as PERL, even though it is by far less powerful; its syntax is
difficult to understand and resambles that of C; its main
disadvantage is being a toy-language, so the core of library functions is very limited;
Proteus requires less time to be learned and (usually) allows to write shorter scripts for
obtaining the same results;
- SED: this stream editor is very limited in
functionalities; its syntax is completely custom and is not understandable before having
studied carefully the language; the library functions in the core are few - it is useful
if all you need to do is find & replace; Proteus is way more powerful and easy to use;
- POM: a product very similar to SED, available under
Ms-Dos; see above.
In the end, Proteus is
especially useful and should be preferred in the following circumstances:
- you need a text processor easy to use and to learn;
- the problem to be solved requires specific functions, for example to manage dates, bit
maps, queues, stacks, sets, AVL trees, Windows system calls;
- you want to obtain short scripts, easy to understand; Proteus includes a huge number of
functions, that cover practically all your needs, from regular expressions, to sockets,
database access using DAO, etc.;
- you want to write a Windows service without studying complex languages like
"C";
- you need to operate on text files coming from different systems (Dos, Macintosh, Unix).