"The good news about computers is that they do what you tell them to do. The bad news is that they do what you tell them to do."

-- unsure; often attributed without source to information philosopher Ted Nelson

Software development

Software development guidelines by Ken Gaillot

Language and operating system choice

Language choice

The most basic choice in software development is what programming language or languages to use. This is a matter of personal preference, rising to the level of religion among some programmers. However, there are important considerations:

Operating system choice

After choosing a programming language, the next major choice is choosing the development platform(s). For many programmers, the choice is restricted to what happens to be in front of them. Any Unix-like operating system, enhanced by GNU development tools, provides a decent development environment.

Some programs will necessarily be specific to one or a few operating systems, due to requiring special operating system features. However, most programs benefit from minimizing their use of OS-specific features.

See the guidelines for Installing and Portability for practices that will help minimize system dependence.


Security

There aren't many security considerations in language choice. However, bugs are potential security holes, so any language that promotes good programming practices is better from a security perspective.