• ZDNet USA
  • ZDNet China
  • ZDNet Japan
  • English
  • 지디넷 웨비나
뉴스
  • 최신뉴스
  • 방송/통신
  • 컴퓨팅
  • 홈&모바일
  • 인터넷
  • 반도체/디스플레이
  • 카테크
  • 헬스케어
  • 게임
  • 중기&스타트업
  • 유통
  • 금융
  • 과학
  • 디지털경제
  • 취업/HR/교육
  • 생활/문화
  • 인사•부음
  • 글로벌뉴스
  • AI의 눈
반도체
인공지능
AI의 눈
IT'sight
칼럼•연재
포토•영상

ZDNet 검색 페이지

'프로그래밍'통합검색 결과 입니다. (65건)

  • 태그
    • 제목
    • 제목 + 내용
    • 작성자
    • 태그
  • 기간
    • 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남혁우 기자

애플, '스위프트빌드' 오픈소스 공개…맥OS넘어 넘어 리눅스·윈도지원

이제 애플 전용 프로그래밍 언어 스위프트로 개발하는 앱을 맥OS를 비롯해 리눅스와 윈도에서도 제한 없이 빌드할 수 있게 됐다. 5일 애플은 스위프트 프로젝트 전용 빌드 시스템 '스위프트빌드'를 깃허브를 통해 오픈소스로 공개했다. 스위프트빌드는 스위프트 프로젝트를 컴파일하고 실행 파일을 생성하는 역할을 하는 빌드 시스템이다. 기존에는 스위프트 패키지 매니저(SwiftPM)와 애플전용 개발환경(IDE) 엑스코드의 빌드 시스템이 별도로 운영되면서 환경에 따라 빌드 방식이 달라지는 문제가 있었다. 이번 공개로 인해 스위프트PM과 엑스코드가 동일한 빌드 시스템을 사용할 수 있어 모든 플랫폼에서 통합된 빌드 경험을 제공할 수 있게 됐다. 애플이 스위프트빌드를 오픈소스로 공개한 주요 이유는 세 가지가 꼽힌다. 먼저 엑스코드에 대한 의존성을 줄여 스위프트를 다양한 환경에서 사용할 수 있도록 하기 위함이다. 기존에는 엑스코드를 사용해야만 스위프트 프로젝트를 빌드할 수 있었지만, 이제는 엑스코드 없이도 스위프트 프로젝트를 컴파일하고 실행할 수 있다. 특히 리눅스와 윈도에서도 스위프트를 활용할 수 있어, 서버 개발 및 크로스플랫폼 프로젝트에서의 활용도가 더욱 높아질 전망이다. 또한 스위프트 개발 환경을 통합하고 일관된 빌드 경험을 제공하는 것이 목표다. 그동안 엑스코드와 스위프트PM의 빌드 방식이 달라 개발자들에게 혼란을 초래했으며 동일한 코드라도 환경에 따라 빌드 결과가 달라지는 문제가 있었다. 스위프트빌드를 공개함으로써 이러한 문제를 해결하고, 어디서든 동일한 방식으로 스위프트 프로젝트를 빌드할 수 있도록 개선했다. 이 밖에도 스위프트 오픈소스 생태계를 확장하고 커뮤니티 참여를 활성화하기 위함이다. 스위프트는 2015년 오픈소스로 전환된 이후 꾸준히 발전해왔다. 이번 스위프트빌드 공개를 통해 더욱 개방적인 생태계를 구축할 수 있을 것으로 보인다. 개발자들은 스위프트의 핵심 빌드 시스템에 직접 기여할 수 있으며, 다양한 플랫폼에서 스위프트를 최적화하는 작업에 참여할 수 있다. 스위프트빌드는 현재 스위프트PM에 통합하는 과정에 있다. 애플은 앞으로 몇 달 동안 커뮤니티와 협력해 빌드 시스템을 발전시켜 나갈 예정이다. 이번 공개를 통해 스위프트는 더 이상 애플 생태계에 국한되지 않고, 더욱 광범위한 영역에서 활용될 가능성이 커지고 있다. 애플의 오웬 부르히스 소프트웨어 엔지니어는 "스위프트빌드의 오픈소스화는 스위프트 생태계의 발전을 가속화하는 중요한 단계"라며 "이를 통해 스위프트 개발자들은 더 나은 빌드 경험을 제공받고, 다양한 플랫폼에서 스위프트를 활용할 기회를 갖게 될 것"이라고 말했다.

2025.02.05 09:46남혁우 기자

넥슨재단, '2024 학교 친구 프로그래밍 챌린지' 후원

