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

  • 흐림영덕17.9℃
  • 흐림문경18.6℃
  • 흐림부여19.2℃
  • 흐림순창군18.3℃
  • 흐림구미19.2℃
  • 흐림서산18.8℃
  • 흐림밀양19.9℃
  • 흐림영천18.5℃
  • 비서귀포23.9℃
  • 구름많음울진18.3℃
  • 흐림의령군17.8℃
  • 흐림고창18.3℃
  • 흐림상주18.8℃
  • 흐림강진군17.2℃
  • 흐림이천18.7℃
  • 흐림서울20.9℃
  • 흐림김해시20.2℃
  • 흐림정읍18.2℃
  • 흐림광양시17.4℃
  • 흐림강릉18.8℃
  • 비제주22.4℃
  • 흐림거제19.9℃
  • 흐림봉화15.2℃
  • 흐림보성군17.7℃
  • 흐림서청주18.4℃
  • 흐림부안19.3℃
  • 흐림보은17.7℃
  • 흐림경주시19.1℃
  • 흐림파주17.7℃
  • 비창원20.0℃
  • 흐림천안18.5℃
  • 흐림성산23.9℃
  • 흐림북강릉17.6℃
  • 흐림수원20.3℃
  • 흐림울릉도20.4℃
  • 흐림남원17.4℃
  • 비여수18.7℃
  • 흐림인제15.7℃
  • 흐림군산19.4℃
  • 비대전19.0℃
  • 흐림인천21.3℃
  • 흐림춘천17.9℃
  • 흐림영광군16.7℃
  • 흐림순천17.0℃
  • 흐림고흥17.6℃
  • 흐림북춘천17.6℃
  • 흐림남해17.5℃
  • 흐림북창원20.5℃
  • 흐림완도17.7℃
  • 흐림진주17.7℃
  • 흐림양산시20.8℃
  • 흐림해남17.9℃
  • 흐림강화19.3℃
  • 흐림포항21.4℃
  • 흐림금산17.9℃
  • 흐림홍천18.2℃
  • 비부산22.2℃
  • 흐림동해18.8℃
  • 흐림안동18.1℃
  • 흐림동두천18.3℃
  • 흐림정선군15.5℃
  • 비북부산21.5℃
  • 구름많음속초17.6℃
  • 흐림의성18.3℃
  • 흐림청송군16.2℃
  • 흐림고창군18.2℃
  • 흐림영월17.2℃
  • 흐림산청17.6℃
  • 흐림영주17.1℃
  • 흐림태백13.7℃
  • 흐림백령도20.0℃
  • 비청주20.1℃
  • 흐림충주19.0℃
  • 흐림합천18.8℃
  • 흐림고산23.4℃
  • 흐림진도군17.4℃
  • 흐림함양군17.6℃
  • 흐림대관령11.3℃
  • 비대구20.0℃
  • 흐림추풍령18.2℃
  • 비광주17.8℃
  • 흐림원주19.2℃
  • 흐림임실17.4℃
  • 비전주19.0℃
  • 흐림통영19.8℃
  • 흐림거창17.7℃
  • 흐림장수15.9℃
  • 비울산20.9℃
  • 흐림제천17.2℃
  • 비흑산도18.1℃
  • 흐림양평18.9℃
  • 비홍성18.9℃
  • 비목포17.2℃
  • 흐림세종18.5℃
  • 흐림장흥17.4℃
  • 흐림보령20.2℃
  • 흐림철원17.7℃
  • 2025.10.03 (금)

신규 프로그래밍 언어 학습 희망자, '지그'에 주목하라...러스트·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