กลับไปหน้าบทความ

อ่าน 6 นาที

ภาษาโปรแกรมระดับสูง

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

ภาษาโปรแกรมระดับสูง

ภาษาโปรแกรมระดับสูงคือภาษาโปรแกรม ที่มี การแยกส่วนรายละเอียดของคอมพิวเตอร์อย่างชัดเจนตรงกันข้ามกับภาษาโปรแกรมระดับต่ำ ภาษาโปรแกรมระดับสูงอาจใช้ องค์ประกอบ ของภาษาธรรมชาติใช้งานง่ายกว่า หรืออาจทำการทำงานอัตโนมัติ (หรือแม้แต่ซ่อน) ส่วนสำคัญของระบบคอมพิวเตอร์ (เช่นการจัดการหน่วยความจำ ) ทำให้กระบวนการพัฒนาโปรแกรมง่ายขึ้นและเข้าใจได้ง่ายกว่าเมื่อใช้ภาษาโปรแกรมระดับต่ำ ปริมาณของการแยกส่วนจะกำหนดว่าภาษาโปรแกรมนั้น "ระดับสูง" เพียงใด[ 1 ]

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

ประวัติศาสตร์

ในช่วงทศวรรษแรก ๆ ของการคำนวณทางอิเล็กทรอนิกส์ โปรแกรมมักจะเขียนด้วยรหัสเครื่องหรือภาษาแอสเซมบลีซึ่งสะท้อนชุดคำสั่งของเครื่องเฉพาะอย่างใกล้ชิด ภาษาโปรแกรมระดับสูงได้รับการพัฒนาขึ้นเพื่อเป็นวิธีในการแสดงอัลกอริทึมในรูปแบบที่ใกล้เคียงกับคณิตศาสตร์ กฎทางธุรกิจ หรือขั้นตอนที่มนุษย์อ่านได้ ในขณะที่คอมไพเลอร์หรืออินเตอร์พรีเตอร์จะแปลโปรแกรมเป็นคำสั่งที่เครื่องสามารถดำเนินการได้ ในช่วงทศวรรษที่ 1950 และ 1960 คำว่าautocode มักถูกใช้สำหรับภาษา โปรแกรมระดับสูงที่ใช้คอมไพเลอร์ ตัวอย่างเช่น ระบบ Autocode ในยุคแรก ๆ รวมถึงภาษาต่าง ๆ เช่นFortranและCOBOL [ 2 ]

ภาษาโปรแกรมระดับสูงที่ออกแบบมาสำหรับคอมพิวเตอร์ในยุคแรกสุดโดยทั่วไปเรียกว่าPlankalkülซึ่งพัฒนาโดยKonrad Zuseในช่วงทศวรรษ 1940 [ 3 ]ภาษานี้มีคุณสมบัติขั้นสูง เช่น ข้อมูลที่มีโครงสร้าง การกำหนดค่า การดำเนินการตามเงื่อนไข การวนซ้ำ และซับรูทีน แต่ไม่ได้ถูกนำไปใช้งานในช่วงชีวิตของ Zuse เนื่องจาก Zuse ทำงานในเยอรมนีในช่วงสงครามและหลังสงคราม งานของเขาจึงค่อนข้างแยกตัวออกจากแนวทางการพัฒนาภาษาหลัก แม้ว่าจะมีอิทธิพลต่อSuperplan ของ Heinz Rutishauserและงานในช่วงแรกที่เกี่ยวข้องกับALGOL ในระดับที่น้อยกว่า [ 4 ]

