ภาษาระดับสูงที่นิยมใช้กับไมโครคอนโทรลเลอร์ คือภาษา

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

ในปี 1960 ที่ระดับสูงการเขียนโปรแกรมภาษาที่ใช้คอมไพเลอร์ถูกเรียกกันว่าautocodes [2]ตัวอย่างของ autocodes เป็นภาษาโคบอลและFortran [3]

การเขียนโปรแกรมภาษาระดับสูงครั้งแรกที่ออกแบบมาสำหรับคอมพิวเตอร์เป็นPlankalkülที่สร้างขึ้นโดยคอนราดซูส [4]อย่างไรก็ตามมันก็ไม่ได้ดำเนินการในเวลาที่เขาและผลงานเดิมของเขาถูกแยกส่วนใหญ่มาจากการพัฒนาอื่น ๆ อันเนื่องมาจากสงครามโลกครั้งที่สองนอกเหนือจากอิทธิพลของภาษาในภาษา "Superplan" โดยไฮนซ์ Rutishauserและยังมีบางส่วนAlgol ภาษาระดับสูงที่แพร่หลายอย่างมีนัยสำคัญตัวแรกคือFortranซึ่งเป็นการพัฒนาระบบAutocodeรุ่นก่อนหน้าของ IBM โดยไม่ขึ้นกับเครื่อง Algolที่กำหนดไว้ในปี 1958 และ 1960 โดยคณะกรรมการของยุโรปและนักวิทยาศาสตร์คอมพิวเตอร์ชาวอเมริกันแนะนำการเรียกซ้ำเช่นเดียวกับฟังก์ชั่นที่ซ้อนกันอยู่ภายใต้ขอบเขตของคำศัพท์ นอกจากนี้ยังเป็นภาษาแรกที่มีความแตกต่างอย่างชัดเจนระหว่างค่าและชื่อ - พารามิเตอร์และความหมายที่เกี่ยวข้อง [5] Algol ยังนำเสนอแนวคิดการเขียนโปรแกรมแบบมีโครงสร้างหลายอย่างเช่นโครงสร้างwhile-doและif-then-elseและไวยากรณ์ของมันเป็นแบบแรกที่อธิบายในรูปแบบทางการ - " Backus – Naur form " (BNF) ในช่วงเวลาใกล้เคียงกันCobol ได้เปิดตัวบันทึก (หรือที่เรียกว่าโครงสร้าง) และLisp ได้เปิดตัวแลมบ์ดาที่เป็นนามธรรมโดยทั่วไปในภาษาโปรแกรมเป็นครั้งแรก

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

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

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

ตัวอย่างของภาษาโปรแกรมระดับสูงที่ใช้งานอยู่ในปัจจุบัน ได้แก่Python , Visual Basic , Delphi , Perl , PHP , ECMAScript , Ruby , C # , Javaและอื่น ๆ อีกมากมาย

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

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

มีโหมดการทำงานทั่วไปสามโหมดสำหรับภาษาระดับสูงสมัยใหม่:

