Smalltalk, 어떻게 공부할 것인가?

May 31, 2005 03:11
 
차례
 
안녕하세요? 안드레아입니다.
오늘은 제 블로그 [안부게시판]에 Smalltalk 공부 방법에 대해서 질문해 주신 대니님을 위하여, 그리고 저의 블로그를 둘러보시고, Smalltlak에 관심을 가지게 되실 다른 분들을 위하여 Smalltalk 공부 방법을 이야기해 보겠습니다.
 
Smalltalk를 공부하시려는 분들을 제 나름대로 나누어 보았습니다.
  1. 프로그래밍을 처음 공부하시는
  1. 명령형 언어(C, Visual Basic, Delphi 등)를 알고 계신 분
  1. 다른 객체지향 언어(C++, Java, C# 등)를 알고 계신 분.
이 세 부류로 나누어서 설명을 드리겠습니다.
 

1. 모든 분들에게

우선 Smalltalk를 공부하시려는 모든 분들에게 말씀드릴 내용입니다. 적어도 Smalltalk에 대해서는 제가 여러분들보다 먼저 경험했으므로 제 말을 믿어보시고 따라오시면 좋겠습니다. 물론 더 좋은 방법이나 의견 있으시면 언제든지 말씀해 주십시오.
 

1) '무엇'과 '어떻게'보다 '왜'가 중요하다.

학습에서 가장 중요한 것은 "왜"(why)입니다. 여러분은 왜 Smalltalk를 공부하려고 하십니까? 그냥 제가 이 블로그에서 Smalltalk가 좋다고 하니깐 "음, 어디 나도 한 번 배워보자"라는 심산으로 뛰어드셨다면 상당히 힘들게 공부하실 공산이 큽니다.
학습의 목표는 '왜'가 분명히 서 있어야 나타납니다.
C++C++
C++
,
Java Java
Java
,
C#C#
C#
같은 언어 역시, 그것을 왜 배워야 하는지가 중요합니다. 단순히, 전공 강의의 한 과목이어서 배운다거나 혹은 많이 쓰는 언어이니 나도 따라 배운다 등과 같은 생각은 무척 위험하며, 여러분에게 아무런 도움도 되지 않는다는 사실을 분명히 말씀드립니다.
여러분이 끊임없이 '왜'라는 질문을 하지 않으시면 결국 저 지식IN에 하루에도 수십 건씩 올라오는 "C로 프로그램 좀 짜주세요"와 같은 막막한 질문을 하고 있는 여러분 자신을 발견하게 될 것입니다. 제가 이곳 블로그의 칼럼과 '강좌'란에 상당히 완고한 태도로 Smalltalk에 대해서 강변하고 있는 이유 또한 저에게 있어서는 가장 중요한 것이기 때문입니다.
프로그래밍을 처음 시작하시는 분이라면 "프로그래밍의 개념과 객체지향을 몸에 익히기 위해서" 일 수도 있고 이미 다른 언어를 알고 계신 분이라면 "객체지향의 관을 정립하기 위해서"일 수도 있습니다. 또한 기존에 이미 객체지향 언어를 알고 계신 분이라면 "Smalltalk와 다른 언어의 차이점을 알기 위해서"일 수도 있겠지요.
이유가 무엇이 되었든, 반드시 여러분은 "왜"라는 질문에 스스로 대답할 수 있는 답을 가져야 한다는 게 중요합니다. 그렇게 할 수만 있다면, 아무리 큰 어려움이라도 충분히 이겨낼 수 있을 것입니다.
 

2) 백 권의 책 보다 하나의 Smalltalk 환경이 낫다.

대부분의 인기있는 다른 프로그래밍 언어들은 한결같이 정적인(static) 언어입니다. 그리고 이런 언어들은 대부분 컴파일러형 언어입니다. 하지만 Smalltalk는 역동적인(dynamic) 언어입니다. 모든 것은 짧고 간단한 문장으로 이루어지고 이것들은 모두 다 대화식으로 테스트 해 볼 수 있습니다. 그러므로 책만 붙들고 씨름하는 것 보다는 이것 저것 여러 가지 코드를 실행해 보고 몸으로 부딪히며 느껴보는 것이 중요합니다. Smalltalk는 살아 있는 객체들의 세계에서 객체들과 대화하면서 작업한다는 컨셉을 가진 언어이기 때문입니다.
여러분들은 모두 Smalltalk의 초심자들이므로 프로그래밍에 경험이 있으신 개발자분들이라도 책이나 문서 자료 보다는 Smalltlak 환경을 설치하신 후에 대화식으로 작업하시는 것을 적극 추천합니다. 이것이 Smalltalk, 아니 객체지향이 궁극적으로 추구하는 방법이니까요.
 

