[짧은글 긴생각] 아마추어 프로그래머

현대는 정보화 사회라는 말을 흔히 듣는다. 미래에는 많은 정보들을 수집하고 이를 효율적으로 관리할 수 있는 나라가 선진국이 될 것이라는 말도 흔히 들을 수 있다. 그러나 정보화 사회로 나아가는 과정에는 여러 분야에서 많은어려움이 산적해 있다. 특히 우리가 많은 관심을 가지고 있는 소프트웨어 분야는 선진국에 비해 여러 가지 면에서 낙후되어 있는 실정이다.

이러한 상황하에서 최근 많은 훌륭한 공개 소프트웨어나 셰어웨어들이 발표 되는 것은 매우 바람직한 현상이 아닐 수 없다. 이러한 소프트웨어를 만드는아마추어 프로그래머들은 전문 프로그래머들을 배출하는 훌륭한 기반인 동시 에 우리 소프트웨어의 앞날을 다져 주는 밑거름으로서의 역할을 할 것이기때문이다. 그러나 아마추어 프로그래머들은 자신이 만드는 소프트웨어가 상업용이 아니라는 이유만으로 몇가지 잘못을 저지르기 쉽다. 가장 많은 잘못중의 하나가 자료 조사를 충분히 하지 않는다는 점이다. 개인용 컴퓨터는 사용자에 따라 다양한 하드웨어나 소프트웨어 환경을 가질 수 있다. 따라서 프로그래머가 사용하는 컴퓨터에서는 제대로 동작하더라도 다른 사람의 컴퓨터에서는 제대 로 동작하지 않거나 심지어는 자료를 파괴하는 경우까지도 생길 수 있다. 이런 경우를 예방하기 위해서는 프로그램을 만들기 전에 가능한 한 광범위한 자료를 수집해 공부해야 하며, 프로그램을 작성할 때도 모든 경우에 대해서 가정을 하지 않고 여러 가지 상황에 대비해야 할 것이다.

또한 아마추어 프로그래머들은 버그가 있다는 사실을 알면서도 상업용이 아니라는 이유만으로 그냥 발표하는 경우도 있다. 그러나 아무리 공개 소프트 웨어나 셰어웨어라고 해도, 일단 많은 사람들에게 공개하는 경우에는 책임이 뒤따르게 마련이다. 공개할 프로그램을 만들 때는 완성도가 높은 작품을 만들기 위해서 최선을 다해야 하며, 프로그램을 완성한 뒤에는 아무리 간단한것이라고 하더라도 사용자들이 그 프로그램의 기능을 충실하게 활용할 수 있도록 친절한 사용설명서(manual)를 덧붙이는 수고를 아끼지 말아야 한다.

이와는 반대로 너무 세부적인 곳에 집착하거나 모든 부분을 만들어야만 직성 이 풀리는 프로그래머들도 있다. 극도로 효율성을 지닌 프로그램이 아니면만들어 놓고서도 만족을 느끼지 못하고, 제대로 동작하는 프로그램이라도 최고의 효율을 보일 때까지 고치고 또 고치는 것이다. 그러나 이러한 것은 프로그래머의 생산성 측면에서는 아주 나쁜 버릇이다. 멀쩡하게 동작하는 프로 그램을 몇 초 정도 더 빠르게 만드는 것은 사실 별 의미가 없는 일이기 때문이다. 또한 프로그램의 모든 부분을 직접 만드는 것보다는 다른 사람이 만든라이브러리 library 를 잘 활용하는 것이 바람직하다.

일단 프로그램을 공개한 다음에는 사용자들의 비판을 면할 수 없다. 프로그래머의 입장에서는 아무리 잘 만든 프로그램이라고 할지라도 모든 사용자들 을 만족시킬 수는 없기 때문이다. 그러나 그렇다고 사용자들의 비판을 무시 하거나 기분이 상해서는 안된다. 사용자들의 비판을 겸허하게 받아들이고 그것을 자신의 발전에 디딤돌이 될 수 있도록 계속 노력해 나간다면 사용자와 프로그래머 모두에게 많은 도움이 될 것이다.

그러나 소프트웨어 분야가 발전하기 위해서는 프로그래머들뿐만 아니라 사용자들의 노력도 필요하다. 공개 소프트웨어나 셰어웨어가 마음에 들지 않는다고 무책임한 비방을 함으로써 힘들여 만든 소프트웨어를 공개한 프로그래머 를 좌절시키는 일은 없어야 한다. 사용자들은 프로그래머들과 같이 고민하며 서로의 발전을 위해 충고를 하는 자세를 가져야 할 것이다. 우리는 하나의공동체이며 상대의 발전은 곧 나의 발전을 의미하는 것이기 때문이다.

<안철수컴퓨터바이러스연구소 소장>


브랜드 뉴스룸