ถึงแม้ทุกวันนี้ เทคโนโลยีจะกลายเป็นส่วนนึงของชีวิตประจำวันไปแล้ว แต่นักออกแบบหลาย ๆคนพอได้ยินคำว่า Code เป็นต้องหันหน้าหนี แต่ขอให้ใจเย็น ๆ สูดหายใจลึก ๆ ก่อน เพราะมาดูจริงๆแล้ว ทุกวันนี้ไม่ว่าจะสถาปนิก หรือ กราฟิกดีไซเนอร์ ก็มีคนที่เขียนโค้ดได้ซ่อนอยู่ แม้จะจำนวนไม่เยอะ แต่คนเหล่านี้นี่แหละที่สร้างโอกาส และงานเจ๋งๆใหม่ๆอยู่เสมอ เพราะการเขียนโค้ดมันทำให้การทำงานของเราง่ายขึ้นแถมเจ๋งยิ่งกว่าเดิม
วันนี้ลองมาดูทั้ง 5 เหตุผลดีๆ ของการเขียน Code เป็นก่อน เผื่อจะเปลี่ยนใจหันมาหลงรักการเขียนโปรแกรมก็เป็นได้
1. NEW SYSTEM TO SOLVE PROBLEMS : ช่วยให้มีการคิดวิเคราะห์ปัญหาอย่างมีระบบ
การเขียนโปรแกรมช่วยทำให้เราคิดวิเคราะห์อย่างมีระบบ และมีApproach ใหม่ๆในการเข้าไปจัดการกับโจทย์ปัญหา
การเขียนโปรแกรมจริงๆเหมือนเป็นการก่อสร้างชนิดหนึ่ง แต่เป็นการสร้างเงื่อนไขในการก่อสร้าง ไม่ได้ปั้นมาลอยๆตามอารมณ์ แต่มาจากเหตุผลและเป้าหมายที่จะทำ ในขณะที่สร้างระบบนี้เพื่อให้เราสามารถพัฒนางานออกแบบและใช้ความคิดสร้างสรรค์ของเราได้อย่างมีระบบ และหลุดพ้นจากข้อจำกัดเก่าๆรูป : ผลงาน “Sustained Silent Reading (2010)” ของ Jer Thorp จาก blog.blprnt.com/
หากเราต้องการแสดงข้อมูลที่มีความซับซ้อนมาก อีรุงตุงนังพันกันมั่วไปหมด กว่าจะได้ลองว่าจะจัดข้อมูลยังไงให้อ่านง่าย และเอามาวิเคราะห์ต่อให้ตรงจุด บางทีก็จะเสียเวลามากเกินไปถ้าเราไปใช้แค่ Illustrator ในการทำ แต่การเอาเรื่องของการเขียน Code มาช่วยทำให้เราสามารถแสดงผลที่โปรแกรมยังมีข้อจำกัด และแสดงได้แค่ไม่กี่มิติ ที่ถ้าทำใน Illustrator ก็ไม่ละเอียดและไม่ Accurate เพราะบางทีก็เป็นการ “กะกะเอา” ถ้าคนที่ออกแบบ Data Visualization จริงๆอย่าง ต้องเขียน Code เป็น
ยกตัวอย่าง งาน Data Visualization กันดีกว่า รูป : ผลงาน “Sustained Silent Reading (2010)” ของ Jer Thorp จาก blog.blprnt.com/
ลองดูงานของ Jer Thorp เจ้าของเว็บไซท์ http://blog.blprnt.com/ Jer เป็น Data Visualization Artist ที่เขียนโปรแกรม และใช้เทคโนโลยีมาแสดงข้อมูลภาพ
2. MAKE IT POSSIBLE : ช่วยทำให้เรื่องยาก หรือเป็นไปไม่ได้ ให้กลายเป็นเรื่องง่ายและเป็นไปได้
ที่มาภาพ : www.arturotedeschi.com
การใช้ระบบ Algorithm หรือการคำนวณทางคณิตศาสตร์เข้ามาเป็นระบบในการคิด(ที่เราไม่ต้องคิดเอง) ทำให้ช่วยลดเวลา แถมสร้างโอกาสในการสร้างสรรค์สิ่งใหม่ๆ โดยเฉพาะการต้องใช้งานบางคำสั่งที่ทำซ้ำๆ แต่มีการใส่เงื่อนไขลงไป เช่นบางครั้งถ้าให้เรามานั่ง Copy Paste ต้นไม้ 10 ต้นเราอาจจะทำได้ แต่ถ้าให้ ทำเป็น 1000 ต้น ก็คงจะไม่ไหวพิมพ์ทีเดียวจบ ง่ายกว่า
หรือสมมติมีกำแพงทั้งหมด 100m แต่อยากจะค่อยๆลดระดับไปเป็นขั้นๆ ถ้าเรามานั่งลดทีละเมตรๆ เสียเวลาตาย แต่ถ้าเราเขียนโปรแกรมให้ทำแทน เราก็ไม่ต้องเสียเวลา เสียแรงนั่งกดเองเลย แถมเรายังสามารถลอง Experiment รูปแบบอื่นๆได้อีก
อย่างใน AutoCAD ก็มี Lisp routine ที่เป็นการสร้างคำสั่งใหม่ๆที่ไม่ได้มากับโปรแกรมที่ทำให้ชีวิตเราง่ายขึ้น เพียงแต่เราจะรอชาวบ้านเค้าเขียน Lisp routine มาหรือจะเขียนเอง
ตัวอย่าง
“Algorithmic design is not simply the use of computer to design architecture and objects. Algorithms allow designers to overcome the limitations of traditional CAD software and 3D modelers, reaching a level of complexity and control which is beyond the human manual ability”.
Arturo Tedeschi
3.TIME EFFICIENCY : ไม่เสียเวลา
ไม่เสียเวลา หรือต้องพึ่งพา programmer ทำเองแม่งเลย
งานบางงาน ต้องเขียนโปรแกรม ถึงจะทำได้ แต่ถ้าเราทำเองไม่เป็น เราก็ต้องเสียเวลารอให้ programmer มาทำให้ แต่ถ้าเราเป็นเอง เราก็สามารถลดเวลา หรือลดค่าใช้จ่ายลงได้ เพราะค่าจ้าง programmer ใครๆก็รู้ว่าแพงใช่ได้เลย
4. IT’S FUN : เข้าใจ และ สนุกไปกับ technology
เราอยู่ในยุคที่เทคโนโลยีเป็นส่วนนึงของชีวิตเราแล้ว การที่เราเริ่มเรียนการเขียนโปรแกรมจึงไม่ใช่เรื่องแปลก และยุ่งยากอีกต่อไป โดยเฉพาะภาษาใหม่ ๆ ที่เพิ่งถูกพัฒนา และเพิ่งถูกนำมาใช้นั้น เค้าออกแบบมาให้ เขียนได้ง่ายขึ้น ศึกษาได้ง่ายขึ้น ยกตัวอย่างเช่น ภาษา Swift ที่ใช้เขียน iOS app (iPhone App) เมื่อเทียบกับ Objective C ที่เป็นภาษาเก่าแล้ว ง่ายกว่ากันเยอะ
5. IT’S COOL : เท่ดังเทพ
นำเทรนด์ และเท่ดังเทพด้านออกแบบ+เทคโนโลยี
จริงๆแล้วคนที่เขียน Code ที่เป็นนักออกแบบด้วยนี่แหละ ที่เป็นคนนำเทรนด์ และริเริ่มในการสร้าง และทำให้นักออกแบบคนอื่นมีเครื่องมือสร้างอะไรต่อไปได้ อย่าง คุณ John Maeda ที่เขียนหนังสือ The laws of Simplicity และ Creative Code ก็เป็นนักออกแบบที่เขียน Code ได้ ที่สอนที่ MIT, RISD และอีกหลายมหาวิทยาลัย John Maeda ยังกล่าวไว้เองเลยว่า “ถ้าอยากจะอยู่รอดในวงการออกแบบ จงเรียนเขียน Code”ถ้าสนใจไปอ่านเพิ่มเติมได้ที่เว็บไซท์ของเค้าที่ designintechreport.wordpress.com/
ภาพ : Motionpainting ที่ชื่อว่า “Nature” โดย John Maedaที่มา artknowledgenews.com
เวลาพูด Technical Terms แล้วคนอื่นไม่เข้าใจ 55555 ล้อเล่น แต่เราจะดูดีกว่าคนอื่น โดยเฉพาะเวลาเราไปสมัครงานใหม่ เพียงเพราะเราเขียนโปรแกรมเป็น เราก็เหมือนก้าวไปไกลกว่า คนอื่น 1 ก้าวแล้ว เพราะเรามีกุญแจที่เรียกว่าความสามารถพิเศษ ที่ชาวบ้านเค้าไม่มีเพราะมันยาก เรามีโอกาสในมือมากกว่า ถ้าอยากมีก็ต้องเริ่มสร้าง
Summary
มาถึงจุดนี้แล้ว หลายๆคนจะรู้สึกดีขึ้นเกี่ยวกับการเขียนโปรแกรมแล้วว่ามันไม่ได้น่ากลัวหรือว่ายากอะไรเบอร์นั้น ถ้าคุณอยากอยู่เหนือคนอื่น 1 หรือ หลายก้าว การเขียนโปรแกรมก็เป็นสิ่งนึงที่เราควรจะศึกษาและชำนาญมันให้เร็วที่สุด ไว้คราวหน้าผมจะมาเล่าให้ฟังว่า ภาษาอะไรที่ นักออกแบบอย่างเรา ๆ ควรจะศึกษาบ้าง