3) 객체지향은 [관]이다.

'객체지향'은 사물을 보는 [관](paradigm)이며, 신념입니다. 객체지향은 단순히 프로그래밍을 하는 기술도 아니고 분석이나 설계를 위한 방법론도 아닙니다. 세상이나 현실과 동떨어진 전혀 새로운 사고방식도 더더욱 아닙니다. 객체지향 프로그래밍이나 객체지향 분석 및 설계는 전적으로 객체지향이라는 [관]이 정립된 상태에서만 이해가 가능한 것들입니다.
다음은 객체지향 개념의 중요한 네 가지 구성 요소를 가지고 사물을 바라본 것입니다. 자세한 것은 앞으로
안드레아의 Smalltalk 배우기
를 통하여 설명해 드릴 것입니다.

a) 메시지(message), 메서드(method), 결괏값(return value)

  • 나는 지금 자판기에 '동전'이라는 매개변수를 통해 '커피'라는 메시지를 보내고 있다.
  • 커피 자판기는 내가 보낸 메시지에 알맞은 메서드(행동 방식)로 반응하고
  • 결괏값으로 커피를 내놓는다.
 

b) 캡슐화(encapsulation)와 정보 은닉(information hiding)

  • 내가 감기에 걸리더라도 나는 해부학이나 생리학 등 의학 지식을 알 필요가 없다.
  • 나는 그냥 의사에게 '감기를 고쳐달라'고 부탁하는 메시지를 보내기만 하면
  • 의사는 내 감기를 고쳐준다.
 

c) 다형성(polymorphism)

  • 나는 오늘도 [돈을 썼고] [글도 썼다].
  • 사랑하는 내 후배가 자기를 위해 [힘을 써] 달란다.
  • [돈]과 [글]과 [힘]은 전혀 다른 객체이지만 "쓰다"라는 동일한 메시지에 각각 적절하게 반응한다.
 

d) 상속성(inheritance)

  • 나는 지금 Windows 탐색기에서 파일을 찾아 보고 있다.
  • MS워드에서 [파일 - 열기] 명령을 실행했더니, 파일을 선택할 수 있는 대화상자가 나타났다.
  • 오~, 이 대화 상자는 탐색기의 기능은 기본이고,
  • 워드 파일을 열 수 있는 기능도 추가로 가지고 있다.
 
사물과 현상의 모든 것을 이렇게 인식할 수 있도록 객체지향적인 관을 세우기 위해 노력하셔야 할 것입니다. Smalltalk는 여러분이 객체지향의 관을 세우는데 결정적인 도움을 드릴 것입니다.
 

4) Smalltalk에 관한 자료를 모으자

현재 한글로 된 Smalltalk에 관한 자료는 거의 전무하다 시피 합니다. [김규만] 님의 Smalltalk 문법 강좌가 있고 제가 약 5~6년 전에 쓰다가 중단한 'Smalltalk 배우기'라는 강좌도 있기는 합니다. 그러나 결정적으로 한글로 된 책이 없습니다. 결국 Smalltalk에 대한 책은 원서로 보셔야 하는데 다행이 online 으로 보실 수 있는 PDF로 된 책이 상당히 많이 공개되어 있습니다.
http://www.iam.unibe.ch/~ducasse/FreeBooks.html
이 사이트에 들어가시면 비교적 많은 종류의 Smalltlak 책을 구하실 수 있을 것입니다. 아래 여러분들의 학습 상황에 따라 비교적 적합한 책을 제시해 드릴테지만 될 수 있으면 여러분들 스스로가 어떤 책인지 직접 다운 받아서 읽어보시기를 권합니다.
Dolphin Smalltalk를 위한 영문 책은 [Dolphin Smalltalk Companion] 한 권 밖에 없고 이것마져 이미 Smalltalk에 익숙하지 않은 분들이라면 읽으시는데 부담을 많이 느끼실 것입니다. 우리나라에 재고가 있는 것으로 알고 있습니다.
다음은 Dolphin Smalltalk의 개발회사인 Object Arts가 제공하는 학습 사이트입니다. Dolphin Smalltalk에 맞추어 작성되었으니 여러분들에게도 도움이 되실 것입니다.
http://www.object-arts.com/EducationCentre/Tutorials/Tutorials.htm
처음부터 차근 차근 따라가다 보면 Dolphin Smalltalk를 공부하시는데 도움이 되실 겁니다. (일부 예제는 'Dolphin 3.x'용으로 만들어져 있어서 'Dolphin 4.x' 이상에서는 다르게 동작하거나 문제가 될 수 있습니다.)
이 밖에 http://www.smalltalk.org/ 나 http://www.whysmalltalk.com/ 등의 웹사이트에 정기적으로 방문해 보시면 도움이 되실 자료들을 찾으실 수 있을지도 모르겠습니다.
또한 뉴스그룹 comp.lang.smalltalk.dolphin에서도 활발한 질문과 대답이 이루어지고 있습니다.
 

