วันอังคารที่ 6 ธันวาคม พ.ศ. 2554

ซอฟต์แวร์

ความหมายของซอฟต์แวร์

ซอฟต์แวร์ และ ภาษาคอมพิวเตอร์
ซอฟต์แวร์ (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 เป็นต้น
ตารางที่ 1 แสดงข้อแตกต่างระหว่างอินเทอพรีทเตอร์กับคอมไพเลอร์
อินเทอพรีทเตอร์
(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 นี้ในการดูแลจัดการข้อมูลในระบบฐานข้อมูลและในการสร้างรายงาน