วันจันทร์ที่ 5 ธันวาคม พ.ศ. 2554

หน่วยที่ 4 ซอฟต์แวร์

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

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


 ประเภทของซอฟต์แวร์
..........ในบรรดาซอฟต์แวร์หรือโปรแกรมคอมพิวเตอร์ที่มีผู้พัฒนาขึ้นเพื่อใช้งานกับคอมพิวเตอร์มีมากมาย ซอฟต์แวร์เหล่านี้อาจได้รับการพัฒนาโดยผู้ใช้งานเอง หรือผู้พัฒนาระบบ หรือผู้ผลิตจำหน่าย หากแบ่งแยกชนิดของซอฟต์แวร์ตามสภาพการทำงาน พอแบ่งแยกซอฟต์แวร์ได้เป็นสองประเภท คือ ซอฟต์แวร์ระบบ (system software) และซอฟต์แวร์ประยุกต์ (application software)
  • ซอฟต์แวร์ระบบ คือซอฟต์แวร์ที่บริษัทผู้ผลิตสร้างขึ้นมาเพื่อใช้จัดการกับระบบ หน้าที่การทำงานของซอฟต์แวร์ระบบคือดำเนินงานพื้นฐานต่าง ๆ ของระบบคอมพิวเตอร์ เช่น รับข้อมูลจากแผงแป้นอักขระแล้วแปลความหมายให้คอมพิวเตอร์เข้าใจ นำข้อมูลไปแสดงผลบนจอภาพหรือนำออกไปยังเครื่องพิมพ์ จัดการข้อมูลในระบบแฟ้มข้อมูลบนหน่วยความจำรอง
เมื่อเราเปิดเครื่องคอมพิวเตอร์ ทันทีที่มีการจ่ายกระแสไฟฟ้าให้กับคอมพิวเตอร์ คอมพิวเตอร์จะทำงานตามโปรแกรมทันที โปรแกรมแรกที่สั่งคอมพิวเตอร์ทำงานนี้เป็นซอฟต์แวร์ระบบ ซอฟต์แวร์ระบบอาจเก็บไว้ในรอม หรือในแผ่นจานแม่เหล็ก หากไม่มีซอฟต์แวร์ระบบ คอมพิวเตอร์จะทำงานไม่ได้
ซอฟต์แวร์ระบบยังใช้เป็นเครื่องมือในการพัฒนาซอฟต์แวร์อื่น ๆ และยังรวมไปถึงซอฟต์แวร์ที่ใช้ในการแปลภาษาต่าง ๆ
  • ซอฟต์แวร์ประยุกต์ เป็นซอฟต์แวร์ที่ใช้กับงานด้านต่าง ๆ ตามความต้องการของผู้ใช้ ที่สามารถนำมาใช้ประโยชน์ได้โดยตรง ปัจจุบันมีผู้พัฒนาซอฟต์แวร์ใช้งานทางด้านต่าง ๆ ออกจำหน่ายมาก การประยุกต์งานคอมพิวเตอร์จึงกว้างขวางและแพร่หลาย เราอาจแบ่งซอฟต์แวร์ประยุกต์ออกเป็นสองกลุ่มคือ ซอฟต์แวร์สำเร็จ และซอฟต์แวร์ที่พัฒนาขึ้นใช้งานเฉพาะ ซอฟต์แวร์สำเร็จในปัจจุบันมีมากมาย เช่น ซอฟต์แวร์ประมวลคำ ซอฟต์แวร์ตารางทำงาน ฯลฯ
ซอฟต์แวร์และภาษาคอมพิวเตอร์
          ซอฟต์แวร์ (Software) คือ โปรแกรมคำสั่งที่สั่งให้เครื่องคอมพิวเตอร์ทำงาน โดยโปรแกรมจะถูกเก็บไว้ในหน่วยความจำ หลังจากนั้นเครื่องจะทำงานด้วยตนเองตามโปรแกรมภายใต้การควบคุมของหน่วยควบคุม (Control Unit)

ซอฟต์แวร์แบ่งเป็น 2 ประเภทคือ
1. โปรแกรมระบบ (System Program หรือ System Software)
2. โปรแกรมประยุกต์ (Application Program หรือ Application Software)

