ภาษาสมอลล์ทอล์ก
หน้าตา
(เปลี่ยนทางจาก ภาษาสมอลทอล์ค)
บทความนี้ไม่มีการอ้างอิงจากแหล่งที่มาใด |
บทความนี้อาจขยายความได้โดยการแปลบทความที่ตรงกันในภาษาอังกฤษ คลิกที่ [ขยาย] เพื่อศึกษาแนวทางการแปล
|
กระบวนทัศน์ | object-oriented |
---|---|
ผู้ออกแบบ | อลันด์ เคย์, Dan Ingalls, Adele Goldberg |
ผู้พัฒนา | Alan Kay, Dan Ingalls, Adele Goldberg, Ted Kaehler, Scott Wallace, and Xerox PARC |
เริ่มเมื่อ | Development started in 1969 Publicly available in 1980 |
รุ่นเสถียร | Smalltalk-80 version 2
/ 1980 |
ระบบชนิดตัวแปร | dynamic |
ตัวแปลภาษาหลัก | |
Squeak, VisualWorks | |
ได้รับอิทธิพลจาก | |
ภาษาลิสป์, ภาษาซิมูลา | |
ส่งอิทธิพลต่อ | |
ภาษาอ็อบเจกทีฟ-ซี, Self, Java, Dylan, AppleScript, Lisaac, NewtonScript, ภาษาไพทอน, ภาษารูบี, Scala, Perl 6 |
ภาษาสมอลล์ทอล์ก (Smalltalk) เป็นภาษาโปรแกรมเชิงวัตถุที่ได้ออกแบบในปี ค.ศ. 1970 ที่ Xerox PARC โดย อลันด์ เคย์ (ผู้ริเริ่มใช้คำเรียกว่า Object-oriented) Dan Ingalls Ted Kaehler Adele Goldberg และคนอื่นๆ ภาษาสมอลทอล์คยังคงมีการพัฒนาอย่างต่อเนื่อง และมีชุมชนผู้ใช้ที่เหนียวแน่น ภาษาสมอลล์ทอล์กเป็นภาษาที่มีกระบวนการจำแนกชนิดแบบยืดหยุ่น (dynamic)
รูปแบบภาษา
[แก้]รูปแบบประโยคของภาษา Smalltalk เป็นดังนี้
(x < y) ifTrue: [ max := y. i := j ] ifFalse: [ max := x. i := k ]
1 to: n do: [ :i | sum := sum + i. ]
เปรียบเทียบกับ รูปแบบเดียวกันถ้าอยู่ในภาษา C
if (x < y) { max = y; i = j; } else { max = x; i = k; }
for (int i=1; i<=n; i++) { sum = sum + i; }
ในภาษา Smalltalk ไม่ต้องประกาศชนิดของ ตัวแปร หรือ ออปเจ็ก
| x y z | "Smalltalk" int x, y, z; // C++
การปรับเปลี่ยนชนิดของตัวแปรใน Smalltalk ทำได้โดยไม่ต้องผ่านฟังก์ชันใดๆ
| d i s | ... d := i asFloat. i := d asInteger. s := i asString.
การวางประโยคทำได้สองวิธี คั่นประโยคโดยใช้จุด
i := j+1. num := phoneBook at: name. x := 0
และรวมประโยคเป็น ออปเจ็กเดียวโดยใช้บล็อก
[ i := j+1. num := phoneBook at: name. x := 0 ]