5) Smalltalk 자체가 바로 거대한 자료 창고이다.

Dolphin Smalltalk를 포함한 대부분의 Smalltalk 구현들은 90% 이상 Smalltalk 언어로 작성되어 있으며, 반갑게도 이들 소스(source) 코드들은 고스란히 여러분에게 열려 있습니다.
Smalltlak에서는 마치 웹브라우져에서 웹페이지를 검색하듯 클래스 탐색기(class browser)에서 Smalltlak의 모든 소스를 자유롭게 열람할 수 있습니다. 이를테면 halt 라는 메시지가 어떻게 쓰이는지를 보려면 결국 이미지에서 가장 적절한 예들을 볼 수 있을 것입니다.
하늘에서 아무리 비가 많이 내려도 그것을 담을 그릇의 크기에 따라 담아지는 빗물이 다르듯이 여러분이 Smalltalk를 이해하는 정도에 따라서 이 거대한 자료 창고는 여러분에게 훌륭한 지침서가 될 것입니다.
 

2. 프로그래밍을 처음으로 공부하시는 분들에게

어떤 경로를 통하여든 제 블로그에 들어오셔서 프로그래밍을 처음 공부하실 때 Smalltlk를 선택하신 여러분들에게 축하의 박수를 보내드립니다.
여러분은 Smalltalk로 프로그래밍을 시작하면서 프로그래밍이 어떤 것인지의 진수를 맛보실 수 있을 것입니다. 복잡하고 어려운 문법과 포인터, 그 밖에 수많은 함정을 무사히 지나갈 수 있는 방법을 배우실 수 있을 것입니다. 이제 여기, 프로그래머의 청운의 꿈을 안고 도전하시는 여러분들에게 몇 가지 말씀을 드리겠습니다.
 

1) 끈기와 근성이 중요하다

프로그래밍은 결코 만만한 것이 아닙니다. Smalltalk 언어가 비록 다른 언어들에 비해서 배우기 쉽다고는 하지만 그렇다고 '프로그래밍' 자체가 결코 쉽지만은 않습니다. 분명히 여러 가지 시행착오를 겪게 되어 힘들 때가 올 것입니다. 그러나 그것을 극복할 수 있는 끈기와 근성이 있다면 여러분은 훌륭하게 프로그래밍의 개념을 익히실 수 있을 겁니다.
 

2) 언제나 Smalltalk를 곁해 두자

어떤 도구나 연장에 익숙해 지려면 자주 사용하는 길 밖에는 없습니다. 여러분은 늘 가까이에 Smalltalk 환경을 두십시오. 그리고 생각날 때마다 Smalltalk에서 작업을 하십시오. 객체에게 이것 저것 시켜보기도 하고 여러분이 어떤 객체에 대한 생각이 떠 올랐다면 바로 그 인스턴스(instance)를 만들어낼 수 있는 클래스(class)를 만드십시오.
큰 수를 다루는 데에는Smalltalk가 적격이니 간단한 계산 같은 것도 Smalltalk로 해 보십시오. 여러분이 Smalltalk의 환경에 익숙해 진다면 보다 더 쉽게 Smalltalk와 프로그래밍의 개념에 익숙해 지실 것입니다.
 

3) Smalltalk 자료 보기

