# 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"
# Development
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?
Usability
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
Object-Oriented
Nit's guideline is to follow the most powerful OO principles
Robustness
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
- Brewnit, a tool for home brewers
- A simple calculator using GTK for desktop and the native UI for Android while sharing the business logic
- 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 https://github.com/nitlang/nit.git
Ensure that dependencies (and recommendations) are installed:
# Eg. for Debian or Ubuntu $ sudo apt-get install build-essential ccache libgc-dev libunwind-dev libreadline-dev pkg-config
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:
$ ./hello_world
And now?
- Install plugins for your editor or IDE to work with Nit
- Read the language Manual
- Browse the catalog of packages, programs and libraries
- Try contributing to the project