brunch

You can make anything
by writing

C.S.Lewis

by 신현묵 Jul 04. 2019

'소프트웨어 환멸감'이라는 글에 대한 반론...

반론이라기보다는... 개발자로서의 개인적인 생각...

https://muchtrans.com/translations/software-disenchantment.ko.html?fbclid=IwAR32lmsL9Yo6T-za-7TCLZipy3Vn9t3Rv6DKt3XJfFJIJwpyis_hs-JpTus

꽤 흥미로운 주장과 나름 논리와 스토리로 재미있는 내용으로 전개된 내용을 보고, 개인적으로는 피식~ 하는 실소를 지어봤습니다.


disenchantment

이 단어를 어떤 뜻으로 해석해야 할까요? '환멸감'이라는 해석이 맞을까요? 네이버 어학사전에서는 '미몽에서 깨어남, 각성'이라는 뜻으로 설명되고, '환멸감'이라는 뜻은 '꿈이나 기대나 환상이 깨어진 데에서 오는 느낌'을 뜻하고 있습니다. 저는 미묘하게 그 뜻이 번역되면서 다르지 않나 합니다.


그래서, 저는 '소프트웨어 환멸감'이라기보다는 '소프트웨어가 가진 환상에서 깨어나기'라고 해야 하지 않을까 합니다. 아니면, '개발자:소프트웨어에 대한 생각을 각성하기'정도가 적당해 보이네요.


뭐, 제 마음대로 해석한 것입니다.


좌우지간, 일단 저는 27년간 프로그래밍을 해왔습니다.라고 이야기를 풀려다가, 그냥 저 글에 대한 제 느낌을 적어 보겠습니다.


제가 25년 전에... 국민학교( 초등학교 ) 시절에... 컴퓨터를 처음 인지하고, cpu나 하드웨어 구조를 이해하고, 어셈블리로 코딩을 하던 시절이 문득 떠오릅니다.


정말 작은 코드로 cpu를 구동하게 하고, 비디오 메모리와 io port를 컨트롤하면서, 필요한 정보들을 표시하고, 그래픽을 구동해서 아기자기한 코드들을 운영했습니다.


64kb의 작은 규모로도 꽤 흥미 있는 코드들을 동작시킬 수 있었죠.


예전에 asm코드로만 경이적인 그래픽을 구현하는 개발자들의 노력이 환상적으로 보일 때가 있었습니다. 정말 놀라운 그래픽을 엄청나게 작은 코드로 구현될 수 있도록, 어셈 코드를 촘촘하게 코딩하던 때가 기억납니다.


크로스 어셈블리를 다루고, c 컴파일러를 다루면서 갑자기 규모가 커지고, 8086을 다루다가, 80286, 80386 코드의 op code들을 인지할 때에 비슷한 '생각'과 '글'을 쓴 기억이 납니다.


아마도, 위에 링크를 건 '글'과 비슷한 느낌으로 글을 적었습니다.


비슷한 점.


1. c 컴파일러로 만든 코드는 asm으로 만든 코드보다 느리다!

2. 비디오 메모리를 직접 액세스해서 그래픽을 구현하는 것이 최선이기 때문에 그래픽 라이브러리에 대해서 비판을 한적 있습니다. ( Draw halo라이브러리를 사용하던 기억도 슬쩍.. )

3. 파일 사이즈가 c컴파일러의 타이니 모델로 ms-dos 상에서. com으로 떨궈지는 것이 아니라, exe로 만들어지고, 각종 obj들을 뽑아내는 컴파일러의 너저분함에 대해서 싫다는 표현도 했습니다.

4. 당시, 네트워크이라는 것이 존재하기보다는 시리얼 통신과 이더넷도 없던 시절의 3270 에뮬레이터를 다루던 기억도 납니다.

5. 정말 Quick 에디터에 대해서 환상적이라고 이야기를 했고, Edix라는 에디터의 화면 분할 기능에 대해서 찬사를 늘어놓던 기억도 납니다.

6. 윈도즈가 나오면서 SDK, DDK, MDK로 이루어진 키트에 대한 기억도 나고, 그 규모의 혐오스러움과 코드의 난잡함에 대해서도 비판했던 기억이 납니다.

7. 실제 코드가 컴파일되면서 만들어지는 오브젝트 불필요한 라이브러리들이 포함되는 것에 대해서 나쁘다는 식의 발언도 했던 기억이 납니다.

8. 각종 코드들의 오류로 인해서 버퍼나 메모리를 점유하면서 시스템을 다시 구동하는 기억도 나고요.

9. debug하나만으로도 충분하게 코딩이 가능한데, 에디터, 컴파일러, 링크 등에 대해서도 비판했던 기억이 납니다.

10. 인공지능 이야기는 그 당시에도 비슷하게 이야기했습니다. 프롤로그와 리스프 기억도 나네요...


.

.

.


뭐 그렇습니다.


결론적으로 '그래서 더 많은 일과 더 많은 효과적인 작업, 더 쉽게 코딩하고, 더 쉬운 방법으로 무언가를 만들 수 있고'.. 과거에 비한다면... '아무나' 코딩하던 시대로 돌입했죠.


저는 그것으로 충분하다고 생각합니다.


이미, 개발자가 가지는 소프트웨어의 '낭만시대'는 과거의 것이 되어 버렸죠.


요즘은 아무나 '개발'을 하는 시대이니까요.


만들어지는 코드의 완성도나, 기능을 위한 것들... 그리고, 연동되는 수많은 기능들...

보다 쉽게 연결하기 위한 것들의 집합체들을 사용하는 시대일 뿐이죠.


'단지 컴퓨터가 빠르고, 리소스가 많고, 성능에 대한 관점'이 틀린것은 아니죠.


제가 가끔 이야기 하는... 

로켓을 쏘아올려서 100만km 저편으로 가거나...

수십억원짜리 미사일을 만드는 통제시스템이나...

100만년동안 버그없이 동작해야 하는 원자로 컨트롤러가 아니라면...


지금의 풍부한 개발도구와 환경들은...

그 자체로도 즐거운 '개발'이 가능하게된...


심지어, 예측하는 것 정도로도 충분하게...

개발이 가능한...


개발 '르네상스'의 시대라고...

이야기하고 싶네요.


그냥... '과거'를 생각하게 하는 '글'이었다는...


ps.


언제나 목적을 위해서 도구나 언어들은 만들어 집니다.

그리고,

'개발'은 이제 보편화된 것 이상으로 더 '보편화'될것으로 생각합니다.


아무나 '개발'하는 시대...

그 시대를 충분하게 즐겨보는 것도 좋을듯 합니다.


이제 누구나 조금만 더 배우면 '코딩'이 되는 시대이죠...

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari