Offcanvas

������

C++ 이을 왕좌엔 누가? '러스트vs.카본vs.Cpp프론트' 살펴보기

C와 C++는 프로그래밍 세계를 움직인다. 파이썬, 고 같은 신생 프로그래밍 언어가 주목받는 상황에서, 선뜻 납득하기 어려운 이야기일 수도 있다. 하지만 일반적으로 사용되는 고성능 데스크톱 애플리케이션과 운영체제 대다수는 C++, 임베디드 애플리케이션은 주로 C로 개발된다. 스마트폰 앱이나 웹 애플리케이션 개발 이야기가 아니다. 그런 영역은 자바, 코틀린, 오브젝티브 C, 스위프트 같은 각 플랫폼에 맞는 특수 언어를 사용해야 한다. 물론 C나 C++을 사용할 수 있지만 빠른 속도가 필요한 특정 반복문이나 여러 운영체제에 공통으로 들어가는 라이브러리 개발에만 쓰인다.    C와 C++는 오랜 기간 동안 시스템 프로그래밍을 주도했기에 이를 대체할 언어는 찾기 어렵다. 그럼에도 불구하고 많은 전문가가 이제 두 언어를 보내줄 때라고 지적한다. 프로그래머는 언제나 더 나은 대안을 포용해야 하기 때문이다. 마이크로소프트 애저 사업부 CTO 마크 러시노비치는 최근 “C와 C++ 개발자들은 러스트로 전환해야 한다”라며 “업계에서 두 언어를 사라질 언어라고 선언해야 한다”라고 밝혀 큰 반향을 일으키기도 했다. 많은 개발자가 실제 제품 개발 과정에서 C와 C++를 대체할 언어로 러스트를 주목한다. 하지만 다른 선택지도 존재한다. 카본과 Cpp프론트 같은 언어다. 세 언어의 장점을 본격적으로 살펴보기 전에 먼저 C와 C++의 역사와 문제점을 확인해보자.    C++의 문제점 C++는 비야네 스트롭스트룹이 1979년 벨 연구소에서 개발한 언어다. C++는 C에 객체 지향 기능을 비롯해 여러 개선 사항을 더하는 것이 목적이었기 때문에 초기에는 ‘객체가 있는 C’라고 불리기도 했다. 1983년 공식 이름이 C++로 정해지고, 1985년에는 벨 연구소 뿐만 아니라 일반 대중에게도 공개했다. 최초의 상용 C++ 컴파일러인 C프론트(Cfront)가 이때 나왔다. C프론트를 이용하면 C++를 C로 변환한 다음 컴파일하고 링크할 수 있다. 향후 C++ ...

러스트 CPP프론트 카본 개발 언어 프로그래밍 언어

2022.11.17

C와 C++는 프로그래밍 세계를 움직인다. 파이썬, 고 같은 신생 프로그래밍 언어가 주목받는 상황에서, 선뜻 납득하기 어려운 이야기일 수도 있다. 하지만 일반적으로 사용되는 고성능 데스크톱 애플리케이션과 운영체제 대다수는 C++, 임베디드 애플리케이션은 주로 C로 개발된다. 스마트폰 앱이나 웹 애플리케이션 개발 이야기가 아니다. 그런 영역은 자바, 코틀린, 오브젝티브 C, 스위프트 같은 각 플랫폼에 맞는 특수 언어를 사용해야 한다. 물론 C나 C++을 사용할 수 있지만 빠른 속도가 필요한 특정 반복문이나 여러 운영체제에 공통으로 들어가는 라이브러리 개발에만 쓰인다.    C와 C++는 오랜 기간 동안 시스템 프로그래밍을 주도했기에 이를 대체할 언어는 찾기 어렵다. 그럼에도 불구하고 많은 전문가가 이제 두 언어를 보내줄 때라고 지적한다. 프로그래머는 언제나 더 나은 대안을 포용해야 하기 때문이다. 마이크로소프트 애저 사업부 CTO 마크 러시노비치는 최근 “C와 C++ 개발자들은 러스트로 전환해야 한다”라며 “업계에서 두 언어를 사라질 언어라고 선언해야 한다”라고 밝혀 큰 반향을 일으키기도 했다. 많은 개발자가 실제 제품 개발 과정에서 C와 C++를 대체할 언어로 러스트를 주목한다. 하지만 다른 선택지도 존재한다. 카본과 Cpp프론트 같은 언어다. 세 언어의 장점을 본격적으로 살펴보기 전에 먼저 C와 C++의 역사와 문제점을 확인해보자.    C++의 문제점 C++는 비야네 스트롭스트룹이 1979년 벨 연구소에서 개발한 언어다. C++는 C에 객체 지향 기능을 비롯해 여러 개선 사항을 더하는 것이 목적이었기 때문에 초기에는 ‘객체가 있는 C’라고 불리기도 했다. 1983년 공식 이름이 C++로 정해지고, 1985년에는 벨 연구소 뿐만 아니라 일반 대중에게도 공개했다. 최초의 상용 C++ 컴파일러인 C프론트(Cfront)가 이때 나왔다. C프론트를 이용하면 C++를 C로 변환한 다음 컴파일하고 링크할 수 있다. 향후 C++ ...

