Offcanvas
Some text as placeholder. In real life you can have the elements you have chosen. Like, text, images, lists, etc.
Offcanvas
1111Some text as placeholder. In real life you can have the elements you have chosen. Like, text, images, lists, etc.

컴파일러

“목표는 C++ 현대화” 새 컴파일러 ‘Cpp프론트’ 공개

‘Cpp프론트(Cppfront)’는 유서 깊은 프로그래밍 언어인 C++를 ‘10배 더 간단하고, 안전하며, 도구를 사용하기 쉽게’ 만드는 대체 C++ 구문용 실험적 컴파일러다.    C++ 언어가 ‘Cpp프론트’라는 제안에 따라 더 간단하고 안전해질 예정이다. 이는 유명 C++ 개발자 허브 셔터가 제안한 실험적인 C++ 프론트엔드다. 그는 ISO C++ 위원회 의장, C++ 기능 설계자, 마이크로소프트 소프트웨어 아키텍트 등을 맡고 있다. 셔터는 해당 프로젝트의 깃허브 리포지토리에서 이를 C++의 중요한 발전이라고 언급하면서, “Cpp프론트는 C++이 10배 더 간단하고, 안전하며, 쉽게 도구를 사용할 수 있게 진화할 수 있는지 탐구하도록 설계된 실험적인 컴파일러다”라고 설명했다.  그에 따르면 대체 C++ 구문은 ‘오늘날 존재하지 않는 새로운 코드의 거품’을 제공하여, C++ 언어 설계자가 기본값을 변경하거나, 안전하지 않은 파트를 제거하거나, 언어를 문맥에서 자유롭거나 순서 독립적으로 만드는 등 임의적인 개선을 할 수 있게 한다. 유형 및 메모리 안전은 기본으로 지원된다. 이어 셔터는 “또한 두 번째 구문을 통해 파서(parser), 리팩토링 및 기타 도구를 쉽게 작성할 수 있도록 한다. 아울러 구문이 현 C++보다 2배로 줄어들어 C++ 20 모듈과 C++ 23 import std를 기본값으로 만든다”라고 전했다.  Cpp프론트 컴파일러는 현재 진행 중인 프로젝트다. 이 프로젝트 자체는 지난 7년 동안 개발돼 왔지만 지난주 미국 콜로라도주 오로라시에서 열린 컨퍼런스(CppCon)에서 일종의 ‘데뷔 파티’가 있었다. Cpp프론트는 MSVG, GCC, Clang을 포함한 메이저 C++ 20 컴파일러로 빌드된다. 지침은 깃허브에서 확인할 수 있다.  한편 지난 7월 말 구글은 C++의 후계자를 목표로 개발 중인 카본(Carbon)을 공개한 바 있다. 카본을 통해 C++와의 원활한 양방향 상...

C++ 프로그래밍 언어 개발 언어 2022.09.23

웹어셈블리를 활용한 유망한 프로그래밍 언어 프로젝트 10가지