넥슨재단(이사장 김정욱)은 프로그래밍 교육 저변 확대를 위해 코딩 대회 '2024 학교 친구 프로그래밍 챌린지(School Friends Programming Challenge, 이하 SFPC)'를 후원했다고 20일 밝혔다. 'SFPC'는 한국정보교사연합회와 충청남도교육청이 주최하는 행사로, 일반 고등학교 학생들이 수업에서 배운 프로그래밍 관련 지식만으로 문제 해결에 도전할 수 있는 기회를 마련하고자 시작됐다. 지난해 전북대학교에서 개최된 세 번째 대회에는 전국 일반고 학생을 중심으로 총 1천600여 명이 참가한 바 있다. 한국정보교사연합회는 시도별 정보 교육 격차 해소를 위해 매년 새로운 개최지를 선정하여 전국 순회 방식으로 대회를 운영 중이며, 개최 지역 교사들과 공동으로 행사를 기획 및 운영하여 지역 간 교사 역량 공유에 앞장서고 있다고 회사 측은 설명했다. 넥슨재단은 '넥슨 청소년 프로그래밍 챌린지(NYPC)' 개최, 무료 코딩 학습 플랫폼 'BIKO' 개발 등 코딩 교육 저변 확대에 노력을 기울이고 있으며, 코딩에 대한 청소년들의 관심 제고와 역량 증진을 위해 지난 2022년부터 'SFPC'에 꾸준히 후원을 이어왔다. 지난 6일부터 17일까지 개최된 올해 'SFPC' 대회에는 'BIKO'와 연계한 '공부하기 챌린지' 이벤트도 진행됐다. 넥슨은 참가 학생들과 팀을 이룬 정보교사가 'BIKO'의 '함께하기' 채널에서 대회 기출문제를 학습할 수 있도록 지원했다. 이와 함께 넥슨과 넥슨재단은 우리 사회의 손길이 미치지 못하는 어린이와 청소년을 위한 의료 시설 확충, 교육 저변 확대 등 다양한 사회공헌 활동을 펼치고 있다.

2025.01.20 10:23이도원 기자

러스트 1.84.0, 트레이트 솔버 개선 등 안정성 강화

러스트 1.84.0버전이 공개됐다. 복잡한 문제를 보다 안전하고 효율적으로 해결할 수 있도록 트레이트 솔버를 근본적으로 개선하고 일부 기능을 안정화했다. 15일 데브클래스 등 외신에 따르면 러스트 릴리즈팀은 러스트 1.84.0을 공식 홈페이지와 깃허브를 통해 공개했다. 트레이트는 특정 역할에 따라 공유할 수 있는 기능을 정의하는 규칙이라고 생각할 수 있다. 예를 들어 '비행'이라는 트레이트는 새, 곤충, 비행기와 같이 서로 다른 타입들이 같은 역할을 공유할 수 있도록 만들 수 있다. 트레이트 솔버는 일종의 문제 해결사다. 서로 다른 타입 간에 '누가 어떤 능력을 가지고 있는지'를 알아내고 관계를 정리하는 역할을 한다. 어떤 동물이 비행 능력을 가지고 있다면, 트레이트 솔버는 '이 동물이 정말로 날 수 있는지, '다른 동물과 충돌하지 않는지' 등을 확인한다. 이 기능은 특정 타입이 정의된 능력을 가지고 있는지를 확인하며, 서로 다른 타입 간의 충돌이나 모호성을 해결한다. 또한 트레이트가 서로 얽혀 있거나 의존성이 있을 때 이를 정리해 컴파일러가 이해할 수 있도록 돕는다. 이를 통해 각 타입의 역할을 명확히 정리하고, 충돌이 없도록 관리한다. 러스트 1.84.0에서 도입된 새로운 트레이트 솔버는 이제 더 복잡한 관계를 이해하고 문제를 정확히 해결할 수 있도록 개선됐다. 여러 관계 속에서도 정확히 누가 무엇을 할 수 있는지를 파악하고 대규모 프로젝트에서도 신속하게 관계를 분석하고 결과를 도출한다. 또한 이전보다 오류를 줄이고, 잘못된 경고를 덜 발생시키는 방식으로 작동한다. 이를 통해 개발자들은 이제 더 복잡한 프로젝트에서 안정적으로 코드를 작성할 수 있다. 또한 프로젝트의 호환성을 더 쉽게 관리할 수 있도록 카고(Cargo)에서 프로젝트 최소 지원 러스트 버전(MSRV)을 자동으로 인식하는 기능이 추가됐다. MSRV는 프로젝트가 정상적으로 빌드되고 실행되기 위해 요구되는 러스트 버전이다. 기존에는 수동으로 버전을 추적하고 관리해야 했지만 이번 업데이트를 통해 자동으로 관리할 수 있게 됐다. 이를 통해 개발 과정의 번거로움을 줄이고, 휴먼에러 등으로 인한 오류 발생을 최소화한다. 이 밖에도 포인터 관리를 위한 API를 추가해 메모리 관련 오류를 방지할 수 있도록 지원하는 등 안정성 확보를 위한 기능을 선보이고, 기존 오류를 해결했다. 러스트 릴리즈 팀은 "많은 사람들이 러스트 1.84.0을 만들기 위해 함께 모여 도움을 줘서 감사하다"며 "이번 버전을 사용하는 과정에서 버그를 발견하거나 요구 사항이 있으면 알려달라"고 말했다.

2025.01.16 10:15남혁우 기자

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남혁우 기자

  Prev 1 2 3 4 Next  

지금 뜨는 기사

이시각 헤드라인

리벨리온, SK텔레콤에 K-NPU '리벨' 칩 공급..."물량은 미정"

국가대표 AI 먼저 써 봤더니..."취지 환영, 이용 유인·안전성은 과제"

"표정없는 네가 좋아"…日, IPX ‘브라운’에 푹 빠지다

데이터센터 성장세 탄 통신3사…AIDC 투자 드라이브

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
  • 발행인 : 김경묵
  • 편집인 : 김태진
  • 개인정보관리 책임자·청소년보호책입자 : 김익현
  • COPYRIGHT © ZDNETKOREA ALL RIGHTS RESERVED.