Smalltalk กับ OO เต็มรูปแบบ
ที่ Xerox ประมาณปลายยุค 70 มีการออกแบบภาษาใหม่ที่รองรับ OOP เต็มรูปแบบ โดยภาษาใหม่นี้ เอาแนวคิดของ SIMULA 67 มาผสมกับ LISP ผสมกับความสามารถของ Graphics ซึ่ง Graphic แบบ Smalltalk นี้เองเป็นต้นแบบให้กับ GUI OS ของ Apple Lisa และ Gui OS ของ Apple Lisa ก็เป็นต้นแบบของ Microsoft Windows ที่เราใช้อีกที
ภาษา Smalltalk จัดได้ว่าเป็นภาษาที่มี Productivity สูงมาก เขียนสั้นกระทัดรัด และ OOP เต็มรูปแบบ แต่ในยุคนั้น ภาษา SmallTalk ไม่ค่อยดังเพราะว่ามันต้องการกำลัง Hardware ที่สูงมาก เพราะทุกอย่างเป็น Graphics แต่ปัจจุบันมีคนใช้อยู่ไม่น้อย บรรดาปรมาจารย์ด้าน OO ในยุคปัจจุบัน มีไม่น้อยครับที่เป็น Programmer ภาษา SmallTalk มาก่อน ภาษา Smalltalk สอนให้โลกรู้จัก Garbage Collection ด้วยครับ
หลังจากภาษา Smalltalk แล้ว ก็มีภาษา ดังๆ ออกมาหลายตัวเช่น C++, CLOS, Eiffel เป็นต้น แต่ตัวที่ดังที่สุดคือ C++ ซี่งเป็นต้นแบบของ Java และ C# ที่เราใช้ในยุคปัจจุบัน
วังวนของ OO
OOP นั้นเริ่มสมบูรณ์ตั้งแต่ต้นปี 80 จาก SmallTalk แต่ในยุคนั้น OOP มันเป็นเพียงแค่ของเล่นใหม่เท่านั้นครับ ยังไม่ค่อยมีคนที่สามารถดึงเอาความสามารถของมันออกมาใช้ได้ แต่พอมายุคกลางปี 80 แนวคิดทาง OO ได้เริ่มพัฒนาขึ้นอีกก้าวหนึ่ง ไม่ใช่เป็นเพียงแค่ของเล่นแล้วนะครับ มีผู้เชี่ยวชาญหลายคน ที่พยายามหาหลักการในการออกแบบโปรแกรมโดยใช้ภาษาทาง OOP หลังจากค้นคิดกันมาตั้งแต่ปลายปี 70 พอมายุคกลางปี 80 นี้ทฤษฏีต่างๆ ก็เริ่มเป็นรูปเป็นร่าง แต่ความนิยมก็ยังน้อยอยู่ครับ เพราะ OO มีความซับซ้อนสูง ไม่ง่ายเหมือน Dataflow Approach
พอมาถึงต้นปี 90 เราจะเห็นว่ามีหลายสำนักเลยครับที่เกิดขึ้น ที่ดังๆ ก็มี Coad-Yourdon, Booch, Jacobson, Shlaer/Mellor, Rumbaugh และ Martin/Odell เป็นต้น ต่างคนต่างหาสูตรในการพัฒนา OO ไม่เหมือนกัน แต่สิ่งหนึ่งที่เห็นตรงกันก็คือ นอกจาก OOP ซึ่งหมายถึงการรองรับ OO ของภาษาโปรแกรมแล้ว ยังน่าจะต้องแบบออกมาเป็นอีก 2 ส่วนคือ OOA และ OOD ครับ (แต่รายละเอียด OOA และ OOD ของแต่ละคนก็ต่างกันครับ)
Reference:http://www.twoguru.com/playground/article/oo1.htm
More at:
http://www.nectec.or.th/courseware/compute...using/0064.html
http://www.mvps.org/directx/smalltalk/arti...es/mt_intro.htm