รากเหง้า Vibe Coding จากยุค 90: การเขียนโปรแกรมแบบคัดลอก-วางที่หล่อหลอมคนทั้งรุ่น

ทีมชุมชน BigGo
รากเหง้า Vibe Coding จากยุค 90: การเขียนโปรแกรมแบบคัดลอก-วางที่หล่อหลอมคนทั้งรุ่น

ต้นกำเนิดอันทรงคุณค่าของแนวทางการเขียนโปรแกรมสมัยใหม่

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

ยุครุ่งเรืองของการเขียนโปรแกรมเชิงทดลอง

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

ฉันเริ่มต้น QBasic โดยไม่รู้อะไรเลยนอกจากว่ามันดูเหมือนเป็นสิ่งที่ใช้เขียนโปรแกรมคอมพิวเตอร์ และการเขียนโปรแกรมดูเหมือนเป็นสิ่งที่เจ๋งดี ฉันพิมพ์คำแบบสุ่มลงไป และในที่สุดก็พิมพ์คำว่า 'screen' เมื่อกด enter QBasic เปลี่ยนให้เป็นตัวพิมพ์ใหญ่ มันจึงดูเหมือนเป็นคำสำคัญ ฉันจึงกด F1 และอ่านความช่วยเหลือ

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

สภาพแวดล้อมการเขียนโปรแกรมที่โดดเด่นในยุค 1990

  • QBasic: ตัวแปลภาษา BASIC ที่เหมาะสำหรับผู้เริ่มต้น พร้อมระบบช่วยเหลือแบบตอบสนองตามบริบท
  • Turbo Pascal: คอมไพเลอร์ภาษา Pascal พร้อมสภาพแวดล้อมการพัฒนาแบบบูรณาการ
  • Borland Turbo C: สภาพแวดล้อมการเขียนโปรแกรมภาษา C พร้อมระบบช่วยเหลือที่ครอบคลุม
  • mIRC: โปรแกรมแชท Internet Relay Chat ที่มีภาษาสคริปต์ในตัว
  • CPAN: Comprehensive Perl Archive Network (เกิดขึ้นในช่วงปลายยุค 1990)

จากไลบรารีสาธารณะสู่ระบบนิเวศแพ็กเกจสมัยใหม่

แนวคิดจากยุค 1990 ในการประกอบแอปพลิเคชันจากไลบรารีโค้ดสาธารณะได้วิวัฒนาการมาเป็นระบบนิเวศแพ็กเกจในปัจจุบันอย่าง npm, PyPI และอื่นๆ ในขณะที่นักพัฒนาเคยเรียกดูไดเรกทอรีใน ซีดี-รอม เพื่อหาไลบรารีสำหรับการเติมสตริง ตอนนี้พวกเขาค้นหาช่องเก็บแพ็กเกจเพื่อหาสิ่งที่เทียบเท่ากับ left-pad ความท้าทายพื้นฐานยังคงเหมือนเดิม นั่นคือการเข้าใจวิธีการรวมโค้ดจากภายนอกอย่างถูกต้อง และรู้ว่าควรเขียนโซลูชันดั้งเดิมเมื่อใด เทียบกับการพึ่งพาส่วนประกอบที่มีอยู่แล้ว

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

คุณค่าอันยั่งยืนของการอ่านโค้ด

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

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

วิธีการเรียนรู้การเขียนโปรแกรมผ่านแต่ละทศวรรษ

ยุคสมัย แหล่งเรียนรู้หลัก แนวปฏิบัติทั่วไป
1980s-90s หนังสือ นิตยสาร ไฟล์ช่วยเหลือ CD-ROM สาธารณะ คัดลอกตัวอย่าง ลองผิดลองถูก อ่านเอกสารคู่มือ
2000s เครื่องมือค้นหา (Altavista, Google) เว็บไซต์สอน ค้นหาออนไลน์ เข้าร่วมฟอรัม ดาวน์โหลดโค้ด
2010s Stack Overflow, GitHub คัดลอกจากเว็บไซต์ถาม-ตอบ ใช้ไลบรารีโอเพนซอร์ส
2020s ผู้ช่วย AI, LLMs วิศวกรรมพรอมต์ การผสานรวมโค้ดที่สร้างขึ้น

การวิวัฒนาการอย่างคงที่ของการเขียนโปรแกรม

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

สิ่งที่ปรากฏจากความทรงจำที่แบ่งปันกันเหล่านี้คือภาพของการเขียนโปรแกรมในฐานะงานฝีมือที่ปรับตัวต่อเครื่องมือใหม่ๆ อย่างต่อเนื่อง ในขณะที่ยังคงรักษาหลักการพื้นฐานไว้ ความตื่นเต้นในการสร้างสิ่งใหม่ ไม่ว่าจะผ่านการพิมพ์ภาษาแอสเซมบลีอย่างอุตสาหะ หรือการเขียนคำสั่งให้ AI ยังคงขับเคลื่อนนักพัฒนาให้ก้าวไปข้างหน้าต่อไป วิธีการอาจเปลี่ยนแปลง แต่ประกายความคิดสร้างสรรค์ที่หัวใจของการเขียนโปรแกรมยังคงอยู่ตลอดรุ่น

หมายเหตุ: Vibe coding หมายถึง การปฏิบัติที่ใช้เครื่องมือ AI เพื่อสร้างโค้ดผ่านการสนทนาแบบให้คำสั่ง แทนการเขียนโปรแกรมแบบดั้งเดิม

อ้างอิง: Vibe coding in the 90's