โค้ดดิ้ง: ความงามของการจัดระเบียบที่นักออกแบบไม่อยากรู้
เครื่องคอมพิวเตอร์กลายเป็นอุปกรณ์หลักในการทำงานแทบจะทุกอาชีพตั้งแต่ตอนไหน? นักออกแบบส่วนมากพึ่งพามันอย่างที่เรียกว่าขาดกันไม่ได้ ซอฟต์แวร์ส่วนมากที่เราใช้กันในงานออกแบบหลักๆ แล้วก็คือการจำลองความคิดที่เรามีในหัวออกมาเป็นภาพที่ใกล้เคียงกับสิ่งที่จะสร้างขึ้นมาจริงๆ
คัดลอกมาจากบทความที่เขียนให้กับเว็บไซต์ สมาคมนักออกแบบเรขศิลป์ไทย (ThaiGa)
ย้อนไปช่วงศตวรรษที่ 20 คอมพิวเตอร์ถูกนำมาใช้งานเพื่อการถอดรหัส คำนวณหาผลลัพธ์ที่แม่นยำ เพื่อช่วยในสงครามและข่าวกรอง เครื่องที่โด่งดังมากๆ ก็คือ อีนีแอค (ENIAC) ย่อมาจาก Electronic Numerical Integrator and Computer ถือเป็นอุปกรณ์อิเล็กทรอนิกส์เครื่องแรกที่ผลิตขึ้นในสหรัฐอเมริกา
นวัตกรรมนี้ถูกส่งต่อไปยัง อลัน เทอริ่ง (Alan Turing) โดยเขาได้นำเสนอเครื่องมือที่เรียบง่ายกว่า ที่มีชื่อว่า Universal Computing Machine หรือที่ทุกวันนี้รู้จักกันในชื่อ Universal Turing Machine ซึ่งสามารถปรับเปลี่ยนวิธีการโปรแกรมได้ในภายหลัง
ลองคิดดูว่าเรามาไกลขนาดไหน จากเครื่องสมัยของเทอริ่งที่ต้องใช้พื้นที่ห้องขนาด 60-100 ตารางเมตรสำหรับหนึ่งเครื่อง จนมาถึงคอมพิวเตอร์แบบพกพาที่ผลิตโดย IBM ก่อนจะส่งต่อมาถึงมือผู้ใช้แบบทุกวันนี้
ผู้เขียนเริ่มใช้คอมพิวเตอร์เป็นสมัยยังไม่เข้าชั้นประถม ได้รู้วิธีการทำเว็บไซต์ด้วยไมโครซอฟต์เวิร์ดส์จากคำชี้แนะจากพ่อของเพื่อน และรู้จักการเขียนโค้ดครั้งแรกจากตอนทำเว็บไซต์ครั้งแรกเมื่อปี 1997 ช่วงเวลาของแฟกซ์โมเด็ม (Fax Modem) และเว็บท่า (Portal Site) ซึ่งเป็นที่นิยมสำหรับชาวเน็ตในตอนนั้นอย่าง หรรษา สนุก และพันทิป
มีนักออกแบบกราฟิกไทยจำนวนไม่น้อยที่มีเว็บเป็นของตัวเอง และใช้เป็นพื้นที่โชว์ผลงานที่ตัวเองทำมา สมัยนั้นยังไม่มีโปรแกรมสำเร็จรูปในการทำเว็บไซต์ ทำให้ทุกคนต้องเริ่มเรียนรู้วิธีเขียนภาษา HTML ด้วยการเขียนจากโปรแกรม Notepad*
ในยุคที่อุปกรณ์ที่ใช้งานยังไม่แพร่หลาย เรามีเพียงแค่จอคอมพิวเตอร์ที่มีขนาด 800x600pixel หรือใหญ่กว่านั้นเล็กน้อย ทำให้การทำเว็บไซต์เปรียบเสมือนผ้าใบดิจิทัลของนักออกแบบกราฟิกในช่วงนั้น การสร้างภาพแบบมัลติมีเดียโดยการใช้โปรแกรมแฟลช (Flash) ถือเป็นเรื่องที่น่าตื่นเต้นมาก เพราะนักออกแบบสามารถออกแบบกราฟิก ทำแอนิเมชั่น และเขียนโค้ดเล็กน้อยเพื่อให้แสดงผลงานได้อย่างมีมิติมากขึ้น
เมื่อเข้าสู่ยุคที่โทรศัพท์มือถือเข้าสู่ยุค 2.5G แอปเปิ้ลได้ออกผลิตภัณฑ์ใหม่ที่เป็นจุดเปลี่ยนมาจนถึงทุกวันนี้มีชื่อว่า iPhone เป็นการรวม เครื่องเล่นเพลง (iPod) โทรศัพท์ (Phone) และอุปกรณ์ใช้งานอินเตอร์เน็ต (Internet Communication Device)
การเปิดตัว iPhone ในปี 2007 โลกได้เรียนรู้ถึงส่วนของการใช้งานใหม่ทั้งหมด User Interface ที่ถูกออกแบบมาเพื่อรองรับการใช้งานโดยการสัมผัสหน้าจอ ซึ่งถือเป็นจุดเปลี่ยนสำคัญของเทคโนโลยี การออกแบบผลิตภัณฑ์ นักออกแบบ และมีอิทธิพลต่อผู้ใช้งานต่อเนื่องมาจนถึงปัจจุบันนี้
โดยเฉพาะอย่างยิ่งในทุกวันเรากำลังใช้ชีวิตอยู่ร่วมกับข้อมูลจำนวนมหาศาลที่มองไม่เห็น เมื่อมีข้อมูลมหาศาล ก็จำเป็นต้องมีระบบประมวลผลที่ซับซ้อนเท่าทันกันเพื่อช่วยให้ไม่ต้องเสียเวลาไปกับข้อมูลที่ไม่จำเป็นนั้น
ในขณะที่เรารีบมากขึ้น นักออกแบบหลายสาขายังต้องวนเวียนอยู่กับการจัดการกับปริมาณและจัดระเบียบข้อมูลที่เพิ่มมากขึ้นเรื่อยๆ วิธีที่เห็นว่ามีประสิทธิภาพที่สุดเพื่อให้เกิดความแม่นยำในกระบวนการสื่อสารคงหนีไม่พ้นการใช้เทคโนโลยีเข้ามามีส่วนร่วมในการประมวลผล
เมื่อซอฟต์แวร์ที่เราใช้กำลังฉลาดขึ้นเรื่อยๆ ก็หมายความว่าจะมีเครื่องมืออำนวยความสะดวกให้เราทำงานได้อย่างที่ใจต้องการ และเราก็คงไม่ได้เป็นแค่คนเดียวที่สามารถครอบครองซอฟต์แวร์นี้ได้ ความเป็นไปได้ว่าทักษะของเราที่ยึดโยงอยู่กับซอฟต์แวร์สำเร็จรูปอาจกลายเป็นสิ่งไม่จำเป็นอีกต่อไปก็ได้
นอกจากทักษะด้านการออกแบบและการจัดการกับข้อมูลแล้ว ในเวลาที่เร่งรีบก็มีเครื่องมือ หรือภาษาคอมพิวเตอร์มาช่วยในการประมวลและแสดงผลข้อมูลแบบนาทีต่อนาที ถ้าหากเรามีทักษะในการทำความเข้าใจภาษาคอมพิวเตอร์ สิ่งเหล่านี้จะมีประโยชน์ในการช่วยประเมินทิศทางหรือสถานการณ์ที่กำลังจะเกิดขึ้นต่อวัตถุประสงค์นั้นๆ
บริษัทที่ใหญ่ระดับโลกอย่าง Digital Domain ผู้อยู่เบื้องหลังภาพยนตร์ฟอร์มยักษ์หลายเรื่อง ได้พัฒนาซอฟต์แวร์ที่ชื่อว่า Nuke ซึ่งช่วยในการจัดการภาพหนังด้วยเทคนิคพิเศษ (Visual FX) นอกจากนี้ก็ยังพัฒนาและคิดค้นซอฟต์แวร์ที่ช่วยอำนวยความสะดวกให้กับทีมงาน จนกลายมาเป็นซอฟต์แวร์แบบที่คนทั่วไปสามารถซื้อมาใช้เองได้
ความสามารถของซอฟต์แวร์ที่พูดถึงนี้อยู่ในระดับสูงกว่าที่เราใช้กันตามบ้านหรือตามบริษัทอยู่มาก ทั้งหมดนั้นก็มาจากการใช้งานซอฟต์แวร์พื้นฐานเสียจนทะลุปรุโปร่ง จนเกิดความต้องการซอฟต์แวร์ที่มีความเฉพาะตัวและถูกต้องกับการใช้งานเฉพาะทางนั้นมากขึ้น
ศิลปินอังกฤษ กลุ่ม United Visual Artists ผู้มีผลงานด้านประติมากรรมไฟและโครงสร้างที่เป็นที่ฮือฮา มีโอกาสได้ทำโชว์ให้กับ U2 วงร็อกชื่อดัง จึงเป็นที่มาของการพัฒนาซอฟต์แวร์สำหรับทำโชว์ ซึ่งรวบรวมขีดความสามารถในการควบคุมอุปกรณ์ที่หลากหลาย อาทิ โปรเจกเตอร์ ไฟ กล้อง เสียง ไว้ในที่เดียวกันเพื่อให้เกิดความแม่นยำ
ในขณะที่นักออกแบบอย่าง Muir McNeil ทดลองออกแบบหน้าปกนิตยสาร Eye Magzine ฉบับที่ 87 จำนวน 8,000 copiesให้แต่ละเล่มออกมาไม่ซ้ำกันเลยสักปก และมันเกิดขึ้นจากการเขียนโปรเแกรม
หน้าตาที่สวยงามของระบบปฏิบัติการ (Operating System หรือ OS) อย่างที่เราใช้กันทุกวันนี้ก็เดินทางมาไกลมาก ย้อนไป 20 ปีที่แล้ว หลายคนคงลืมไปว่ายุคนั้นเวลาต้องการสั่งคำสั่งอะไรสักอย่างบนคอมพิวเตอร์ก็ต้องพิมพ์คำสั่งผ่านระบบที่เรียกว่า DOS เพื่อใช้เปิดโปรแกรม สั่งคัดลอกไฟล์ หรือลบไฟล์
เบื้องหลังการทำงานของกราฟิกในระบบปฏิบัติการเหล่านี้ ก็คือการทำงานของโค้ดหลายหมื่นบรรทัด ในวันที่เราเพียงเลื่อนเมาส์หรือนิ้วมือเพื่อออกคำสั่งที่ต้องการนั้น นักพัฒนาซอฟต์แวร์คือผู้มีอุปการคุณให้เราทุกคนได้ใช้งานระบบที่ง่ายขึ้นเรื่อยๆ
ในปี 2001 Casey Reas และ Ben Fry สองนักพัฒนาและผู้ค้นพบภาษา Processing (Processing.org) ได้พัฒนาภาษานี้ขึ้นเพื่อให้ง่ายต่อการทำงานของศิลปิน นักออกแบบ โดยมีพื้นฐานมาจากภาษา Java ที่เน้นไปที่การประมวลผลกราฟิกและภาพเคลื่อนไหว โดยที่พวกเขาเปิดให้เราได้ลองพัฒนากันแบบฟรีๆ นับเป็นสเต็ปสำคัญที่อนุญาตให้นักออกแบบเริ่มต้นด้วยการสร้างซอฟต์แวร์ขึ้นเพื่อช่วยในการประมวลผล รวมทั้งสร้างรูปแบบของซอฟต์แวร์เฉพาะทางที่เหมาะกับตัวเองได้อย่างรวดเร็ว ก่อนที่จะพัฒนาให้มีประสิทธิภาพมากขึ้นด้วยภาษาอื่น ที่ยากและซับซ้อนไปอีกหลายขั้น
ทั้งที่มีนักพัฒนาซอฟต์แวร์ที่ช่วยเราเรื่องพวกนี้อยู่แล้ว ทำไมเราถึงต้องสนใจการเขียนโค้ด?
สำหรับผู้เขียนแล้วการเขียนโค้ดมีความสำคัญที่สุดในแง่ของลำดับขั้น และการมองทุกสิ่งทุกอย่างที่เป็นเหตุเป็นผล เช่นเดียวกับวิชาคณิตศาสตร์ ที่ไม่ได้มุ่งไปที่การหาคำตอบ แต่เป็นวิธีการที่จะช่วยให้ไปถึงผลลัพธ์มากกว่า
10 ปีที่ผ่านมา นอกจากการพัฒนาซอฟต์แวร์จะช่วยให้เราสะดวกขึ้นแทบทุกอย่างในชีวิตประจำวันแล้ว งานศิลปะและการออกแบบก็มีทางเลือกให้เราทดลองอะไรได้หลายมิติมากขึ้น จากข้อมูลที่นักออกแบบต้องนำมาจัดเรียงเป็นค่าตายตัว (Static) ก็เปลี่ยนเป็นการประมวลผลแบบทันที (Real time processing) ทำให้ในเชิงรูปแบบมีความเปลี่ยนแปลงอยู่ตลอดเวลา (Dynamic)
และก็เป็นหนึ่งในปัจจัยที่ทำให้นักออกแบบต้องปรับตัว เมื่อวิธีการเปลี่ยน ก็จะส่งผลมาถึงสื่อที่จะใช้รองรับความเปลี่ยนแปลงนี้
นักออกแบบจำนวนไม่น้อยที่เรียนจบมาทางออกแบบนิเทศศิลป์มักเป็นพวกที่ไม่เอาวิชาคำนวณ ส่วนมากทิ้งความรู้และวิธีคิดแบบคณิตศาสตร์ไปแล้วตั้งแต่สมัยมัธยมปลาย แต่ในขณะเดียวกันก็ยังมีนักออกแบบอีกหลายคนที่เชื่อว่าการออกแบบไม่ได้มาจากแค่การสร้างแรงบันดาลใจ งานออกแบบมาจากเรื่องของเหตุและผล วิธีคิดแบบคณิตศาสตร์เองเป็นส่วนหนึ่งของการสร้างชุดเหตุและผล ฝึกฝนเราให้เข้าใจกับลำดับขั้นและอาจทำให้นักออกแบบที่มีสกิลแบบนี้มีสิ่งอื่นที่นักออกแบบประเภทที่ปฏิเสธตรรกะและวิชาคำนวณไม่มีก็ได้
ความงามของการเขียนโค้ดไม่ใช่เพียงแค่การเข้ารหัสอย่างเป็นลำดับ การย่อหน้า เว้นวรรค หรือการแสดงผลเป็นสีที่หลากหลายเพื่อจำแนกหมวดของภาษาคอมพิวเตอร์เท่านั้น แต่มันคือความสวยงามในการถ่ายทอดความคิดของมนุษย์ออกมาเป็นรหัสสากลที่สามารถอ่านได้อย่างเป็นลำดับขั้นตอน และไม่เพียงแต่จะอ่านสิ่งที่ผู้เขียนเป็นคนคิด แต่โค้ดเหล่านั้นมีความเป็นไปได้ที่จะเกิดการต่อยอดเพื่อให้สมบูรณ์แบบขึ้นไปอีก และนี่คือความงามที่มีโอกาสช่วยพัฒนาให้นักออกแบบมีศักยภาพเพิ่มมากขึ้น