ภาษาสมอลล์ทอล์ก
| บทความนี้ไม่มีการอ้างอิงจากเอกสารอ้างอิงหรือแหล่งข้อมูล โปรดช่วยพัฒนาบทความนี้โดยเพิ่มแหล่งข้อมูลน่าเชื่อถือ เนื้อหาที่ไม่มีการอ้างอิงอาจถูกคัดค้านหรือนำออก |
| กระบวนทัศน์ | object-oriented |
|---|---|
| เริ่มเมื่อ | Development started in 1969 Publicly available in 1980 |
| ออกแบบโดย | อลันด์ เคย์, Dan Ingalls, Adele Goldberg |
| ผู้พัฒนา | Alan Kay, Dan Ingalls, Adele Goldberg, Ted Kaehler, Scott Wallace, and Xerox PARC |
| รุ่นเสถียร |
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
]
[แก้] ดูเพิ่ม
|
|||||||||||