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.

언어

“리액트·엥귤러 지고, 스벨트·솔리드 뜬다” 자바스크립트 현황 2022’ 보고서

자바스크립트의 인기도와 사용 현황을 파악할 수 있는 ‘자바스크립트 현황 2022’ 보고서가 1월 10일 공개됐다. 해당 보고서에 따르면, 자바스크립트와 타입스크립트는 여전히 높은 인기를 누리고 있으며, 리액트(React)와 엥귤라(Angular)는 개발자의 관심에서 조금씩 멀어지고 있다.    이번 보고서는 39,472명의 개발자를 설문조사해서 작성됐다. 구체적으로 살펴보면, 스벨트(Svelte), 솔리드(Solid), 퀵(Qwik)의 인기도가 점점 높아지고 있는데, 세 언어 모두 높은 성능에 특화된 프론트엔드 프레임워크다. 반면에 자바스크립트 업계의 터줏대감이라고 부를 수 있는 뷰(Vue), 리액트, 엥귤러의 인기도는 낮아지고 있다. 다만 리액트 사용 경험이 있다고 밝힌 응답자 중 82%는 다시 리액트를 사용하겠다고 표현했다. 같은 질문에 엥귤러 개발자는 49%, 뷰 개발자는 42%가 다시 사용하겠다고 설명했다.  설문조사에는 각 프레임워크에 대한 재사용률, 관심도, 실제 사용 현황, 인지도를 확인하기 위한 질문도 있었다. 가령 엥귤러JS에 관심이 있다고 말한 응답 비율은 2016년 68%였지만 올해는 43%로 나왔다. 뷰를 학습하고 싶다고 말한 비율은 2018년 91%이었으나, 2022년은 77%이었다. 이런 결과에 대해 구글의 사라 드라스너는 “해당 수치가 오히려 기술의 성숙도를 보여주는 신호일 수 있다”라고 의견을 보탰다. 사용자의 관심 감소와는 별개로 리액트와 엥귤러는 업계에 널리 사용되는 프레임워크임다. 그외에 보고서에서 발견할 수 있는 흥미로운 요소는 다음과 같다.    자바스크립트 언어에서 제공하는 새 기능 중 nullish 병합 연산자, top level await문, string.prototype.replaceAll, 다이나믹 임포트를 인지하고 사용하는 개발자의 비율이 높았다. nullish 병합 연산자를 알고 있는 개발자 중 81.7%가 실제 해당 기능을 활용했으며 top level aw...

자바스크립트 언어 인기 2023.01.13

"AI 통해 실제 문제 해결" 구글, AI가 기술 확장하는 방법 3가지 공개

"2012년 이전에는 컴퓨터가 말이나 글을 보고, 듣고, 이해하는 데 정말 어려움을 겪었다. 지난 10년 동안 우리는 AI 분야에서 특히 빠른 발전을 이루었다. 그리고 오늘 변화하는 AI의 세 가지 영역에 대해 소개한다. 첫째는 AI를 사용하여 더 많은 언어로 기술에 액세스 할 수 있도록 하는 것이다. 둘째는 AI가 창의성을 강화할 수 있는 방법을 탐색한다. 셋째는 기후 적응을 포함한 사회적 공익을 위한 AI다." 구글의 제프 딘 선임 연구원이 구글 블로그에 'AI가 전 세계적으로 유용한 기술을 확장하는 3가지 방법(3 ways AI is scaling helpful technologies worldwide)'이라는 제목으로, 구글이 진행하고 있는 혁신적인 인공 지능 기술 활용 사례를 공개했다. 단순한 기술의 측면에서도 의미가 있지만 인공 지능이 사람과 지구에 어떤 긍정적인 영향을 제공하는 지를 소개한 것이다. 첫 번째는 인공지능으로 더 많은 사람들이 의사소통할 수 있도록 하는 것이다. 구글은 이를 위해 궁극적으로 1,000개의 언어를 지원하는 이니셔티브를 발표했다. 전 세계적으로 사용되는 7,000개 이상의 언어 중에서 가장 널리 통용되는 1,000개의 언어를 인공지능 언어 모델로 구축한다. 단순히 웹에서 수집한 테스트로 언어 모델을 훈련하는 전통적인 방법은 이제 한계가 있고, 이미지, 비디오, 음성 등 정보를 공유하는 형태도 다양해지고 있다. 이를 보완하기 위해 400개 이상의 언어로 훈련된 범용 음성 모델(Universal Speech Model)을 개발했고, 이를 확장하고 전 세계 커뮤니티와 협력해 인공지능을 활용한 언어 지원을 계속해서 늘려간다는 계획이다.   두 번째 AI를 활용한 창의성 강화는, 제너레이티브(Generative) AI의 핵심이다. 텍스트, 음성, 비디오 등 다양한 형식을 인공지능 데이터로 활용하는 멀티모달(MultiModal) AI로, 크리에이터와 아티스트의 역량을 강화하는 것이다. 이러한 멀티모달 기반의 제너레이...

