4 ms·
Again, somebody who comes to the realization something is seriously wrong with ultra-complex languages in the SDK (c++ and similar). In other words, since this
by sylware 2y ago
Again, somebody who comes to the realization something is seriously wrong with ultra-complex languages in the SDK (c++ and similar).
In other words, since this alternative LLVM is coded in plain and simple C, it is shielded against those who are still not seeing that computer languages with an ultra complex syntax are not the right way to go if if want sane software.
You also have QBE, which with cproc will give you ~70% of latest gcc speed (in my benchmarks on AMD zen2 x86_64).
- pjmlp 2y agoCough, C23 and C2y roadmp.
- Rochus 2y agoWe are fortunately free to ignore "C23 and C2y" and stick with C89 (with the common extensions) or C99.
- pjmlp 2y agoApplies to any programming language, feel free to use C++ARM for example. Until there is that special library that doesn't care about this target group of developers that want to stay in the past.
- uecker 2y agoWhat are the specific things you do not like about C23 or the C2y road map (whatever this is, it is more random walk)? I have my own list of course, but overall I still have some hope that C2y does not turn out to be a total disaster.
- Rochus 2y agoI've spent too little time with the recent standards/draft to give a specific answer. But I have a general attitude: C89 with extensions or C99 were just perfect for almost any purpuse; newer standards may well correct minor inadequacies or integrate things, that used to be implemented by proven libraries, directly into the language; but the price for these relatively minor improvements is high; people who write supposedly reusable code in the newer standards effectively force all older projects to switch to the newer standard; the costs of this are rarely justifiable. And there is C11 which made mandatory parts of the C99 standard optional, thus breaking backwards compatibility.
- uecker 2y agoIt is great to see some new C tooling emerge. I will likely make my own C FE public some time but it now uses some toy backend which needs be replaced...
- fuhsnn 2y agoThere is no shame in simple codegen if it is correct and unsurprising!
- kibwen 2y agoC itself is an ultra-complex language. I do not understand the mindset of the "C is simple" crowd. Is it nostalgia or romanticism for the past? If we want to devise a truly simple language, we need to start by realizing that C is just the Javascript of its day: hacked together in a weekend by someone who wished they were using a different language and then accidentally catapulted into the future by platform effects.
- Rochus 2y agoWhat aspects do you consider "ultra-complex"? I agree that it has a very strange syntax, many features of it being unknown to most people; but besides that, it's as easy as Pascal, isn't it?
- pjmlp 2y agoPascal doesn't have half as UB as C, or possibilities to memory corruption. Pascal here meaning compilers people actually use, not ISO Pascal from 1976, people love their C extensions after all. A for C's simplicity, one just needs to organise a pub quiz, using ISO, and key extensions as source of inspiration.
- Rochus 2y agoWhen refering to Pascal, I mean something like Turbo, Vax or Apple Pascal, i.e. the version used at the height of popularity. Original Pascal has much less degrees of freedom. And I have no reason to assume that Turbo or Apple Pascal have less possibilities for memory corruption, or are better specified.
- pjmlp 2y agoStarts by having proper strings and array types with bounds checking instead of pointers, followed by memory allocation with types instead of sizeof math, less scenarios for implicit conversions, reference parameters reducing the use cases where an invalid pointer might be used instead.
- 2y ago
- sylware 2y agoWhat's kind of amazing is those people who are "I wrote a small C compiler" and advocating for ultra-complex-syntax computer languages: They know they could _NOT_ have said "I wrote a ultra-complex-syntax computer language compiler"...