Nepedia
Back to Discover
Fluent Reader
💻

Software portability

technology Maturity 11-13 war conflict Next article →

This article covers sensitive topics: war_conflict. Parents can manage visibility in Parental Controls.

Software portability is a special goal for people who write computer code. It means designing a program so it can run on many different devices. This is very important because it helps lower the cost of making software. Developers do not want to start from scratch every time.

Utd platforms
Utd platforms

Instead, they want their work to work in many places. A good design keeps the main logic separate from the specific parts of a machine. This way, the core ideas of the program stay the same. This makes it much easier to move the software to a new home.

There are a few different ways to make software move between machines. Sometimes, you can just move files from one computer to another. This works well if the computers have a similar architecture. Other times, developers must perform a task called porting. Porting means building a new version of the program for a new platform.

Utd platforms
Utd platforms

Some software is called "portable software" because it is built to run anywhere. You might use this kind of software on a USB stick. You just plug the stick into a compatible computer to use it. This avoids a long and difficult installation process.

Moving software can be a very hard job for developers. Not all computers speak the same language. For example, most laptops use x86 processors. However, many small devices use a different type called ARM.

Utd platforms
Utd platforms

Even if the code is the same, the screens are different. A program for a large monitor may not fit a tiny smartphone. Web applications solve this by using a language called JavaScript. This allows the program to run inside a web browser. Because of this, web apps can work on almost any device.

History shows us that making code move has always been tricky. In 1978, researchers Thomas B. London and John F. Reiser wrote about this. They studied the UNIX/32V system for a DEC VAX-11/780 computer. They found that the Bourne shell was very hard to convert. It was supposed to be portable, but it was not.

Utd platforms
Utd platforms

Even with modern languages like C or C++, porting is not always easy. Developers often have to rewrite big parts of their code. This happens when the new system has different rules for how it works.

Many things can make a program stop working on a new device. A program might look for a specific file path or a drive letter. If the new computer uses different names, the program will fail. Some languages also have "implementation defined behavior." This means the code might act differently depending on the system. For example, the size of an integer can change between machines.

Utd platforms
Utd platforms

This is why testing is so important for software quality. Developers must ensure their code can handle these many small changes. This keeps the software working for everyone, everywhere.

472 words

Where will your curiosity go next?

Keep exploring at your chosen reading level.

🖼️ Images & Media (1)
File:Utd platforms.jpg
Utd platforms.jpg
More to explore

What is Nepedia?

A free, ad-free encyclopedia for children. Every article is written at five reading levels, so the same page works for a five-year-old and a fifteen-year-old — use the level switcher above to see this one change. No account needed to read.