문제

다음 버전의 자체를 구축하는 데 어떤 도구가 사용되는지 궁금합니다.

예를 들어, 델파이는 오랫동안 "델파이는 델파이로 작성되었습니다".

Visual Studio가 Visual Studio를 사용하여 작성되었다고 가정합니다.

스스로 작성된 도구의 다른 예는 무엇입니까?

도움이 되었습니까?

해결책

Bjarne Stroustrup에서 언급했습니다 C ++의 설계와 진화 첫 번째 C ++ 컴파일러는 C ++로 작성되었습니다.

방금 이것이 그의 질문이라는 것을 알았습니다. 자주하는 질문:

첫 번째 C ++ 컴파일러 (CFRONT)는 C ++로 작성되었습니다. 이를 구축하기 위해 먼저 C를 사용하여 "Class"-C-C Preprocessor를 작성했습니다. "클래스와 함께"는 C ++의 즉각적인 조상이 된 C 방언이었습니다. 이 사전 처리기는 "Classe with Classs"구성 (클래스 및 생성자 등)을 C로 번역했습니다. 모든 언어를 이해하지 못하는 전통적인 전처리 업체였습니다. 완전한 지식없이 구성합니다. 그런 다음 "C with Classe"에서 CFRONT의 첫 번째 버전을 썼습니다.

다른 팁

흥미롭게도 VB.NET & C# 컴파일러 자체는 관리되지 않는 C ++로 작성됩니다 (C ++ 팀의 티셔츠로 이어지는 "내 컴파일러가 컴파일 된 귀하의 컴파일"). C# Team은 VS2010 용 완전히 관리 된 C# 호스팅 C# 컴파일러를 갖기를 희망합니다.

이것은 주제가 아니지만 엄격하게 말하면 스스로를 구축하는 도구의 예입니다.

그만큼 reprap - 최근 "최초의 완전한 작업 복제 된 사본"에 '출생'을 제공 한 오픈 소스 3D 프로토 타이핑 머신.

나는 이런 종류의 것들을 좋아합니다.

일반적으로 C 컴파일러는 일반적으로 C로 작성됩니다. *nix 커널은 *nix 등에 컴파일됩니다.

또한, pypy Python으로 작성된 Python 통역사를 제공하는 프로젝트.

