| ... | @@ -37,6 +37,8 @@ compromises backward compatibility. | ... | @@ -37,6 +37,8 @@ compromises backward compatibility. |
| 37 | syntax. | 37 | syntax. |
| 38 | * The binaries produced by Zig have complete debugging information so you can, | 38 | * The binaries produced by Zig have complete debugging information so you can, |
| 39 | for example, use GDB to debug your software. | 39 | for example, use GDB to debug your software. |
| | 40 | * Debug mode optimizes for fast compilation time and crashing when undefined |
| | 41 | behavior *would* happen. |
| 40 | * Release mode produces heavily optimized code. What other projects call | 42 | * Release mode produces heavily optimized code. What other projects call |
| 41 | "Link Time Optimization" Zig does automatically. | 43 | "Link Time Optimization" Zig does automatically. |
| 42 | * Mark functions as tests and automatically run them with `zig test`. | 44 | * Mark functions as tests and automatically run them with `zig test`. |
| ... | @@ -46,6 +48,8 @@ compromises backward compatibility. | ... | @@ -46,6 +48,8 @@ compromises backward compatibility. |
| 46 | process carefully documented. Issues filed by package maintainers are | 48 | process carefully documented. Issues filed by package maintainers are |
| 47 | considered especially important. | 49 | considered especially important. |
| 48 | * Easy cross-compiling. | 50 | * Easy cross-compiling. |
| | 51 | * Eliminate the preprocessor, but (most) everything you can accomplish with |
| | 52 | the preprocessor, you can accomplish directly in the language. |
| 49 | | 53 | |
| 50 | ## Planned Features | 54 | ## Planned Features |
| 51 | | 55 | |
| ... | @@ -54,15 +58,11 @@ compromises backward compatibility. | ... | @@ -54,15 +58,11 @@ compromises backward compatibility. |
| 54 | * Generics so that one can write efficient data structures that work for any | 58 | * Generics so that one can write efficient data structures that work for any |
| 55 | data type. | 59 | data type. |
| 56 | * Eliminate the need for configure, make, cmake, etc. | 60 | * Eliminate the need for configure, make, cmake, etc. |
| 57 | * Eliminate the preprocessor, but (most) everything you can accomplish with | | |
| 58 | the preprocessor, you can accomplish directly in the language. | | |
| 59 | * Automatically provide test coverage. | 61 | * Automatically provide test coverage. |
| 60 | * Ability to declare dependencies as Git URLS with commit locking (can | 62 | * Ability to declare dependencies as Git URLS with commit locking (can |
| 61 | provide a tag or sha1). | 63 | provide a tag or sha256). |
| 62 | * Include documentation generator. | 64 | * Include documentation generator. |
| 63 | * Shebang line OK so language can be used for "scripting" as well. | 65 | * Shebang line OK so language can be used for "scripting" as well. |
| 64 | * Debug mode optimizes for fast compilation time and crashing when undefined | | |
| 65 | behavior *would* happen. | | |
| 66 | * Compiler exposes itself as a library. | 66 | * Compiler exposes itself as a library. |
| 67 | * Support for all popular architectures and operating systems. | 67 | * Support for all popular architectures and operating systems. |
| 68 | | 68 | |