นักเรียนหลายคนอาจคุ้นเคยกับคำว่าโปรแกรมเสียเป็นส่วนใหญ่ ก็เนื่องด้วยว่าเป็นคำเรียกภาษาไทยของคำว่าซอฟต์แวร์ (Software) ทั้งนี้ คำอธิบายเกี่ยวกับซอฟต์แวร์สามารถอธิบายได้ว่า เป็นองค์ประกอบของคอมพิวเตอร์ที่เราไม่สามารถสัมผัสจับต้องได้โดยตรง เรียกอีกนัยหนึ่งว่าเป็นชุดคำสั่งหรือโปรแกรม (Program) ที่ถูกเขียนหรือพัฒนาขึ้นมา เพื่อให้คอมพิวเตอร์ทำงานตามความต้องการของผู้เขียนคำสั่ง ทั้งนี้ ซอฟต์แวร์เป็นเสมือนตัวเชื่อมระหว่างผู้ใช้งาน (User) กับคอมพิวเตอร์ (Computer) ให้สามารถเข้าใจกันได้
อีกคำอธิบายหนึ่งกล่าวได้ว่า ซอฟต์แวร์ ก็เป็นส่วนของระบบคอมพิวเตอร์ที่ใช้ในการจัดเก็บและประมวลผลข้อมูล ซอฟต์แวร์นั้นนอกจากจะสามารถใช้งานบนคอมพิวเตอร์ได้แล้ว ยังสามารถใช้งานบนเครื่องใช้ หรืออุปกรณ์อิเล็กทรอนิกส์ อื่น ๆ ได้ เช่น โทรศัพท์มือถือ หรือหุ่นยนต์ในโรงงาน หรือเครื่องใช้ไฟฟ้าต่าง ๆ
นอกจากนี้ซอฟต์แวร์ยังถูกพัฒนาตามวิวัฒนาการทางด้านเทคโนโลยีที่ใช้ในกลุ่มของอุปกรณ์สื่อสารทันสมัยอย่างพวกสมาร์ตโฟน ซึ่งเราเรียกมันว่า แอปพลิเคชัน (Application) ซึ่งจริง ๆ แล้ว มันก็คือซอฟต์แวร์ประเภทหนึ่ง
ประวัติของคำว่า ซอฟต์แวร์ มาจาก จอห์น ดับเบิลยู. เทอร์กีย์ (John W. Turkey) ในปี พ.ศ. 2500 (ค.ศ. 1957) ได้นิยามเรียกใช้คำว่า ซอฟต์แวร์ขึ้นมาเป็นครั้งแรก โดยแนวคิดของซอฟต์แวร์ปรากฏครั้งแรกในเรียงความของแอลัน ทัวริง บิดาของวิทยาการคอมพิวเตอร์ กล่าวกันว่าโปรแกรมคอมพิวเตอร์ชิ้นแรกของโลกเขียนโดยเอดา ไบรอน เป็นโปรแกรมที่ใช้สำหรับเครื่องวิเคราะห์ (analytical engine) ของชาร์ลส แบบเบจ
ในแง่คำอธิบายทางกายภาพ อาจกล่าวได้ว่า ซอฟต์แวร์มีความสัมพันธ์ควบคู่กับคำว่าฮาร์ดแวร์ กล่าวคือซอฟต์แวร์ เป็นชื่อเรียกเพื่อใช้เปรียบต่างกับฮาร์ดแวร์ ซึ่งเป็นลักษณะทางกายภาพในการเก็บและประมวลผลของซอฟต์แวร์ ในคอมพิวเตอร์ซอฟต์แวร์จะถูกเรียกใช้งานในแรมและประมวลผลผ่านซีพียู
ชุดของคำสั่งหรือโปรแกรม จะเป็นลำดับขั้นตอนการทำงานที่เขียนขึ้นด้วยคำสั่งของคอมพิวเตอร์ที่ถูกเขียนหรือพัฒนาด้วยภาษาคอมพิวเตอร์อีกชั้นหนึ่ง คำสั่งเหล่านี้จะเรียงกันเป็นโปรแกรมคอมพิวเตอร์ ที่ทำงานโดยหลักการพื้นฐานของภาษษคอมพิวเตอร์ที่มาจากข้อมูลที่เป็นตัวเลขฐานสอง ซึ่งใช้แทนข้อมูลที่เป็นตัวเลข ตัวอักษร รูปภาพ วีดีโอ และเสียงพูดก็ได้เช่นเดียวกัน
นับจากวันที่คอมพิวเตอร์กำเนิดขึ้น นับเป็นความสำเร็จทางด้านการพัฒนาสมองอัจฉริยะที่ไม่ใช่มนุษย์ โดยใช้ความสามารถของอุปกรณ์อิเล็กทรอนิกส์ในการคิดคำนวณแทนสมองของมนุษย์ ทั้งนี้คอมพิวเตอร์เครื่องหนึ่งสามารถทำงานแตกต่างกันได้มากมายด้วยซอฟต์แวร์ที่แตกต่างกัน เพราเราสามารถออกแบบให้โปรแกรมคอมพิวเตอร์สามารถทำงานหรือประมวลคำสั่งที่เราสร่างขึ้นได้ในหลายรูปแบบ ซอฟต์แวร์จึงหมายรวมถึงโปรแกรมคอมพิวเตอร์ทุกประเภทที่ทำให้คอมพิวเตอร์ทำงานได้
แต่สิ่งหนึ่งที่ต้องทำความเข้าใจก็คือการที่ซอฟต์แวร์สามารถทำงานได้หรือประมวลผลคำสั่งนั้น ได้ ก็เนื่องด้วยว่า การที่เราเห็นคอมพิวเตอร์ทำงานให้กับเราได้มากมาย เพราะว่ามีผู้พัฒนาโปรแกรมคอมพิวเตอร์มาให้เราสั่งงานคอมพิวเตอร์ทั้งนี้ก็สร้างมาเพื่อทำงานตามคำสั่งในหลายรูปแบบตามความต้องการของผู้ใช้งานแต่ละกลุ่มแต่ละประเภท เช่น ร้านค้าอาจใช้คอมพิวเตอร์ทำบัญชีที่ยุ่งยากซับซ้อน บริษัทขายตั๋วใช้คอมพิวเตอร์ช่วยในระบบการจองตั๋ว คอมพิวเตอร์ช่วยในเรื่องกิจการงานธนาคารที่มีข้อมูลต่าง ๆ มากมาย คอมพิวเตอร์ช่วยงานพิมพ์เอกสารให้สวยงาม เป็นต้น การที่คอมพิวเตอร์ดำเนินการให้ประโยชน์ได้มากมายมหาศาลจะอยู่ที่ซอฟต์แวร์ ซอฟต์แวร์จึงเป็นส่วนสำคัญของระบบคอมพิวเตอร์ หากขาดซอฟต์แวร์คอมพิวเตอร์ก็ไม่สามารถทำงานได้ ซอฟต์แวร์จึงเป็นสิ่งที่จำเป็น และมีความสำคัญมาก และเป็นส่วนประกอบหนึ่งที่ทำให้ระบบสารสนเทศเป็นไปได้ตามที่ต้องการ
ภาษาคอมพิวเตอร์ เป็นกลไกสำคัญที่ใช้ในการพัฒนาซอฟต์แวร์ มนุษย์ต้องการใช้คอมพิวเตอร์ช่วยในการทำงาน มนุษย์จะต้องบอกขั้นตอนวิธีการให้คอมพิวเตอร์ทราบ การที่บอกสิ่งที่มนุษย์เข้าใจให้คอมพิวเตอร์รับรู้ และทำงานได้อย่างถูกต้อง จำเป็นต้องมีสื่อกลาง ถ้าเปรียบเทียบกับชีวิตประจำวันแล้ว เรามีภาษาที่ใช้ในการติดต่อซึ่งกันและกัน เช่นเดียวกันถ้ามนุษย์ต้องการจะถ่ายทอดความต้องการให้คอมพิวเตอร์รับรู้และปฏิบัติตาม จะต้องมีสื่อกลางสำหรับการติดต่อเพื่อให้คอมพิวเตอร์รับรู้ เราเรียกสื่อกลางนี้ว่าภาษาคอมพิวเตอร์
เนื่องจากคอมพิวเตอร์ทำงานด้วยสัญญาณทางไฟฟ้า ใช้แทนด้วยตัวเลข 0 และ 1 ได้ ผู้ออกแบบคอมพิวเตอร์ใช้ตัวเลข 0 และ 1 นี้เป็นรหัสแทนคำสั่งในการสั่งงานคอมพิวเตอร์ รหัสแทนข้อมูลและคำสั่งโดยใช้ระบบเลขฐานสองนี้ คอมพิวเตอร์สามารถเข้าใจได้ เราเรียกเลขฐานสองที่ประกอบกันเป็นชุดคำสั่งและใช้สั่งงานคอมพิวเตอร์ว่าภาษาเครื่อง
การใช้ภาษาเครื่องนี้ถึงแม้คอมพิวเตอร์จะเข้าใจได้ทันที แต่มนุษย์ผู้ใช้จะมีข้อยุ่งยากมาก เพราะเข้าใจและจดจำได้ยาก จึงมีผู้สร้างภาษาคอมพิวเตอร์ในรูปแบบที่เป็นตัวอักษร เป็นประโยคข้อความ ภาษาในลักษณะดังกล่าวนี้เรียกว่า ภาษาคอมพิวเตอร์ระดับสูง ภาษาระดับสูงมีอยู่มากมาย บางภาษามีความเหมาะสมกับการใช้สั่งงานการคำนวณทางคณิตศาสตร์และวิทยาศาสตร์ บางภาษามีความเหมาะสมไว้ใช้สั่งงานทางด้านการจัดการข้อมูล
ในการทำงานของคอมพิวเตอร์ คอมพิวเตอร์จะแปลภาษาระดับสูงให้เป็นภาษาเครื่อง ดังนั้นจึงมีผู้พัฒนาโปรแกรมคอมพิวเตอร์สำหรับแปลภาษาคอมพิวเตอร์ระดับสูงให้เป็นภาษาเครื่อง โปรแกรมที่ใช้แปลภาษาคอมพิวเตอร์ระดับสูงให้เป็นภาษาเครื่องเรียกว่า คอมไพเลอร์ (compiler) หรืออินเทอร์พรีเตอร์ (interpreter)
คอมไพเลอร์จะทำการแปลโปรแกรมที่เขียนเป็นภาษาระดับสูงทั้งโปรแกรมให้เป็นภาษาเครื่องก่อน แล้วจึงให้คอมพิวเตอร์ทำงานตามภาษาเครื่องนั้น
ส่วนอินเทอร์พรีเตอร์จะทำการแปลทีละคำสั่ง แล้วให้คอมพิวเตอร์ทำตามคำสั่งนั้น เมื่อทำเสร็จแล้วจึงมาทำการแปลคำสั่งลำดับต่อไป ข้อแตกต่างระหว่างคอมไพเลอร์กับอินเทอร์พรีเตอร์จึงอยู่ที่การแปลทั้งโปรแกรมหรือแปลทีละคำสั่ง ตัวแปลภาษาที่รู้จักกันดี เช่น ตัวแปลภาษาเบสิก ตัวแปลภาษาโคบอล
ซอฟต์แวร์หรือโปรแกรมคอมพิวเตอร์จึงเป็นส่วนสำคัญที่ควบคุมการทำงานของคอมพิวเตอร์ให้ดำเนินการตามแนวความคิดที่ได้กำหนดไว้ล่วงหน้าแล้ว คอมพิวเตอร์ต้องทำงานตามโปรแกรมเท่านั้น ไม่สามารถทำงานที่นอกเหนือจากที่กำหนดไว้ในโปรแกรม
ความหมายและความสำคัญของซอฟต์แวร์.สืบค้นเมื่อ 12 กันยายน 2561.จาก