Offcanvas

������������������ ������������������

MS, 타입스크립트 4.1 베타 공개··· 템플릿 리터럴 타입 지원

타입스크립트 4.1 버전이 베타 릴리즈로 공개됐다. 템플릿 리터럴 타입(template literal type)을 비롯한 여러 개선사항이 포함됐다. 타입스크립트는 자바스크립트(JavaScript)에 타입(types)을 도입한 마이크로소프트의 인기 있는 오픈소스 프로그래밍 언어다.    마이크로소프트에 따르면 타입스크립트 4.1 버전에는 자바스크립트의 템플릿 리터럴 문자열과 구문이 동일하나 타입 위치에 따라 사용되는 템플릿 리터럴 타입이 도입됐다. 콘크리트 리터럴 타입과 함께 사용하면 콘텐츠를 결합해 새로운 문자열 리터럴 타입을 생성할 수 있다.  또한 새로운 as절을 사용하여 매핑된 타입의 키를 다시 매핑할 수도 있다. 개발자는 이 새로운 절을 통해 템플릿 리터럴 타입과 같은 기능을 활용하여 이전 속성 이름을 기반으로 새 속성 이름을 만들 수 있다. 키는 never를 생성하여 필터링할 수 있기 때문에 경우에 따라 추가적인 Omit 헬퍼 타입을 사용하지 않아도 된다.  타입스크립트 4.1 정식 버전은 오는 10월 출시될 예정이다. 타입스크립트 4.0 정식 버전은 지난 8월 배포됐다. 이밖에 타입스크립트 4.1의 다른 기능은 다음과 같다.  • 재귀적 조건부 타입을 지원해 조건부 타입에 관한 일부 제한이 완화됐다. 이제 브랜치 내에서 자신을 즉시 참조할 수 있으므로 재귀적 타입 별칭을 더 쉽게 작성할 수 있다.  • 새 플래그(noUncheckedIndexedAccess)는 모든 속성 액세스 혹은 인덱싱된 액세스가 잠정적으로 정의되지 않은 것으로 간주되는 노드를 제공한다. 이 플래그는 범위를 벗어난 오류를 포착할 수 있지만 많은 코드에서 노이즈가 생길 수도 있다. 이는 strict 플래그로 자동 활성화되지 않는다.  • paths 옵션을 baseUrl 없이 사용할 수 있다. 이를 통해 자동 가져오기에서 잘못된 경로를 사용하는 문제를 방지할 수 있다.  • 이전에는 체크된 자바스크...

마이크로소프트 타입스크립트 자바스크립트 개발 언어 프로그래밍 언어 누겟

2020.09.28

타입스크립트 4.1 버전이 베타 릴리즈로 공개됐다. 템플릿 리터럴 타입(template literal type)을 비롯한 여러 개선사항이 포함됐다. 타입스크립트는 자바스크립트(JavaScript)에 타입(types)을 도입한 마이크로소프트의 인기 있는 오픈소스 프로그래밍 언어다.    마이크로소프트에 따르면 타입스크립트 4.1 버전에는 자바스크립트의 템플릿 리터럴 문자열과 구문이 동일하나 타입 위치에 따라 사용되는 템플릿 리터럴 타입이 도입됐다. 콘크리트 리터럴 타입과 함께 사용하면 콘텐츠를 결합해 새로운 문자열 리터럴 타입을 생성할 수 있다.  또한 새로운 as절을 사용하여 매핑된 타입의 키를 다시 매핑할 수도 있다. 개발자는 이 새로운 절을 통해 템플릿 리터럴 타입과 같은 기능을 활용하여 이전 속성 이름을 기반으로 새 속성 이름을 만들 수 있다. 키는 never를 생성하여 필터링할 수 있기 때문에 경우에 따라 추가적인 Omit 헬퍼 타입을 사용하지 않아도 된다.  타입스크립트 4.1 정식 버전은 오는 10월 출시될 예정이다. 타입스크립트 4.0 정식 버전은 지난 8월 배포됐다. 이밖에 타입스크립트 4.1의 다른 기능은 다음과 같다.  • 재귀적 조건부 타입을 지원해 조건부 타입에 관한 일부 제한이 완화됐다. 이제 브랜치 내에서 자신을 즉시 참조할 수 있으므로 재귀적 타입 별칭을 더 쉽게 작성할 수 있다.  • 새 플래그(noUncheckedIndexedAccess)는 모든 속성 액세스 혹은 인덱싱된 액세스가 잠정적으로 정의되지 않은 것으로 간주되는 노드를 제공한다. 이 플래그는 범위를 벗어난 오류를 포착할 수 있지만 많은 코드에서 노이즈가 생길 수도 있다. 이는 strict 플래그로 자동 활성화되지 않는다.  • paths 옵션을 baseUrl 없이 사용할 수 있다. 이를 통해 자동 가져오기에서 잘못된 경로를 사용하는 문제를 방지할 수 있다.  • 이전에는 체크된 자바스크...

2020.09.28

'애플 스위프트'가 '윈도우'로 온다··· 윈도우10용 툴체인 공개

애플의 프로그래밍 언어, 스위프트(Swift)의 윈도우 지원이 준비됐다. 물론 이식(porting) 작업이 아직 완전히 완료된 것은 아니다.    1년간의 이식 작업 끝에 드디어 애플의 프로그래밍 언어 스위프트를 윈도우에서 사용할 수 있게 됐다. 스위프트 코어(Swift Core) 팀의 살렘 압둘라술은 “스위프트로 윈도우 경험을 구축해볼 수 있는 단계에 도달했다”라고 밝혔다.  22일(현지 시각) 윈도우10용 스위프트 5.3 툴체인이 공개됐다. 현재 사이트에서 다운로드받을 수 있다. 스위프트 공식 사이트에 따르면 윈도우에서 스위프트의 전체 에코시스템을 사용할 수 있도록 이식 작업이 진행됐다. 여기에는 컴파일러, 표준 라이브러리를 비롯해 주요 라이브러리인 디스패치(dispatch), 파운데이션(Foundation), XC테스트(XCTest)가 포함된다.  개발자는 이러한 라이브러리를 통해 기본적인 시스템의 수많은 세부사항을 처리할 필요 없이 손쉽게 애플리케이션을 작성할 수 있다.  이번 지원은 시작에 불과하다. lldb 및 스위프트 패키지 매니저(Swift Package Manager)와 같은 에코시스템은 여전히 더 많은 이전 작업이 필요하다. 리들(Readdle) 등의 얼리어답터 업체들은 기존 스위프트 라이브러리를 윈도우로 가져오면서 스위프트로 작성된 크로스 플랫폼 애플리케이션을 실험하고 있다.  한편 2014년 6월, ‘오브젝티브-C(Objective-C)’의 후속으로 출시된 스위프트는 애플 맥OS, iOS, 워치OS, tvOS 및 리눅스를 대상으로 한다. ‘스위프트 5.3’은 9월 16일 공개됐다. 이는 상용구, 중복 코드, 런타임 메모리 사용량 등을 줄여 언어를 개선하는 데 초점을 맞췄다. ciokr@idg.co.kr  

애플 프로그래밍 언어 개발 언어 스위프트 오브젝티브-C 윈도우 윈도우10 툴체인 컴파일러 표준 라이브러리 디스패치 파운데이션 XC테스트 스위프트 패키지 매니저 리들

2020.09.25