구글 기후변화 언어 2022.11.07

자바가 여전히 위대한 개발 언어인 7가지 이유

소프트웨어 분야에서 가장 흥미로운 현상 중 하나는 자바의 끈질긴 생명력이다. 언어이자 플랫폼으로써 자바는 기술 세계의 급격한 변화를 거치면서도 생존했고 자바 내부 구조도 그에 맞춰 변화됐다. 자바는 어떻게 해서 20년 이상 엔터프라이즈와 오픈소스에서 모두 중심을 유지하고 있을까? 가장 중요한 몇 가지 요소를 살펴보자.     자바 커뮤니티 프로세스 자바는 여러 가지 작업을 더 편리하게 하기 위한 대안으로 탄생했다. 지금은 그동안 반복된 도전에도 불구하고 모두가 인정하는 엔터프라이즈 소프트웨어의 기둥이다. 급격한 변화를 겪으면서도 자바가 그 생명력을 유지하는 이유는 무엇일까? 한 가지 중요한 요소는 개발자의 참여를 이끌어 자바의 활발하고 동적인 힘을 유지하는 거버넌스 구조와 이를 통해 촉진되는 커뮤니티의 열정이다. 자바의 거버넌스는 매끄럽고 기계적인 운영과는 거리가 멀어서, 서로 경쟁하는 이해와 조직의 혼란스러운 조합이다. 이들은 자바 커뮤니티 프로세스(JCP)와 자바 사양 요청(JSR)을 통해 저마다 목소리를 낸다. JCP는 자바 기술에 대해 깊은 관심을 두고 있는 사람들의 기여와 충돌 해결을 위한 창구다. 관료주의와 정치, 창의성의 독특한 조합이다. 현실의 민주주의와 비슷하다고 할 수 있다. 자바가 성공적으로 람다와 클로저를 포용한 것은 오랜 자바 프로그래머에게는 정말 놀라운 사건이었다. 객체 지향 프로그래밍 언어에 함수 구조를 추가한다는 것은 많은 논란을 일으킨 과감한 결단이었다. 하이버네이트, 스프링(각각 JSR 317, JSR 330)과 같은 기술에 의해 도입된 개념도 공식 플랫폼에 흡수됐다. 자바처럼 광범위하게 사용되는 기술이 여전히 새로운 아이디어를 통합한다는 것은 고무적인 일이다. 커뮤니티에 대한 자바의 기민한 대응은 유용한 개선을 도입하도록 이끈다. 개발자는 자신이 속한 시스템이 변화하는 세계에서 성공하기 위해 끊임없이 개선되는, 살아있는 시스템이라고 느끼게 된다. 자바의 동시성 모델을 재설계하기 위한 대대적인 작업인 ...

자바 언어 개발자 2022.07.21

다트 2.5, 코드 완성 위해 머신러닝 활용

구글의 다트(Dart) 2.5 SDK는 머신러닝 기반 코드 완성 미리보기와 C 상호운용성을 위한 외부 기능 인터페이스를 제공한다.   구글이 머신 코드나 자바스크립트를 컴파일해 개발한 언어인 다트의 최신 버전 다트 2.5에는 머신러닝 기반 코드 완성에 대한 기술적인 미리보기와 C 코드 호출용 외부 기능 인터페이스가 포함되어 있다. 구글 다트팀이 밝힌 다트 2.5 SKD의 베타 기능은 다음과 같다. - ML 컴플리트(ML Complete)는 머신러닝을 사용하여 탐색해야 할 API 수가 증가함에 따라 완료 목록이 길게 늘어지는 문제를 해결해 준다. 텐서플로 라이트 기반 모델은 주어진 컨텍스트를 기반으로 학습된다. ML 컴플리트는 다트 애널라이저에 들어 있으며, 안드로이드 스튜디오와 비주얼 스튜디오 코드(Visual Studio Code) 같은 다트 지원 편집기에서 사용할 수 있다. - 다트-C 인터롭용 dart:ffi는 외부 함수 인터페이스로 호스트 OS에서 C 기반 시스템 API를 호출하거나 C 기반 시스템 라이브러리를 호출할 수 있다. 외부 함수 인터페이스는 다트에서 C 코드 호출에 대한 더 나은 지원을 요청하는 개발자에게 응답한다. 이 지원은 지금까지 기본 확장을 통해 다트 VM으로의 긴밀한 통합으로 제한되었다. 또한 다트 2.5에는 캐스트를 사용하고 흐름을 제어하는 기능과 다트 2.3에서 제공되는 수집 기능을 포함해 상수 표현식을 정의할 수 있는 확장된 지원 기능이 있다. 다트에 관한 향후 계획에는 기본적으로 NULL을 허용하지 않는 사운드 트래킹 유형 시스템 구현이 있어야 한다. 이 계획에는 스마트폰에서 멀티 코어 프로세서를 더 잘 사용하기 위해 동시성 향상도 들어갈 수 있다. 자바스크립트 경쟁 언어로 고안된 다트는 이제 모든 플랫폼에서 빠른 애플리케이션을 위한 클라이언트 최적화 언어로 자리매김했다. 명령행 스크립트뿐 아니라 모든 기능을 갖춘 모바일, 웹, 서버단 애플리케이션을 작성하는 데도 사용할 수 있다. dart.dev 웹 사...

