update nitg requirements in README
[nit.git] / README
1 Nit is a statically typed object-oriented programming language.
2 The goal of Nit is to propose a statically typed programming language where structure is not a pain.
3
4 Nit has a simple straightforward style and can usually be picked up quickly, particularly by anyone who has programmed before.
5 While object-oriented, it allows procedural styles.
6
7 The Nit Compiler (nitc) produces efficient machine language binaries.
8
9 Some Nit features:
10
11  * Pure Object-Oriented.
12  * Multiple Inheritance.
13  * Realist typing policy.
14  * Light and clear syntax.
15
16
17 Requirement:
18
19         * gcc           http://gcc.gnu.org/
20         * ccache        http://ccache.samba.org/        to improve recompilation
21         * libgc-dev     http://www.hpl.hp.com/personal/Hans_Boehm/gc/
22         * graphviz      http://www.graphviz.org/        to enable graphes with the nitdoc tool
23
24 Those are available in most linux distributions
25
26     # sudo apt-get install build-essential ccache libgc-dev graphviz
27
28 Important files and directory:
29
30         benchmarks/     Script to bench the compilers
31         bin/            The Nit tools
32         bin/nitc        The Nit compiler
33         bin/nitg        The new Nit compiler
34         bin/nit         The Nit interpreter
35         bin/nitdoc      The Nit autodoc
36         c_src/          C code of nitc (needed to bootstrap)
37         clib/           C code needed by nitc to compile programs
38         Changelog       List of change between versions
39         contrib/        Various Nit programs (may or may not be useful)
40         doc/            Documentation
41         examples/       Program examples written in Nit
42         LICENCE         License of the software
43         misc/           Some additional file for commons text editors and tools
44         tests/          Non-regression test-suite
45         lib/            Nit standard library
46         Makefile        Bootstrap the Nit tools
47         NOTICE          List of the authors
48         README          This file
49         src/            The Nit tool sources (written in Nit)
50
51
52 How to start:
53
54     $ make
55     $ bin/nitc examples/hello_world.nit
56     $ ./hello_world
57
58
59 More information:
60
61         http://www.nitlanguage.org
62