2022.11.17

수십 년째 요지부동, 'C 언어'가 왕좌 지키는 이유

‘C 언어’는 지난 1972년 개발돼 지금까지 전 세계적으로 널리 사용되고 있으며, 소프트웨어 시대의 핵심적인 기본 구성요소로 군림하고 있다. 하지만 지난 수십 년 동안 새로운 언어가 많이 등장했다. 그중에는 노골적으로 C 언어의 아성에 도전한 언어도 있었고, 인기를 끌면서 C 언어를 조금씩 갉아먹은 언어도 있었다. 여기서는 C 언어와 C++, 자바, C#, 러스트, 파이썬 그리고 ‘쌩신입’ 카본을 비교해 살펴봤다.    C vs. C++ C 언어의 가장 흔한 비교 대상은 C++다. 이름에서 알 수 있는 것처럼 C++는 C 언어의 확장판으로 개발됐다. C++의 구문 및 접근 방식은 C와 유사하지만 이는 네임 스페이스, 템플릿, 예외 처리, 자동 메모리 관리 등 C에서는 기본 제공하지 않는 매우 유용한 기능을 지원한다. 데이터베이스나 머신러닝 시스템 등 최상급 성능을 요하는 프로젝트는 C++의 이러한 기능을 사용해 작성되는 경우가 많다. 또한 C++는 C보다 훨씬 더 적극적인 확장 중이다. 곧 출시될 C++ 23은 모듈, 코루틴, 더 빠른 컴파일, 모듈화된 표준 라이브러리 등 많은 기능을 제공할 예정이다. 반면에 C 표준의 최신 버전(C2x)은 추가 기능이 거의 없으며, 하위 호환성 유지에 주안점을 두고 있다.  문제는 C++의 모든 장점이 동시에 단점으로 작용하기도 한다는 것인데, 이 단점이 크다. C++의 기능을 많이 사용할수록 복잡성이 증가하며, 결과를 통제하기가 어려워진다. C++의 특정 부분만 제한적으로 사용하면 최악의 문제는 대부분 피할 수 있다. 이러한 복잡성을 원천적으로 차단하기도 한다. 예를 들면 리눅스 커널(Linux Kernel) 개발팀은 C++를 기피하며, 대부분의 리눅스는 여전히 C로 작성된다(현재 러스트를 향후 커널 추가를 위한 언어로 보고 있긴 하다).  물론 C++가 고수준 기능을 풍부히 갖추고 있는 이유는 분명하다. 하지만 현재와 미래의 프로젝트 및 프로젝트팀에 미니멀리즘이 더 적합하다면...

C 언어 C++ 파이썬 러스트 카본 자바 프로그래밍 언어 개발 언어 개발자 소프트웨어 개발

2022.09.30