애플의 프로그래밍 언어, 스위프트(Swift)의 윈도우 지원이 준비됐다. 물론 이식(porting) 작업이 아직 완전히 완료된 것은 아니다.    1년간의 이식 작업 끝에 드디어 애플의 프로그래밍 언어 스위프트를 윈도우에서 사용할 수 있게 됐다. 스위프트 코어(Swift Core) 팀의 살렘 압둘라술은 “스위프트로 윈도우 경험을 구축해볼 수 있는 단계에 도달했다”라고 밝혔다.  22일(현지 시각) 윈도우10용 스위프트 5.3 툴체인이 공개됐다. 현재 사이트에서 다운로드받을 수 있다. 스위프트 공식 사이트에 따르면 윈도우에서 스위프트의 전체 에코시스템을 사용할 수 있도록 이식 작업이 진행됐다. 여기에는 컴파일러, 표준 라이브러리를 비롯해 주요 라이브러리인 디스패치(dispatch), 파운데이션(Foundation), XC테스트(XCTest)가 포함된다.  개발자는 이러한 라이브러리를 통해 기본적인 시스템의 수많은 세부사항을 처리할 필요 없이 손쉽게 애플리케이션을 작성할 수 있다.  이번 지원은 시작에 불과하다. lldb 및 스위프트 패키지 매니저(Swift Package Manager)와 같은 에코시스템은 여전히 더 많은 이전 작업이 필요하다. 리들(Readdle) 등의 얼리어답터 업체들은 기존 스위프트 라이브러리를 윈도우로 가져오면서 스위프트로 작성된 크로스 플랫폼 애플리케이션을 실험하고 있다.  한편 2014년 6월, ‘오브젝티브-C(Objective-C)’의 후속으로 출시된 스위프트는 애플 맥OS, iOS, 워치OS, tvOS 및 리눅스를 대상으로 한다. ‘스위프트 5.3’은 9월 16일 공개됐다. 이는 상용구, 중복 코드, 런타임 메모리 사용량 등을 줄여 언어를 개선하는 데 초점을 맞췄다. ciokr@idg.co.kr  

2020.09.25

C++ 20, 최종 기술 승인 획득··· 모듈 및 코루틴 등 추가

모듈(modules)과 코루틴(coroutines) 등이 추가된 C++ 언어 업그레이드가 연말 이전에 출시될 예정이다.  지난 9월 4일(현지 시각) C++ 20이 ISO로부터 최종 기술 승인을 받았다. 올해 말에 정식 출시될 계획이다. 이번 버전에는 모듈, 코루틴 등 새롭고 다양한 기능들이 추가됐다.    1979년 시스템 프로그래밍을 지원하고자 설계된 C++은 지금도 여전히 중요한 개발 언어다. 2020년 9월 티오베(Tiobe) 인덱스에 따르면 C++은 C, 자바, 파이썬에 이어 4위를 차지했으며, 가장 빠르게 성장하는 언어인 것으로 나타났다. 티오베는 이 언어를 활성화시키는 요인 중 하나로 C++ 20의 스펙을 꼽았다.  C++ 20의 새로운 기능은 다음과 같다.  • 모듈(Modules). 개발자가 모듈 구성요소를 사용할 수 있도록 지원한다.  • 콘셉트(Concepts). 템플릿 요구사항을 지정하고 제네릭 프로그래밍을 지원하는 데 사용된다. 이는 코드 품질을 향상한다.  • 동기화 라이브러리(Synchronization library). 세분된 하드웨어 제어 지원을 향상한다.   • 개선된 컴파일 시간 연산 • 코루틴(Coroutines). 비선점형(nonpreemptive) 멀티 태스킹에서 사용하기 위해 서브루틴을 일반화한다. 허나 표준 라이브러리의 코루틴에 관한 표준화된 지원은 여전히 미흡하다. 이는 C++ 23에서 지원될 것으로 예상된다.  • 범위(Ranges). 요소 범위를 처리할 구성 요소를 제공한다.   • 기능 테스트 매크로(Feature test macros). C++ 11 이상 언어 및 라이브러리 기능에 해당하는 매크로 세트를 지원한다.   • 룩 업(look-up) 시 미리 계산된 해시값  • 튜플(tuple), 배열(array), 클래스(class), 매개변수 팩(parameter pack) 또는 범위(range)...

개발 언어 프로그래밍 언어 개발자 C++ 티오베 모듈 코루틴 자바 파이썬 C C++ 20 C++ 23

2020.09.11

모듈(modules)과 코루틴(coroutines) 등이 추가된 C++ 언어 업그레이드가 연말 이전에 출시될 예정이다.  지난 9월 4일(현지 시각) C++ 20이 ISO로부터 최종 기술 승인을 받았다. 올해 말에 정식 출시될 계획이다. 이번 버전에는 모듈, 코루틴 등 새롭고 다양한 기능들이 추가됐다.    1979년 시스템 프로그래밍을 지원하고자 설계된 C++은 지금도 여전히 중요한 개발 언어다. 2020년 9월 티오베(Tiobe) 인덱스에 따르면 C++은 C, 자바, 파이썬에 이어 4위를 차지했으며, 가장 빠르게 성장하는 언어인 것으로 나타났다. 티오베는 이 언어를 활성화시키는 요인 중 하나로 C++ 20의 스펙을 꼽았다.  C++ 20의 새로운 기능은 다음과 같다.  • 모듈(Modules). 개발자가 모듈 구성요소를 사용할 수 있도록 지원한다.  • 콘셉트(Concepts). 템플릿 요구사항을 지정하고 제네릭 프로그래밍을 지원하는 데 사용된다. 이는 코드 품질을 향상한다.  • 동기화 라이브러리(Synchronization library). 세분된 하드웨어 제어 지원을 향상한다.   • 개선된 컴파일 시간 연산 • 코루틴(Coroutines). 비선점형(nonpreemptive) 멀티 태스킹에서 사용하기 위해 서브루틴을 일반화한다. 허나 표준 라이브러리의 코루틴에 관한 표준화된 지원은 여전히 미흡하다. 이는 C++ 23에서 지원될 것으로 예상된다.  • 범위(Ranges). 요소 범위를 처리할 구성 요소를 제공한다.   • 기능 테스트 매크로(Feature test macros). C++ 11 이상 언어 및 라이브러리 기능에 해당하는 매크로 세트를 지원한다.   • 룩 업(look-up) 시 미리 계산된 해시값  • 튜플(tuple), 배열(array), 클래스(class), 매개변수 팩(parameter pack) 또는 범위(range)...

2020.09.11

MS의 함수형 개발 언어 ‘F#’, 버전 5 기능 개발 완료

