Talk:Self-hosting (compilers)

Latest comment: 1 year ago by Smjg in topic Title

This article should be merged with bootstrapping edit

Most of content of this article would be better in the Bootstrapping (compilers). It is true that self-hosting is a slightly more generic concept (e.g. git being used to do version control of git, and an operating system being used to develop the next version of itself). It is also true that self-hosting is a better term for long term reflexive usage, whereas bootstrapping makes more sense for the start of the process. However having just one article with a redirect to the other would be better.

The title of this article also suggests that it only applies to compilers, making the argument for merger with [[Bootstrapping (compilers)] all the stronger.

Both articles have lists (different) of self-hosting languages. — Preceding unsigned comment added by Timothyclethbridge (talkcontribs) 14:24, 15 August 2019 (UTC)Reply

I agree. Murray Langton (talk) 16:37, 7 December 2021 (UTC)Reply
Oppose, the argument again being those made when the split (proposed by Trialpears) was made back in 2017: see Talk:Self-hosting#Split suggestion. Klbrain (talk) 15:07, 12 December 2021 (UTC)Reply
Not exactly the same argument but easy to see where the confusion arises as the original split wasn't done as asked.
Previously the difference pointed out was between self-hosting (web services) and bootstrapping compilers, termed self-hosting (compilers), which I think happened. But the argument wasn't to then also have two compiler articles; it was to merge the compiler related information from bootstrapping (compilers) into self-hosting (compilers), leaving a redirect in it's place, which is what is being re-proposed here. In effect it's a correction and should be done. Another reason - there is also a separate general bootstrapping article. Hcfjmp (talk) 23:47, 2 May 2022 (UTC)Reply
Oppose, self-hosting doesn't just apply to compilers, but to operating systems and even entire computers, as the ROM on many 8-bit computers was largely indivisible from the hardware. This is a discrete concept that should not be conflated specifically with compiler design. A compiler or assembler is not necessarily needed to build an operating system, as has been proven by the many people who hand-assembled code for early computers like the Altair 8080 or development boards like the Intel SDK-80 or KIM-1. -- TomXP411[Talk] — Preceding undated comment added 20:49, 12 July 2022 (UTC)Reply

Title edit

The title is too specific. Almost any kind of software development tool (designed as such or not) can be part of the toolchain used to produce new versions of itself. Examples:

  • IDE
  • Code editor
  • Basic text editor
  • Hex editor
  • Graphics editor (used to create UI graphics, and that's before you even consider writing a graphics editor in an esolang that uses graphic files as its source format)
  • Resource editor / GUI builder
  • Linter
  • Build automation tool
  • Code generation tool
  • Debugger
  • Version control system (Apache Subversion is described on its website as self-hosting)
  • Bug tracking system (Bugzilla is described in its article as self-hosting)

Furthermore, a programming software package could potentially be the entire toolchain with which new versions of itself are produced.

Going by the lead sentence and the first two sections, clearly the intended scope of the article is the general concept, rather than the specific application of the concept to compilers.

As such, I'm inclined to change the title to Self-hosting (software development). But this has got me thinking, do we need to expand the coverage to more of these kinds of tools? — Smjg (talk) 00:49, 23 November 2022 (UTC)Reply