From Wikipedia, the free encyclopedia
Jump to: navigation, search
WikiProject Computing (Rated Start-class)
WikiProject icon This article is within the scope of WikiProject Computing, a collaborative effort to improve the coverage of computers, computing, and information technology on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
Start-Class article Start  This article has been rated as Start-Class on the project's quality scale.
 ???  This article has not yet received a rating on the project's importance scale.


I went to #gentoo and asked them how you could deal with non-free packages in Gentoo. I was surprised to learn that Gentoo includes some non-free packages which aren't available in source form, and therefore that Gentoo isn't self-hosting. I'm removing it from the page unless someone can rectify.--Chealer 00:32, 2005 Apr 3 (UTC)

Aren't the non-free ones also non-core/non-essential? If so, then Gentoo could certainly be added to the list. --TheParanoidOne 23:39, 8 Apr 2005 (UTC)

Energy systems?[edit]

I added the paragraph concerning self hosting of energy systems as I have encountered misunderstanding of how renewable energy systems can self host. This concept may have been formalised in connection with software toolchains and operating systems etc. but it is applicable to other fields, and in my view this article should reflect this fact. Copsewood (talk) 21:43, 1 October 2008 (UTC)

Does anyone else use this terminology besides you? --FOo (talk) 08:40, 3 October 2008 (UTC)


Does FASM belong in the list of self-hosting languages? It is an assembler, not a language. —Preceding unsigned comment added by (talk) 14:46, 16 February 2010 (UTC)

Yes it builds itself. You only need FASM to build FASM. Being a language ain't got nothing to do with it. --Frozenport (talk) 04:22, 3 February 2013 (UTC)

How about the web stuff?[edit]

How about self hosted as in "self hosted blog", "self hosted app"? If you do a Google search for "self hosted", except the Wikipedia result you'll see what I'm talking about. Nonsalant (talk) 19:04, 17 December 2008 (UTC)

What about C++?[edit]

According to Bjarne Stroustrup, the first C++ compiler was written in C++, therefore making it a self-hosting language. (Source: So, shouldn't it be added? —Preceding unsigned comment added by (talk) 00:01, 12 December 2010 (UTC)

"Other Meaning"[edit]

I'm sure that's not the right way to deal with multiple meanings. Tesspub (talk) 00:13, 8 August 2011 (UTC)

I've removed it. This expression does appear to be used by some bloggers as meaning "running your own web server rather than using a commercial provider", but it isn't clear to me that there's enough of a topic there to be an article. —FOo (talk) 06:52, 9 August 2011 (UTC)

How about RepRap?[edit]

It is looks like a hardware self-hosting--Nashev (talk) 13:28, 8 September 2012 (UTC)

Java, rly?[edit]

I like to dispute the claim that Java is self-hosting. Sure, the Java API and Java compiler are/can be written and compiled in Java, but the Java virtual machine required to run Java bytecode is still written in a different language that is native to the host system (usually C/C++). --Zom-B (talk) 17:14, 15 November 2012 (UTC)

Java is definitely not self hosting. you still need c/c++ to compile the java runtime components. Ht990332 (talk) 08:23, 12 June 2013 (UTC)

C. Bohm[edit]

Doesn't Corrado Bohm's PhD thesis from 1951 describe an earlier self-hosting compiler than those mentioned in the article? According to [1]: "As remarked by D.E. Knuth in his paper “The early development of programming languages” ...: “Böhm’s dissertation was especially remarkable because he not only described a complete compiler, he also defined that compiler in its own language!..." Gf uip (talk) 18:35, 7 February 2013 (UTC)

c# seems self hosting...[edit]

The .NET framework, what C# is built on, is built on C# (or VB, but doesn't really matter). Shouldn't it be classed as selfhosting? — Preceding unsigned comment added by (talk) 10:24, 16 February 2013 (UTC)

It has to start somewhere[edit]

If the first program to be self-hosted was a LISP compiler, what was the previous LISP compiler compiled against? If it wasn't self-hosted, what was that compiler compiled against, and if that was wasn't self hosted, see where this is going?

If Linux was made on Minix, what was Minux made on (another Unix probably, in which case, what was Unix made on), and what was the OS that Minux/Unix was made on made on?

Security issues[edit]

Neither here, nor in the Bootstrapping (compilers) article, I found a reference to Schneier's "Reflections on Trusting Trust". This security issue should be added somewhere as a warning. — Preceding unsigned comment added by (talk) 10:20, 24 September 2015 (UTC)

It is not clear what Self-hosting means, just see other comments, here is what I understand as the origin of this term[edit]

I do not know the origin of this term, but as many things on life, from time to time things are re-invented and new names used.

Alan M. Turing showed that a computer can be defined to build other computers, even it self. (see Universal Turing Machine, UTM). He discussed his discovery with John Von Neumann, who proposed a concrete architecture for an stored program computer.

Many of the programming languages, since the beginning, where described in a circular fashion, because that was an elegant and practical way to present such an universal (like a UTM) programming language.

Lisp was based in primitive recursive functions, another foundation for the notion of computation, equivalent to Turing Machines, and Lambda Calculus. At the beginning John McCarty, the author of Lisp, just used the syntax of lambda expressions to define functions, but that was his only mistake which later was corrected (because a problem in the way the functions are called and the environment in which they are interpreted).

Lambda calculus had fixed point combinators (Y,Theta, etc.) which allows recursive computations in non-typed lambda calculus. That is an important feature, because in lambda calculus all the functions are anonymous, and a form which transforms Yf in f (Yf) for any formula f of the lambda calculus is needed.

Because primitive recursive functions can be defined in lambda calculus (and vice versa, that is why both are equivalent), lambda calculus was adopted for Lisp, and many of their descendants.

Too much talk, to say that, there is nothing new under the sun. If "self hosting", is just another way to refer to something that is self described, just point to wiktionary. If it is substantially different from other kinds of self-described things, then open a new article comparing each form with others.

Self-hosted / self-hosting has a second, different meaning in IT[edit]

Self-hosted has a second, completely different meaning in IT, namely as the opposite of hosted.

Hosted software is offered ready to use by a supplier; the organization using it does not install or keep it running, but merely uses it through remote access. A synonym for this is Software as a Service.

The antonym for this is self-hosted: self-hosted software is software that could in principle be obtained as SAAS, but isn't; instead, it is installed and kept running by the user or the organization to which the users belong (who are then said to be self-hosting the software).

I don't think this article should go into this use of the term, but it should mention it at the top and refer to relevant articles that do discuss it, such as Software as a Service. Rp (talk) 11:55, 29 June 2017 (UTC)