지난 8월 27일(현지 시각) 마이크로소프트가 F# 버전 5의 기능 개발 작업을 완료했다고 밝혔다. F#은 닷넷(.NET)과 호환되는 오픈소스 함수형 프로그래밍 언어다.    최신 미리보기에서는 F# 개발자들이 가장 많이 요청했던 기능인 문자열 보간(string interpolation)이 추가됐다. 이는 C#과 자바스크립트의 문자열 보간과 상당히 유사하다. 개발자가 문자열 리터럴(string literals)에 이른바 ‘구멍{ }’을 작성할 수 있다는 뜻이다. 또한 F# 문자열 보간은 스프린트 함수와 유사한 타입화된(typed) 보간을 허용, 보간된 컨텍스트의 내부 표현식이 특정 타입을 따르도록 한다.   마이크로소프트에 따르면 F# 버전 5는 닷넷 5 소프트웨어 개발 플랫폼과 함께 오는 11월 최종 안정화 버전(GA)이 공개될 예정이다. 최종 결함 검토만 남은 현재 릴리즈 캔디데이트(RC) 버전에서는 버그 수정 및 피드백 해결에 집중할 계획이라고 마이크로소프트는 덧붙였다.  F# 버전 5는 닷넷 5 미리보기 SDK를 설치하거나 혹은 닷넷 및 주피터 노트북을 통해 액세스할 수 있다. F# 5의 다른 기능은 다음과 같다.  • 사용 중인 기호를 확인하고 F# 소스에서 부르는 이름으로 만들어주는 nameof를 지원한다. 이 기능은 여러 상황에서 유용할 수 있는데, 이를테면 로깅 시에 소스 코드가 변경되더라도 로깅을 보호해준다.  • 개방형 선언(Open type declarations)을 지원한다. 이는 F# 의미 체계에 따라 약간 다른 구문과 동작을 제외하고는 C# 정적 클래스와 유사하다. 개방형 선언을 사용하면 개발자는 모든 타입을 열어서 내부의 정적 콘텐츠를 노출할 수 있다. 또한 F#으로 정의된 공용체 및 레코드를 사용하여 해당 콘텐츠를 노출할 수도 있다. 특히, 공용체가 모듈에 정의돼 있고, 해당 케이스에 액세스하고 싶지만 전체 모듈을 열지 않으려는 경우 유용하다.  • 개발자가...

마이크로소프트 닷넷 F# 언어 프로그래밍 언어 개발 언어 C# 자바스크립트 문자열 보간 주피터 노트북

2020.09.02

지난 8월 27일(현지 시각) 마이크로소프트가 F# 버전 5의 기능 개발 작업을 완료했다고 밝혔다. F#은 닷넷(.NET)과 호환되는 오픈소스 함수형 프로그래밍 언어다.    최신 미리보기에서는 F# 개발자들이 가장 많이 요청했던 기능인 문자열 보간(string interpolation)이 추가됐다. 이는 C#과 자바스크립트의 문자열 보간과 상당히 유사하다. 개발자가 문자열 리터럴(string literals)에 이른바 ‘구멍{ }’을 작성할 수 있다는 뜻이다. 또한 F# 문자열 보간은 스프린트 함수와 유사한 타입화된(typed) 보간을 허용, 보간된 컨텍스트의 내부 표현식이 특정 타입을 따르도록 한다.   마이크로소프트에 따르면 F# 버전 5는 닷넷 5 소프트웨어 개발 플랫폼과 함께 오는 11월 최종 안정화 버전(GA)이 공개될 예정이다. 최종 결함 검토만 남은 현재 릴리즈 캔디데이트(RC) 버전에서는 버그 수정 및 피드백 해결에 집중할 계획이라고 마이크로소프트는 덧붙였다.  F# 버전 5는 닷넷 5 미리보기 SDK를 설치하거나 혹은 닷넷 및 주피터 노트북을 통해 액세스할 수 있다. F# 5의 다른 기능은 다음과 같다.  • 사용 중인 기호를 확인하고 F# 소스에서 부르는 이름으로 만들어주는 nameof를 지원한다. 이 기능은 여러 상황에서 유용할 수 있는데, 이를테면 로깅 시에 소스 코드가 변경되더라도 로깅을 보호해준다.  • 개방형 선언(Open type declarations)을 지원한다. 이는 F# 의미 체계에 따라 약간 다른 구문과 동작을 제외하고는 C# 정적 클래스와 유사하다. 개방형 선언을 사용하면 개발자는 모든 타입을 열어서 내부의 정적 콘텐츠를 노출할 수 있다. 또한 F#으로 정의된 공용체 및 레코드를 사용하여 해당 콘텐츠를 노출할 수도 있다. 특히, 공용체가 모듈에 정의돼 있고, 해당 케이스에 액세스하고 싶지만 전체 모듈을 열지 않으려는 경우 유용하다.  • 개발자가...

2020.09.02

무서운 질주··· 파이썬, 자바 제치고 단독 2위 <레드몽크>

파이썬이 자바스크립트를 바짝 따라붙었다. 한편 자바가 파이썬에 밀려 3위를 차지했다. 자바는 2012년 이후 8년 만에 레드몽크 프로그래밍 언어 최저 순위를 기록했다.  27일(현지 시각) 발표된 2020년 6월 자 상반기 레드몽크(RedMonk) 프로그래밍 언어 순위에 따르면 파이썬이 자바스크립트에 이어 2위에 올랐다. 지난 1월 발표된 레드몽크 프로그래밍 언어 순위에서 파이썬은 자바와 함께 공동 2위를 기록한 바 있다. 이번에는 자바를 제치고 단독 2위 자리를 차지했다는 점에서 큰 의미가 있다. 레드몽크 프로그래밍 언어 순위는 6개월마다 발표된다.   자바 또는 자바스크립트 이외의 프로그래밍 언어가 단독 2위 자리를 차지한 것은 2012년 레드몽크 순위를 시작한 이래로 처음이다. 또한 자바가 2위권 밖으로 밀려난 것도 처음이다. 레드몽크는 파이썬이 수 천개의 소규모 프로젝트를 위한 지원 역할을 하고 있으며, 수많은 개인용 스크립트 언어의 근간으로 자리 잡았다고 설명했다. 이어서 파이썬이 데이터 과학 등의 분야에서도 많이 채택되고 있다고 레드몽크는 덧붙였다.  레드몽크에 따르면 자바가 현재처럼 치열한 경쟁에 직면한 적은 없다. 물론 자바는 앞으로 오랫동안 주요 프로그래밍 언어로 사용되겠지만 이러한 지배적 위치가 계속해서 보장되진 않을 것이라고 회사 측은 예측했다(자바는 최근 티오베(Tiobe) 프로그래밍 언어 순위에서도 C에 밀려 2위로 떨어졌다). 레드몽크 프로그래밍 언어 순위는 기트허브(GitHub) 및 스택 오버플로우(Stack Overflow) 분석을 기반으로 한다. 기트허브에서는 ‘기트허브 아카이브(GitHub Archive)’를 활용, 풀 리퀘스트를 바탕으로 프로그래밍 언어를 쿼리한다. 개발자 커뮤니티인 스택 오버플로우에서는 프로그래밍 언어와 관련된 개발자들의 게시물을 평가한다.  이 밖에 5년 전 48위를 기록했던 러스트(Rust)가 처음으로 20위권에 진입했다. 코틀린(Kotlin) 역시...

개발자 개발 언어 프로그래밍 언어 레드몽크 티오베 파이썬 자바 자바스크립트 기트허브 스택 오버플로우 러스트 코틀린

2020.07.30