1. โปรแกรมระบบ คือ โปรแกรมที่ทำหน้าที่ควบคุมการทำงานของคอมพิวเตอร์
ฮาร์ดแวร์ให้ทำงานได้อย่างมีประสิทธิภาพ ทำหน้าที่จัดระบบการเก็บข้อมูล การรับส่งข้อมูลเก็บข้อมูลลงในหน่วยความจำ โดยบริษัทผู้ผลิตเครื่องจำให้โปรแกรมระบบมาพร้อมกับเครื่องส่วนสำคัญที่เป็นแกนหลักของโปรแกรมระบบ คือ ระบบปฏิบัติการ (OS : Operating System)
ระบบปฏิบัติการ คือ กลุ่มโปรแกรมซึ่งได้รับการจัดระเบียบให้เป็นส่วนเชื่อมโยงระหว่างเครื่องและผู้ใชเครื่อง โดยจะเอื้ออำนวยการใช้โปรแกรมต่าง ๆ รวมถึงการจัดสรรทรัพยากร (resource) ต่าง ๆ ให้มีประสิทธิภาพ
หน้าที่ของระบบปฏิบัติการ สามารถแบ่งได้เป็น 2 ส่วนใหญ่ ๆ คือ
1. ควบคุมการทำงานของโปรแกรมและอุปกรณ์ต่าง ๆ โดยเฉพาะอุปกรณ์รับข้อมูล และแสดงผลลัพธ์ (Input/Output Device) และ ให้ผู้ใช้สามารถใช้อุปกรณ์ต่าง ๆ ได้อย่างสะดวกสำหรับเครื่องไมโครคอมพิวเตอร์ ระบบปฏิบัติการจะเป็นแบบง่าย ๆ และทำหน้าที่ควบคุมและให้ความสะดวกแก่ผู้ใช้เครื่อง
2. จัดสรรทรัพยากรซึ่งใช่ร่วมกัน (Shared Resource) หน้าที่นี้จะเห็นได้ชัดในเครื่องเมนเฟรม (Mainframe) ซึ่งจะมีอุปกรณ์ต่าง ๆ เช่น หน่วยประมวลผลกลาง หน่วยความจำ เป็นต้น มีการใช้ทรัพยากรเหล่านี้ร่วมกัน ในลักษณะของระบบมัลติโปรแกรมมิ่ง (Multiprogramming) ดังนั้นหน้าที่ของระบบปฏิบัติการ จึงต้องครอบคลุมถึงการจัดสรรทรัพยากรเหล่านี้ โดยคำนึงถึงความยุติธรรมต่อผู้ใช้แต่ละคน และประสิทธิผลของเครื่องเป็นหลักสำคัญ
ระบบปฏิบัติการ (OS)
ระบบปฏิบัติการมีหลายชนิดที่ใช้กับเครื่องคอมพิวเตอร์ ได้แก่ ซีพี/เอ็ม (CP/M) ดอส (DOS) รวมทั้ง MS-DOS และ PC-DOS วินโดวส์(Windows) โอเอส/ทู(OS/2) ยูนิกซ์(Unix) ซิสเต็ม 8 (System ของแมคอินทอซ
ดอส (DOS)
เป็นระบบปฏิบัติการที่มีลักษณะการทำงานเป็นแบบงานเดี่ยว (Single - tasking) เมื่อ
บริษัท IBM ได้เข้ามาสู่ตลาดไมโครคอมพิวเตอร์ โดยสร้างเครื่อง IBM PC ขึ้นมา บริษัท IBM ได้ว่าจ้าง บริษืไมโครงซอฟต์ให้พัฒนาระบบปฏิบัติการ (OS) ขึ้นซึ่งเรียกสั้น ๆ ว่า ดอส ที่จริงแล้วดอสมีสองรุ่นใหญ่ ๆ คือ PC-DOS ใช้กับเครื่อง IBM PC และในขณะเดียวกัน บริษัทไมโครซอฟต์ก็พัฒนา MS-DOS ขึ้นมาใช้กับเครื่องคอมพิวเตอร์ที่คอมพแพคทิเบิล (Compatible) กับเครื่อง IBM ทุกเครื่องซึ่งทั้ง PC-DOS และ MS-DOS มีคุณสมบัติเหมือนกันทุกประการ ดอสได้มีการเปลี่ยนแปลงมาหลายรุ่น (Version) แต่ละรุ่นก็ได้เพิ่มขีดความสามารถในการทำงานให้สอดคล้องกับวิวัฒนาการของเครื่อง PC
วินโดวส์ (Windows)
ประมาณต้นปี ค.ศ.1990 บริษัทไมโครซอฟต์ได้ผลิตวินโดวส์ 3.0 ซึ่งนำมาใช้ในการติดต่อแบบกราฟิก (Graphical Interface) ด้วยไอคอน (Icon) และใช้เม้าส์ (Mouse) แทนคีย์บอร์ด (Key board) นอกจากนี้วินโดวส์ 3.0 ขึ้นไปยังสามารถทำให้เครื่องคอมพิวเตอร์ใช้งานโปรแกรมได้มากกว่าหนึ่งโปรแกรมในขณะเดียวกันเรียกว่า มัลติทาสกิ้ง (Multitasking) โดยระบบวินโดวส์จะสามารถทำให้โปรแกรมถูกโหลดเข้าไปในหน่วยความจำได้พร้อมกัน แล้วจะสามารถแบ่งจอภาพออกเป็นหน้าต่างเล็ก ๆ แต่ละหน้าต่างก็จะแสดงการทำงานของแต่ละโปรแกรมซึ่งแตกต่างกัน และยิ่งไปกว่านั้นยังสามารถคัดลอกข้อความหรือภาพระหว่างโปรแกรมได้
ต่อมาในปี ค.ศ.1995 บริษัทไมโครซอฟต์ ได้ผลิตวินโดวส์ 95 (Windows) ซึ่งเป็นระบบปฏิบัติการแบบ 32 บิท ลักษณะเด่นของวินโดวส์ 95 คือความสามารถในด้านระบบเครือข่าย สามารถเชื่อมโยงเข้าสู่เครือข่ายขนาดใหญ่ได้ สามารถใช้แอปพลิเคชันที่วันบนวินโดว์ 3.1 ได้เลยโดยไม่ต้องแก้ไข และซอฟต์แวร์ที่รับนบวินโดวส์ 95 มีความสามารถ แฟกซ์ E-mail ได้อีกด้วย หลังจากนั้นบริษัท ไมโครซอฟต์ก็ได้ผลิตวินโดวส์ 97 และวินโดวส์ 98 ออกมาใช้


โอเอส/ทู (OS/2 : Operating System 2)
เมื่อบริษัท IBM ได้นำเครื่องคอมพิวเตอร์ PS/2 เข้าสู่ตลาดก็ได้ติดต่อให้บริษัทไมโครซอฟต์ พัฒนาระบบปฏิบัติการตัวใหม่ ที่มีขีดความสามารถติดต่อกับผู้ใช้แบบการฟิกและสามารถทำงานแบบมัลติทาสกิ้งได้ แต่ OS/2 ที่ผลิตออกมาในขณะนั้นไม่เป็นที่นิยม เพราะต้องใช้หน่วยความจำขนาดใหญ่ และโปรแกรมที่พัฒนาขึ้นเพื่อใช้กับ OS/2 ก็มีน้อย
ยูนิกซ์ (Unix)
เป็นระบบปฏิบัติการที่ใหญ่และค่อนข้างสลับซับซ้อน มีขีดความสามารถสูงกว่าอย่างอื่นสามารถใช้งานในลักษณะมัลติทาสกิ้ง คือสามารถใช้งานได้หลาย ๆ โปรแกรมพร้อมกัน และเป็นแบบมัลติยูสเซอร์ (Multiuser) คือ มีผู้ใช้หลาย ๆ คนพร้อมกัน โดยปกติยูนิกซ์เป็นระบบที่พัฒนาใช้กับเครื่องคอมพิวเตอร์ขนาดใหญ่ เช่น เครื่องเมนเฟรม มินิคอมพิวเตอร์ และ เวิร์กสเตชั่น (Workstation) ปัจจุบันยูนิกซ์ได้พัฒนาใช้กับเครื่องไมโครคอมพิวเตอร์ระดับ 386 Dx ขึ้นไป มีการติดตั้งหน่วยความจำหลักไม่ต่ำกว่า 8 เมกะไบท์ มีฮาร์ดดิสก์ขนาดความจุไม่น้อยกว่า 100 เมกะไบท์ถึงแม้วินโดวส์และโอเอส/ทู จะมีความสามารถในการทำมัลติทาสกิ้ง เข่นเดียวกับยูนิกซ์ แต่จะไม่มีคุณสมบัติในด้านมัลติยูสเซอร์ เช่น ยูนิกซ์ ซึ่งคุณสมบัติระบบปฏิบัติการยูนิกซ์แบบมัลติทาสกิ้ง (Multitasking) และมัลติยูสเซอร์นี้ ทำให้เครื่องไมโครคอมพิวเตอร์ธรรมดา ๆ ที่ติดตั้งระบบปฏิบัติการยูนิกซ์สามารถทำงานรองรับเครื่องคอมพิวเตอร์ที่มียูสเซอร์ต่อเชื่อมเข้ามาได้มากถึง 120 ตัวไปพร้อม ๆ กันและเหมาะสมสำหรับระบบเน็ตเวิร์ก (Network) นอกจากนั้นระบบปฏิบัติการยูนิกซ์ยังสามารถรัน (Run) ได้บนแพลตฟอร์มหลาย ๆ ระดับ ทั้งบนเครื่องเมนเฟรม มินิคอมพิวเตอร์และเครื่องไมโครงคอมพิวเตอร์ ทำให้สามารถเคลื่อนย้ายงานและแอพพลิเคชั่นไปมาระหว่างแพลตฟอร์มได้ และสามารถย้ายงานที่รันอยู่บนดอส หรือวินโดวส์มาใช้บนระบบปฏิบัติการยูนิกซ์ได้
ซิสเต็ม 8 (System
ซิสเต็ม 8 เป็นระบบปฏิบัติการของแมคอินทอธ (Macintosh) มีความสามารถในการทำมัลติทางกิ้งและสามารถใช้งานต่าง ๆ กัน เช่น ทำการพิมพ์ในขณะที่ใช้เครื่องคอมพิวเตอร์อยู่ก็ได เหมาะกับงานได้ด้านเดสทอปพับลิชชิ่ง (Desktop Publishing) ซึ่งหมายถึงการออกแบบและพิมพ์เอกสารหรือหนังสือโดยใช้โปรแกรมคอมพิวเตอร์เปรียบเหมือนโรงพิมพ์ตั้งโต๊ะ

2. โปรแกรมประยุกต์ คือโปรแกรมที่โปรแกรมเมอร์เขียนขึ้นด้วยภาษาคอมพิวเตอร์
ภาษาใดภาษาหนึ่ง เพื่อให้คอมพิวเตอร์ทำการประมวลผลให้ได้ผลลัพธ์ตามที่ต้องการ โปรแกรมประยุกต์ มี 2 อย่าง คือ
2.1 โปรแกรมสำเร็จรูป (Package Program) เป็นโปรแกรมที่บริษัทซอฟต์แวร์ต่าง ๆ จัดทำขึ้นมาเพื่อใช้กับงานนั้น ๆ ได้เลย โดยผู้ใช้ไม่ต้องเขียนโปรแกรมขึ้นมาเองเป็นการประหยัดเวลา แรงงานและค่าใช้จ่าย
ปัจจุบันโปรแกรมสำเร็จรูปแบ่งเป็นประเภทใหญ่ ๆ ได้ดังนี้
ก. โปรแกรมสำเร็จรูปเกี่ยวกับการจัดการฐานข้อมูล (Data Base Management Software)
ข. โปรแกรมสำเร็จรูปเกี่ยวกับการจัดพิมพ์รายงาน (Word Processing Software)
ค. โปรแกรมสำเร็จรูปทางด้านการคำนวณ (Calculation Software)
ง. โปรแกรมสำเร็จรูปกับงานธุรกิจ (Business Software)
ก. โปรแกรมสำเร็จรูปเกี่ยวกับการจัดการฐานข้อมูล
ระบบการจัดการฐานข้อมูล (DBMS : Data Base Management System) คือโปรแกรมที่เก็บรวบรวมข้อมูลที่มีอยู่ให้เป็นหมวดหมู่โดยทำหน้าที่สร้างฐายข้อมูล และเป็นตัวคอยดูแลจัดการเรียกใช้และแก้ไขข้อมูลในฐานข้อมูลนั้น หน้าที่สำคัญของระบบการจัดการฐานข้อมูล (DBMS) คือเป็นสื่อกลางระหว่างผู้ใช้กับฐานข้อมูลโดยผู้ใช้ไม่ต้องสนใจเกี่ยวกับโครงสร้างของข้อมูลที่จัดเก็บจริง ตัวอย่าง โปรแกรม เช่น dBASE III PLUS, Foxbase, FoxPro, ORACLE, INFORMIXเป็นต้น
ข. โปรแกรมสำเร็จรูปเกี่ยวกับการจัดพิมพ์รายงาน
เป็นโปรแกรมสำเร็จรูปประเภทประมวลผลคำ (Word Processing) โปรแกรมสำเร็จรูปประเภทนี้จะอำนวยความสะดวก ในเรื่องการจัดพิมพ์ได้ดีมาก สามารถทำงานได้อย่างรวดเร็วแล้วแต่คุณสมบัติของแต่ละโปรแกรมในการจัดพิมพ์งาน เช่น การจัดพิมพ์ข้อความ การจัดหน้า การจัดคำ จัดจำนวนบรรทัดต่อหน้าย่อหน้าต่าง ๆ การเลือกรูปแบบตัวอักษร เช่น Word Star, Word erfect, Cu Writer, เวิร์ดราชวิถี, Microsoft Word, Page Maker เป็นต้น
ภาษาคอมพิวเตอร์ (Computer Languages)
ภาษาคอมพิวเตอร์ คือภาษที่ใช้ในการติดต่อกับคอมพิวเตอร์โดยถูกนำมาเขียนเป็นชุดคำสั่ง (Program) ให้เครื่องทำงานตามคำสั่งของภาษานั้น ในปัจจุบันภาษาคอมพิวเตอร์ที่ใช้สำหรับเขียนโปรแกรมมีมากมายหลายภาษา ซึ่งแต่ละภาษาจะมีกฎเกณฑ์และวิธีการเขียนโปรแกรมแต่ต่างกัน ภาษาคอมพิวเตอร์แบ่งออกเป็น 2 ระดับ คือ
1. ภาษาระดับต่ำ (Low Level Language)
2. ภาษาระดับสูง (High Level Language)

1. ภาษาระดับต่ำ (Low Level Language)
เป็นภาษาที่ใช้ในยุคแรก ๆ จะมีความยุ่งยากในการเขียนมากแบ่งออกเป็น 2 ประเภทคือ
1.1 ภาษาเครื่อง (Machine Language)
1.2 ภาษาแอสแซมบลี (Assembly Language)

1.1 ภาษาเครื่อง (Machine Language)
เป็นภาษาหรือคำสั่งที่ใช้ในการสั่งงานหรือติดต่อกับเครื่องโดยตรงลักษณะสำคัญ
ของภาษาเครื่องจะประกอบด้วยรหัสของเลขฐานสองซึ่งเทียบได้กับลักษณะของสัญญาณทางไฟฟ้าเข้ากับหลักการทำงานของเครื่องซึ่งเครื่องสามารถเข้าใจและพร้อมที่จะทำงานตามคำสั่งได้ทันทีภาษาเครื่องจะมีกฏเกณฑ์ทางไวยากรณ์ค่อนข้างจำกัด โปรแกรมมีลักษณะค่อนข้างยุ่งยากซับซ้อน รหัสโครงสร้างของแต่ละคำสั่งของภาษาเครื่องจะประกอบด้วยส่วนสำคัญ 2 ส่วน คือ
ก. รหัสบอกประเภทของคำสั่ง (Operation Code หรือ Op-Code) เป็นส่วนที่บอกคำสั่งให้เครื่องทำการประมวลผล เช่นให้ทำการบวก ลบ คูณ หาร หรือเปรียบเทียบ
ข. รหัสบอกตำแหน่งข้อมูล (Operand) เป็นส่วนที่บอกว่าข้อมูลที่จะนำมาประมวลผลนั้นเก็บอยู่ในตำแหน่ง (Address) ใดของหน่วยความจำ
ลักษณะของโปรแกรมจะประกอบด้วยกลุ่มของรหัสคำสั่ง ซึ่งประกอบด้วยเลข
ฐานสองเรียงต่อกัน ซึ่งผู้เขียนโปรแกรมจะต้องทราบถึงเทคนิคการใช้รหัสคำสั่งและจะต้องจำตำแหน่งของคำสั่งของข้อมูลที่ถูกเก็บไว้ เพราะเนื่องจากเครื่องคอมพิวเตอร์แต่ละบริษัทจะใช้ภาษาเครื่องของตนเอง และผู้เขียนโปรแกรมจะต้องเข้าใจระบบการทำงานของเครื่องเป็นอย่างดี ดังนั้นการเขียนโปรแกรมเป็นภาษาเครื่องจึงมีผู้เขียนอยู่ในวงจำกัด เพราะต้องมีความรู้ทางด้านเครื่องและรหัสของเครื่องด้วยจึงจะเขียนโปรแกรมได้ ภาษาเครื่องของคอมพิวเตอร์แต่ละระบบจะแตกต่างกัน ทำให้เกิดความไม่สะดวกเมื่อมีการเปลี่ยนเครื่องคอมพิวเตอร์ระบบใหม่ก็จะต้องเขียนโปรแกรมใหม่
ข้อดี ของภาษาเครื่อง
1. เมื่อคำสั่งเข้าสู่เครื่องจะสามารถทำงานได้ทันที
2. สามารถสร้างคำสั่งใหม่ ๆ ได้ โดยที่ภาษาอื่นทำไม่ได้
3. ต้องการหน่วยความจำเพียงเล็กน้อย
ข้อเสีย ของภาษาเครื่อง
1. ต้องเขียนโปรแกรมคำสั่งยาวทำให้ผิดพลาดได้ง่าย
2. ผู้เขียนโปรแกรมจะต้องรู้ระบบการทำงานของเครื่องเป็นอย่างดีจึงสามารถเขียนโปรแกรมได้ และถ้าเครื่องที่มีฮาร์ดแวร์ต่างกัน จะใช้โปรแกรมร่วมกันได้

1.2 ภาษาแอสแซมบลี (Assembly Language)
จัดเป็นภาษาสัญลักษณ์ (Symbolic Language) เป็นภาษาที่พัฒนามาจาก
ภาษาเครื่องโดยใช้สัญลักษณ์ข้อความแทนกลุ่มของเลขฐานสอง ทำให้การเขียนโปรแกรมสะดวกขึ้นแต่ผู้เขียนโปรแกรมยังคงต้องจำความหมายสัญลักษณ์ที่ใช้แทนคำสั่งต่าง ๆ การเขียนโปรแกรมภาษาแอสแซมบลี มีลักษณะที่ต้องขึ้นอยู่กับเครื่องเราไม่สามารถนำโปรแกรมภาษาแอสแซมบลีไปใช้กับเครื่องต่างชนิดกันได้ ดังนั้น ผู้เขียนโปรแกรมจะต้องเข้าใจระบบการทำงานของเครื่องเป็นอย่างดี การเขียนโปรแกรมด้วยภาษานี้ วิธีการก็คล้ายกับการเขียนโปรแกรมภาษาเครื่องแต่อย่างไรก็ตามคอมพิวเตอร์จะรู้จักแต่เฉพาะภาษาเครื่องเท่านั้น ดังนั้นจึงต้องมีการแปลภาษาแอสแซมบลีให้เป็นภาษาเครื่องเสียก่อน เครื่องจึงจะสามารถทำงานตามโปรแกรมคำสั่งได้โปรแกรมที่ทำหน้าที่แปลภาษานี้เรียกว่าแอสแซมเบลอร์ (Assembler)
ข้อดี ของภาษาแอสแซมบลี
- การเขียนโปรแกรมเขียนง่ายกว่าภาษาเครื่อง

ข้อเสีย ของภาษาแอสแซมบลี
- ขั้นตอนการเขียนโปรแกรมมีลักษณะคล้ายภาษาเครื่องทำให้โปรแกรมคำสั่งต้องเขียนยาวเช่นเดิม
2. ภาษาระดับสูง (High Level Language)
เป็นภาษาคอมพิวเตอร์ที่ได้รับการพัฒนา ให้สามารถใช้ได้ง่ายและสะดวกยิ่งขึ้น การเขียน
ภาษาไม่ขึ้นกับฮาร์ดแวร์หรือลักษณะการทำงานภายในของเครื่อง ผู้เขียนโปรแกรมไม่จำเป็นต้องเข้าใจระบบการทำงานภายในเครื่องมากนัก เพียงแต่เข้าใจกฎเกณฑ์ในกาเขียนแต่ละภาษาให้ดี ซึ่งลักษณะคำสั่งจะคล้ายกับภาษาอังกฤษ ดังนั้นภาษาระดับสูงจึงเป็นที่นิยมใช้กันแพร่หลายในปัจจุบัน
แต่อย่างไรก็ตามภาษาระดับสูงเครื่องจะยังไม่เข้าใจ จึงต้องมีการแปลให้เป็นภาษาเครื่องเสียก่อน โปรแกรมที่ใช้แปลภาษาระดับสูง แบ่งออกเป็น 2 ประเภท คือ อินเทอพรีทเตอร์ (Interpreter) และคอมไพเลอร์ (Compiler)

2.1 อินเทอพรีทเตอร์ (Interpreter)
เป็นโปรแกรมที่ใช้ในการแปลภาษาระดับสูงให้เป็นภาษาเครื่อง การแปลจะแปลที
และคำสั่งและทำงานตามคำสั่งทันที แล้วจึงไปอ่านคำสั่งต่อไป ในกรณีที่โปรแกรมมีลักษณะการทำงานแบบวนซ้ำ (Loop) อินเทอพรีทเตอร์จะต้องแปลคำสั่งนั้นซ้ำแล้วซ้ำอีก จึงทำให้การแปลแบบอินเทอพรีทเตอร์ทำงานซ้ำ อินเทคพรีทเตอร์จะไม่สร้างออฟเจ๊ทโปรแกรม (Object Program) ซึ่งเป็นโปรแกรมที่แปลเป็นภาษาเครื่องเก็บไว้ ฉะนั้นทุกครั้งที่สั่งให้โปรแกรมทำงานอินเทอพรีทเตอร์ก็จะเริ่มแปลใหม่ทุกครั้ง เครื่องจะเริ่มทำงานทันทีเมื่ออินเทอพรีทเตอร์แปลคำสั่งเสร็จและจะหยุดทำงานเมื่อดินเทอพรีทเตอร์พบข้อผิดพลาดในคำสั่งที่แปล และจะรายงานความผิดพลาดทันที ผู้เขียนโปรแกรมจะต้องแก้ไขโปรแกรมคำสั่งให้ถูกแล้วสั่งให้โปรแกรมเริ่มทำงานใหม่ อินเทอพรีทเตอร์ก็จะเริ่มแปลคำสั่งนั้นใหม่ภาษาที่ใช้อินเทคพรีทเตอร์แปล เช่น ภาษาBASICA และGWBASIC เป็นต้น
2.2 คอมไพเลอร์ (Compiler)
เป็นโปรแกรมที่ใช้แปลภาษาระดับสูงให้เป็นภาษาเครื่อง คอมไฟเลอร์จะทำการ
แปลทั้งโปรแกรม แล้วเก็บโปรแกรมที่แปลได้ในรูปของภาษาเครื่องเก็บไว้ในลักษณะของออฟเจ็ทโปรแกรม (Object Program) ถ้าโปรแกรมที่แปลไม่มีข้อผิดพลาดก็จะปฏิบัติงานตามคำสั่งนั้น ๆ ทันทีแต่ถ้าโปรแกรมมีข้อผิดพลาด คอมไพเลอร์ก็จะบอกข้อผิดพลาดทั้งหมดที่มีในโปรแกรมออกมาให้ทราบ และจะยอมให้ออฟเจ็ทโปรแกรมทำงานต่อเมื่อโปรแกรมได้รับการแก้ไขจนไม่มีข้อผิดพลาดแล้ว โปรแกรมที่ถูกแปลจะเก็บไว้เป็นออฟเจ็ทโปรแกรมในหน่วยความจำ จึงทำให้ต้องใช้เนื้อที่ในหน่วยความจำมากกว่าอินเทอพรีทเตอร์ เพราะต้องเก็บตัวโปรแกรมภาษา (Source Program) ออฟเจ็ท โปรแกรม (Object Program) และคอมไฟเลอร์ (Program)
เมื่อแก้ไขข้อผิดพลาดแล้ว คอมไพเลอร์จะทำการแปลทั้งโปรแกรมใหม่เพื่อเก็บเป็นออฟเจ็ทโปรแกรมอีกครั้งหนึ่งในกรณีที่มีการทำงานแบบวนซ้ำ (Loop) เครื่องจะนำเอาออฟเจ็ทโปรแกรมที่แปลเก็บไว้ไปใช้ทำงาน โดยไม่ต้องมีการแปลซ้ำอีก ทำให้การทำงานเร็วกว่าการแปลแบบอินเทอพรีทเตอร์ ภาษาที่ใช้คอมไพเลอร์แปล ได้แก่ ภาษา C, COBOL, FORTRAN,PL/1, TURBO BASIC,PASCAL เป็นต้น
อินเทอพรีทเตอร์
(Interpreter) คอมไพเลอรื
(Compiler)
1. แปลโปรแกรมทีละคำสั่งและทำงานตามคำสั่งนั้นทันที
2. ใช้เนื้อที่ในหน่วยความจำน้อย
3. ไม่มีการสร้างออฟเจ็ทโปรแกรม (Objext Program)
4. ถ้าโปรแกรมมีการทำงานแบบวนซ้ำ (Loop) จะต้องแปลคำสั่งซ้ำแล้วซ้ำอีกทำให้การทำงานช้า 1. แปลทั้งโปรแกรมแล้วจึงทำงานตามคำสั่งในโปรแกรมนั้น
2. ใช้เนื้อที่ในหน่วยความจำมา
3. มีการสร้างออฟเจ็ทโปรแกรม (Objext Program)
4. ถ้าโปรแกรมมีการทำงานแบบวนซ้ำ (Loop) เครื่องจะนำออฟเจ็ทโปรแกรมไปใช้งานเลยโดยไม่ต้องแปลซ้ำ ทำให้ทำงานได้เร็วกว่า


ในปัจจุบันได้มีการพัฒนาภาษาระดับสูงมาใช้มากมาย ภาษาระดับสูงแต่ละภาษาจะมีกฎเกณฑ์ในการใช้ต่าง ๆ กัน แต่ทุกภาษาจะมีโครงสร้างที่เหมือนกัน คือประกอบด้วยประโยคต่าง ๆ แบ่งออกเป็น 5 ประเภท ดังนี้
1. ประโยคที่ใช้ในการระบุตัวแปร ใช้ในการระบุชื่อ และชนิดของตัวแปร (Variable) ซึ่งตัวแปรจะใช้เป็นชื่อในการอ้างอิงถึงข้อมูลที่ถูกจัดเก็บในหน่วยความจำ
2. ประโยคที่ใช้ในการอ่านหรือแสดงผลลัพธ์ ใช้ในการอ่านข้อมูลเข้ามาเก็บในตัวแปรที่ระบุและใช้แสดงผลลัพธ์
3. ประโยคควบคุม ใช้ในการควบคุมการทำงานว่าจะให้ทำงานในส่วนใดของโปรแกรมซึ่งถ้าไม่มีประโยคควบคุม การทำงานจะทำเรียงตามลำดับคำสั่ง จากประโยคแรกไปยังประโยคสุดท้าย
4. ประโยคที่ใช้ในการคำนวร ใช้ในการคำนวณค่าทางคณิตศาสตร์
5. ประโยคที่ใช้บอกจบการทำงาน ใช้ระบุจุดจบของการทำงาน

ภาษาระดับสูงมีอยู่หลายภาษา สามารถเลือกใช้ให้เหมาะสมกับงาน เช่น
1. ภาษาฟอร์แทรน (FORTRAN : FORmular TRANslation) ภาษาฟอร์แทรนเป็นภาษา
ที่เหมาะในงานด้ายวิทยาศาสตร์ วิศวกรรมศาสตร์ และ คณิตศาสตร์ซึ่งเป็นงานที่มักใช้การประมวลผลที่ซับซ้อน ลักษณะของภาษาอยู่ในลักษณะที่คล้ายกับสูตรหรือสมการทางคณิตศาสตร์ ภาษาฟอร์แทรนไม่เหมาะกับงานพิมพ์หรือ งานที่ต้องการเก็บข้อมูลเป็นไฟล์เพราะคำสั่งด้านนี้มีน้อย
2. ภาษาโคบอล (COBOL : Common Business Oriented Language) เป็นภาษาที่มี
คำสั่งคล้ายคลึงกับภาษาอังกฤษ ถูกออกแบบมาเพื่อใช้ในงานทางธุรกิจและเป็นภาษาที่ประสบความสำเร็จในการใช้งานธุรกิจ เช่น งานทางด้านบัญชี งานเก็บประวัติข้อมูล งานธุรกิจทั่ว ๆ ไป นอกจากนี้ภาษาโคบอลยังเหมาะกับงานทางด้านการสร้างไฟล์ของข้อมูล งานใหญ่ ๆ ที่มีข้อมูลมาเพราะมีคำสั่งต่าง ๆ ที่ใช้กับไฟล์มากและยังสามารถใช้กับงานที่ต้องการออกรายงาน (Report) แต่มีข้อเสียคือ การทำงานค่อนข้างช้า และไม่เหมาะกับงานคำนวณที่สลัยซับซ้อน
3. ภาษาปาสคาล (PASCAL) มาจากชื่อนักคณิตศาสตร์ขาวฝรั่งเศสชื่อ Blaise Pascal
ภาษาปาสคาลเป็นภาษาที่มีโครงสร้างที่ดีเยี่ยม ทำให้การทำงานของโปรแกรมมีประสิทธิภาพดีมากเทอร์โบปาสคาล (Turbo Pascal) เป็นรุ่นที่นิยม เพราะเทอร์โบปาสคาลเป็นภาษาค่อนข้างจุกจิก มีข้อยกเว้นและมีเครื่องหมายมาก ทำให้ลดความคล่องตัวในการใช้งานลงไป
4. ภาษาซี (C) เป็นภาษาที่เขียนโปรแกรมแบบโครงสร้าง มีรูปแบบคำสั่งค่อนข้างอิสระมี
คำสั่งและฟังก์ชั่นมาก สามารถใช้กับงานได้หลายประเภท สามารถควบคุมฮาร์ดแวร์ได้ ภาษาซีถูกนำมาใช้ในการพัฒนาโปรแกรมหลายอย่าง เช่น UNIX, cu Writer เป็นต้น


5. ภาษาเบสิก (BASIC : Beginner’s All-purpose Symbolic Instruction Code) จุด
เด่นของภาษาเบสิก คือ Operating System ของภาษานี้ใช้เนื้อที่น้อยคำสั่งต่าง ๆ มีน้อย แต่สามารถใช้งานได้อย่างมีประสิทธิภาพ เป็นภาษาที่เข้าใจง่าย และถูกออกแบบเพื่อใช้งานในลักษณะโต้ตอบ เพราะภาษเบสิกส่วนใหญ่ ถูกพัฒนาโดยใช้อินเทอพรีทเตอร์ ทำให้ผู้เขียนโปรแกรมสามารถพิใพ์โปรแกรมเข้าเครื่องและแก้ไขข้อผิดพลาดได้ทันที เหมาะกับผู้ที่เริ่มหัดเขียนโปรแกรม ภาษาเบสิกทำได้ทั้งานคำนวณ งานธุรกิจ หรืองานออกรายงาน (Report)
6. ภาษาอัลโกล (ALGOL : ALGOrithmic Language) เป็นภาษาโครงสร้างใช้กับงาน
ด้านวิทยาศาสตร์และคณิตศาสตร์ ลักษณะภาษาคล้ายกับภาษา FORTRANลักษณะโปรแกรมจะแยกออกเป็นส่วน ๆ เรียกว่าโปรแกรมย่อย (Subroutine หรือProcedure)
7. ภาษาพีแอลวัน (PL/I : Programming Language I ) เป็นภาษาที่ถูกพัฒนาขึ้นเพื่อ
ใช้กับงานธุรกิจและวิทยาศาสตร์ โดยรวมเอาข้อดีของภาษาฟอร์แทรนและโคบอลเข้าด้วยกันคือสามารถทำการคำนวณได้ดีเหมือนกับภาษาฟอร์แทรนและสามารถจัดไฟล์และทำรูปแบบรายงานได้เหมือนกับภาษาโคบอล ภาษาพีแอลวัน ต้องการเนื้อนที่ในหน่วยความจำมากจึงต้องใช้กับเครื่องขนาดใหญ่เหมาะที่จะใช้กับงานใหญ่ ๆ ที่ต้องการความเร็วในการประมวลผล

โอโอพี (OOP : Object Oriented Programming)
โอโอพี (OOP) เป็นกลวิธีการเขียนโปรแกรมแบบใหม่ที่แตกต่างจากการเขียนโปรแกรมแบบเดิม ซึ่งการเขียนโปรแกรมแบบเดิมจะเป็นแบบโครงสร้าง (Structured Programming) โดยการเขียนโปรแกรมแบบจากบนลงล่าง ทำให้การนำโปรแกรมมาประกอบกันทำได้ยาก ส่วนการเขียนโปรแกรมแบบจากบนลงล่าง ทำให้การนำโปรแกรมมาประกอบกันทำได้ยาก ส่วนการเขียนโปรแกรมแบบออฟเจท (Object) เป็นการมองการเขียนโปรแกรมให้เป็นก้อนออฟเจ็ทและสามารถนำมาต่อ ๆ กันได้ เวลาจะเขียนโปรแกรมใหม่ก็ทำได้ง่าย โดยการนำเอาออฟเจ็ทที่เขียนไว้แล้วมาต่อ ๆ กันเป็นโปรแกรม โดยไม่ต้องเขียนใหม่ทั้งหมด ทำให้เขียนโปรแกรมได้เร็วขึ้น การเขียนโปรแกรมแบบ โอโอพีจะใช้ภาษาอะไรก็ได้ เช่น Visual Basic, Visual C++, Delphi เป็นต้น
นอกจากภาษาระดับสูงที่กล่าวมาแล้ว ยังมีภาษาอีกประเภทหนึ่งที่จัดเป็น ภาษารุ่นที่ 4 (4 GL : Fourth Generation Language) เป็นภาษาที่มีลักษณะเป็นธรรมชาติ เรียกว่าภาษาธรรมชาติ (Natural Language) หรือ ภาษามนุษย์นั่นเองโดยที่ได้มีความพยายามที่ใช้คอมพิวเตอร์ ในการสื่อสารกับมนุษย์ในด้านการฟัง พูด อ่าน และเขียน เป็นภาษาแบบ Nonprocedural ซึ่งตรงข้ามกับภาษารุ่นก่อน ๆ ที่เป็นแบบ Procedural คือ ในการเขียนโปรแกรมจะต้องระบุขั้นตอนในการทำงานลงในโปรแกรม แต่การเขียนโปรแกรมด้วยภาษาแบบ Nonprocedural นั้นไม่จำเป็นต้องระบุวิธีการลงในโปรแกรมเพียงแต่บอกว่าต้องการอะไรเท่านั้น ส่วนใหญ่มักใช้ภาษารุ่นที่ 4 นี้ในการดูแลจัดการข้อมูลในระบบฐานข้อมูลและในการสร้างรายงาน