Kcirtap1990 wrote:Alright, I have no idea what the term for this is but I remember reading about it somewhere. I searched around google and wikipedia for a while with no luck, and its bugging the shit out of me. So, a source port is taking one program, and compiling it on a different operating system than it was originally programmed for. Pretty basic stuff. But what is it called when you take a program, and attempt to rewrite the source code in a completely different language. I know its not a very common thing to do (at least in my experience) but a friend of mine and I were talking and this came up and just not knowing the term for it is annoying me to say the least. Anyone know the term?
That's called "cross-compiling."
For instance, when games are built for the Dreamcast, the GCC cross-compiler for the ARM processor is used. This term is common in the embedded system world because the hardware that's used might have an outdated or non-standard chip.
EDIT: I misunderstood you. Either way, I don't recall a more specific term than porting, although wikipedia mentions that porting does not generally refer to writing a program in a different language. I, for one, have always called the process porting, even if a different language is used. (To quote wikipedia, however, they call it, "language conversion or translation").
Here are a few of my own, in alphabetical order:
- Algorithm -- A sequence of instructions. Algorithms are said to be the compliment of data, although some professors claim that the line between data and algorithm is being blurred. If you're a computer science student, it is likely that you'll take an algorithms class sometime before you graduate. (Often times, you'll take two).
- Mutex -- When creating a multi-threaded program, a mutex serves to lock resources. Essentially, it's a flag that signifies whether data can or cannot be accessed.
- Object Oriented Design -- OOD facilitates planning the structure of objects within a program. Typical designs include the observer pattern, singletons, and adapters.
- Recursion -- A term that is used in mathematics, it describes a function that builds upon itself. One problem that can occur with recursion is stack overflow, and it is a technique that tends to be avoided in game development, although it finds use in artificial intelligence.
- Structure and Interpretation of Computer Programs -- A book and lecture series that has become well known in computer science education. Course content is freely available from MIT's website.