4 ms·
Ergo, traspiling to a different language is not porting.
by oriolid 4y ago
Ergo, traspiling to a different language is not porting.
- randomdata 4y agoNor is transpiling - or compiling as it is more commonly known - to another CPU architecture or operating system, but that’s not what we are talking about here. The topic of the day is porting. Porting and compiling are quite different.
- oriolid 4y agoPlease see https://en.wikipedia.org/wiki/Source-to-source_compiler https://en.wikipedia.org/wiki/Source-to-source_compiler to see the usual definition of transpiling, and how it is different from compiling and cross compiling (mentioned under "not to be confused with").
- randomdata 4y agoWhat I am to see? This Tcl port is clearly not source-to-source compiled. Everyone in this thread, including yourself as far as I can tell, agree that the product of this port is not usable as the source. The original Tcl codebase written in C remains the source and must be compiled each time it is modified to keep this Go package in sync. Hell, this entire thread started because someone pointed out that the Go target output isn't usable as the source... The Go project's gc compiler was source-to-source compiled from its original C codebase into a Go codebase, which became the new source as the original C code was abandoned. Is this the origin of your confusion? That is a strange place to arrive just because Go is in the title, though. Or is it that you also don't understand what the word source means?
- oriolid 4y agoI don't understand the logic of the argument. Let's go through the claims. First, > Compiling is repeatable, however. Porting is done once. Second, > The original Tcl codebase written in C remains the source and must be compiled each time it is modified to keep this Go package in sync. which implies that it is done more than once. If you are talking about something else than the Go "port" of tcl, it is not really obvious to me what it is.
- randomdata 4y agoI'm not sure what the struggle is here. The terms are well defined and well understood. Porting is the process of adapting software to work in an environment it was not originally designed for. Compiling is the process of transforming code written in one language into another language. In the case in question, Tcl was both ported and compiled to Go. There was a process required to allow the software to run in an environment it was not originally designed for, and there was a process required to transform the software into another language. Said compiler is one of the things that was produced to allow porting to the new environment. The compiler is not the port. Porting is not compiling. We've been over that many times now.
- oriolid 4y agoOk, the confusing parts are first the computing environment: So, Tcl was ported from Unix to Unix. To me they sound the some environment, but I guess you could just claim otherwise. Second: The "port" was achieved by source-to-source compilation and is unmaintainable by itself. Yet somehow "Porting is not compiling." Where exactly is the port?
- randomdata 4y agoIt was ported to the Go environment. Go is not Unix. Go is closest to Plan 9, if anything, but stands as its own thing.
- oriolid 4y agoThis is interesting. Everything I had read so far has pointed to the direction that Go is a programming language.