레포트 · 컴퓨터·IT
파이썬 프로그래밍 레포트 - C언어의 가장 중요한 장점에 대해 서술하시오.
대학 교양 파이썬 프로그래밍 과목 과제 참고 레포트입니다. 과제 주제: C언어의 가장 중요한 장점에 대해 서술하시오.
대학 전공 C언어 프로그래밍 과목 과제 참고 레포트입니다. 과제 주제: C언어에 대한 가장 중요한 장점에 대하여 작성하시오.
I. 서론
프로그래밍 실습실에서 같은 C 소스 파일을 서로 다른 운영체제의 컴퓨터에서 컴파일해 본 적이 있다. 화면에 찍히는 결과는 같았지만 실행 파일은 서로 달랐다. 처음에는 이상하게 느껴졌다. 컴퓨터가 달라졌는데 왜 같은 소스가 계속 쓸모가 있을까. 반대로 어셈블리어처럼 기계에 아주 가까운 언어라면 장치가 바뀔 때 코드도 크게 달라져야 한다. C는 그 사이에서 묘한 자리를 차지한다. 메모리 주소와 비트까지 만질 수 있을 만큼 기계에 가깝지만, 표준 문법으로 작성한 코드는 여러 환경에서 다시 컴파일해 사용할 수 있다. 나는 C의 가장 중요한 장점을 바로 그 이식성에서 찾는다. 다만 여기서 말하는 이식성은 어디서나 수정 없이 돌아간다는 뜻이 아니다. 하드웨어 제어 능력을 잃지 않으면서도 프로그램을 특정 기계 한 대에 묶어 두지 않는 설계가 C의 오래된 힘이다.
II. 본론
C를 배우며 가장 낯설었던 부분은 포인터였다. 변수 이름으로 값을 다루는 데 익숙해진 뒤 갑자기 주소를 꺼내고, 그 주소가 가리키는 값을 다시 읽으라고 하니 한동안 머릿속에 화살표만 떠다녔다. 그런데 배열과 문자열, 동적 메모리 할당을 함께 다루고 나니 포인터가 왜 C의 성격을 잘 드러내는지 알게 됐다. C 프로그램은 메모리를 추상적인 상자처럼만 보지 않는다. 어느 위치를 가리키는지, 자료가 몇 바이트를 차지하는지, 비트 연산으로 어떤 부분을 켜고 끌지까지 코드에서 직접 표현할 수 있다. 운영체제나 임베디드 장치처럼 하드웨어와 가까운 곳에서 C가 오래 쓰인 이유를 이해하게 되는 대목이다.
하드웨어 가까운 언어라는 말만 들으면 어셈블리어와 크게 다르지 않을 것 같지만 실제 차이가 크다. 어셈블리어 명령은 특정 프로세서의 명령 집합과 강하게 붙어 있다. 프로세서 계열이 바뀌면 사용할 수 있는 명령과 레지스터 구조도 달라진다. C는 덧셈, 반복문, 함수 호출, 구조체 같은 공통된 표현을 소스 코드에 남기고, 기계별 명령으로 바꾸는 일은 컴파일러에 맡긴다. 프로그래머는 기계의 동작 원리를 의식하면서도 모든 명령을 직접 적을 필요가 없다. 이 차이가 작아 보여도 프로그램의 수명에는 큰 영향을 준다.
Dennis Ritchie가 설명한 C의 발전 과정에는 유닉스와 C가 함께 자란 역사가 나온다. 초기 유닉스는 어셈블리어의 비중이 컸지만 1973년 무렵 커널이 C로 다시 작성되면서 운영체제를 다른 기계로 옮길 수 있는 기반이 커졌다. 운영체제는 장치 제어, 메모리, 프로세스처럼 컴퓨터의 밑바닥과 맞닿아 있다. 그런 프로그램을 고급 언어에 가까운 문법으로 쓰면서도 필요한 하드웨어 접근을 유지했다는 점이 중요하다. C는 기계를 감추는 데만 힘쓴 언어가 아니라, 기계를 다룰 수 있게 열어 둔 채 공통된 표현을 만든 언어에 가깝다.
이용 시 주의
아직 구매자 평가가 없습니다. 구매 후 별점과 평가 항목을 남길 수 있습니다.
레포트 · 컴퓨터·IT
대학 교양 파이썬 프로그래밍 과목 과제 참고 레포트입니다. 과제 주제: C언어의 가장 중요한 장점에 대해 서술하시오.
대학 전공 알고리즘 과목 과제 참고 레포트입니다. 과제 주제: 분할 정복 알고리즘의 특징에 대해 정리하고, 분할 정복의 적용이 부적절한 경우와 적용 시 주의할 점에 대해 분석하고 정리하시오.
대학 전공 클라우드컴퓨팅 과목 과제 참고 레포트입니다. 과제 주제: 아마존 웹서비스(AWS)의 클라우드 컴퓨팅 사업 활동을 조사하여 요약하시오.
대학 전공 소프트웨어공학 과목 과제 참고 레포트입니다. 과제 주제: 소프트웨어의 개발과정과 건축 공학 단계의 유사성을 고려할 때, 요구사항 변경에 따른 추가 개발비용의 심각성에 대해 토의하시오.
구매 후 바로 다운로드
1,500원