노마드 코더 북클럽을 신청했는데 설 연휴 때 아무 생각 없이 너무 푹 쉬어버려서 30장 이후부터는 안 적었는데 이미 챌린지가 끝나있었다. 2월에 또 열리길래 다시 신청했다. 그땐 제대로 읽어야겠지 다짐하고 있다. 그래서 30장부터는 이 블로그에 적어보려고 한다. 내가 모르는 컴퓨터와 관련된 개념을 잘 알게 해주는 책이라 매우 읽기도 좋고 이해도 잘 되는 기분이다. 30장은 코로나가 준 레거시 시스템의 교훈이라는 제목을 갖고 있다. 2020년 초 코로나가 미친 듯 확산하였을 때 뉴저지 주지사가 TV에 나와서 한 말이 화제가 되었다고 한다. '코볼 개발자를 급하게 찾는다'라고 했다. 파이썬 개발자도 아니라 코볼 개발자라니 왜 그랬을까? 코로나로 생겨난 많은 실업자들이 정부 사이트에 들어가서 여러 신청을 해야 했는데 그 시스템이 코볼이라는 옛날 언어로 구현되어 있었다고 한다. 코볼은 이전 글에서 썼듯이 1959년에 탄생한 정말 오래된 언어라고 한다. 그래서 코볼로 개발을 잘하던 사람은 이미 은퇴했을 것이라고 한다. 이 사건을 레거시가 우리 생활에 큰 영향을 끼친 사례라고 저자는 말한다. 레거시란 단어가 어떤 뜻인지 궁금해 구글에 검색해 보았다. 나무위키에 있는 내용을 살펴보면 레거시란 유산이라는 뜻으로 현재까지 남아서 사용되거나 현재 체계에 영향을 끼치는 과거의 체계를 의미한다고 한다. 가족 또는 혈통이 남긴 유산이라는 뜻으로도 많이 사용된다고 한다. 정치에 쓰는 말은 아니고, 구체제라는 용어를 말하고 싶을 때는 Ancien regime을 쓴다고 한다. 자 다시 책의 내용으로 돌아가면 코볼은 지금의 파이썬 같았다고 한다. 실제로 미국 은행 시스템 중 43%가 코볼로 개발되었다고! 정말 많이 쓰였고 당시 코볼의 인기가 어마어마했음을 알 수 있다. 하지만 코볼을 대체할 언어가 이미 너무 많이 있고 젊은 개발자는 물론이고 프로그래밍 전공자들도 코볼을 배우지 않는다고 한다. 그래서 코볼로 개발된 프로그램의 관리자가 점점 사라지는 문제가 생기고, 정부 시스템 관리자조차 코볼을 코발트로 잘못 알고 있었다고 한다. 얼마나 시스템 관리에 관심이 없었으면 그랬을까? 여기서 책에서 주는 교훈은 프로그램은 끊임없이 관리되어야 하고 개발자는 자신이 만든 프로그램에 대해 완벽하게 책임져야 한다는 것이다. 레거시 시스템에 대해 더 알아보고 싶어 검색을 해보았다. 컴퓨터 용어로 하위 호환을 위해서 새로운 프로그램 안에 남겨두는 기존 프로그램 소스 코드를 뜻한다고 한다. 문제점은 기존 시스템 안에 가지고 있는 버그 등의 문제를 새로운 버전에도 그냥 가져가야 한다는 것이다. 또한 새로운 시스템과 기존 시스템이 합쳐지면 기존 시스템을 버리는 게 아니라 새 시스템을 도입하지 않는 방법도 있는데 이 문제도 누적되며 새 시스템의 도입이 하염없이 늦어지고 레거시 인프라 지원이 끝나면 해당 시스템도 같이 지원이 끝나게 된다고 한다. 호환성을 위해서 레거시 지원이 단기로 보면 필요하지만 장기적으로 신규 시스템 도입을 방해하며 보안 저해의 원인이 된다고 한다. 그래서 언젠가는 누군가 총대를 메고 기존에 있는 시스템을 폐지해야만 해결이 될 것이라고 한다.
'프론트엔드 개발' 카테고리의 다른 글
NoSQL이 뭘까? (1) | 2023.01.30 |
---|---|
IT 5분 잡학사전 리뷰 31장 (0) | 2023.01.29 |
코볼 COBOL 사무 지향 보통 언어 (0) | 2023.01.27 |
IT 5분 잡학사전 북리뷰 (1) | 2023.01.22 |
CSS (Cascading Style Sheet) (0) | 2023.01.16 |
댓글