여러분 여기까지 오시느라 고생 많으셨습니다 축하드리구요. 자 이번 시간에는 제가 여러분들을 설득해 보는 시간입니다. 마음을 열고 한번 제 말이 설득력이 있는지 없는지 한번 들어보십시오. 우리는 지금 혁명적인 변화를 겪었습니다. 여러분이 알고 있는 어마어마한 그런 프로그램을 만드는 것이 아니래도 여러분은 현재 컴퓨터 프로그래밍이 무엇인지 충분히 알게 됐습니다. 어떤 컴퓨터 언어도 본질은 같아요. 여러분은 잘 못 느끼실 수도 있겠지만. 지금 우리의 인식은 빅뱅을 겪게 된 겁니다 엄청나게 확장된 상태에요.
갑자기 옛날 생각이 나네요 제가 어렸을 때는 윈도우나 맥 오에스 와 같이 그래픽컬한 운영체제가 없었거든요. 그냥 검은화면 에서 도스라고 하는 시스템의 명령어를 입력해서 컴퓨터를 제어해야 됐습니다, 그때 컴퓨터를 하는 가장 중요한 이유는 저의 경우엔 게임 이었어요. 요즘엔 어 그렇지 않지만 옛날에는 된다면 게임을 하기 위해서는 헐어 작업을 해야 했거든요. 각각의 작업은 그 작업이 끝나는 시간이 불규칙하고 또 시간이 꽤 오래 걸렸기 때문에 하나의 작업이 끝나면 그 다음 작업을 명령을 할 때까지 기다려야 됐습니다. 부모님 몰래 게임을 하는 입장에서는 마치 스파이 영화의 한 장면을 보는 것 같이 긴박감이 흐르고 시간이 얼마나 천천히 흐르는 지 모릅니다.
그러다 제가 AUTOEXEC.bat 라는걸 알게 됐거든요. 이런 이름의 파일을 컴퓨터에 만들고 그 파일 안에 실행되어야 하는 명령을 순서대로 적어 놓으면 운영체제가 구동될 때 exc.bat 파일의 내용을 순서대로 실행시켜 줍니다. 컴퓨터가 켜지면 게임을 할 수 있는 완벽한 환경이 준비되어 있는 거죠. 와 이걸 해냈을 때 저는 진짜 해커가 된 기분이었어요. 또 이것만으로도 저는 저희 반 교실에서 cto 의 대접을 받았습니다. 그때는 이게 프로그램이 이제 몰랐는데 지금 생각해 보니까 이게 완벽한 프로그래밍 이네요.
여러분이 엑셀 같은거 에서 보셨다면 엑셀에 있는 매크로 또 포토샵과 같은 걸 써 보셨다면 포토샵에 있는 액션이라는 기능도 그냥 시간의 순서에 따라서 명령을 실행시켜 주는 기능에 불과합니다. 하지만 이것만으로도 정말 우리는 엄청나게 많은 일을 해낼 수 있어요. 그래서 우리 이후에 배우는 것들이 없더라도 우리는 충분히 많은 일을 할 수 있습니다.
입문자 건 중급자 건 제가 지금 말씀 드렸던 시간의 순서대로 실행시킨다 라고 하는 이 사실로 대부분의 작업을 합니다. 차이가 있다면 입문자는 이것만으로 일하는게 건강합니다. 더 많은걸 사용하려고 그러면 할 수가 없어요. 중급자는 현실의 복잡함만큼 보다 많은 도구를 이용할 것이구요. 지금 당장 마음이 급해서 더 많은거 공부하려고 하지 마시구요. 지금까지 배운 것만으로 현실의 문제를 해결해 보세요. 여러분이 문자로 된 정보를 가공하는 데 자바를 써보시고요, 숫자로 된 계산이 반복적으로 진행된다면 이 반복적인 문제를 해결해 주는 간단한 프로그램을 만들어서 자신의 삶에 적용해 보셨으면 좋겠습니다. 이것을 충분히 반복하다 보면 지금까지 배운 것만으로는 해결되지 않는 불편한 문제를 만나게 될 겁니다. 그 문제를 해결하지 않으면 견딜 수 없는 때가 오게 되어 있어요. 바로 그때가 더 많은 것을 공부할 때 입니다. 너무 빨라도 너무 늦어도 안 됩니다 이건 시간의 예술이에요.
우리는 매일 1억 명이 넘는 사용자를 가진 프로그램을 사용합니다. 그렇죠. 여러분이 쓰고 있는 많은 프로그램들을 그럴 거예요. 저는 이런 프로그램을 편의상 보편적인 프로그램 이라고 부르겠습니다. 보편적으로 사용 한다는 뜻이에요. 평생 보편적인 프로그램의 소비자로 살아왔던 우리가 프로그램을 만들려고 하면 자연스럽게 나도 그런 보편적인 프로그램을 만들어야겠다고 생각하기 쉽습니다. 그런데 말입니다 이 세상은 프로그래머들이 남이 아니라 자기 자신만을 위해서 만든 개인적인 프로그램으로 가득 차있습니다. 보편적인 프로그램은 개인적인 프로그램 이라는 거대한 바다 위에 드물게 존재하는 섬과 같아요. 나만을 위해서 만든 프로그램은 복잡하지 않습니다. 나 혼자 쓸 프로그램이라서 간단하게 한 줄로 해결될 프로그램이라도 그것이 억명이 사용하게 되면 사용성 보안성 동시접속성, 성능 유지 보수, 편의성과 같은 부분이 총체적으로 반영 되서 한줄로 끝날 수 있었던 코드가 1만 줄짜리 코드가 될 수도 있는 거예요.
무엇보다 중요한 사실은 나를 위한 프로그램은 세상에서 제일 귀한 프로그램이에요. 나는 안쓰는데 남을 위한 프로그램을 쓰면 그 프로그램이 나를 위한 프로그램 만큼 귀하겠어요. 이것이 정말 나에게 필요하고 중요한 프로그램이라면 이 세상에 누군가에게 도 필요한 프로그램 일 거에요. 더 이상 혼자서 그 프로그램을 개선하는 것에 한계가 왔을 때 이 프로그램이 정말 여러분에게 가치있디면 여러분은 선택할 수 있을 겁니다. 이 정도에서 개발은 그만두고 나 혼자 좀 불편한 대로 사용 할지 아니면 과감하게 투자를 하고 동료를 모아서 더 많은 사람을 위한 보편적인 프로그램을 만들 지를 결정할 수 있는 능력을 언젠가는 갖게 될 겁니다.
자 그래서 제가 하고싶은 얘긴 이겁니다. 이제 공부는 잠깐 멈추시고 지금까지 알게 된 것으로 나의 프로젝트를 시작해 봅시다. 나의 프로젝트 애착 관계를 형성하기만하면 노력하지 않아도 우리는 노력하게 될 겁니다. 이때 조심해야 될 것은 일 중독 입니다. 무기력한 것만큼 무서운 게 일중독이니까. 일 중독도 조심하십시오 그런날이 왔음 좋겠다 는 생각이 드시겠지만요.
자 프로젝트와 애착 관계가 형성이 되면 아마 여러분들도 곧 공부하고 싶은 주제들이 생겨날 겁니다. 그때 이 어 다시 저를 찾아오시면 좋겠습니다.
자 그래서 이제 여러분이 앞으로 공부해 볼 만한 음 자료들은 일단은 그 수업과 또 소스 코드 이런 것들을 세계적으로 모아놓은 오픈 튜토리얼스라고 하는 사이트를 한번 찾아 보시고요. 그리고 여러가지 그 지식들의 관계성을 지도로 만든 사이트가 있습니다. 서말.org 라는 사이트 도 한번 찾아와 주세요. 그리고 제가 운영하고 있는 유튜브 채널도 있구요. 그리고 페이스북 하시는 분들은 제가 노 오프라인 수업이 나 또 새로운 온라인 수업에 대한 소개들은 소식들을 생활코딩 페이스북 페이지를 통해서 제공해드리고 있습니다. 또 이메일로 받아 보는게 편하신 분들은 메일링 리스트 를 활용해 주세요.
자 여기까지 입니다 여기까지 오시느냐고 정말 고생 하셨구요 축하 드립니다.
------
* 유튜브 강의에서 자막을 추출해 정리했습니다.
-----
약 2주에 걸쳐 퇴근 후 JAVA1 수업을 틈틈히 들어 끝냈다.
사실 모르는 것 투성이인 느낌이지만... 그래도 50강을 완주한 것에 뿌듯함을 느낀다!
이고잉님 말대로 작고 소중한 프로그램을 하나 만들어보려 하는데 뭐가 좋을까...
계산기..? 이건 좀 고민해봐야겠다.. 이고잉님은 천재고 엔젤이고 그 꾸준함이 정말 무서운 분이다(좋다는 뜻)
무엇보다 그 꾸준함을 배우고 싶다. 치얼스!
'생활코딩 > JAVA1' 카테고리의 다른 글
생활코딩) JAVA1 - 14.11. 나의 앱 만들기 - 인스턴스 (0) | 2021.05.17 |
---|---|
생활코딩) JAVA - 14.10. 나의 앱 만들기 - 클래스 (0) | 2021.05.16 |
생활코딩) JAVA - 14.9. 나의 앱 만들기 - 메소드 (0) | 2021.05.16 |
생활코딩) JAVA1 - 14.8. 나의 앱 만들기 - 반복문 (0) | 2021.05.16 |
생활코딩) JAVA1 - 14.7. 나의 앱 만들기 - 배열 (0) | 2021.05.16 |