2

So, I was reading about the mono c# compiler. I know what the purpose of the apps are, but I was just wondering what the abbreviations stand for. (Also what does gmcs, smcs and csc stand for?)

If I were to take a guess it would be (Something) Mono Compiler Service.

hedgesketch
  • 197
  • 1
  • 2
  • 10

1 Answers1

7

This is what I can surmise from the documentation (and is also in chronological order, earliest to latest):

  • csc = C Sharp Compiler (from Microsoft)
  • mcs = Mono Compiler Service (or potentially Mono C Sharp, but compiler service is spoken about elsewhere, and this compiler is actually written in C#).
  • gmcs = Support for Generics
  • smcs = Support for Silverlight (Moonlight)
  • dmcs = Support for Dynamic

All the compilers also support additional things, but it appears as though the prefix of the compiler command-line name takes the dominant reason for the increase in version.

Adam Houldsworth
  • 63,413
  • 11
  • 150
  • 187
  • 2
    Great explanation. One thing you might want to add is that in modern versions of Mono there is only `mcs`. The `gmcs`, `dmcs` etc. are now just scripts that pass `-sdk:2` (gmcs) or `-sdk:4` (dmcs) to the mcs compiler. They are only included to not break build scripts that rely on them. – Alexander Köplinger Nov 10 '14 at 18:00
  • @AlexanderKöplinger I'll leave your comment to do the explaining :-) – Adam Houldsworth Nov 10 '14 at 21:08