Definition of

Portability

PortabilityThe notion of portability refers to the portable condition. This adjective (portable), meanwhile, refers to what is portable : that is, it is movable or can be easily moved .

The concept has several uses. One of the most frequent is linked to the possibility of changing cell phone ( mobile ) company without losing the phone number .

This portability involves the transfer of a number from one company to another. The user, in this way, stops being a customer of one operator and begins to use the service of another, although maintaining the same telephone number (the one used with the first provider).

In Argentina , for example, number portability is a right of all mobile phone users. Companies are required to complete the process in no more than one business day and with a service interruption of less than three hours.

With portability, telephone corporations are expected to compete with each other to offer better services and prices . The possibility of keeping the number means that the client is not tied to any one in particular.

The idea of ​​portability is also used in the field of computing . Within the framework of high-level programming , we talk about portability to name the property of the program that can be executed on different platforms .

With portability, therefore, it is possible to reuse the source code of software created for a certain platform on a different one. Platform dependency increases as portability decreases.

Therefore, portability speaks of the relationship that exists between a program (which can be of any type, from a desktop application to a video game) and the platform on which it can be run, understood as a device or a system. operational. That said, we can recognize two extreme cases: absolute portability, in which a program could run on any platform, and null, the absolute dependence of the program on a particular platform.

PortabilityIt should be noted that although the most common definitions of portability refer to the source code of the program, this gives rise to an erroneous interpretation, since in this concept it is not the code that matters but the program and its requirements to be executed . Different is the case of the .NET family, a platform-independent framework created by Microsoft, and Java , one of the most popular programming languages ​​in the world, which run the code in virtual machines, opening the doors to using the same source. on different operating systems .

For portability to occur, a key requirement must be met: a generalized abstraction must exist between the interfaces of the system on which it is intended to run and the logic application; This means that the programmer must be able to see the same code even if it is very different once compiled. Here you can also talk about cross-platform programs, those that can compile on more than one platform, such as x86, amd64 or IA-64.

Since software development is a task that can span several years and involve the collaboration of dozens of employees, portability can become one of the keys to reducing costs in the short term (focusing all resources on one project that will later generate more than one product) and in the long term (when money comes in from its different versions to cover all expenses and make profits).

Interpreted software does not need to be compiled for each platform, since its instructions are read at runtime by an interpreter , which converts it to machine language .