Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Pinpoint
- kotlin querydsl
- kotlin
- 정보처리기사실기 기출문제
- Kubernetes
- CKA 기출문제
- 기록으로 실력을 쌓자
- 오블완
- 정보처리기사 실기
- AWS EKS
- APM
- 티스토리챌린지
- PETERICA
- aws
- CKA
- IntelliJ
- kotlin spring
- 공부
- MySQL
- Elasticsearch
- AI
- minikube
- mysql 튜닝
- 코틀린 코루틴의 정석
- kotlin coroutine
- Spring
- 정보처리기사 실기 기출문제
- Java
- CloudWatch
- Linux
Archives
- Today
- Total
피터의 개발이야기
자기 자신으로 개발된 언어(자기 호스팅, 부트스트랩) 본문
반응형
ㅁ 들어가며
동료 개발자와 이야기 중, "자기 호스팅(self-hosting)" 또는 "부트스트랩(bootstrapping)"에 대해서 알게 되어, 그 개념과 관련 언어에 대해서 정리하였다.
ㅁ 자기 호스팅, 부트스트랩이란?
개발 언어 중 자기 자신으로 개발된 언어는 "자기 호스팅(self-hosting)" 또는 "부트스트랩(bootstrapping)"이라고 불리는 과정을 거친 언어들이다. 이는 해당 언어의 컴파일러나 인터프리터가 그 언어 자체로 작성된 경우를 말한다.
ㅁ 자기 호스팅의 의의
자기 호스팅은 프로그래밍 언어 개발에 있어 중요한 이정표가 된다.
- 개발 속도 향상: 언어가 자기 자신으로 구현된 컴파일러를 갖게 되면 개발 속도에 상당한 가속이 붙게 된다.
- 언어의 성숙도: 자기 호스팅은 해당 언어가 충분히 강력하고 표현력이 있다는 것을 보여준다.
- 최적화 기회: 언어 개발자들이 자신들의 언어로 컴파일러를 작성하면서 언어의 성능을 개선할 기회를 얻게 된다.
ㅁ 자기 호스팅 언어의 예
- C: C 언어의 컴파일러는 대부분 C로 작성되어 있다.
- Java: Java 컴파일러의 많은 부분이 Java로 작성되어 있다.
- Python: Python 인터프리터의 표준 구현인 CPython은 대부분 C로 작성되어 있지만, PyPy라는 대안 구현은 Python으로 작성되어 있다.
- Go: Go 언어의 컴파일러는 초기에는 C로 작성되었지만, 현재는 Go로 재작성되었다.
ㅁ 마무리
자기 호스팅은 언어의 발전 과정에서 중요한 단계이며, 언어의 능력과 성숙도를 보여주는 지표가 된다. 그러나 모든 언어가 반드시 자기 호스팅을 달성해야 하는 것은 아니며, 각 언어의 목적과 설계 철학에 따라 다를 수 있다.
반응형
'개발이야기' 카테고리의 다른 글
금융분야 클라우드 환경 구축 시 준비사항 정리 (0) | 2024.10.24 |
---|---|
[Network] HTTP1.1, HTTP2.0, HTTP3.0의 차이점 (1) | 2024.09.26 |
크롬에서 https로 자동 전환되는 문제 해결 (0) | 2024.09.06 |
[Macbook] kernel_task의 높은 CPU 사용량 해결방법 (1) | 2024.08.26 |
FSL(Fair Source License)란? SaaS 기업의 무임승차 문제 해결 (0) | 2024.08.20 |
Comments