Worst ideas/features in programming languages?

Kagamin spam at here.lot
Tue Oct 12 08:23:59 UTC 2021


Usage of unsigned integers as positive numbers.
cf. dotnet uses signed integers and the sky doesn't fall (it's 
32-bit int most of the time even). Granted some C and posix 
functions use signed integers when they need to return -1 
sentinel value. Recently I ported an oldish program to 64 bits, 
naturally it used narrowing conversions everywhere, but it was 
mostly signed integers, those aren't very sensitive to narrowing 
and extension. But the program crashed; when I looked at the 
cause, it was STL's string::find method returning unsigned 
integer even though it returns a sentinel value string::npos when 
the searched string isn't found, and the program there converted 
the returned value to uint, but then 
string::npos!=cast(uint)string::npos - unsigned integers are 
sensitive to extensions.


More information about the Digitalmars-d mailing list