• ZDNet USA
  • ZDNet China
  • ZDNet Japan
  • English
  • 지디넷 웨비나
뉴스
  • 최신뉴스
  • 방송/통신
  • 컴퓨팅
  • 홈&모바일
  • 인터넷
  • 반도체/디스플레이
  • 카테크
  • 헬스케어
  • 게임
  • 중기&스타트업
  • 유통
  • 금융
  • 과학
  • 디지털경제
  • 취업/HR/교육
  • 인터뷰
  • 인사•부음
  • 글로벌뉴스
창간특집
인공지능
배터리
컨퍼런스
칼럼•연재
포토•영상

ZDNet 검색 페이지

'C언어'통합검색 결과 입니다. (7건)

  • 태그
    • 제목
    • 제목 + 내용
    • 작성자
    • 태그
  • 기간
    • 3개월
    • 1년
    • 1년 이전

"러스트는 암적인 요소"… 리눅스 커널 개발자간 논란 심화

리눅스 커널 개발자 사이에서 C와 러스트를 함께 사용하는 것에 대한 논쟁이 계속되고 있다. 리눅스 커널의 러스트 도입은 보안과 안정성을 높이려는 취지에서 시작됐다. 그러나 다중 언어 지원으로 인한 유지보수 문제와 코드 일관성 저하에 대한 지적과 함께 개발자들 사이에서 의견이 엇갈리고 있다. 7일 더레지스터 등 외신은 리눅스커널 개발자 간에 C와 러스트의 혼재를 두고 논란이 불거졌다고 보도했다. 최근 러스트로 작성된 장치 드라이버가 C기반 커널의 핵심 DMA API를 호출할 수 있는 추상화 제안에 대해 커널 유지 관리자 크리스토프 헬위그가 반대하며 논란이 불거졌다. 그가 강하게 반대한 이유는 러스트로 작성된 디바이스 드라이버가 C로 작성된 DMA API를 호출할 수 있도록 설계된 새로운 추상화 계층에서 비롯됐다. 그는 이러한 방식이 기존 커널 코드베이스와 독립적으로 운영되면서, 코드의 일관성이 깨지고 커널 유지보수 비용이 증가할 것이라는 주장이다. 헬위그는 러스트를 기존에 작성한 C언어 코드와 함께 사용하는 것이 마치 '암적인 요소(cancer-like thing)'와 같다고 비유했다. 새로운 언어가 점진적으로 퍼지면서 점점 더 많은 영역을 차지하게 되고, 결국 리눅스 커널의 상당부분을 러스트로 전환해야 하는 상황이 올 수도 있다는 지적이다. 그는 "우리는 지금 하나의 커널을 유지하고 있으며, 이 코드베이스를 유지보수하는 커뮤니티가 있다"며 "그러나 두 개의 언어가 공존하면, 두 개의 다른 코드베이스를 유지해야 하는 것과 다름없다"고 덧붙였다. 또한 "DMA API에 러스트 인터페이스를 추가하는 것은 기존의 명확하고 단순한 C 코드에 불필요한 복잡성을 더하는 것과 같다"며 "이는 리눅스 커널의 구조를 더 이상 단순하게 유지할 수 없게 만들며, 시간이 지나면서 단순히 새로운 언어를 지원하는 것이 아니라, 기존의 체계를 바꾸어야 하는 수준으로 발전하는 것이 문제라고 지적했다. 러스트의 도입을 지지하는 개발자들은 러스트 코드가 기존 C API를 직접 변경하는 것이 아니라, C API를 추상화하는 계층을 통해 접근한다고 반박했다. 리눅스용 러스트 프로젝트를 주도하는 미구엘 오제다는 "러스트의 DMA API는 기존 C 코드에 변경을 가하지 않으며, 러스트 드라이버 개발자들이 관리하는 별도의 러스트 코드베이스에서 유지된다"고 설명했다. 그는 이러한 방식을 통해 기존 C 코드와 러스트 코드가 명확하게 분리되며, 기존 커널 구조를 유지하면서 러스트의 메모리 안전성을 활용할 수 있다고 강조했다. 그러나 헬위그와 같은 일부 커널 유지 관리자들은 러스트가 점차 커널 코드베이스를 잠식할 가능성을 우려하며, 핵심 서브시스템에서의 러스트 사용을 최소화해야 한다고 주장하고 있다. 러스트 도입을 둘러싼 논쟁이 심화되는 가운데 리눅스 커널 창시자인 리누스 토발즈는 중립적인 입장을 보였다. 그는 "러스트 도입을 실패라고 보기에는 아직 이르다"며 "우리는 이 작업을 몇 년째 진행 중이며, 이를 통해 많은 것을 배우고 있다"고 말했다. 러스트의 도입이 아직 실험적인 단계에 있으며, 개발자들이 점진적으로 문제를 해결해 나갈 수 있다는 입장이다.

