ชุมชนเทคโนโลยีถกเถียงการรวมโปรแกรมเมอร์และผู้ใช้เป็นบทบาท "ผู้ปฏิบัติการ" เดียว

ทีมชุมชน BigGo
ชุมชนเทคโนโลยีถกเถียงการรวมโปรแกรมเมอร์และผู้ใช้เป็นบทบาท "ผู้ปฏิบัติการ" เดียว

โลกเทคโนโลยีกำลังคึกคักไปด้วยการพิจารณาแนวคิดที่รุนแรง คือการขจัดการแบ่งแยกแบบดั้งเดิมระหว่างโปรแกรมเมอร์และผู้ใช้ แทนที่จะมีบทบาทแยกกันเหล่านี้ บางคนเสนอให้สร้างผู้ปฏิบัติการแบบรวมเดียวที่สามารถทั้งใช้งานและปรับเปลี่ยนระบบซอฟต์แวร์โดยไม่ต้องการการฝึกอบรมการเขียนโปรแกรมเฉพาะทาง

เรื่องราวความสำเร็จของ Excel จุดประกายวิสัยทัศน์ที่กว้างขึ้น

การสนทนามุ่งเน้นไปที่เหตุผลที่ซอฟต์แวร์สเปรดชีตอย่าง Excel ทำงานได้ดีสำหรับคนที่ไม่ใช่โปรแกรมเมอร์ ต่างจากการพัฒนาซอฟต์แวร์แบบดั้งเดิม Excel ให้ข้อมูลป้อนกลับทันทีและไม่ต้องการขั้นตอนการติดตั้งหรือการนำไปใช้ที่ซับซ้อน ผู้ใช้สามารถเห็นผลลัพธ์ทันทีและทำการเปลี่ยนแปลงได้ทันที ความสำเร็จนี้ทำให้บางคนสงสัยว่าซอฟต์แวร์ทั้งหมดสามารถทำงานแบบนี้ได้หรือไม่

สมาชิกในชุมชนชี้ไปที่แบบอย่างทางประวัติศาสตร์ โดยสังเกตว่าในทศวรรษ 1960 IBM มักจะฝึกอบรมคนงานโกดัง เสมียนจัดส่ง และนักบัญชีให้เป็นโปรแกรมเมอร์เมื่อขายระบบคอมพิวเตอร์ การแบ่งแยกอย่างชัดเจนระหว่างผู้ใช้และโปรแกรมเมอร์เป็นการพัฒนาที่เกิดขึ้นค่อนข้างใหม่ในประวัติศาสตร์คอมพิวเตอร์

บริบททางประวัติศาสตร์:

  • ทศวรรษ 1960: IBM ฝึกอบรมพนักงานที่ไม่ใช่ด้านเทคนิค (เสมียนจัดส่ง นักบัญชี พนักงานคลังสินค้า) ให้เป็นโปรแกรมเมอร์เมื่อขายระบบคอมพิวเตอร์
  • ปัจจุบัน: การแบ่งแยกอย่างชัดเจนระหว่างโปรแกรมเมอร์และผู้ใช้เป็นการพัฒนาที่เกิดขึ้นเมื่อไม่นานมานี้
  • ยุค Command Line: การใช้งานและการเขียนโปรแกรมคอมพิวเตอร์เป็นกิจกรรมเดียวกันโดยพื้นฐาน

อินเทอร์เฟซบรรทัดคำสั่งเป็นสะพานเชื่อมการเขียนโปรแกรม

มุมมองที่น่าสนใจเกิดขึ้นเกี่ยวกับวิธีที่อินเทอร์เฟซบรรทัดคำสั่งทำให้ขอบเขตระหว่างผู้ใช้และโปรแกรมเมอร์เบลอได้ตามธรรมชาติ คำสั่งทุกคำสั่งที่ป้อนเข้าไปเป็นโปรแกรมเล็กๆ ที่สามารถบันทึก ปรับเปลี่ยน และแบ่งปันได้ สิ่งนี้สร้างสิ่งที่สมาชิกในชุมชนคนหนึ่งอธิบายว่าเป็นแบบจำลองที่ทรงพลังที่การโต้ตอบที่ประสบความสำเร็จกลายเป็นสิ่งประดิษฐ์ที่นำกลับมาใช้ได้

