You want to do some C programming but the fact that C embedded automatic Garbage Collector will make debugging harder and is not quite effective when making system programming, such an alternative is to use Cyclone language
It was designed to be a safe dialect of C language, eliminating the risk of buffer overflow and is less vulnerable to bugs, endemic to C programs. Like C, it uses the same syntax, pointers arithmetic, arrays and also possesses additional features such as pattern matching, optional garbage collection, algebraic data types and a region base memory management.
Why using Cyclone?
Cyclone is as efficient and powerful as C, it provides the same flexibility (memory layout is easily manage) when doing system programming, resulting in the creation of bugs free (double free bugs, format string attack, buffer overflow) programs.