Published Article
October 7, 2019

โค้ดดิ้ง: ความงามของการจัดระเบียบที่นักออกแบบไม่อยากรู้

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

โค้ดดิ้ง: ความงามของการจัดระเบียบที่นักออกแบบไม่อยากรู้

คัดลอกมาจากบทความที่เขียนให้กับเว็บไซต์ สมาคมนักออกแบบเรขศิลป์ไทย (ThaiGa)

ย้อนไปช่วงศตวรรษที่ 20 คอมพิวเตอร์ถูกนำมาใช้งานเพื่อการถอดรหัส คำนวณหาผลลัพธ์ที่แม่นยำ เพื่อช่วยในสงครามและข่าวกรอง เครื่องที่โด่งดังมากๆ ก็คือ อีนีแอค (ENIAC) ย่อมาจาก Electronic Numerical Integrator and Computer ถือเป็นอุปกรณ์อิเล็กทรอนิกส์เครื่องแรกที่ผลิตขึ้นในสหรัฐอเมริกา

ENIAC (Image courtesy from Wikipedia)
ENIAC (Image courtesy from Wikipedia)

นวัตกรรมนี้ถูกส่งต่อไปยัง อลัน เทอริ่ง (Alan Turing) โดยเขาได้นำเสนอเครื่องมือที่เรียบง่ายกว่า ที่มีชื่อว่า Universal Computing Machine หรือที่ทุกวันนี้รู้จักกันในชื่อ Universal Turing Machine ซึ่งสามารถปรับเปลี่ยนวิธีการโปรแกรมได้ในภายหลัง

Universal Turing Machine (Image courtesy from Wikipedia)

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

หน้าตาของระบบปฏิบัติการ Windows 3.1 โดย Microsoft
Original 1984 Macintosh Desktop. (Wikipedia)
หน้าตาของระบบปฏิบัติการ "Classic" Mac OS 9 (Wikipedia)

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

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

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

ในยุคที่อุปกรณ์ที่ใช้งานยังไม่แพร่หลาย เรามีเพียงแค่จอคอมพิวเตอร์ที่มีขนาด 800x600pixel หรือใหญ่กว่านั้นเล็กน้อย ทำให้การทำเว็บไซต์เปรียบเสมือนผ้าใบดิจิทัลของนักออกแบบกราฟิกในช่วงนั้น การสร้างภาพแบบมัลติมีเดียโดยการใช้โปรแกรมแฟลช (Flash) ถือเป็นเรื่องที่น่าตื่นเต้นมาก เพราะนักออกแบบสามารถออกแบบกราฟิก ทำแอนิเมชั่น และเขียนโค้ดเล็กน้อยเพื่อให้แสดงผลงานได้อย่างมีมิติมากขึ้น

เมื่อเข้าสู่ยุคที่โทรศัพท์มือถือเข้าสู่ยุค 2.5G แอปเปิ้ลได้ออกผลิตภัณฑ์ใหม่ที่เป็นจุดเปลี่ยนมาจนถึงทุกวันนี้มีชื่อว่า iPhone เป็นการรวม เครื่องเล่นเพลง (iPod) โทรศัพท์ (Phone) และอุปกรณ์ใช้งานอินเตอร์เน็ต (Internet Communication Device)

iPhone (2007)

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

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

Facebook Data Center, Singapore
Inside Facebook Data Center, Sweden
Google Data Center

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

'TensorFlow' Google Cloud Machine Learning Platform

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

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

บริษัทที่ใหญ่ระดับโลกอย่าง Digital Domain ผู้อยู่เบื้องหลังภาพยนตร์ฟอร์มยักษ์หลายเรื่อง ได้พัฒนาซอฟต์แวร์ที่ชื่อว่า Nuke ซึ่งช่วยในการจัดการภาพหนังด้วยเทคนิคพิเศษ (Visual FX) นอกจากนี้ก็ยังพัฒนาและคิดค้นซอฟต์แวร์ที่ช่วยอำนวยความสะดวกให้กับทีมงาน จนกลายมาเป็นซอฟต์แวร์แบบที่คนทั่วไปสามารถซื้อมาใช้เองได้

The Foundry Nuke software interface

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