ภาษาโปรแกรมระดับสูงภาษาแรกที่ได้รับการยอมรับอย่างกว้างขวางในทางปฏิบัติคือFortranซึ่งพัฒนาโดย IBM ในช่วงทศวรรษ 1950 ภายใต้ การดูแลของ John Backus [ 5 ] Fortranมุ่งเน้นไปที่การคำนวณทางวิทยาศาสตร์และเชิงตัวเลข ทำให้โปรแกรมเมอร์สามารถเขียนสูตรพีชคณิตและลูปได้โดยไม่ต้องจัดการคำสั่งเครื่องทุกคำสั่งด้วยตนเอง ความสำเร็จของ Fortran ช่วยแสดงให้เห็นว่าภาษาโปรแกรมระดับสูงที่คอมไพล์แล้วสามารถสร้างโปรแกรมที่มีประสิทธิภาพได้ ในขณะเดียวกันก็ลดความพยายามในการเขียนโปรแกรมลงอย่างมาก[ 6 ]

ภาษาโปรแกรมที่มีอิทธิพลอื่นๆ อีกหลายภาษาปรากฏขึ้นในช่วงเวลาเดียวกันLispซึ่งสร้างโดยJohn McCarthyได้นำเสนอการประมวลผลรายการเชิงสัญลักษณ์และทำให้แนวคิดจากแคลคูลัสแลมบ์ดา เป็นหัวใจ สำคัญของการออกแบบภาษาโปรแกรมเชิงปฏิบัติ[ 7 ] COBOLได้รับการออกแบบมาสำหรับการประมวลผลข้อมูลทางธุรกิจและกลายมาเกี่ยวข้องกับไวยากรณ์ที่คล้ายภาษาอังกฤษ เรคอร์ด และแอปพลิเคชันเชิงพาณิชย์ที่เน้นไฟล์[ 8 ]ตระกูลALGOLโดยเฉพาะALGOL 60มีอิทธิพลต่อการออกแบบภาษาในภายหลังผ่านโครงสร้างบล็อก ขั้นตอนแบบซ้อนกัน การเรียกซ้ำ ขอบเขตคำศัพท์ ความแตกต่างระหว่างการเรียกโดยค่าและการเรียกโดยชื่อ และการใช้รูปแบบ Backus–Naurเพื่อกำหนดไวยากรณ์อย่างเป็นทางการ[ 9 ]

ในช่วงทศวรรษ 1960 และ 1970 ภาษาโปรแกรมระดับสูงได้แตกแขนงออกเป็นรูปแบบการเขียนโปรแกรมที่แตกต่างกันBASICทำให้การเขียนโปรแกรมแบบโต้ตอบสามารถเข้าถึงได้ในสภาพแวดล้อมการใช้งานร่วมกันและการศึกษา ในขณะที่Pascalเน้นการเขียน โปรแกรมแบบมีโครงสร้างและการสอน Cผสมผสานโครงสร้างการควบคุมระดับสูงเข้ากับการเข้าถึงหน่วยความจำและฮาร์ดแวร์ในระดับต่ำ ทำให้มีอิทธิพลต่อระบบปฏิบัติการและซอฟต์แวร์ระบบSimulaนำเสนอโมเดลคลาสและวัตถุซึ่งกลายเป็นหัวใจสำคัญของการเขียนโปรแกรมเชิงวัตถุและSmalltalkในภายหลังได้พัฒนาการเขียนโปรแกรมเชิงวัตถุโดยเน้นการส่งข้อความและสภาพแวดล้อมการเขียนโปรแกรมแบบโต้ตอบสูง[ 10 ] [ 11 ]