JavaScript ML 자바스크립트 2019.09.19

토픽 브리핑 | 현 시점에서 배워야 할 프로그래밍 언어들

세상을 움직이고 변화시키는 원동력은 다양하다. 하지만 이런 변화의 중심에는 항상 IT가 있었다. 오늘날 비즈니스 현업 사용자는 IT를 모르고서는 할 수 있는 업무는 그리 많지 않다. 과거에는 오피스 프로그램이나 자신의 업무와 관련된 시스템 정도만 이해해도 충분히 버틸만 했다. 하지만 최근에는 IT를 통해 데이터를 분석해 인사이트를 찾아내고, 새로운 비즈니스를 창출하고, 기업 경쟁력를 확보해야 한다.  개발자라면 자신의 무기를 확장하고, IT 관리자라면 자신의 경쟁력을 강화하며, 현업 사용자라면 현재 비즈니스를 위해 프로그래밍 언어를 배워야 할 때다. 자신이 개발자가 아니라면 ▲웹의 언어인 HTML, CSS, 자바스크립트 ▲차트와 시각화에 쓸모가 있는 R ▲기초 중의 기초인 C ▲자동화를 위한 배시 셸(Bash shell)를 배우는 것이 좋다.  현업 사용자의 경우, 자신은 이미 늦었다고 생각할지도 모른다. 하지만 뒤에서 소개할 인공지능, 사물 인터넷, 블록체인에서 인기있는 프로그래밍 언어의 대부분은 현재 개발 전문가조차도 학창 시절에는 들어보지도 못한 것들이다.  “미래를 생각하는 개발자를 위한” 지금 배워야 하는 프로그래밍 언어 인공지능과 관련이 있다면 배워야 할 프로그래밍 언어   인공지능(AI)은 애플리케이션 개발자에게 새롭게 열리는 가능성의 세계다. 머신러닝 또는 딥 러닝을 활용함으로써 훨씬 더 정밀한 사용자 프로필과 개인화, 추천이 가능하며, 스마트 검색, 음성 인터페이스 또는 지능적인 가상비서를 구현하거나 그 외의 다양한 방법으로 앱을 개선할 수 있다. 심지어 보고 듣고 반응하는 애플리케이션도 만들 수 있다.  이에 필요한 대표적인 프로그래밍 언어는 파이썬(Python)이다. 파이썬은 인공지능에 있어 탁월한 언어이며, 특히 파이썬의 라이브러리는 다른 언어에서는 따라올 수 없을 정도로 독보적이다.  넘파이(NumPy)는 워낙 보편적으로 사용되는 터라 텐서 연산에서 사실상 표준 API ...

개발 프로그래밍 인공지능 2019.07.05

"어떤 언어를 배울까" 자바스크립트, 파이썬, 자바 3종 비교

