.. _whysimba:

Why Simba?
==========

So why would you use Simba?

For several reasons. Number one is probably the active community combined with
the open-mindedness of the Simba developers.

Free
~~~~

Simba is, and always will be free.
It is free as in Free Beer **and** Freedom.

Simba is 100% free to use. In fact, we welcome you to share it with the
rest of the world.

The source code to the program is freely available, under the GPL (v3) license.

.. note::
      The source code allows everyone to see how the program actually
      works. Most developers choose not to share their source code and therefore
      decide to withhold knowledge. The Simba developers highly disagree with
      this mentality and will fight for a world with free knowledge for
      everyone. "Closed Source" as not sharing source code is called, is holding
      back innovation and research in the world.


Extensible
~~~~~~~~~~

Simba supports both plug-ins in binary format as well as extensions written
in the Simba programming language (which is Pascal-based).

This way one can easily extend Simba. See :ref:`writing-simba-extensions`

Reliable
~~~~~~~~

Simba is actively maintained by a team of knowledgeable programmers.

We as a team do our best to make Simba into a quality product.
However this does not guarantee a bug free program.
(Bug free programs don't exist)

Should you encounter a bug, please consider sending a bug report so we can
try to resolve the issue: :ref:`bugreport`.

Cross Platform
~~~~~~~~~~~~~~

Simba has been written with freedom in mind and believes Simba
should not be limited to one platform, as that limits its users
to one platform as well.

Currently the supported platforms are Windows and Linux with attempts
being made to port it to OSX (it may run on OSX if you install X11).

Even though we try hard to make Simba bug-free on all platforms,
some issues remain. The biggest issue is the interpreter that
executes your program. It is an external component and does not
play too well on Linux. Hopefully this will be improved upon soon.

There are plans on supporting interpreter for alternative languages such as
Python, these would largely resolve the current problems with the PascalScript
interpreter on Linux/Mac.

Fast
~~~~

The Simba developers have designed and written Simba with speed in mind.
It is important to understand, however, that premature optimization usually
ends up hurting development by introducing bugs and other forms of
instability. Simba attempts to find a middle-ground and has sacrificed some
speed for readability and maintainability, but is overall still quite fast.

Open Minded
~~~~~~~~~~~

Open minded. We appreciate your help, ideas and criticism!

Debug Friendly
~~~~~~~~~~~~~~

Simba aims to be debug friendly. It will show you where your errors are during
compilation, and when you are running scripts Simba will point out where you are
passing invalid arguments. The action Simba takes when this happens is
configurable. (It can issue a warning and continue, or simply terminate
the script)

Well Documented
~~~~~~~~~~~~~~~

Simba is well documented. (You're looking the documentation right now...)
There is still a lot left to document though.