ในช่วงทศวรรษ 1980 และ 1990 การพัฒนาภาษาโปรแกรมระดับสูงสะท้อนให้เห็นถึงวิศวกรรมซอฟต์แวร์ขนาดใหญ่ การประมวลผลแบบกราฟิก และการเติบโตของอินเทอร์เน็ตมากขึ้นเรื่อยๆ ภาษาAdaได้รับการออกแบบมาสำหรับระบบขนาดใหญ่ที่มีอายุการใช้งานยาวนาน โดยเฉพาะอย่างยิ่งในบริบทด้านการป้องกันประเทศและระบบฝังตัว ภาษาC++ขยายภาษา C ด้วยคลาสและกลไกนามธรรมอื่นๆ ทำให้สามารถเขียนโปรแกรมเชิงวัตถุและทั่วไปได้ ในขณะที่ยังคงรักษาความสามารถในการเขียนโปรแกรมระบบไว้[ 12 ]ภาษาสคริปต์และภาษาแอปพลิเคชันที่รวดเร็ว เช่นPerl , Python , RubyและPHPเน้นประสิทธิภาพการทำงานของโปรแกรมเมอร์และการเขียนสคริปต์ข้อความ เว็บ หรือแอปพลิเคชัน ภาษาJavaส่งเสริมการเรียกใช้ไบต์โค้ดแบบพกพาผ่านเครื่องเสมือน Javaในขณะที่JavaScriptกลายเป็นภาษาสคริปต์ระดับสูงมาตรฐานของเว็บเบราว์เซอร์[ 13 ] [ 14 ] [ 15 ]

ในศตวรรษที่ 21 ภาษาโปรแกรมระดับสูงรุ่นใหม่ๆ มักจะเน้นไปที่การสร้างนามธรรมที่ปลอดภัยยิ่งขึ้น การทำงานพร้อมกัน โค้ดเบสขนาดใหญ่ และความสามารถในการทำงานร่วมกับแพลตฟอร์มที่มีอยู่C#พัฒนาควบคู่ไป กับ แพลตฟอร์ม . NET ScalaและF#ผสมผสานการเขียนโปรแกรมเชิงวัตถุและเชิงฟังก์ชัน และKotlinมุ่งเป้าไปที่ความสามารถในการทำงานร่วมกับ Java พร้อมกับเพิ่มไวยากรณ์ที่กระชับและคุณสมบัติความปลอดภัยของค่าว่าง[ 16 ] Goได้รับการออกแบบมาเพื่อไวยากรณ์ที่เรียบง่าย การคอมไพล์ที่รวดเร็ว และการสนับสนุนการทำงานพร้อมกันในตัว[ 17 ] Rustเน้นความปลอดภัยของหน่วยความจำและความปลอดภัยของเธรดโดยไม่มีตัวเก็บขยะ ในขณะที่Swiftได้รับการแนะนำให้เป็นภาษาที่ทันสมัยสำหรับการพัฒนาซอฟต์แวร์บนแพลตฟอร์ม Apple [ 18 ] [ 19 ] TypeScriptขยาย JavaScript ด้วยการกำหนดประเภทแบบคงที่สำหรับแอปพลิเคชัน JavaScript ขนาดใหญ่[ 20 ]

บทลงโทษเชิงนามธรรม