파이썬이 자바스크립트를 바짝 따라붙었다. 한편 자바가 파이썬에 밀려 3위를 차지했다. 자바는 2012년 이후 8년 만에 레드몽크 프로그래밍 언어 최저 순위를 기록했다.  27일(현지 시각) 발표된 2020년 6월 자 상반기 레드몽크(RedMonk) 프로그래밍 언어 순위에 따르면 파이썬이 자바스크립트에 이어 2위에 올랐다. 지난 1월 발표된 레드몽크 프로그래밍 언어 순위에서 파이썬은 자바와 함께 공동 2위를 기록한 바 있다. 이번에는 자바를 제치고 단독 2위 자리를 차지했다는 점에서 큰 의미가 있다. 레드몽크 프로그래밍 언어 순위는 6개월마다 발표된다.   자바 또는 자바스크립트 이외의 프로그래밍 언어가 단독 2위 자리를 차지한 것은 2012년 레드몽크 순위를 시작한 이래로 처음이다. 또한 자바가 2위권 밖으로 밀려난 것도 처음이다. 레드몽크는 파이썬이 수 천개의 소규모 프로젝트를 위한 지원 역할을 하고 있으며, 수많은 개인용 스크립트 언어의 근간으로 자리 잡았다고 설명했다. 이어서 파이썬이 데이터 과학 등의 분야에서도 많이 채택되고 있다고 레드몽크는 덧붙였다.  레드몽크에 따르면 자바가 현재처럼 치열한 경쟁에 직면한 적은 없다. 물론 자바는 앞으로 오랫동안 주요 프로그래밍 언어로 사용되겠지만 이러한 지배적 위치가 계속해서 보장되진 않을 것이라고 회사 측은 예측했다(자바는 최근 티오베(Tiobe) 프로그래밍 언어 순위에서도 C에 밀려 2위로 떨어졌다). 레드몽크 프로그래밍 언어 순위는 기트허브(GitHub) 및 스택 오버플로우(Stack Overflow) 분석을 기반으로 한다. 기트허브에서는 ‘기트허브 아카이브(GitHub Archive)’를 활용, 풀 리퀘스트를 바탕으로 프로그래밍 언어를 쿼리한다. 개발자 커뮤니티인 스택 오버플로우에서는 프로그래밍 언어와 관련된 개발자들의 게시물을 평가한다.  이 밖에 5년 전 48위를 기록했던 러스트(Rust)가 처음으로 20위권에 진입했다. 코틀린(Kotlin) 역시...

2020.07.30

상수부터 멀티라인 람다까지··· '파이썬'에 추가됐으면 하는 기능 4가지 

‘파이썬(Python)’에 어떤 기능이 추가되길 원하는가? 여기서는 파이썬에 추가됐으면 하는 기능 4가지를 살펴본다. 물론 가능성 있지만 단정하긴 어렵다.  ‘파이썬’은 끊임없이 발전하고 있는 언어다. 파이썬 소프트웨어 재단(Python Software Foundation)은 표준 라이브러리와 C파이썬(CPython) 참조 구현에 내용을 추가하는 것에 그치지 않고 언어 자체에 새 기능과 개선 사항들을 계속해서 도입하고 있다.    예를 들면 파이썬 3.8(Python 3.8)의 새로운 기능인 대입 표현식은 ‘바다코끼리 연산자(walrus operator)’로도 부르며, 이는 특정 작업을 더욱 간결하게 만들어준다. 또 다른 새 기능인 패턴 매칭(pattern matching)은 가능한 한 많은 사례 중 하나를 평가하는 코드 작성을 수월하게 해 준다. 이 두 가지는 다른 언어에서 이미 유용하게 사용되고 있는 기능들에서 영감을 받은 것이다.  이 두 가지 외에도 파이썬에 추가될 수 있는 유용한 기능들이 많다. 파이썬을 더 빠르고, 더 강력하며, 더 트렌디하게 만들 수 있도록 말이다. 또 어떤 것들이 있을까? 여기서는 파이썬에 추가된다면, 가치를 더할 수 있는 기능 4가지를 소개한다.  상수(constants)  파이썬에는 상수(constant) 개념이 따로 없다. 현재 파이썬의 ‘상수’는 작성 규칙(convention)의 문제다. 이를테면 전부 대문자와 밑줄로 이뤄진 이름(예: DO_NOT_RESTART)을 사용한다는 것은 해당 변수를 상수로 쓰겠다는 뜻이다.  이와 비슷하게 typing.Final 유형 주석은 객체를 수정해서는 안 된다는 점을 린터(linter)에 알려주지만 런타임에 이를 적용하지는 않는다. 왜? ‘변경가능성(mutability)’이 파이썬의 기반이기 때문이다. 변수에 값을 할당하면(예: x=3 ) 로컬 네임스페이스에 이름(x)이 생성되고, 이는 정수 값 3인 객체를 가리키는...

파이썬 개발 언어 프로그래밍 언어 상수 오버로딩 제네릭 꼬리 재귀 최적화 멀티라인 람다

2020.07.24

‘파이썬(Python)’에 어떤 기능이 추가되길 원하는가? 여기서는 파이썬에 추가됐으면 하는 기능 4가지를 살펴본다. 물론 가능성 있지만 단정하긴 어렵다.  ‘파이썬’은 끊임없이 발전하고 있는 언어다. 파이썬 소프트웨어 재단(Python Software Foundation)은 표준 라이브러리와 C파이썬(CPython) 참조 구현에 내용을 추가하는 것에 그치지 않고 언어 자체에 새 기능과 개선 사항들을 계속해서 도입하고 있다.    예를 들면 파이썬 3.8(Python 3.8)의 새로운 기능인 대입 표현식은 ‘바다코끼리 연산자(walrus operator)’로도 부르며, 이는 특정 작업을 더욱 간결하게 만들어준다. 또 다른 새 기능인 패턴 매칭(pattern matching)은 가능한 한 많은 사례 중 하나를 평가하는 코드 작성을 수월하게 해 준다. 이 두 가지는 다른 언어에서 이미 유용하게 사용되고 있는 기능들에서 영감을 받은 것이다.  이 두 가지 외에도 파이썬에 추가될 수 있는 유용한 기능들이 많다. 파이썬을 더 빠르고, 더 강력하며, 더 트렌디하게 만들 수 있도록 말이다. 또 어떤 것들이 있을까? 여기서는 파이썬에 추가된다면, 가치를 더할 수 있는 기능 4가지를 소개한다.  상수(constants)  파이썬에는 상수(constant) 개념이 따로 없다. 현재 파이썬의 ‘상수’는 작성 규칙(convention)의 문제다. 이를테면 전부 대문자와 밑줄로 이뤄진 이름(예: DO_NOT_RESTART)을 사용한다는 것은 해당 변수를 상수로 쓰겠다는 뜻이다.  이와 비슷하게 typing.Final 유형 주석은 객체를 수정해서는 안 된다는 점을 린터(linter)에 알려주지만 런타임에 이를 적용하지는 않는다. 왜? ‘변경가능성(mutability)’이 파이썬의 기반이기 때문이다. 변수에 값을 할당하면(예: x=3 ) 로컬 네임스페이스에 이름(x)이 생성되고, 이는 정수 값 3인 객체를 가리키는...

2020.07.24

R 언어, 인기 지수 8위로 껑충··· “코로나19 연구서 많이 사용”