현재의 웹 애플리케이션은 속도와 응답성 측면에서 네이티브 데스크톱 애플리케이션에 비할 바는 아니다. 하지만 대등해진다면 어떨까? 그게 웹어셈블리(WebAssembly)의 약속이다.   웹어셈블리는 어셈블리와 비슷한 저수준 언어로, 웹 브라우저에서 네이티브에 근접한 성능으로 실행되는 간소한 바이너리 형식을 갖고 있다. 또한 웹어셈블리는 C/C++, 러스트, 고, 코틀린, 스위프트 및 기타 프로그래밍 언어에 대한 이식 가능한 컴파일 타겟도 제공한다.   웹어셈블리는 웹 애플리케이션 성능을 높이고 브라우저 앱 개발에서 자바스크립트 이외의 언어를 사용할 수 있게 해준다는 두 가지 측면에서 기대를 모으고 있으며 구글, 모질라, 애플, 마이크로소프트의 지지를 받고 있다. 4개 조직 모두 각자의 브라우저 엔진에서 웹어셈블리 기술을 지원한다.   웹어셈블리는 그 성능을 활용하는 완전히 새로운 프로그래밍 언어를 포함한 여러 신기술 개발로 이어졌다. 다음은 웹어셈블리에 '올라탄' 10개 언어 프로젝트다.   바이너리엔(Binaryen) 바이너리엔은 웹어셈블리를 위한 컴파일러 툴체인 인프라 라이브러리다. C++로 작성됐고 웹어셈블리 컴파일을 쉽고 효과적으로, 빠르게 하도록 고안됐다. 단일 헤더에 C API가 있으며 자바스크립트에서 사용할 수 있다. 입력은 웹어셈블리와 비슷한 형식으로 받지만 제어 그래프를 선호하는 컴파일러에 대해서는 일반 제어 그래프도 받는다.   바이너리엔의 내부 IR(Intermediate Representation)은 컴팩트한 데이터 구조를 사용하며 병렬 코드 생성과 최적화를 위해 모든 CPU 코어를 활용한다. IR도 기본적으로 웹어셈블리의 하위 집합이므로 손쉽게 웹어셈블리로 컴파일된다. 웹어셈블리를 위한 최적화는 코드 크기와 속도를 모두 개선하므로 바이너리엔은 그 자체로 컴파일러 백엔드로 유용하다.   깃허브에서 다운로드할 수 있다.   블레이저 웹어셈블리(Blazor WebAssembly) 블...

웹어셈블리 컴파일러 어셈블리 2021.06.04

2019년 인기 급상승 개발언어는 C : 티오베 인덱스

티오베 인덱스(TIOBE Index)에서 C 프로그래밍 언어가 최신 유행의 파이썬을 누르고 2019년 인기 상승폭이 가장 큰 언어로 선정됐다. 2018년 1위를 기록한 파이썬은 올해도 우승 후보로 점쳐졌지만, C가 지난 한 해 동안 2.4%p 상승하며 1위를 차지했다. C#(2.1%p), 파이썬,(1.4%p), 스위프트(0.6%p)가 뒤를 이었다.   C의 부활을 이끈 것은 IoT 환경의 소형 디바이스용 프로그래밍에 C가 사용되기 때문이다. 티오베는 이 외에도 C가 배우기 쉽고 컴파일러를 모든 프로세서용으로 사용할 수 있다고 평가했다. 티오베 인덱스는 구글이나 빙, 위키피디아 등의 인기 검색엔진에서 프로그래밍 언어 검색을 평가하는 공식을 기반으로 한다. 티오베의 2020년 1월 인기 프로그래밍 언어 순위는 다음과 같다. 1. 자바, 16.896% 2. C, 15.773% 3. 파이썬, 9.704% 4. C++, 5.574% 5. C#, 5.349% 6. 비주얼 베이직 닷넷, 5.287% 7. 자바스크립트, 2.451% 8. PHP, 2.405% 9. 스위프트, 1.795% 10. SQL, 1.504% 한편, 경쟁 관계인 PyPL((Popularity of Programming Language) 인덱스는 구글에서 각 개발언어의 튜토리얼이 얼마나 자주 검색됐는지를 기반으로 한다. PyPL의 2020년 1월 순위는 다음과 같다. 1. 파이썬, 29.72% 2. 자바, 19.03% 3. 자바스크립트, 8.2% 4. C#, 7.28% 5. PHP, 6.09% 6. C/C++, 5.91% 7. R, 3.72% 8. 오브젝티브-C, 2.47% 9. 스위프트, 2.36% 10. 매트랩, 1.79% editor@itworld.co.kr

컴파일러 순위 파이썬 2020.01.09

철 지난 애널리틱스 전략은 잊어라", 애널리틱스 향후 전망 5가지

정보화 시대에서는 일찍 일어난 새가 아니라 데이터를 가진 새가 벌레를 잡는다. 구글, 페이스북, 애플 등 거대 기업들이 데이터를 병적으로 수집하는 이유도 이 시대에서 '정보가 곧 금'이라는 것을 알고 있기 때문이다. 그러나 데이터는 단순히 수집해 보유하는 것만으로는 가치가 없다. 더 중요한 것은 이런 데이터를 정제해 통합하고, 거기에서 유의미한 정보를 도출해 내는 과정이 필요하다. 그리고 그 과정이 끝난 후에야 의사 결정과 상품 제작에 데이터를 '활용'할 수 있게 된다. 그렇지만 오늘날 과포화 상태인 애널리틱스 시장 상황에서도 제대로 된 애널리틱스 전략을 세우는 것이 불가능하지만은 않다. 광활하고 복잡한 애널리틱스 분야에 대한 이해를 돕기 위해, 이 분야에 대해 개인적으로 생각하는 향후 5년 이내의 전망을 소개하려 한다. 어쩌면 이 예측 내용으로 좀 더 데이터 주도적인 기업으로 거듭나는 것이 가능해 질 지도 모른다. 1. 앱으로 이전하는 BI 지난 20여 년 동안 우리는 혁명을 목격해 왔다. 하루아침에 일어나는 혁명이 아니라, 오랜 시간을 두고 일어나는 혁명 말이다. 사실 너무 오랜 시간이 걸려서 혁명이 혁명인줄 모르는 사람들도 있다. BI는 죽어가고 있다. 아니, 좀 더 정확히 말하자면 다시 태어나고 있다. 창립 20주년이 넘은 기업 '태블로(Tableau)'는 마지막 'BI' 업체였다. 그리고 솔직히 말해 태블로는 주력 BI 솔루션도 아니다. 원래는 데이터 시각화 툴이었던 것이 충분한 BI 요소를 갖추게 됨에 따라 당시 업계를 호령하던 골리앗과 맞설 수 있게 된 것 뿐이다. 매년 사용자들은 허브스팟(HubSpot), 세일즈포스(SalesForce), 메일침프(MailChimp)와 같은 앱들을 통해 점점 더 많은 애널리틱스를 우겨넣고 있다. 애널리틱스는 비즈니스 애플리케이션의 구조 그 자체로의 이전이라고 할 수 있을 것이다. 핵심은 비즈니스 애플리케이션들이 자사의 데이...

BI 데이터 컴파일러 2017.10.27

개발자의 마음을 차지하기 위한 전쟁 10가지

인간의 본능인지, 사회 형성의 불가피한 산물인지 몰라도 우리 삶의 많은 부분이 이원론을 통해 규정된다. 공산주의 대 자본주의. 세이보리 대 설탕. 패스 대 드리블. 어디를 보든 대립은 끝이 없다. 그래서 둘 중에 어느 편에 서는가로 우리 스스로를 정의할 수 있는 경우도 무수히 많다. 컴퓨터 업계에서는 이러한 현상이 더욱 두드러진다. 각종 기술들이 (사람들의 마음과 돈을 차지하기 위해 경쟁하면서) 경쟁 솔루션과 다른 고유한 장점을 통해 스스로를 정의한다. 한 편에 X가 있고, 그 반대편에는 X가 아닌 것이 있다. 그 뒤로 팬보이들이 줄을 서서 상대편을 조롱하고 깎아 내린다. 이러한 대립이 없다면, 치열한 논쟁과 선택권이 없다면 아마 오래 전에 코드 저장소는 하나로 통합되고 사람들은 사이 좋게 잘 지내게 되었을 듯하다. 다만 혁신도 그만큼 줄었을 것이다. 다음은 현재 개발자들 사이에서 볼 수 있는 가장 흥미로운 10가지 대립이다. 새로운 프로젝트를 수행할 때마다 우리는 이러한 기술이 갖는 차이점의 기저가 되는 근본적인 질문들에 직면한다. 간단함과 정확성 중 무엇을 선호하는가? 오픈소스냐, 기업 지원이냐? 대괄호냐, 공백이냐? 이러한 질문들은 마치 음과 양처럼 기업 개발자들 사이의 균형을 이룬다. 개발자 기술 대결 1: PHP 대 Node.js 컴퓨터 과학자들은 좋아하지 않는 PHP는 웹 사이트에 소소한 지능을 추가하고자 했던 사람들 사이에서 처음 도입됐다. 이들 덕분에 워드프레스(WordPress), 드루팔(Drupal), 줌라(Joomla)와 같은 빼어난 프레임워크들이 나왔다. 웹은 대부분 PHP를 기반으로 한다. 그런데 이 모델에 균열이 생겼다. 젊은 개발자들은 자바스크립트로 프로그래밍된 서버 측 메커니즘인 Node.js에 심취해 있다. 어느 순간부터 프로그래머들은 클라이언트 또는 서버에서 실행되는 코드를 작성할 수 있게 됐다. 두 개의 언어를 따로 배울 필요가 없어졌다. Node.js에도 나름의 단점은 있지만, 강력한 PHP 스택과 대...

데이터베이스 컴파일러 개발툴 2014.10.15

자바스크립트 코딩을 즐겁게 해주는 9가지 프로그래밍 언어

자바스크립트는 IT 생태계에서 리눅스, 가상화 못지않게 광범위하게 확산되면서 필수적인 기술로 자리를 잡았다. 그러나 구문상의 함정, 이상한 설계 상의 특징, 그리고 여러 가지 제약으로 인해 숙련된 개발자들조차 넌더리를 내는 경우가 종종 있다. 다행히 자바스크립트 프로그래밍의 골치 아픈 문제를 해결하고자 다양한 자바스크립트 미니 언어가 생겨났다. 자바스크립트로 컴파일되는 이들 언어는 자바스크립트 자체에는 없는 기능을 제공하며, 자바스크립트보다 더 쉽게 코딩, 유지, 디버깅이 가능하다. 기존 언어를 자바스크립트로 컴파일해주는 트랜스파일러도 있지만, 여기서는 자바스크립트로 컴파일되도록 만들어진 언어만 살펴본다.

컴파일러 자바스크립트 카페인 2014.06.30

마이크로소프트, 클라우드 기반 컴파일러 서비스 소프트웨어 '로슬린' CTP 공개

마이크로소프트는 자사의 연구원들이 설계한 새로운 유형의 컴파일러인 코드명 ‘프로젝트 로슬린(Project Roslyn)’ CTP(Community Technology Preview)를 발표할 예정이다. 라고, C# 프로그래밍 언어를 감독하는 마이크로소프트 임원이 밝혔다.     마이크로소프트의 빌드 컨퍼런스에서 C#을 관장하는 앤더슨 헬스버그는 “이 프로젝트는 컴파일러 작업의 개정안”이라며, “컴파일러를 열고 개발자에게 유용한 정보를 만들어서, 지식으로 모두 활용할 수 있다”고 말했다.   로슬린은 개발자들이 코드를 미세 조정하는데 사용할 수 있는 API(Application Programming Interfaces)의 집합으로, C#와 비주얼 베이직용 컴파일러이다. 이는 컴파일러가 프로그램에 대해 생성된 정보를 라이브러리로 구축해 재활용할 수 있는 모델인 미구엘 드 아카자의 모노 프로젝트(Miguel de Icaza's Mono Project)와 유사하다. 헬스버그는 “현재의 상용화된 컴파일러는 블랙박스”라며, “컴파일러는 두 개의 실행 프로그램에서 소스 코드를 변환하는 프로그램으로, 내부적으로 컴파일러는 설계될 때의 프로그램에 대한 많은 정보를 생성하지만, 일반적으로 개발자들이 그 데이터에 액세스하지 않는다”고 설명했다.   로슬린은 이 데이터에 액세스하는 하는 것을 도와주며, 데이터는 그 다음 프로그래머들이 비주얼 스튜디오를 이용해 더 많은 옵션을 생성하는데 활용된다.   개발자들은 다른 언어로 작성된 프로그램을 C#과 비주얼 베이직 기능을 추가해 좀더 쉽게  코딩을 재구성하거나 리팩터하는 소프트웨어를 탄생시키기도 한다. 또한 개발자들은 상용 프로그램에 개체 및 새로운 변수를 추가하도록 해, 정적으로 입력된 C#과 비주얼 베이직에 동적 ...

마이크로소프트 컴파일러 로슬린 2011.09.16

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

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

Copyright © 2022 International Data Group. All rights reserved.