Knowledge

Qore (programming language)

Source 📝

66: 123: 225: 25: 863:
as a fundamental design principle. All elements of Qore are thread-safe, and the language in general has been designed with SMP scalability in mind. Because all elements of the language were designed to support multithreading, Qore programs and scripts do not have to limit themselves to a subset of
917:
Qore's standard runtime library supports data mapping, APIs for communicating with databases (including high-level APIs for SQL operations, schema management, and DBA actions), client APIs and server infrastructure implementations for many protocols including
604:(meaning more than one part of the same code can run at the same time), and additionally because it features automatic memory management (meaning programmers do not have to allocate and free memory explicitly) while also supporting the 908:
class which represents a logic container with sandboxing controls, discrete objects can be created and destroyed at runtime containing embedded code to extend or modify the behavior of your application in user-defined ways.
903:
Qore was designed to support embedding and sandboxing logic in applications; this also applies to applications written in Qore as well as applications using the Qore library's public C++ API. By using the
887:
that allows destructors to be run immediately when objects go out of scope, even if they have recursive references back to themselves. This allows for Qore to support the
1309: 1329: 1339: 597:, featuring support for code embedding and sandboxing with optional strong typing and a focus on fundamental support for multithreading and SMP scalability. 38: 1319: 1359: 1324: 1314: 1304: 888: 605: 249:
of the topic and provide significant coverage of it beyond a mere trivial mention. If notability cannot be shown, the article is likely to be
892: 617: 591: 587: 301: 187: 273: 159: 507: 338: 320: 206: 104: 52: 1349: 280: 166: 86: 44: 1344: 923: 583: 82: 1299: 764: 144: 137: 75: 287: 173: 983: 246: 1354: 1334: 594: 919: 718: 710: 567: 429: 386: 269: 155: 503: 242: 860: 601: 258: 738: 1279: 865: 579: 390: 133: 943: 1064: 963: 398: 394: 382: 378: 1269: 999: 939: 294: 180: 1181: 370: 357: 235: 1109: 435: 1249: 927: 514: 415: 254: 1133: 1088: 947: 995: 959: 250: 609: 600:
Qore is unique because it is an interpreted scripting language with fundamental support for
494: 482: 1040: 405: 1157: 884: 613: 848: 1019: 975: 761:, allowing exception-aware cleanup code to be placed next to the code requiring cleanup 656: 487: 362: 1293: 991: 374: 672:
Qore syntax is similar to and inspired from the following programming languages:
81:
It may require cleanup to comply with Knowledge's content policies, particularly
499: 458: 366: 122: 1202: 783:
operators with lazy evaluation of functional and list operators and statements
559: 1259: 1239: 935: 735:: multiple inheritance, exception handling, static methods, abstract methods 652: 987: 872: 475: 979: 950:, and many file format and file- and data-exchange protocols and more. 871:
Threading functionality in Qore is provided by the operating system's
859:
Despite being an interpreted language, Qore was designed to support
732: 563: 471: 1110:"Qore Programming Language Reference Manual: Container Data Types" 753:
statements provide exception-aware functionality similar to D's
241:
Please help to demonstrate the notability of the topic by citing
931: 684: 676: 555: 1065:"Qore Programming Language Reference Manual: Parse Directives" 218: 116: 59: 18: 1134:"Qore Programming Language Reference Manual: Code Data Types" 883:
Qore features a unique garbage collection approach called
707:
operators, Perl5-compatible regular expressions, and more
608:
with destructors for scope-based resource management and
1158:"Qore Programming Language Reference Manual: Threading" 926:(with REST schema validation/code generation including 659:
to specify the filename of the interpreter as follows:
1232: 628:
Qore scripts typically have the following extensions:
538: 74:
A major contributor to this article appears to have a
1041:"qore/ABOUT at develop · qorelanguage/qore · GitHub" 864:
Qore's functionality, which is also why there is no
549: 533: 513: 493: 481: 467: 457: 428: 414: 404: 356: 994:as well as for other operating systems, including 934:support (including code and message generation), 655:operating systems will typically start with a 8: 351: 1203:"Modules · qorelanguage/qore Wiki · GitHub" 53:Learn how and when to remove these messages 350: 899:Support for Code Embedding and Sandboxing 835:Complex types are also supported such as 729:operator, object and class implementation 339:Learn how and when to remove this message 321:Learn how and when to remove this message 207:Learn how and when to remove this message 105:Learn how and when to remove this message 962:which facilitates automated testing and 1310:Dynamically typed programming languages 1011: 1002:on the Qore wiki for more information. 143:Please improve this article by adding 1330:Object-oriented programming languages 683:, Qore's syntax is highly similar to 7: 982:. Binary packages are available as 966:processes for code written in Qore. 1340:Text-oriented programming languages 845:reference<list<string>> 958:Qore supports testing through the 717:, Qore code looks more similar to 14: 508:GNU Lesser General Public License 34:This article has multiple issues. 1360:High-level programming languages 1325:Procedural programming languages 1000:General Source and Download Info 612:. This is due to Qore's unique 270:"Qore" programming language 223: 156:"Qore" programming language 121: 85:. Please discuss further on the 64: 23: 1320:Free software programmed in C++ 1315:Free compilers and interpreters 42:or discuss these issues on the 832:for code used as a data type. 1: 1305:Dynamic programming languages 895:automatic memory management. 145:secondary or tertiary sources 1250:Qore for the Perl Programmer 595:dynamic programming language 236:general notability guideline 16:Dynamic programming language 651:Executable Qore scripts on 1376: 824:(associative arrays), and 610:exception-safe programming 504:GNU General Public License 463:Dynamic, Optionally Strong 243:reliable secondary sources 232:The topic of this article 948:generic data mapping APIs 554: 453: 424: 234:may not meet Knowledge's 978:repository is hosted on 930:support), client/server 837:hash<string, bool> 1350:Cross-platform software 866:Global interpreter lock 647:: for Qore test scripts 641:: for Qore user modules 468:Implementation language 440:; 14 months ago 1345:Unix programming tools 1022:. Qore.org. 2016-06-13 964:Continuous integration 944:generic connector APIs 438:/ July 2, 2023 132:relies excessively on 1300:Programming languages 1264:software.opensuse.org 873:POSIX threads library 792:Basic types include: 83:neutral point of view 1284:portsmon.freebsd.org 663:#!/usr/bin/env qore 1355:American inventions 1335:Scripting languages 616:implementation for 515:Filename extensions 353: 1089:"Basic Data Types" 879:Garbage Collection 841:list<string> 828:, as well as code 635:: for Qore scripts 618:garbage collection 238: 996:Microsoft Windows 893:garbage collected 891:and also perform 885:prompt collection 614:prompt collection 592:garbage collected 573: 572: 459:Typing discipline 349: 348: 341: 331: 330: 323: 305: 233: 217: 216: 209: 191: 115: 114: 107: 78:with its subject. 57: 1367: 1236: 1235: 1233:Official website 1218: 1217: 1215: 1214: 1199: 1193: 1192: 1190: 1189: 1178: 1172: 1171: 1169: 1168: 1154: 1148: 1147: 1145: 1144: 1130: 1124: 1123: 1121: 1120: 1106: 1100: 1099: 1097: 1096: 1085: 1079: 1078: 1076: 1075: 1061: 1055: 1054: 1052: 1051: 1037: 1031: 1030: 1028: 1027: 1016: 907: 849:type-safe hashes 846: 842: 838: 831: 827: 823: 819: 815: 811: 807: 803: 799: 795: 782: 778: 774: 770: 760: 756: 752: 748: 744: 728: 724: 716: 706: 702: 698: 694: 690: 682: 664: 646: 640: 634: 545: 542: 540: 529: 525: 521: 448: 446: 441: 406:Designed by 354: 344: 337: 326: 319: 315: 312: 306: 304: 263: 227: 226: 219: 212: 205: 201: 198: 192: 190: 149: 125: 117: 110: 103: 99: 96: 90: 76:close connection 68: 67: 60: 49: 27: 26: 19: 1375: 1374: 1370: 1369: 1368: 1366: 1365: 1364: 1290: 1289: 1231: 1230: 1227: 1222: 1221: 1212: 1210: 1201: 1200: 1196: 1187: 1185: 1182:"Program Class" 1180: 1179: 1175: 1166: 1164: 1156: 1155: 1151: 1142: 1140: 1132: 1131: 1127: 1118: 1116: 1108: 1107: 1103: 1094: 1092: 1087: 1086: 1082: 1073: 1071: 1063: 1062: 1058: 1049: 1047: 1039: 1038: 1034: 1025: 1023: 1020:"Why use Qore?" 1018: 1017: 1013: 1008: 972: 956: 915: 913:Runtime Library 905: 901: 881: 857: 844: 840: 836: 829: 825: 821: 817: 813: 809: 805: 801: 797: 793: 790: 780: 776: 772: 768: 758: 754: 750: 746: 742: 726: 722: 714: 704: 700: 696: 692: 688: 680: 670: 662: 644: 638: 632: 626: 588:general-purpose 537: 527: 523: 519: 449: 444: 442: 439: 387:object-oriented 345: 334: 333: 332: 327: 316: 310: 307: 264: 262: 240: 228: 224: 213: 202: 196: 193: 150: 148: 142: 138:primary sources 126: 111: 100: 94: 91: 80: 69: 65: 28: 24: 17: 12: 11: 5: 1373: 1371: 1363: 1362: 1357: 1352: 1347: 1342: 1337: 1332: 1327: 1322: 1317: 1312: 1307: 1302: 1292: 1291: 1288: 1287: 1277: 1274:ftp.netbsd.org 1267: 1257: 1254:houston.pm.org 1247: 1237: 1226: 1225:External links 1223: 1220: 1219: 1194: 1173: 1149: 1125: 1101: 1080: 1056: 1032: 1010: 1009: 1007: 1004: 976:Git (software) 971: 968: 955: 952: 914: 911: 900: 897: 880: 877: 861:multithreading 856: 855:Multithreading 853: 789: 786: 785: 784: 762: 759:scope(failure) 736: 730: 708: 669: 666: 649: 648: 642: 636: 625: 622: 602:multithreading 571: 570: 552: 551: 547: 546: 535: 531: 530: 517: 511: 510: 497: 491: 490: 488:Cross-platform 485: 479: 478: 469: 465: 464: 461: 455: 454: 451: 450: 434: 432: 430:Stable release 426: 425: 422: 421: 418: 412: 411: 408: 402: 401: 363:multi-paradigm 360: 347: 346: 329: 328: 231: 229: 222: 215: 214: 129: 127: 120: 113: 112: 72: 70: 63: 58: 32: 31: 29: 22: 15: 13: 10: 9: 6: 4: 3: 2: 1372: 1361: 1358: 1356: 1353: 1351: 1348: 1346: 1343: 1341: 1338: 1336: 1333: 1331: 1328: 1326: 1323: 1321: 1318: 1316: 1313: 1311: 1308: 1306: 1303: 1301: 1298: 1297: 1295: 1285: 1281: 1278: 1275: 1271: 1268: 1265: 1261: 1258: 1255: 1251: 1248: 1245: 1241: 1238: 1234: 1229: 1228: 1224: 1208: 1204: 1198: 1195: 1183: 1177: 1174: 1163: 1162:Docs.qore.org 1159: 1153: 1150: 1139: 1138:Docs.qore.org 1135: 1129: 1126: 1115: 1114:Docs.qore.org 1111: 1105: 1102: 1090: 1084: 1081: 1070: 1069:Docs.qore.org 1066: 1060: 1057: 1046: 1042: 1036: 1033: 1021: 1015: 1012: 1005: 1003: 1001: 997: 993: 992:FreeBSD Ports 989: 985: 981: 977: 969: 967: 965: 961: 953: 951: 949: 945: 941: 940:RPC protocols 937: 933: 929: 925: 921: 912: 910: 898: 896: 894: 890: 886: 878: 876: 874: 869: 867: 862: 854: 852: 850: 833: 787: 766: 763: 740: 737: 734: 731: 725:keyword, the 720: 712: 709: 686: 678: 675: 674: 673: 667: 665: 660: 658: 654: 643: 637: 631: 630: 629: 623: 621: 619: 615: 611: 607: 603: 598: 596: 593: 589: 585: 581: 577: 569: 565: 561: 557: 553: 550:Influenced by 548: 544: 536: 532: 518: 516: 512: 509: 505: 501: 498: 496: 492: 489: 486: 484: 480: 477: 473: 470: 466: 462: 460: 456: 452: 437: 433: 431: 427: 423: 420:David Nichols 419: 417: 413: 410:David Nichols 409: 407: 403: 400: 396: 392: 388: 384: 380: 376: 375:shared memory 372: 368: 364: 361: 359: 355: 343: 340: 325: 322: 314: 303: 300: 296: 293: 289: 286: 282: 279: 275: 272: –  271: 267: 266:Find sources: 260: 256: 252: 248: 244: 237: 230: 221: 220: 211: 208: 200: 189: 186: 182: 179: 175: 172: 168: 165: 161: 158: –  157: 153: 152:Find sources: 146: 140: 139: 135: 130:This article 128: 124: 119: 118: 109: 106: 98: 88: 84: 79: 77: 71: 62: 61: 56: 54: 47: 46: 41: 40: 35: 30: 21: 20: 1283: 1273: 1263: 1253: 1243: 1211:. Retrieved 1209:. 2016-06-12 1206: 1197: 1186:. Retrieved 1176: 1165:. Retrieved 1161: 1152: 1141:. Retrieved 1137: 1128: 1117:. Retrieved 1113: 1104: 1093:. Retrieved 1083: 1072:. Retrieved 1068: 1059: 1048:. Retrieved 1044: 1035: 1024:. Retrieved 1014: 973: 970:Availability 960:QUnit module 957: 916: 902: 882: 870: 858: 834: 791: 723:synchronized 671: 661: 650: 627: 624:Qore Scripts 599: 575: 574: 335: 317: 308: 298: 291: 284: 277: 265: 203: 194: 184: 177: 170: 163: 151: 131: 101: 92: 73: 50: 43: 37: 36:Please help 33: 847:as well as 755:scope(exit) 691:statement, 580:interpreted 500:MIT License 391:class-based 367:thread safe 247:independent 1294:Categories 1244:github.com 1213:2016-08-10 1207:Github.com 1188:2016-06-13 1184:. Qore.org 1167:2016-08-10 1143:2016-08-10 1119:2016-08-10 1095:2012-05-31 1091:. Qore.org 1074:2016-08-10 1050:2016-08-10 1045:Github.com 1026:2016-06-14 1006:References 889:RAII idiom 788:Data Types 747:on_success 727:instanceof 715:%new-style 681:%new-style 679:: without 606:RAII idiom 584:high-level 445:2023-07-02 399:functional 395:procedural 383:imperative 379:functional 281:newspapers 255:redirected 167:newspapers 134:references 39:improve it 1240:Qore Wiki 936:WebSocket 868:in Qore. 653:Unix-like 416:Developer 245:that are 197:July 2019 95:July 2019 87:talk page 45:talk page 1260:openSUSE 988:MacPorts 751:on_error 657:hashbang 476:Pthreads 371:parallel 358:Paradigm 311:May 2023 1280:FreeBSD 990:and in 974:Qore's 954:Testing 928:Swagger 906:Program 802:integer 794:boolean 765:Haskell 743:on_exit 713:: with 689:foreach 534:Website 495:License 443: ( 295:scholar 259:deleted 181:scholar 1270:NetBSD 998:; see 986:s, in 980:GitHub 826:object 814:binary 798:string 781:select 779:, and 767:: the 749:, and 741:: the 721:; the 693:splice 687:; the 668:Syntax 645:.qtest 578:is an 528:.qtest 436:1.16.1 297:  290:  283:  276:  268:  251:merged 183:  176:  169:  162:  154:  806:float 777:foldr 773:foldl 705:chomp 541:.qore 302:JSTOR 288:books 257:, or 188:JSTOR 174:books 932:SOAP 924:REST 920:HTTP 830:code 822:hash 818:list 810:date 719:Java 711:Java 697:push 685:Perl 677:Perl 576:Qore 568:Java 556:Perl 543:.org 352:Qore 274:news 160:news 984:RPM 769:map 733:C++ 701:pop 639:.qm 564:C++ 539:www 524:.qm 472:C++ 393:), 136:to 1296:: 1205:. 1160:. 1136:. 1112:. 1067:. 1043:. 946:, 942:, 938:, 922:, 875:. 851:. 843:, 839:, 820:, 816:, 812:, 808:, 804:, 800:, 796:, 775:, 771:, 757:, 745:, 703:, 699:, 695:, 633:.q 620:. 590:, 586:, 582:, 566:, 562:, 558:, 526:, 522:, 520:.q 506:, 502:, 483:OS 474:, 397:, 385:, 381:, 377:, 365:: 253:, 147:. 48:. 1286:) 1282:( 1276:) 1272:( 1266:) 1262:( 1256:) 1252:( 1246:) 1242:( 1216:. 1191:. 1170:. 1146:. 1122:. 1098:. 1077:. 1053:. 1029:. 739:D 560:D 447:) 389:( 373:/ 369:/ 342:) 336:( 324:) 318:( 313:) 309:( 299:· 292:· 285:· 278:· 261:. 239:. 210:) 204:( 199:) 195:( 185:· 178:· 171:· 164:· 141:. 108:) 102:( 97:) 93:( 89:. 55:) 51:(

Index

improve it
talk page
Learn how and when to remove these messages
close connection
neutral point of view
talk page
Learn how and when to remove this message

references
primary sources
secondary or tertiary sources
"Qore" programming language
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message
general notability guideline
reliable secondary sources
independent
merged
redirected
deleted
"Qore" programming language
news
newspapers
books
scholar
JSTOR

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