‘C 언어’는 지난 1972년 개발돼 지금까지 전 세계적으로 널리 사용되고 있으며, 소프트웨어 시대의 핵심적인 기본 구성요소로 군림하고 있다. 하지만 지난 수십 년 동안 새로운 언어가 많이 등장했다. 그중에는 노골적으로 C 언어의 아성에 도전한 언어도 있었고, 인기를 끌면서 C 언어를 조금씩 갉아먹은 언어도 있었다. 여기서는 C 언어와 C++, 자바, C#, 러스트, 파이썬 그리고 ‘쌩신입’ 카본을 비교해 살펴봤다.    C vs. C++ C 언어의 가장 흔한 비교 대상은 C++다. 이름에서 알 수 있는 것처럼 C++는 C 언어의 확장판으로 개발됐다. C++의 구문 및 접근 방식은 C와 유사하지만 이는 네임 스페이스, 템플릿, 예외 처리, 자동 메모리 관리 등 C에서는 기본 제공하지 않는 매우 유용한 기능을 지원한다. 데이터베이스나 머신러닝 시스템 등 최상급 성능을 요하는 프로젝트는 C++의 이러한 기능을 사용해 작성되는 경우가 많다. 또한 C++는 C보다 훨씬 더 적극적인 확장 중이다. 곧 출시될 C++ 23은 모듈, 코루틴, 더 빠른 컴파일, 모듈화된 표준 라이브러리 등 많은 기능을 제공할 예정이다. 반면에 C 표준의 최신 버전(C2x)은 추가 기능이 거의 없으며, 하위 호환성 유지에 주안점을 두고 있다.  문제는 C++의 모든 장점이 동시에 단점으로 작용하기도 한다는 것인데, 이 단점이 크다. C++의 기능을 많이 사용할수록 복잡성이 증가하며, 결과를 통제하기가 어려워진다. C++의 특정 부분만 제한적으로 사용하면 최악의 문제는 대부분 피할 수 있다. 이러한 복잡성을 원천적으로 차단하기도 한다. 예를 들면 리눅스 커널(Linux Kernel) 개발팀은 C++를 기피하며, 대부분의 리눅스는 여전히 C로 작성된다(현재 러스트를 향후 커널 추가를 위한 언어로 보고 있긴 하다).  물론 C++가 고수준 기능을 풍부히 갖추고 있는 이유는 분명하다. 하지만 현재와 미래의 프로젝트 및 프로젝트팀에 미니멀리즘이 더 적합하다면...

2022.09.30

“C++의 후계자가 목표”··· 구글, ‘카본’ 공개

‘C++’을 대체하기 위해 개발 중인 오픈소스 프로그래밍 언어 ‘카본(Carbon)’은 C++과 동일한 수준의 성능 그리고 호환성을 지원하는 한편, 기술적 부채와 고질적인 문제를 해결할 계획이다.  전 세계에서 가장 많이 쓰이는 프로그래밍 언어 중 하나인 ‘C++’의 후계자가 필요한 시점이라고 생각하는가? 구글의 개발자 그룹은 그렇다고 보고 있다.     해당 그룹은 C++과의 상호 운용성을 제공하는 동시에, 이 레거시 언어를 개선하는 데 있어 알려진 문제를 해결하는 실험적 프로그래밍 언어 ‘카본’을 개발하고 있다. 개발팀에 따르면 카본은 C 또는 C++이 수십 년간 쌓아온 기술적 부채를 상속하지 않으면서 최신 제네릭 시스템, 간단한 구문, 모듈식 코드 구성 등의 기반으로 시작하여 앞서 언급한 장애물을 극복하려고 시도 중이다.  현재 카본은 사용 가능한 상태는 아니다. 카본 개발팀은 C++이 퍼포먼스 크리티컬 소프트웨어 구축에 지배적인 프로그래밍 언어이며, 방대한 코드 기반이 있다고 말했다. 이에 카본은 ‘진화’보다는 ‘후속 접근 방식’을 제시하며, 기존 C++ 코드 기반 및 C++ 개발자를 위한 마이그레이션을 지원할 것이라고 전했다.  카본은 지난주 캐나다 토론토에서 열린 개발자 컨퍼런스 ‘C++노스(CPP North)’에서 공개됐다. 카본의 리소스는 해당 프로젝트의 깃허브 리포지토리에서 액세스할 수 있다. 개발팀은 C++ 후계자로써의 요건을 다음과 같이 언급하면서, 카본의 접근 방식이 C++ 생태계 위에 구축될 수 있다고 밝혔다.  • C++과 동일한 수준의 성능  • C++과의 원활한 상호 운용성 • 완만한 학습 곡선 • 비슷한 표현식 • 확장 가능한 마이그레이션  카본은 타입스크립트가 자바스크립트, 코틀린이 자바와 비슷한 것처럼 C++과 유사하게 설계됐다. 개발팀은 카본이 퍼포먼스 크리티컬 소프트웨어, 소프트웨어 및 언어 발전을 지원하고, 안전하며 읽기 및 쓰기가 쉬운 ...

