1347:
159:. Statically checking prototype-based languages can be difficult, because these languages often allow objects to be dynamically extended with new behavior, and even to have their parent object (from which they inherit) changed, at
316:
Ada 83 itself is generally not considered to be object-oriented; rather, according to the terminology of Wegner , it is said to be object-based, since it provides only a restricted form of inheritance and it lacks
121:
is usually applied to those object-based languages that are not also object-oriented, although all object-oriented languages are also object-based, by definition. Instead, the terms
441:
1188:
347:
411:
360:
510:
445:
1181:
140:
languages, true object-oriented languages that lack classes, but in which objects instead inherit their code and data directly from other
340:
47:. Object-based languages that do not support inheritance or subtyping are usually not considered to be true object-oriented languages.
1412:
193:
34:
1388:
574:
1174:
924:
786:
1281:
1271:
930:
1329:
1286:
1276:
1266:
333:
1243:
1115:
863:
189:
583:
51:
114:. These languages all support the definition of an object as a data structure, but lack polymorphism and inheritance.
160:
1258:
955:
635:
579:
1238:
815:
688:
619:
554:
477:
197:
1407:
1318:
1233:
993:
756:
386:
274:
216:
185:
95:
1248:
771:
761:
539:
79:
71:
1381:
1155:
1135:
1065:
1008:
970:
960:
920:
845:
781:
751:
678:
667:
564:
544:
519:
482:
1110:
873:
840:
735:
711:
673:
653:
549:
458:
436:
421:
220:
181:
137:
87:
83:
43:
1307:
1057:
1043:
950:
910:
835:
741:
721:
588:
467:
401:
103:
259:
Conference proceedings on Object-oriented programming systems, languages and applications - OOPSLA '87
1150:
915:
825:
805:
791:
29:
1130:
1090:
1033:
965:
703:
534:
1374:
1140:
1120:
1061:
1048:
1028:
855:
592:
496:
454:
325:
155:
Both object-based and object-oriented languages (whether class-based or prototype-based) may be
1362:
1100:
1075:
1069:
1013:
975:
663:
658:
610:
505:
406:
378:
369:
227:
129:
are normally used as mutually exclusive alternatives, rather than as categories that overlap.
1002:
998:
940:
892:
102:. Examples of a language that is object-based, but not object-oriented are early versions of
1354:
1226:
1197:
1145:
1125:
1085:
887:
746:
615:
602:
356:
24:
8:
1080:
1018:
830:
810:
796:
528:
396:
391:
897:
850:
820:
766:
625:
524:
416:
280:
145:
1221:
1216:
1053:
945:
800:
776:
716:
683:
645:
630:
569:
270:
251:
91:
935:
867:
731:
472:
306:. Swiss Federal Institute of Technology in Lausanne Software Engineering Laboratory
262:
284:
1166:
985:
859:
725:
426:
1346:
1358:
1037:
693:
559:
1401:
1023:
156:
1211:
299:
107:
99:
905:
67:
266:
149:
111:
59:
38:
355:
27:
that uses the idea of encapsulating state and operations inside
203:
55:
167:
Difference between object-oriented and object-based languages
212:
206:
of the features of OOP, such as polymorphism or inheritance.
63:
75:
180:
Object-oriented languages support all of the features of
144:
objects. An example of a commonly used prototype-based
297:
1196:
1399:
298:Barbey, S.; Kempe, M.; Strohmeier, A. (1993).
70:(which object model is based on Smalltalk's),
1382:
1182:
341:
20:may be used in a technical sense to describe
252:"Dimensions of object-based language design"
66:(which object model is based on Simula's),
1389:
1375:
1189:
1175:
348:
334:
33:. Object-based languages need not support
412:Programming in the large and in the small
300:"Object-Oriented Programming with Ada 9X"
54:, in rough chronological order, include
1400:
249:
1170:
329:
1341:
41:, but those that do are also termed
13:
261:. Vol. 22. pp. 168–182.
14:
1424:
202:Object-based languages support a
1413:Programming language topic stubs
1345:
956:Partitioned global address space
250:Wegner, Peter (December 1987).
1198:Types of programming languages
291:
257:. In Meyrowitz, Norman (ed.).
243:
1:
236:
1361:. You can help Knowledge by
1330:Programming paradigms navbox
483:Uniform Function Call Syntax
7:
1298:
951:Parallel programming models
925:Concurrent constraint logic
182:object-oriented programming
138:prototype-based programming
10:
1431:
1340:
1044:Metalinguistic abstraction
911:Automatic mutual exclusion
1257:
1204:
1099:
984:
916:Choreographic programming
886:
702:
644:
601:
504:
495:
435:
377:
368:
52:object-oriented languages
966:Relativistic programming
172:Object-oriented language
157:statically type-checked
1357:-related article is a
976:Structured concurrency
361:Comparison by language
304:Draft Technical Report
175:Object-based language
117:In practice, the term
78:(formerly REALbasic),
1408:Programming paradigms
1319:Programming languages
941:Multitier programming
757:Interface description
357:Programming paradigms
18:object-based language
1355:programming-language
132:Sometimes, the term
25:programming language
1081:Self-modifying code
689:Probabilistic logic
620:Functional reactive
575:Expression-oriented
529:Partial application
267:10.1145/38765.38823
168:
994:Attribute-oriented
767:List comprehension
712:Algebraic modeling
525:Anonymous function
417:Design by contract
387:Jackson structures
166:
146:scripting language
1370:
1369:
1308:Computer language
1295:
1294:
1164:
1163:
1054:Program synthesis
946:Organic computing
882:
881:
787:Non-English-based
762:Language-oriented
540:Purely functional
491:
490:
234:
233:
92:Visual Basic .NET
1420:
1391:
1384:
1377:
1349:
1342:
1334:
1328:
1323:
1317:
1312:
1306:
1191:
1184:
1177:
1168:
1167:
1066:by demonstration
971:Service-oriented
961:Process-oriented
936:Macroprogramming
921:Concurrent logic
792:Page description
782:Natural language
752:Grammar-oriented
679:Nondeterministic
668:Constraint logic
570:Point-free style
565:Functional logic
502:
501:
473:Immutable object
392:Block-structured
375:
374:
350:
343:
336:
327:
326:
320:
319:
313:
311:
295:
289:
288:
256:
247:
169:
165:
1430:
1429:
1423:
1422:
1421:
1419:
1418:
1417:
1398:
1397:
1396:
1395:
1338:
1332:
1326:
1321:
1315:
1310:
1304:
1301:
1296:
1291:
1253:
1244:Very high-level
1200:
1195:
1165:
1160:
1102:
1095:
986:Metaprogramming
980:
896:
891:
878:
860:Graph rewriting
698:
674:Inductive logic
654:Abductive logic
640:
597:
560:Dependent types
508:
487:
459:Prototype-based
439:
437:Object-oriented
431:
427:Nested function
422:Invariant-based
364:
354:
324:
323:
309:
307:
296:
292:
277:
254:
248:
244:
239:
127:object-oriented
44:object-oriented
12:
11:
5:
1428:
1427:
1416:
1415:
1410:
1394:
1393:
1386:
1379:
1371:
1368:
1367:
1350:
1336:
1335:
1324:
1313:
1300:
1297:
1293:
1292:
1290:
1289:
1284:
1279:
1274:
1269:
1263:
1261:
1255:
1254:
1252:
1251:
1246:
1241:
1236:
1230:
1229:
1224:
1219:
1214:
1208:
1206:
1202:
1201:
1194:
1193:
1186:
1179:
1171:
1162:
1161:
1159:
1158:
1153:
1148:
1143:
1138:
1133:
1128:
1123:
1118:
1113:
1107:
1105:
1097:
1096:
1094:
1093:
1088:
1083:
1078:
1073:
1051:
1046:
1041:
1031:
1026:
1021:
1016:
1011:
1006:
996:
990:
988:
982:
981:
979:
978:
973:
968:
963:
958:
953:
948:
943:
938:
933:
928:
918:
913:
908:
902:
900:
884:
883:
880:
879:
877:
876:
871:
856:Transformation
853:
848:
843:
838:
833:
828:
823:
818:
813:
808:
803:
794:
789:
784:
779:
774:
769:
764:
759:
754:
749:
744:
742:Differentiable
739:
729:
722:Automata-based
719:
714:
708:
706:
700:
699:
697:
696:
691:
686:
681:
676:
671:
661:
656:
650:
648:
642:
641:
639:
638:
633:
628:
623:
613:
607:
605:
599:
598:
596:
595:
589:Function-level
586:
577:
572:
567:
562:
557:
552:
547:
542:
537:
532:
522:
516:
514:
499:
493:
492:
489:
488:
486:
485:
480:
475:
470:
465:
451:
449:
433:
432:
430:
429:
424:
419:
414:
409:
404:
402:Non-structured
399:
394:
389:
383:
381:
372:
366:
365:
353:
352:
345:
338:
330:
322:
321:
290:
275:
241:
240:
238:
235:
232:
231:
224:
208:
207:
200:
177:
176:
173:
136:is applied to
9:
6:
4:
3:
2:
1426:
1425:
1414:
1411:
1409:
1406:
1405:
1403:
1392:
1387:
1385:
1380:
1378:
1373:
1372:
1366:
1364:
1360:
1356:
1351:
1348:
1344:
1343:
1339:
1331:
1325:
1320:
1314:
1309:
1303:
1302:
1288:
1285:
1283:
1280:
1278:
1275:
1273:
1270:
1268:
1265:
1264:
1262:
1260:
1256:
1250:
1247:
1245:
1242:
1240:
1237:
1235:
1232:
1231:
1228:
1225:
1223:
1220:
1218:
1215:
1213:
1210:
1209:
1207:
1203:
1199:
1192:
1187:
1185:
1180:
1178:
1173:
1172:
1169:
1157:
1154:
1152:
1149:
1147:
1144:
1142:
1139:
1137:
1134:
1132:
1129:
1127:
1126:Data-oriented
1124:
1122:
1119:
1117:
1114:
1112:
1109:
1108:
1106:
1104:
1098:
1092:
1089:
1087:
1084:
1082:
1079:
1077:
1074:
1071:
1067:
1063:
1059:
1055:
1052:
1050:
1047:
1045:
1042:
1039:
1035:
1032:
1030:
1027:
1025:
1024:Homoiconicity
1022:
1020:
1017:
1015:
1012:
1010:
1007:
1004:
1000:
997:
995:
992:
991:
989:
987:
983:
977:
974:
972:
969:
967:
964:
962:
959:
957:
954:
952:
949:
947:
944:
942:
939:
937:
934:
932:
931:Concurrent OO
929:
926:
922:
919:
917:
914:
912:
909:
907:
904:
903:
901:
899:
894:
889:
885:
875:
872:
869:
865:
861:
857:
854:
852:
849:
847:
844:
842:
839:
837:
834:
832:
829:
827:
826:Set-theoretic
824:
822:
819:
817:
814:
812:
809:
807:
806:Probabilistic
804:
802:
798:
795:
793:
790:
788:
785:
783:
780:
778:
775:
773:
770:
768:
765:
763:
760:
758:
755:
753:
750:
748:
745:
743:
740:
737:
733:
730:
727:
723:
720:
718:
715:
713:
710:
709:
707:
705:
701:
695:
692:
690:
687:
685:
682:
680:
677:
675:
672:
669:
665:
662:
660:
657:
655:
652:
651:
649:
647:
643:
637:
634:
632:
629:
627:
624:
621:
617:
614:
612:
609:
608:
606:
604:
600:
594:
590:
587:
585:
584:Concatenative
581:
578:
576:
573:
571:
568:
566:
563:
561:
558:
556:
553:
551:
548:
546:
543:
541:
538:
536:
533:
530:
526:
523:
521:
518:
517:
515:
512:
507:
503:
500:
498:
494:
484:
481:
479:
476:
474:
471:
469:
466:
464:
460:
456:
453:
452:
450:
447:
443:
438:
434:
428:
425:
423:
420:
418:
415:
413:
410:
408:
405:
403:
400:
398:
395:
393:
390:
388:
385:
384:
382:
380:
376:
373:
371:
367:
362:
358:
351:
346:
344:
339:
337:
332:
331:
328:
318:
317:polymorphism.
305:
301:
294:
286:
282:
278:
272:
268:
264:
260:
253:
246:
242:
229:
225:
222:
218:
214:
210:
209:
205:
201:
199:
195:
191:
190:encapsulation
187:
183:
179:
178:
174:
171:
170:
164:
162:
158:
153:
151:
147:
143:
139:
135:
130:
128:
124:
120:
115:
113:
109:
105:
101:
97:
93:
89:
85:
81:
77:
73:
69:
65:
61:
57:
53:
48:
46:
45:
40:
36:
32:
31:
26:
23:
19:
1363:expanding it
1352:
1337:
1333:}}
1327:{{
1322:}}
1316:{{
1311:}}
1305:{{
1131:Event-driven
535:Higher-order
463:Object-based
462:
315:
308:. Retrieved
303:
293:
258:
245:
228:Visual Basic
198:polymorphism
154:
141:
134:object-based
133:
131:
126:
123:object-based
122:
119:object-based
118:
116:
108:Visual Basic
100:Fortran 2003
50:Examples of
49:
42:
28:
21:
17:
15:
1227:Interpreted
1141:Intentional
1121:Data-driven
1103:of concerns
1062:Inferential
1049:Multi-stage
1029:Interactive
906:Actor-based
893:distributed
836:Stack-based
636:Synchronous
593:Value-level
580:Applicative
497:Declarative
455:Class-based
310:15 December
230:(pre-.NET)
194:inheritance
186:abstraction
68:Objective-C
35:inheritance
1402:Categories
1259:Generation
1239:High-level
1116:Components
1101:Separation
1076:Reflective
1070:by example
1014:Extensible
888:Concurrent
864:Production
851:Templating
831:Simulation
816:Scientific
736:Spacecraft
664:Constraint
659:Answer set
611:Flow-based
511:comparison
506:Functional
478:Persistent
442:comparison
407:Procedural
379:Structured
370:Imperative
276:0897912470
237:References
226:Examples:
211:Examples:
150:JavaScript
112:Fortran 90
110:(VB), and
1234:Low-level
1003:Inductive
999:Automatic
821:Scripting
520:Recursive
60:Smalltalk
39:subtyping
16:The term
1299:See also
1249:Esoteric
1222:Compiled
1217:Assembly
1156:Subjects
1146:Literate
1136:Features
1091:Template
1086:Symbolic
1058:Bayesian
1038:Hygienic
898:parallel
777:Modeling
772:Low-code
747:End-user
684:Ontology
616:Reactive
603:Dataflow
142:template
1212:Machine
1111:Aspects
1019:Generic
1009:Dynamic
868:Pattern
846:Tactile
811:Quantum
801:filters
732:Command
631:Streams
626:Signals
397:Modular
184:(OOP):
161:runtime
30:objects
1282:Fourth
1272:Second
874:Visual
841:System
726:Action
550:Strict
285:819420
283:
273:
223:, etc.
204:subset
98:, and
80:Python
72:Eiffel
56:Simula
1353:This
1287:Fifth
1277:Third
1267:First
1205:Level
1151:Roles
1034:Macro
797:Pipes
717:Array
694:Query
646:Logic
555:GADTs
545:Total
468:Agent
281:S2CID
255:(PDF)
1359:stub
799:and
446:list
312:2013
271:ISBN
221:Java
125:and
88:Java
84:Ruby
76:Xojo
704:DSL
263:doi
213:C++
148:is
104:Ada
64:C++
37:or
22:any
1404::
1068:,
1064:,
1060:,
866:,
862:,
591:,
582:,
461:,
457:,
444:,
314:.
302:.
279:.
269:.
219:,
217:C#
215:,
196:,
192:,
188:,
163:.
152:.
106:,
96:C#
94:,
90:,
86:,
82:,
74:,
62:,
58:,
1390:e
1383:t
1376:v
1365:.
1190:e
1183:t
1176:v
1072:)
1056:(
1040:)
1036:(
1005:)
1001:(
927:)
923:(
895:,
890:,
870:)
858:(
738:)
734:(
728:)
724:(
670:)
666:(
622:)
618:(
531:)
527:(
513:)
509:(
448:)
440:(
363:)
359:(
349:e
342:t
335:v
287:.
265::
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.