Aspirations of the Ginger Project

Aspirations

For part-time programmers and learners, we made Ginger a simple, clean and practical language that you can pick up quickly. The language features are properly separated, scrubbed of hard-to-learn corner cases, and mapped cleanly into syntax. And you can use the “Common” syntax which is designed specifically for Ginger. But if you prefer to use a more familiar C-like syntax, that’s well-supported too. This means that if you only use Ginger part-time, you’re likely to find it easy to come back to despite the breaks.

For professional programmers, we hope it will become your “other programming language”, the one you choose to program in for fun or when you’re stretching yourself and doing something new. Ginger is designed to be powerful enough for substantial professional programming projects. We have ensured that it works elegantly as a scripting language, yet can also be compiled reasonably well, permits rich type annotations and has an powerful package system.

It also supports ‘advanced’ features such as first-class functions, coroutines, deferred evaluation, extensible pattern-matching, transaction based exception handling, and DSLs - but expressed in a clear and straightforward fashion. We hope you’ll find :mod:`Ginger: inspires you to tackle challenging problems and find brilliantly direct and elegant solutions.