I had the impression that "front end" refers to the user interface in most cases, but occasionally people also refer to "the front end of a compiler". So what is the difference between these two terms?
-
There isn't any difference. Think about it for a second. Hint: input-processing-output– Robert HarveyCommented Aug 16, 2016 at 2:54
-
A compiler front-end is not a user interface, so in that case they are not equivalent. However when people say e.g. "front-end developer" there is quite a high chance that they are not talking about developing compiler front-ends. I think you need to clarify the context in which the term is being used.– BrandinCommented Aug 16, 2016 at 5:53
3 Answers
Look here: https://stackoverflow.com/questions/9765414/compiler-front-end-back-end
Front end only implies there is also a back end that kicks in after the front end in some sort of transaction. In a web dominated world it typically means UI vs logic with the logic being on a central site. But basically it is about a separation in implementation and order/sequence.
-
1For instance, the front end of a compiler deals with parsing various programming languages and turning them into intermediate code (while the back end turns intermediate code into machine code). But its user interface consists largely of "type the source file name after the compiler name". Commented Aug 16, 2016 at 6:17
No they are not the same. "Front end" is a superset of "User interface."
In a distributed service-oriented environment, a server run by one company may need to send transaction requests and receive responses from the server run by another company. The second company exposes its functionality via services (RESTful, WCF, whatever), which comprise its front end. In this scenario, there is a front end, but no user interface; there is only the service interface.
I would consider a front end a collection of possible user interfaces. I would also consider my front end any part of my program not on my server because that is my back end.