2025.02.07 10:11남혁우

MS "C언어 코드, 성능 손실 없이 러스트로 자동 전환"

마이크로소프트가 C언어로 작성된 코드를 안전하고 효율적으로 러스트(Rust)로 자동 변환할 수 있는 방법을 제시했다. 6일 마이크로소프트는 'C언어를 안전하게 러스트로 컴파일하기, 형식화(Compiling C to Safe Rust, Formalized)'라는 논문을 아카이브를 통해 발표했다. 프랑스 국립디지털과학기술연구소(INRIA)와 공동으로 발표한 이번 논문은 C언어로 작성된 코드베이스를 안전하게 러스트로 자동 전환해 메모리 안전성을 높이기 위한 방법을 제시한다. 단순히 러스트로 코드를 전환하는 것이 아니라 '안전하지 않은(unsafe)' 코드를 없애 메모리 안전성을 더욱 강화할 수 있는 방법을 제안하는 것이 특징이다. 안전하지 않은 코드는 하드웨어 및 운영체제(OS)와 직접 상호작용하는 저수준 작업이나 성능 최적화를 위한 코드다. 이를 위해 컴파일러의 안전성 검사를 우회하거나 메모리 안전성을 수동으로 관리할 수 있는 옵션을 제공한다. 하지만 이를 잘못 사용할 경우 메모리 손상이나 보안취약점 등 잠재적인 문제를 야기할 수 있다. 연구팀은 안전하지 않은 코드를 사용하지 않기 위해 C언어의 메모리 관리 방식과 포인터 산술을 러스트의 안전한 슬라이스 및 대체 가능한 구조로 변환하는 방법을 제시했다. 연구진은 HACL스타 암호화 라이브러리 등 검증된 기존 코드베이스에 이 방법을 적용해 성능 손실 없이 러스트로 전환이 가능하다고 밝혔다. 러스트로 변환된 코드는 메모리 안전성을 보장하는 보로우 체커(Borrow Checker) 등의 기능을 활용해 C언어에서 발생할 수 있는 메모리 문제를 안전하게 처리할 수 있었다. 또 성능은 거의 그대로 유지돼 속도가 중요한 업무에도 그대로 적용 가능하다. 마이크로소프트 연구진은 "이 방법은 메모리 안전성을 보장하면서도 성능을 거의 손상시키지 않는 결과를 얻었다"며 "C언어 코드를 러스트로 전환하기 위한 실제적이고 신뢰할 수 있는 방법을 제시하며 산업 전반의 보안 문제 해결하는 데 도움을 줄 것으로 기대한다"고 논문을 통해 밝혔다.

2025.01.06 10:17남혁우

15주년 맞은 구글 고, 차기 전략은 'AI' 집중

