ภาษาสมอลล์ทอล์ก

จากวิกิพีเดีย สารานุกรมเสรี
Smalltalk
กระบวนทัศน์ 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
   ]


ดูเพิ่ม[แก้]