authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2017-05-07 14:11:01-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2017-05-07 14:12:38-04:00
logb7579f5f7d4f3295187f7901d97361a63a484d77
treed8ca0158ebcce1cc0adc371b2bb2247825e337ad
parent7261cd19b78367d78f758f7ade370efbc3e25237

update README


1 files changed, 13 insertions(+), 17 deletions(-)

README.md+13-17
......@@ -1,19 +1,23 @@
11![ZIG](http://ziglang.org/zig-logo.svg)
22
3A system programming language which prioritizes optimality, safety, and
4readability.
5
6Zig is a small, simple language, yet powerful. Zig fits into the same niche
7as C, except does everything better.
8
9Zig ships with a build system that obviates the need for a configure script
10or a makefile. In fact, existing C and C++ projects may choose to depend on
11Zig instead of e.g. cmake.
3A programming language which prioritizes optimality, robustness, and
4clarity.
125
136[ziglang.org](http://ziglang.org)
147
158## Feature Highlights
169
10 * Small, simple language. Focus on debugging your application rather than
11 debugging your knowledge of your programming language.
12 * Ships with a build system that obviates the need for a configure script
13 or a makefile. In fact, existing C and C++ projects may choose to depend on
14 Zig instead of e.g. cmake.
15 * A fresh take on error handling which makes writing correct code easier than
16 writing buggy code.
17 * Debug mode optimizes for fast compilation time and crashing with a stack trace
18 when undefined behavior *would* happen.
19 * Release mode produces heavily optimized code. What other projects call
20 "Link Time Optimization" Zig does automatically.
1721 * Compatible with C libraries with no wrapper necessary. Directly include
1822 C .h files and get access to the functions and symbols therein.
1923 * Provides standard library which competes with the C standard library and is
......@@ -23,9 +27,6 @@ Zig instead of e.g. cmake.
2327 * Tagged union type instead of raw unions.
2428 * Generics so that one can write efficient data structures that work for any
2529 data type.
26 * Provides an error type with several syntatic constructs which makes writing
27 robust code convenient and straightforward. Writing correct code is easier
28 than writing buggy code.
2930 * No header files required. Top level declarations are entirely
3031 order-independent.
3132 * Compile-time code execution. Compile-time reflection.
......@@ -33,16 +34,11 @@ Zig instead of e.g. cmake.
3334 a preprocessor or macros.
3435 * The binaries produced by Zig have complete debugging information so you can,
3536 for example, use GDB to debug your software.
36 * Debug mode optimizes for fast compilation time and crashing with a stack trace
37 when undefined behavior *would* happen.
38 * Release mode produces heavily optimized code. What other projects call
39 "Link Time Optimization" Zig does automatically.
4037 * Mark functions as tests and automatically run them with `zig test`.
4138 * Friendly toward package maintainers. Reproducible build, bootstrapping
4239 process carefully documented. Issues filed by package maintainers are
4340 considered especially important.
4441 * Cross-compiling is a primary use case.
45 * Zig Build System competes with make, cmake, autotools, SCons, etc.
4642 * In addition to creating executables, creating a C library is a primary use
4743 case. You can export an auto-generated .h file.
4844 * Standard library supports Operating System abstractions for: