GCC and LLVM - What's in a licence?
Richard Hillesley discusses the pros and cons of the GCC and LLVM compiler collections, and the difference a licence makes.
Computer languages have standards, but the standards of computer languages are often fallible, especially when programmers find work arounds and short cuts. Every programmer who has ever compiled identical software on different compilers on different machines will know that there can be frustrating and inexplicable imperfections and inconsistencies between one machine and another, and one compiler and another.
In recent years the GCC developers have become sticklers for abiding by ANSI standards, although this wasn't always the case. Like most commercial compilers, a number of 'improvements' and extensions were written into the GCC C compiler. The difference was that GCC was portable across a wider range of architectures.
A common compiler simplifies these issues and ensures compatibility and portability across a range of platforms, and has ensured the continued and growing popularity of GCC, or so the theory goes. Cygnus Solutions, which was formed to promote free software in commercial environments and became part of Red Hat, made healthy revenues for many years as a consultancy and software forge for device manufacturers who wished to port GCC, as a C/C++ compiler, to new architectures and devices.
GCC and LLVM provide an easy route for the necessity to get a compiler working on a new device. Write to the language specifications of a common compiler and it becomes easier to overcome portability issues. A secondary benefit, from the point of view of advocates of free software, is that GCC has been a vehicle for spreading the idea of free software - and this notion has always been at the heart of GCC development.
In This Article
Navigating the new normal: A fast guide to remote working
A smooth transition will support operations for years to comeDownload now
Leading the data race
The trends driving the future of data scienceDownload now
How to create 1:1 customer experiences at scale
Meet the technology capable of delivering the personalisation your customers craveDownload now
How to achieve daily SAP releases
Accelerate the pace of SAP change to support your digital strategyDownload now