통계 분석을 위한 프로그래밍 언어 R이 2020년 7월 티오베 프로그래밍 언어 인기 지수(Tiobe Index)에서 크게 약진했다. 최근 C 언어가 부상한 이유로 꼽혔던 코로나19 사태는 이번 R 언어의 순위 상승에도 영향을 미친 것으로 추정된다.  R 언어는 지난해 20위에서 올해 역대 최고 순위인 8위에 올랐다. 티오베는 코로나19 백신 연구와 관련된 통계 분석 및 데이터 마이닝의 급증으로 R 언어가 인기를 얻고 있다고 설명했다.    지난 5월, 5년 넘게 1위를 지켜왔던 자바를 제치고 C 언어가 가장 인기 있는 프로그래밍 언어로 부상했다. 여기에 이어 이번 달에는 R 언어의 인기 순위가 급격하게 상승했다. 당시 티오베는 C 언어의 급상승 요인으로 코로나19 사태와 함께 C 언어가 의료기기에 많이 사용됐기 때문이라고 분석했다. R 언어의 경우 통계 분석을 위해 SAS, STRATA, SPSS와 같은 상용 패키지보다 R과 파이썬을 채택하는 대학 및 연구소가 늘었기 때문이라고 티오베는 전했다. 이 밖에 러스트(Rust)는 지난달 20위에서 이번 달 18위를 기록했으며, 코틀린(Kotlin)은 이번 달 27위로 3계단 상승했다. 델파이/오브젝트 파스칼(Delphi/Object Pascal)은 30위로 하락했다. C 언어는 3개월 연속 1위를 차지했다.  2020년 7월 티오베 인덱스의 상위 10개 프로그래밍 언어는 다음과 같다.  1. C 언어 (16.45%) 2. 자바 (15.1%) 3. 파이썬 (9.09%) 4. C++ (6.21%) 5. C# (5.25%) 6. 비주얼 베이직 (5.23%) 7. 자바스크립트 (2.48%) 8. R 언어 (2.41%) 9. PHP (1.9%) 10. 스위프트 (1.43%) 한편 프로그래밍 언어 튜토리얼의 구글 검색 빈도를 기반으로 등수를 매기는 PyPL(PopularitY of Programming Language)의 2020년 7월 인기 순위는 ...

티오베 티오베 인덱스 프로그래밍 언어 개발 언어 자바 C 언어 R 언어 러스트 코틀린 통계 분석 코로나19 코로나19 백신

2020.07.08

통계 분석을 위한 프로그래밍 언어 R이 2020년 7월 티오베 프로그래밍 언어 인기 지수(Tiobe Index)에서 크게 약진했다. 최근 C 언어가 부상한 이유로 꼽혔던 코로나19 사태는 이번 R 언어의 순위 상승에도 영향을 미친 것으로 추정된다.  R 언어는 지난해 20위에서 올해 역대 최고 순위인 8위에 올랐다. 티오베는 코로나19 백신 연구와 관련된 통계 분석 및 데이터 마이닝의 급증으로 R 언어가 인기를 얻고 있다고 설명했다.    지난 5월, 5년 넘게 1위를 지켜왔던 자바를 제치고 C 언어가 가장 인기 있는 프로그래밍 언어로 부상했다. 여기에 이어 이번 달에는 R 언어의 인기 순위가 급격하게 상승했다. 당시 티오베는 C 언어의 급상승 요인으로 코로나19 사태와 함께 C 언어가 의료기기에 많이 사용됐기 때문이라고 분석했다. R 언어의 경우 통계 분석을 위해 SAS, STRATA, SPSS와 같은 상용 패키지보다 R과 파이썬을 채택하는 대학 및 연구소가 늘었기 때문이라고 티오베는 전했다. 이 밖에 러스트(Rust)는 지난달 20위에서 이번 달 18위를 기록했으며, 코틀린(Kotlin)은 이번 달 27위로 3계단 상승했다. 델파이/오브젝트 파스칼(Delphi/Object Pascal)은 30위로 하락했다. C 언어는 3개월 연속 1위를 차지했다.  2020년 7월 티오베 인덱스의 상위 10개 프로그래밍 언어는 다음과 같다.  1. C 언어 (16.45%) 2. 자바 (15.1%) 3. 파이썬 (9.09%) 4. C++ (6.21%) 5. C# (5.25%) 6. 비주얼 베이직 (5.23%) 7. 자바스크립트 (2.48%) 8. R 언어 (2.41%) 9. PHP (1.9%) 10. 스위프트 (1.43%) 한편 프로그래밍 언어 튜토리얼의 구글 검색 빈도를 기반으로 등수를 매기는 PyPL(PopularitY of Programming Language)의 2020년 7월 인기 순위는 ...

2020.07.08

구글 다트(Dart), 마침내 ‘널 안전성(Null safety)’ 확보

구글의 웹프로그래밍용 언어인 다트(Dart)가 ‘널 안정성(null safety)’을 제공한다. 이를 통해 일반적인 널 역참조 오류를 제거하고 성능을 최적화할 수 있다.  다트가 이제 ‘견고한(sound)’ 널 안전성을 갖추게 됐다. 이는 개발자들이 발견하기 어려운 버그를 방지할 수 있도록 돕는다. 여기서 다트의 ‘견고한 널 안정성’이란 ‘널을 허용하지 않는(non-nullable)’ 변수가 널(null)일 수 없음을 100% 보장한다는 의미다. 해당 기능은 현재 테크 프리뷰로 사용해볼 수 있다.   또한 구글 다트 개발팀의 10일 발표에 따르면 다트의 널 안정성은 성능도 향상시킨다. 이는 2018년 8월 출시된 다트 2(Dart 2) 이후 가장 주요한 추가 기능이기도 하다. 널 안정성은 다트패드(DartPad) 버전에서 테스트해볼 수 있으며, 2020년 말 해당 기능을 포함한 정식 릴리즈가 출시될 예정이다.  다트는 타입 세이프(type-safe)한, 즉 예측 불가능한 결과를 내지 않는 언어다. 이는 곧 컴파일러가 변수의 타입을 보장할 수 있다는 뜻이다. 그러나 타입 안정성(type safety) 자체는 변수가 널을 허용하지 않는 것을 보장하진 않는다. 다트 코드에서도 널 오류로 많은 문제가 발생했고, 많은 사람들이 이 문제를 해결하고자 노력을 기울였다. 이제 널 안전성을 통해 개발자는 훨씬 수월하게 코드를 파악할 수 있다. 런타임 널 역참조 오류를 걱정할 필요가 없어진다.  널 안정성의 견고함은 다트 프로그램을 더 빠르고 작게 만들 수 있다. 다트는 코드를 분석해 변수가 널을 허용하지 않는 것으로 판단하고, 항상 널을 허용하지 않도록 보장한다. 변수가 널을 허용하지 않기 때문에 선행 컴파일러는 널에 대한 검사를 할 필요가 없고 더 작고 빠른 코드를 생성할 수 있다.  이 밖에 다트 개발팀은 널 안정성을 최대한 사용하기 쉽도록 개발 중이라고 설명했다. 널 안정성은 이전 버전과 호환되며, 강제적인 변화는...

구글 개발 언어 개발자 다트 널 안정성

2020.06.12

구글의 웹프로그래밍용 언어인 다트(Dart)가 ‘널 안정성(null safety)’을 제공한다. 이를 통해 일반적인 널 역참조 오류를 제거하고 성능을 최적화할 수 있다.  다트가 이제 ‘견고한(sound)’ 널 안전성을 갖추게 됐다. 이는 개발자들이 발견하기 어려운 버그를 방지할 수 있도록 돕는다. 여기서 다트의 ‘견고한 널 안정성’이란 ‘널을 허용하지 않는(non-nullable)’ 변수가 널(null)일 수 없음을 100% 보장한다는 의미다. 해당 기능은 현재 테크 프리뷰로 사용해볼 수 있다.   또한 구글 다트 개발팀의 10일 발표에 따르면 다트의 널 안정성은 성능도 향상시킨다. 이는 2018년 8월 출시된 다트 2(Dart 2) 이후 가장 주요한 추가 기능이기도 하다. 널 안정성은 다트패드(DartPad) 버전에서 테스트해볼 수 있으며, 2020년 말 해당 기능을 포함한 정식 릴리즈가 출시될 예정이다.  다트는 타입 세이프(type-safe)한, 즉 예측 불가능한 결과를 내지 않는 언어다. 이는 곧 컴파일러가 변수의 타입을 보장할 수 있다는 뜻이다. 그러나 타입 안정성(type safety) 자체는 변수가 널을 허용하지 않는 것을 보장하진 않는다. 다트 코드에서도 널 오류로 많은 문제가 발생했고, 많은 사람들이 이 문제를 해결하고자 노력을 기울였다. 이제 널 안전성을 통해 개발자는 훨씬 수월하게 코드를 파악할 수 있다. 런타임 널 역참조 오류를 걱정할 필요가 없어진다.  널 안정성의 견고함은 다트 프로그램을 더 빠르고 작게 만들 수 있다. 다트는 코드를 분석해 변수가 널을 허용하지 않는 것으로 판단하고, 항상 널을 허용하지 않도록 보장한다. 변수가 널을 허용하지 않기 때문에 선행 컴파일러는 널에 대한 검사를 할 필요가 없고 더 작고 빠른 코드를 생성할 수 있다.  이 밖에 다트 개발팀은 널 안정성을 최대한 사용하기 쉽도록 개발 중이라고 설명했다. 널 안정성은 이전 버전과 호환되며, 강제적인 변화는...

2020.06.12

러스트, ‘가장 사랑받는’ 언어 5년 연속 1위 <스택 오버플로우 발표>

스택 오버플로우에 따르면 러스트가 5년 연속 ‘가장 사랑받는’ 프로그래밍 언어 1위를 차지했다. 이어서 타입스크립트가 파이썬을 제치고 2위에 올랐다.  2020년 스택 오버플로우(Stack Overflow) 개발자 설문조사에서 러스트가 ‘가장 사랑받는(most loved)’ 언어로 조사됐다. ‘가장 관심 있는(most wanted)’ 언어로는 파이썬, ‘가장 많은 급여를 받는(top paying)’ 언어는 펄, 스칼라, 고(Go)인 것으로 나타났다.    ‘가장 사랑받는’ 언어 순위는 해당 언어를 현재 사용 중이며 계속 사용하겠다고 응답한 비율이 높은 순으로 나열됐다. 또한 ‘현재 사용 중이지만 더 사용하고 싶지 않은(most dreaded)’, ‘현재 사용하지 않지만 가장 관심이 많은(most wanted)’, ‘가장 많은 급여를 받는(top paying)’, ‘가장 일반적으로 사용되는(most popular)’ 언어 순위도 함께 조사됐다.  스택 오버플로우는 지난 2월 전 세계 6만 5,000명의 개발자를 대상으로 설문조사를 실시했으며, 그 결과는 5월 27일 공개됐다. 앞서 언급한 범주의 상위 10개 결과는 다음과 같다. ‘가장 사랑받는’ 프로그래밍 언어 톱 10  1. 러스트(86.1%) 2. 타입스크립트(67.1%) 3. 파이썬(66.7%) 4. 코틀린(62.9%) 5. 고(62.3%) 6. 줄리아(62.2%) 7. 다트(62.1%) 8. C#(59.7%) 9. 스위프트(59.5%) 10. 자바스크립트(58.3%) ‘현재 사용 중이지만 더 사용하고 싶지 않은’ 언어 톱 10 1. VBA(80.4%) 2. 오브젝티브-C(76.6%) 3. 펄(71.4%) 4. 어셈블리(70.6%) 5. C(66.9%) 6. PHP(62.7%) 7. 루비(57.1%) 8. C++(56.6%) 9. 자바(55.95%) 10. R(55.5%) ‘현재 사용하지 않지만 가장 관심이 많은’ 언어 톱 10 1. 파이썬(30%)...

스택 오버플로우 개발자 개발 프로그래밍 개발 언어 프로그래밍 언어 러스트 파이썬 스칼라 타입스크립트 코틀린 스위프트 자바스크립트 티오베

2020.06.03

스택 오버플로우에 따르면 러스트가 5년 연속 ‘가장 사랑받는’ 프로그래밍 언어 1위를 차지했다. 이어서 타입스크립트가 파이썬을 제치고 2위에 올랐다.  2020년 스택 오버플로우(Stack Overflow) 개발자 설문조사에서 러스트가 ‘가장 사랑받는(most loved)’ 언어로 조사됐다. ‘가장 관심 있는(most wanted)’ 언어로는 파이썬, ‘가장 많은 급여를 받는(top paying)’ 언어는 펄, 스칼라, 고(Go)인 것으로 나타났다.    ‘가장 사랑받는’ 언어 순위는 해당 언어를 현재 사용 중이며 계속 사용하겠다고 응답한 비율이 높은 순으로 나열됐다. 또한 ‘현재 사용 중이지만 더 사용하고 싶지 않은(most dreaded)’, ‘현재 사용하지 않지만 가장 관심이 많은(most wanted)’, ‘가장 많은 급여를 받는(top paying)’, ‘가장 일반적으로 사용되는(most popular)’ 언어 순위도 함께 조사됐다.  스택 오버플로우는 지난 2월 전 세계 6만 5,000명의 개발자를 대상으로 설문조사를 실시했으며, 그 결과는 5월 27일 공개됐다. 앞서 언급한 범주의 상위 10개 결과는 다음과 같다. ‘가장 사랑받는’ 프로그래밍 언어 톱 10  1. 러스트(86.1%) 2. 타입스크립트(67.1%) 3. 파이썬(66.7%) 4. 코틀린(62.9%) 5. 고(62.3%) 6. 줄리아(62.2%) 7. 다트(62.1%) 8. C#(59.7%) 9. 스위프트(59.5%) 10. 자바스크립트(58.3%) ‘현재 사용 중이지만 더 사용하고 싶지 않은’ 언어 톱 10 1. VBA(80.4%) 2. 오브젝티브-C(76.6%) 3. 펄(71.4%) 4. 어셈블리(70.6%) 5. C(66.9%) 6. PHP(62.7%) 7. 루비(57.1%) 8. C++(56.6%) 9. 자바(55.95%) 10. R(55.5%) ‘현재 사용하지 않지만 가장 관심이 많은’ 언어 톱 10 1. 파이썬(30%)...

2020.06.03

‘좋은 걸 어떡해’··· 손이 가는 프로그래밍 일탈 10가지