제 블로그에 지속적인 관심을 자져 주십시오. 상황에 따라서 몇일 정도 새로운 글을 쓰지 못할 수도 있지만 제 블로그에 꾸준히 관심을 가져 주시면 도움이 되실 것입니다.
그리고 PDF로 된 Smalltalk 책을 구할 수 있습니다. 비록 영문이기는 하지만 Smalltalk를 공부하는데 도움이 될 것입니다. 아래의 사이트에 있는 책들 중에 비교적 쉬운 참고서를 소개합니다.
http://www.iam.unibe.ch/~ducasse/FreeBooks.html
  • Smalltalk: An Introduction to Pllication Development using VisualWorks
  • The Art and Science of Smalltalk
아쉽게도 Dolphin Smalltalk를 위한 책은 [Dolphin Smalltalk Companion]이 한 권 밖에 출간되지 않았는데 이는 초심자들이 보기는 어렵습니다. 결국 위에서 제가 추천해 드린 두 가지의 책을 보셔야 할 텐데, Dolphin Smalltalk와는 다른 부분이 있다는 것을 염두에 두고 보셔야 합니다. 특히 GUI나 그래픽 등에 관한 부분에 있어서는 표준화 된 것이 없기 때문에 Smalltalk 구현 마다 많이 다릅니다. 그렇지만 Smalltalk로 기본적인 것을 공부하는데는 괜찮을 것입니다. 아울러 제가 앞에서 적은 "Dolphin Smalltalk Tutorial"도 훌륭한 길잡이가 될 것이라 믿습니다.
 

3. 명령형 언어를 알고 계신 분들에게

Smalltalk 이전에 C, Viausl Basic, Pascal(Delphi) 등의 명령형(imperative) 언어를 알고 계신 분들은 특히 Smalltalk와 객체지향 개념을 공부하시는데 가장 큰 어려움을 겪으실 것으로 생각되니 주의 깁게 읽어 주실 것을, 정중하게, 부탁드립니다.
 

1) 이미 알고 있는 것을 버려라

명령형 언어를 알고 계신 분들의 경우 "이미 여러분이 알고 있다"고 생각한 모든 것을 버리십시오.
여러분이 그 동안 짜 왔던 프로그램 소스 코드와 그동안 해 왔던 프로그래밍에 대한 생각들, 수많은 밤을 세워가면서 오류(bug)와 싸웠던 경험들... 경고합니다. 이 모든 것들은 여러분에게 막대하고 심각한 이 될 것입니다. 이런 것들은 결코 여러분들을 도울 수 없습니다.
여러분들이 Smalltalk, 아니, 객체지향을 공부할 수 있느냐 없느냐는 여러분들이 얼마나 빨리 자신이 '알고 있다'고 생각하는 것들을 버리느냐에 달려 있습니다. 바로 이 점 때문에 수많은 프로그래머들이 Smalltalk를 버렸고 수많은 개발자들이 '객체지향은 어렵다'고 말했습니다. 자신이 가지고 있던 절차지향적, 명령형 언어적 습관들 때문에 오늘도 C++가 C언어 2.0 정도로 취급받고 있으며 '객체지향은 기술일 뿐이다'와 같은 오해가 생겨나고 있습니다.
믿을 수 없겠지만 아무것도 모르는 중·고등학생이 산전수전 다 겪은 여러분 개발자들보다 훨씬 쉽게 Smalltalk를 공부하고 객체지향이라는 개념과 관을 훨씬 빠르게 이해합니다. GOTO 를 밥먹듯 써 오던 사람이 구조적 프포그래밍에 적응하는 시간 보다 명령형 언어를 써 온 사람이 객체지향적 사고에 적응하는 시간이 더 많이 걸립니다. 정확히 기억은 안 나지만 다른 명령형 언어의 습관에 젖어 있던 사람들이 Smalltalk와 객체지향 개념에 익숙해 지는데는 짧게는 8개월에서 길게는 12개월 정도가 걸린다고 합니다. 물론 이것은 철저한 객체지향 언어인 Smalltalk로 학습할 때 그렇다는 것이고, C++나 Object Pascal처럼 혼합 객체지향 언어에서는 여러분들의 생각이 객체지향적으로 바뀌는 것에는 몇 배의 시간과 노력이 들어갈 것입니다. 바로 이래서 '객체지향은 어렵다'는 오해가 생긴 모양입니다.
포크를 쓰는 법과 젖가락을 쓰는 법이 분명 다른데도 포크 쓰듯이 젖가락을 써버릇 하면 결코 젖가락 쓰는 법을 배울 수 없습니다.
부탁드립니다. 적어도 객체지향의 [관]이 확실히 정립되기 까지는 여러분이 알고 있던 명령형 언어에 대한 생각과 습관을 버리십시오. 그것이 가장 빨리 객체지향의 관을 정립하는 길입니다. 여러분이 객체지향에 대한 관을 뚜렷이 정립하는 그 날, 여러분들이 버렸던 모든 지식과 경험들은 객체지향의 관 속에서 두 배의 열매를 맺을 것이라 저는 확신합니다.
 

2) Smalltalk 환경에 푹~ 잠겨보자

비록 여러분들의 명령형 언어적 습관이 객체지향 개념과 Smalltalk 를 공부하는 데에는 독이 되겠지만 여러분들의 '개발 도구'를 다루는 솜씨는 Smalltalk를 공부하는데 많은 도움이 될 것입니다. Smalltalk 언어는 최초의 그래픽 중심 통합 개발 환경(GUI IDE)였고 그것은 다른 많은 언어에 영향을 주었습니다. Smalltalk와 객체의 특이한 관계만 이해한다면 여러분들은 Smalltalk가 제공하는 여러 가지 도구들을 무척 쉽게 다룰 수 있을 것이고 이것은 Smalltalk를 공부하는데 무척 큰 보탬이 될 것입니다.
언제나 Smalltalk 환경과 친해지고 익숙해 질 수 있도록 여러분 곁에 늘 Smalltalk 환경을 가까이 두십시오. 그러면 Smalltalk는 여러분의 훌륭한 도구이자 연장이 될 것입니다.
 

3) 자료 선택의 폭이 훨씬 넓다.

이미 여러분들은 프로그래밍 언어에 대해서 능숙하시기 때문에 개발자들을 위한 대부분의 Smalltalk 서적은 여러분들에게 많은 도움을 줄 것입니다. 그러나 여러분들 역시 Smalltalk와 객체지향 개념에 있어서는 초심자들이기 때문에 위에서 소개한 두 권의 책이 여러분에게 도움이 될 것입니다.
  •  Smalltalk: An Introduction to Pllication Development using VisualWorks
  • The Art and Science of Smalltalk
아울러 제가 쓴 블로그의 글에도 관심을 가져 주시고 해결이 어려운 부분은 질문을 해 주십시오. 저도 같이 해 보겠습니다. 이미 여러분들은 끈기와 근성, 스마트한 두뇌를 가진 분들이므로 몇 개의 함정만 잘 피해 간다면, Smalltalk와 객체지향의 세계에서 무사히 헤엄치실 수 있을 것입니다.
 

3. 다른 객체지향 언어를 알고 계신 분들에게

환영합니다. 다른 객체지향 언어를 알고 계신 상태에서 새롭게 Smalltalk의 세계로 오신 여러분들은 정말 귀한 손님들이십니다.
Smalltalk 세계에서 여러분들은 기존에 경험하지 못헀던 '살아있는 객체의 세계'(the world of living objects)를 몸으로 직접 느끼시게 될 겁니다.
 

1). Smalltalk의 기본 문법을 익힌다.

Smalltalk 언어의 문법은 크게 다음과 같이 구성되어 있습니다.
  1. 숫자, 문자열, 코드 블럭(code block) 등 기초적인 객체의 표현법
  1. 변수의 선언방법과 변수에 객체를 대입하는 방법
  1. 객체에게 메시지를 보내는 방법.
위의 세 가지를 마스터한다면 Smalltalk의 문법은 모두 다 공부한 셈입니다. 대략 위의 세 가지는 A4지 서너 장으로 정리가 되며 따라서 다른 언어에서 문법 공부에 들이는 시간의 1/10 정도면 Smalltalk의 문법을 공부할 수 있습니다. 조만간 저도 Smalltalk 문법 정리를 해 드리기는 하겠지만 일단 아래의 사이트에서 기초 문법이 한글로 잘 설명되어 있으므로 이것을 참고하시면 도움이 되실 것입니다.
[ 규만이의 Smalltalk 강좌 ]
http://myhome.hitel.net/~violino/smalltalk/
Smalltalk의 문법에 좀 더 쉽게 익숙해 지시기 위해서
아래의 자료를 권해드립니다. 영어로 되어있지만 Smalltalk 언어와 다른 언어의 차이를 잘 나타내 주는 글입니다. 조만간 저도 비슷한 글을 써볼 생각인데,.. 시간이 될는지... ^^
* ["I can Read C++ and Java But I can't Read Smalltalk"]
http://www.eli.sdsu.edu/courses/spring01/cs635/readingSmalltalk.pdf
 

2) 이미지와 친해진다.

대강의 Smalltalk의 문법을 익히셨다면 이미 여러분들은 Smalltalk의 50% 이상을 공부하신 셈이 됩니다. 나머지는 Smalltalk의 class library와 그것들의 object model을 익히시는 일만 남았습니다.
Smalltalk는 가상 기계(virtual machine) 위에서 객체들의 모임인 이미지(image)의 형태로 동작합니다. Smalltalk에는 Class Browser, Inspector 등의 각종 도구가 있고 대부분의 소스 코드가 공개되어 있으므로 객체지향에 익숙하신 분들이라면 쉽게 Smalltalk의 객체 모델과 이미지에 대해서 공부하실 수 있으실 것입니다.
혹시 여러분께서 C++의 STL을 알고 계시다면 여러분들은 이미 잘 다듬어진 Smalltalk의 Collection 라이브러리를 90% 이해하고 계신 셈입니다. STL은 바로 Smalltalk의 Collection 라이브러리를 그대로 C++의 template로 구현한 것이기 때문입니다. (개인적으로 STL을 구현하신 분을 존경합니다. 정적인 C++에 동적인 Smalltalk의 유연성을 부여하셨으니, 정말 대단하신 분이죠.)
Smalltalk에서 제공하는 여러 가지 대화형 개발 방법과 도구를 잘 사용하시게 되면 기존에 객체지향 언어를 알고 계신 분들은 새로운, 살아 있는 객체의 세계를 느끼게 될 것입니다. 처음에는 파일 중심의 일반적인 다른 언어의 환경에 익숙한 여러분들이 혼동을 하실 수도 있지만 대략 하루 이틀이면 Smalltalk의 이미지 동작 방식에 익숙해지실 수 있으리라 믿습니다.
 

3) 다른 언어와의 차이점을 알자.

Smalltalk와 다른 객체지향 언어의 차이점을 파악하시는 것이 아마 가장 빠른 방법이 아닐까 합니다. 앞에서 말씀드린 Smalltlak의 책을을 '복습한다'는 생각에서 쭈욱 훑어보실 것을 권합니다. 특히 아래의 책은 다른 객체지향 언어에서 오신 여러분들을 충분히 잘 안내해 드릴 것입니다.
  • Smalltalk by Examples.
그리고 아직 제가 모르는 것들이 많으니 가끔 제 블로그에 들르셔서 여러 개발자 분들의 고견을 들려주시면 저에게도 많은 공부가 될 것입니다.
 

4) 여러 가지 유용한 도구들(Goodies)

Smalltalk로 구현된 여러 가지 유용한 도구들이 많습니다. 특히 Dolphin Smalltalk로 구현된 도구들을 저는 많이 가지고 있습니다. 시간이 될 때마다 차근차근 올리도록 하겠습니다만 인터넷 검색창에서 'Dolphin Goodies' 정도의 검색어로 여러분들도 쉽게 찾으실 수 있으리라 믿습니다.
 

5. 마치며...

Smalltalk는 다른 언어에 비해 상당히 배우기 쉽지만 한글로 된 자료가 극히 드물어서 결국 여러분들에게 '언어의 장벽'이라는 고충을 하나 더 안겨드리는 것 같아 안타깝습니다.
결국 제가 블로그를 만들고 글을 쓰는 이유도 훌륭한 언어인 Smalltalk를 여러분들에게 알리고 한글 자료를 꾸준히 만들어나가기 위함입니다. 부족하고 아쉬운 점이 있으시다면 언제나 지적해 주시고 안부게시판이나 각각의 덧글을 통해서 질문해 주시면 제가 알고 있는 것에는 대답해 드리겠고 잘 모르는 것이라면 같이 고민할 것을 약속드립니다.
여러분들께서 Smalltalk를 공부하실 때 저의 이 글이, 작은 도움이라도 되었으면 정말 기쁘겠습니다.
힘 내십시오!

 
Jun 28, 2020 09:05

그리고 15년 후...

내가 가진 '공부'에 대한 생각이 이 글에 고스란히 묻어나 있다. 학습데 대한 동기는 학생드을 가르칠 때에도 굉장히 중요한 것이다.