1 What's Gont?
Largely imperative composition of C-like lexical layer, control structures
and speed with ML's typesystem, functions as first class citizens,
and safety. Plus possibly few more things, like objects.
1.1 Safety
Gont is safe. This means that compiler shouldn't produce any code,
execution of which would cause SEGV. Parse: it should not be possible
to overflow buffers, mismatch types of arguments in calls and so on.
However note, that SEGV can be obtained from playing with extern_c
declaration, compiler has no means of validating.
1.2 Level of abstraction
Gont is very higher level language.
<evangelisation>
[...] And, actually, the more you can avoid programming in C
the more productive you will be.
C is very efficient, and very sparing of your machine's resources.
Unfortunately, C gets that efficiency by requiring you to do a lot
of low-level management of resources (like memory) by hand. All that
low-level code is complex and bug-prone, and will soak up huge amounts of
your time on debugging. With today's machines as powerful as they are,
this is usually a bad tradeoff -- it's smarter to use a language that
uses the machine's time less efficiently, but your time much more
efficiently. Thus, Python.
Eric S. Raymond
This is quotation from hacker howto by ESR :-). One may easily note that
it does not only talk about Python.
</evangelisation>
1.3 Memory Management
Gont provides transparent memory management, along with garbage
collection (the particular kind of garbage collector used is Boehm
conservative garbage collector, used also by GCJ and Popcorn).
It generally means you can allocate as much as you want, forget the
pointers, and the Gont runtime system with get rid of unused memory.