อ่าน 3 นาที
ภาษาการเขียนโปรแกรมระบบ
ภาษาการเขียนโปรแกรมระบบคือภาษาการเขียนโปรแกรมที่ใช้สำหรับ การ เขียนโปรแกรมระบบภาษาเหล่านี้ได้รับการออกแบบมาเพื่อเขียนซอฟต์แวร์ระบบซึ่งโดยปกติแล้วต้องใช้วิธีการพัฒนาที่แตกต่างกันเมื...
ภาษาการเขียนโปรแกรมระบบ
ภาษาการเขียนโปรแกรมระบบคือภาษาการเขียนโปรแกรมที่ใช้สำหรับ การ เขียนโปรแกรมระบบภาษาเหล่านี้ได้รับการออกแบบมาเพื่อเขียนซอฟต์แวร์ระบบซึ่งโดยปกติแล้วต้องใช้วิธีการพัฒนาที่แตกต่างกันเมื่อเปรียบเทียบกับซอฟต์แวร์แอปพลิเคชันEdsger Dijkstraเรียกภาษาเหล่านี้ว่าภาษาลำดับสูงที่มุ่งเน้นเครื่องจักรหรือmohol [ 1 ]
ภาษาโปรแกรมอเนกประสงค์มักเน้นคุณสมบัติทั่วไปเพื่อให้โปรแกรมที่เขียนด้วยภาษานั้นสามารถใช้โค้ดเดียวกันบนแพลตฟอร์มคอมพิวเตอร์ ที่แตกต่างกันได้ ตัวอย่างของภาษาดังกล่าวได้แก่ALGOLและPascalคุณสมบัติทั่วไปนี้มักมาพร้อมกับข้อเสียคือการไม่สามารถเข้าถึงการทำงานภายในของเครื่องได้โดยตรง และมักส่งผลเสียต่อประสิทธิภาพการทำงาน
ในทางตรงกันข้าม ภาษาโปรแกรมระบบถูกออกแบบมาโดยไม่ได้เน้นความเข้ากันได้ แต่เน้นประสิทธิภาพและความสะดวกในการเข้าถึงฮาร์ดแวร์คอมพิวเตอร์ พื้นฐาน ในขณะเดียวกันก็ยังคงมีแนวคิดการเขียนโปรแกรมระดับสูง เช่น การเขียนโปรแกรมเชิงโครงสร้างตัวอย่างเช่นภาษา Executive Systems Problem Oriented Language (ESPOL) และSystems Programming Language (SPL) ซึ่งทั้งสองภาษามี ไวยากรณ์คล้ายกับ ALGOL แต่ได้รับการปรับแต่งให้เข้ากับแพลตฟอร์มของตนเอง นอกจากนี้ยังมีซอฟต์แวร์ข้ามแพลตฟอร์มอื่นๆที่ ออกแบบมาให้ทำงานใกล้ชิดกับฮาร์ดแวร์ เช่นBLISS , JOVIALและBCPL
บางภาษามีความเชื่อมโยงระหว่างโดเมนระบบและโดเมนแอปพลิเคชัน โดยเชื่อมช่องว่างระหว่างการใช้งานทั้งสองด้าน ตัวอย่างที่โดดเด่นคือภาษาCซึ่งใช้กันอย่างแพร่หลายทั้งในการเขียนโปรแกรมระบบและแอปพลิเคชัน ภาษาPL /Iก็เป็นตัวอย่างแรกๆ ภาษาโปรแกรมสมัยใหม่บางภาษาก็ทำเช่นเดียวกัน เช่นRustและSwift
คุณสมบัติ
ในทางตรงกันข้ามกับภาษาโปรแกรมแอปพลิเคชัน ภาษาโปรแกรมระบบโดยทั่วไปจะให้การเข้าถึงฮาร์ดแวร์ทางกายภาพของเครื่องได้โดยตรงมากกว่า ตัวอย่างภาษาโปรแกรมระบบที่เป็นแบบอย่างในแง่นี้คือBCPL ภาษาโปรแกรมระบบมักขาดสิ่งอำนวยความสะดวกด้าน อินพุต/เอาต์พุต (I/O) ในตัว เนื่องจากโครงการซอฟต์แวร์ระบบมักจะพัฒนาฟังก์ชัน I/O ของตนเอง หรือสร้างขึ้นบนพื้นฐานของ I/O ของจอภาพหรือสิ่งอำนวยความสะดวกในการจัดการหน้าจอ ความแตกต่างระหว่างภาษาที่ใช้สำหรับการเขียนโปรแกรมระบบและการเขียนโปรแกรมแอปพลิเค ชัน เริ่มเลือนลางไปตามกาลเวลาด้วยความนิยมอย่างแพร่หลายของPL/I , CและPascal
ประวัติศาสตร์
ซอฟต์แวร์ระบบรุ่นแรกสุดเขียนด้วยภาษาแอสเซมบลีเป็นส่วนใหญ่ เนื่องจากไม่มีทางเลือกอื่น แต่ยังมีเหตุผลอื่นๆ เช่น ประสิทธิภาพของโค้ดออบ เจ็ก ต์ เวลา ในการคอมไพล์และความง่ายในการดีบัก ภาษาแอปพลิเคชัน เช่นFORTRANถูกใช้สำหรับการเขียนโปรแกรมระบบ แม้ว่าโดยทั่วไปแล้วยังคงต้องมีการเขียนรูทีนบางส่วนด้วยภาษาแอสเซมบลี[ 2 ]
ภาษาระดับกลาง
ภาษาระดับกลาง "มี ไวยากรณ์ และสิ่งอำนวยความสะดวก มากมายเหมือนกับภาษาระดับสูง แต่ยังให้การเข้าถึงโดยตรงในภาษา (และมักจะเป็นภาษาแอสเซมบลี) ไปยังคุณสมบัติของเครื่องจักร" [ 2 ]ภาษาแรกสุดในกลุ่มนี้คือESPOLบนเมนเฟรม Burroughs ในช่วงประมาณปี 1960 ตามมาด้วยPL360ของNiklaus Wirth (เขียนขึ้นครั้งแรกบนระบบ Burroughs ในฐานะคอมไพเลอร์แบบครอส ) ซึ่งมีไวยากรณ์ทั่วไปของALGOL 60แต่คำสั่งต่างๆ จะจัดการรีจิสเตอร์และหน่วยความจำของ CPU โดยตรง ภาษาอื่นๆ ในหมวดหมู่นี้ ได้แก่MOL-360และPL/ S
ตัวอย่างเช่น คำสั่ง PL360 ทั่วไปคือR9 := R8 and R7 shll 8 or R6ซึ่งหมายความว่ารีจิสเตอร์ 8 และ 7 ควรถูกดำเนินการ AND ร่วมกัน ผลลัพธ์จะถูกเลื่อนไปทางซ้าย 8 บิต ผลลัพธ์ของการดำเนินการ OR นั้นจะถูกนำไปรวมกับเนื้อหาของรีจิสเตอร์ 6 และผลลัพธ์สุดท้ายจะถูกใส่ลงในรีจิสเตอร์ 9 [ 3 ]
ภาษาระดับสูง
ในขณะที่ PL360 อยู่ในระดับความหมายของภาษาแอสเซมบลี ภาษาการเขียนโปรแกรมระบบอีกประเภทหนึ่งทำงานในระดับความหมายที่สูงกว่า แต่มีส่วนขยายเฉพาะที่ออกแบบมาเพื่อให้ภาษานั้นเหมาะสมสำหรับการเขียนโปรแกรมระบบ ตัวอย่างแรกๆ ของภาษาประเภทนี้คือ LRLTRAN [ 4 ]ซึ่งขยาย Fortran ด้วยคุณสมบัติสำหรับการจัดการอักขระและบิต ตัวชี้ และตารางกระโดดที่ระบุโดยตรง
ต่อมา ภาษาต่างๆ เช่น C ได้รับการพัฒนาขึ้น โดยการรวมคุณสมบัติต่างๆ นั้นเพียงพอที่จะเขียนซอฟต์แวร์ระบบได้ และสามารถพัฒนาคอมไพเลอร์ ที่สร้างโปรแกรมออบเจ็กต์ที่มีประสิทธิภาพบนฮาร์ดแวร์ที่ไม่ซับซ้อนได้ โดยทั่วไปแล้ว ภาษาดังกล่าวจะละเว้นคุณสมบัติที่ไม่สามารถนำไปใช้งานได้อย่างมีประสิทธิภาพ และเพิ่มคุณสมบัติที่ขึ้นอยู่กับเครื่องจักรจำนวนเล็กน้อยที่จำเป็นต่อการเข้าถึงความสามารถของฮาร์ดแวร์เฉพาะ โค้ดแอสเซมบลีแบบอินไลน์ เช่น คำสั่ง `inline`asm ของ C มักใช้เพื่อจุดประสงค์นี้ แม้ว่าจะมีการพัฒนาภาษาดังกล่าวมากมาย[ 1 ]แต่ C และC++เป็นภาษาที่ยังคงอยู่รอดมาได้
ภาษาหลัก
ดูเพิ่มเติม
หมายเหตุ
ลิงก์ภายนอก
- Corbató, Fernando (6 พฤษภาคม 1969). "PL/I ในฐานะเครื่องมือสำหรับการเขียนโปรแกรมระบบ" . Datamation : 68– 76. เก็บถาวรจากต้นฉบับเมื่อ 21 กันยายน 2012. สืบค้นเมื่อ23 มกราคม 2012 .
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ ภาษาการเขียนโปรแกรมระบบ
ภาษาการเขียนโปรแกรมระบบคือภาษาการเขียนโปรแกรมที่ใช้สำหรับ การ เขียนโปรแกรมระบบภาษาเหล่านี้ได้รับการออกแบบมาเพื่อเขียนซอฟต์แวร์ระบบซึ่งโดยปกติแล้วต้องใช้วิธีการพัฒนาที่แตกต่างกันเมื...
คุณสมบัติ
ในทางตรงกันข้ามกับภาษาโปรแกรมแอปพลิเคชัน ภาษาโปรแกรมระบบโดยทั่วไปจะให้การเข้าถึงฮาร์ดแวร์ทางกายภาพของเครื่องได้โดยตรงมากกว่า ตัวอย่างภาษาโปรแกรมระบบที่เป็นแบบอย่างในแง่นี้คือ BCPL ภาษาโปรแกรมระบบมักขาดสิ่งอำนวยความสะดวกด้าน อินพุต/เอาต์พุต (I/O) ในตัว...
ประวัติศาสตร์
ซอฟต์แวร์ระบบรุ่นแรกสุดเขียนด้วย ภาษาแอสเซมบลี เป็นส่วนใหญ่ เนื่องจากไม่มีทางเลือกอื่น แต่ยังมีเหตุผลอื่นๆ เช่น ประสิทธิภาพของ โค้ดออบ เจ็ก ต์ เวลา ในการคอมไพล์ และความง่ายในการดีบัก ภาษาแอปพลิเคชัน เช่น FORTRAN ถูกใช้สำหรับการเขียนโปรแกรมระบบ...
ภาษาระดับกลาง
ภาษาระดับกลาง "มี ไวยากรณ์ และสิ่งอำนวยความสะดวก มากมายเหมือนกับภาษาระดับสูง แต่ยังให้การเข้าถึงโดยตรงในภาษา (และมักจะเป็นภาษาแอสเซมบลี) ไปยังคุณสมบัติของเครื่องจักร" [ 2 ] ภาษาแรกสุดในกลุ่มนี้คือ ESPOL บนเมนเฟรม Burroughs ในช่วงประมาณปี 1960 ตามมาด้วย PL360...