구글이 프로그래밍언어 고(GO) 15주년을 맞아 차기 개발전략으로 인공지능(AI)과 최적화를 제시했다. 18일 인포월드 등 외신에 따르면 구글 고 팀은 고를 인공지능(AI)에 더욱 최적화된 언어로 만들 것이라고 밝혔다. 2009년 11월 구글에서 발표한 고(Go)는 쉽고 빠르며 간단한 개발을 목표로 제작된 언어로 컨테이너 기반 가상화 도구인 도커, 쿠버네티스에 사용된 것으로 알려져 있다. 개발팀은 구글 '고'의 AI 인프라, 앱 및 개발자 지원 기능을 향상시켜 AI에 보다 적합한 언어로 개발할 것이라고 밝혔다. 구글 '고'의 오스틴 클레멘츠 프로젝트 개발리더는 "'고'는 프로덕션 시스템을 구축하는 데 적합한 언어"라며 "프로덕션 AI 시스템을 구축하는 데도 적합한 언어가 될 수 있도록 노력할 것"이라고 말했다. 이어 "개발초기부터 엔드투엔드 소프트웨어(SW) 엔지니어링 프로세스를 개선하는 것을 목표로 했던 언어"라며 "자연스럽게 AI의 최신 도구와 기술을 적용해 개발자의 수고를 줄이고 보다 재밌고 효율적인 일에 더 많은 시간을 투자할 수 있도록 지원할 것"이라고 덧붙였다. 이미 구글 '고'는 생성형 인공지능(AI)에 효율적이라는 평가를 받으며 파이썬에 이어 가장 AI 개발에 가장 많이 사용되는 언어 중 하나로 주목받고 있다. 지난 상반기 실시한 설문조사에 따르면 응답한 '고' 개발자 중 상당수가 기업 내 AI서비스 개발에 참여하고 있는 것으로 조사됐다. 또 신규 기능 프로토타입 제작, LLM과 서비스 통합, AI 모델 API 엔드포인트 호스팅, AI 학습을 데이터 파이프라인 등 다양한 분야에 '고'를 활용하고 있는 것으로 나타났다. '고'를 생성형AI 개발에 활용하는 이유로는 성능과 효율성, 편의성 등이 꼽혔다. 높은 실행 속도와 효율적인 메모리 관리를 지원해 대규모 데이터 처리와 고성능이 요구되는 AI서비스에 적합하다는 평가다. 또 여러 작업을 동시에 효율적으로 처리할 수 있어 실시간으로 다수의 요청을 처리하거나 데이터를 동시에 처리해야 할 때 유용하다. 코드 구조가 간결하고 쉬워 비개발자도 쉽게 접근할 수 있고 개발 효율성을 높일 수 있다는 것도 장점으로 꼽혔다. 구글은 AI 등 고성능 인프라를 활용하는 앱과 서비스의 기능 향상을 위해 하드웨어 성능 향상을 위한 기능 향상도 지속할 예정이다. 구글 '고' 개발팀은 향후 15년 동안 고성능, 대규모 프로덕션 워크로드 지원을 위해 대규모 멀티코어, 고급 명령어 세트를 개선하고 최신 하드웨어의 기능을 지원하기 위한 신규 가비지 수집 알고리즘을 프로토타입 버전으로 개발 중이라고 밝혔다. 오스틴 클레멘츠 구글 '고' 프로젝트 개발리더는 "최신 벡터 및 행렬 하드웨어 명령어를 지원하는 방법과 애플리케이션이 CPU 및 메모리 지역성을 구축할 수 있는 여러 가지 방법을 살펴보고 있다"며 "핵심 원칙은 구성 가능한 최적화이며 이 과정에서 코드에 미치는 영향을 최소화하기 위한 방안도 마련하고 있다"고 설명했다. 이어 개발팀은 구글 고의 빠른 성장의 요인으로 적극적인 사용자와 커뮤니티를 언급하며 사용자들에게 감사를 보냈다. 오스틴 개발리더는 "15년 전만 해도 구글 고가 이렇게 성공하고 커뮤니티가 발전하는 것을 기대하기 어려웠다"며 "성장하는 과정에 참여해 준 모든 분들께 감사드리며 내년에는 모두에게 최고의 행운이 함께하길 바란다"고 말했다.

2024.11.18 10:13남혁우

리누스 토발즈 "러스트와 C의 논쟁은 종교적"

