อ่าน 5 นาที
ความเรียบง่าย (ด้านคอมพิวเตอร์)
ในด้านคอมพิวเตอร์ลัทธิมินิมัลลิสต์คือการประยุกต์ใช้ ปรัชญาและหลักการ แบบมินิมัลลิสต์ในการออกแบบและการใช้งานฮาร์ดแวร์และซอฟต์แวร์ในความหมายนี้
ความเรียบง่าย (ด้านคอมพิวเตอร์)
ในด้านคอมพิวเตอร์ลัทธิมินิมัลลิสต์คือการประยุกต์ใช้ ปรัชญาและหลักการ แบบมินิมัลลิสต์ในการออกแบบและการใช้งานฮาร์ดแวร์และซอฟต์แวร์ในความหมายนี้ มินิมัลลิสต์หมายถึงการออกแบบระบบที่ใช้ทรัพยากรฮาร์ดแวร์และซอฟต์แวร์ให้น้อยที่สุดเท่าที่จะเป็นไปได้
ประวัติศาสตร์
ในช่วงปลายทศวรรษ 1970 และต้นทศวรรษ 1980 โปรแกรมเมอร์ทำงานภายใต้ข้อจำกัดของทรัพยากร ที่มีราคาค่อนข้างสูงและจำกัด ของแพลตฟอร์มทั่วไป หน่วย ความ จำ RAMขนาด 8 หรือ 16 กิโลไบต์เป็นเรื่องปกติ 64 กิโลไบต์ถือว่ามีปริมาณมหาศาลและเป็นพื้นที่แอดเดรส ทั้งหมด ที่สามารถเข้าถึงได้โดย ซีพียู 8 บิตซึ่งเป็นซีพียูหลักในช่วงแรกๆ ของคอมพิวเตอร์ส่วนบุคคล สื่อจัดเก็บข้อมูลที่ใช้กันทั่วไปคือฟลอปปี้ดิสก์ ขนาด 5.25 นิ้ว ซึ่งมีความจุตั้งแต่ 88 ถึง 170 กิโลไบต์ ฮาร์ดไดรฟ์ที่มีความจุตั้งแต่ 5 ถึง 10 เมกะไบต์มีราคาสูงถึงหลายพันดอลลาร์
เมื่อเวลาผ่านไป ความจุของหน่วยความจำคอมพิวเตอร์ส่วนบุคคลได้ขยายตัวอย่างมหาศาล และโปรแกรมเมอร์กระแสหลักได้ใช้ประโยชน์จากพื้นที่จัดเก็บข้อมูลที่เพิ่มขึ้นเพื่อเพิ่มขีดความสามารถของซอฟต์แวร์และทำให้การพัฒนาทำได้ง่ายขึ้นโดยใช้ภาษาโปรแกรมระดับสูงในทางตรงกันข้ามความต้องการของระบบสำหรับซอฟต์แวร์รุ่นเก่านั้นยังคงเหมือนเดิม ส่งผลให้แม้แต่โปรแกรมที่ซับซ้อนและมีฟีเจอร์มากมายในอดีตก็ดูเรียบง่ายเมื่อเทียบกับซอฟต์แวร์ในปัจจุบัน
ตัวอย่างหนึ่งของโปรแกรมที่มีความต้องการระบบสูงจนเคยมีชื่อเสียงว่าเป็นโปรแกรมขนาดใหญ่คือโปรแกรมแก้ไขข้อความGNU Emacs ซึ่งได้รับ ฉายาว่า "แปดเมกะไบต์และสลับข้อมูลตลอดเวลา" ในยุคที่ 8 เมกะไบต์ถือว่าเป็นแรมจำนวนมาก[ 1 ]ปัจจุบัน รูปแบบการทำงานของ Emacs ที่ ใช้ บัฟเฟอร์ ข้อความเป็นหลักนั้น ใช้ทรัพยากรน้อยกว่าIDE แบบ GUI บนเดสก์ท็อป ที่มีคุณสมบัติเทียบเคียงได้ เช่นEclipseหรือNetbeans มาก ในการกล่าวสุนทรพจน์ในงานประชุม International Lisp Conference ปี 2002 Richard Stallmanระบุว่าความเรียบง่ายเป็นสิ่งที่เขาคำนึงถึงในการพัฒนาGNUและ Emacs โดยอิงจากประสบการณ์ของเขากับLisp และข้อกำหนดของระบบของ มินิคอมพิวเตอร์ระดับล่างในขณะนั้น[ 2 ]
เนื่องจากความสามารถและข้อกำหนดของระบบของซอฟต์แวร์เดสก์ท็อปและระบบปฏิบัติการทั่วไปเติบโตขึ้นตลอดช่วงทศวรรษ 1980 และ 1990 และเนื่องจากการพัฒนาซอฟต์แวร์ถูกครอบงำโดยทีมที่ยึดถือวิธีการพัฒนาซอฟต์แวร์ ที่ขัดแย้งและทันสมัย นักพัฒนาบางคนจึงนำแนวคิดมินิมัลลิสต์มาใช้เป็นปรัชญาและเลือกที่จะจำกัดโปรแกรมของตนให้มีขนาดหรือขอบเขตที่กำหนดไว้ล่วงหน้า[ 3 ]การมุ่งเน้นไปที่การเพิ่มประสิทธิภาพซอฟต์แวร์สามารถส่งผลให้เกิดซอฟต์แวร์แบบมินิมัลลิสต์ได้ เนื่องจากโปรแกรมเมอร์ลดจำนวนการดำเนินการที่โปรแกรมดำเนินการลงเพื่อเพิ่มความเร็วในการทำงาน[ 4 ]
ในช่วงต้นศตวรรษที่ 21 การพัฒนาใหม่ๆ ในด้านคอมพิวเตอร์ได้นำแนวคิดมินิมัลลิสต์มาสู่แถวหน้า ในสิ่งที่เรียกว่ายุคหลังพีซีไม่จำเป็นต้องซื้อคอมพิวเตอร์ส่วนบุคคลระดับสูงเพียงเพื่อทำงานประมวลผลทั่วไปอีกต่อไป[ 5 ] อุปกรณ์ คอมพิวเตอร์พกพาเช่นสมาร์ทโฟนแท็บเล็ตเน็ตบุ๊กและคอมพิวเตอร์แบบเสียบ ปลั๊ก มักมีหน่วยความจำน้อยกว่า ระบบกราฟิกที่มีประสิทธิภาพน้อยกว่า และโปรเซสเซอร์ที่ช้ากว่าเมื่อเทียบกับคอมพิวเตอร์ส่วนบุคคลที่คาดว่าจะมาแทนที่ นอกจากนี้ การใช้เอฟเฟกต์กราฟิกอย่างหนัก เช่นการผสมอัลฟ่าจะทำให้แบตเตอรี่หมดเร็วกว่า "UI แบบเรียบ" [ 6 ]ความนิยมที่เพิ่มขึ้นของอุปกรณ์เหล่านี้ทำให้มินิมัลลิสต์กลายเป็นประเด็นสำคัญในการออกแบบ

