Group: Software/research/ProgrammingLanguages
From LibrePlanet
< Group:Software | research
(→Programming languages: GCC: state version since gcj was supported before) |
(→Programming languages: Add info about if microcontrollers targetting is possible or not. Certain language or compilers produce code that is too big or simply don't support bare metal.) |
||
Line 66: | Line 66: | ||
| {{no}} | | {{no}} | ||
| {{yes|valac uses gcc}} | | {{yes|valac uses gcc}} | ||
+ | |- | ||
+ | ! Microcontrollers<pre>Can we compile code for microcontrollers, if so which compilers are used / necessary for that.</pre> | ||
+ | | | ||
+ | | {{yes| GCC, SDCC}} | ||
+ | | {{yes| GCC, other?}} | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | {{no|depends on glib}} | ||
|- | |- | ||
! Standardized<ref>Having a standard or something similar to refer to enables people to write code that can still be used without requiring too much maintenance to adapt to newer compiler versions.</ref> | ! Standardized<ref>Having a standard or something similar to refer to enables people to write code that can still be used without requiring too much maintenance to adapt to newer compiler versions.</ref> |
Revision as of 18:35, 4 October 2022
Introduction
This page will contain various very biased comparison of status of various software
Programming languages
Feature | Ada | C | C++ | D | Erlang | Fortran | Go | Java | Objective-C | Objective-C++ | Rust | Unified Parallel C. | Vala |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Autoconf | Yes | Yes | Yes | Fortran 77, Fortran 90, Fortran 95 | basic support for gccgo | Yes | Yes | No | |||||
Automake | Yes | Yes | Fortran 77, Fortran 9x | No | with CGJ | Yes | Yes | No | partial | partial | |||
GCC 12 support[1] | Yes | Yes | Yes | Yes | No | Yes | Yes | No | Yes | Yes | Work in progress | No | valac uses gcc |
MicrocontrollersCan we compile code for microcontrollers, if so which compilers are used / necessary for that. |
GCC, SDCC | GCC, other? | depends on glib | ||||||||||
Standardized[2] | ? | Yes[3] | ? | ? | ? | ? | ? | ? | ? | ? | No[4] | ? | ? |
- ↑ Compared with other compilers like LLVM and rustc, GCC supports many CPU architectures and it's quite well integrated with various other software (gdb, gprof, build systems, etc). It also has long term support in mind as it continues to support other programming language standards. It also has good documentation that explain how it handles C code for instance. In addition it's a GNU project, so it has users freedom in mind. In addition Guix has made GCC bootstrapable from a binary that is less than 1KB, and it doesn't require huge resources to build or bootstrap.
- ↑ Having a standard or something similar to refer to enables people to write code that can still be used without requiring too much maintenance to adapt to newer compiler versions.
- ↑ Only the drafts are publicly available though.
- ↑ See one of the two talks on rust in GNU cauldron 2022.