CWN(CHANGE WITH NEWS) - 신규 프로그래밍 언어 학습 희망자, ′지그′에 주목하라...러스트·C 장점 결합

  • 구름조금울릉도13.7℃
  • 맑음진주18.2℃
  • 구름많음북춘천3.5℃
  • 구름많음동두천8.5℃
  • 구름많음홍천5.7℃
  • 맑음남원15.5℃
  • 맑음세종11.6℃
  • 맑음강진군16.0℃
  • 맑음장수12.8℃
  • 맑음광양시18.1℃
  • 맑음부안10.0℃
  • 맑음진도군13.7℃
  • 맑음상주10.5℃
  • 맑음군산9.1℃
  • 맑음울진15.1℃
  • 맑음김해시18.2℃
  • 맑음제주18.4℃
  • 맑음양평7.1℃
  • 맑음안동11.6℃
  • 맑음영천16.9℃
  • 연무전주11.3℃
  • 맑음의령군17.6℃
  • 구름많음인제6.3℃
  • 맑음부여11.4℃
  • 구름많음충주9.4℃
  • 맑음대관령4.4℃
  • 맑음해남15.4℃
  • 맑음울산18.2℃
  • 맑음구미14.5℃
  • 연무서울9.9℃
  • 맑음장흥16.4℃
  • 연무흑산도11.3℃
  • 맑음부산17.8℃
  • 맑음남해17.1℃
  • 맑음창원18.6℃
  • 맑음여수15.3℃
  • 연무청주12.3℃
  • 맑음순천16.3℃
  • 구름많음영월3.5℃
  • 연무광주14.9℃
  • 맑음서산9.7℃
  • 연무북강릉12.7℃
  • 맑음문경12.8℃
  • 구름많음백령도4.6℃
  • 연무목포11.9℃
  • 맑음봉화9.8℃
  • 맑음밀양18.2℃
  • 맑음보성군17.8℃
  • 맑음북부산18.0℃
  • 맑음산청17.5℃
  • 맑음경주시18.1℃
  • 맑음서귀포17.2℃
  • 맑음영광군11.2℃
  • 맑음청송군12.6℃
  • 맑음보은12.0℃
  • 맑음속초11.3℃
  • 구름많음철원7.2℃
  • 맑음이천10.4℃
  • 연무대전11.9℃
  • 맑음정읍11.8℃
  • 맑음금산12.4℃
  • 맑음천안9.9℃
  • 구름많음태백7.0℃
  • 구름조금춘천3.3℃
  • 맑음완도16.2℃
  • 맑음합천17.8℃
  • 구름조금포항17.5℃
  • 맑음고흥17.6℃
  • 맑음고창11.1℃
  • 맑음영덕13.9℃
  • 맑음고창군11.5℃
  • 맑음임실13.8℃
  • 맑음통영16.5℃
  • 맑음북창원18.9℃
  • 맑음영주8.4℃
  • 맑음양산시18.3℃
  • 맑음파주7.6℃
  • 맑음대구17.6℃
  • 구름많음원주7.5℃
  • 맑음거창16.8℃
  • 맑음서청주11.7℃
  • 맑음함양군15.8℃
  • 맑음순창군14.5℃
  • 맑음동해13.8℃
  • 맑음추풍령13.6℃
  • 맑음강화6.9℃
  • 맑음거제16.1℃
  • 맑음보령11.3℃
  • 맑음강릉12.8℃
  • 구름많음정선군7.8℃
  • 연무홍성11.0℃
  • 맑음의성14.2℃
  • 연무수원9.1℃
  • 구름많음제천8.4℃
  • 맑음성산19.2℃
  • 맑음고산16.1℃
  • 연무인천7.7℃
  • 2026.01.15 (목)

신규 프로그래밍 언어 학습 희망자, '지그'에 주목하라...러스트·C 장점 결합

이선영 / 기사승인 : 2021-11-05 14:53:47
  • -
  • +
  • 인쇄

프로그래밍 전문가라고 자부하는 이들 중 새로 개발된 프로그래밍 언어 '지그(Zig)'를 능숙하게 다룰 수 있거나 적어도 지그에 대해 들어본 적이 있는 이들이 있을지 모르겠다. 해외 온라인 IT 매체 해커데이는 전문 프로그래머 혹은 새로운 프로그래밍 언어 학습을 원하는 이들이라면, 지그를 학습해야 한다고 주장했다. 그렇다면, 지그는 어떤 언어일까?

운영체제와 같은 하위 수준 주요 인프라를 구성하거나 마이크로 컨트롤러 등에 삽입되는 프로그래밍 언어 러스트는 다수 학습자나 전문가에게 꽤 익숙한 언어일 것이다. 러스트는 간소화되면서 메모리 안정성과 컴파일 시간에 푸시된 여러 기존 런타임 검사를 지원한다.

지그는 러스트의 안정성과 C의 간편함, 용이성이라는 장점을 함께 보유한 언어이다. 숨겨진 제어 흐름과 메모리 할당량, 전처리 및 매크로가 없다. 표준 라이브러리에 1등급으로 지원하며, 설계를 통한 상호 운용성과 조정 가능한 런타임 안전, 컴파일 타임 코드 시행 등이 주요 특징이다.

'설계를 통한 상호 운용성'은 지그의 일반 코드를 C로 쉽게 사용할 수 있다는 의미이기도 하다. 파이썬 등 일부 언어는 C, C++과의 상호 운영성을 위해 데이터를 모아야 한다. 지그는 클랑(Clang) 컴파일러 덕분에 C 파일을 메인 코드에 직접 포함할 수 있다.

지그 라이브러리의 출력은 .o이며, GCC로 바로 전송할 수 있다. 함수는 정의 시작 부분부터 내보내기만 하면, C 코드로 바로 사용할 수 있다.

C 코드는 지그 코드와 상응하는 소규모 구문, 라이브러리 등으로 대체할 수도 있다.

지그를 마이크로 컨트롤러에도 사용할 수 있다는 점에 주목할 수 있다. 일례로, 키보드 펌웨어를 러스트에서 지그로 전환할 수 있다. 기능과 매크로, 패턴 일치 등 러스트의 주요 기능 상당수가 키를 누르기 위한 포트 초기화 및 검색에 사용된다. 지그는 이를 인라인(inline) 함수 for, for문 루프(loop) 변수, 약간의 영리한 콤프타임(comptime)으로 대체한다.

마지막으로 파일 오류 검사 부분에서 C++과의 차이점을 살펴볼 수 있다. C++ 코드는 어떤 오류도 명시적으로 검사하지 않는다. 그러나 지그는 파일 오류 가능성을 고려해, 모든 오류를 철저하게 검사한다.

[저작권자ⓒ CWN(CHANGE WITH NEWS). 무단전재-재배포 금지]

최신기사

뉴스댓글 >

- 띄어 쓰기를 포함하여 250자 이내로 써주세요.
- 건전한 토론문화를 위해, 타인에게 불쾌감을 주는 욕설/비방/허위/명예훼손/도배 등의 댓글은 표시가 제한됩니다.

댓글 0

Today

Hot Issue