ก่อนอื่นต้องขอเกริ่นก่อนครับว่าโปรแกรมที่เราใช้กันอยู่ในคอมพิวเตอร์ของเรานั้นมีกันกี่ประเภท และแต่ละประเภทแตกต่างกันอย่างไรบ้าง

โปรแกรมถ้าจะแบบตามการทำงานในคอมพิวเตอร์แล้วสามารถแบ่งได้ 2 ประเภทด้วยกัน ก็คือ

1. โปรแกรมระบบ (System program)

2. โปรแกรมประยุกต์ (Applications program)

โปรแกรมประยุกต์  ก็คือโปรแกรมที่เราใช้กันอยู่ทั่วไปเช่น MS word , MS Excel หรือ โปรแกรมที่อื่นที่มีให้ดาวโหลดกันทั่วไป ซึ่งโปรแกรมประยุกต์นี้จะมีหน้าที่ติดต่อระหว่างผู้ใช้งานคอมพิวเตอร์กับโปรแกรมระบบแล้วโปรแกรมระบบก็จะติดต่อกับฮาร์ดแวร์อีกที

ส่วนโปรแกรมระบบนั้นก็สามารถแบ่งย่อยออกมาได้อีกดังนี้

1.  โปรแกรมแอสเซมเบลอร์

2.  โปรแกรมบรรจุ และเชื่อมโยง

3.  โปรแกรมระบบปฏิบัติการ

4.  โปรแกรมประมวลผลแมโคร

5.  โปรแกรมแปลโปรแกรม

ซึ่งโปรแกรมระบบนี้ก็จะมีหน้าที่ที่แตกต่างกันออกไป

โปรแกรมแอสเซมเบลอร์ คือโปแกรมที่ทำหน้าที่ในการแปลโปรแกรมภาษาสัญลักษณ์ให้เป็นโปรแกรมภาษาเครื่องเพราะคอมพิวเตอร์ทำการประมวลผลโดยใช้เลขฐานสอง

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

โปรแกรมระบบปฏิบัติการ "ทุกคนอาจจะไม่ค่อยคุ้นหูกันสักเท่าไหร่แต่ถ้าบอกว่าโปรแกรมระบบปฏิบัติการก็คือ Window ก็คงจะมีค่อยชัดเจนเท่าที่ควร" ก็คือโปรแกรมที่มีหน้าที่คอยจัดสรรค์ทรัพยากรของเครื่องคอมพิวเตอร์ว่าจะต้องมีการสำรองหน่วยความจำเท่าไหร่ในการ รันแอพลิเคชันแต่ละแอพลิเคชัน ส่วนมากแล้วโปรแกรมระบบปฏิบัติการที่เราใช้กันทั่วไปก็คงจะหนี่ไม่พ้น Window ซึ่งนอกจะ Window แล้วก็ยังมีโปรแกรมระบบปฏิบัติการอื่นอีก เช่น Linux , Solaris 

โปรแกรมปรมวลผลแมโคร คือโปรแกรมที่ช่วยลดภาระนการเขียนส่วนของคำสั่งของโปรแกรมที่ต้องมีการทำงานซ้ำ ๆ

โปรแกรมแปลโปรแกรม โปรแกรมนี้จะมีคุณสมบัติแตกต่างกันออกไปคือโปรแกรมนี้จะมีหน้าที่ในการแปลโปรแกรมภาษาสัญลักษณ์ให้ไปเป็นภาษาเครื่องที่แต่ละเครื่องเข้าใจ เช่น ถ้าเราจะเขียนโปรแกรมด้วยภาษาจาวา เราจะต้องมีคอมไพเลอร์ที่ทีหน้าที่แปลภาษาจาวาให้เป็นภาษาเครื่อง

System Program