On Wed, 2011-02-02 at 12:50 -0500, erik quanstrom wrote: > > Even C has a runtime. Perhaps you should look more into how programming > > languages are implemented :-). C++ has one too, especially in the wake of > > exceptions and such. > > really? what do you consider to be the c runtime? > i don't think that the asm goo that gets you to main > really counts as "runtime" and neither does the c > library, because neither implement language features.
A runtime system is just a library whose entry points are language keywords.[1] In go, dynamic allocation, threads, channels, etc. are accessed via language features, so the libraries that implement those things are considered part of the RTS. That's a terminological difference only from Plan 9 C, which has the same features[2] but accesses them through ordinary library entry points so the libraries that implement them aren't called `runtimes'. But I think complaining about a library only because its entry point is a keyword is kind of silly. jcc [1] Or other syntactic features of the language. I'm not aware of any other simplification in this statement; correct me if I'm wrong. [2] Well, C has somewhat less useful versions of the same features. The difference has no significant impact on the size of the relevant libraries.