C++ 카본 구글 프로그래밍 언어 개발 언어 오픈소스

2022.07.29

‘C++’을 대체하기 위해 개발 중인 오픈소스 프로그래밍 언어 ‘카본(Carbon)’은 C++과 동일한 수준의 성능 그리고 호환성을 지원하는 한편, 기술적 부채와 고질적인 문제를 해결할 계획이다.  전 세계에서 가장 많이 쓰이는 프로그래밍 언어 중 하나인 ‘C++’의 후계자가 필요한 시점이라고 생각하는가? 구글의 개발자 그룹은 그렇다고 보고 있다.     해당 그룹은 C++과의 상호 운용성을 제공하는 동시에, 이 레거시 언어를 개선하는 데 있어 알려진 문제를 해결하는 실험적 프로그래밍 언어 ‘카본’을 개발하고 있다. 개발팀에 따르면 카본은 C 또는 C++이 수십 년간 쌓아온 기술적 부채를 상속하지 않으면서 최신 제네릭 시스템, 간단한 구문, 모듈식 코드 구성 등의 기반으로 시작하여 앞서 언급한 장애물을 극복하려고 시도 중이다.  현재 카본은 사용 가능한 상태는 아니다. 카본 개발팀은 C++이 퍼포먼스 크리티컬 소프트웨어 구축에 지배적인 프로그래밍 언어이며, 방대한 코드 기반이 있다고 말했다. 이에 카본은 ‘진화’보다는 ‘후속 접근 방식’을 제시하며, 기존 C++ 코드 기반 및 C++ 개발자를 위한 마이그레이션을 지원할 것이라고 전했다.  카본은 지난주 캐나다 토론토에서 열린 개발자 컨퍼런스 ‘C++노스(CPP North)’에서 공개됐다. 카본의 리소스는 해당 프로젝트의 깃허브 리포지토리에서 액세스할 수 있다. 개발팀은 C++ 후계자로써의 요건을 다음과 같이 언급하면서, 카본의 접근 방식이 C++ 생태계 위에 구축될 수 있다고 밝혔다.  • C++과 동일한 수준의 성능  • C++과의 원활한 상호 운용성 • 완만한 학습 곡선 • 비슷한 표현식 • 확장 가능한 마이그레이션  카본은 타입스크립트가 자바스크립트, 코틀린이 자바와 비슷한 것처럼 C++과 유사하게 설계됐다. 개발팀은 카본이 퍼포먼스 크리티컬 소프트웨어, 소프트웨어 및 언어 발전을 지원하고, 안전하며 읽기 및 쓰기가 쉬운 ...

2022.07.29

"수십 년 묵은 컴퓨터 구조 바꾼다" IBM, 30억 달러 투자

