3 ms·
> The problem is that usually not very human readable C comes out of it The x86 assembly or LLVM intermediate representation that comes out of most compiler is
by loup-vaillant 10y ago
> The problem is that usually not very human readable C comes out of it
The x86 assembly or LLVM intermediate representation that comes out of most compiler is not very human readable, but I don't see anyone having any problem with it whatsoever. Readability of generated code was never the point of C using C as a back-end. The point is portability and tooling.
By the way /u/jjnoakes can suggest fancy languages and compilers, if only they can generate native code on obscure platforms (I guess, something other than x86 and ARM). Generating C code (even utterly unreadable C code) would solve his problem.
- jjnoakes 10y agoRemember, it isn't only the architecture. It is also the calling conventions and object/shared library/executable file format. All things that require work if I cross compile, but all things I get for free if I generate C or C++. I would prefer readable C or C++ as much as possible because it gives me debugability if the code generator goes wrong and it gives me an out if I want to move away from the language some day.
- loup-vaillant 10y agoWell, there aren't many solution out of this hole. If you need another language, you might have to write (and control) the compiler yourself. As in, if the code generator (or anything else) goes wrong, you can correct it. <sarcasm> Now this might require a little bit more work. </sarcasm>
- jjnoakes 10y agoThe solution I mentioned in my original post gets me out if this issue, as does the one in the article that this hn post is all about.