What is Porting?
An Article About Software Porting Written by a Human
I think humans are programmed to underestimate: The time something will take, severity of issues, costs, how connected/influential someone is, how permanent something is, what’s possible given any resource.? You might even underestimate this article; you might estimate that it’s going to be about Estimation.
But it’s not, it’s about Porting.? Now, what the **** (insert favourite 4 letter word here) is “Porting”? If you have a background in seafaring, you might think that it has something to do with a sea Port.? And you wouldn’t be wrong – if you replaced the “sea” with “C” (see, could AI have written that?!)
Now if you’re in the telecommunications field, you might have heard of phone number porting.? Essentially, when one phone number is transferred to a different provider.? Often a great thing to consider and do, but I really want to focus on “porting” as it is used in the field of software engineering.
Essentially, think of programs (software) being designed for a particular computing environment. Maybe you want to use the program on a different environment than that for which it was originally designed and programmed.? This could be a different operating system, architecture, library, etc.? It can be seen as a form of technological adaptation.? Maybe you want to run Minecraft on a calculator:
领英推荐
Minecraft was not originally designed or programmed to run on a calculator, but it’s still possible and frankly, awesome.
An alternative to porting is to write the program anew from scratch, but this rarely has benefits over porting it.? Porting becomes more straightforward with the use of standards, for example, those developed by the International Organization for Standardization (ISO), which allow conforming platforms to mostly install and run the same way in different environments.
If you’re into Automation, there are even automation tools to help with porting.? For example, Autotools can help you find subtle variations in environments and help adapt the software before even compiling.
With skill, patience, a desire to learn, and understanding the possibilities, porting opens doors for interoperability and innovation!? Try a port today, and maybe even one that isn’t related to Windows, macOS, or Linux.