Computer programming on Ubuntu is easier than on most non-Linux operating systems. This makes it easier to program your computer yourself instead of using a purely out-of-the-box solution. For those with no experience, however, computer programming can get a bit daunting not least because there are so many ways to do it. There are at present some 57 programming paradigm and meta-paradigm characteristics in use. Many of these exist on the fringe, however, and only two dominate almost all mainstream programming today. This begins a brief guide to those two computer programming paradigms: functional programming and object-oriented programming.
Before proceeding with the programming styles themselves, it is worth understanding what a programming paradigm is. Computers need developers or programmers to provide structure and direction. Otherwise, they are as dumb as the components of which they are made. The structures and directions are provided in different programming languages and systems.
In this, computer programming paradigms may be likened to genres of literature, or types of writing. One could take a shopping list and, with a bit of effort, rewrite it as poetry or a play or any of several genre of writing. We don't typically do that because certain genres lend themselves to certain tasks more readily than others. Similarly, different programming styles lend themselves to different tasks more readily than to others. For example, medical firmware is often written in a procedural language called Forth for that language's ease and reliability. Many computer games are written in C or C++ for speed. Mobile development is often done in Java for its portability. Web development is usually done in an interpreted language like PHP.
Programming paradigms, like languages and technologies, are more or less tools of the trade: which you use depends on what you need to do. With that said, let's move on to functional programming, or feel free to skip over to object-oriented programming.
Get up to speed on computer programming:
Programming Paradigms | Functional Programming | Object-Oriented Programming | PHP |