ภาษา S: บรรพบุรุษของ R ที่เปลี่ยนโลกการวิเคราะห์ข้อมูลไปตลอดกาล
ก่อนที่ R จะเป็นภาษายอดนิยมสำหรับ Data Science มีภาษาหนึ่งที่เป็นรากฐานของมันทั้งหมด นั่นคือภาษา S ที่เกิดขึ้นในห้องแล็บของ Bell Labs เมื่อปี 1976
สารบัญ

จุดเริ่มต้นในห้องแล็บแห่งความลับ
ใครจะคิดว่าภาษาโปรแกรมที่เปลี่ยนโลกการวิเคราะห์ข้อมูลจะเกิดขึ้นในสถานที่เดียวกับที่คิดค้นทรานซิสเตอร์และเลเซอร์
ปี 1976 ที่ห้องวิจัย Bell Labs อันโด่งดังของ AT&T ทีมนักวิจัยนำโดย John Chambers กำลังเผชิญปัญหาใหญ่ พวกเขาต้องวิเคราะห์ข้อมูลทางสถิติจำนวนมาก แต่เครื่องมือที่มีอยู่ในตอนนั้นไม่ตอบโจทย์เลย
ภาษาอย่าง FORTRAN นั้นซับซ้อนเกินไป ต้องเขียนโค้ดยาวๆ เพื่อคำนวณง่ายๆ ส่วนโปรแกรมสถิติสำเร็จรูปก็ไม่ยืดหยุ่นพอ ขยายฟังก์ชันไม่ได้ตามใจฉัน พวกเขาต้องการอะไรบางอย่างที่อยู่กึ่งกลางระหว่างสองสิ่งนั้น ต้องเป็นภาษาที่โต้ตอบได้ทันที (Interactive) และเน้นการจัดการข้อมูลเป็นออบเจกต์
นั่นคือจุดเกิดของภาษา S
ทำไมถึงชื่อ 'S'?
ชื่อ S มาจากคำว่า Statistics และยังเป็นการล้อเลียนภาษา C ที่เป็นที่นิยมและพัฒนาขึ้นใน Bell Labs ในขณะนั้นด้วย ถือเป็นมุกตลกของนักวิจัยที่อยากสื่อว่านี่คือภาษาสำหรับสถิติโดยเฉพาะ แต่เบื้องหลังชื่อสั้นๆ นี้คือปรัชญาการออกแบบที่ล้ำหน้ามาก
ปรัชญาการออกแบบที่แตกต่าง
John Chambers และทีมมีแนวคิดหลักอยู่ 4 ข้อที่เรียกว่า "Golden Rule" ของภาษา S:
- ทุกอย่างเป็น object - ข้อมูล ฟังก์ชัน แม้แต่กราฟ ล้วนเป็นออบเจกต์ที่จัดการได้
- การวิเคราะห์เป็น interactive - ไม่ใช่การคอมไพล์แล้วรัน แต่เป็นการทำงานแบบโต้ตอบทันทีเหมือนเครื่องคิดเลขวิทยาศาสตร์
- กราฟิกเป็นส่วนหนึ่งของการวิเคราะห์ - ไม่ใช่ขั้นตอนสุดท้ายที่แยกออกไป แต่ต้องสามารถพล็อตกราฟได้ทันทีระหว่างคำนวณ
- ผู้ใช้ควรควบคุมภาษา ไม่ใช่ภาษาควบคุมผู้ใช้ - ภาษาต้องยืดหยุ่น ปรับเปลี่ยนได้
แนวคิดเหล่านี้ในปี 70s ถือว่าเป็นนวัตกรรมชั้นนำ เพราะในยุคนั้นการเขียนโปรแกรมยังเน้นการประมวลผลเป็นชุด (Batch processing) เป็นหลัก
วิวัฒนาการของภาษา S
ภาษา S ไม่ได้หยุดอยู่แค่เวอร์ชันแรก มันพัฒนาไปเรื่อยๆ ตามกาลเวลา
- S (1976): เวอร์ชันแรกที่เน้นการโต้ตอบและกราฟิก
- New S (1988): ปรับโครงสร้างใหม่ทั้งหมด รองรับการเขียนโปรแกรมเชิงวัตถุ (OOP) มากขึ้น
- S-PLUS (1990s): บริษัท Statistical Sciences (ต่อมาคือ Insightful) ได้นำภาษา S มาพัฒนาเป็นซอฟต์แวร์เชิงพาณิชย์ โดยเพิ่มฟังก์ชันการใช้งานและอินเทอร์เฟซที่ใช้ง่ายขึ้น S-PLUS ได้รับความนิยมอย่างมากในวงการสถิติและการเงิน
แต่ปัญหาของ S-PLUS คือมันเป็นซอฟต์แวร์ที่มีลิขสิทธิ์และมีราคาค่อนข้างสูง นักวิจัยและนักศึกษาจำนวนมากจึงไม่สามารถเข้าถึงได้ จนกระทั่งเกิดเหตุการณ์ที่เปลี่ยนวงการไปตลอดกาล
กำเนิด R: ทายาทผู้สานต่อมรดก
ในปี 1993 นักวิจัยสองคนจากมหาวิทยาลัย Auckland ประเทศนิวซีแลนด์ คือ Ross Ihaka และ Robert Gentleman ได้เริ่มโครงการหนึ่งขึ้นมา พวกเขาต้องการสร้างภาษาสถิติที่มีพื้นฐานจากภาษา S แต่ต้องเป็น Open Source และใช้งานได้ฟรี
โครงการนี้มีชื่อว่า R
ทำไมถึงชื่อ R? นอกจากจะเป็นอักษรตัวแรกของชื่อผู้สร้างทั้งสองแล้ว มันยังเป็นการล้อเลียนชื่อ S แบบเดียวกับที่ S เคยล้อเลียน C อีกด้วย
R ถูกออกแบบมาให้มี Syntax และฟังก์ชันการทำงานคล้ายกับ S มากที่สุด จนผู้ที่เคยใช้ S-PLUS สามารถเปลี่ยนมาใช้ R ได้อย่างราบรื่น และเมื่อ R เปิดตัวในฐานะ Open Source มันก็เติบโตอย่างก้าวกระโดดด้วยแรงของชุมชน (Community) ที่เข้ามาช่วยกันพัฒนาแพ็กเกจ (Packages) มากมาย
มรดกที่ภาษา S ทิ้งไว้ให้โลก Data Science
วันนี้ แม้จะไม่ค่อยมีคนพูดถึงภาษา S หรือ S-PLUS แล้ว แต่มรดกของมันยังอยู่ในทุกบรรทัดของโค้ด R ที่เราเขียนกันอยู่ทุกวันนี้
- Data Frame: โครงสร้างข้อมูลที่เราคุ้นเคยกันดีใน Pandas ของ Python หรือใน R นั้น แท้จริงแล้วเกิดขึ้นครั้งแรกในภาษา S
- Functional Programming: การใช้ฟังก์ชันอย่าง
apply,lapply,sapplyที่ช่วยให้การจัดการข้อมูลสั้นและกระชับ ก็เป็นต้นแบบมาจาก S - Statistical Graphics: ระบบกราฟิกพื้นฐานของ R ที่ทำให้เราสามารถพล็อตกราฟได้ด้วยโค้ดไม่กี่บรรทัด ก็สืบทอดมาจาก S
John Chambers ผู้สร้างภาษา S ยังได้เข้าร่วมทีมพัฒนา R ในภายหลังด้วย ซึ่งแสดงให้เห็นว่า R คือทายาทโดยชอบธรรมของ S อย่างแท้จริง
บทสรุปและการลงมือทำ
ภาษา S อาจจะเป็นอดีต แต่มันคือรากฐานที่แข็งแกร่งที่ทำให้วงการ Data Science ในปัจจุบันเติบโตได้ขนาดนี้ การเข้าใจประวัติศาสตร์ของมันช่วยให้เราเข้าใจว่าทำไม R ถึงถูกออกแบบมาเป็นแบบที่เราเห็น
ถ้าคุณกำลังสนใจเริ่มต้นเรียนรู้ Data Science ลองลงมือเล่นกับ R ดูสิ คุณจะพบว่าปรัชญาการโต้ตอบและการจัดการข้อมูลแบบออบเจกต์ที่ John Chambers คิดไว้เมื่อ 40 กว่าปีก่อน ยังใช้งานได้ดีและทรงพลังมากจนถึงทุกวันนี้
คุณเคยได้ยินชื่อภาษา S มาก่อนหรือไม่? หรือคุณเริ่มต้นกับ R และ Python ตั้งแต่แรก? มาแชร์ประสบการณ์การเรียนรู้ Data Science ของคุณกันได้ในคอมเมนต์เลย!
เนื้อหาที่จัดทำโดยมี AI ช่วยจะมีป้ายกำกับ "เรียบเรียงโดยมี AI ช่วย" เพื่อให้คุณทราบอย่างชัดเจน เราถือว่าความโปร่งใสเรื่องการใช้ AI เป็นสิ่งสำคัญต่อความไว้วางใจของผู้อ่าน
ความคิดเห็น (0)
ยังไม่มีความคิดเห็น — มาเป็นคนแรกกันเถอะ!