C언어
C언어 또는 C 프로그래밍 언어는 1972년 벨 연구소의 데니스 리치가 만든 UNIX 운영체제 제작용 프로그래밍 언어다.
어려운 난이도[편집 | 원본 편집]
C언어는 컴퓨터공학이 본격적으로 확장되기 시작한 시절에 만든 것이라 당시에는 B언어나 어셈블리어같은 더 복잡한 언어 밖에 없어서 파격적으로 쉬운 프로그래밍 언어였지만 지금은 오히려 어려운 상용 프로그래밍 언어가 되었다.
상기했다시피 C언어는 다른 운영체제 위에서 돌아가는 애플리케이션(속칭 앱)보다는 그 운영체제 자체를 만드는 데 특화되어 있기 때문이다.
그래서 21세기 이후 코딩 교육이 대세가 되었을 때 가장 중요한 원칙으로 C언어를 절대 코딩 입문 언어로 추천하지 말아야 한다는 여론이 주류이다.[1]
준비시간만 잡아서 1~2달 문법을 익혀야한다. 그도안 지루해져서 관두는 경우도 다수.
입문을 어렵게 만드는 요소[편집 | 원본 편집]
- 자료형: 다른 프로그래밍 언어와 달리 C언어의 자료형은 철저하게 데이터 비트 수에 따라 결정된다. 그래서 실제로 프로그램을 돌릴 때 사용하는 CPU의 데이터 버스 폭을 알아야 한다.
- 가령 정수형, 즉 integer는 CPU마다 나타낼 수 있는 수의 범위가 제각각이다![2]
- 포인터: 입문자들이 처음으로 좌절하고 C언어 학습을 포기하게 되는 부분이다. 포인터는 간단히 말하면, RAM의 주소값을 담는 특수한 변수이다. 즉, 포인터를 쓰려면 CPU 뿐만 아니라 RAM에 대해서도 알고 있어야 한다!
- 이런 탓에 메모리 할당 및 해제라는, 다른 고수준 프로그래밍 언어에서는 자동으로 해주는 작업을 C언어로 프로그램을 짤 때는 포인터를 이용해 일일이 해주어야 한다.
- 사용자가 입력한 값이 메모리에 담기에 너무 크면 오버플로우가 발생해서 프로그램이 뻗어버린다.
이렇기 때문에 C언어를 배우려면 첫째로 다른 프로그래밍 언어를 이용해 기초적인 컴퓨터 지식을 얻고, 둘째로 C언어 프로그램을 돌릴 컴퓨터나 휴대폰, 기타 전자기기의 하드웨어 사양을 잘 알고 있어야 한다.
그래서 C언어가 입문용으로 좋지 않은 것이다.
대용품[편집 | 원본 편집]
- JAVA: 객체지향언어 개념까지 들어가 있어 자바를 마스터하면 C나 C++ 를 조금이나마 쉽게 알 수 있다.[3]
- Python: 만일 하드웨어를 몰라도 코딩을 배우려면 Python으로 프로그래밍 언어에 입문하는 게 낫다. Python은 텍스트 편집기로 프로그래밍하는 언어 중 독보적으로 쉽다는 평가를 받는 프로그래밍 언어이기 때문이다.