High-level programming language: Difference between revisions

Content deleted Content added
Reverting edit(s) by 2409:408A:2BC5:7597:0:0:88:D70B (talk) to rev. 1217195049 by Ula993: Non-constructive edit (UV 0.1.5)
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5
Line 58:
Examples of high-level programming languages in active use today include [[Python (programming language)|Python]], [[JavaScript]], [[Visual Basic]], [[Delphi (programming language)|Delphi]], [[Perl]], [[PHP]], [[ECMAScript]], [[Ruby (programming language)|Ruby]], [[C Sharp (programming language)|C#]], [[Java (programming language)|Java]] and many others.
 
The terms ''high-level'' and ''low-level'' are inherently relative. Some decades ago,{{clarify timeframe|date=July 2023}} the [[C (programming language)|C language]], and similar languages, were most often considered "high-level", as it supported concepts such as expression evaluation, [[parameter]]ised recursive functions, and data types and structures, while [[assembly language]] was considered "low-level". Today, many programmers might refer to C as low-level, as it lacks a large [[Run time system|runtime]]-system (no garbage collection, etc.), basically supports only scalar operations, and provides direct memory addressing; it therefore, readily blends with assembly language and the machine level of [[CPU]]s and [[microcontroller]]s. Also, in the introduction chapter of [[The C Programming Language]] (second edition) by Brian Kernighan and Dennis Ritchie, C is described as "not a very high level" language.<ref>{{cite book|last1=Kernighan|first1=Brian W.|last2=Ritchie|first2=Dennis M.|date=1988|title=The C Programming Language: 2nd Edition|url=https://books.google.com/books?id=FGkPBQAAQBAJ|url-status=livebot: unknown|publisher=Prentice Hall|isbn=9780131103627|archive-url=https://web.archive.org/detailsweb/the_c_programming_language_2_2018121320221025180501/https://books.google.com/books?id=FGkPBQAAQBAJ|archive-date=201825 October 2022|access-12-13date=25 October 2022}}</ref>
 
Assembly language may itself be regarded as a higher level (but often still one-to-one if used without [[Macro (computer science)|macro]]s) representation of [[machine code]], as it supports concepts such as constants and (limited) expressions, sometimes even variables, procedures, and [[data structure]]s. [[Machine code]], in turn, is inherently at a slightly higher level than the [[microcode]] or [[micro-operation]]s used internally in many processors.<ref>{{Cite book|title=The art of assembly language|last=Hyde, Randall.|date=2010|publisher=No Starch Press|isbn=9781593273019|edition= 2nd|___location=San Francisco|oclc=635507601|url=https://books.google.com/books?id=sYHtTvQ-ObIC}}</ref>