Revision as of 00:14, 6 June 2007 edit81.86.54.109 (talk) →Story about "ports"← Previous edit | Revision as of 00:57, 6 June 2007 edit undoPi Delport (talk | contribs)Extended confirmed users10,053 edits →Story about "ports": note Latin rootNext edit → | ||
Line 62: | Line 62: | ||
:: I agree with what you say. In the days when systems were incompatible, the file transfer was a critical technical issue to overcome, as the first stage of any migration, with the following stages of adjusting the code, massaging the data, recompiling etc as you say. Note the serial port is used in the first stage. Also, a "port" would have been attempted with data before someone attempted it with code - the serial port would have still been used, however. This is why I'm certain of my story. I cannot find a reference though, not even in the jargon file, its glossary has no entry for porting at all. That's just what we called it, when that was the way a migration was done, because no other options were available as almost everything was incompatible with everything else. ] 00:14, 6 June 2007 (UTC) | :: I agree with what you say. In the days when systems were incompatible, the file transfer was a critical technical issue to overcome, as the first stage of any migration, with the following stages of adjusting the code, massaging the data, recompiling etc as you say. Note the serial port is used in the first stage. Also, a "port" would have been attempted with data before someone attempted it with code - the serial port would have still been used, however. This is why I'm certain of my story. I cannot find a reference though, not even in the jargon file, its glossary has no entry for porting at all. That's just what we called it, when that was the way a migration was done, because no other options were available as almost everything was incompatible with everything else. ] 00:14, 6 June 2007 (UTC) | ||
This story sounds like a ] to me. The relevant ] of the English word (meaning to carry, bear, or transfer over) actually dates back all the way to ancient Latin ''portare''. --] 00:57, 6 June 2007 (UTC) |
Revision as of 00:57, 6 June 2007
I did a full rewrite rather than edit; judgment call. I felt the original article was not very clear, and contained a number of factual errors. I think I managed to retain the tone and general outline pretty well though. Coren 17:41, Jan 2, 2004 (UTC)
I've always percieved the term port and associated words a colloquial term, possibly even an abbreviation. If this is the case, it ought to be mentioned. Some insight by someone with more programming experience would help. --BigBlueFish 10:58, 5 October 2005 (UTC)
I am very disturbed by the way this page has been written. Let us start with precise definitions:
- Porting means: the act of moving software from one system to another in a functional way.
- A piece of software/media is portable if: it can be moved to multiple systems without significant modification.
- Portability means: the degree to which a piece of software can be ported (by measure of effort).
It is important to note that portability does not refer to the number of platforms something can be ported to. If software runs on a wide variety of platforms, it is more correct to say that it is widely available on or compatible with many systems. Portability refers to an inherent property of the program, not the availability (beyond 2) of platforms.
This point is most clearly seen when one thinks about .NET or Java applications. Programs written for those platforms are typically more portable than most applications written in C even though its possible for C programs to be deployed to more compatible platforms. C programs will typically make assumptions (ints > 16 bits, 2s complement math, exploiting undefined/implementation defined behavior, etc) that cannot even possibly be made in Java, for example, even though the resulting C application may be deployed on many more platforms than a Java bytecode interpreter exists for.
- A programming language can be portable in one of various senses:
- 1. It is possible to write programs in the language such that source code is portable.
- 2. It is possible to write programs in the language such that object code is portable.
- 3. Most programs written in that language have high portability.
By specification, the C language basically fits in category 1, Java fits in category 2, and Python/LUA fits in category 3. C is in an extra special category, however, because of the plethora of implementation defined behavior in the language. C source can be portable in the sense of being able to compile on many platforms, but without retaining semantic portability (in ways that are beyond mere resource limitations). C++ ends up having all the same problems as C, for obvious reasons, but adds a new layer of problems since its such a big language. Very few C++ compiler vendors implement the language exactly to the specification.
I think the article needs to be significantly revamped to include this kind of background. Also get rid of the nonsense about Game Programs -- they are the same as any other program. Qed 02:46, 28 January 2006 (UTC)
Rename to Software portability
Any objections? --Piet Delport 16:00, 29 June 2006 (UTC)
- This is a good idea. Porting is really not a good title. Moreover, this article really doesn't do justice to the concept of software portability, which is such an important and rich topic in the field. Perhaps we take the portability of C compilers for granted today, but multi-target compilers, and the ability to write applications that can run on many platforms, is really a big deal. Trevor Hanson 20:54, 18 April 2007 (UTC)
- On further reflection, I think porting and software portability are distinct topics, each deserving an article. The former is about moving an application to a new platform; the latter is about multi-platform software technology, e.g. retargetable compilers. I have put in some maintenance tags to this effect. Trevor Hanson 21:06, 18 April 2007 (UTC)
- I agree, they are two separate topics and should not be merged. Porting is what you do when you do not have portability. Lsi 21:03, 5 June 2007 (UTC)
Another meaning of porting
Porting is also the pratice of putting holes into the barrel of a gun to reduce recoil and lower bullet speed. While software porting is probably the most common use, maybe there should be a porting disambiguation page? (I would make one but I am not sure how and don't want to break wikipedia)
205.149.71.236 19:15, 17 April 2007 (UTC) Trent
This is a mess
The words "portable" and "portability" are very general. The specific vocabulary has to be fleshed out here.
For example: Java is a system-portable programming language because it runs on different hardware systems using different operating systems.
Example 2: The data set for a Lucene (Java) search is compatible with the Lucene.net application; so Lucene data sets are application-portable between different platform versions of Lucene.
Example 3: Miranda IM is a self-contained Windows application; all software required for execution, other than the OS itself, is included in the Miranda IM directory. Since its operation (configuration, data storage, etc) is dependent on any Windows OS, but not a certain one, it is Windows OS-portable.
Example 3: "for(;;;){x++}" code compiles and works in both C and C++ languages; therefore it is programming language-portable between these languages.
The action of "porting" code from one language or platform to another is a different topic than the above types of computer software portability.
Story about "ports"
A recent contributor added a story about porting which claimed that the word comes from the use of the serial port to transfer files. Well, first of all, porting is not file transfer -- it is about transferring to a different operating environment, including processor, libraries, or operating system. This typically involves rewriting parts of the system, configuring it differently, recompiling it, etc. File transfer is not considered part of the process, though obviously it has to happen at some point. Secondly, people talked about software portability and porting long before there were PCs with serial ports, by the early 1960's at least. So I have removed this unreferenced and implausible claim. --Macrakis 21:28, 5 June 2007 (UTC)
@Macrackis, no, I claimed the the word comes from the use of the serial port to transfer files between incompatible systems. First of all, how do you effect a migration to a new environment without using a file transfer? Sourcecode and datafiles are files that need to be transferred to the new environment. Second of all, how are you gonna do this when your systems are incompatible, and you have no network? You use the serial port, friend! And lastly, I didn't mention PCs, you did. I said serial port, that means RS-232 and 1969 according to RS-232. However I do concede I can't reference my "story", I just told it how I did it back then. So I have left it removed. 81.86.54.109 23:38, 5 June 2007 (UTC)
- I agree that file transfer between systems was not always easy, especially with different word sizes, byte sizes, tape formats, etc. But that is file transfer, not porting. It's all well and good to get the bits from a GE-645 to a PDP-10, but that won't make your application run. --Macrakis 23:55, 5 June 2007 (UTC)
- I agree with what you say. In the days when systems were incompatible, the file transfer was a critical technical issue to overcome, as the first stage of any migration, with the following stages of adjusting the code, massaging the data, recompiling etc as you say. Note the serial port is used in the first stage. Also, a "port" would have been attempted with data before someone attempted it with code - the serial port would have still been used, however. This is why I'm certain of my story. I cannot find a reference though, not even in the jargon file, its glossary has no entry for porting at all. That's just what we called it, when that was the way a migration was done, because no other options were available as almost everything was incompatible with everything else. 81.86.54.109 00:14, 6 June 2007 (UTC)
This story sounds like a folk etymology to me. The relevant sense of the English word (meaning to carry, bear, or transfer over) actually dates back all the way to ancient Latin portare. --Piet Delport 00:57, 6 June 2007 (UTC)