ภาษาโปรแกรมระดับสูงมีคุณสมบัติที่ช่วยสร้างมาตรฐานให้กับงานทั่วไป อนุญาตให้ทำการดีบักได้อย่างมีประสิทธิภาพ และรักษาความเป็นอิสระทางสถาปัตยกรรม ในทางกลับกัน ภาษาโปรแกรมระดับต่ำต้องการให้ผู้เขียนโค้ดทำงานในระดับนามธรรมที่ต่ำกว่า ซึ่งโดยทั่วไปแล้วจะมีความท้าทายมากกว่า แต่ก็ช่วยให้สามารถเพิ่มประสิทธิภาพได้ในแบบที่ไม่สามารถทำได้ในภาษาโปรแกรมระดับสูง ข้อเสียของการใช้ภาษาโปรแกรมระดับสูงแทนภาษาโปรแกรมระดับต่ำนั้นเป็นเรื่องจริง แต่ในทางปฏิบัติ การเพิ่มประสิทธิภาพในระดับต่ำแทบจะไม่ช่วยปรับปรุงประสิทธิภาพในระดับประสบการณ์ของผู้ใช้เลย[ 21 ] [ 22 ] [ 23 ]อย่างไรก็ตาม โค้ดที่ต้องทำงานอย่างรวดเร็วและมีประสิทธิภาพอาจต้องใช้ภาษาโปรแกรมระดับต่ำ แม้ว่าภาษาโปรแกรมระดับสูงจะทำให้การเขียนโค้ดและการบำรุงรักษาง่ายขึ้นก็ตาม ในหลายกรณี ส่วนสำคัญของโปรแกรมส่วนใหญ่ที่เขียนด้วยภาษาโปรแกรมระดับสูงจะถูกเขียนด้วยภาษาแอสเซมบลีเพื่อให้ตรงตามข้อจำกัดด้านเวลาหรือหน่วยความจำที่เข้มงวด คอมไพเลอร์ที่ออกแบบมาอย่างดีสำหรับภาษาโปรแกรมระดับสูงสามารถสร้างโค้ดที่มีประสิทธิภาพเทียบเท่ากับโค้ดที่เขียนด้วยมือในภาษาแอสเซมบลีได้ และนามธรรมระดับสูงบางครั้งช่วยให้สามารถเพิ่มประสิทธิภาพได้เหนือกว่าประสิทธิภาพของการเขียนโค้ดแอสเซมบลีด้วยมือ[ 24 ]เนื่องจากภาษาโปรแกรมระดับสูงได้รับการออกแบบโดยไม่ขึ้นอยู่กับสถาปัตยกรรมของระบบ คอมพิวเตอร์เฉพาะ โปรแกรมที่เขียนด้วยภาษาดังกล่าวจึงสามารถทำงานบนบริบทการคำนวณใดๆ ก็ได้ที่มีคอมไพเลอร์หรือตัวแปลภาษาที่เข้ากันได้

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

ความหมายเชิงสัมพัทธ์

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

ภาษา C รองรับโครงสร้างต่างๆ เช่น การประเมินนิพจน์ ฟังก์ชัน พารามิเตอร์และฟังก์ชันเรียกซ้ำ ประเภทข้อมูล และโครงสร้าง ซึ่งโดยทั่วไปแล้วไม่ได้รับการสนับสนุนในภาษาแอสเซมบลีหรือโดยตรงจากโปรเซสเซอร์ แต่ภาษา C ก็มีคุณสมบัติระดับต่ำกว่า เช่น การเพิ่มค่าอัตโนมัติและการคำนวณทางคณิตศาสตร์ของตัวชี้ อย่างไรก็ตาม ภาษา C ขาดนามธรรมระดับสูงหลายอย่างที่พบได้ทั่วไปในภาษาอื่นๆ เช่นการเก็บขยะและประเภทสตริงในตัว ในบทนำของหนังสือ The C Programming Language (ฉบับที่สอง) โดยBrian KernighanและDennis Ritchieภาษา C ถูกอธิบายว่าเป็นภาษาที่ "ไม่ได้ระดับสูงมากนัก" [ 25 ]

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

รหัสเครื่องอยู่ในระดับนามธรรมที่สูงกว่ารหัสไมโครหรือการดำเนินการไมโครที่ใช้ภายในโปรเซสเซอร์หลายตัว เล็กน้อย [ 26 ]

โหมดการดำเนินการ

โค้ดต้นฉบับของภาษาโปรแกรมระดับสูงสามารถประมวลผลได้หลายวิธี เช่น:

รวบรวม
คอมไพเลอร์ทำหน้าที่แปลงโค้ดต้นฉบับให้เป็นโค้ดอื่น ในบางกรณี คอมไพเลอร์จะสร้างโค้ดเครื่องจักรแบบเนทีฟซึ่งจะถูกตีความโดยโปรเซสเซอร์ อย่างไรก็ตาม โมเดลการทำงานในปัจจุบันจำนวนมากเกี่ยวข้องกับการสร้างตัวแทนระดับกลาง (เช่นไบต์โค้ด ) ซึ่งจะถูกตีความในซอฟต์แวร์ในภายหลัง หรือแปลงเป็นโค้ดเนทีฟในขณะรันไทม์ (ผ่านการคอมไพล์แบบ JIT )
บางครั้งฮาร์ดแวร์ได้รับการปรับให้เหมาะสมกับข้อกำหนดด้านเวลาการทำงานของภาษาเฉพาะ ตัวอย่างเช่นBurroughs Large Systemsเป็นเครื่องเป้าหมายสำหรับALGOL 60 [ 27 ]
แปลงแล้ว
โค้ดสามารถถูกแปลงเป็นซอร์สโค้ดของภาษาอื่น (โดยทั่วไปคือภาษาระดับล่าง) ที่มีคอมไพเลอร์หรืออินเตอร์พรีเตอร์รองรับได้JavaScriptและCเป็นภาษาเป้าหมายทั่วไปสำหรับตัวแปลงดังกล่าว ตัวอย่างเช่น โค้ด C และ C++ สามารถมองเห็นได้ว่าถูกสร้างขึ้นจากโค้ด Eiffel เมื่อใช้EiffelStudio IDE ใน Eiffel กระบวนการ แปลง นี้ เรียกว่าtranscompilingหรือtranscompiledและคอมไพเลอร์ของ Eiffel เรียกว่า transcompiler หรือsource-to-source compiler
ซอฟต์แวร์ที่ตีความ
โปรแกรมแปลภาษาจะดำเนินการตามคำสั่งที่เข้ารหัสไว้ในซอร์สโค้ด โดยไม่สร้างโค้ดเครื่องจักรดั้งเดิม
ฮาร์ดแวร์ที่ตีความ
แม้ว่าจะไม่พบบ่อยนัก แต่โปรเซสเซอร์ที่มีสถาปัตยกรรมคอมพิวเตอร์ภาษาระดับสูงสามารถประมวลผลภาษาระดับสูงได้โดยไม่ต้องมีขั้นตอนการคอมไพล์ที่ตั้งโปรแกรมไว้[ 28 ]

โปรดทราบว่าภาษาไม่ได้ถูกกำหนดให้เป็นการตีความหรือการคอมไพล์อย่างเคร่งครัดเสมอไป แต่รูปแบบการทำงานนั้นเกี่ยวข้องกับคอมไพเลอร์หรือตัวตีความ และภาษาเดียวกันอาจถูกใช้กับรูปแบบการทำงานที่แตกต่างกันได้ ตัวอย่างเช่นALGOL 60และFortranต่างก็ถูกตีความแม้ว่าโดยทั่วไปแล้วจะถูกคอมไพล์มากกว่า ในทำนองเดียวกัน Java แสดงให้เห็นถึงความยากลำบากในการพยายามใช้ป้ายกำกับเหล่านี้กับภาษา แทนที่จะใช้กับวิธีการใช้งาน Java ถูกคอมไพล์เป็นไบต์โค้ด จากนั้นจึงถูกประมวลผลโดยการตีความในเครื่องเสมือน Java (JVM) หรือการคอมไพล์แบบ JIT

ดูเพิ่มเติม

  • https://c2.com/cgi/wiki?HighLevelLanguage – บทความเกี่ยวกับภาษาโปรแกรมระดับสูงจากWikiWikiWeb
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=High-level_programming_language&oldid=1357973774 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ภาษาโปรแกรมระดับสูง

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

ประวัติศาสตร์

ในช่วงทศวรรษแรก ๆ ของการคำนวณทางอิเล็กทรอนิกส์ โปรแกรมมักจะเขียนด้วย รหัสเครื่อง หรือ ภาษาแอสเซมบลี ซึ่งสะท้อนชุดคำสั่งของเครื่องเฉพาะอย่างใกล้ชิด ภาษาโปรแกรมระดับสูงได้รับการพัฒนาขึ้นเพื่อเป็นวิธีในการแสดงอัลกอริทึมในรูปแบบที่ใกล้เคียงกับคณิตศาสตร์...

บทลงโทษเชิงนามธรรม

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

ความหมายเชิงสัมพัทธ์

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