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

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

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