Knowledge (XXG)

Standard library

Source 📝

36: 383: 172:, in addition to other portions which may be optionally implemented. The line between a language and its libraries therefore differs from language to language. Indeed, some languages are designed so that the meanings of certain syntactic constructs cannot even be described without referring to the core library. For example, in 188:
contains multiple coherent subsets that suffice to construct the rest of the language as library macros, and so the language designers do not even bother to say which portions of the language must be implemented as language constructs, and which must be implemented as parts of a library.
287:
What ought to be in the standard C++ library? One ideal is for a programmer to be able to find every interesting, significant, and reasonably general class, function, template, etc., in a library. However, the question here is not, "What ought to be in
197:
Standard libraries typically include definitions for commonly used algorithms, data structures, and mechanisms for input and output. Depending on the constructs made available by the host language, a standard library may include:
296:
library?" The answer "Everything!" is a reasonable first approximation to an answer to the former question but not the latter. A standard library is something every implementer must supply so that every programmer can rely on
301:
This suggests a relatively small standard library, containing only the constructs that "every programmer" might reasonably require when building a large collection of software. This is the philosophy that is used in the
321:, has embraced a much more inclusive vision of the standard library. Python attempts to offer an easy-to-code, object-oriented, high-level language. In the Python tutorial, he writes: 156:; however, contents of a language's associated library may also be determined (in part or whole) by more informal practices of a language's community. 168:, although the designers may have treated it as a separate entity. Many language specifications define a core set that must be made available in all 550: 325:
Python has a "batteries included" philosophy. This is best seen through the sophisticated and robust capabilities of its larger packages.
145: 153: 119: 53: 100: 365:
languages. In C++, such facilities are not part of the standard library, but instead are included in other libraries, such as
545: 72: 57: 491: 473: 346: 318: 185: 79: 184:, an anonymous function expression (a "block") constructs an instance of the library's BlockContext class. Conversely, 482: 460: 358: 350: 173: 86: 46: 496: 433: 303: 218: 207: 469: 366: 68: 447: 341:, and localization, facilities that the C++ standard library omits. This other philosophy is often found in 438: 252: 149: 133: 528: 141: 456: 429: 342: 230:
Most standard libraries include definitions for at least the following commonly used facilities:
276: 238: 93: 224: 314: 263: 248: 354: 213: 451: 362: 244: 177: 169: 539: 464: 408: 35: 17: 256: 202: 165: 164:
A language's standard library is often treated as part of the language by its
397: 234: 181: 393: 478: 334: 180:
is defined as an instance of the java.lang.String class; similarly, in
487: 442: 307: 280: 338: 275:
Philosophies of standard library design vary widely. For example,
262:
Interaction with the host platform, including input/output and
376: 330: 29: 27:
Library used in all implementations of a programming language
404: 329:
Van Rossum goes on to list libraries for processing
60:. Unsourced material may be challenged and removed. 152:. These libraries are conventionally described in 323: 285: 8: 120:Learn how and when to remove this message 507: 292:library?" but "What ought to be in the 7: 58:adding citations to reliable sources 154:programming language specifications 25: 381: 34: 45:needs additional citations for 551:Programming language standards 518:. 3rd Ed. Addison-Wesley, 1997 396:format but may read better as 373:Examples of standard libraries 1: 516:The C++ Programming Language 492:Python programming language 474:Factor programming language 567: 353:) or languages that use a 483:Ruby programming language 461:Java programming language 497:Standard Libraries (CLI) 443:C++ programming language 488:Python standard library 470:Factor standard library 448:Framework Class Library 405:converting this article 434:C programming language 327: 299: 144:made available across 546:Programming libraries 479:Ruby standard library 439:C++ Standard Library 310:standard libraries. 150:programming language 134:computer programming 54:improve this article 514:Bjarne Stroustrup. 343:scripting languages 527:Guido van Rossum. 457:Java Class Library 430:C standard library 407:, if appropriate. 239:sorting algorithms 69:"Standard library" 426: 425: 277:Bjarne Stroustrup 130: 129: 122: 104: 16:(Redirected from 558: 531: 525: 519: 512: 421: 418: 412: 403:You can help by 385: 384: 377: 315:Guido van Rossum 264:operating system 214:Global variables 138:standard library 125: 118: 114: 111: 105: 103: 62: 38: 30: 21: 566: 565: 561: 560: 559: 557: 556: 555: 536: 535: 534: 526: 522: 513: 509: 505: 459:(JCL), for the 450:(FCL), for the 422: 416: 413: 402: 386: 382: 375: 355:virtual machine 273: 245:Data structures 195: 170:implementations 162: 146:implementations 126: 115: 109: 106: 63: 61: 51: 39: 28: 23: 22: 18:Standard header 15: 12: 11: 5: 564: 562: 554: 553: 548: 538: 537: 533: 532: 520: 506: 504: 501: 500: 499: 494: 485: 476: 467: 454: 452:.NET Framework 445: 436: 424: 423: 389: 387: 380: 374: 371: 363:.NET Framework 339:email messages 317:, designer of 279:, designer of 272: 269: 268: 267: 260: 242: 228: 227: 222: 216: 211: 205: 194: 191: 178:string literal 161: 158: 128: 127: 42: 40: 33: 26: 24: 14: 13: 10: 9: 6: 4: 3: 2: 563: 552: 549: 547: 544: 543: 541: 529: 524: 521: 517: 511: 508: 502: 498: 495: 493: 489: 486: 484: 480: 477: 475: 471: 468: 466: 465:Java Platform 462: 458: 455: 453: 449: 446: 444: 440: 437: 435: 431: 428: 427: 420: 417:November 2016 411:is available. 410: 406: 400: 399: 395: 390:This article 388: 379: 378: 372: 370: 368: 364: 360: 356: 352: 348: 344: 340: 336: 332: 326: 322: 320: 316: 313:By contrast, 311: 309: 305: 298: 295: 291: 284: 282: 278: 270: 265: 261: 258: 254: 250: 246: 243: 240: 236: 233: 232: 231: 226: 223: 220: 217: 215: 212: 209: 206: 204: 201: 200: 199: 192: 190: 187: 183: 179: 175: 171: 167: 159: 157: 155: 151: 147: 143: 139: 135: 124: 121: 113: 102: 99: 95: 92: 88: 85: 81: 78: 74: 71: –  70: 66: 65:Find sources: 59: 55: 49: 48: 43:This article 41: 37: 32: 31: 19: 523: 515: 510: 414: 409:Editing help 391: 328: 324: 312: 300: 293: 289: 286: 274: 271:Philosophies 229: 196: 163: 137: 131: 116: 107: 97: 90: 83: 76: 64: 52:Please help 47:verification 44: 257:hash tables 221:definitions 210:definitions 203:Subroutines 540:Categories 503:References 490:, for the 481:, for the 472:, for the 441:, for the 432:, for the 357:, such as 283:, writes: 235:Algorithms 80:newspapers 247:(such as 237:(such as 225:Templates 182:Smalltalk 294:standard 193:Contents 160:Overview 110:May 2019 361:or the 345:(as in 335:XML-RPC 142:library 140:is the 94:scholar 463:, and 392:is in 347:Python 319:Python 255:, and 186:Scheme 96:  89:  82:  75:  67:  398:prose 367:Boost 266:calls 253:trees 249:lists 219:Class 208:Macro 166:users 148:of a 101:JSTOR 87:books 394:list 359:Java 351:Ruby 306:and 290:some 176:, a 174:Java 136:, a 73:news 349:or 331:XML 308:C++ 297:it. 281:C++ 132:In 56:by 542:: 369:. 337:, 333:, 251:, 530:. 419:) 415:( 401:. 304:C 259:) 241:) 123:) 117:( 112:) 108:( 98:· 91:· 84:· 77:· 50:. 20:)

Index

Standard header

verification
improve this article
adding citations to reliable sources
"Standard library"
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message
computer programming
library
implementations
programming language
programming language specifications
users
implementations
Java
string literal
Smalltalk
Scheme
Subroutines
Macro
Global variables
Class
Templates
Algorithms
sorting algorithms

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