리눅스 커널을 만들고 프로젝트를 이끌고 있는 리누스 토발즈가 러스트와 C언어 사이의 논쟁에 대해 의견을 밝혔다. 22일 더레지스터 등 외신에 따르면 리누스 토발즈는 오스트리아 빈에서 열린 오픈소스서밋유럽 2024에서 인터뷰를 진행했다. 리누스 토발즈는 "어떤 이유에서인지 러스트와 C언어의 논쟁은 거의 종교적 색채를 띠고 있다"며 "과거 VI와 이맥스 사용자 간의 논쟁을 다시 보는 것 같다"고 평했다. VI와 이맥스는 소프트웨어(SW) 개발과 시스템 관리에 주로 쓰이는 문서편집기다. VI는 유닉스 계열 시스템 기본 편집기로 빠르고 가벼운 성능이 특징이며, 이맥스는 확장성과 커스터마이징이 우수해 다양한 용도로 사용할 수 있다. 두 편집기는 수십년에 걸쳐 폭넓게 사용되고 있지만 철학과 사용 방식이 달라 1970년대부터 사용자 사이에 지속적인 논쟁이 이어지고 있다. VI와 이맥스처럼 러스트와 C언어 역시 각자의 장점을 가지고 있지만 개발 철학이나 사용방식에 따라 의견이 엇갈리고 있다는 지적이다. 리누스 토발즈는 "분명히 러스트의 개념을 싫어하는 사람들이 있고, 자신의 영역을 침범하는 것을 싫어하는 사람도 있다"며 "일부는 몇 년간 도입 속도가 나지 않는 것을 보고 러스트 통합이 실패라고 말하기도 한다"고 말했다. 앛서 리누스 토발즈는 지난 2022년 오픈소스 서밋에서 보안 강화를 위해 리눅스 커널에 러스트를 도입할 것임을 밝혔다. 하지만 내부 개발팀 간의 지속된 의견 충돌로 인해 예상보다 작업 진행속도가 느려지고 있으며 최근엔 해당 프로젝트를 이끌던 담당자 한 명이 사임해 논란이 일기도 했다. 또 리누스 토발즈는 이번 오픈소스서밋유럽 2024에서 리눅스와 깃을 예로 들며 주목받고 화제가 되는 이슈를 따라가기보다, 개발자 스스로 기준과 목표를 세우고 실제로 의미 있는 성과를 낼 수 있는 프로젝트를 진행할 것을 권고했다. 더불어 리누스 토발즈는 러스트 도입 이유의 핵심은 C를 보완하기 위함이라고 밝혔다. 리누스 토발즈는 "C는 매우 간단한 언어로 개인적으로 C를 좋아하는 이유이자 많은 프로그래머가 C를 좋아하는 이유"라며 "하지만 간단한 만큼 실수하기 쉽다는 것도 분명한 사실로, 러스트는 그렇지 않다"고 말했다. 이어 "C언어에 익숙한 사람들이 많고, 러스트와의 차이점을 좋아하지 않을 수 있지만 괜찮다"며 "모든 개발자가 각자 특정 기술이나 도구를 선호하는 것처럼 러스트의 도입으로 커뮤니티를 활성화시킨다는 점이 가장 중요하다고 생각한다"며 의견 교류를 통한 발전의 중요성을 강조했다.

2024.09.22 09:02남혁우

지속된 하락세 C언어, 처음 인기지수 3위권 밖으로 밀려

