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

  • 맑음대관령2.2℃
  • 맑음영덕12.3℃
  • 연무서울5.9℃
  • 맑음함양군12.5℃
  • 맑음완도11.2℃
  • 연무청주8.8℃
  • 맑음대구13.9℃
  • 맑음고산12.8℃
  • 맑음밀양15.3℃
  • 맑음북강릉8.6℃
  • 맑음진주15.1℃
  • 구름많음백령도2.7℃
  • 맑음남원10.4℃
  • 맑음장흥10.9℃
  • 구름많음인제5.9℃
  • 박무흑산도7.5℃
  • 맑음서귀포14.2℃
  • 맑음태백4.7℃
  • 맑음봉화6.0℃
  • 연무홍성6.9℃
  • 맑음북부산14.4℃
  • 맑음정읍7.4℃
  • 맑음영천11.9℃
  • 맑음장수7.8℃
  • 맑음순천12.0℃
  • 맑음울진11.4℃
  • 맑음충주5.1℃
  • 박무목포7.6℃
  • 연무대전8.9℃
  • 맑음통영13.2℃
  • 맑음진도군8.5℃
  • 맑음고흥12.4℃
  • 맑음양평5.3℃
  • 맑음여수14.1℃
  • 박무인천4.2℃
  • 맑음부산14.9℃
  • 맑음원주7.4℃
  • 맑음서청주6.5℃
  • 맑음구미12.3℃
  • 연무안동9.1℃
  • 연무제주13.1℃
  • 맑음의성11.8℃
  • 구름많음동두천5.1℃
  • 맑음강화4.0℃
  • 맑음거제13.4℃
  • 맑음경주시14.0℃
  • 맑음성산13.6℃
  • 박무수원4.4℃
  • 맑음의령군11.8℃
  • 맑음속초8.7℃
  • 맑음강릉9.9℃
  • 맑음부여6.3℃
  • 맑음세종8.5℃
  • 맑음상주10.8℃
  • 맑음서산5.2℃
  • 맑음김해시14.9℃
  • 맑음울릉도8.9℃
  • 맑음강진군11.0℃
  • 맑음영광군6.2℃
  • 맑음보은8.7℃
  • 맑음고창6.8℃
  • 맑음파주2.8℃
  • 맑음임실8.1℃
  • 맑음보령5.3℃
  • 연무광주9.8℃
  • 맑음순창군10.2℃
  • 맑음금산8.8℃
  • 맑음제천6.0℃
  • 맑음양산시15.0℃
  • 맑음산청12.9℃
  • 맑음청송군10.1℃
  • 맑음고창군6.9℃
  • 맑음문경9.1℃
  • 박무북춘천0.4℃
  • 맑음합천14.5℃
  • 맑음철원5.9℃
  • 맑음홍천2.7℃
  • 연무전주7.8℃
  • 맑음춘천1.5℃
  • 맑음이천6.4℃
  • 맑음정선군5.4℃
  • 맑음창원14.5℃
  • 맑음해남9.6℃
  • 맑음영주8.0℃
  • 맑음추풍령9.6℃
  • 맑음영월5.9℃
  • 맑음남해14.3℃
  • 맑음포항14.7℃
  • 맑음군산5.8℃
  • 맑음광양시13.4℃
  • 맑음울산15.2℃
  • 맑음북창원14.7℃
  • 맑음거창11.8℃
  • 맑음동해10.4℃
  • 맑음천안7.2℃
  • 맑음부안6.6℃
  • 맑음보성군12.0℃
  • 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