back
user profile
uecker
2,147karma·1,822submissions·April 14, 2020
about
Computational Magnetic Resonance Imaging, Real-time Magnetic Resonance Imaging, GCC Contributor, BART Toolbox, Member of ISO C WG14
recent activity (1,822 total)
comment
It is not a benefit if you do not get warnings about unused functions. With any proper library, you would also not get warnings for functions that are part of the API that are not used, but you would …
comment
They are certainly bad vendor toolchain, but I want to push back against the idea that this is a general C problem. But even for the worst toolchains I have seen, dropping in a pair of .c/.h wo…
comment
I never copied my dependencies into my C project, nor does it usually take more than a couple of seconds to add one.
comment
Na, there are only three classes: stuff where you need simplicity, fast compilation times, portability, interoperability with legacy systems, or high-performance - C. Stuff where you need perfect mem…
comment
With VLAs which are standardized, safer, and scoped.
comment
Why alloca?
comment
Is there any experience on how this works in practice?
comment
I am very happy with my string type in C.
comment
What language features would make C better as a target language for compilers?
comment
But it does not have to be "as easy as int" to be able to be productive in C. Almost as easy is sufficient.
comment
Yes, but I do not think this is a good thing. A programming language has to fulfill many requirements, and convenience for the programmer is not the most important.
comment
Is there still any non-LLVM C++ compiler left besides GCC? LLVM is not exactly known for its speed.
comment
For many string operations such as appending, inserting, overwriting etc. the memory management can be made automatic as well in C, and I think this is the main advantage. Just automatic free at scop…
comment
Of course, but gcc with -O0 is still slower and there is no TCC for C++.
comment
Ah, the C++ guy who think you need all the features of C++ to be efficient... Many people of people are super productive in C. There is a cost, but this is usually just some initial overhead to iden…
comment
This is great! This so rare that people remove the complexity again that has accumulated over the years. Most of the programming world is just accumulating entropy and then people give up and start fr…
comment
I would argue that is is much harder to find a group of C++ programmers who write a coherent style of C++. In C there is not nearly as much to decide. Note also that I am speaking from experience wi…
comment
We run valgrind and asan as part of the CI, so it is checked before every merge and no developer has to be particularly diligent. But it is also not something that triggers a lot.
comment
This seems orthogonal to std::string. People who pick C do not want automatic memory management, but might want better strings.
comment
TCC - just like many other C compilers - supports many GNU extensions.
comment
Yes, but this is more a theoretical problems while references are common in C++.
comment
Maybe it is similar for the same compiler (but one should check, I suspect C could still be faster), but then there are much more C compilers. For example, TCC is a lot faster than GCC.
comment
Sure, but you can have a similar string abstraction in C. What would you miss? The overloaded operators?
comment
I think it is simpler and "the compiler not helping" == "things are more transparent". int a = 3;
foo(a);
// What value has a ?
There are various things one d…
comment
why not std::string?
comment
Some subtle and some not so subtle.
comment
Why do you think working with a group of people on a C codebase introduces pain unlike other languages? Working with a group of people always causes pain, but I found the pain much less severe for C …
comment
C compilers can emit SIMD instructions just fine and often have extensions to support writing it explicitly. Also few other languages have explicit support for them from the start and most have added …
comment
I meant there is a lot more new low-level C code being developed than Rust code.
comment
There is also still a lot of low-level proprietary code developed in C. I would guess far more than what is developed in Rust. I fully agree about your last point. The proposed solutions to some of th…