많은 개발자가 새로운 프로젝트를 만들 때 빠른 개발 속도와 높은 성능 사이에서 고민을 많이 합니다.
개발자들은 보통 스타트업의 경우 루비, 파이썬과 같은 동적 언어로 초기 버전을 빠르게 만들며,
이용자가 많아질 때 자바나 C++ 같은 정적 언어로 다시 작성하는 방법을 택하는데요,
이런 고민을 해결하기 위하여 '동적 언어의 개발 속도' + '정적 언어의 안정성' 이 두 가지 토끼를 잡고자 나온
Go에 대해 알아보겠습니다.
Go Programming Language
먼저 Go 언어의 특징은 다음과 같습니다.
간결하고 유연함병행 프로그래밍에 특화 됨동적 프로그래밍정적 타입 언어빠른 컴파일과 실행속도- 협업이 쉬움
- Garbage collection 제공
오늘은 Go는 어떤 언어인가요? 를 마무리하는 시간입니다.
협업이 쉬움
협업이란 무엇일까요?
저는 학교 동아리에서 팀원끼리 프로젝트를 만드는 과정이 가장 신경이 많이 쓰이고 까다롭다고 생각합니다.
조별 과제를 하는 것처럼 말이죠. 왜 어려운지는 조금만 생각해보면 알 수 있습니다.
각자 업무를 처리하는 과정이 다르기 때문입니다.
조별 과제의 경우는 선호하는 글꼴, 사이즈, 정리 방식의 차이가 있겠고,
프로그래밍의 경우 작성 요령이 다르기 때문인데요, 이를 Go에서는 가이드를 제시하여 공통된 작업 환경에서
작업을 하도록 도움을 줍니다.
gofmt 도구를 이용하면 서식을 자동으로 지정해서 고쳐준다고 하네요 ^^!
또한 깃허브, 비트버킷과 같은 버전 관리 소프트웨어의 도움으로 협업이 얼마나 편리할까 기대가 됩니다.
Garbage collection
C++나 C의 경우 Garbage collection을 지원해주지 않기 때문에 개발자가 직접 메모리를 관리해야 합니다.
Go의 경우는 이를 지원해주기때문에 메모리 관리에 신경을 쓰지 않아도 됩니다.
이로써 Go 언어의 특징을 모두 알아보았는데요, Go는 Google에서 지속적으로 개발을 하는 언어인만큼,
앞으로의 행보가 기대됩니다.
Go를 배우기 시작한 저도 이 언어가 큰 도움이 되길 바랍니다.
이 글은 인제대학교 의용공학부 네트워크 팀 '11 신윤호가 작성하였습니다.
'프로그래밍언어 > Go' 카테고리의 다른 글
[Go] Go는 어떤 언어인가요? [2] (0) | 2016.06.02 |
---|