การไตร่ตรองเกี่ยวกับแก่นแท้ของความคิดสร้างสรรค์ในการเขียนโปรแกรมจาก Linus Torvalds ผู้สร้าง Linux ได้จุดประกายการอภิปรายเกี่ยวกับวิธีที่ความสุขในการเขียนโค้ดได้พัฒนาไปในช่วงสองทศวรรษที่ผ่านมา ความคิดของ Torvalds เกี่ยวกับการเขียนโปรแกรมในฐานะสื่อสร้างสรรค์ซึ่งเผยแพร่ครั้งแรกในปี 2001 ยังคงสะท้อนใจนักพัฒนาในปัจจุบัน แม้ว่าหลายคนจะสังเกตเห็นว่าภูมิทัศน์ได้เปลี่ยนแปลงไปแล้ว
อิสรภาพในการสร้างสรรค์ที่เคยเป็นนิยามของการเขียนโปรแกรม
Torvalds อธิบายการเขียนโปรแกรมว่าเป็นการฝึกฝนความคิดสร้างสรรค์ขั้นสูงสุด โดยเปรียบเทียบโปรแกรมเมอร์กับเทพเจ้าที่สร้างโลกของตนเองภายในคอมพิวเตอร์ เขาเน้นย้ำว่าการเขียนโปรแกรมผสมผสานศิลปะและวิศวกรรม เหมือนกับการสร้างบ้านต้นไม้ที่สวยงามซึ่งใช้ประโยชน์จากสภาพแวดล้อมอย่างสร้างสรรค์ วิสัยทัศน์ของการเขียนโปรแกรมในฐานะความคิดสร้างสรรค์อันบริสุทธิ์นี้สะเทือนใจนักพัฒนาที่จำได้ว่าเมื่อไหร่ที่การเขียนโค้ดรู้สึกเหมือนการแสดงออกทางศิลปะมากกว่ากระบวนการทางอุตสาหกรรม
การเปรียบเทียบกับคณิตศาสตร์นั้นน่าสนใจเป็นพิเศษ ทั้งสองสาขาช่วยให้ผู้สร้างสามารถกำหนดกฎของตนเองและสร้างโลกที่สอดคล้องกันในตัวเอง ต่างจากฟิสิกส์ที่จำกัดผู้สร้างให้อยู่ภายใต้กฎธรรมชาติที่มีอยู่ การเขียนโปรแกรมเสนอความเป็นไปได้ไร้ขีดจำกัดตราบใดที่ตรรกะภายในยังคงมั่นคง
การเปรียบเทียบหลักในการเขียนโปรแกรมจาก Torvalds (2001)
- ฟิสิกส์ vs การเขียนโปรแกรม: ฟิสิกส์ค้นพบกฎเกณฑ์ที่มีอยู่แล้ว การเขียนโปรแกรมสร้างโลกใหม่ด้วยกฎเกณฑ์ที่กำหนดเอง
- ความคล้ายคลึงกับคณิตศาสตร์: ทั้งคู่อนุญาตให้สร้างกฎเกณฑ์ที่สอดคล้องกันเอง (ตัวอย่าง: ระบบคณิตศาสตร์ที่ 3+3=2)
- อุปมาบ้านต้นไม้: ความแตกต่างระหว่างโค้ดที่ใช้งานได้และโค้ดที่สวยงามซึ่งใช้สภาพแวดล้อมอย่างสร้างสรรค์
- ระบบปฏิบัติการเป็นรัฐธรรมนูญ: OS สร้างกฎเกณฑ์พื้นฐาน โปรแกรมอื่นๆ เปรียบเสมือนกฎหมายทั่วไป
การเปลี่ยนจากวิสัยทัศน์ส่วนบุคคลสู่ข้อจำกัดขององค์กร
การอภิปรายในชุมชนเผยให้เห็นความแตกต่างอย่างชัดเจนระหว่างศักยภาพความคิดสร้างสรรค์ของการเขียนโปรแกรมกับความเป็นจริงในปัจจุบัน นักพัฒนาหลายคนแสดงความคิดถึงยุคที่การเขียนโค้ดรู้สึกเติมเต็มส่วนตัวมากกว่า อิสรภาพในการเลือกฮาร์ดแวร์ ภาษาโปรแกรมมิ่ง และแนวทางต่างๆ โดยไม่มีแรงกดดันจากภายนอกได้กลายเป็นสิ่งที่หายากในสภาพแวดล้อมการทำงานมืออาชีพ
ผมชอบการเขียนโปรแกรมในที่ทำงาน แต่ผมรักการเขียนโปรแกรมที่ผมสามารถทำได้ตอนนี้โดยไม่มีแรงกดดันและข้อจำกัด ผมสามารถเห็นทุกบรรทัดและฟังก์ชันที่ทำงานได้สะท้อนในสภาพแวดล้อมจริงของผม และไม่ถูกดึงออกไปโดยเจ้าของจากภายนอกคนใด
การเขียนโปรแกรมสมัยใหม่มักเกี่ยวข้องกับการนำทางผ่านคู่มือสไตล์ขององค์กร การผูกมัดกับผู้ขาย และข้อจำกัดทางวัฒนธรรมที่อาจขัดขวางกระบวนการสร้างสรรค์ที่ Torvalds เฉลิมฉลอง อาณาจักรแห่งความคิดที่เต้นรำในอิเล็กตรอนได้ถูกแทนที่ด้วยการวางแผน sprint และข้อกำหนดด้านการปฏิบัติตามกฎระเบียบ
ไทม์ไลน์ความรู้สึกของชุมชน
- ยุค 2001: การเขียนโปรแกรมถูกมองว่าเป็นการแสดงออกทางความคิดสร้างสรรค์อย่างบริสุทธิ์ที่มีความเป็นไปได้ไร้ขีดจำกัด
- ยุคปัจจุบัน: ข้อจำกัดขององค์กร คู่มือรูปแบบ และการผูกมัดกับผู้จำหน่าย จำกัดอิสรภาพในการสร้างสรรค์
- โปรเจกต์ส่วนตัว: นักพัฒนาค้นพบความสุขอีกครั้งผ่านสภาพแวดล้อมการเขียนโค้ดที่ปราศจากแรงกดดัน
- อิสรภาพของฮาร์ดแวร์: เครื่องมืออย่าง coreboot ช่วยให้เกิดความคิดสร้างสรรค์ในระดับระบบที่ลึกซึ้งยิ่งขึ้น
ศิลปะที่สูญหายของการหลงใหลในโค้ด
บางทีการสังเกตที่เจ็บปวดที่สุดจากชุมชนคือการหายไปของเซสชันการเขียนโค้ดที่ลึกซึ้งและดื่มด่ำ ประสบการณ์ของการอยู่ดึกทั้งคืนเพื่อบรรลุวิสัยทัศน์ในการเขียนโปรแกรม สิ่งที่ Torvalds เรียกว่าการเอาหัวไปกระแทกกำแพงเป็นเวลาสามวันจนกว่าจะพบโซลูชันที่สวยงาม ดูเหมือนจะยากขึ้นเรื่อยๆ ที่จะบรรลุในสภาพแวดล้อมการทำงานที่ถูกขัดจังหวะในปัจจุบัน
การเปลี่ยนแปลงนี้สะท้อนการเปลี่ยนแปลงที่กว้างขึ้นในวิธีการจัดระเบียบและจัดการการพัฒนาซอฟต์แวร์ การเดินทางค้นพบของโปรแกรมเมอร์รายบุคคลมักถูกแทนที่ด้วยกระบวนการร่วมมือที่แม้จะมีคุณค่าด้วยเหตุผลหลายประการ แต่อาจไม่ให้ความรู้สึกของความสำเร็จส่วนตัวในการสร้างสรรค์เหมือนเดิม
การค้นพบแก่นแท้ความคิดสร้างสรรค์ของการเขียนโปรแกรมใหม่
ความดึงดูดที่ยั่งยืนของมุมมองของ Torvalds ในปี 2001 บ่งบอกว่าแก่นแท้ความคิดสร้างสรรค์ของการเขียนโปรแกรมไม่ได้หายไป แต่เพียงถูกบดบังโดยวิวัฒนาการของอุตสาหกรรม นักพัฒนาที่หาวิธีเขียนโปรแกรมโดยไม่มีแรงกดดันจากภายนอกรายงานว่าได้ค้นพบความสุขที่ดึงดูดพวกเขาเข้าสู่การเขียนโค้ดในตอนแรกใหม่อีกครั้ง
ความท้าทายสำหรับชุมชนการเขียนโปรแกรมในปัจจุบันอยู่ที่การรักษาพื้นที่สำหรับการสำรวจความคิดสร้างสรรค์ในขณะที่ตอบสนองความต้องการการพัฒนาซอฟต์แวร์สมัยใหม่ ไม่ว่าจะผ่านโครงการส่วนตัว การมีส่วนร่วมในโอเพนซอร์ส หรือเพียงแค่เปลี่ยนวิธีที่เราเข้าหาการเขียนโค้ดมืออาชีพ เวทมนตร์ที่ Torvalds อธิบายยังคงเข้าถึงได้สำหรับผู้ที่แสวงหามันอย่างแข็งขัน
อ้างอิง: The Beauty of Programming