ศิลปินอังกฤษ กลุ่ม United Visual Artists ผู้มีผลงานด้านประติมากรรมไฟและโครงสร้างที่เป็นที่ฮือฮา มีโอกาสได้ทำโชว์ให้กับ U2 วงร็อกชื่อดัง จึงเป็นที่มาของการพัฒนาซอฟต์แวร์สำหรับทำโชว์ ซึ่งรวบรวมขีดความสามารถในการควบคุมอุปกรณ์ที่หลากหลาย อาทิ โปรเจกเตอร์ ไฟ กล้อง เสียง ไว้ในที่เดียวกันเพื่อให้เกิดความแม่นยำ

Disguise (D3) from United Visual Artists
Disguise (D3) from United Visual Artists

ในขณะที่นักออกแบบอย่าง Muir McNeil ทดลองออกแบบหน้าปกนิตยสาร Eye Magzine ฉบับที่ 87 จำนวน 8,000 copiesให้แต่ละเล่มออกมาไม่ซ้ำกันเลยสักปก และมันเกิดขึ้นจากการเขียนโปรเแกรม

Eyes magazine: Cover design by Muir McNeil
Eyes magazine: Cover design by Muir McNeil
Eyes magazine: Cover design by Muir McNeil

หน้าตาที่สวยงามของระบบปฏิบัติการ (Operating System หรือ OS) อย่างที่เราใช้กันทุกวันนี้ก็เดินทางมาไกลมาก ย้อนไป 20 ปีที่แล้ว หลายคนคงลืมไปว่ายุคนั้นเวลาต้องการสั่งคำสั่งอะไรสักอย่างบนคอมพิวเตอร์ก็ต้องพิมพ์คำสั่งผ่านระบบที่เรียกว่า DOS เพื่อใช้เปิดโปรแกรม สั่งคัดลอกไฟล์ หรือลบไฟล์

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

ในปี 2001 Casey Reas และ Ben Fry สองนักพัฒนาและผู้ค้นพบภาษา Processing (Processing.org) ได้พัฒนาภาษานี้ขึ้นเพื่อให้ง่ายต่อการทำงานของศิลปิน นักออกแบบ โดยมีพื้นฐานมาจากภาษา Java ที่เน้นไปที่การประมวลผลกราฟิกและภาพเคลื่อนไหว โดยที่พวกเขาเปิดให้เราได้ลองพัฒนากันแบบฟรีๆ นับเป็นสเต็ปสำคัญที่อนุญาตให้นักออกแบบเริ่มต้นด้วยการสร้างซอฟต์แวร์ขึ้นเพื่อช่วยในการประมวลผล รวมทั้งสร้างรูปแบบของซอฟต์แวร์เฉพาะทางที่เหมาะกับตัวเองได้อย่างรวดเร็ว ก่อนที่จะพัฒนาให้มีประสิทธิภาพมากขึ้นด้วยภาษาอื่น ที่ยากและซับซ้อนไปอีกหลายขั้น

Processing Website
Processing IDE

ทั้งที่มีนักพัฒนาซอฟต์แวร์ที่ช่วยเราเรื่องพวกนี้อยู่แล้ว ทำไมเราถึงต้องสนใจการเขียนโค้ด?

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

10 ปีที่ผ่านมา นอกจากการพัฒนาซอฟต์แวร์จะช่วยให้เราสะดวกขึ้นแทบทุกอย่างในชีวิตประจำวันแล้ว งานศิลปะและการออกแบบก็มีทางเลือกให้เราทดลองอะไรได้หลายมิติมากขึ้น จากข้อมูลที่นักออกแบบต้องนำมาจัดเรียงเป็นค่าตายตัว (Static) ก็เปลี่ยนเป็นการประมวลผลแบบทันที (Real time processing) ทำให้ในเชิงรูปแบบมีความเปลี่ยนแปลงอยู่ตลอดเวลา (Dynamic)

และก็เป็นหนึ่งในปัจจัยที่ทำให้นักออกแบบต้องปรับตัว เมื่อวิธีการเปลี่ยน ก็จะส่งผลมาถึงสื่อที่จะใช้รองรับความเปลี่ยนแปลงนี้

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

Apple Xcode interface

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