ความแตกต่างระหว่าง Software, Application, และ Program

พอดีวันก่อนมีคนถามว่า Software, Application, และ Program นี่มันแตกต่างกันยังไง

ก่อนจะอธิบายด้วยคำพูด มาดูรูปกันก่อนดีกว่าครับ

จากภาพข้างต้นแสดงให้เห็นว่า ระบบคอมพิวเตอร์ (Computer System) ประกอบไปด้วย

– Hardware หรือ Machine นั่นเอง โดยอาจเป็นเครื่องจริงๆ หรือ Virtual Machine เช่น VMware/VirtureBox/VirtualPC ก็ได้

– Software ที่ทำงานอยู่ใน Hardware ข้างต้น ไม่ว่าจะเป็น OS เช่น Windows/Linux/Mac หรือ Game, Web Browser ก็ล้วนแต่เป็น Software

– Program คือส่วนย่อยของ Software กล่าวคือ Software หนึ่งตัวจะประกอบขึ้นมาจาก Program หลายๆตัวนั่นเอง ถ้าใน Software Project ขนาดใหญ่ เราอาจจะได้ยินการประเมิณว่าใน Software ตัวนี้มี Program ย่อยทั้งหมดเท่าไหร่

โอเค ดูเหมือนเราจะเริ่มเข้าใจว่า Software และ Program คืออะไร แล้ว Application ล่ะ?

ก็ขอยกภาพมาให้ดูก่อนที่จะอธิบายด้วยคำพูดเหมือนเดิม

จากภาพข้างต้นแสดงให้เห็นว่า ประเภทของ Software นั้นมีมากมายหลายแบบ รวมไปถึง Application ก็เป็นหนึ่งในประเภทของ Software

โดย Application นั้นคือ Software ที่ใช้เพื่อช่วยการทำงานของผู้ใช้ (User) ดังนั้น Application จะต้องมีสิ่งที่เรียกว่า ส่วนติดต่อกับผู้ใช้ (User Interface หรือ UI)

นอกจากนี้เรายังสามารถแบ่ง Application ออกเป็นประเภทย่อยๆ ตามสภาพแวดล้อมการทำงาน (Environment หรือ Platform) ของมัน เช่น

– Desktop Application คือ Application ที่ทำงานบนเครื่อง Desktop Computer เช่น PC หรือ Mac เป็นต้น

– Mobile Application คือ Application ที่ทำงานบน Mobile Device เช่น โทรศัพท์มือถือ เป็นต้น

– Web Application คือ Application ที่ทำงานบน Web เช่น Gmail เป็นต้น

โดย Web App อาจแบ่งออกไปอีกเป็น Intranet Application กับ Internet Application โดย Intranet หมายถึงมีการใช้งานแต่ภายในองค์กร ซึ่งตรงข้ามกับ Internet ที่เป็น World Wide Web นั่นเอง

ในยุค Web 2.0 เราอาจได้ยินคำที่พัฒนาต่อมาจาก Internet Application คือ RIA ที่ย่อมาจาก Rich Internet Application โดยหลักการแล้ว RIA คือ Application ที่ยังใช้ Web Technologies แต่มีการพัฒนาให้มี UI ในฝั่ง Client ที่ดีเหมือนๆกับการใช้ Desktop Application เพื่อสร้างประสบการณ์ที่ดีให้กับผู้ใช้ (User Experience หรือ UX) เช่น ไม่มีการ Refresh หน้าจอ มีลูกเล่น Dynamic ในการแสดงผลมากมายกว่า Internet Application แบบเดิมๆ

นอกจากนี้เราอาจเคยได้ยินคำที่เกี่ยวของกับ Application ตามมามากมาย เช่น

– iPhone Application คือ Application ที่ทำงานอยู่บน iPhone OS

– Facebook Application คือ Application ที่ทำงานอยู่บน Facebook Platform

– Google App Engine คือ ระบบ Cloud ของ Google เพื่อรัน Web Application

4 thoughts on “ความแตกต่างระหว่าง Software, Application, และ Program

  1. พอจะมีอ้างอิงไหมครับ หรือถ้าผมไม่เห็น ช่วยบอกด้วยครับ

Leave a Reply

Your email address will not be published. Required fields are marked *