ความท้าทายอยู่ที่การนำความยืดหยุ่นเดียวกันนี้มาสู่อินเทอร์เฟซผู้ใช้แบบกราฟิก บางคนชี้ไปที่ตัวแก้ไข Acme ของ Plan 9 เป็นตัวอย่างของการออกแบบ GUI ที่รักษาความสามารถในการเขียนโปรแกรม แม้ว่าจะต้องคิดใหม่เกี่ยวกับวิธีที่เราโต้ตอบกับอินเทอร์เฟซแบบภาพ

ความท้าทายในการนำไปใช้ในโลกจริง

แม้ว่าวิสัยทัศน์จะฟังดูน่าสนใจ การพิจารณาของชุมชนเผยให้เห็นอุปสรรคปฏิบัติที่สำคัญ การทำให้ซอฟต์แวร์เปลี่ยนแปลงได้จริงๆ ต้องการคุณสมบัติที่ซับซ้อนที่โปรแกรมเมอร์ถือเป็นเรื่องธรรมดา ระบบควบคุมเวอร์ชัน การทดสอบอัตโนมัติ และระบบการนำไปใช้ที่มีการควบคุม การสร้างความสามารถเหล่านี้ให้เป็นเครื่องมือที่เป็นมิตรกับผู้ใช้เป็นความท้าทายทางเทคนิคที่สำคัญ

ยังมีปัจจัยด้านมนุษย์ที่ต้องพิจารณา หลายคนไม่ต้องการเขียนโปรแกรม แม้ว่าเครื่องมือจะง่ายขึ้น พวกเขาชอบใช้คอมพิวเตอร์เพื่อทำงานเฉพาะมากกว่าการใช้เวลาปรับแต่งวิธีการทำงานเหล่านั้น

การสร้างซอฟต์แวร์ไม่เคยง่ายเท่าทุกวันนี้ แต่มันยังคงยากเพราะการออกแบบระบบที่เชื่อมโยงกันและทำงานได้อย่างถูกต้องในทุกสถานการณ์การใช้งานเป็นเรื่องยาก

คุณสมบัติสำคัญของระบบซอฟต์แวร์ที่ปรับเปลี่ยนได้:

  • การโหลดซ้ำแบบทันทีและการแสดงตัวอย่างสด (เช่นเดียวกับสเปรดชีต)
  • ความทนทานแบบอัตโนมัติและต่อเนื่อง (ฟังก์ชันบันทึกอัตโนมัติ)
  • ระบบควบคุมเวอร์ชันแบบกระจายพร้อมอินเทอร์เฟซที่ใช้งานง่าย
  • การทดสอบแบบอัตโนมัติและเริ่มทำงานทันที
  • การปรับใช้แบบต่อเนื่องพร้อมกระบวนการอนุมัติที่เรียบง่าย
  • การปรับปรุงประสิทธิภาพ

ปัญหาความไว้วางใจและการควบคุม

ตัวอย่างที่ให้ความกระจ่างมาจากระบบควบคุมดาวเทียม ซึ่งองค์กรต่างๆ ใช้วิธีการตรงข้ามกันในการปรับแต่งของผู้ปฏิบัติการ บางแห่งส่งเสริมให้ผู้ปฏิบัติการปรับเปลี่ยนสคริปต์และสร้างการแสดงผลแบบกำหนดเอง ซึ่งนำไปสู่การปรับปรุงแบบร่วมมือ บางแห่งจำกัดการปรับเปลี่ยนดังกล่าวเพราะกลัวว่าผู้ปฏิบัติการอาจทำลายระบบที่สำคัญ

สิ่งนี้เน้นความตึงเครียดพื้นฐาน การให้ผู้ใช้มีการควบคุมมากขึ้นสามารถนำไปสู่โซลูชันที่ดีกว่าและเหมาะสมกว่า แต่ยังแนะนำความเสี่ยงที่องค์กรต้องจัดการอย่างระมัดระวัง

การถกเถียงยังคงดำเนินต่อไปขณะที่ชุมชนเทคโนโลยีต่อสู้กับการสร้างสมดุลระหว่างการเข้าถึงได้ ฟังก์ชันการทำงาน และความน่าเชื่อถือของระบบในการแสวงหาการทำให้พลังคอมพิวเตอร์เป็นประชาธิปไตย

อ้างอิง: operators, not users and programmers