GCC (GNU C 컴파일러 http://gcc.gnu.org/)는 광범위하게 사용할 수 없었으며 소스에서 컴파일하고 단계 1 컴파일러를 컴파일 한 다음 최종 컴파일러가있을 때까지 Stage1로 Stage2를 컴파일해야했습니다. 나는 그것이 오늘 동일해야한다고 생각합니다.

또 다른 예는 다음과 같습니다. Mono의 C# 컴파일러는 다음과 같습니다. 자체 호스팅 - 즉 C#로 작성되었으며 자체를 컴파일하는 데 사용됩니다.

개밥 내부적으로, 특히 개발 중에 자체 제품을 사용하는 회사의보다 일반적인 관행을 말합니다.

많은 사람들이 방법을보고 싶어합니다 LISP는 LISP에서 구현할 수 있습니다.

쥐 우는 소리 자체적으로 작성된 SmallTalk-80 구현입니다.

가상 기계조차도 SmallTalk에 완전히 작성되어 디버깅, 분석 및 변경이 쉽습니다.

Sun의 Java 컴파일러는 오랫동안 Java로 작성되었습니다. 하지만, 최근의 일 Java에서도 JIT 컴파일러를 작성하고 있습니다. 이것은 Java 바이트 코드를 기본 프로세서 지침으로 변환하는 JVM 구성 요소입니다.

우리는 RealBasic을 사용하여 개발하는 데 사용합니다. IDE는 그 자체로 쓰여져 있으므로 믿게되었습니다.

Haskell 컴파일러 인 GHC는 IS입니다 주로 Haskell로 작성되었습니다.

TCC X86 및 ARM의 또 다른 자체 호스팅 C 컴파일러입니다. 명성에 대한 주장은 잘 지내고 있습니다 (사전 프로세서, 컴파일러, 어셈블러 및 링커의 경우 100k 정도).

나는 일반적인 개발 프로세스의 일부인 거의 모든 도구가 가능한 어느 정도까지 자체 개발에 관여 할 것이라고 가정합니다. 여기에는 다음이 포함됩니다.

  • 특정 프로그래밍 언어, 특히 컴파일 된 언어
  • 십오 일
  • 텍스트 편집기
  • 버전 제어 시스템
  • 버그 추적기
  • 빌드 시스템

이러한 도구 중 하나를 구축하는 팀을 구성하고 있고 팀에 적용되지 않는 특정 틈새 시장을 위해 개발하지 않는다면 왜 스스로를 구축하는 데 사용하지 않을지 모르겠습니다. 개발자가 제품 사용자가되도록하는 것은 가능한 개선을 찾는 가장 좋은 방법 중 하나입니다.

Amigaos의 경우 나중에 컴파일러를 구입할 수있는 제 3 자 기본 통역사 (이름을 기억하지 않음)가있었습니다. 컴파일러는 소스로 전달되었으므로 인터프리터를 사용하여 컴파일러를 실행하여 컴파일해야했습니다.

켄트 벡을 인용하기 위해 :

... 그것은 자신에게 뇌 수술을 수행하는 것처럼 보일 수 있습니다.

Visual Studio 및 Team Foundation Server는 스스로 구축합니다. 라고 불린다 개 먹이, Microsoft에서 시작하지 않으면 확실히 좋아요

Oracle Application Express 그 자체로 내장 된 웹 응용 프로그램 개발 도구입니다.

일식 IDE Eclipse IDE를 사용하여 일반적으로 구축 및 개발됩니다.

언어 컴파일러를 자체 언어로 작성하는 것이 일반적입니다. 이것은 ... 불리운다 자체 주최 또는 부트 스트랩.

maven2 Maven2를 사용하여 구축되었습니다. 좋아, 그것은 건축되지 않았다 (즉 ) 구축하는 도구이기 때문에 (예 : 엮다) 프로젝트이지만 자체 코드를 사용하여 컴파일하고 있습니다 ...

나는 놀랐다 jslint

요컨대 JavaScript를 사용하여 JavaScript "컴파일러"로 설명되었습니다.

IDE 기반 코드 생성기를 구축하고 있으며 자체를 빌드하기 위해 사용하고 있습니다. 실제로 Stroustrup이했던 것처럼 먼저 유효한 생성기 모델을 구축하고 사전 프로세서를 사용하여 최종 C ++ 코드를 작성하여 컴파일합니다. IDE의 좋은 작업 버전이 있으면 추가 버전을 구축하기 위해 사용하기 시작합니다.

"재귀 프로그래밍"의 의미에 새로운 차원을 제공하는 것과 같습니다!

afaik을합니다 OpenJDK 설치된 Java와 함께 먼저 자체적으로 구축하십시오.

당연히 JetBrains 팀은 자체 IDE를 사용합니다 Intellij 아이디어 이 IDE를 개발합니다.

나는 이것이 대부분의 IDE 공급 업체에게 사실이라고 생각합니다.

내가 아는 한, 소스에서 EMAC를 구축 할 때 모든 ELISP 코드가 부트 스트랩됩니다. 나는 그 점이 상당히 주목할 만하다는 것을 알았습니다.

당신이 요구하는 것이 아니라 혁명을위한 전체 개발 환경 http://www.runrev.com 혁명 자체를 사용하여 구축되며 소스 (라이센스를 시행하는 작은 부품 제외)는 소스 형태로 완전히 노출됩니다. 따라서 개발 환경이 구현되는 방식이 마음에 들지 않으면 변경할 수 있습니다. 버그를 찾아 고치십시오. 추가 개발 도구를 쉽게 구축하고 통합 할 수도 있습니다.

Ada와 Forth

나는 SmallTalk-80에 대답했다. 내가 생각할 수있는 가장 우아한 예. 이 질문은 또한 인기가 있었던 약간 관련된 문제를 상기시켜줍니다. 자체를 출력하는 프로그램을 작성하십시오. 같은 수준의 부트 스트래핑은 아니지만 재미있는 작은 프로그래밍 퍼즐입니다. 모든 언어에서는 불가능할 수 없습니까?

이전 Watcom C/C ++ 컴파일러는 자체를 사용하여 구축되었습니다.

크라겐 슈타이커 ur-scheme a의 훌륭한 예입니다 작은 사소한 컴파일러 자체가 작성되었습니다. 그 페이지는 그 정맥에서 몇 가지 더 좋은 소스와 연결됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top