내가 사용하고 있는 컴퓨터 언어에는 C/C++, Java, Python이 예전에 사용하던 Perl등도 포함할 수 있겠지만 너무 사용하지 않고 있다. 최근에 관심이 가는 언어는 Go Lang이다. Google의 개발자인 로버트 그리즈머, 롭 파이크, 켄 톰슨 세사람이 개발한 언어이다. [1]에서 설명하는 특징은 다음과 같다.
- 정적 타입, 강 타입 ...
- 컴파일 언어 ...
- 가비지 컬렉션 ...
- 병행성(Concurrency) ...
- 멀티코어 환경 지원 ...
- 모듈화 및 패키지 시스템npm, pip, gem 이나 Maven과 같은 모듈 의존성에 따른 패키지 관리를 언어 차원에서 지원. ...
- 빠른 컴파일 속도
이 언어를 개발한 이유가 C/C++이 사용하기 어려워서 개발하기 시작했다고 한다. 그래서, 서버, 브라우져, 데이터베이스등 큰 응용을 개발하는데 유용하다고 한다. 하지만, 시스템 레벨 프로그래밍에는 적절하지 않다고 한다.
대략적인 문법이나, 특징은 책에서도 볼 수 있지만 인터넷에 자료가 많고 특히 [2]에서 보게 되었다.
내가 이 언어를 보게 된 가장 큰 이유는 Android의 Build Systemdp Ninja[3]로 바뀌고 Blueprint(.bp)[4]로 변경되기 시작하고 이다. 이 bp파일들이 Go lang으로 쓰여 지고 있다.
참고 문헌
[1] GO 언어란? - 주요 특징, https://goodjoon.tistory.com/241
[2] A Tour of Go, https://tour.golang.org/welcome/1
[3] Ninja, a small build system, https://ninja-build.org/
[4] Soong 빌드 시스템, https://source.android.com/setup/build
'Computer Languages' 카테고리의 다른 글
디버거를 이용하여 디버깅하기 (0) | 2023.03.19 |
---|---|
Rust Programming Language를 시작하며... (0) | 2022.12.18 |
C언어 다시 떠오르나? (0) | 2020.01.22 |
C 언어를 배워야 할 것 같아요?! (0) | 2019.06.23 |
Python 2 모듈 Python 3로 포팅하기 (실제 예 포함: captcp) (0) | 2018.06.30 |