ตีความเมื่อมีการตีความโค้ดที่เขียนด้วยภาษา ไวยากรณ์จะถูกอ่านและดำเนินการโดยตรงโดยไม่มีขั้นตอนการคอมไพล์ โปรแกรมที่เรียกว่า ล่ามอ่านคำสั่งแต่ละโปรแกรมดังต่อไปนี้การไหลของโปรแกรมแล้วตัดสินใจว่าจะทำอย่างไรและไม่ได้ ลูกผสมของล่ามและคอมไพเลอร์จะรวบรวมคำสั่งเป็นรหัสเครื่องและดำเนินการดังกล่าว จากนั้นรหัสเครื่องจะถูกทิ้งเพื่อตีความใหม่หากมีการเรียกใช้บรรทัดอีกครั้ง โดยทั่วไปแล้วล่ามเป็นการนำพฤติกรรมของภาษาไปใช้ที่ง่ายที่สุดเมื่อเทียบกับอีกสองรูปแบบที่ระบุไว้ที่นี่เรียบเรียงเมื่อมีการคอมไพล์โค้ดที่เขียนด้วยภาษา ไวยากรณ์จะถูกแปลงเป็นรูปแบบปฏิบัติการก่อนที่จะรัน การคอมไพล์มีสองประเภท:การสร้างรหัสเครื่องคอมไพเลอร์บางรวบรวมรหัสที่มาโดยตรงใน รหัสเครื่อง นี่คือโหมดดั้งเดิมของการคอมไพล์และภาษาที่เปลี่ยนเป็นรหัสของเครื่องโดยตรงและสมบูรณ์ด้วยวิธีนี้อาจเรียกว่า ภาษาที่คอมไพล์อย่างแท้จริง ดู ภาษาประกอบการแสดงระดับกลางเมื่อโค้ดที่เขียนด้วยภาษาถูกคอมไพล์ไปยังการ แสดงระดับกลางการแทนค่านั้นสามารถปรับให้เหมาะสมหรือบันทึกไว้เพื่อดำเนินการในภายหลังโดยไม่จำเป็นต้องอ่านซอร์สไฟล์ซ้ำ เมื่อการแสดงกลางจะถูกบันทึกไว้ก็อาจจะเป็นในรูปแบบเช่น bytecode จากนั้นการเป็นตัวแทนระดับกลางจะต้องถูกตีความหรือรวบรวมเพิ่มเติมเพื่อดำเนินการ เครื่องเสมือนที่เรียกใช้ bytecode โดยตรงหรือแปลงเพิ่มเติมเป็นรหัสเครื่องทำให้ความแตกต่างที่ชัดเจนครั้งหนึ่งระหว่างการแสดงระดับกลางและภาษาที่คอมไพล์อย่างแท้จริงแปลจากแหล่งที่มาหรือแปลงไฟล์โค้ดที่เขียนด้วยภาษาอาจถูกแปลเป็นภาษาระดับล่างซึ่งคอมไพเลอร์โค้ดเนทีฟนั้นใช้กันทั่วไปอยู่แล้ว JavaScriptและภาษา Cเป็นเป้าหมายทั่วไปสำหรับนักแปลดังกล่าว ดู CoffeeScript , ไก่โครงการและ หอไอเฟลเป็นตัวอย่าง โดยเฉพาะรหัส C และ C ++ ที่สร้างขึ้นสามารถมองเห็นได้ (ซึ่งสร้างจากภาษา Eiffel เมื่อใช้ EiffelStudio IDE) ในไดเรกทอรี EIFGENs ของโครงการ Eiffel ที่คอมไพล์ ในหอไอเฟลที่ แปลกระบวนการจะเรียกว่าเป็น transcompiling หรือ transcompiled และคอมไพเลอร์ไอเฟลเป็น transcompiler หรือ คอมไพเลอร์ที่มาต่อแหล่งที่มา

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

สถาปัตยกรรมคอมพิวเตอร์ภาษาระดับสูง

หรืออีกวิธีหนึ่งเป็นไปได้ที่คอมพิวเตอร์จะใช้ภาษาระดับสูงโดยตรง - คอมพิวเตอร์เรียกใช้รหัส HLL โดยตรง นี้เป็นที่รู้จักกันในระดับสูงสถาปัตยกรรมคอมพิวเตอร์ภาษา - The สถาปัตยกรรมคอมพิวเตอร์ตัวเองถูกออกแบบมาเพื่อกำหนดเป้าหมายโดยเฉพาะภาษาสูงระดับ โรห์ระบบขนาดใหญ่เป็นเครื่องเป้าหมายALGOL 60ยกตัวอย่างเช่น [11]

ภาษาระดับสูงมีภาษาใดบ้าง

โปรแกรมด้วยภาษาระดับสูงได้ง่ายกว่าเขียนด้วยภาษาแอสเซมบลีหรือภาษาเครื่อง ภาษาระดับสูงมีมากมายหลายภาษา อาทิเช่น ภาษาฟอร์แทรน (FORTRAN) ภาษาโคบอล (COBOL) ภาษาปาสคาล (Pascal) ภาษาเบสิก(BASIC) ภาษาวิชวลเบสิก (Visual Basic) ภาษาซี (C) และภาษาจาวา (Java) เป็นต้น โปรแกรมที่เขียนด้วยภาษาระดับสูง

ภาษาใดที่ใช้กับไมโครคอนโทรลเลอร์

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

