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:(
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.