레포트 · 컴퓨터·IT
C언어 프로그래밍 레포트 - C언어에 대한 가장 중요한 장점에 대하여 작성하시오.
대학 전공 C언어 프로그래밍 과목 과제 참고 레포트입니다. 과제 주제: C언어에 대한 가장 중요한 장점에 대하여 작성하시오.
대학 교양 파이썬 프로그래밍 과목 과제 참고 레포트입니다. 과제 주제: C언어의 가장 중요한 장점에 대해 서술하시오.
I. 서론
파이썬 수업에서 처음 C 코드를 보면 같은 기능을 왜 이렇게 길게 써야 하나 싶은 생각이 들 수 있다. 문자열을 다루거나 자료구조를 만들 때 파이썬은 짧은 코드로 끝나는 일이 C에서는 메모리 크기와 자료형, 포인터까지 신경 써야 한다. 그런데 운영체제와 임베디드 장치, 각종 라이브러리의 밑바닥으로 내려가면 C는 여전히 자주 등장한다. 나는 C의 가장 중요한 장점을 빠르다는 말 하나로 정리하기보다 하드웨어에 가까운 제어를 하면서도 특정 기계의 어셈블리 언어에 갇히지 않는다는 점으로 보고 싶다. 프로그래머가 메모리와 자료 배치, 함수 호출 비용을 비교적 직접 다룰 수 있고, 같은 소스의 상당 부분을 다른 환경에서도 다시 컴파일할 수 있다. 성능과 이식성을 동시에 확보하려는 설계가 C의 오래된 힘이다.
II. 본론
C는 운영체제를 구현하기 위한 시스템 프로그래밍 언어로 성장했다. 데니스 리치는 C가 1970년대 초 유닉스 운영체제를 구현하는 과정에서 발전했다고 설명했다. 당시 운영체제를 어셈블리 언어로 작성하면 특정 프로세서의 명령어와 레지스터 구조에 깊게 묶였다. 반대로 너무 높은 수준의 추상화만 제공하는 언어는 메모리 주소와 비트 단위 자료, 장치와 맞닿는 코드를 세밀하게 다루기 어려웠다. C는 그 중간에서 함수와 구조적 제어문 같은 고급 언어 기능을 제공하면서 포인터와 비트 연산처럼 기계 가까운 기능도 열어 두었다.
성능에서 중요한 것은 문법이 짧다는 사실보다 실행 과정의 숨은 비용이 비교적 적다는 점이다. C는 자동 가비지 컬렉션을 기본으로 요구하지 않고 객체 시스템이나 거대한 실행 환경을 언어 차원에서 강제하지 않는다. 배열의 메모리 배치가 연속적이고 기본 자료형의 연산이 프로세서 명령으로 직접 옮겨지기 쉬운 편이다. 컴파일러는 최적화를 적용하지만 프로그래머도 자료가 메모리에 어떻게 놓일지 상당 부분 예상할 수 있다. 반복해서 큰 데이터를 처리하거나 제한된 메모리에서 동작해야 하는 프로그램에서는 이런 예측 가능성이 큰 장점이 된다.
포인터는 C의 성격을 가장 잘 보여 주는 기능 가운데 하나다. 포인터는 메모리 주소를 값으로 다루게 해 주며 배열과 동적 메모리, 연결 자료구조, 장치 메모리 접근 등에 쓰인다. 파이썬에서는 객체 참조와 메모리 관리가 실행 환경 뒤에 가려져 있는 편이지만 C에서는 주소와 크기를 직접 생각해야 한다. 이 기능은 어렵고 위험하지만 운영체제 커널, 장치 드라이버, 마이크로컨트롤러 프로그램처럼 메모리와 장치의 배치를 알아야 하는 분야에서는 꼭 필요한 표현력을 제공한다. 언어가 프로그래머 대신 모든 것을 관리하지 않기 때문에 얻는 자유다.
이용 시 주의
아직 구매자 평가가 없습니다. 구매 후 별점과 평가 항목을 남길 수 있습니다.
레포트 · 컴퓨터·IT
대학 전공 C언어 프로그래밍 과목 과제 참고 레포트입니다. 과제 주제: C언어에 대한 가장 중요한 장점에 대하여 작성하시오.
대학 교양 빅데이터의 이해 과목 과제 참고 레포트입니다. 과제 주제: 보건의료 빅데이터 활용에 따른 병원경영전략에 대해 서술하시오.
대학 교양 인터넷과 정보사회 과목 과제 참고 레포트입니다. 과제 주제: 인터넷과 스마트폰 사용이 청소년의 삶에 미치는 이점과 문제점을 생각해보시오.
레포트 · 컴퓨터·IT
대학 교양 게임과 사회 과목 과제 참고 레포트입니다. 과제 주제: 게임놀이치료가 과연 효과적인지에 대해 논하시오.
구매 후 바로 다운로드
1,500원