ข้อใดทำหน้าที่แปลภาษาระดับสูงเป็นภาษาเครื่อง

(2) อินเตอร์พรีเตอร์ (Interpreter)เป็นโปรแกรมที่ทำหน้าที่ในการแปลโปรแกรมที่เขียนด้วยภาษาระดับสูงให้เป็นภาษาเครื่องเช่นเดียวกับคอมไพเลอร์ ความแตกต่างจะอยู่ที่อินเตอร์พรีเตอร์จะทำการแปลและประมวลผลทีละคำสั่ง ข้อเสียของอินเตอร์พรีเตอร์ก็คือ ถ้านำโปรแกรมนี้มาใช้งานอีกจะต้องทำการแปลโปรแกรมทุกครั้ง ภาษาบางภาษามีโปรแกรมแปลทั้ง ...

ข้อใดคือความหมายของภาษาระดับสูง (High Level Language)

ภาษาระดับสูง (High Level Language) เป็นภาษาที่ใช้ง่ายขึ้นกว่าภาษาสัญลักษณ์ โดยผู้คิดค้นภาษาได้ออกแบบคำสั่ง ไวยากรณ์ และกฏเกณฑ์ต่างๆ ออกมาให้รัดกุม และจำได้ง่าย ภาษาระดับสูงนี้ยังอาจจะแบ่งออกได้เป็นหลายประเภท เช่น ประเภทที่เหมาะกับงานวิทยาศาสตร์และวิศวกรรมศาสตร์ได้แก่ ภาษา Fortran ภาษา BASIC ภาษา PASCAL ภาษา C.

กระทู้ที่เกี่ยวข้อง

Toplist

โพสต์ล่าสุด

แท็ก

ไทยแปลอังกฤษ แปลภาษาไทย โปรแกรม-แปล-ภาษา-อังกฤษ พร้อม-คำ-อ่าน ห่อหมกฮวกไปฝากป้าmv Terjemahan แปลภาษาอังกฤษเป็นไทย pantip lmyour แปลภาษา ไทยแปลอังกฤษ ประโยค แอพแปลภาษาอาหรับเป็นไทย เมอร์ซี่ อาร์สยาม ล่าสุด แปลภาษาอาหรับ-ไทย Bahasa Thailand app แปลภาษาไทยเป็นเวียดนาม พจนานุกรมศัพท์ทหาร ยศทหารบก ภาษาอังกฤษ สหกรณ์ออมทรัพย์กรมส่งเสริมการปกครอง ส่วนท้องถิ่น แปลภาษาเวียดนามเป็นไทยทั้งประโยค กรมส่งเสริมการปกครองท้องถิ่น การไฟฟ้าส่วนภูมิภาคมีทั้งหมดกี่ภาค มัจจุราชไร้เงา 1 mono29 มัจจุราชไร้เงา 1 pantip มัจจุราชไร้เงา 3 pantip รายชื่อวิทยานิพนธ์ นิติศาสตร์ 2563 ศัพท์ทหาร ภาษาอังกฤษ pdf ห่อหมกฮวกไปฝากป้า หนังเต็มเรื่อง แปลภาษาอิสลามเป็นไทย ่้แปลภาษา Google Drive กรมการปกครอง กระบวนการบริหารทรัพยากรมนุษย์ 8 ขั้นตอน การไฟฟ้าส่วนภูมิภาค ข้อสอบคณิตศาสตร์ พร้อมเฉลย คะแนน o-net โรงเรียน ที่อยู่สมุทรปราการ ภาษาอังกฤษ ประปาไม่ไหล วันนี้ มหาวิทยาลัยรามคําแหง เปิดรับสมัคร 2566 มัจจุราชไร้เงา 2 facebook ราคาปาเจโร่มือสอง สถาบันพัฒนาบุคลากรท้องถิ่น หนังสือราชการ ส ถ หยน ห่อหมกฮวกไปฝากป้า คาราโอเกะ อาจารย์ ตจต Google Form Info arifureta shokugyou de sekai saikyou manga online legendary moonlight sculptor www.niets.or.th ประกาศผลสอบ การบริหารทรัพยากรมนุษย์ มีอะไรบ้าง ข้อสอบภาษาอังกฤษ พร้อมเฉลย pdf