20년 이상 선두 자리를 지켜 온 C언어가 프로그래밍 인기지수에서 처음으로 3위권 밖으로 밀려났다. 10일 인포월드 등 외신에 따르면 소스코드 품질평가 기업인 티오베는 프로그래밍 언어 인기지수인 9월 티오베 인덱스를 발표했다. 티오베 인덱스에 따르면 지난달과 비교해 1위와 2위는 파이썬과 C++가 그대로 유지했다. 반면 3, 4위를 기록 중이던 C와 자바는 순위가 뒤집혔다. 이를 통해 지난 2022년 12월 3위로 밀려났던 자바가 다시 3위로 올라섰으며, C언어는 티오베 인덱스가 시작된 2001년 이후 처음으로 4위로 내려앉았다. 이번 순위 변동은 C언어의 지속적인 하향세가 원인으로 지목된다. C언어는 지난 2022년 12월 이후 인기그래프가 하락세를 그리고 있다. C언어의 인기 하락 요인으로는 부족한 확장성이 꼽힌다. C언어가 주로 쓰이던 임베디드 시스템이 복잡해지고 요구하는 기능이 늘어나면서 C++ 등 다른 언어로 대체하는 사례가 늘고 있다는 지적이다. 또한 보안 취약점의 주요 원인으로 지목되는 메모리 보안 버그를 해결하기 위해 미국 정부 등에서 C언어를 더 이상 사용하지 말 것을 권고하면서 러스트, 자바와 같은 언어를 고려하는 사례도 늘고 있다. 다만 C언어의 인기가 이전에 비해 줄어도 이미 전 세계적으로 수많은 핵심 시스템과 인프라에 쓰이고 있는 만큼 영향력은 한동안 유지될 전망이다. 티오베 소프트웨어의 폴 얀센 최고경영자(CEO)는 "모든 프로그래밍 언어의 어머니 중 하나인 C언어가 티오베 인덱스가 시작된 이래 가장 낮은 순위를 기록했다"며 "여전히 C언어는 성능이 매우 뛰어난 코드를 생성하지만, 확장성을 고려하지 않은 단점이 큰 것으로 보인다"고 말했다. 이어 "앞으로 C언어가 이전에 비해 힘을 잃을지 몰라도 이미 막대한 설치 기반을 보유한 만큼 상위 10위 권에 장기간 머물 것으로 예상한다"고 덧붙였다. 티오베 인덱스는 구글, 야후, 아마존, 바이두, 유튜브 등 검색 엔진을 통해 검색된 수치에 특정 공식을 대입해 등급을 나누는 방식을 적용하고 있다. 그만큼 언어의 순위가 실제 IT업계 도입 및 활용 비율 등과는 차이가 있을 것으로 보인다.

2024.09.10 13:51남혁우

"비생산적 논쟁에 지쳤다"...리눅스커널 러스트 전환 담당자 사임

리눅스 러스트 도입 프로젝트 담당자가 사임했다. 그는 C언어를 러스트로 대체하는 것에 대한 비생산적인 기술 논의에 지쳤다고 사임 의사를 밝혔다. 9일 더레지스터 등 외신에 따르면 리눅스용 러스트 프로젝트를 감독해 온 마이크로소프트의 웨디슨 알메디아 필류 소프트웨어(SW) 엔지니어가 사임을 밝혔다. 그는 리눅스 커널 개발 메일링을 통해 보낸 메시지를 통해 "프로젝트 시작 후 거의 4년이 지난 지금, 비기술적인 논쟁에 대응하기 위해 필요한 에너지와 열정이 부족하다는 것을 알게 됐다”며 “그래서 아직 에너지가 남은 사람들에게 맡기는 것이 가장 좋다고 판단했다”며 사임 이유를 밝혔다. 웨디슨 알메디아 필류는 리눅스 커널에 러스트 코드를 도입하는 '러스트 포 리눅스'를 2020년부터 주요 유지 관리자로 참여하며 프로젝트를 이끌어왔다. 이 프로젝트는 메모리 손상 버그에 취약한 C언어로 작성된 리눅스 커널의 안정성과 보안 향상을 러스트로 코드를 전환하는 것을 목표로 삼고 있다. 이러한 코드 전환은 구글, 아마존, 마이크로소프트 등 주요 빅테크를 비롯해 미 행정부에서도 추진 중인 사안이다. 하지만 테드 조 등 일부 개발자와의 마찰로 인해 해당 프로젝트의 진전이 순조롭지 않았다. 그들은 러스트가 메모리 안전성을 제공하지만, 기존 C기반 코드와의 호환성과 문제를 일으킬 수 있으며, 기존의 개발 방식과 다른 새로운 언어를 학습하고 적용하는 것에 부담을 느끼며 비생산적인 논쟁으로 도입을 반대했다고 주장했다. 또한 웨디슨 알메디아 필류는 수년 간 비기술적 분쟁에 에너지와 시간을 소모하는 것에 지쳐 프로젝트를 떠나기로 결정했다고 밝혔다. 웨디슨 알메디아 필류는 "이 프로젝트를 시작할 때 기술적인 측면에서 반발이 있을 것으로 예상했고, 결국에는 합의에 도달할 것이라는 가정 하에 그것을 극복할 의향이 있었지만 한계에 달한 것 같다”고 말했다. 이어 "이 일을 시작한 지 거의 4년이 되었는데, 커널의 미래가 메모리 안전 언어에 있다고 진심으로 믿고 있다”며 “비전가가 아니지만 리눅스가 러스트를 내재화하지 않는다면, 유닉스처럼 리눅스도 다른 커널에 밀려날지 두렵다”며 동료 개발자들이 지속해서 프로젝트를 추진해줄 것을 부탁했다.

