Knowledge (XXG)

Source code

Source đź“ť

38: 574: 552:. While object code will only work on a specific platform, source code can be ported to a different machine and recompiled there. For the same source code, object code can vary significantly—not only based on the machine for which it is compiled, but also based on performance optimization from the compiler. 693:
Access to the source code (not just the object code) is essential to modifying it. Understanding existing code is necessary to understand how it works and before modifying it. The rate of understanding depends both on the code base as well as the skill of the programmer. Experienced programmers have
800:, or the ease of modification. It is usually more cost-effective to build quality into the product from the beginning rather than try to add it later in the development process. Higher quality code will reduce lifetime cost to both suppliers and customers as it is more reliable and 812:
statements only if the code could execute more than once, and eliminating code that will never execute can also increase understandability. Many software development organizations neglect maintainability during the development phase, even though it will increase long-term costs.
644:
may find it helpful to review existing source code to learn about programming techniques. The sharing of source code between developers is frequently cited as a contributing factor to the maturation of their programming skills. Some people consider source code an expressive
807:
Maintainability is the quality of software enabling it to be easily modified without breaking existing functionality. Following coding conventions such as using clear function and variable names that correspond to their purpose makes maintenance easier. Use of
872:, open-source software has additional requirements: free redistribution, permission to modify the source code and release derivative works under the same license, and nondiscrimination between different uses—including commercial use. The free 858:. In 1974, the US Commission on New Technological Uses of Copyrighted Works (CONTU) decided that "computer programs, to the extent that they embody an author's original creation, are proper subject matter of copyright". 817:
is incurred when programmers, often out of laziness or urgency to meet a deadline, choose quick and dirty solutions rather than build maintainability into their code. A common cause is underestimates in
713:(improving the structure without changing functionality) and restructuring (improving structure and functionality at the same time). Nearly every change to code will introduce new bugs or unexpected 826:
courses do not emphasize it. Development engineers who know that they will not be responsible for maintaining the software do not have an incentive to build in maintainability.
739:
uses automated tools to detect problems with the source code. Many IDEs support code analysis tools, which might provide metrics on the clarity and maintainability of the code.
513:
away the details of the hardware, instead being designed to express algorithms that could be understood more easily by humans. As instructions distinct from the underlying
1584: 656:—blocks of text marked for the compiler to ignore. This content is not part of the program logic, but is instead intended to help readers understand the program. 386: 614:
The number of lines of source code is often used as a metric when evaluating the productivity of computer programmers, the economic value of a code base,
723:
by other developers are often used to scrutinize new code added to a project. The purpose of this phase is often to verify that the code meets style and
845: 743:
are tools that often enable programmers to step through execution while keeping track of which source code corresponds to each change of state.
819: 615: 2086: 2067: 2048: 2029: 1981: 1884: 1848: 1829: 1810: 1791: 1772: 1753: 1731: 1712: 1619: 1062: 1043: 1024: 1005: 1205: 935: 601:). The configuration management system also keeps track of which object code file corresponds to which version of the source code file. 702: 1186: 594: 561: 1859: 1895: 220: 1991:
Sen, Ravi; Subramaniam, Chandrasekar; Nelson, Matthew L. (2008). "Determinants of the Choice of Open Source Software License".
502: 379: 46: 548:
can be directly executed by the machine and is generated automatically from the source code, often via an intermediate step,
1699: 976: 489:(simple instructions that could be directly executed by the processor). Machine language was difficult to debug and was not 50: 264: 1581: 570:. Part of the compiler's function is to link these files in such a way that the program can be executed by the hardware. 1582:
Apple Computer, Inc. v. Franklin Computer Corporation Puts the Byte Back into Copyright Protection for Computer Programs
1556: 589:. With prologue comments indicated in red, inline comments indicated in green, and program statements indicated in blue. 470: 313: 955: 582: 578: 526: 121: 544:
Source code is the form of code that is modified directly by humans, typically in a high-level programming language.
372: 59: 1274: 869: 237: 208: 663:. Proprietary, secret source code and algorithms are widely used for sensitive government applications such as 453:
it. The translation process can be implemented three ways. Source code can be converted into machine code by a
292: 214: 42: 465:
is machine code ready for the computer. Alternatively, source code can be executed without conversion via an
1279: 822:, leading to insufficient resources allocated to development. A challenge with maintainability is that many 772: 736: 672: 510: 498: 490: 466: 345: 270: 149: 850:
The situation varies worldwide, but in the United States before 1974, software and its source code was not
360: 945: 855: 695: 446: 319: 97: 537:
needed to translate the source code automatically into machine code that can be directly executed on the
776: 764: 653: 518: 458: 450: 242: 225: 137: 127: 78: 54: 796:
is an overarching term that can refer to a code's correct and efficient behavior, its reusability and
2111: 1924: 1822:
Asset Attack Vectors: Building Effective Vulnerability Management Strategies to Protect Organizations
940: 930: 865: 861: 823: 751:
Source code files in a high-level programming language must go through a stage of preprocessing into
688: 684: 675:
into the algorithm's methodology. The result is avoidance of public scrutiny of issues such as bias.
619: 423: 298: 1591:
in Golden Gate University Law Review Volume 14, Issue 2, Article 3 by Jan L. Nussbaum (January 1984)
950: 731:. According to some estimates, code review dramatically reduce the number of bugs persisting after 493:
between different computer systems. Initially, hardware resources were scarce and expensive, while
469:. An interpreter loads the source code into memory. It simultaneously translates and executes each 114: 1701:
Zero Days, Thousands of Nights: The Life and Times of Zero-Day Vulnerabilities and Their Exploits
895: 835: 760: 755:
before the instructions can be carried out. After being compiled, the program can be saved as an
706: 1765:
Software Development, Design and Coding: With Patterns, Debugging, Unit Testing, and Refactoring
705:(IDE) to improve their productivity. IDEs typically have several features built in, including a 1202: 2082: 2063: 2044: 2025: 2008: 1977: 1960: 1942: 1880: 1844: 1825: 1806: 1787: 1768: 1749: 1727: 1708: 1182: 549: 538: 514: 485:
The first programmable computers, which appeared at the end of the 1940s, were programmed in
2000: 1950: 1932: 839: 809: 793: 788: 732: 710: 664: 586: 567: 486: 419: 92: 659:
Companies often keep the source code confidential in order to hide algorithms considered a
1588: 1209: 920: 915: 801: 728: 724: 598: 494: 274: 258: 154: 64: 477:. Bytecode is an intermediate representation of source code that is quickly interpreted. 1928: 49:. The resulting program prints "hello, world" on the computer screen. This first known " 1955: 1912: 873: 814: 566:
Most programs do not contain all the resources needed to run them and rely on external
431: 232: 132: 2105: 900: 714: 635: 1896:"Source Code versus Object Code: Patent Implications for the Open Source Community" 1741: 910: 890: 752: 660: 646: 442: 187: 107: 1937: 983: 1724:
From Mainframes to Smartphones: A History of the International Computer Industry
1270: 925: 905: 775:
instead of a compiler. An interpreter converts the program into machine code at
756: 720: 545: 328: 309: 177: 31: 2004: 1974:
Concise Guide to Software Engineering: From Fundamentals to Application Methods
779:, which makes them 10 to 100 times slower than compiled programming languages. 1841:
Objective-C for Absolute Beginners: iPhone, iPad and Mac Programming Made Easy
641: 533:. The invention of high-level programming languages was simultaneous with the 462: 427: 416: 144: 2012: 1946: 1568: 1557:"Copyright Law and Subject Matter Specificity: The Case of Computer Software" 709:
that can alert the programmer to common errors. Modification often includes
851: 740: 668: 631: 517:, software is therefore relatively recent, dating to these early high-level 473:. A method that combines compilation and interpretation is to first produce 400: 192: 68: 1964: 735:
is complete. Along with software testing that works by executing the code,
37: 17: 885: 534: 474: 454: 435: 182: 102: 573: 27:
Well-structured, human-readable text that encodes behavior of a computer
2079:
Unraveling Software Maintenance and Evolution: Thinking Outside the Box
797: 768: 522: 506: 323: 279: 304: 1839:
Kaczmarek, Stefan; Lees, Brad; Bennett, Gary; Fisher, Mitch (2018).
1913:"A Quick Guide to Software Licensing for the Scientist-Programmer" 694:
an easier time understanding what the code does at a high level.
572: 530: 355: 36: 351: 288: 283: 30:
This article is about the software concept. For the film, see
2060:
Software Evolution and Maintenance: A Practitioner's Approach
1336: 1334: 771:
on the computer hardware. Some programming languages use an
763:(part of the operating system) can take this saved file and 1132: 1130: 1722:
Campbell-Kelly, Martin; Garcia-Swartz, Daniel D. (2015).
1248: 1246: 727:
standards and that it is a correct implementation of the
1363: 1361: 864:
is rarely distributed as source code. Although the term
1466: 1464: 1089: 1087: 982:. Bell Laboratories, Murray Hill, N. J. Archived from 1894:
Lin, Daniel; Sag, Matthew; Laurie, Ronald S. (2001).
618:
for projects in development, and the ongoing cost of
501:
became a bottleneck. This led to the introduction of
1911:
Morin, Andrew; Urban, Jennifer; Sliz, Piotr (2012).
1900:
Santa Clara Computer and High Technology Law Journal
1074: 1072: 1061:
sfn error: no target: CITEREFGabbrielliMartini2023 (
1042:
sfn error: no target: CITEREFGabbrielliMartini2023 (
1023:
sfn error: no target: CITEREFGabbrielliMartini2023 (
1004:
sfn error: no target: CITEREFGabbrielliMartini2023 (
876:of open-source software can speed up development. 2058:Tripathy, Priyadarshi; Naik, Kshirasagar (2014). 1671:, Free and Open Source Software (FOSS) Licensing. 1561:New York University Annual Survey of American Law 1056: 1037: 1018: 999: 1746:Big Breaches: Cybersecurity Lessons for Everyone 1403: 1275:"Overview of Software Maintenance and Evolution" 1221: 698:is sometimes used to speed up this process. 497:were cheaper. As programs grew more complex, 380: 8: 1664: 1632: 1506: 1494: 1352: 1325: 1313: 1301: 1173: 1171: 1169: 441:Since a computer, at base, only understands 1784:Software Engineering: A Methodical Approach 1680: 1455: 1443: 1391: 1379: 1340: 1148: 1648: 1105: 387: 373: 74: 1993:Journal of Management Information Systems 1954: 1936: 1555:Liu, Joseph P.; Dogan, Stacey L. (2005). 1265: 1263: 1261: 1179:Code Reading: The Open Source Perspective 717:, which require another round of fixes. 434:source code to control the behavior of a 1618:sfn error: no target: CITEREFBoyle2003 ( 846:History of free and open-source software 630:Source code is also used to communicate 1820:Haber, Morey J.; Hibbert, Brad (2018). 1803:Software Quality: Concepts and Practice 1419: 967: 597:to track changes to source code files ( 337: 250: 200: 164: 84: 77: 1877:Code/space: Software and Everyday Life 1600:Lemley, Menell, Merges and Samuelson. 1367: 1252: 1237: 1160: 1121: 820:software development effort estimation 1698:Ablon, Lillian; Bogart, Andy (2017). 1613: 1542: 1530: 1518: 1482: 1470: 1431: 1181:. Addison-Wesley Professional, 2003. 1136: 1093: 1078: 7: 2043:. Morgan & Claypool Publishers. 1875:Kitchin, Rob; Dodge, Martin (2011). 1860:"The Paradox of Source Code Secrecy" 1639:, Open Source versus Closed Source. 936:Package (package management system) 1999:(3). Informa UK Limited: 207–240. 703:integrated development environment 509:in the mid-1950s. These languages 338:Notable compilers & toolchains 25: 2022:Concepts of Programming Languages 701:Many software programmers use an 562:Software configuration management 870:public access to the source code 581:source code example. Written in 503:high-level programming languages 2024:(10 ed.). Addison-Wesley. 47:procedural programming language 1282:Department of Computer Science 1163:, pp. 249, 274, 280, 305. 977:"Programming in C: A Tutorial" 593:Software developers often use 1: 2041:Software: A Technical History 1151:, pp. 230–231, 233, 377. 1057:Gabbrielli & Martini 2023 1038:Gabbrielli & Martini 2023 1019:Gabbrielli & Martini 2023 1000:Gabbrielli & Martini 2023 1938:10.1371/journal.pcbi.1002598 1726:. Harvard University Press. 1199:Art and Computer Programming 295:target-specific initializer) 2020:Sebesta, Robert W. (2012). 956:Visual programming language 652:Source code often contains 583:object-oriented programming 122:Intermediate representation 2128: 2005:10.2753/mis0742-1222250306 1917:PLOS Computational Biology 1744:; Elbayadi, Moudy (2021). 843: 833: 786: 682: 559: 60:The C Programming Language 29: 2062:. John Wiley & Sons. 1858:Katyal, Sonia K. (2019). 1805:. John Wiley & Sons. 1782:Foster, Elvis C. (2014). 1602:Software and Internet Law 747:Compilation and execution 1972:O'Regan, Gerard (2022). 1763:Dooley, John F. (2017). 1507:Tripathy & Naik 2014 1495:Tripathy & Naik 2014 1353:Tripathy & Naik 2014 1326:Tripathy & Naik 2014 1314:Tripathy & Naik 2014 1302:Tripathy & Naik 2014 1208:20 February 2018 at the 671:behavior with a lack of 595:configuration management 1280:George Mason University 830:Copyright and licensing 737:static program analysis 634:between people – e.g., 585:style, it demonstrates 499:programmer productivity 346:GNU Compiler Collection 271:Common Language Runtime 45:source code example, a 2039:Tracy, Kim W. (2021). 1801:Galin, Daniel (2018). 946:Source code repository 856:public domain software 696:Software visualization 590: 449:before a computer can 445:, source code must be 201:Compilation strategies 72: 57:from the seminal book 2077:Varga, Ervin (2018). 1240:, pp. 1186–1187. 854:and therefore always 576: 519:programming languages 226:Compile and go system 40: 1707:. Rand Corporation. 989:on 23 February 2015. 975:Kernighan, Brian W. 941:Programming language 931:Open-source software 868:literally refers to 866:open-source software 862:Proprietary software 824:software engineering 689:Software maintenance 685:Software development 642:Computer programmers 638:online or in books. 620:software maintenance 424:programming language 299:Java virtual machine 221:Tracing just-in-time 1976:. Springer Nature. 1929:2012PLSCB...8E2598M 1567:(2). Archived from 1497:, pp. 296–297. 1446:, pp. 68, 117. 1410:, pp. 348–349. 1328:, pp. 318–319. 1139:, pp. 122–123. 1112:, pp. 238–239. 1021:, pp. 520–521. 951:Syntax highlighting 667:, which results in 115:Optimizing compiler 1864:Cornell Law Review 1587:7 May 2017 at the 1458:, pp. 3, 268. 1382:, pp. 18, 21. 896:Coding conventions 836:Software copyright 802:easier to maintain 707:source-code editor 591: 73: 2088:978-3-319-71303-8 2069:978-0-470-60341-3 2050:978-1-4503-8724-8 2031:978-0-13-139531-2 1983:978-3-031-07816-3 1886:978-0-262-04248-2 1850:978-1-4842-3428-0 1831:978-1-4842-3627-7 1812:978-1-119-13449-7 1793:978-1-4842-0847-2 1774:978-1-4842-3153-1 1755:978-1-4842-6654-0 1733:978-0-674-28655-9 1714:978-0-8330-9761-3 616:effort estimation 550:assembly language 539:computer hardware 515:computer hardware 397: 396: 79:Program execution 69:Bell Laboratories 16:(Redirected from 2119: 2092: 2073: 2054: 2035: 2016: 1987: 1968: 1958: 1940: 1907: 1890: 1871: 1854: 1835: 1816: 1797: 1778: 1759: 1737: 1718: 1706: 1684: 1678: 1672: 1662: 1656: 1646: 1640: 1630: 1624: 1623: 1611: 1605: 1598: 1592: 1579: 1573: 1572: 1571:on 25 June 2021. 1552: 1546: 1540: 1534: 1528: 1522: 1516: 1510: 1504: 1498: 1492: 1486: 1480: 1474: 1468: 1459: 1453: 1447: 1441: 1435: 1429: 1423: 1417: 1411: 1401: 1395: 1389: 1383: 1377: 1371: 1365: 1356: 1350: 1344: 1338: 1329: 1323: 1317: 1311: 1305: 1299: 1293: 1292: 1290: 1288: 1273:(January 2018). 1267: 1256: 1250: 1241: 1235: 1229: 1219: 1213: 1195: 1189: 1175: 1164: 1158: 1152: 1146: 1140: 1134: 1125: 1119: 1113: 1103: 1097: 1091: 1082: 1076: 1067: 1066: 1054: 1048: 1047: 1035: 1029: 1028: 1016: 1010: 1009: 997: 991: 990: 988: 981: 972: 840:Software license 810:conditional loop 794:Software quality 789:Software quality 733:software testing 711:code refactoring 665:criminal justice 587:boilerplate code 487:machine language 461:. The resulting 420:computer program 389: 382: 375: 251:Notable runtimes 238:Transcompilation 85:General concepts 75: 63:originates from 21: 2127: 2126: 2122: 2121: 2120: 2118: 2117: 2116: 2102: 2101: 2100: 2095: 2089: 2076: 2070: 2057: 2051: 2038: 2032: 2019: 1990: 1984: 1971: 1923:(7): e1002598. 1910: 1893: 1887: 1874: 1857: 1851: 1838: 1832: 1819: 1813: 1800: 1794: 1781: 1775: 1762: 1756: 1740: 1734: 1721: 1715: 1704: 1697: 1693: 1688: 1687: 1679: 1675: 1663: 1659: 1647: 1643: 1631: 1627: 1617: 1612: 1608: 1599: 1595: 1589:Wayback Machine 1580: 1576: 1554: 1553: 1549: 1545:, pp. 7–8. 1541: 1537: 1529: 1525: 1521:, pp. 6–7. 1517: 1513: 1505: 1501: 1493: 1489: 1481: 1477: 1469: 1462: 1454: 1450: 1442: 1438: 1430: 1426: 1418: 1414: 1402: 1398: 1390: 1386: 1378: 1374: 1366: 1359: 1351: 1347: 1339: 1332: 1324: 1320: 1312: 1308: 1300: 1296: 1286: 1284: 1269: 1268: 1259: 1255:, p. 1195. 1251: 1244: 1236: 1232: 1220: 1216: 1210:Wayback Machine 1196: 1192: 1176: 1167: 1159: 1155: 1147: 1143: 1135: 1128: 1124:, p. 1194. 1120: 1116: 1104: 1100: 1092: 1085: 1077: 1070: 1060: 1055: 1051: 1041: 1036: 1032: 1022: 1017: 1013: 1003: 998: 994: 986: 979: 974: 973: 969: 964: 921:Obfuscated code 916:Markup language 882: 848: 842: 834:Main articles: 832: 791: 785: 749: 729:software design 725:maintainability 691: 681: 647:artistic medium 628: 622:after release. 612: 607: 599:version control 577:A more complex 564: 558: 495:human resources 483: 393: 273:(CLR) and  259:Android Runtime 155:Virtual machine 65:Brian Kernighan 35: 28: 23: 22: 15: 12: 11: 5: 2125: 2123: 2115: 2114: 2104: 2103: 2099: 2098:External links 2096: 2094: 2093: 2087: 2074: 2068: 2055: 2049: 2036: 2030: 2017: 1988: 1982: 1969: 1908: 1891: 1885: 1872: 1855: 1849: 1836: 1830: 1817: 1811: 1798: 1792: 1779: 1773: 1760: 1754: 1738: 1732: 1719: 1713: 1694: 1692: 1689: 1686: 1685: 1683:, p. 106. 1673: 1657: 1655:, p. 209. 1641: 1625: 1606: 1593: 1574: 1547: 1535: 1523: 1511: 1509:, p. 309. 1499: 1487: 1475: 1460: 1448: 1436: 1424: 1412: 1396: 1394:, p. 133. 1384: 1372: 1370:, p. 272. 1357: 1345: 1343:, p. 375. 1330: 1318: 1316:, p. 297. 1306: 1304:, p. 296. 1294: 1257: 1242: 1230: 1214: 1190: 1177:Spinellis, D: 1165: 1153: 1141: 1126: 1114: 1098: 1096:, p. 121. 1083: 1068: 1059:, p. 521. 1049: 1040:, p. 522. 1030: 1011: 1002:, p. 519. 992: 966: 965: 963: 960: 959: 958: 953: 948: 943: 938: 933: 928: 923: 918: 913: 908: 903: 898: 893: 888: 881: 878: 831: 828: 815:Technical debt 787:Main article: 784: 781: 748: 745: 715:ripple effects 680: 677: 627: 624: 611: 608: 606: 603: 560:Main article: 557: 554: 482: 479: 432:human readable 395: 394: 392: 391: 384: 377: 369: 366: 365: 364: 363: 358: 349: 340: 339: 335: 334: 333: 332: 326: 317: 307: 302: 296: 286: 277: 268: 262: 253: 252: 248: 247: 246: 245: 240: 235: 233:Precompilation 230: 229: 228: 223: 212: 203: 202: 198: 197: 196: 195: 190: 185: 180: 175: 167: 166: 162: 161: 160: 159: 158: 157: 152: 147: 142: 141: 140: 133:Runtime system 125: 119: 118: 117: 112: 111: 110: 95: 87: 86: 82: 81: 26: 24: 14: 13: 10: 9: 6: 4: 3: 2: 2124: 2113: 2110: 2109: 2107: 2097: 2090: 2084: 2080: 2075: 2071: 2065: 2061: 2056: 2052: 2046: 2042: 2037: 2033: 2027: 2023: 2018: 2014: 2010: 2006: 2002: 1998: 1994: 1989: 1985: 1979: 1975: 1970: 1966: 1962: 1957: 1952: 1948: 1944: 1939: 1934: 1930: 1926: 1922: 1918: 1914: 1909: 1905: 1901: 1897: 1892: 1888: 1882: 1879:. MIT Press. 1878: 1873: 1869: 1865: 1861: 1856: 1852: 1846: 1842: 1837: 1833: 1827: 1823: 1818: 1814: 1808: 1804: 1799: 1795: 1789: 1785: 1780: 1776: 1770: 1766: 1761: 1757: 1751: 1747: 1743: 1742:Daswani, Neil 1739: 1735: 1729: 1725: 1720: 1716: 1710: 1703: 1702: 1696: 1695: 1690: 1682: 1677: 1674: 1670: 1668: 1661: 1658: 1654: 1652: 1645: 1642: 1638: 1636: 1629: 1626: 1621: 1616:, p. 45. 1615: 1610: 1607: 1603: 1597: 1594: 1590: 1586: 1583: 1578: 1575: 1570: 1566: 1562: 1558: 1551: 1548: 1544: 1539: 1536: 1532: 1527: 1524: 1520: 1515: 1512: 1508: 1503: 1500: 1496: 1491: 1488: 1484: 1479: 1476: 1473:, p. 12. 1472: 1467: 1465: 1461: 1457: 1452: 1449: 1445: 1440: 1437: 1434:, p. 26. 1433: 1428: 1425: 1422:, p. 28. 1421: 1416: 1413: 1409: 1407: 1400: 1397: 1393: 1388: 1385: 1381: 1376: 1373: 1369: 1364: 1362: 1358: 1355:, p. 94. 1354: 1349: 1346: 1342: 1337: 1335: 1331: 1327: 1322: 1319: 1315: 1310: 1307: 1303: 1298: 1295: 1283: 1281: 1276: 1272: 1266: 1264: 1262: 1258: 1254: 1249: 1247: 1243: 1239: 1234: 1231: 1228:, p. 68. 1227: 1225: 1218: 1215: 1211: 1207: 1204: 1200: 1194: 1191: 1188: 1187:0-201-79940-5 1184: 1180: 1174: 1172: 1170: 1166: 1162: 1157: 1154: 1150: 1145: 1142: 1138: 1133: 1131: 1127: 1123: 1118: 1115: 1111: 1109: 1102: 1099: 1095: 1090: 1088: 1084: 1080: 1075: 1073: 1069: 1064: 1058: 1053: 1050: 1045: 1039: 1034: 1031: 1026: 1020: 1015: 1012: 1007: 1001: 996: 993: 985: 978: 971: 968: 961: 957: 954: 952: 949: 947: 944: 942: 939: 937: 934: 932: 929: 927: 924: 922: 919: 917: 914: 912: 909: 907: 904: 902: 901:Free software 899: 897: 894: 892: 889: 887: 884: 883: 879: 877: 875: 871: 867: 863: 859: 857: 853: 852:copyrightable 847: 841: 837: 829: 827: 825: 821: 816: 811: 805: 803: 799: 795: 790: 782: 780: 778: 774: 770: 766: 762: 758: 754: 746: 744: 742: 738: 734: 730: 726: 722: 718: 716: 712: 708: 704: 699: 697: 690: 686: 678: 676: 674: 670: 666: 662: 657: 655: 650: 648: 643: 639: 637: 636:code snippets 633: 626:Communication 625: 623: 621: 617: 609: 604: 602: 600: 596: 588: 584: 580: 575: 571: 569: 563: 555: 553: 551: 547: 542: 540: 536: 532: 528: 524: 520: 516: 512: 508: 504: 500: 496: 492: 488: 480: 478: 476: 472: 468: 464: 460: 456: 452: 448: 444: 439: 437: 433: 429: 425: 422:written in a 421: 418: 414: 410: 406: 402: 390: 385: 383: 378: 376: 371: 370: 368: 367: 362: 359: 357: 353: 350: 347: 344: 343: 342: 341: 336: 330: 327: 325: 321: 318: 315: 311: 308: 306: 303: 300: 297: 294: 290: 287: 285: 281: 278: 276: 272: 269: 266: 263: 260: 257: 256: 255: 254: 249: 244: 243:Recompilation 241: 239: 236: 234: 231: 227: 224: 222: 219: 218: 216: 213: 210: 209:Ahead-of-time 207: 206: 205: 204: 199: 194: 191: 189: 186: 184: 181: 179: 176: 174: 171: 170: 169: 168: 165:Types of code 163: 156: 153: 151: 148: 146: 143: 139: 136: 135: 134: 131: 130: 129: 126: 123: 120: 116: 113: 109: 106: 105: 104: 101: 100: 99: 96: 94: 91: 90: 89: 88: 83: 80: 76: 70: 66: 62: 61: 56: 52: 48: 44: 39: 33: 19: 2081:. Springer. 2078: 2059: 2040: 2021: 1996: 1992: 1973: 1920: 1916: 1903: 1899: 1876: 1867: 1863: 1840: 1821: 1802: 1783: 1764: 1745: 1723: 1700: 1681:O'Regan 2022 1676: 1666: 1660: 1650: 1644: 1634: 1628: 1609: 1601: 1596: 1577: 1569:the original 1564: 1560: 1550: 1538: 1533:, p. 7. 1526: 1514: 1502: 1490: 1485:, p. 5. 1478: 1456:O'Regan 2022 1451: 1444:O'Regan 2022 1439: 1427: 1420:Sebesta 2012 1415: 1405: 1399: 1392:O'Regan 2022 1387: 1380:O'Regan 2022 1375: 1348: 1341:O'Regan 2022 1321: 1309: 1297: 1285:. Retrieved 1278: 1271:Offutt, Jeff 1233: 1223: 1217: 1198: 1193: 1178: 1156: 1149:O'Regan 2022 1144: 1117: 1107: 1101: 1081:, p. 1. 1052: 1033: 1014: 995: 984:the original 970: 911:Machine code 891:Code as data 860: 849: 806: 792: 753:machine code 750: 721:Code reviews 719: 700: 692: 679:Modification 673:transparency 661:trade secret 658: 651: 640: 629: 613: 592: 565: 556:Organization 543: 484: 443:machine code 440: 412: 408: 407:, or simply 404: 398: 215:Just-in-time 188:Machine code 172: 108:Compile time 58: 2112:Source code 1368:Dooley 2017 1253:Katyal 2019 1238:Katyal 2019 1161:Foster 2014 1122:Katyal 2019 926:Object code 906:Legacy code 874:reusability 798:portability 773:interpreter 757:object file 546:Object code 467:interpreter 430:writes the 405:source code 329:Zend Engine 310:Objective-C 178:Object code 173:Source code 150:Interpreter 98:Translation 51:Hello world 32:Source Code 1843:. Apress. 1824:. Apress. 1786:. Apress. 1767:. Apress. 1748:. Apress. 1614:Boyle 2003 1543:Varga 2018 1531:Varga 2018 1519:Varga 2018 1483:Varga 2018 1471:Varga 2018 1432:Galin 2018 1404:Kaczmarek 1222:Kaczmarek 1203:ONLamp.com 1137:Tracy 2021 1094:Tracy 2021 1079:Tracy 2021 962:References 844:See also: 683:See also: 632:algorithms 610:Estimation 511:abstracted 481:Background 463:executable 447:translated 428:programmer 417:plain text 145:Executable 43:C-language 18:Sourcecode 2013:0742-1222 1947:1553-7358 741:Debuggers 669:black box 568:libraries 535:compilers 471:statement 459:assembler 401:computing 354:and  322:and  312:and  282:and  193:Microcode 128:Execution 2106:Category 1965:22844236 1604:, p. 34. 1585:Archived 1212:, (2005) 1206:Archived 886:Bytecode 880:See also 777:run time 767:it as a 759:and the 654:comments 605:Purposes 521:such as 505:such as 491:portable 475:bytecode 455:compiler 436:computer 267:(Erlang) 183:Bytecode 103:Compiler 71:in 1974. 1956:3406002 1925:Bibcode 1870:: 1183. 1691:Sources 783:Quality 769:process 765:execute 523:Fortran 507:Fortran 451:execute 415:, is a 324:Node.js 280:CPython 138:Runtime 67:in the 55:snippet 41:Simple 2085:  2066:  2047:  2028:  2011:  1980:  1963:  1953:  1945:  1906:: 235. 1883:  1847:  1828:  1809:  1790:  1771:  1752:  1730:  1711:  1667:et al. 1665:Morin 1651:et al. 1635:et al. 1633:Morin 1406:et al. 1224:et al. 1185:  1108:et al. 761:loader 529:, and 457:or an 413:source 305:LuaJIT 217:(JIT) 1705:(PDF) 1287:5 May 987:(PDF) 980:(PDF) 531:Cobol 356:Clang 348:(GCC) 331:(PHP) 314:Swift 301:(JVM) 261:(ART) 211:(AOT) 2083:ISBN 2064:ISBN 2045:ISBN 2026:ISBN 2009:ISSN 1978:ISBN 1961:PMID 1943:ISSN 1881:ISBN 1845:ISBN 1826:ISBN 1807:ISBN 1788:ISBN 1769:ISBN 1750:ISBN 1728:ISBN 1709:ISBN 1669:2012 1653:2008 1649:Sen 1637:2012 1620:help 1408:2018 1289:2024 1226:2018 1183:ISBN 1110:2001 1106:Lin 1063:help 1044:help 1025:help 1006:help 838:and 687:and 579:Java 527:Lisp 426:. A 409:code 361:MSVC 352:LLVM 289:crt0 284:PyPy 275:Mono 265:BEAM 124:(IR) 93:Code 2001:doi 1951:PMC 1933:doi 1868:104 804:. 541:. 411:or 399:In 2108:: 2007:. 1997:25 1995:. 1959:. 1949:. 1941:. 1931:. 1919:. 1915:. 1904:18 1902:. 1898:. 1866:. 1862:. 1565:61 1563:. 1559:. 1463:^ 1360:^ 1333:^ 1277:. 1260:^ 1245:^ 1201:" 1168:^ 1129:^ 1086:^ 1071:^ 649:. 525:, 438:. 403:, 320:V8 316:'s 53:" 2091:. 2072:. 2053:. 2034:. 2015:. 2003:: 1986:. 1967:. 1935:: 1927:: 1921:8 1889:. 1853:. 1834:. 1815:. 1796:. 1777:. 1758:. 1736:. 1717:. 1622:) 1291:. 1197:" 1065:) 1046:) 1027:) 1008:) 388:e 381:t 374:v 293:C 291:( 34:. 20:)

Index

Sourcecode
Source Code

C-language
procedural programming language
Hello world
snippet
The C Programming Language
Brian Kernighan
Bell Laboratories
Program execution
Code
Translation
Compiler
Compile time
Optimizing compiler
Intermediate representation
Execution
Runtime system
Runtime
Executable
Interpreter
Virtual machine
Source code
Object code
Bytecode
Machine code
Microcode
Ahead-of-time
Just-in-time

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