Offcanvas

C ������

“여전히 매력적인 선택지”··· C 언어 주요 강좌 4선

‘전통강자’ C 언어는 여전히 컴퓨터 세계에서 널리 사용되고 있다. 다음의 4가지 강좌로 C 언어를 시작해보자.  오늘날 수많은 프로그래밍 언어가 있지만 ‘C 언어’는 지금도 다수가 사용하는 인기 있는 선택지다. 리눅스 커널(Linux kernel), 파이썬 런타임(Python runtime)과 같은 많은 주요 프로젝트가 C 언어를 사용하고 있으며, 계속해서 C 언어를 쓸 가능성이 높다. 임베디드 프로그래밍과 같은 일부 컴퓨팅 분야에서는 C 언어가 필수이기도 하다.    그리고 C 언어를 배우기도 더할 나위 없이 좋은 시기다. 책에서 온라인 강좌까지 학습 자원이 풍부하기 때문이다. 여기서는 C 프로그래밍 학습을 위한 주요 온라인 강좌 4가지를 살펴본다.  각 강좌는 각기 다른 수준의 사용자를 대상으로 하며, 서로 다른 접근법을 제시한다. 예를 들면 한 강좌에서는 C 언어와 리눅스를 결합해 배울 수 있고, 다른 강좌에서는 C와 C++를 함께 학습할 수 있다.  1. 유데미(Udemy): ‘입문자를 위한 C 프로그래밍(C Programming for Beginners)’ C 언어가 처음 배우기에 가장 쉬운 프로그래밍 언어라고 할 순 없다. 하지만 그렇다고 해서 C 언어가 ‘모국어’로는 적절하지 않다거나, 하나만 배우기 힘들다는 것은 아니다. 유데미의 ‘입문자를 위한 C 프로그래밍’ 강좌는 ‘기본을 우선하는(Basic First)’ 접근법을 취하며 이를 증명한다.  해당 강좌에는 윈도우, 리눅스, 맥 등의 시스템에 필요한 소프트웨어 설치 방법을 알려주는 과정이 포함돼 있다. 또한 초보자도 접근하기 편한 코드블록(Code::Blocks)을 코드 편집기로 사용한다.  본 강좌는 다국어 자막 서비스(영어, 프랑스어, 독일어, 이탈리아어, 포르투갈어, 폴란드어, 스페인어)를 지원한다.  • 수강 기간: 총 24시간 3분 / 자기 진도에 맞춰 학습할 수 있음    2. ...

개발 언어 프로그래밍 언어 C 언어 C++ 리눅스 파이썬 소프트웨어 개발 임베디드 프로그래밍 유데미 코드블록 윈도우 MIT 자바 자바스크립트

2020.10.22

‘전통강자’ C 언어는 여전히 컴퓨터 세계에서 널리 사용되고 있다. 다음의 4가지 강좌로 C 언어를 시작해보자.  오늘날 수많은 프로그래밍 언어가 있지만 ‘C 언어’는 지금도 다수가 사용하는 인기 있는 선택지다. 리눅스 커널(Linux kernel), 파이썬 런타임(Python runtime)과 같은 많은 주요 프로젝트가 C 언어를 사용하고 있으며, 계속해서 C 언어를 쓸 가능성이 높다. 임베디드 프로그래밍과 같은 일부 컴퓨팅 분야에서는 C 언어가 필수이기도 하다.    그리고 C 언어를 배우기도 더할 나위 없이 좋은 시기다. 책에서 온라인 강좌까지 학습 자원이 풍부하기 때문이다. 여기서는 C 프로그래밍 학습을 위한 주요 온라인 강좌 4가지를 살펴본다.  각 강좌는 각기 다른 수준의 사용자를 대상으로 하며, 서로 다른 접근법을 제시한다. 예를 들면 한 강좌에서는 C 언어와 리눅스를 결합해 배울 수 있고, 다른 강좌에서는 C와 C++를 함께 학습할 수 있다.  1. 유데미(Udemy): ‘입문자를 위한 C 프로그래밍(C Programming for Beginners)’ C 언어가 처음 배우기에 가장 쉬운 프로그래밍 언어라고 할 순 없다. 하지만 그렇다고 해서 C 언어가 ‘모국어’로는 적절하지 않다거나, 하나만 배우기 힘들다는 것은 아니다. 유데미의 ‘입문자를 위한 C 프로그래밍’ 강좌는 ‘기본을 우선하는(Basic First)’ 접근법을 취하며 이를 증명한다.  해당 강좌에는 윈도우, 리눅스, 맥 등의 시스템에 필요한 소프트웨어 설치 방법을 알려주는 과정이 포함돼 있다. 또한 초보자도 접근하기 편한 코드블록(Code::Blocks)을 코드 편집기로 사용한다.  본 강좌는 다국어 자막 서비스(영어, 프랑스어, 독일어, 이탈리아어, 포르투갈어, 폴란드어, 스페인어)를 지원한다.  • 수강 기간: 총 24시간 3분 / 자기 진도에 맞춰 학습할 수 있음    2. ...

