mirror of
https://codeberg.org/ziglang/zig.git
synced 2025-12-09 15:19:07 +00:00
readme update
This commit is contained in:
parent
d8da34c64c
commit
eb00aa21f5
1 changed files with 11 additions and 12 deletions
23
README.md
23
README.md
|
|
@ -1,13 +1,13 @@
|
||||||
# zig lang
|
# zig lang
|
||||||
|
|
||||||
A system programming language intended to replace C.
|
A system programming language which prioritizes optimality, safety, and
|
||||||
|
readability.
|
||||||
|
|
||||||
Zig intends to remain a small language, yet powerful enough to write
|
Zig is a small language, yet powerful enough to solve any computing problem.
|
||||||
optimal, readable, safe, and concise code to solve any computing problem.
|
|
||||||
|
|
||||||
Porting a C project to Zig should be a pleasant experience - every C feature
|
Zig intends to replace C. Therefore, porting a C project to Zig should be a
|
||||||
needs a corresponding Zig feature which solves the problem equivalently or
|
pleasant experience. For every use case C can solve, the same use case must
|
||||||
better.
|
be handled in Zig in an equally or more satisfying way.
|
||||||
|
|
||||||
Zig is not afraid to roll the major version number of the language if it
|
Zig is not afraid to roll the major version number of the language if it
|
||||||
improves simplicity, fixes poor design decisions, or adds a new feature which
|
improves simplicity, fixes poor design decisions, or adds a new feature which
|
||||||
|
|
@ -30,8 +30,9 @@ compromises backward compatibility.
|
||||||
than writing buggy code.
|
than writing buggy code.
|
||||||
* No header files required. Top level declarations are entirely
|
* No header files required. Top level declarations are entirely
|
||||||
order-independent.
|
order-independent.
|
||||||
* Powerful constant expression evaluator. Generally, anything that *can* be
|
* Compile-time code execution. Compile-time reflection.
|
||||||
figured out at compile time *is* figured out at compile time.
|
* Partial compile-time function evaluation with eliminates the need for
|
||||||
|
a preprocessor or macros.
|
||||||
* Tagged union enum type. No more accidentally reading the wrong union field.
|
* Tagged union enum type. No more accidentally reading the wrong union field.
|
||||||
* Generics so that one can write efficient data structures that work for any
|
* Generics so that one can write efficient data structures that work for any
|
||||||
data type.
|
data type.
|
||||||
|
|
@ -44,14 +45,12 @@ compromises backward compatibility.
|
||||||
* Release mode produces heavily optimized code. What other projects call
|
* Release mode produces heavily optimized code. What other projects call
|
||||||
"Link Time Optimization" Zig does automatically.
|
"Link Time Optimization" Zig does automatically.
|
||||||
* Mark functions as tests and automatically run them with `zig test`.
|
* Mark functions as tests and automatically run them with `zig test`.
|
||||||
* Supported architectures: `x86_64`, `i386`
|
* Currently supported architectures: `x86_64`, `i386`
|
||||||
* Supported operating systems: linux
|
* Currently supported operating systems: linux, macosx
|
||||||
* Friendly toward package maintainers. Reproducible build, bootstrapping
|
* Friendly toward package maintainers. Reproducible build, bootstrapping
|
||||||
process carefully documented. Issues filed by package maintainers are
|
process carefully documented. Issues filed by package maintainers are
|
||||||
considered especially important.
|
considered especially important.
|
||||||
* Easy cross-compiling.
|
* Easy cross-compiling.
|
||||||
* Eliminate the preprocessor, but (most) everything you can accomplish with
|
|
||||||
the preprocessor, you can accomplish directly in the language.
|
|
||||||
|
|
||||||
## Planned Features
|
## Planned Features
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue