บทความบุกเบิกเกี่ยวกับ SqueakJS ในปี 2014 ซึ่งนำเสนอรายละเอียดการพัฒนา Squeak/Smalltalk ด้วยภาษา JavaScript ล้วนๆ ได้รับรางวัลบทความที่โดดเด่นที่สุดจาก ACM SIGPLAN Dynamic Language Symposium (DLS) การยอมรับนี้สะท้อนให้เห็นถึงผลกระทบอันยั่งยืนของผลงานโดย Vanessa Freudenberg, Dan Ingalls, Tim Felgentreff, Tobias Pape และ Robert Hirschfeld ในการนำระบบภาษาแบบไดนามิกมาสู่สภาพแวดล้อมบนเว็บเบราว์เซอร์
ผลกระทบทางประวัติศาสตร์และการเข้าถึงด้านการศึกษา
SqueakJS ได้พิสูจน์ให้เห็นว่าเว็บเบราว์เซอร์และ JavaScript VM สามารถรองรับสภาพแวดล้อม Smalltalk ที่มีความไดนามิกและโต้ตอบสูงได้ การพัฒนานี้มีคุณค่าอย่างยิ่งในบริบทการศึกษา ซึ่งข้อจำกัดในการติดตั้งซอฟต์แวร์แบบเนทีฟมักเป็นอุปสรรคต่อการเข้าถึงเครื่องมือการเขียนโปรแกรมที่สำคัญอย่าง Etoys และ Scratch รุ่นแรกๆ ด้วยการทำงานบนเว็บเบราว์เซอร์โดยตรง SqueakJS ได้ขจัดอุปสรรคเหล่านี้ในขณะที่ยังคงรักษาความเข้ากันได้กับแอปพลิเคชัน Smalltalk ที่มีอยู่เดิม
ความสำเร็จทางเทคนิคและข้อพิจารณาด้านประสิทธิภาพ
โครงการนี้ใช้แนวทางที่เป็นนวัตกรรมด้วยการพัฒนาเวอร์ชันที่เข้ากันได้ในระดับบิตของ Squeak/Smalltalk บน JavaScript แม้ว่าแนวทางแบบเลเยอร์นี้จะก่อให้เกิดการถกเถียงในชุมชน โดยผลการทดสอบประสิทธิภาพแสดงให้เห็นว่าทำงานช้ากว่าตัวแปลภาษา C แบบเนทีฟ 100-200 เท่า แต่ความเรียบง่ายในการพัฒนาและความเข้ากันได้กับเบราว์เซอร์ได้พิสูจน์คุณค่าสำหรับการใช้งานในบางกรณี
เกณฑ์มาตรฐานประสิทธิภาพ:
- Chrome: ช้ากว่าระบบดั้งเดิม 2-3 เท่า
- เบราว์เซอร์อื่นๆ: ช้ากว่าตัวแปลภาษา Squeak ดั้งเดิม 1-2 เท่า
- การพัฒนา: ใช้ JavaScript ล้วน
- คุณสมบัติเด่น: การใช้งานบนเบราว์เซอร์โดยตรงโดยไม่ต้องติดตั้งปลั๊กอินเพิ่มเติม
มรดกและความเกี่ยวข้องในปัจจุบัน
ปัจจุบัน SqueakJS ยังคงมีบทบาทสำคัญในการอนุรักษ์ประวัติศาสตร์คอมพิวเตอร์และการเข้าถึงสภาพแวดล้อม Smalltalk ผ่านเว็บ แม้ว่านักพัฒนาบางคนจะแสดงความกังวลเกี่ยวกับการแลกเปลี่ยนประสิทธิภาพของการซ้อนชั้นภาษาแบบไดนามิก แต่ความสำเร็จของโครงการในการทำให้ Smalltalk เข้าถึงได้ผ่านเบราว์เซอร์ได้มีอิทธิพลต่อความพยายามที่คล้ายคลึงกันในการพัฒนาภาษาอื่นๆ
การได้รับรางวัลนี้เกิดขึ้นในช่วงเวลาที่น่าสนใจของประวัติศาสตร์การคอมพิวเตอร์ ซึ่งความตึงเครียดระหว่างประสิทธิภาพและการเข้าถึงยังคงมีอิทธิพลต่อทางเลือกในการพัฒนา แม้ว่าความสามารถของฮาร์ดแวร์สมัยใหม่จะทำให้การพัฒนาเช่นนี้เป็นไปได้ แต่การอภิปรายเกี่ยวกับการออกแบบระบบที่มีประสิทธิภาพเทียบกับความเข้ากันได้และการเข้าถึงยังคงมีความเกี่ยวข้องกับภูมิทัศน์การพัฒนาซอฟต์แวร์ในปัจจุบัน
แหล่งอ้างอิง: SqueakJS: A Modern and Practical Smalltalk That Runs in Any Browser