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