2020.10.22

흔한 C 프로그래밍 오류 4가지, '그리고 5가지 대처법'

단순히 속도와 기계 수준의 위력만으로 비교한다면 C에 필적할 프로그래밍 언어는 별로 없다. 이는 50년 전에도 사실이었고 지금도 역시 사실이다. 그러나 프로그래머들이 C 언어의 위력을 ‘풋건(footgun)’이라는 말로 묘사하는 데에는 그만한 이유가 있다. 주의하지 않는다면 C는 자신은 물론 다른 사람에게도 피해를 줄 수 있다. C언어에서 가장 흔한 4가지 오류와 이를 예방하는 5가지 조치를 소개한다.  NeONBRAND (CC0) 흔한 C 언어 오류: 멜록 함수로 할당된((malloc-ed) 메모리를 해제하지 않는 것(또는 1회 이상 해제하는 것) 이는 C 언어에서 중대한 오류 가운데 하나이고, 주로 메모리 관리와 연관된다. 할당 메모리는 (멜록 함수를 이용) C에서 자동으로 해제되지 않는다. 메모리가 더 이상 사용되지 않을 때 이를 해제하는 것은 프로그래머의 몫이다. 반복된 메모리 요청을 해제하지 않는다면 메모리 누출(leak)로 이어진다. 이미 해제된 메모리 영역을 사용한다면 프로그램이 충돌하거나, 더 심한 경우, 파편화될 것이고, 이 메커니즘을 악용한 공격에 취약해진다.  메모리 누출은 메모리가 해제되어야 하지만 해제되지 않은 경우를 설명하는 것뿐임을 유의할 필요가 있다. 프로그램이 메모리가 실제로 필요하고 작업에서 사용되기 때문에 메모리를 계속 할당한다면 메모리 이용은 비효율적일 것이지만, 엄격히 말해 이는 누수가 아니다.  흔한 C 언어 오류: 경계 밖의 배열을 읽는 것(Reading an array out of bounds)  C 언어에서 흔하고 위험한 또 다른 오류가 있다. 배열의 끝을 넘어선 읽기는 가비지 데이터(garbage data)를 반환할 수 있다. 배열의 영역을 지난 쓰기는 프로그램 상태를 훼손하거나 이를 완전히 붕괴시키거나, 최악의 경우, 악성코드의 공격 매개체가 된다. 그렇다면 배열의 경계를 확인하는 부담이 왜 프로그래머에게 남겨졌는가? 공식적인 C 규격을 보면 경계를 벗어나 배열을 읽...

C 언어 개발 언어 멜록 콜록 프로그래밍

2020.10.12

단순히 속도와 기계 수준의 위력만으로 비교한다면 C에 필적할 프로그래밍 언어는 별로 없다. 이는 50년 전에도 사실이었고 지금도 역시 사실이다. 그러나 프로그래머들이 C 언어의 위력을 ‘풋건(footgun)’이라는 말로 묘사하는 데에는 그만한 이유가 있다. 주의하지 않는다면 C는 자신은 물론 다른 사람에게도 피해를 줄 수 있다. C언어에서 가장 흔한 4가지 오류와 이를 예방하는 5가지 조치를 소개한다.  NeONBRAND (CC0) 흔한 C 언어 오류: 멜록 함수로 할당된((malloc-ed) 메모리를 해제하지 않는 것(또는 1회 이상 해제하는 것) 이는 C 언어에서 중대한 오류 가운데 하나이고, 주로 메모리 관리와 연관된다. 할당 메모리는 (멜록 함수를 이용) C에서 자동으로 해제되지 않는다. 메모리가 더 이상 사용되지 않을 때 이를 해제하는 것은 프로그래머의 몫이다. 반복된 메모리 요청을 해제하지 않는다면 메모리 누출(leak)로 이어진다. 이미 해제된 메모리 영역을 사용한다면 프로그램이 충돌하거나, 더 심한 경우, 파편화될 것이고, 이 메커니즘을 악용한 공격에 취약해진다.  메모리 누출은 메모리가 해제되어야 하지만 해제되지 않은 경우를 설명하는 것뿐임을 유의할 필요가 있다. 프로그램이 메모리가 실제로 필요하고 작업에서 사용되기 때문에 메모리를 계속 할당한다면 메모리 이용은 비효율적일 것이지만, 엄격히 말해 이는 누수가 아니다.  흔한 C 언어 오류: 경계 밖의 배열을 읽는 것(Reading an array out of bounds)  C 언어에서 흔하고 위험한 또 다른 오류가 있다. 배열의 끝을 넘어선 읽기는 가비지 데이터(garbage data)를 반환할 수 있다. 배열의 영역을 지난 쓰기는 프로그램 상태를 훼손하거나 이를 완전히 붕괴시키거나, 최악의 경우, 악성코드의 공격 매개체가 된다. 그렇다면 배열의 경계를 확인하는 부담이 왜 프로그래머에게 남겨졌는가? 공식적인 C 규격을 보면 경계를 벗어나 배열을 읽...

2020.10.12

마이크로소프트 비주얼 스튜디오, ‘C 언어’ 지원 강화

마이크로소프트의 ‘비주얼 스튜디오 IDE(Visual Studio IDE)’가 C 언어 표준 ‘C11’과 ‘C17’의 지원을 추가하고 제한됐던 기능 지원을 확장했다. 지난 9월 14일 공개한 비주얼 스튜디오 2019 버전 16.8 프리뷰 3부터 C11과 C17 버전이 지원된다.  그동안 비주얼 스튜디오는 C++ 언어에 필요한 만큼만 C 언어를 지원해왔다. 지난 14일(현지 시각) 마이크로소프트는 공식 블로그를 통해 표준에 부합하는 토큰기반 전처리기(token-based preprocessor)가 컴파일러에 추가되면서 상황이 달라졌다고 밝혔다. 이어서 /std:c11와 /std:c17라는 두 개의 컴파일러 스위치가 추가돼 최신 ISO C 표준을 공식 지원하게 됐다고 덧붙였다.    회사에 따르면 _Pragma, restrict, Static_assert 등을 포함해 C11과 C17의 모든 필수 기능이 지원된다. 비주얼 스튜디오의 소스코드 자동완성 프로그램인 인텔리센스(IntelliSense)도 이 기능들과 네이티브하게 작동하며, C 코드 구문 강조 표시를 활성화하려면 소스파일에 .c 파일 확장자를 사용하거나 /TC 컴파일러 스위치를 사용하면 된다. 그러나 인텔리센스 하이라이팅은 현재 표준 헤더에서 도입한 매크로가 아닌 키워드에서만 사용할 수 있다. 이는 이후 릴리스에서 수정될 예정이다.  표준에 맞는 토큰 기반 전처리기가 포함된 두 개의 새 C 컴파일러 스위치는 /Zc: 전처리기를 의미한다는 게 회사 측 설명이다. C11 또는 C17과 함께 기존의 문자 기반 전처리기(character-based preprocessor)를 사용하려면 /Zc: 전처리기 컴파일러 스위치를 전달해야 한다.  마이크로소프트는 C17을 ISO C의 버그 수정 릴리즈라고 설명했다. C11과 C17 버전의 차이점은 C17의 _STDC_version 매크로뿐이다. 비주얼 스튜디오는 현재 C11의 선택적 기능을 지원하지 않지만 향후 릴리즈에서...

마이크로소프트 비주얼 스튜디오 C 언어 C++ 인텔리센스

2020.09.17

마이크로소프트의 ‘비주얼 스튜디오 IDE(Visual Studio IDE)’가 C 언어 표준 ‘C11’과 ‘C17’의 지원을 추가하고 제한됐던 기능 지원을 확장했다. 지난 9월 14일 공개한 비주얼 스튜디오 2019 버전 16.8 프리뷰 3부터 C11과 C17 버전이 지원된다.  그동안 비주얼 스튜디오는 C++ 언어에 필요한 만큼만 C 언어를 지원해왔다. 지난 14일(현지 시각) 마이크로소프트는 공식 블로그를 통해 표준에 부합하는 토큰기반 전처리기(token-based preprocessor)가 컴파일러에 추가되면서 상황이 달라졌다고 밝혔다. 이어서 /std:c11와 /std:c17라는 두 개의 컴파일러 스위치가 추가돼 최신 ISO C 표준을 공식 지원하게 됐다고 덧붙였다.    회사에 따르면 _Pragma, restrict, Static_assert 등을 포함해 C11과 C17의 모든 필수 기능이 지원된다. 비주얼 스튜디오의 소스코드 자동완성 프로그램인 인텔리센스(IntelliSense)도 이 기능들과 네이티브하게 작동하며, C 코드 구문 강조 표시를 활성화하려면 소스파일에 .c 파일 확장자를 사용하거나 /TC 컴파일러 스위치를 사용하면 된다. 그러나 인텔리센스 하이라이팅은 현재 표준 헤더에서 도입한 매크로가 아닌 키워드에서만 사용할 수 있다. 이는 이후 릴리스에서 수정될 예정이다.  표준에 맞는 토큰 기반 전처리기가 포함된 두 개의 새 C 컴파일러 스위치는 /Zc: 전처리기를 의미한다는 게 회사 측 설명이다. C11 또는 C17과 함께 기존의 문자 기반 전처리기(character-based preprocessor)를 사용하려면 /Zc: 전처리기 컴파일러 스위치를 전달해야 한다.  마이크로소프트는 C17을 ISO C의 버그 수정 릴리즈라고 설명했다. C11과 C17 버전의 차이점은 C17의 _STDC_version 매크로뿐이다. 비주얼 스튜디오는 현재 C11의 선택적 기능을 지원하지 않지만 향후 릴리즈에서...

2020.09.17

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

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