ภาษาคอมพิวเตอร์ หมายถึง ภาษาใดๆ ที่ผู้ใช้งานใช้สื่อสารกับคอมพิวเตอร์ หรือคอมพิวเตอร์ด้วยกัน แล้วคอมพิวเตอร์สามารถทำงานตามคำสั่งนั้นได้ คำนี้มักใช้เรียกแทนภาษาโปรแกรม แต่ความเป็นจริงภาษาโปรแกรมคือส่วนหนึ่งของภาษาคอมพิวเตอร์เท่านั้น และมีภาษาอื่นๆ ที่เป็นภาษาคอมพิวเตอร์เช่นกัน ยกตัวอย่างเช่น HTML เป็นทั้งภาษามาร์กอัปและภาษาคอมพิวเตอร์ด้วย แม้ว่ามันจะไม่ใช่ภาษาโปรแกรม หรือภาษาเครื่องนั้นก็นับเป็นภาษาคอมพิวเตอร์ ซึ่งโดยทางเทคนิคสามารถใช้ในการเขียนโปรแกรมได้ แต่ก็ไม่จัดว่าเป็นภาษาโปรแกรม
ภาษาคอมพิวเตอร์สามารถแบ่งออกเป็นสองกลุ่มคือ ภาษาระดับสูง (high level) และภาษาระดับต่ำ (low level) ภาษาระดับสูงถูกออกแบบมาเพื่อให้ใช้งานง่ายและสะดวกสบายมากกว่าภาษาระดับต่ำ โปรแกรมที่เขียนถูกต้องตามกฎเกณฑ์และไวยากรณ์ของภาษาจะถูกแปล (compile) ไปเป็นภาษาระดับต่ำเพื่อให้คอมพิวเตอร์สามารถนำไปใช้งานหรือปฏิบัติตามคำ สั่งได้ต่อไป ซอฟต์แวร์สมัยใหม่ส่วนมากเขียนด้วยภาษาระดับสูง แปลไปเป็นออบเจกต์โค้ด (object code) แล้วเปลี่ยนให้เป็นชุดคำสั่งในภาษาเครื่อง
ภาษาคอมพิวเตอร์อาจแบ่งกลุ่มได้เป็นอีกสองประเภทคือ ภาษาที่มนุษย์อ่านออก (human-readable) และภาษาที่มนุษย์อ่านไม่ออก (non human-readable) ภาษาที่มนุษย์อ่านออกถูกออกแบบมาเพื่อให้มนุษย์สามารถเข้าใจและสื่อสารได้ โดยตรงกับคอมพิวเตอร์ ส่วนใหญ่เป็นภาษาอังกฤษ ส่วนภาษาที่มนุษย์อ่านไม่ออกจะมีโค้ดบางส่วนที่ไม่อาจอ่านเข้าใจได้
ลักษณะที่คล้ายคลึงกันของภาษาคอมพิวเตอร์
ลักษณะที่คล้ายคลึงกันของภาษาคอมพิวเตอร์ทุกภาษา ก็คือต้องมีคำสั่งต่อไปนี้
1. คำสั่งรับข้อมูลและแสดงผล คำสั่งประเภทนี้จำเป็นอย่างยิ่งที่จะต้องมีใช้ในภาษา กับทั้งยังต้องแจกแจงละเอียดต่อไปด้วยว่า รับผ่านอุปกรณ์ใด และแสดงผลทางอุปกรณ์ใด
2. คำสั่งคำนวณ โปรแกรมหรือคำสั่งที่เขียนจะหนีไม่พ้นคำสั่งที่สั่งให้ประมวลผลประเภท บวก ลบ คูณ หาร
3. คำสั่งที่มีการเลือกทิศทาง หมายถึง สั่งให้มีการเปรียบเทียบ เช่น ถ้ามากกว่าให้ทำอย่างหนึ่ง ถ้าเท่ากันให้ทำอย่างหนึ่ง หรือน้อยกว่าให้ทำอีกอย่างหนึ่ง เป็นต้น นอกจากนั้นอาจมีคำสั่งประเภทให้ทำงานเป็นวงซ้ำแล้วซ้ำอีก จนกว่าจะมีการเปรียบเทียบค่า ซึ่งถ้าเป็นเท่านั้นเท่านี้ หรือมากกว่าหรือน้อยกว่าก็ให้หยุดได้
4. คำสั่งให้นำโปรแกรมหรือข้อมูลออกมาจาก และ/หรือส่งเข้าไปเก็บในสื่ออย่างใดอย่างหนึ่งเพื่อเรียกมาใช้ใหม่ได้
ภาษาเครื่อง
ภาษาเครื่อง เป็นภาษาที่ใช้กันมาตั้งแต่เริ่มมีคอมพิวเตอร์ใหม่ๆ ลักษณะทั่วไปก็คือใช้รหัสเป็นเลขฐานสองทั้งหมด ซึ่งนับว่ายุ่งยากกับผู้ใช้มาก แต่ก็เป็นภาษาเดียวที่คอมพิวเตอร์จะเข้าใจได้ทันที
คำสั่งที่เขียนด้วยภาษานี้จะแบ่งเป็นสองส่วน ส่วนแรกเป็นคำสั่งที่จะสั่งให้เครื่องคอมพิวเตอร์รู้ว่าจะต้องทำอะไร เรียกส่วนนี้ว่า ออปโคด (Opcode หรือที่ย่อมาจากคำ Operation code) ส่วนที่สองจะบอกคอมพิวเตอร์ว่าให้ไปนำข้อมูลมาจากที่ใด เรียกส่วนนี้ว่า โอเปอร์แรนด์(Operand) ในการเขียนด้วยคำสั่งภาษานี้ ผู้ทำโปรแกรมจะต้องจำที่อยู่ (Address) ของข้อมูลหรือที่เก็บข้อมูลเหล่านั้น (ซึ่งจะเป็นตัวเลขทั้งหมด)ได้ อาจมีตั้งแต่ 1-100,000 แล้วแต่ขนาดของเครื่อง ปกติกว่าจะจำได้ มักจะใช้เวลามากและแม้กระนั้นก็ยังผิดพลาดอยู่เสมอ เช่น ถ้าจะสั่งให้นำค่าที่หน่วยความจำเลขที่ 0184 บวกกับค่าที่อยู่ในหน่วยความจำ 8672 จะเขียนว่า
00100000000000000000000000010111000
หรือแม้แต่เขียนเป็นเลขฐานสิบก็ยังยุ่งยาก คำสั่งของภาษาเครื่องนี้ จะต่างกันไปตามชนิดของเครื่องคอมพิวเตอร์ที่ใช้
ภาษาเครื่อง (Machine Language) เป็นภาษาเดียวที่คอมพิวเตอร์เข้าใจ และเป็นภาษาที่ประกอบด้วยตัวอักษรเพียงสองตัวคือ 0 กับ 1 เท่านั้น การใช้
ภาษาเครื่องนั้นค่อนข้างยากมาก นอกจากจะต้องจำคำสั่งเป็นลำดับของเลข 0 กับ 1 แล้วยังจะต้องออกคำสั่งต่างๆ อย่างละเอียดมากๆ ด้วย
ตัวอย่างเช่น คำสั่งภาษาเครื่องสำหรับบวกเลขสองจำนวนอาจมีลักษณะดังนี้