# What is Nit?
Nit is an expressive language with a script-like syntax, a friendly type-system and aims at elegance, simplicity and intuitiveness.
So, what does the famous hello world program look like, in Nit?
print "Hello, World!"
The Nit project is currently in alpha stage, at v0.8. It is in active development, moving fast and the APIs are still evolving.
You can follow the development on Github.
# Why Nit?
Nit's goal is to be usable by real programmers for real projects
- KISS principle
- Script-like language without verbosity nor cryptic statements
- Painless static types: static typing should help programmers
- Efficient development, efficient execution, efficient evolution
- Easy bindings with C, C++, Java and Objective-C using the FFI
- Android support in the compiler
- Smart autodoc, nitdoc, used to document the standard lib
Nit's guideline is to follow the most powerful OO principles
Nit will help you write bug-free programs
- Strong static typing
- No more NullPointerException
# Published packages using Nit
- Opportunity, a free event planner
- Nitiwiki, the wiki engine used for the current website
- Nitrpg, the gamification of Nit development where contributors are rewarded by nitcoins
- Brewnit, a tool for home brewers
- A simple calculator using GTK for desktop and the native UI for Android while sharing the business logic
- Hunted Dino, a simple game for desktop and Android using class refinement to cleanly separate preoccupations in the code
- Chainz of Friendz, a puzzle game for desktop and Android
- Bindings for OpenGL ES 2.0, SDL 2.0, GTK 3, sqlite3
- Many libraries and program like the webserver nitcorn, the portable applications framework app.nit, and many other available in the catalog
# Getting Started
Get Nit from its Git repository:
$ git clone http://nitlanguage.org/nit.git
Ensure that dependencies (and recommendations) are installed:
# Eg. for Debian Jessie (8.0) $ sudo apt-get install build-essential ccache libgc-dev graphviz libunwind-dev pkg-config # Older versions of Debian or Ubuntu need `libunwind8-dev` or `libunwind7-dev`
Build the compiler (may be long):
$ cd nit $ make
Setup your shell environment:
$ source misc/nit_env.sh
Compile a program:
$ nitc examples/hello_world.nit
Execute the program: