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++

안드로이드 개발 언어에 '러스트' 추가… 고질적인 C/C++ 메모리 버그 잡는다

안드로이드 오픈소스 프로젝트가 안드로이드 모바일 OS 개발 언어에 러스트(Rust)를 추가했다. 그동안 OS 개발 작업에서 C/C++가 맡던 부분을 러스트가 맡게 되는데, 이를 통해 메모리 버그를 해결할 것으로 기대하고 있다.   4월 6일 구글 블로그에 따르면, 안드로이드팀은 그동안 안드로이드 내 코드 정확성의 최우선 순위에 보안과 안정성, 품질을 뒀다. 안드로이드에서 고위험 보안 취약점의 약 70%를 차지하는 메모리 세이프티 버그는 안정성 이슈의 주요 과제 정도로 다뤘고, C와 C++의 세이프티 버그는 가장 까다로운 문제로 계속 남아 있었다. 이런 가운데 러스트가 돌파구를 마련할 것으로 기대된다. 안드로이드팀에 따르면, 러스트는 컴파일 시간 체크를 이용해 객체 라이프타임을 강제로 확인하는 방식으로 메모리 액세스가 유효함을 검증하고 결과적으로 메모리 세이프티를 보증한다. C나 C++에 버금가는 성능을 제공하면서 이런 세이프티를 달성한다는 장점도 있다. 러스트는 자바, 코틀린과 함께 안드로이드 OS 개발에서 사용하는 메모리-세이프 언어로 추가됐다. 안드로이드 OS는 플랫폼의 상당 부분에서 메모리 버그를 막는 데 자바를 사용하지만, 자바나 코틀린 모두 OS의 더 낮은 레이어에서는 쓸 수 없는 한계가 있었고, 이들 레이어에서는 C, C++ 같은 언어를 사용했다. 그러나 이제 리소스가 제약된 환경에서 러스트가 C, C++ 대신 예측 가능한 성능을 제공할 수 있게 됐다. 또한 그동안 개발자가 C와 C++를 이용할 때는 메모리 라이프사이클을 직접 관리해야 했는데 이 과정에서 실수가 발생하기 일쑤였다. 특히 복잡한 멀티스레드 코드베이스에서 작업할 때 오류가 많았다. 하지만 러스트는 메모리 사용을 자동으로 관리하므로 이런 실수를 크게 줄일 수 있다. C와 C++는 모두 러스트에 비해 메모리 세이프티 보증이 취약하고 강력한 격리 작업이 필요하다. 모든 안드로이드 프로세스는 샌드박스로 처리되는데, OS 개발팀은 코드 세이프티를 위해 '2의 룰(rule of...

러스트 C C++ 2021.04.12

코로나19로 C 언어 인기 급상승 "의료기기에 많이 사용"

2015년 3월 이후 처음으로 C 프로그래밍 언어가 자바를 대신해 티오베 인덱스에서 가장 인기 있는 개발 언어로 부상했다. 티오베는 C 언어의 부상에 코로나19가 영향을 미쳤을 것으로 추정했다. 티오베는 코로나19가 여러 가지 이유 중 하나일 것이라는 점을 인정하면서 일부 개발 언어가 바이러스의 확산 때문에 인기를 얻고 있다고 설명했다. C와 C++가 인기를 얻고 있는 이유는 의료기기에 많이 사용되기 때문이다. 데이터 과학에 많이 사용되는 파이썬과 R은 바이러스 치료법을 찾는 데 많이 사용된다는 점에서 인기가 더욱 높아졌다. 그렇다면 C의 인기는 계속될 수 있을까? 티오베 CEO 폴 얀센은 C가 최소한 반 년 동안은 1위 자리를 지킬 것이라고 본다. 당분간은 시장 흐름이 자바에 우호적이지 않기 때문이다. 티오베 인덱스는 구글이나 빙, 야후 등의 검색엔진을 사용해 각 개발 언어를 따르는 기술 엔지니어와 강좌, 서드파티 솔루션 업체의 수를 추정한다. 2020년 5월 티오베 인덱스 톱 10은 다음과 같다.   C, 17.07% 자바, 16.28% 파이썬, 9.12% C++, 6.13% C#, 4.29%  비주얼 베이직, 4.18% 자바스크립트, 2.68% PHP, 2.49% SQL, 2.09% R, 1.85% 한편, 튜토리얼 검색 빈도를 이용해 개발 언어 인기도를 측정하는 PyPl의 2020년 5월 순위는 다음과 같다.   파이썬, 31.17% 자바, 17.75% 자바스크립트, 7.99% C#, 7.05% PHP, 6.09% C/C++, 5.67% R, 3.93% 오브젝티브-C, 2.4% 스위프트, 2.26% 타입스크립트, 1.89% editor@itworld.co.kr

