← Home ← Back to /g/

Thread 107095485

15 posts 8 images /g/
Anonymous No.107095485 [Report] >>107095508 >>107095636 >>107095760
Give me the real successor to C now.
Anonymous No.107095497 [Report] >>107095621
We've been waiting on that for 50 years now. It's never happening. C refuses to die and shitty languages that miss the point keep popping up.
Anonymous No.107095499 [Report]
D
Anonymous No.107095506 [Report]
awk
Anonymous No.107095508 [Report]
>>107095485 (OP)
Vibecoding
Anonymous No.107095522 [Report]
>Think you can do MATLAB?
Anonymous No.107095621 [Report]
>>107095497
fpbp
Anonymous No.107095636 [Report]
>>107095485 (OP)
Java + GraalVM
Anonymous No.107095760 [Report]
>>107095485 (OP)
c3
Anonymous No.107095791 [Report] >>107095798 >>107095939 >>107095977
why does C need a successor? what is with this niggerfaggot obsession with replacing everything?
Anonymous No.107095798 [Report] >>107095977
>>107095791
progress, change for changes sake
Anonymous No.107095825 [Report]
D
Anonymous No.107095939 [Report] >>107096075
>>107095791
Because it is a language stuck in the 70s. It truly fucking sucks.

For starters, preprocessor was not some fantastic flash of brilliance. It was a coping mechanism imposed on the language by the hardware constraints of the era. In this day and age, no language should still depend on mechanisms like that.
Anonymous No.107095977 [Report]
>>107095791
>>107095798
i want a hard inline directive
it is a thing with gcc, and gcc only afaik, where __attribute__((always_inline)) raises an error if a function with that directive cannot be inlined
but its not standard. so predicting the output boils down to experience

c can be improved upon. but the committee are damaged goods.
Anonymous No.107096075 [Report]
>>107095939
macros are good
90% of them become redundant with the use of force inlines but theyre an excellent mechanizm to abstract ugliness away
like this monstruosity
#define STRINGIFY(target) (t_str *)(&(const struct { size_t size; char text[sizeof(target) + 7]; }){ sizeof(target) - 1, target "\0\0\0\0\0\0\0"})

which turns a string literal into a struct with its size and pads it with 7 (or 8 depending how you count) zeroes, during compile time
its for simd purposes, and to avoid length checks and iterative loops,
i just run the thing through simd until i encounter any amount of zeroes. i pad the thing to avoid buffer overflow