Most Linux distributions support dozens of programming languages. The original development
tools used for building both Linux applications and operating system programs are found within
the GNU toolchain, which includes the GNU Compiler Collection (GCC) and the GNU build
system. Amongst others, GCC provides compilers for Ada, C, C++, Java, and Fortran. First
released in 2003, the Low Level Virtual Machine project provides an alternative open-source
compiler for many languages. Proprietary compilers for Linux include the Intel C++ Compiler,
Sun Studio, and IBM XL C/C++ Compiler. BASIC in the form of Visual Basic is supported in
such forms as Gambas, FreeBASIC, and XBasic.
Most distributions also include support for PHP, Perl, Ruby, Python and other dynamic
languages. While not as common, Linux also supports C# (via Mono), Vala, and Scheme. A
number of Java Virtual Machines and development kits run on Linux, including the original Sun
Microsystems JVM (HotSpot), and IBM's J2SE RE, as well as many open-source projects like
Kaffe and JikesRVM.
1. Low cost: You don‘t need to spend time and money to obtain licenses since Linux and
much of its software come with the GNU General Public License. You can start to work
immediately without worrying that your software may stop working anytime because the
free trial version expires. Additionally, there are large repositories from which you can
freely download high quality software for almost any task you can think of.
2. Stability: Linux doesn‘t need to be rebooted periodically to maintain performance levels. It
doesn‘t freeze up or slow down over time due to memory leaks and such. Continuous uptimes of hundreds of days (up to a year or more) are not uncommon.
3. Performance: Linux provides persistent high performance on workstations and on
networks. It can handle unusually large numbers of users simultaneously, and can make old
computers sufficiently responsive to be useful again.
4. Network friendliness: Linux was developed by a group of programmers over the Internet
and has therefore strong support for network functionality; client and server systems can be
easily set up on any computer running Linux. It can perform tasks such as network backups
faster and more reliably than alternative systems.
5. Flexibility: Linux can be used for high performance server applications, desktop
applications, and embedded systems. You can save disk space by only installing the
components needed for a particular use. You can restrict the use of specific computers by
installing for example only selected office applications instead of the whole suite.