태초의 프로그래밍 언어 어셈블리

assembly, 8086, x86

어셈블리를 하는 이유

누가 저한테 와서 "야 요즘 총들은 다 칼빈의 후손일 뿐이야. 칼빈을 분해 조립해서 수리할 수 있으면 무슨 총이든 다 고칠 수 있어"라고 말하면 

저는 "칼빈에 대한 의리?"라고 할겁니다.

의리말고는 이 시대에 칼빈 총을 어렵게 구해서 분해해보고 닦고 조이고 기름칠 이유가 없는 것이지요.

이 시대에 어셈블리 언어를 공부하는 것도 마찬가지 아닌가 싶습니다.

더욱이 이제는 NASA에서도 안쓰는 8086용 어셈블리 언어는 아무리 의리가 좋다고해도 좀 그만 했으면 할 수도 있지요.

제가 처음 어셈블리를 배운 이유는 대학 입학 후 프로그래밍과 컴퓨터 구조 등을 처음 배우다보니 설명을 안하고 그냥 그렇다라는 식으로 넘어가는게 너무 많아서 였습니다. 사실 컴퓨터라는 것은 실리콘 물질의 전기적인 특성부터 시작해서 전자적인 신호, 논리적인 회로, 디지털 회로로 이루어져있고, 그럼 컴퓨터에 프로그래밍하는 것은 어셈블리 언어부터 그래픽, 수치 연산같은 순수 학문까지 범위가 넓습니다. 이런걸 학부생이 알아간다는건 무리가 있고 선을 긋고 한 분야씩 배워야 하는 것이지요. 어쨌든 저는 그때에는 그런걸 모르고 그냥 막연히 어셈블리 언어를 배우면 컴퓨터의 동작 원리도 배우고 프로그래밍의 원리도 배울 수 있을거라고 생각했습니다. 그리고 그당시 제가 원했던 것 이상으로 배울 수 있었지요.

배운게 많은 뿐 아니라 즐거운 일이었습니다. 좋은 분들께 많은 것을 쉽게 배울 수 있었고 많은 좋은 추억들도 생겼구요. 공부한 것보다는 사실 좋은 사람들과 즐겁게 뭔가를 했다는게 더 기억이 남습니다.

비슷한 시기에 리눅스 커널이나 자바같이 요즘 돈되는 분야에 투자하는 분들 중에는 지금 저는 오를 수 없는 경지에 오르시거나 제가 만질 수 없는 돈을 만지신 분들이 계십니다. 물론 제가 자바를 했다고해서 그분들처럼 많은 몸값을 받았으리라는 보장은 없지요. 하지만 그럴 기회가 없긴 했습니다. 취업도 잘 안되서 도피성? 대학원 진학도하고 평범한 개발자로 살아가고 있습니다.

세상에 대한 의미는 자기가 부여하는 만큼이라고 누가 말한게 기억나는데요. 어셈블리도 제가 나쁜 의미를 부여하면 다른 좋은 기회에 대한 비용으로 의미가 남을 것이고, 좋은 의미를 부여한다면 많은 것을 배우게해준 기회로 의미가 남을 것입니다.

어셈블리 언어를 공부하시는건 자기가 부여한 만큼의 의미가 남습니다. C언어의 배경 지식으로 의미를 부여하시면 그만큼이 되는 것이고, 재미로 알아보는 컴퓨터의 역사로 의미를 부여하시면 그만큼의 되는 것이지요. 자신만의 의미를 부여해야할 만큼 세상이 알아주지 않는 주제이니까요 한번쯤은 왜 어셈블리 언어를 위해 다른 소중한 것들을 할 수 있는 시간을 투자해야할까를 생각해보는 것도 좋을것 같습니다.

어찌보면 회사 일로 강제로 해야되는게 아닌 이상 모든 취미가 다 그렇네요. 내가 어떤 의미를 부여하냐에따라 남들은 무의미하게 생각하는 작은 것들이 내게는 인생의 낙이 되니까요.

댓글

댓글 본문
작성자
비밀번호
  1. 구경꾼
    어셈블리어가 프로그래밍 취미로 하는 사람에게는 가장 좋은 소재일듯 합니다.. 결과는 별볼일 없지만, 그 과정은 상당히 다양하더군요.... 결과로만 보면 비주얼베이직만큼 아무나 빠르게 결과를 만들수 있는건 아직까지도 없다고 생각합니다...
  2. happydeveloper
    멋진 생각이십니다. ~ 큰돈 갖지 못해도, 그 분야에서 최고가 되지 않는다고 해도 자신에게 의미있는 일이라면 돈과 권위 보다 더 풍부한 인생을 선물해줄 것 같아요.
버전 관리
gurugio
현재 버전
선택 버전
graphittie 자세히 보기