규칙을 어기면 약간의 스릴을 느낄 수 있다. 때로는 더 좋고 더 효율적인 코드를 작성할 수 있기도 하다.   우리 모두 해본 적이 있다. 엄마가 보지 않을 때 쿠키를 집어 들고, 저녁으로 와인을 좀 많이 마시고, 차를 애매한 곳에 잠깐 살짝 주차하는 것 등등 말이다. 종종 제한속도를 초과하기도 한다.  그리고 맞다, 우리 개발자 모두는 프로그래밍의 기본적인 규칙들을 위반한 적 있다. 모두가 동의하는 규칙들이 걸리적거렸기에 우리 모두는 몰래 그렇게 하는 것을 좋아했다. 나쁜 코드를 입력하기도 하면서 우리는 살아왔다.  그럼에도 불구하고 프로그래밍 신이 번개를 내리지는 않았으며, 데스크톱은 폭발하지 않았다. 사실, 우리 코드는 컴파일된 채 발송됐고, 고객들은 충분히 행복해 보였다. 왜냐하면 나쁜 프로그래밍은 예를 들어, 전기 울타리를 핥거나 호랑이의 꼬리를 잡아당기는 것과 같지 않기 때문이다. 대부분의 경우 잘 작동된다. 규칙은 방침이나 양식상의 제안인 경우가 더 많지, 반드시 따라야 하거나 죽음이 수반되는 융통성 없는 지침이 아니다.  물론, 당신의 코드가 비웃음을 살 수도 있고, 어쩌면 공개적으로 조롱당할 수도 있다. 하지만 당신이 규칙을 어기고 있다는 사실은, 근엄한 사회적 관행을 살짝 뒤집는다는 유쾌한 스릴을 더해주기도 한다. 규칙을 어기는 것이 더 나은 경우도 있다. 코드가 더 깔끔하게 나온다. 심지어 더 빠르고 더 간단할 수도 있다. 규칙은 보통 너무 광범위한데, 숙련된 프로그래머라면 규칙을 어김으로써 코드를 개선할 수도 있다. 상사에게 자랑할 정도는 아닐지라도 가끔은 당신 방식대로 코딩하는 게 말이 된다.  다음은 사람에 따라 도저히 납득할 수 없겠지만, 우리들 중 대부분이 성공적으로 그리고 즐겁게 자주 어기는 규칙 10가지다. 나쁜 프로그래밍 습관 No. 1 : 베끼기(Copying)  학교에서는 분명히 금지된 행동이다. 단 직장에서는 그리 분명하지 않다. 차용하지 말아야 할 코...

코드 작성 프로그래밍 코딩 개발 언어

2020.01.06

규칙을 어기면 약간의 스릴을 느낄 수 있다. 때로는 더 좋고 더 효율적인 코드를 작성할 수 있기도 하다.   우리 모두 해본 적이 있다. 엄마가 보지 않을 때 쿠키를 집어 들고, 저녁으로 와인을 좀 많이 마시고, 차를 애매한 곳에 잠깐 살짝 주차하는 것 등등 말이다. 종종 제한속도를 초과하기도 한다.  그리고 맞다, 우리 개발자 모두는 프로그래밍의 기본적인 규칙들을 위반한 적 있다. 모두가 동의하는 규칙들이 걸리적거렸기에 우리 모두는 몰래 그렇게 하는 것을 좋아했다. 나쁜 코드를 입력하기도 하면서 우리는 살아왔다.  그럼에도 불구하고 프로그래밍 신이 번개를 내리지는 않았으며, 데스크톱은 폭발하지 않았다. 사실, 우리 코드는 컴파일된 채 발송됐고, 고객들은 충분히 행복해 보였다. 왜냐하면 나쁜 프로그래밍은 예를 들어, 전기 울타리를 핥거나 호랑이의 꼬리를 잡아당기는 것과 같지 않기 때문이다. 대부분의 경우 잘 작동된다. 규칙은 방침이나 양식상의 제안인 경우가 더 많지, 반드시 따라야 하거나 죽음이 수반되는 융통성 없는 지침이 아니다.  물론, 당신의 코드가 비웃음을 살 수도 있고, 어쩌면 공개적으로 조롱당할 수도 있다. 하지만 당신이 규칙을 어기고 있다는 사실은, 근엄한 사회적 관행을 살짝 뒤집는다는 유쾌한 스릴을 더해주기도 한다. 규칙을 어기는 것이 더 나은 경우도 있다. 코드가 더 깔끔하게 나온다. 심지어 더 빠르고 더 간단할 수도 있다. 규칙은 보통 너무 광범위한데, 숙련된 프로그래머라면 규칙을 어김으로써 코드를 개선할 수도 있다. 상사에게 자랑할 정도는 아닐지라도 가끔은 당신 방식대로 코딩하는 게 말이 된다.  다음은 사람에 따라 도저히 납득할 수 없겠지만, 우리들 중 대부분이 성공적으로 그리고 즐겁게 자주 어기는 규칙 10가지다. 나쁜 프로그래밍 습관 No. 1 : 베끼기(Copying)  학교에서는 분명히 금지된 행동이다. 단 직장에서는 그리 분명하지 않다. 차용하지 말아야 할 코...

2020.01.06

지금 배워 두면 딱 좋은 '프로그래밍 언어 16선'

프로그래밍 초보자라면 스크래치(Scratch)나 HTML과 같은 단순한 언어로 시작하는 것이 좋다. 일단 기본 지식을 습득한 다음 배워볼 만한 다양한 언어가 있다. 자바스크립트, PHP, C#과 같은 프로그래밍 언어가 인기 있는 데는 그럴 만한 이유가 있다. 이들은 각 분에서 최고로 평가받고 있으며 시장에서 꾸준히 수요가 있다. 여기 개발자에게 가치를 제공할 수 있지만 덜 알려진 유용한 프로그래밍 언어를 소개한다. 이들은 앞으로 몇 년 동안 기업 내에서 큰 역할을 할 것으로 기대된다.  1. F# 이 오픈소스 기능 언어는 광범위한 애플리케이션 사용과 적극적인 커뮤니티 덕분에 소프트웨어 개발자들 사이에서 인기가 있다. F#은 2005년에 시작되었으며 처음에는 윈도우에서만 마이크로소프트 리서치 프로젝트로 제공되었다. 그러나 이제는 여러 플랫폼에서 사용하거나 자바스크립트, GPU 코드, 게임, 빅데이터 등을 생성할 수 있다. 스택오버플로우(Stackoverflow)의 어떤 프로그래밍 언어가 고임금을 받는지 설문 조사에서 F# 사용자는 연 평균 약 7만 4,000달러의 급여를 받아 세계에서 가장 고임금의 개발자로 파악됐다. 2. OCaml OCaml은 메타언어(metalanguage) 계열의 하나며 1996년에 처음 등장했다. OCaml은 F#과 스칼라를 비롯한 여러 프로그래밍 언어의 개발에 영향을 주었으며 현재 많은 개발자에게 인기 있는 언어로 남아 있다. 표현력과 안전성에 중점을 두고 설계된 OCaml은 실수를 포착하는 데 도움이 되는 고급 유형 시스템을 갖추고 있다. 속도가 핵심이지만 단일 오류로 인해 잠재적으로 수백만 파운드의 손실이 발생할 수 있는 환경에서 작업하는 사용자가 선호하는 것으로 알려졌다. 3. 아파치 그루비 아파치 그루비(Apache Groovy)는 객체지향의 민첩하고 역동적인 언어로 자바의 대체제라기보다는 자바의 동반자로 설계됐다. 기존의 모든 자바 객체 및 라이브러리와 완벽하게 통합되며 파이썬, 러스트, 스몰토크(Small...

구글 개발 언어 레드몽크 러스트 코틀린 타입스크립트 하스켈 OCaml 발레리나 R 클로저 페이스북 애플 자바스크립트 깃허브 파이썬 F# 프로그래밍 언어 스칼라 스위프트 아파치 그루비

2019.07.17

프로그래밍 초보자라면 스크래치(Scratch)나 HTML과 같은 단순한 언어로 시작하는 것이 좋다. 일단 기본 지식을 습득한 다음 배워볼 만한 다양한 언어가 있다. 자바스크립트, PHP, C#과 같은 프로그래밍 언어가 인기 있는 데는 그럴 만한 이유가 있다. 이들은 각 분에서 최고로 평가받고 있으며 시장에서 꾸준히 수요가 있다. 여기 개발자에게 가치를 제공할 수 있지만 덜 알려진 유용한 프로그래밍 언어를 소개한다. 이들은 앞으로 몇 년 동안 기업 내에서 큰 역할을 할 것으로 기대된다.  1. F# 이 오픈소스 기능 언어는 광범위한 애플리케이션 사용과 적극적인 커뮤니티 덕분에 소프트웨어 개발자들 사이에서 인기가 있다. F#은 2005년에 시작되었으며 처음에는 윈도우에서만 마이크로소프트 리서치 프로젝트로 제공되었다. 그러나 이제는 여러 플랫폼에서 사용하거나 자바스크립트, GPU 코드, 게임, 빅데이터 등을 생성할 수 있다. 스택오버플로우(Stackoverflow)의 어떤 프로그래밍 언어가 고임금을 받는지 설문 조사에서 F# 사용자는 연 평균 약 7만 4,000달러의 급여를 받아 세계에서 가장 고임금의 개발자로 파악됐다. 2. OCaml OCaml은 메타언어(metalanguage) 계열의 하나며 1996년에 처음 등장했다. OCaml은 F#과 스칼라를 비롯한 여러 프로그래밍 언어의 개발에 영향을 주었으며 현재 많은 개발자에게 인기 있는 언어로 남아 있다. 표현력과 안전성에 중점을 두고 설계된 OCaml은 실수를 포착하는 데 도움이 되는 고급 유형 시스템을 갖추고 있다. 속도가 핵심이지만 단일 오류로 인해 잠재적으로 수백만 파운드의 손실이 발생할 수 있는 환경에서 작업하는 사용자가 선호하는 것으로 알려졌다. 3. 아파치 그루비 아파치 그루비(Apache Groovy)는 객체지향의 민첩하고 역동적인 언어로 자바의 대체제라기보다는 자바의 동반자로 설계됐다. 기존의 모든 자바 객체 및 라이브러리와 완벽하게 통합되며 파이썬, 러스트, 스몰토크(Small...

2019.07.17

칼럼 | 아파치 스파크에서 마음에 들지 않는 5가지

맵리듀스(MapReduce)가 점차 힘을 잃는 추세에 지난해 클라우데라(Cloudera), IBM과 같은 주요기업들의 전폭적인 투자까지 더해지며 빅데이터 프로세싱 플랫폼인 아파치 스파크(Spark)가 본궤도에 오르기 시작했다. 10줄 미만의 코드로 단어 개수를 계산하는 애플리케이션 데모들이 쏟아져 나왔다. 그러나 스파크에 대해 조금 더 깊이 파고들어 간 사람이라면 개념 설명을 위한 간단한 예제를 벗어나 본격적인 무언가를 하려고 할 때, 스파크에 대한 환상이 어느 정도 깨지는 것을 경험했을 것이다. 물론 스파크는 훌륭하다. 그러나 스파크는 스칼라(Scala) 코드 몇 줄만으로 끝나는 그런 간단한 개념이 아니다. 업무 현장에서 스파크를 사용할 때 직면하는 5가지 가장 큰 골칫거리를 살펴보자. 메모리 문제 대규모 데이터를 처리하는 도중에 힙 공간이 소진되는 스파크의 고질적인 문제를 이야기하는 것이 아니다. (스파크 1.5와 그 이후 나올 1.6에서 데이터브릭스(Databricks)의 주안점 중 하나인 프로젝트 텅스텐은 마침내 가비지 수집 문제를 많은 부분 해결해준다.) 여기서 이야기하는 문제는 대규모로 작업할 때 맞닥뜨리게 되는 다양한 형태의 메모리 문제다. 스파크를 몇 개월 동안 스탠드얼론(Standalone) 클러스터 모드로 사용하다가 YARN 및 메소스(Mesos)로 바꾸면서 모든 기본값이 변경될 때 겪는 일종의 적응 과정으로 생각할 수도 있다. 예를 들어 스탠드얼론에서는 가용한 모든 메모리와 코어를 자동으로 가져오지만, 스탠드얼론 외의 다른 구축 옵션에서는 실행 파일과 드라이버용 기본값이 터무니없이 작다. 쉽게 고칠 수 있는 문제지만 작업 규모를 확대할 때 누구나 반드시 한 번은 잊고 넘어가는 부분이다. 데모 수준을 벗어나서 대규모 데이터 세트를 다루게 될 때 스파크 작업이 꼬이는 전형적인 예를 보면 1.8TB 세트를 대상으로 실행하는 reduceByKey 작업이 spark.driver.maxResultSize의 기본값(1GB)을...

빅데이터 스파크 스트리밍 Resilient Distributed Dataset RDD 스파크 메모리 스탠드얼론 스파크 단점 스파크 스칼라 파이썬 프로그래밍 HDFS 클라우데라 IBM 개발자 개발 언어

2015.11.17

맵리듀스(MapReduce)가 점차 힘을 잃는 추세에 지난해 클라우데라(Cloudera), IBM과 같은 주요기업들의 전폭적인 투자까지 더해지며 빅데이터 프로세싱 플랫폼인 아파치 스파크(Spark)가 본궤도에 오르기 시작했다. 10줄 미만의 코드로 단어 개수를 계산하는 애플리케이션 데모들이 쏟아져 나왔다. 그러나 스파크에 대해 조금 더 깊이 파고들어 간 사람이라면 개념 설명을 위한 간단한 예제를 벗어나 본격적인 무언가를 하려고 할 때, 스파크에 대한 환상이 어느 정도 깨지는 것을 경험했을 것이다. 물론 스파크는 훌륭하다. 그러나 스파크는 스칼라(Scala) 코드 몇 줄만으로 끝나는 그런 간단한 개념이 아니다. 업무 현장에서 스파크를 사용할 때 직면하는 5가지 가장 큰 골칫거리를 살펴보자. 메모리 문제 대규모 데이터를 처리하는 도중에 힙 공간이 소진되는 스파크의 고질적인 문제를 이야기하는 것이 아니다. (스파크 1.5와 그 이후 나올 1.6에서 데이터브릭스(Databricks)의 주안점 중 하나인 프로젝트 텅스텐은 마침내 가비지 수집 문제를 많은 부분 해결해준다.) 여기서 이야기하는 문제는 대규모로 작업할 때 맞닥뜨리게 되는 다양한 형태의 메모리 문제다. 스파크를 몇 개월 동안 스탠드얼론(Standalone) 클러스터 모드로 사용하다가 YARN 및 메소스(Mesos)로 바꾸면서 모든 기본값이 변경될 때 겪는 일종의 적응 과정으로 생각할 수도 있다. 예를 들어 스탠드얼론에서는 가용한 모든 메모리와 코어를 자동으로 가져오지만, 스탠드얼론 외의 다른 구축 옵션에서는 실행 파일과 드라이버용 기본값이 터무니없이 작다. 쉽게 고칠 수 있는 문제지만 작업 규모를 확대할 때 누구나 반드시 한 번은 잊고 넘어가는 부분이다. 데모 수준을 벗어나서 대규모 데이터 세트를 다루게 될 때 스파크 작업이 꼬이는 전형적인 예를 보면 1.8TB 세트를 대상으로 실행하는 reduceByKey 작업이 spark.driver.maxResultSize의 기본값(1GB)을...

2015.11.17

회사명:한국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.5.0.5