ในWindows 8ไมโครซอฟต์ได้ นำรูปลักษณ์ Metroที่ "เรียบง่ายและเป็นเหลี่ยม" มาใช้ซึ่งใช้กราฟิกน้อยกว่า อินเทอร์เฟซ Aeroที่ใช้ในWindows 7และWindows Vista ก่อนหน้านี้ การเปลี่ยนแปลงนี้เกิดขึ้นส่วนหนึ่งเนื่องจากการเพิ่มขึ้นของอุปกรณ์ขนาดเล็กที่ใช้แบตเตอรี่และความจำเป็นในการประหยัดพลังงาน[ 7 ] [ 8 ] [ 9 ] iOSเวอร์ชัน 7 ของApple ได้ทำการเปลี่ยนแปลงที่คล้ายกันด้วยเหตุผลด้านประสบการณ์ผู้ใช้[ 10 ]
เบราว์เซอร์ ChromeของGoogleและChromeOSมักถูกยกมาเป็นตัวอย่างของการออกแบบที่เรียบง่าย[ 11 ] [ 12 ]
การใช้งาน
นักพัฒนาอาจสร้างส่วนติดต่อผู้ใช้ให้เรียบง่ายที่สุดเท่าที่จะเป็นไปได้ โดยการกำจัดปุ่มและกล่องโต้ตอบที่อาจทำให้ผู้ใช้สับสน ความเรียบง่ายบางครั้งถูกนำมาใช้ในความ หมายของศิลปะโดยเฉพาะอย่างยิ่งในการออกแบบอุตสาหกรรมของอุปกรณ์ฮาร์ดแวร์หรือซอฟต์แวร์
นักพัฒนาบางคนพยายามสร้างโปรแกรมเพื่อทำหน้าที่เฉพาะอย่างโดยใช้โค้ดน้อยที่สุด หรือขนาดไฟล์ปฏิบัติการที่คอมไพล์แล้วเล็กที่สุดเท่าที่จะเป็นไปได้บนแพลตฟอร์มที่กำหนด[ 13 ] [ 14 ] การแจกจ่าย Linuxบางระบบกล่าวถึงความเรียบง่ายเป็นเป้าหมายAlpine , Arch , Puppy , Bodhi , CrunchBang , dynebolic [ 15 ]และTiny Coreเป็นตัวอย่าง การพัฒนา ระบบ Unix ในช่วงแรก เกิดขึ้นบนฮาร์ดแวร์ที่มีกำลังต่ำ และDennis RitchieและKen Thompsonได้แสดงความคิดเห็นว่าข้อจำกัดนี้มีส่วนทำให้ระบบมี "ความสง่างามในการออกแบบ" [ 16 ]
นักออกแบบ ภาษาโปรแกรมสามารถสร้างภาษาโปรแกรมขั้นต่ำได้โดยการละเว้นไวยากรณ์ที่อำนวยความสะดวกและฟังก์ชันไลบรารี ที่กว้างขวาง ภาษาดังกล่าวอาจเป็นกับดักของทัวริงเนื่องจากไม่ได้ให้การสนับสนุนมาตรฐานสำหรับงานเขียนโปรแกรมทั่วไป การสร้างตัวแปลภาษา Lisp ขั้นต่ำ เป็นงานการเรียนรู้ทั่วไปที่มอบหมายให้กับนักศึกษาวิทยาการคอมพิวเตอร์[ 17 ]แคลคูลัสแลมบ์ดาที่พัฒนาโดยAlonzo Churchเป็นภาษาโปรแกรมขั้นต่ำที่ใช้เฉพาะคำจำกัดความของฟังก์ชันและการประยุกต์ใช้ฟังก์ชัน[ 18 ] [ 19 ] Scheme [ 20 ] [ 21 ] Forth [ 22 ]และGo [ 23 ] [ 24 ]ถูกอ้างถึงว่าเป็นตัวอย่างของภาษาโปรแกรมขั้นต่ำที่ใช้งาน ได้จริง
งานอดิเรกการเขียนโปรแกรมแบบcode golfส่งผลให้เกิดซอฟต์แวร์แบบมินิมัลลิสต์[ 25 ]แต่โดยทั่วไปแล้วสิ่งเหล่านี้เป็นเพียงแบบฝึกหัดหรือบทกวีโค้ดไม่ใช่ซอฟต์แวร์แอปพลิเคชันที่ใช้งานได้
จอห์น มิลลาร์ แคร์โรลล์ในหนังสือMinimalism Beyond the Nürnberg Funnel ของเขา ชี้ให้เห็นว่าการใช้แนวคิดมินิมัลลิสม์ส่งผลให้เกิดอุปกรณ์ที่ "ใช้งานได้ทันที" เช่น วิดีโอเกมตู้เอทีเอ็มเครื่องลงคะแนนเสียงและตู้คีออสก์ในห้างสรรพสินค้า โดยไม่ต้อง เรียนรู้วิธี การใช้งาน มากนักและผู้ใช้ไม่จำเป็นต้องอ่านคู่มือ[ 26 ]นักวิจัยด้านส่วนต่อประสานผู้ใช้ได้ทำการทดลองที่แสดงให้เห็นว่า มินิมัลลิสม์ ดังที่แสดงให้เห็นโดยหลักการออกแบบของความประหยัดและความโปร่งใสช่วยเพิ่มประสิทธิภาพและความสามารถในการเรียนรู้[ 27 ]แนวคิดมินิมัลลิสม์แฝงอยู่ในปรัชญาของ Unixที่ว่า "ทุกอย่างเป็นกระแสข้อความ" และ "ทำสิ่งเดียวและทำมันให้ดี" แม้ว่าการแจกจ่าย Unix/Linux สมัยใหม่จะไม่ยึดมั่นในปรัชญานี้อย่างเคร่งครัดก็ตาม[ 28 ]
ดูเพิ่มเติม
- โค้ดที่บวม
- การปรับโครงสร้างโค้ดใหม่
- กระชับ : สั้น กระชับ
- อย่าพูดซ้ำซาก
- การเพิ่มฟีเจอร์มากเกินไป
- หลักการ KISS (Keep It Simple, Stupid)
- ระบบปฏิบัติการลินุกซ์ที่มีน้ำหนักเบา
- มุนท์ซิง
- หลักการพาเรโตกฎ 80:20
- หลักแห่งอำนาจน้อยที่สุด
- ซอฟต์แวร์ที่ใหญ่เกินไป
- ปรัชญาของยูนิก
- กฎของเวิร์ธ
- ยิ่งแย่ยิ่งดี
- กฎการห่อหุ้มซอฟต์แวร์ของซาวินสกี
- กรีนบราวเซอร์