본문 바로가기

Computer Science/컴퓨터 과학이 여는 세계

컴퓨터과학이 여는 세계_8.1 소프트웨어를 잘 짜기위한 두개의 축_이광근

마음의 도구인 컴퓨터는 소프트웨어를 통해 사용한다. 가구를 짜거나 설계도를 짜듯이 소프트웨어도 지혜로 짠다. 소프트웨어를 짜기 위해선 두 가지 축이 필요하다.

 첫 째는 알고리즘이다. 문제푸는 방법이라고도 한다. 같은 일을 할때 어떤 방법으로 일을 처리할지가 이 알고리즘에 해당하는 일이다.

 두 번째는 언어이다. 아무리 좋은 알고리즘을 찾았다고 한들 생각만 하고 있으면 되지 않는다. 언어를 통해 표현해야하고 그것이 C나 Python같은 것으로 표현되어지는 것이다.


 SW는 한편 무시무시하기도 하다. 책이 한권에 2~30줄 300쪽이라 하면 6000줄 정도인 반면 보통 우리들이 쓰는 휴대폰의 운영체제가 몇십만 몇백만 줄이다. 그런데 기본적으로 사람이 짜기 때문에 실수가 있기 마련이고, SW가 잘못되어 오류가 생길수도 있는 것이다. 몇몇 오류는 자동적으로 경고를 해주지만, 몇개는 발견되지 못한채로 시장에 나온다. 그런 오류가 의료산업이나 운송수단에 생기면 어마어마한 피해를 입게 되는 것이다.