Linux Programming Support
Damn Small Linux is an ideal platform to support a wide range of programming languages. You can even program directly in Linux via a programming shell such as Bash. Among the major programming languages used in the Linux environment are C, C++, and Java. If you are developing for the Internet you may be using PHP, a web programming language and MySQL, a language for database system development. All these programming languages are also available in the Windows environment. So the question arises, why would you want to program under Linux rather than under Windows?
Many web developers and Internet service providers feel that Linux provides a more stable web site environment than does Windows. The most widely used web server, Apache, is available under both these operating systems but its new features, security enhancements, and bug fixes are always available first on the Open Source (LAMP) version. And then they filter down to the Windows version. At the time of this writing the Windows version of Apache has problems with its cryptographic functions.
Historically Unix used the Bourne shell, the C shell which resembles the C programming language, and the Korn shell. Linux’s most widely used shell is Bash, also spelled BASH, the (Bourne-Again Shell). Damn Small Linux offers many shells but most people go with Bash both to communicate interactively with the operating system and to write programs known as shell scripts. If you program in Linux no matter which programming language you use you should learn some Bash specifics.
Many Linux programmers must master these client-server concepts.
While programming languages are essentially the same across the Linux and Windows platforms, their libraries are quite different. Basically, when you write complicated programs you want to make use of as much prewritten software as possible to reduce your programming and debugging effort. One example is handling the graphical user interface. As programmers often say, why reinvent the wheel? Linux provides a wider choice of libraries and graphical user interface toolkits.
When you program in Linux it is often fairly easy to port your programs to the Windows environment. Unfortunately, the inverse is rarely true. Of course as Linux systems become more popular, you will find more and more Windows-based programming systems that enable you to convert your programs to run under Linux. Doing so makes clear economic sense.
Program conversion tools may be difficult to develop. For example, programs in the course of execution must access the actual computer hardware. As you may imagine Linux and Windows programs access hardware quite differently. The modules that manage hardware access are called drivers. Linux drivers tend to be of higher quality than Windows drivers.
Linux and Windows differ substantially in how they manage programs in the course of execution. In other articles we discussed Linux’s increased security compared to Windows. We conclude this article by repeating a point that we have often made; you can run Damn Small Linux and associated applications on very reduced hardware. You can do Linux, PHP, and MySQL development on old computers, ones that may have seemed ready for the garbage heap. In contrast many Windows competitors such as SQL Server Developer Edition require substantially more powerful computers, the kind of computers that people purchase for one or a few thousand dollars. Please note, when your programs will be used by dozens of people simultaneously, you will need powerful hardware. Don’t forget the operating system; we recommend Linux.
Our next subject is the graphical user interface.
Click for the first article in this series.