요즘은 모든 사람이 소프트웨어 코딩 방법을 배운다. 학교와 MOOC, 온라인 교육 사이트는 미래의 프로그래밍 고수에게 처음으로 가르칠 언어를 정해야 한다.    전통의 하버드 대학과 같이 여전히 70년대의 C를 고수하는 기관도 있지만 많은 학교가 자바스크립트(JavaScript)와 파이썬(Python), 자바(Java) 사이를 오가고 있다. 하나는 모든 브라우저에 내장돼 있고, 다른 하나는 사화과학을 위한 최선의 선택이며, 나머지 하나는 수학적 사고를 즐기는 사람들이 선호하는 풍부한 형식의 언어다. 어느 언어가 최선의 선택일까? 다른 두 언어보다 확실히 우위인 언어가 있을까? 아니면 수많은 학생들을 고통 속으로 몰아넣는다는 면에서는 다 똑같은 언어일까? 자바, 파이썬 또는 자바스크립트를 배워야 할 가장 뚜렷한 이유들을 살펴보자. 고전의 대명사, 자바  어스벤스드 플레이스먼트(Advanced Placement) 테스트에서는 오래 전, 자바가 아직 초기이고 폭발적으로 성장하던 시절에 테스트 과목으로 자바를 선택했다. 자바는 초창기 모두가 생각했던 것처럼 프로그래밍을 완전히 지배하는 수준의 위치까지는 이르지 못했지만 여전히 많은 웹사이트와 스마트폰의 중추로 남아 있다. 지지 기반이 확고한 언어를 선택하면 이미 우수한 개발 툴이 풍부하게 준비된 만큼 학생이 올라타기도 비교적 수월하다. 또한 공부하고 수정하고 확장할 수 있는 오픈소스 코드도 방대하다. 대세에 동참하면 적응하기 쉽다. 새로운 언어, 파이썬 파이썬 프로젝트는 거의 30년 전에 시작되었으니 사실 새로운 언어는 아니지만 새롭게 느껴지는 이유는 최근에서야 성공했기 때문이다. 파이썬이 틈새를 벗어나 일반 프로그래머들 사이에서 광범위하게 채택되기 시작한 것은 불과 얼마 전부터다.  새로운 언어는 곧 파이썬을 도입하는 학교에서 새로운 강좌 계획을 수립하고 새로운 시험을 만들고 새로운 교육 자료를 개발해야 함을 의미한다. 펫츠닷컴(Pets.com)과 마이스페이스(MySp...

자바 자바스크립트 언어 2019.07.04

파이썬 인기 '역대 최고 수준'··· "3~4년내 자바·C까지 제칠 것"

티오베(Tiobe) 프로그래밍 언어 인기 순위에서 파이썬이 역대 최고치를 기록했다. 티오베 측은 파이썬이 향후 3~4년 이내에 자바와 C를 제치고 1위로 뛰어오를 가능성이 있다고 분석했다. 6월 티오베 순위에서 파이썬은 8.53%로 지난해 12월 기록한 최고치인 8.376%를 다시 뛰어넘었다. 파이썬은 순위상으로는 자바와 C에 이어 여전히 3위다. 그러나 자바와 C가 제공하지 못하는 사용 편의성으로 새로 프로그래밍을 시작하는 사람들에게 인기를 끌고 있다고 티오베 측은 분석했다. 티오베는 사용자가 구글이나 야후, 빙 같은 검색 엔진에 프로그래밍 언어 관련 검색한 결과를 집계해 순위를 매긴다. 교육 과정 수, 숙련된 엔지니어 수, 관련 서드파티 업체의 수 등도 고려한다. 파이썬은 비슷한 인기 순위인 Pypl 인덱스에서는 이미 1위에 올랐다. Pypl 인덱스는 구글에 해당 언어 관련 검색을 얼마나 했는가를 기준으로 집계한다. 한편 6월 티오베 순위에서 또 하나 눈에 띄는 것은 애플 스위프트(Swift) 언어의 약진이다. 1.419%로 11위를 기록했다. 지난해 같은 기간 15위, 지난달에는 18위였다. 스위프트의 전신인 오브젝티브-C 언어는 이번 달에 1.391%로 12위에 이름을 올렸다. 티오베는 오브젝티브-C가 2년 이내에 20위권 밖으로 밀려날 것으로 전망했다. 이밖에 그루비(Groovy) 언어가 1.3%로 14위에 올랐다. 1년 전 60위에서 놀라운 속도로 순위가 오르고 있다. 티오베 측은 그루비가 젠킨스(Jenkins) CI 툴용 스크립트 작성 언어로 큰 인기를 끌고 있지만, 20위권 내에서 계속 순위를 유지할 수 있는지는 미지수라고 분석했다. 티오베 개발 언어 인기 순위 톱 10 (2019년 6월) 1. 자바 (15.004%) 2. C (13.3%) 3. 파이썬 (8.53%) 4. C++ (7.384%) 5. 비주얼 베이식 닷넷 (4.624%) 6. C# (4.483%) 7. 자바스크립트 (2.716%) 8. PHP (2.567%) 9. SQL...

프로그래밍 언어 파이썬 2019.06.12

AI 개발에 가장 적합한 5가지 프로그래밍 언어

AI(인공 지능)는 애플리케이션 개발자에게 새롭게 열리는 가능성의 세계다. 머신러닝 또는 딥 러닝을 활용함으로써 훨씬 더 정밀한 사용자 프로필과 개인화, 추천이 가능하며, 스마트 검색, 음성 인터페이스 또는 지능적인 가상비서를 구현하거나 그 외의 다양한 방법으로 앱을 개선할 수 있다. 심지어 보고 듣고 반응하는 애플리케이션도 만들 수 있다. AI를 깊이 파헤치려면 어떤 프로그래밍 언어를 배워야 할까? 물론 양질의 머신러닝 및 딥 러닝 라이브러리가 많은 언어가 좋다. 또한 런타임 성능이 우수해야 하고 충실한 툴 지원과 대규모 프로그래머 커뮤니티, 견실한 지원 패키지 생태계도 필요하다. 이러한 조건에 부합하는 언어는 꽤 많다. 다음은 필자가 생각하는 AI 개발에 가장 적합한 5가지 프로그래밍 언어, 그리고 5개 안에는 들지 못했지만 후보에 오른 3개 언어다. 이 중에는 요즘 뜨는 언어도 있고 하향세인 언어도 있다. 몇 개월 후에 다시 이 목록을 확인한다면 순위가 바뀌어 있을지도 모르겠다. 1. 파이썬 1위는 파이썬이다. 파이썬 말고 다른 어떤 언어가 1위가 될 수 있겠는가? 파이썬에는 개발자를 미치도록 화나게 하는 면이 있지만(공백, 파이썬 2.x와 파이썬 3.x 사이의 극심한 분열, 각기 다른 면에서 부실한 5가지 패키징 시스템 등) AI 관련 작업을 한다면 어느 시점에는 분명 파이썬을 사용하게 된다. 파이썬의 라이브러리는 다른 언어에서 따라올 수 없는 부분이다. 넘파이(NumPy)는 워낙 보편적으로 사용되는 터라 텐서 연산에서 사실상 표준 API 역할을 한다. 판다스(Pandas)는 R의 강력하고 유연한 데이터프레임을 파이썬으로 가져온다. 자연어 처리(NLP)에서는 이름도 유명한 NLTK와 빠른 속도가 장점인 스페이시(SpaCy)가 있다. 머신러닝 쪽에는 역전의 사이킷-런(Scikit-learn)이 있다. 딥 러닝이라면 현재의 모든 라이브러리(텐서플로우(TensorFlow), 파이토치(PyTorch), 체이너(Chainer), 아...

프로그래밍 인공지능 언어 2018.05.04

새로운 마음으로 변화에 도전할 IT 개발자를 위한 5가지 생존 법칙

개발자들은 언제나 새로운 기술을 배워 새로운 결과물을 내고 싶어한다. 개발자들의 행복, 그리고 혁신적인 업무 흐름과 직결되는 다섯 가지 팁을 소개한다. 데이터스택스의 아파치 카산드라 기술 에반젤리스트 루크 틸먼은 “제일 먼저, 시장이 지속적으로 변화한다는 사실을 기억해야 한다”고 말한다. 바로 개발자와 관리자 집단의 업무에 대한 설명이다. 자바스크립트 프론트 엔드 프레임워크를 다루든 데이터베이스를 다루든 변화는 피할 수 없는 과제다. 틸먼은 “업계에서 프론트 엔드 개발자 직무를 바라보는 시선에는 적잖은 부정적인 태도가 깃들어있다. 프론트엔드 프레임워크가 최근 1~2년 새 많은 주목을 받으며, 현업에 이런저런 변화를 요구하고 있기 때문”이라고 시장 상황을 설명했다. 틸먼은 개발자들이 갖춰야 할 것으로 변화에 개방적인 자세가 중요하다고 강조한다. 몇 가지 원칙만 기억한다면 그렇게 어려운 일이 아니다. 확실한 동기를 설정하라 (힌트: 이건 돈이 되는 일이다) 틸먼은 “시장은 지속적인 변화가 발생하는 곳이라는 기본 명제를 이해했다면, 다음으로는 단순히 ‘어떻게’ 그 흐름에 동참할지를 고민하는 것을 넘어, 그런 흐름에 동참해야 할 동기를 명확히 이해하는 과정이 필요하다”고 조언했다. 이런 고민은 비단 현업의 개발자들뿐 아니라 조직 목표 설정의 과업을 맡은 IT 분야의 리더들에게도 필요하다. 금전적 보상은 좋은 동기 중 하나다. 프로그래머 커뮤니티인 스택 오버플로(Stack Overflow)는 매년 전세계의 개발자들을 대상으로 연례 설문조사를 진행한다. 금년 설문에서 응답자의 62.7%는 새로운 직업 기회를 평가하는 가장 중요한 요인으로 급여를 꼽았다. 이어 개발자들은 최신의 테크놀로지와 언어에 적응하는 것이 자신들에게 많은 역량을 요구하는 작업이라 생각하고 있었다. 설문 결과는 또한 아파치 스파크나 스칼라(Scala), 아파치 카산드라, F#, 하둡 등...

교육 관리자 언어 2016.12.20

개발에 새로운 힘을 부여하는 '프로그래밍 언어 분기'

컴퓨터 언어가 일상 언어와 비슷한 점은 끊임없이 진화한다는 것이다. 다만 프로그래밍 언어의 진화에서만 볼 수 있는 요소는 명확한 '분기'다. 즉, 공식적으로 줄기에서 갈라져 나오고 뿌리에서 이탈할 수 있는 부분이다. 일시적으로 분기가 일어났다가 새로운 가지로 재결합되어 역으로 뿌리에 영향을 미치는 경우도 있거나 기존 언어에서 변형이 나와 그대로 유지되는 경우도 있고, 돌연변이가 발생하여 완전히 새로운 언어가 생겨나기도 한다. 혁신에 대한 욕망뿐만 아니라, 모든 개발 언어가 언젠가는 그 한계를 드러낸다는 점 때문에 컴퓨터 언어를 바꾸는 원동력이 되기도 한다. 이러한 필수불가결한 진화의 흐름에 따라 사용자들은 언어를 개선하거나 이를 버리고 아예 다른 길을 선택하고는 한다. 언어가 분기하여 진화하는 경로는 대부분 다음 세 가지 가운데 하나에 해당된다. 1. 완전한 새로운 분기 언어. 기존 언어와 호환되지 않을 수 있다. 2. 뿌리 언어(기존 언어)로 컴파일되는 새로운 언어 3. 기존 언어에 기능이 추가되거나 제거된 확대집합 또는 하위집합 지금 진화 중인 언어 중에서 각 방식의 구체적인 예를 살펴보도록 하자. 1 - 새로운 언어: PHP와 핵(Hack) PHP의 인기는 PHP 언어에 있어 양날의 칼과 같다. PHP로 개발된 애플리케이션은 어떤 환경에서든 실행이 보장된다는 장점이 있다. 나쁜 점으로는 PHP에는 이해할 수 없는 몇 가지 특성과 내부적인 비일관성이 있는데, 기존에 개발된 방대한 PHP 코드와의 하위 호환성이 깨질 우려로 인해 수정될 가능성이 별로 없다. 이때 등장한 것이 페이스북의 핵 언어다. 핵은 PHP의 변형으로, 페이스북이 방대한 규모로 이 언어를 사용하면서 부상했다. PHP와 상호작용하도록 설계되었지만, 형식 주석, 자바스크립트와 유사한 람다, 자바/C#과 유사한 제네릭 등 PHP가 제공하지 않는 다양한 기능들로 무장했다. 핵이 PHP에 가한 변화는 언어 분기가 어떤 면에서 좋은지를 잘 보여...

PHP 자바스크립트 언어 2015.04.14

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

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

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

트위터, 사용자 언어에 기반한 타깃 광고 가능

트위터가 수요일 사용자들의 언어에 기반해서 타깃 광고를 할 수 있는 기능을 공개했다. 예를 들어서 스페인어로 신발에 대한 트윗을 자주 한다면, 스페인어로 된 신발 광고를 보게 되는 것이다. 트위터는 이미 광고를 하는 기업들이 사용자들의 관심사, 키워드, 성별, 위치에 따라서 타깃 광고를 할 수 있도록 하고 있다. 언어별 타깃 광고는 이러한 광고 프로그램을 전 세계로 확대하고, 미국 외 지역에서 더 많은 수익을 얻기 위한 방안으로 보인다. 트위터가 튼튼한 재정을 보유하고 싶다면, 전 세계의 사용자들을 타깃으로 해야 한다. 2013년 마지막 3개월 간 트위터의 월 활동 사용자 중 78%가 미국 외 지역에 거주하고 있는 것으로 나타났지만, 여기서 얻는 매출은 전체 매출의 27%에 불과했다. 트위터는 페이스북과 마찬가지로 광고를 통해서 많은 수익을 얻고 있다. 트위터는 이번 발표에서 “언어를 기반으로 한 타깃 광고는 특정 언어로 메시지를 전달해서 글로벌 고객을 확보하거나 대부분의 사람들의 여러 언어를 사용하는 국가에서 광고를 하려는 경우에 유용할 것”이라고 설명했다. 언어 타깃 광고는 트위터의 광고 API를 통해서 전 세계에서 이용할 수 있게 될 예정이다. 현재 20여개의 언어로 타깃 광고를 할 수 있다. 여기에는 스페인어와 이탈리아어가 포함되어 있는데, 다른 언어들은 무엇이 있는지 정확히 알려지지는 않았다. editor@itworld.co.kr

트위터 언어 2014.05.08

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

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

자바 에지슨 클로저 2014.04.21

IDG 블로그 | 프로그래밍 언어 춘추전국 시대

마이크로소프트가 옳았던 것일까. 앞으로는 한 플랫폼에 일곱 가지 프로그램 언어로 프로젝트를 작성하게 될지도 모른다. 실론(Ceylon)의 개빈 킹, 클로저(Clojure)의 리치 히키, 루비(Ruby)의 찰스 너터 등 프로그래밍 언어 창시자들과 인터뷰를 하면서 한 가지 공통점을 발견할 수 있었다. 바로 이들이 “다중 언어” 소프트웨어 개발에 대한 믿음을 가지고 있었다는 점이다.   몇 년 전, ECMA닷넷 CLI (ECMA.Net CLI)의 상임 이사회의 일원이었던 샘 루비는 트라이앵글 자바 사용자 그룹(Triangle Java User Group)에서 연설을 한 적이 있다. 루비는 닷넷에 대한 프리젠테이션을 상당히 건방진 발언으로 마무리했는데, 필자의 기억이 맞다면 “당신이 한 플랫폼에서 일곱 가지 프로그래밍 언어로 프로젝트를 작성하고 싶다면 닷넷을 선택하라. 만약 당신이 일곱 가지 플랫폼에서 한 가지 프로그램 언어로 프로젝트를 작성하고 싶다면 자바를 선택하라”라고 말했다. 사용자 그룹은 마이크로소프트를 비꼰 이 발언에 대해 기립 박수로 응답했다.   오랜 시간 동안 핵심 비즈니스 소프트웨어는 메인프레임 환경일 경우에는 코볼이나 RPG로 혹은 둘 다를 사용해 작성되었다. PC 프로그래밍은 훨씬 다양하게 분열된 시장이었는데, C/C++언어의 물결은 펄(Perl)등의 스크립트 언어에게 밀려나는 모습도 보았다.    지난 10년 동안은 자바, 비주얼 베이직/ASP, 그리고 그냥 광고에 가까웠던 다중언어 지원을 보여줬던 닷넷 등으로 비교적 안정적인 시장이 유지되어 왔다. 오래된 자바가 시장을 지배하면서, 다른 JVM 언어들은 비즈니스 소프트웨어 작성에 그다지 쓰이지 않았고, 닷넷 소프트웨어는 C# 언어로 작성되었다.   하지만 시대가 바뀌었고, 프로그래밍 언어 시장은 더욱 다변화되었다. 자바는 2001년과 같은 지배적인 위...

자바 개발 프로그래밍 2012.07.16

멀티코어 개발을 위한 프로그래밍 도구 10선

멀티코어 프로세서가 대세로 자리잡았음은 의심할 여지가 없다. 싱글 코어 칩은 빠른 속도로 사라지고 있다. 그러나 단일 칩 상의 복수 CPU 코어에 맞춰 프로그래밍하기란 쉬운 일이 아니다. 이러한 유형의 프로세서가 널리 보급되면서 소프트웨어 개발 관행에도 변화가 필요하게 됐다. 인텔 이사 겸 병렬 처리 기술 전도사인 제임스 레인더스는 "동시 또는 병렬 개념을 활용할 경우 작업에의 접근 방식이 크게 달라질 수 있다"고 말한다. 다행히 멀티코어 소프트웨어 개발로 전환하도록 돕기 위한 강력한 도구들이 나와 있다.  editor@itworld.co.kr

멀티코어 프로세서 개발 2012.04.04

인터뷰 : 구글 다트가 자바스크립트보다 우월한 이유

구글이 지난 달 웹 프로그래밍 언어인 다트(Dart)를 공개했다. 다트는 자바스크립트의 단점을 보완하도록 고안됐지만, 일부에서는 자바스크립트 킬러로 칭하기도 한다. 대규모 프로그램과 팀 기반 개발 작업을 지원하는 다트는 객체 지향 언어이며 가상 머신을 사용한다. 최근 인포월드는 새 언어에 대한 구글의 의도를 더 정확히 파악하기 위해 다트의 수석 소프트웨어 엔지니어인 라스 백을 만났다.   구글 다트의 목적에 대해 설명해달라. 사람들이 말하는 대로 자바스크립트 킬러인가? 과장된 표현이라고 생각한다. 우리가 하고자 하는 일은 개발자가 대안을 갖도록 하는 것이다. 특히 대규모 애플리케이션을 개발하는 애플리케이션 개발자를 대상으로 한다. 자바스크립트는 간단한 웹 애플리케이션에는 뛰어난 언어지만 애플리케이션 규모가 커지면 자바스크립트로는 프로그램 구조를 유지하기가 점점 더 어려워진다. 다트는 기본적으로 대규모 애플리케이션에도 잘 맞는 프로그래밍 언어가 되도록 설계됐으며, 동일한 소스 베이스에 여러 팀이 참여해 작업하는 프로그램 개발 방식도 지원한다.   다트가 구조적 웹 프로그래밍을 위한 언어라는 의미인가? 그렇다. 다트로 작은 애플리케이션도 만들 수 있지만 애플리케이션이 확장됨에 따라 프로그램에 형식을 추가하고 이렇게 해서 프로그래머의 의도를 명시할 수 있다. 따라서 모듈을 만드는 경우, 인터페이스에 지정된 형식을 기반으로 모듈의 정확한 사용 방법을 알 수 있고, 다트에서 이를 확인할 수도 있다. 동일한 소스에 대해 규모가 상당히 큰 팀들이 작업하는 경우 이 기능이 실질적으로 많은 도움이 된다.   클라이언트와 서버 모두에서 다트가 실행되는 데서 얻는 이점은 무엇인가? 양쪽에서 모두 실행되는 다른 모든 언어와 마찬가지다. 코드를 서버에서 실행할지 클라이언트에서 실행할지 프로세스 후반에 결정할 수 있다. 웹 애플리케이션을 제작하는 경우 클라이언트가 매우 다양하다는 점을 염두에 두...

개발 자바스크립트 언어 2011.11.18

안드로이드 지원받은 자바, 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

임철우의 행복한 개발자 | 사랑하고 계십니까?

문명이 시작되면서 사랑도 같이 시작되었다.  그리고 사랑으로 인해서 우리의 삶이 결정 되기도 하며 과거에나 현재에도 우리는 사랑 때문에 힘들어하고 아파하고 또 행복함을 느낀다. 당신은 자신의 일을 사랑하고 있는가?   사랑과 개발자의 삶을 연관 지어 두 가지의 공통점을 얘기해볼까 한다.   첫째, 실천이 가장 중요하다. 처음 개발자로 입문할 때 자신에게 맞는 언어를 선택하게 된다. 하지만 자신이 선택한 언어가 다른 사람들이 선택한 언어와 별반 차이가 없다는 것을 알게 된다. 사랑도 마찬가지다. 자신만의 방식으로 사랑한다고 생각하지만 주위 사람들에게 물어보면 대부분의 사람들이 비슷한 방법으로 사랑을 시작한다는 것을 알게 된다.   개발하기 위해서는 콤보박스나 라디오 버튼 등 기타 여러 가지 많은 것들을 외우고 실행해서 자신의 것으로 만들어야 한다. 개발자들 사이에 명언으로 통하는 “백문이 불여일런” 이라는 말이 있는데, 이 말의 뜻은 아무리 머리 속으로 외웠다고 할지라도 한번 실행해보지 않으면 아무것도 아니라는 뜻이다.   사랑도 마찬가지다. 사랑을 처음 시작하고 여러 가지 알아야 할 것들이 많다. 상대방이 좋아하고 싫어하는 것을 알아야만 하고 단지 사랑한다는 말로만 표현한다면 후에는 거짓말쟁이로 낙인 찍힐 것이다. 사랑에 있어서도 실천이 중요하다.   둘째, 이벤트에 강해야 한다. 개발을 잘한다는 사람들은 이벤트 핸들링에 아주 능숙해야만 한다. 사랑에 있어서도 이벤트가 중요하다. 상대방을 위하여 자신이 준비했던 것들을 보여주고 이벤트가 주는 의미를 확실히 전달해야만 한다.   개발자에게 있어서 에러처리는 이벤트 핸들링에 하나인데, 개발등급을 결정짓는 기준이 되는 중요한 것 중 하나다. 하급이던 상급이던 누구나 다 똑같은 시간에 똑같은 개발을 할 수는 있지만, 에러를 처리하는 데에는 차이가 나게...

개발자 프로그램 사랑 2009.02.18

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

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

Copyright © 2023 International Data Group. All rights reserved.