IBM 30억 달러를 투자해 향후 5년 동안 컴퓨팅 및 칩 소재 연구를 진행한다고 밝혔다. 컴퓨터 디자인을 전면적으로 제고한다는 계획이다. 회사에 따르면 이번 컴퓨터 디자인 기획은 인지 컴퓨터 및 기능성 양자(functional quantum)와 관련해 새로운 길을 열어줄 수 있을 것으로 기대된다. IBM 리서치의 물리학 부문 디렉터 수프라틱 구하는 "컴퓨터 기본 아키텍처는 1940년 대 이후 변하지 않았다. 당면 문제를 감안했을 때 우리는 새로운 형태의 컴퓨팅을 찾아나서야 할 때다"라고 말했다. 실리콘 디자인은 정체 상태며 칩 축소 능력도 한계점에 접근하고 있다. IBM은 그래픽, 카본 나노튜브 및 다른 물질을 탐색하고 있으며 원자 수준까지 줄어들 수 있는 칩을 개발한다는 목표를 세우고 있다. 한편 IBM의 이번 발표는 HP가 컴퓨터 기본 디자인을 재고하겠다는 계획을 공개한지 한 달 후에 이뤄진 것이다. IBM의 시스템 및 테크놀로지 그룹 선임 부사장 톰 로자밀러는 IBM의 목표가 방대한 데이터를 지능적으로 처리하면서도 전력을 적게 소모하는 시스템 블록 구축을 지원하는 것이라고 전했다. 이러한 컴퓨터는 암 연구, 날씨 모델링, 클라우드를 통한 지능형 서비스 제공 등의 영역에서 효과를 발휘할 수 있다. 로자밀러는 그래픽 칩을 이용한 컴퓨터 성능 향상이 단기적으로 유효할 수 있찌만 실리콘 기반 프로세서 축소 및 절전 기능 향상이 점점 더 복잡해지고 있다고 진단했다. 그는 "다른 기술로 도약할 시점이다. 우리가 발명을 시작하지 못한다면 누구도 이를 달성할 수 없다고 본다"라고 말했다. IBM은 이미 양자 컴퓨터, 두뇌와 유사한 컴퓨터 개발을 시도하고 있다. 이러한 컴퓨터는 오늘날의 컴퓨터와 다른 아키텍처에 기반하고 있어야 한다. 로자밀러는 IBM이 개별 기술을 혼합하고 결합함으로써 새로운 컴퓨터 시스템을 위한 블록을 구축할 수 있을 것으로 전망했다....

IBM 컴퓨터 양자 두뇌 실리콘 카본 나노튜브

2014.07.10

IBM 30억 달러를 투자해 향후 5년 동안 컴퓨팅 및 칩 소재 연구를 진행한다고 밝혔다. 컴퓨터 디자인을 전면적으로 제고한다는 계획이다. 회사에 따르면 이번 컴퓨터 디자인 기획은 인지 컴퓨터 및 기능성 양자(functional quantum)와 관련해 새로운 길을 열어줄 수 있을 것으로 기대된다. IBM 리서치의 물리학 부문 디렉터 수프라틱 구하는 "컴퓨터 기본 아키텍처는 1940년 대 이후 변하지 않았다. 당면 문제를 감안했을 때 우리는 새로운 형태의 컴퓨팅을 찾아나서야 할 때다"라고 말했다. 실리콘 디자인은 정체 상태며 칩 축소 능력도 한계점에 접근하고 있다. IBM은 그래픽, 카본 나노튜브 및 다른 물질을 탐색하고 있으며 원자 수준까지 줄어들 수 있는 칩을 개발한다는 목표를 세우고 있다. 한편 IBM의 이번 발표는 HP가 컴퓨터 기본 디자인을 재고하겠다는 계획을 공개한지 한 달 후에 이뤄진 것이다. IBM의 시스템 및 테크놀로지 그룹 선임 부사장 톰 로자밀러는 IBM의 목표가 방대한 데이터를 지능적으로 처리하면서도 전력을 적게 소모하는 시스템 블록 구축을 지원하는 것이라고 전했다. 이러한 컴퓨터는 암 연구, 날씨 모델링, 클라우드를 통한 지능형 서비스 제공 등의 영역에서 효과를 발휘할 수 있다. 로자밀러는 그래픽 칩을 이용한 컴퓨터 성능 향상이 단기적으로 유효할 수 있찌만 실리콘 기반 프로세서 축소 및 절전 기능 향상이 점점 더 복잡해지고 있다고 진단했다. 그는 "다른 기술로 도약할 시점이다. 우리가 발명을 시작하지 못한다면 누구도 이를 달성할 수 없다고 본다"라고 말했다. IBM은 이미 양자 컴퓨터, 두뇌와 유사한 컴퓨터 개발을 시도하고 있다. 이러한 컴퓨터는 오늘날의 컴퓨터와 다른 아키텍처에 기반하고 있어야 한다. 로자밀러는 IBM이 개별 기술을 혼합하고 결합함으로써 새로운 컴퓨터 시스템을 위한 블록을 구축할 수 있을 것으로 전망했다....

2014.07.10

IDG 설문조사

회사명:한국IDG 제호: ITWorld 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아00743 등록일자 : 2009년 01월 19일

발행인 : 박형미 편집인 : 박재곤 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2022 International Data Group. All rights reserved.

10.4.0.6