A compiler is software that transforms source code written in a computer language (the source language) into another computer language (the target language, often having a binary form known as object code).
Typically, a programmer writes language statements in a language such as C or C++ using an editor. The programmer then runs the appropriate language compiler, which analyzes the language statements and turns them into machine code that the processor can execute.
Many coders learn to code using a text editor but in time they move towards using an Integrated Development Environment (IDE) as this type of software application makes the art of coding quicker and more efficient. For example, IDEs have semantic knowledge of the programming language which highlights coding problems while typing. Compiling is ‘on the fly’ and debugging is integrated. Our article titled 26 Best Free and Open Source Linux IDEs selects the best Linux IDEs.
The GNU Compiler Collection (which includes C, C++, Objective-C, Fortran, and Ada compilers) is one of the most important tools for the creation of free software, and naturally takes pride of place in this article. However, Linux has a diverse range of other compilers available, many of which are released under freely distributable licenses.
To provide an insight into the quality of software that is available, we have compiled a list of 15 top free Linux compilers. Hopefully, there will be something of interest here for anyone who wants to transform source code into another computer language. Here’s our verdict captured in a legendary LinuxLinks-style ratings chart. They are all open source software.
Click the links in the table below to learn all about each compiler.
Compilers | |
---|---|
GNU Compiler Collection | The standard compiler for most Unix-like operating systems |
rustc | Compiler for the Rust programming language |
AOCC | AMD Optimizing C/C++ Compiler |
LLVM | Low-Level Virtual Machine (LLVM) compiler for C/C++ |
ispc | Intel SPMD Program Compiler |
Glasgow Haskell Compiler | An optimizing compiler for Haskell, written in Haskell |
Clang | C Language Family Frontend for LLVM |
Babel | JavaScript compiler - use next generation JavaScript |
Nuitka | Optimizing Python compiler |
CHICKEN | Compiler for the Scheme programming language |
FreeBASIC | 32-bit BASIC compiler |
Numba | Compiler for Python array and numerical functions |
Free Pascal | Advanced Pascal compiler for Pascal and Object Pascal |
NASM | Assembler for the x86 CPU architecture |
Bigloo | Practical Scheme compiler |
This article has been revamped in line with our recent announcement.
Read our complete collection of recommended free and open source software. Our curated compilation covers all categories of software. The software collection forms part of our series of informative articles for Linux enthusiasts. There are hundreds of in-depth reviews, open source alternatives to proprietary software from large corporations like Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. There are also fun things to try, hardware, free programming books and tutorials, and much more. |
I might have included V or V-lang. It is remarkably fast, results in faster execution code, and surprisingly complete.
V is far too niche.
Which V are you thinking about? Because I think he meant vlang.io. At least 26.000 people have seen it. As seen on the stars of the github repo.
what about MUSL?
Not sure what you’re referring to, as musl is a C standard library implementation.