Makefile: talk about nit_env.sh after successful `make all`
[nit.git] / README.md
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         * pkg-config    http://www.freedesktop.org/wiki/Software/pkg-config/
21         * ccache        http://ccache.samba.org/        to improve recompilation
22         * libgc-dev     http://www.hpl.hp.com/personal/Hans_Boehm/gc/
23         * graphviz      http://www.graphviz.org/        to enable graphes with the nitdoc tool
24         * libunwind     http://nongnu.org/libunwind
25
26 Those are available in most linux distributions
27
28     # sudo apt-get install build-essential ccache libgc-dev graphviz libunwind pkg-config
29
30 Important files and directory:
31
32         benchmarks/     Script to bench the compilers
33         bin/            The Nit tools
34         bin/nitc        The Nit compiler
35         bin/nit         The Nit interpreter
36         bin/nitdoc      The Nit autodoc
37         c_src/          C code of nitc (needed to bootstrap)
38         clib/           C code needed by nitc to compile programs
39         Changelog       List of change between versions
40         contrib/        Various Nit programs (may or may not be useful)
41         doc/            Documentation
42         examples/       Program examples written in Nit
43         LICENCE         License of the software
44         misc/           Some additional file for commons text editors and tools
45         tests/          Non-regression test-suite
46         lib/            Nit standard library
47         Makefile        Bootstrap the Nit tools
48         NOTICE          List of the authors
49         README          This file
50         src/            The Nit tool sources (written in Nit)
51
52
53 How to start:
54
55     $ make
56     $ bin/nitc examples/hello_world.nit
57     $ ./hello_world
58
59 You can source `misc/nit_env.sh` to setup your environment like PATH, MANPATH and bash completion.
60 To have your environment automatically configured at login, just source it with `install` as argument.
61
62     $ . misc/nit_env.sh install
63
64 More information:
65
66         http://www.nitlanguage.org