2024.09.09 10:04남혁우

C++, 사상 처음으로 C언어 앞질렀다

C++가 역사상 처음으로 프로그래밍언어 순위에서 C언어를 앞질렀다. 티오베 소프트웨어가 최근 공개한 티오베 인덱에 따르면 C++가 C를 넘어서며 2위에 랭크됐다. 티오베 인덱스는 티오베 소프트웨어가 매달 발표하는 프로그래밍 언어 인기지수다. C++는 2001년 티오베 인덱스가 시작된 이후 23년 만에 가장 높은 순위를 기록했다. C언어가 2위권 밖으로 밀려난 것은 이번이 처음이다. 이번 조사에서는 파이썬이 C++와 C를 넉넉하게 따돌리고 1위 자리를 지켰다. C++는 1985년 컴퓨터 과학자인 비야네 스트롭스트룹이 개발한 범용 프로그래밍 언어로, C 언어의 확장판이다. 객체지향 프로그래밍을 지원하며, 시스템 및 애플리케이션 프로그래밍 개발에 최적화됐다. 메모리 및 하드웨어 구성 요소에 대한 강력한 제어를 지원해 금융 시장의 거래 시스템과 리스크 관리 시스템 등 엔터프라이즈용 시스템과 빠른 속도와 성능을 요구하는 인공지능(AI), 데이터베이스 관리 시스템 게임 등 다양한 분야에 활용되고 있다. 이 언어가 C를 제칠 수 있었던 주요 이유로는 지속적인 발전과 업데이트가 꼽힌다. 2011년 이후 C++는 3년마다 꾸준히 업데이트되어 언어의 기능이 향상되었고, 이는 새로운 도구와 기능이 추가됐다. 다만, 메모리 관리와 관련한 보안 취약점이 문제점으로 지목되며 러스트 등 보다 안전한 시스템 언어로 대체하려는 움직임도 일고 있다. 실제로 이번 티오베 인덱스에서 구글의 프로그래밍 언어 고(GO)와 러스트가 각각 7위와 14위를 기록하며 역대 가장 높은 순위를 기록하며 상승세를 보이고 있다. 이에 비아네 스트롭스트룹은 C++ 표준 위원회와 함께 이러한 문제를 해결하기 위해 노력 중이라고 밝힌 바 있다. 폴 얀센 티오베 소프트위어 최고 경영자(CEO)는 “C++가 C의 인기를 넘어서기까지 39년이 걸렸다”며 “3년마다 일관된 업데이트와 이를 지원하는 호환성은 C++에게 오랜 역사 속에서 새로운 삶을 시작할 수 있는 환경을 제공했다”고 설명했다.

2024.06.24 11:12남혁우

  Prev 1 Next  

지금 뜨는 기사

이시각 헤드라인

폴더블 아이폰, 펀치홀 카메라 탑재 유력

배민·요기요, 먹통 뒤 정상화..."금요일 밤 비 내린 탓"

과학자들, 납으로 금 만들었다…'연금술사의 꿈' 실현되나

"북한 해커, 위장취업해 北 송금"…메일 1천개 적발

ZDNet Power Center

Connect with us

ZDNET Korea is operated by Money Today Group under license from Ziff Davis. Global family site >>    CNET.com | ZDNet.com
  • 회사소개
  • 광고문의
  • DB마케팅문의
  • 제휴문의
  • 개인정보취급방침
  • 이용약관
  • 청소년 보호정책
  • 회사명 : (주)메가뉴스
  • 제호 : 지디넷코리아
  • 등록번호 : 서울아00665
  • 등록연월일 : 2008년 9월 23일
  • 사업자 등록번호 : 220-8-44355
  • 주호 : 서울시 마포구 양화로111 지은빌딩 3층
  • 대표전화 : (02)330-0100
  • 발행인 : 김경묵
  • 편집인 : 김태진
  • 개인정보관리 책임자·청소년보호책입자 : 김익현