~cpp
Smalltalk 대 몇
98. 11. 16.
mailto:andrea92@mail.hitel.net
Smalltalk는 밍 대 몇 를
. Dolphin Smalltalk 98 만 Object Arts는 "Dolphin
Smalltalk White pager" 내 몇 덧붙 Smalltalk
대 를 보 .
Smalltalk 내 료는 매 빈 . 리
는 C/C++ 밍 를 루 며, Delphi
Visual Basic 를 더 . 러
밍 는 Smalltalk 대 료는
보 . 는 Smalltalk 만만 며,
Smalltalk를 문
.
러 90대 들면부 륭 Smalltalk 많 배
며, 료 린 Dolphin Smalltalk 런 륭
.
미마 는 Smalltalk 료를 는 대 러
릴 . 물 번 많 리는 못만,
리는 료 러 Smalltalk를 부는데 마
면 는 바램.
먼 Smalltalk 대 본 . 들
Smalltalk 대 들 루 .
Smalltalk 는 배볼 만 는
(application) 램 만는데 는 리
.
1. , 리 Smalltalk
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
90대 는 머 무른모(software)는 (object) 부(component)를
만들 는 무. 많 무른모들
부 만들 며, COM CORBA 부
는 러 들 . 80대 등 무
른모 란 린 " "(Object Oriented) 러
는 무른모 모 는 러
.
는 떻 면 무른모를 보 빨리, 리 많 만들 느냐
더불 따 무른모를 마 .리 느냐
문 대며, 러 런 문를 는
대 .
많 는 C++, Java, Object Pascal 등 모 밍
러 . 러
러 들 는 러 러 덧
를 , 복 명를 만들 며,
밍 리들 는
를 . 람들 미 는 방대
밍 , 따 만들 램
램 만 . 는
문를 바보는 떨 며, 내
바 Smalltalk .
1980대 모 러낸 Smalltalk 무른모
(software community) 매 밍
, Smalltalk 명는 른 모 밍 대
. Smalltalk 는 많 념들 리
는 Delphi Visual Basic 등 는 볼 , 러
매 높 는 보는
.
럼 불 Smalltalk는 범 밍 는 몇
벽 . Dolphin Smalltalk는 러 벽들 뛰
마내 Smalltalk 륭 는 보
. 는 Dolphin Smalltalk만 , 리 는 VisualAge
for Smalltalk Visual Smalltalk 등 며, 따
러 벽들 명 는 보.
는 Smalltalk 대 벽들는 떤 는 보
. 대부 Smalltalk 대 는 롯 들 많
며, Smalltalk 범 밍 는데 란 벽
.
2. Smalltalk는 느리
~~~~~~~~~~~~~~~~~~~~~
1981 8 "Smalltalk-80" 번 Smalltalk
미를 . Smalltalk-80 대 돌면 대
미 능 . 무
는 루 림(bitmap graphic)
GUI), 모 며 들 는 , 리
리 (garbage collection) 등
Smalltalk 러 념 는 는 매 높
. 러 능들
(PC) 는 만, 80대 리 PC 돌는
Smalltalk를 면? 마 명 를 는데 몇 는 릴
뻔 .
러 릅. 무른모(hardware)는 눈부 ,
리 PC 는 는 80대 대
능 뛰 . 무른모 많
보 능 보 .
Smalltalk는 486DX 66 돌 며,
리들 는 는 더 더 능
.
대 (running performance) 더불
는 는 . 무 리 복
는 능 는 모른모 매 복 밖
. 는 '만' 는 램 러보면 덩 마마
대 볼 . 따 러 램 만 르
는 만, 만 빨리 러 램 만들 느냐 대
대 . 러 는데 6 리
, 는데 3 리는 , 는데 3 리 는
데 6 리는 면, 느 ? 마 대부
를 . 른 램 내 놓
면, 남는 램
문.
Smalltalk 바 러 . 명 몇 는 복 문
(loop) 면 Smalltalk는 리 는 른 (C, Object
Pascal 등)들보 느린 . 러 Smalltalk 는
면 . Java
C 를 내는 . 러 Java
는 들 많 람들 Java 들 만들 .
Smalltalk는 를 . 러
는 는 문를 보는 떻 면
만들 는 맞 문. C는
램, C++ (class)를 , C++ C
보 못는 람 . 마, Smalltalk 는
는데 더 더 많 냅. 는 러
따르는 데 는 명 문 능 .
Dolphin Smalltalk Delhi 200만 배 변 떤
내는 .
<바 1> 200만 배 를 는 Delphi 램
----------------------------------------------------------
var
Data: array[1 .. 2000000] of Integer;
procedure TForm1.Button1Click(Sender: TObject);
var
i, Key: Integer;
begin
// 배
for i := 1 to High( Data ) do
Data[i] := i * 2;
Key := 6500000; // 는 .
for i := 1 to High( Data ) do
begin
if Data[i] = key then
begin
ShowMessage( IntToStr(i) );
Exit;
end;
end;
ShowMessage('못 ');
-----------------------------------------------------------
<바 2> 200만 배 를 는 Smalltalk 램
-----------------------------------------------------------
| data key |
"배 "
data := Array new: 2000000.
1 to: data size do: [ :i | data at: i put: i * 2. ].
key := 6500000. " 는 "
1 to: data size do: [ :i |
(data at: i) = key ifTrue: [
^MessageBox notify: i displayString
]
].
MessageBox notify: '못 '.
-----------------------------------------------------------
벤마 , Object Pascal 는 Delphi 는
는데 0.5 데 , Smalltalk 는 5
. 32 번는 번
Smalltalk 복문 능 매 를 보
. 를 보 는 러 면, 러 Smalltalk 대
느 , 를 . 말,
Smalltalk는 러 못 리
며, 러 무른모 를 .
문 Smalltalk 대 부를 면, 러
는 를 는 , 번 말 립. (물
보 Smalltalk 느린 만, Smalltalk
는 른 못는 Smalltalk만 무 .
명!)
러, 는 밍 문
는 말 립. Smalltalk 문 면
PowerBuilder를 를 만들 보를 .
Smalltalk는 를 많 루 는
말립. 문 Smalltalk는 JAVA
문를 보면 를 .
3. Smalltalk는 배
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
말 린 말. Smalltalk 명 는 말듯
매 며, 따 C++ Java 명 문 복
. 놀 는데, Smalltalk
를 Xerox 들 들 배 ,
밍 는 목 문
. Smalltalk 를 부 는 등 5
리 뮬를 는 Smalltalk 매 뒵는
명 ( 마, 보대).
런 는 마 됩.
, Smalltalk 는 는 들 매 르는
. C++ Java 명 문 매 복, 는데
람들 몇 는 념 루 Smalltalk
문 . Smalltalk 는 "
를 내리면, 는 따 "는 념 대 문
. 른 럼 문 는 ,
보내는 Smalltalk 문 루는 . 는
. (문 먼 말
보 문 .)
더 Smalltalk 바(source code) 보면 른 들 모
매 .(<바 1> <바 2>를 보) 러
모 르 문 보 뿐. Smalltalk 몇
념 면 바 매 .
Smalltalk 느는 문는 Smalltalk
는 방대면 뛰 (class library)문
. Smalltalk 만 램 만들 는 는 능 백
는 방대 대 떤 는 대
는데, 밍 보 말 '벽'
리는 . Smalltalk를 명 "Hello, world!"를
는 램 만들 면 느
. 러 Smalltalk Hello World 램 만들 면,
말 . C , Hello World 램 만
들는 만, 만 는 C 부 능 10%
는 내밖 . Smalltalk Hello World 램 만들
면, Smalltalk 80% 복
.
런데 는 Smalltalk 면, 는 C++,
Java 리 는 Delphi Visual Basic 부는
봐. Visual C++를 램 면 MFC(Microsoft
Foundation Classes)는 , Delphi 는 VCL
(Visual Component Library) 부 며, Java 는 JavaBeans
러 러미(package) 대 느 .
마막, Smalltalk 대. 부 본
면 대 방 마 를 . Smalltalk는 명
를 볼 며, 를 바 .
대듯 떤 리 문, 매 .
문 바 번(compile) 만 를
는 들 , Smalltalk 는 대 명를
는 문 보들 배 매
. 말만, Smalltalk 모는 "린들 램
는 만들"는 . (물 '린'
는 마 만...)
런 들 부면 동 복 명를 부는 ,
명 대 를 는 Smalltalk를 부는 , 떤
더 보? 독 러 맞.
4. Smalltalk
~~~~~~~~~~~~~~~~~~~~~
는 를 들 . Smalltalk 많
며, Dolphin Smalltalk 내놓
. Dolphin Smalltalk 는 $50
며, 데 램 배 등 능
러미 매는 $219 면
. Smalltalk ?
5. Smalltalk는
~~~~~~~~~~~~~~~~~~~
Smalltalk는 말 명 . Smalltalk는
. 는 동 .
ANSI X3J20 (class hierarchy) 볼 는
른 보 더 많 . C++
ANSI 본 들 뿐 대부 C++를 만들 는
마 독 만들 며, 따 는 말
는 럼 C++를 는 만는
(Visual C++ MFC Borland C++ OWL 봅.) ANSI 따
르는 Smalltalk는 본 방대 만,
는 미 문 Smalltalk 높는 매 됩
.
러 방대 됨 는 는 Smalltalk
램 , Smalltalk 방대 는 들
. 물 램 배 는 보는
배 능만, Smalltalk 는 른
만들 램들보는 는
.
러 Dolphin Smalltalk 는 보 는 Smalltalk 보
, 는 매
낮 며, 는 Dolphin Smalltalk 른 Smalltalk
등 능 보 .
는 대, Delphi Visual Basic
보. 를 놓 Delphi 4.0 ,
10% 며, 는 램 면 더 더 많
됩. ( 따는 30%
.) 러 Dolphin Smalltalk 는 본 3%
. 는 미 모 들 는
. (보 배는 Dolphin Smalltalk는 540
45,000 들.)
보면 Smalltalk는 . 러 . 무
만 는 . 런데, 말 Smalltalk ? 런
는 러 Smalltalk를 보면 .
6. Smalltalk는
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
마 문는 Smalltalk Xerox 며, 따
번 들 내놓는 보는 낮 문
. Delphi Visual Basic, C++ 등 Windows
램 만들 매 높 . 러 Smalltalk는
바 . Smalltalk 부
를 는 방 마 며, 는
Smalltalk를 는 . 더 Dolphin Smalltalk
는 WIN32 API를 90% . 따 램 만는데
른 뒤떨 .
7.
~~~~~~~
Smalltalk, Dolphin Smalltalk는 .
* Dolphin Smalltalk는 램 는
Smalltalk를 배. 는 문 는
.
* 대 Smalltalk 낮
램 .
* ANSI X3J20 Smalltalk 며, Smalltalk는 C++ 더불
.
* Dolphin Smalltalk 는 '3 램 모'(three tiered
application framework) 램 매 만들 .
* Dolphin Smalltalk는 Windows 모 며,
Windows 받 . 는 WIN32 API 보
며, 따 WIndows 램 .
Smalltalk를 번 부 보. 는 러 러
는 , 는 를 는 , Smalltalk
는 러 몫 . 료 Dolphin Smalltalk
Dolphin Education Center를 내리받 Smalltalk 부를 보. 리
리 부. Smalltalk 료 더 빈
.
룰 는 Smalltalk . 는 Delphi를
는데, Smalltalk를 부면 델를 바보는 바뀌. 더
, 리 를 . 무,
말 를 맛보 면, Smalltalk를 립
. 부.