개발언어 C++ PYPL 2020.05.06

'SQL, 자바, 파이썬...' 2020년 미국에서 인기 기술 10선

완벽한 IT 일자리를 찾아 안착하는 일은 쉬운 일이 아니다. 하지만 수요가 높은 분야에서 적절한 기술력을 갖추면 이직에 유리할 수 있다. 미국 취업전문 사이트 인디드(Indeed)는 2014년에서 2019년까지 구인 광고에 가장 많이 등장한 ‘기술력’을 분석해 2019년 기술 구인 시장을 주도했던 기술력이 무엇이며 2020년 어떤 기술력이 인기 있을지를 소개했다.    인디드의 경제학자 대니얼 컬버트슨은 “사람들이 새로운 일자리를 찾을 때 종종 원하는 일자리와 관련된 최첨단 기술을 설명하는 검색어를 사용한다”라며, "고용주 측에서는 이러한 능력을 갖춘 고도로 전문화된 기술 인력이 수요가 많다"라고 말했다.  인디드는 보고서에서 2014년 9월부터 2019년 9월까지 인디드닷컴(Indeed.com)에 게시된 구인공고를 쿼리하기 위해 500개가 넘는 기술 용어를 사용했다. 컬버트슨은 “2가지 이상의 직무를 요구하는 데 따른 영향을 조사하기 위해 기술력의 변화를 2가지 구성 요소로 쪼갰다. 하나는 직무 내 기술력 포화 상태(예 : 주어진 직무에 파이썬을 추가로 넣은 구인공기 게시물 수 증가)와 달라진 직무 혼합 상태(데이터 과학자같이 파이썬을 사용하는 직무에서 더 많은 기술력을 요구하는 구인공고 게시물 수)로 기술력의 변화를 나눴다. 모든 기술 직종의 데이터 과학자 비율이 현재의 1/3 정도였던 2014년 9월 수준에서 직무 혼합을 유지하는 것은 시간이 지남에 따라 '조정된' 파이썬 추세가 어떻게 진화했는지를 보여준다. 실제로 모든 기술력에 관해 이 과정을 반복했다”라고 설명했다.  이 연구에 따르면 2020년에는 파이썬, 데이터 과학 기술 및 일부 기존 기술을 포함한 특수 프로그래밍 언어가 IT전문가의 성공 티켓임이 밝혀졌다. 2020년에도 구인시장에서 인기 있을 10대 기술력과 이들이 지난 몇 년 동안 수요가 얼마나 달라졌는지를 알아보자.. 1. SQL 2019년 전체 구인공고 게시물에서 언급된 빈도 : 21.9% ...

리눅스 2020년 스크럼 2019.12.10

AI 개발을 위한 최적의 프로그래밍 언어 6+2선

인공 지능(Artificial Intelligence, AI)는 애플리케이션 개발자에게 무한한 가능성을 제공한다. 머신러닝 또는 딥 러닝을 활용해 훨씬 더 정확한 사용자 프로필, 개인 맞춤 설정, 추천을 만들거나 더 스마트한 검색, 음성 인터페이스 또는 지능형 비서를 구현하거나 그 외의 다양한 방법으로 앱을 개선할 수 있다. 심지어 예전에는 생각지도 못했던, 보고 듣고 상황에 반응하는 애플리케이션을 만들 수도 있다.   AI를 온전히 활용하기 위해서는 어떤 프로그래밍 언어를 배워야 할까? 물론 좋은 머신러닝, 딥 러닝 라이브러리가 풍부한 언어가 좋다. 또한 우수한 런타임 성능, 충실한 툴 지원, 대규모 프로그래머 커뮤니티, 건강한 지원 패키지 생태계도 필요하다. 요구사항이 많지만 괜찮은 선택지 역시 풍부하다.  AI 개발을 위한 6가지 최적의 프로그래밍 언어와, 이 목록에는 들지 못했지만 살펴볼 만한 2가지 언어를 소개한다. 이 가운데에는 인기 상승 중인 언어도 있고 하락세인 언어도 있고 딥 러닝 아키텍처와 애플리케이션의 역사에 관심이 있는 경우에만 알면 되는 언어도 있다. 이제부터 각각의 장단점을 살펴보자. 파이썬(Python) 선두는 여전히 파이썬이다. 사실 다른 언어가 이 자리를 뺏기도 쉽지 않다. 파이썬에도 나름의 골치 아픈 문제는 있지만 AI 작업을 한다면 어느 시점에는 거의 무조건 파이썬을 사용하게 된다. 또한 파이썬의 투박한 부분들도 그동안 어느정도 개선됐다. 2020년을 목전에 둔 지금, 주요 라이브러리 대부분이 파이썬 3.x를 지원하고 파이썬 2.x에 대한 지원을 속속 중단하고 있음을 감안하면 파이썬 2.x냐, 파이썬 3.x냐의 논란은 거의 무의미하다. 즉, 모든 새로운 언어 기능을 마침내 본격적으로 활용할 수 있게 됐다. 모든 솔루션이 각자 다른 방법으로 조금씩 문제가 있는 악몽 같은 파이썬의 패키징은 여전하지만 95%의 상황에서는 별다른 걱정 없이 아나콘다(Anaconda)를 사용할 수 있다. 그럼에도 파이썬 측...

자바 줄리아 루아 2019.11.22

C 프로그래밍 언어가 여전히 최고인 이유 : 개발언어 일대일 비교

어느 기술이든 다른 기술보다 어떤 일을 특별히 잘 하지 않는 50년 이상 살아남을 수는 없다. 더구나 컴퓨터 기술이라면 두 말할 필요도 없다. 그런데 C 프로그래밍 언어는 1972년부터 사용되기 시작해 소프트웨어로 움직이는 지금 시대에도 핵심적인 구성요소 중 하나로 확고히 자리를 잡고 있다. 그러나 사람들이 굳이 대체할 필요성을 느끼지 못하는 이유로 장기간 생존하는 기술도 있다. 지난 수십년 동안 다른 많은 언어가 나타났고, 그 중에서는 노골적으로 C의 아성에 도전한 언어도 있다. 일부는 인기를 끌면서 C의 자리를 가장자리부터 조금씩 갉아먹기도 했다.   C를 대체해야 할 필요성을 주장하기는 어렵지 않다. 프로그래밍 언어에 대한 연구, 소프트웨어 개발 관행, 모두 C보다 훨씬 더 나은 방법이 있다. 그러나 수십년에 걸친 연구개발이 뒷받침하는 C의 위상에는 변함이 없다. C는 성능, 기계적 호환성, 보편성 면에서 다른 언어에 비해 월등히 뛰어나다. 다른 주요 언어와 C를 비교해 보는 것도 나름 의미 있는 일일 것이다.   C vs. C++  C의 가장 흔한 비교 상대는 당연히 C++다. 이름에서 알 수 있듯이 C++는 C의 확장판으로 개발됐다. C++가 C와 다른 점을 요약하자면 광범위함, 또는 받아들이는 사람에 따라서는 과잉이라고 할 수 있다. 구문과 접근 방식은 C와 비슷하지만 C++에는 네임스페이스, 템플릿, 예외, 자동 메모리 관리 등 C에서 기본적으로 제공하지 않는 정말로 유용한 기능도 많다. 데이터베이스나 머신 러닝 시스템과 같이 최상급 성능을 요구하는 프로젝트는 시스템의 모든 성능을 남김없이 활용하기 위해 C++의 이러한 기능을 사용해서 작성되는 경우가 많다. 또한 C++는 C에 비해 훨씬 더 적극적으로 확장을 지속하고 있다. 곧 나올 C++ 20은 모듈, 코루틴, 동기화 라이브러리, 템플릿을 더 쉽게 사용할 수 있게 해주는 개념을 비롯해서 더욱 많은 기능을 새롭게 제공한다. 반면 C 표준의 최신 리비전을 보면 추...

자바 닷넷 파이썬 2019.06.21

“미래를 생각하는 개발자를 위한” 지금 배워야 하는 프로그래밍 언어

프로그래밍 언어 배우기는 어렵지 않다. 경험만 있다면 24시간 이내에 기본은 익힐 수 있다. 구직 시장에서 경쟁력을 높이기 위해 새로운 프로그래밍 국제 공용어를 찾는 중이라면 지금 사용하는 언어도 감안해 선택해야 한다. 다음 중에서 이미 알고 있는 언어를 기반으로 새로운 언어를 선택해 익힐 것을 권한다. 자바에 익숙한 사람이 선택할 만한 언어 자바에 익숙한 사람은 더 이상 참신한 인재는 아니다. 대부분의 비즈니스 소프트웨어가 자바로 작성된 것은 사실이지만 웃돈을 주고라도 자바 개발자를 모셔가던 시절은 진작에 끝났다. 자바 개발자가 선택할 만한 다음 단계는 무엇일까? 다음 언어 중에서 선택해 보자. 스칼라 스칼라는 함수형 자바와 같다. 순수한 함수형을 추구하는 사람들은 스칼라를 무척 선호하는데, 사실 자바에서 스칼라까지의 거리는 상당히 짧다. 더구나 AI와 머신러닝이 뜨고, 아파치 스파크도 스칼라로 작성되는 요즘이라면 고민할 필요도 없어 보인다. 자바스크립트 자바 개발자라면 대형 아웃소싱 업체에서 일하는 경우를 제외하고 통계적으로 35세 이상이 대부분이다. 이들이 기억하는 자바스크립트는 “DHTML”을 만들고 “자바”라는 단어를 같다 붙이기 위해(그만큼 자바가 인기 있었으므로) 넷스케이프 브라우저에 집어넣었던 저급한 스크립트에 머물러 있을 것이다. 그러나 자바스크립트는 바뀌었고 서버 측 소프트웨어도 바뀌었다. 이미 자바를 알고 있으니 함수형 구조를 익혀야 한다. 자바스크립트는 서버 측 및 클라이언트 측 언어가 됐고 “임기응변” 스크립팅 언어가 필요한 거의 모든 곳에 사용된다. 자바스크립트는 개발자의 도구 상자에 넣어두면 쓸모가 있는 언어다. C C를 배운 적이 없는 사람도 있겠지만 요즘 C가 다시 부상 중이다. 게다가 프로그램에 C를 사용하지 않는다 해도 자바의 작동 원리, 동시성 문제 및 경합 조건과 같은 중대한 문제를 디버그하는 방법을 이해하는 데 ...

자바 프로그래밍 루비 2018.03.27

자바스크립트 '여전히 강세', C++ 도약 눈여겨볼 만해

타이오브(Tiobe) 월간 언어 순위 지표에서 C++가 가장 많은 상승률을 확보한 가운데, 자바스크립트는 여전히 강세인 것으로 드러났다. 지난 2014년 7월 이후 C++의 인기도가 크게 올랐다. 타이오브 보고서는 “지난해와 비교해 C++의 인기는 3.1% 증가했다. 자바(2%), C#(1.6%), 파이썬(1.6%) 상승 수치를 넘어선다”고 말했다. 2015년 7월을 기준으로 C++의 점유율은 8.641%이며, 지난해는 5.521%를 기록했다. 타이오브는 구글, 위키피디아, 빙과 같은 사이트에서 검색된 언어 공식을 토대로 언어 인기도를 측정한다. 지난 2011년 발표된 C++ 11은 스레드 수준으로 락 프리(lock-free) 동시성 지원을 위한 표준 및 형식 안전(type-safe) 지원과 같은 기능을 소개했다. 지난해에는 제네릭 람다(Generic Lambdas)를 표현할 수 있는 기능이 추가되기도 했다. 지난여름 인포월드(InfoWorld)와의 인터뷰에 응한 C++ 창시자인 비야네 스트롭스트룹은 C++의 강점은 빠르게 운용할 수 있으면서도 복잡성을 다룰 수 있다는 것이라고 밝힌 바 있다. 타이오브의 총괄을 담당하는 폴 안센은 서면 인터뷰에서 컴파일러 부문에 대한 C++ 11의 최신 지원은 인기도를 높였다고 말했다. 안센은 “실제 산업 프로젝트에서 최신 C++ 11 컴파일러를 도입하고 최신 기능을 사용하고 있다는 점을 엿볼 수 있었다”고 말했다. 레드몽크(RedMonk)도 이달 초 개발 언어 인기 순위를 발표했다. 자바스크립트가 가장 큰 인기를 얻고 있으며, 자바가 그 뒤를 이었다. 이는 지난 1월에 발표한 순위와 같은 결과다. 레드몽크는 스택 오버플로우(Stack Overflow)에서의 언어 토론에 관한 평가와 깃허브(GitHub)의 사용량에 따라서 순위를 매긴다. 자바스크립트와 자바의 순위에는 약간의 변화가 생겼다. 레드몽크의 애널리스트인 스데판 오그레디는 순위 자료를 첨부한 보고서에서 &...

자바스크립트 개발언어 C++ 2015.07.21

35년된 C++가 아직도 '진짜' 개발자들에게 애용되는 이유...스트로스트룹

C++ 언어는 1979년 비얀 스트로스트룹이 고안했다. 시스템 프로그래밍을 위한 범용 언어인 C++는 자바, 자바스크립트, 파이썬(Python), 고(Go), 그리고 애플이 새롭게 공개한 스위프트(Swift)의 도전에도 불구하고 여전히 개발자들에게 절대적인 존재로 군림하고 있다. 현재 모건 스탠리 테크놀로지스트이자 콜롬비아 대학과 텍사스 A&M 대학 교수인 비얀 스트로스트룹은 인포월드 편집장 폴 크릴과 현재 C++의 역할, 그리고 구글 고와 애플 스위프트 언어 등 소프트웨어 개발 분야의 여러 사안에 대한 대담을 나눴다. 인포월드: 파이썬, 자바스크립트와 같은 스크립팅 언어가 인기를 끌고 자바는 물론 구글 고와 같은 언어까지 사용되는 현재, C++의 역할은 어디에 있다고 보는가? 스트로스트룹: 좋은 질문이다. 사람들은 20여 년 전부터 C++의 종말을 열심히 예측해 왔지만, C++는 여전히 성장 중이다. 기본적으로 복잡함을 빠르게 처리하는 데 있어 C++를 능가하는 언어는 없다. 임베디드, 이미지 프로세싱, 통신 애플리케이션, 금융 애플리케이션 등 모두 C++가 지배적으로 사용된다. 애플리케이션 분야에서는 그다지 많이 사용되지 않는다. 구글, 아마존, 검색 엔진 등 성능이 무엇보다 필요한 영역, 그런 곳이 바로 C++가 사용되는 분야다. 인포월드: 최근 구글 고 언어에 대한 관심이 높다. 구글 고에 대해 어떻게 생각하는가? 스트로스트룹: 몇 가지를 매끄럽게 처리할 수 있는 언어들 가운데 하나인 것 같다. 그러나 특정 작업을 매끄럽게 처리하는 데 집중하는 언어는 성능과 보편성 측면에서 다소 떨어진다. 물론 앞으로 어떻게 될 지는 알 수 없다. 인포월드: 새로 등장한 일부 스크립팅 언어들은 개발자들이 손쉽게 사용할 수 있는 언어를 목적으로 한다. C++는 이런 언어들에 비해 더 많은 학습이 필요한 언어라고 생각하는가? 스트로스트룹: 물론 그렇다. C++는 이른바 하드코어 애플리케이션에 맞게 고안된 언어이며 예전부터 항상 ...

C++ 스트로스트룹 2014.08.19

“유명 상표를 넘어서” 새롭게 떠오르는 10가지 프로그래밍 언어

오늘날 사용되는 프로그래밍 언어의 수는 엄청나게 많다. 그러나 대부분의 조직은 어떤 프로그래밍 문제에 직면하든 '유명 상표'인 소수의 언어로만 대처한다. 자바, C++, 자바스크립트, PHP, 루비 등 개발자들이 항상 사용하는 검증된 코드들이다. 하지만 어떤 문제는 새로운 접근 방법과 새로운 도구를 필요로 한다. 여기서는 새로운 방식의 유용성으로 주목을 받고 있는 10가지 프로그래밍 언어를 살펴보자. 범용적인 기능부터 특화된 용도에 이르기까지 다양하며 그 뿌리도 리스프부터 자바에 이르기까지 광범위하다. 이 언어들은 앞으로 발전해 나가면서 현대 프로그래밍에 중대한 영향을 미칠 수도 있다.  editor@itworld.co.kr

자바 에지슨 클로저 2014.04.21

'윈도우 8에서 더 빛난다' 비주얼 스튜디오 2012 집중분석 - IDG Tech Review

비주얼 스튜디오는 더 이상 단순한 통합개발환경(IDE)이 아니다. C/C++ 코드를 작성하고 디버그하는 툴도 아니다. 비주얼 스튜디오는 2012 버전으로 업그레이드되면서 모든 개발 과정에 걸쳐 모든 작업을 할 수 있는 궁극적인 개발자 도구로 진화했다. 새로운 ‘비주얼 스튜디오 2012’를 보면 이 툴을 이용해 할 수 없는 일이 무엇인지 궁금할 정도다. 절대적이고 완벽한 프로그램이라고 말할 수는 없지만 여기에 한발자국씩 더 가까워지고 있다. <주요내용> 윈도우 8 지원: 윈도우 스토어용 앱 개발 닷넷 4.5 업데이트: 자동-매지컬 멀티쓰레딩 C++11 지원: 원자기능, AMP 등 래프트와 미리보기, 그리고 실전 개발 테스트 윈도우 8에서 더 빛나는 비주얼 스튜디오 2012

C++ 비주얼 스튜디오 2012 메트로 앱 2013.05.29

안드로이드 지원받은 자바, 11월 가장 인기있는 언어 '유지'

개발자들이 가장 많이 보유한 프로그래밍 언어의 순위를 정하는 티오브 소프트웨어 이 달의 지수에서 자바가 1년전부터 사용성에서 살짝 미끄러지고 있음에도 불구하고 여전히 가장 인기있는 프로그래밍 언어의 자리를 지켜냈다.    자바는 지난달 말의 17.90%과 거의 비슷한 17,87%의 개발자가 사용하고 있었다. 그러나 올해 초와 비교했을 때는 0.63% 떨어진 수치다. 이런 추세를 바탕으로 티오브는 이번 달에는 C 언어가 자바의 최고 위치를 대신할 것이라고 기대했지만 그런 일은 일어나지 않았다.    자바 유저는 안드로이드 애플리케이션 개발에서 자바의 좋은 점을 들었다. 티오브 전무 폴 얀슨은 “모바일 시장에서 확실히 성장한다”며, “자바 기반의 안드로이드 플랫폼은 개발자 사이에서 꽤 인기가 있다”고 말했다.     개발자 가운데 17.32%가 사용하는 C 언어는 2위 자리를 차지했다. 이 수치는 1년동안 0.61%가 증가했지만, 지난달 17.70%보다는 조금 떨어졌다. 3위는 C++이 8.08%, 마이크로소프트의 C#은 7.32%로 4위였다. 반면 PHP가 6.1%가 조금 안되는 수치로 5위를 차지했다.    얀센은 “애플의 오브젝트 C는 5.98%로 6위에 등록되면서 티오브의 ‘올해의 프로그래밍 언어’ 후보로 부상했다”고 밝혔다. 맥 OS X와 아이패드, 아이폰의 iOS용 애플리케이션 개발에 사용되는 오브젝트 C는 2.79% 증가로 사용성에 있어서 가장 높은 증가를 보였다.    한편 구글의 새로운 언어인 다트는 지난달 107위에서 11월에 63위로 뛰어올랐다. editor@itworld.co.kr

자바 프로그래밍 언어 2011.11.10

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

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

Copyright © 2022 International Data Group. All rights reserved.