I still like C and strongly dislike C++
> The reason why I still like C is that it is a simple language. Simple in a sense that it is easy to express ideas and what to expect from it. For example, if you want to retrieve an array value with two offsets, one of which can be negative, in C you write arr[off1 + off2] while in Rust it would be arr[((off1 as isize) + off2) as usize].<p>There's an argument to be made that C is a simple language compared to some, I'll grant that. But implicit casts and the integer promotion rules really aren't a good example of simplicity. <i>Terseness</i>, sure, but not simplicity. For example, from <a href="https://www.cryptologie.net/article/418/integer-promotion-in-c" rel="nofollow">https://www.cryptologie.net/article/418/integer-promotion-in...</a><p><pre><code>    uint8_t start = -1;
    printf("%x\n", start); // prints 0xff
    uint64_t result = start << 24;
    printf("%llx\n", result); // should print 00000000ff000000, but will print ffffffffff000000
    result = (uint64_t)start << 24;
    printf("%llx\n", result); // prints 00000000ff000000
</code></pre>
There are good reasons why e.g. Go, which prioritizes simplicity very highly, does not allow implicit integer casts.