Timeline for Why are there so few C compilers?
Current License: CC BY-SA 3.0
17 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Feb 21, 2021 at 16:16 | comment | added | Adrian McCarthy | Update: MSVC supports C11 and C17. By default, it's C89 plus extensions, some of which are in C99. | |
Feb 22, 2015 at 1:30 | comment | added | Jörg W Mittag | @hexafraction: A couple of years ago, the Rubinius folks had this crazy idea of hooking up Clang to the Rubinius JIT (which is after all LLVM-based) in order to cross-language JIT compile C extensions at runtime together with the Ruby code that uses them (LLVM bitcode produced by Clang would be JITted and optimized together with LLVM bitcode produced by the Rubinius JIT, LLVM doesn't care where it comes from), but it was never more than a crazy idea. Well, turns out, it wasn't actually crazy after all! | |
Feb 22, 2015 at 1:26 | comment | added | nanofarad | @JörgWMittag That's fine, no need to apologize. I'm actually currently trying out Truffle independently of C but am far behind what is happening with Ruby at the moment. It does appear to be a promising technology in terms of actually executing C and other languages in the future. | |
Feb 22, 2015 at 1:19 | comment | added | Jörg W Mittag | @hexafraction: "Our C extension work is an early experiment, so the source code isn't available at the moment." Sorry. He does say, though, that they might mail you a preprint copy of the paper if you ask for it. | |
Feb 22, 2015 at 1:11 | comment | added | Jörg W Mittag | @hexafraction: Or maybe not, I couldn't find it at first glance. It would probably be possible to ask one of the Jruby+Truffle developers (Chris Seaton) about it. Note also that there is an upcoming conference paper Dynamically Composing Languages in a Modular Way: Supporting C Extensions for Dynamic Languages.. | |
Feb 22, 2015 at 1:05 | comment | added | Jörg W Mittag | @hexafraction: I believe TruffleC is part of the JRuby+Truffle implementation, which has already been merged into the main JRuby repository. | |
Feb 21, 2015 at 17:29 | comment | added | nanofarad | @Leushenko TruffleC itself is not available, but Truffle is, and can be used for C if you write a parser that generates an AST. | |
Feb 20, 2015 at 10:25 | comment | added | Mike Dimmick | @Morwenn: Microsoft's policy appears to be that C99 solves no problems that C++ had not already solved, and that if you're doing system programming you should be using the C-like subset of C++ (anything that doesn't require the runtime or where you can't control where the compiler is going to put things - important if you need to ensure that code or data isn't paged out from states where paging is disabled). The only features from C99 will be things required in later C++ specs, and those which are no-brainers to implement. | |
Feb 19, 2015 at 23:27 | comment | added | mjaggard | By contrast, I think there really are only two Java compilers (although I do recognise that compiling to bytecode is a completely different ball game) - C actually has more than other languages. | |
S Feb 19, 2015 at 18:12 | history | suggested | Michael Thorpe | CC BY-SA 3.0 |
added sun compiler.
|
Feb 19, 2015 at 18:00 | review | Suggested edits | |||
S Feb 19, 2015 at 18:12 | |||||
Feb 19, 2015 at 9:28 | comment | added | Morwenn | @Leushenko MSVC isn't permanently stuck in C89. There have been some discussions and more C99 features should be added. For starters, most of the C99 library is supported as of MSVC 2015 and a few language features too (mainly the things needed for C++11 though). | |
Feb 19, 2015 at 8:42 | comment | added | Alex Celeste | @Mario my meaning isn't that C89 is broken, but C89 is not the up-to-date form of the language; and that does mean fewer compilers that are up-to-date exist. | |
Feb 19, 2015 at 8:15 | comment | added | Mario | @Leushenko So what? I can write C89 code perfectly fine. You're missing out on some nice things, but if you want to be portable, you most likely still rely on C89 anyway, especially considereing the many servers out there still using some older version of GCC. | |
Feb 19, 2015 at 8:05 | comment | added | Alex Celeste | MSVC is the big C++ compiler, but for C it's hard to use and permanently stuck in C89; microcontroller compilers are usually target-specific, stuck in C89, and quirky; TruffleC doesn't appear to be available yet (but is interesting, thanks). Pathscale and Digital Mars seem more like the kind of counterexamples I was looking for though. | |
Feb 19, 2015 at 6:36 | comment | added | Basile Starynkevitch | Outside of Microsoft Visual C, most of the C compilers you are mentioning are rarely used. | |
Feb 19, 2015 at 6:22 | history | answered | Jörg W Mittag | CC BY-SA 3.0 |