เนื่องจากคำจำกัดความของการเขียนโปรแกรมคอมพิวเตอร์นั้นกว้างมากและการใช้งานโปรแกรมที่แพร่หลายดังนั้นจริงๆแล้วมีการเขียนโปรแกรมคอมพิวเตอร์หลายประเภทซึ่งมักกำหนดไว้ในรูปแบบที่แตกต่างกันอย่างสิ้นเชิง ประเภทของการเขียนโปรแกรมคอมพิวเตอร์ขั้นพื้นฐานที่สุดสามารถถูกทำลายโดยภาษาการเขียนโปรแกรมเช่น C, Lisp หรือJava®ที่ใช้โดยโปรแกรมเมอร์ ในบริบทอื่น ๆ อาจมีเพียงสองประเภทของการเขียนโปรแกรมคอมพิวเตอร์ - ระบบและแอปพลิเคชัน ความแตกต่างบางประการเกิดขึ้นระหว่างการเขียนโปรแกรมเครือข่ายการเขียนโปรแกรมบนเว็บและการเขียนโปรแกรมเดสก์ท็อป บางครั้งชนิดของการเขียนโปรแกรมคอมพิวเตอร์สามารถแยกออกได้โดยแพลตฟอร์มเป้าหมายเช่นการเขียนโปรแกรมระบบฝังตัวการเขียนโปรแกรมระบบแบบเรียลไทม์ (RTS) หรือการเขียนโปรแกรมฐานข้อมูล
โปรแกรมคอมพิวเตอร์ประเภทต่าง ๆ มักถูกกำหนดโดยภาษาที่ใช้ในการเขียนซอฟต์แวร์ มีหลายภาษา แต่พวกเขาแบ่งออกเป็นภาษาที่มีโครงสร้างเช่น C หรือภาษาเชิงวัตถุเช่นJava®ซึ่งทั้งสองถูกใช้โดยมืออาชีพสำหรับงานที่แตกต่างกัน ภาษายังมีความจำเป็นเช่นที่กล่าวถึงก่อนหน้านี้หรือฟังก์ชั่นเช่น Lisp ซึ่งโปรแกรมประกอบด้วยชุดของฟังก์ชั่นแทนคำสั่ง การเขียนโปรแกรมคอมพิวเตอร์บางอย่างนั้นทำด้วยภาษาสคริปต์อย่างแท้จริงซึ่งตีความเอกสารที่มนุษย์อ่านได้ซึ่งดำเนินการภายในกรอบงานอื่น
โดยทั่วไปมีความแตกต่างระหว่างการเขียนโปรแกรมคอมพิวเตอร์สองประเภท ที่แรกก็คือการเขียนโปรแกรมประยุกต์และเกี่ยวข้องกับการเขียนโปรแกรมที่สามารถใช้โดยตรงสำหรับฟังก์ชั่นบางอย่าง อีกวิธีหนึ่งคือการเขียนโปรแกรมระบบซึ่งพยายามออกแบบโปรแกรมสำหรับการจัดการฮาร์ดแวร์หรือกรอบงานที่แอพพลิเคชั่นสามารถทำงานได้เช่นระบบปฏิบัติการ
เมื่อเทคโนโลยีด้านเครือข่ายและการสื่อสารระยะไกลเริ่มมีการใช้กันอย่างแพร่หลายมากขึ้นการเขียนโปรแกรมคอมพิวเตอร์บางประเภทจึงเริ่มแตกต่างจากการเขียนโปรแกรมคอมพิวเตอร์ในสาขาอื่น การเขียนโปรแกรมเครือข่ายถือว่าแตกต่างกันเนื่องจากความรู้ที่จำเป็นของโปรโตคอลเครือข่ายและอินเตอร์เฟสฮาร์ดแวร์ การเขียนโปรแกรมประยุกต์บนเว็บหรือเซิร์ฟเวอร์ต้องการความรู้เฉพาะเกี่ยวกับข้อ จำกัด ด้านความปลอดภัยโปรโตคอลอินเทอร์เน็ตและรูปแบบการออกแบบโปรแกรมเฉพาะ
นอกจากนี้ยังมีประเภทของการเขียนโปรแกรมคอมพิวเตอร์ที่เฉพาะเจาะจงกับเขตข้อมูลหรือฮาร์ดแวร์เป้าหมาย การเขียนโปรแกรมฐานข้อมูลเกี่ยวข้องกับการใช้ภาษาคิวรีพิเศษสคริปต์และองค์ประกอบอื่น ๆ เพื่อโต้ตอบกับโครงสร้างพื้นฐานของฐานข้อมูลที่เฉพาะเจาะจง การเขียนโปรแกรมเกมเกี่ยวข้องกับความรู้เกี่ยวกับฮาร์ดแวร์กราฟิกอัลกอริธึมกราฟิกและเทคนิคการปรับให้เหมาะสมพิเศษบางครั้ง ระบบสมองกลฝังตัวเช่นอุปกรณ์พกพาหรือคอนโซลสามารถเกี่ยวข้องกับข้อกำหนดเฉพาะของฮาร์ดแวร์และความรู้เกี่ยวกับห้องสมุดผู้จำหน่าย การเขียนโปรแกรมระบบแบบเรียลไทม์ขั้นสูงเพิ่มเติมสามารถเกี่ยวข้องกับการเขียนซอฟต์แวร์ควบคุมความล้มเหลวสำหรับโรงไฟฟ้านิวเคลียร์หรือฮาร์ดแวร์ทางทหาร


