1309:
1299:
22:
648:, including classes. In browsing Smalltalk classes the developer gleans definitions from executing objects. The main browser/editor in VisualWorks is the System Browser. It allows the developer to browse classes either in the overall class hierarchy or through their packages. It is launched from the VisualWorks Launcher.
742:
and opened an editor onto it. The editor itself is an object, as are all its components (down to and including the characters in its menus). The source code is available for all these objects, and VisualWorks has a plethora of inspectors, browsers, and other tools for anyone to evaluate and inspect
548:
When a parcel is loaded it is organized as a package, or bundle of packages. When looking for code loaded from a parcel, one can locate the bundle or package with the same name in the System
Browser. Packages are categories that organize classes into related groups, according to component. Packages
379:
minimises most collection pauses, but may not be suitable for hard real-time and determinism requirements, as long full collections may occur, which may stop the world for tens to hundreds of milliseconds, proportional to heap size. However, garbage collection is preferable over manual memory
528:
The Parcel
Manager is used to load and unload all parcels on the parcel path. A Suggestions view lists Categories containing key add-in parcels-by selecting a category, you get a list of recommended parcels. For example, the UI Painter is located in the Essentials category. There is also a
608:, which means the only way to get something to happen within Smalltalk is by sending messages to objects. VisualWorks uses the Smalltalk-80 language as standard, but comes with its own set of classes and methods. So even basic classes, like Object, differ from those in other Smalltalk-80
487:
An
Examples Browser is provided as a parcel in the examples directory. Several image level switches are available to specify parcel loading on image startup. The parcel path is the list of directories where VisualWorks looks for parcels. This can be set using the System Settings tool.
532:
A supported VisualWorks product parcel is represented by an icon that looks like a parcel. Parcels from other vendors look like a shopping sack. Because of the convoluted history of
Smalltalk class development this can be very useful. For instance, a parcel icon indicates that the
307:. In the late 1980s, a group of Smalltalk-80 developers spun off ParcPlace Systems to further develop Smalltalk-80 as a commercial product. The commercial product was initially named ObjectWorks, and then VisualWorks. On August 31, 1999, the VisualWorks product was sold to
346:
VisualWorks allows for very fast application development, as individual methods can be compiled even while the program to be developed is running. Compiling a
Smalltalk method typically takes significantly less than a second, while doing the same for a
502:
The parcel code's organization on loading is determined by its creation. If it was created by publishing a package, it is loaded into the same package. If created from a bundle, it can be reloaded as the bundle or as one package.
380:
management in an object-oriented language, and the programmer can take various actions to control when and for how long garbage collection occurs; so under most circumstances, garbage collection is not a concern.
659:
When a variable is deleted while references to it still exist, or is loaded via a parcel but never declared, its name enters the
Undeclared name space. Undeclared variables can cause certain program errors.
351:
project often takes a minute or more, and cannot be done easily without restarting the process. The various code browsers of VisualWorks help the developer to quickly locate a class or method of interest.
334:(GUI) application needs to be developed only once, and can then be switched to different widget styles. A VisualWorks application can be run on all supported platforms with no modifications. Only the
375:
by generating machine code that is specialised for frequently used types, but numeric processing and programs that benefit from precise memory layout may still run slower. The generational
844:
651:
List panes in the System
Browser allow developers to navigate to class and method definitions. They can then be viewed or edited in a code view, or modified with a new definitions.
529:
Directory-tree view of the parcel path, for finding parcels outside the
Suggestions view. A Loaded view lists all parcels already in the image. Only loaded parcels can be browsed.
1339:
1313:
476:
suffix. It is still supported in VisualWorks, but has been superseded by a
Parcels mechanism. There are examples in file-in format in the examples subdirectory.
1334:
837:
565:. Additional class libraries are provided by VisualWorks or third-party vendors, usually as parcel files. For most non-Smalltalk development environments,
495:
for VisualWorks. Packages and bundles organize the code and model the contents of parcels. Parcels are created by publishing packages/bundles. The term
620:. The illustrative examples here work in VisualWorks Smalltalk, but may not work in other Smalltalks because the classes and/or methods may differ.
830:
376:
605:
1263:
1182:
871:
149:
609:
465:
105:
755:
968:
549:
can be grouped into bundles. Packages and bundles can be saved (published) as parcels, or saved into a source code repository.
519:
Every class in the parcel is sent message post Load: the
Package, and any action executed. This is often an application launch.
1223:
1057:
43:
472:. Every file-in document provides a simple textual representation of a Smalltalk class, or classes, in a text file with a
364:
330:
VisualWorks supports cross-platform development projects, because of its built-in multi-platform features. For example, a
86:
499:, in the VisualWorks sphere, is used to refer to parcels, packages, and bundles when it is not necessary to be specific.
58:
39:
696:
One can evaluate this expression as-is in a VisualWorks workspace using one command in the operate menu. This creates:
988:
629:
261:
257:
129:
368:
65:
32:
816:
709:
701:
679:
641:
1298:
1049:
687:
461:
389:
372:
331:
355:
The performance and throughput of Smalltalk programs can approach the performance of static languages such as
775:
72:
534:
1303:
577:, code libraries are loaded into the running system, and become part of the environment. For example, the
492:
1121:
675:
54:
388:
All components of the VisualWorks system are installed on Windows 7 or later in a Program Files\Cincom
1292:
593:, is the control centre for the VisualWorks system. It is the launching pad for all the major tools.
229:
124:
1141:
1081:
946:
898:
393:
1092:
1062:
1022:
672:
184:
156:
578:
668:
558:
892:
617:
312:
217:
1258:
1243:
1177:
1086:
961:
686:
can be easily subsumed into the object structure within VisualWorks. Consider the Smalltalk
224:
196:
1238:
1031:
1019:
886:
335:
136:
79:
1154:
1136:
308:
304:
201:
189:
165:
161:
1328:
1253:
1233:
904:
683:
637:
562:
734:-like editor containing the contents of the file. That is, the evaluation created a
1268:
1248:
1228:
566:
469:
297:
822:
513:
Any defined pre-load action is performed (e.g. undeclared variables initialized).
303:
The lineage of VisualWorks goes back to the first Smalltalk-80 implementation by
1207:
1202:
1192:
1187:
1103:
1037:
633:
570:
433:
425:
177:
172:
145:
21:
1111:
1003:
720:
645:
429:
751:
929:
853:
601:
574:
540:
One can also load and unload parcels programmatically from the application.
457:
289:
265:
205:
412:
VisualWorks assumes a three-button mouse with buttons having logical names
1197:
1075:
995:
862:
735:
731:
296:, which are dynamic collections of software objects, each contained in a
141:
360:
914:
613:
269:
644:
definitions. In VisualWorks, like all Smalltalks, everything is an
356:
348:
975:
920:
320:
316:
213:
209:
808:
240:
716:
705:
324:
826:
468:
to generate any classes not already contained in the Smalltalk
444:
brings up a menu of operations for the current view/selection.
1146:
15:
424:. Although, a one or two button mouse can be used along with
292:
language. It is implemented as a development system based on
311:. VisualWorks runs under many operating systems, including
561:
image contains minimal development facilities, using basic
448:
initiates actions (move, close...) on VisualWorks windows.
464:
as text files. These can be "filed in" to the VisualWorks
484:
Parcels are external file representations of packages.
671:
illustrates how VisualWorks can be used to manipulate
632:
environments a developer directly edits a plain text
1170:
1163:
1129:
1120:
1102:
1048:
1018:
945:
879:
870:
861:
251:
235:
223:
195:
183:
171:
155:
135:
123:
46:. Unsourced material may be challenged and removed.
754:are produced for Cincom Smalltalk often, and a
704:of class ByteString containing the string (as
589:The VisualWorks Launcher, usually just called
401:
838:
783:VisualWorks 7.6 Application Developer's Guide
8:
288:) is a cross-platform implementation of the
118:
1167:
1126:
876:
867:
845:
831:
823:
117:
106:Learn how and when to remove this message
396:of the installed system – for instance,
767:
569:are imported at compile time, using an
510:Any prerequisite components are loaded.
669:Cincom's first tutorial on VisualWorks
1340:Smalltalk programming language family
516:Objects in the package are installed.
7:
743:the code in static or dynamic mode.
606:object oriented programming language
506:The load sequence for a package is:
44:adding citations to reliable sources
1335:Integrated development environments
624:Browsing and editing Smalltalk code
400:. This directory contains several
14:
678:. It illustrates how things like
402:subdirectories including bin, doc
1308:
1307:
1297:
738:object as a gateway to the file
20:
819:at UIUC archived at archive.org
693:'ws000101.log' asFilename edit
456:File-in format is the original
31:needs additional citations for
537:is now VisualWorks supported.
440:selects any interface object.
1:
404:, examples and many others.
630:object-oriented programming
1356:
1281:
1050:Graphical user interfaces
256:
460:format for representing
332:graphical user interface
730:The latter is a simple
581:is loaded as a parcel.
408:Mouse buttons and menus
338:is platform-dependent.
785:. Cincom. pp. 1–3
553:Loading code libraries
535:Arbor hypertext system
342:Benefits and drawbacks
1058:Model–view–controller
776:"Running VisualWorks"
373:just-in-time compiler
164:, ParcPlace Systems,
1293:Open-source software
856:programming language
712:for manipulating it;
655:Undeclared variables
585:VisualWorks Launcher
493:component technology
491:Parcels provide the
40:improve this article
715:An object of class
120:
1322:
1321:
1277:
1276:
1219:
1218:
1071:
1070:
1014:
1013:
893:Dolphin Smalltalk
726:An editor object.
618:Dolphin Smalltalk
377:garbage collector
275:
274:
173:Typing discipline
116:
115:
108:
90:
1347:
1311:
1310:
1301:
1259:Trygve Reenskaug
1244:Mark P. McCahill
1178:L. Peter Deutsch
1168:
1127:
983:Pocket Smalltalk
962:Little Smalltalk
877:
868:
847:
840:
833:
824:
817:VisualWorks wiki
812:
811:
809:Official website
794:
793:
791:
790:
780:
772:
756:Seaside tutorial
741:
664:String and files
646:executing object
636:file containing
597:Smalltalk basics
475:
447:
443:
439:
423:
419:
415:
399:
392:named after the
286:Cincom Smalltalk
247:
244:
243:.cincomsmalltalk
242:
137:Designed by
121:
111:
104:
100:
97:
91:
89:
48:
24:
16:
1355:
1354:
1350:
1349:
1348:
1346:
1345:
1344:
1325:
1324:
1323:
1318:
1296:
1273:
1239:Julian Lombardi
1215:
1159:
1116:
1098:
1067:
1044:
1032:Croquet Project
1020:Virtual reality
1010:
941:
872:Implementations
857:
851:
807:
806:
803:
798:
797:
788:
786:
778:
774:
773:
769:
764:
749:
739:
694:
666:
657:
628:In traditional
626:
599:
587:
563:class libraries
555:
546:
526:
482:
473:
454:
445:
442:<Operate>
441:
437:
421:
418:<Operate>
417:
413:
410:
397:
386:
344:
336:virtual machine
239:
130:Object-oriented
112:
101:
95:
92:
49:
47:
37:
25:
12:
11:
5:
1353:
1351:
1343:
1342:
1337:
1327:
1326:
1320:
1319:
1317:
1287:= discontinued
1282:
1279:
1278:
1275:
1274:
1272:
1271:
1266:
1261:
1256:
1251:
1246:
1241:
1236:
1231:
1226:
1220:
1217:
1216:
1214:
1213:
1210:
1205:
1200:
1195:
1190:
1185:
1183:Adele Goldberg
1180:
1174:
1172:
1165:
1161:
1160:
1158:
1157:
1152:
1149:
1144:
1139:
1137:Cincom Systems
1133:
1131:
1124:
1118:
1117:
1115:
1108:
1106:
1100:
1099:
1097:
1096:
1090:
1084:
1079:
1072:
1069:
1068:
1066:
1065:
1060:
1054:
1052:
1046:
1045:
1043:
1042:
1027:
1025:
1016:
1015:
1012:
1011:
1009:
1008:
1000:
992:
986:
980:
972:
966:
958:
951:
949:
943:
942:
940:
939:
934:
926:
925:
924:
912:
909:
901:
896:
890:
883:
881:
874:
865:
859:
858:
852:
850:
849:
842:
835:
827:
821:
820:
814:
802:
801:External links
799:
796:
795:
766:
765:
763:
760:
748:
745:
728:
727:
724:
713:
692:
665:
662:
656:
653:
625:
622:
598:
595:
586:
583:
567:code libraries
554:
551:
545:
542:
525:
524:Parcel manager
522:
521:
520:
517:
514:
511:
481:
478:
453:
452:File-in format
450:
446:<Window>
438:<Select>
422:<Window>
414:<Select>
409:
406:
394:version number
385:
382:
343:
340:
323:, and several
309:Cincom Systems
273:
272:
254:
253:
249:
248:
237:
233:
232:
227:
221:
220:
202:Cross-platform
199:
193:
192:
190:Cross-platform
187:
181:
180:
175:
169:
168:
166:Cincom Systems
159:
153:
152:
150:Adele Goldberg
139:
133:
132:
127:
114:
113:
96:September 2010
28:
26:
19:
13:
10:
9:
6:
4:
3:
2:
1352:
1341:
1338:
1336:
1333:
1332:
1330:
1316:
1315:
1306:
1305:
1300:
1295:
1294:
1289:
1288:
1285:
1280:
1270:
1267:
1265:
1262:
1260:
1257:
1255:
1254:David P. Reed
1252:
1250:
1247:
1245:
1242:
1240:
1237:
1235:
1232:
1230:
1227:
1225:
1222:
1221:
1212:Scott Wallace
1211:
1209:
1206:
1204:
1201:
1199:
1196:
1194:
1191:
1189:
1186:
1184:
1181:
1179:
1176:
1175:
1173:
1169:
1166:
1162:
1156:
1153:
1150:
1148:
1145:
1143:
1140:
1138:
1135:
1134:
1132:
1128:
1125:
1123:
1119:
1114:
1113:
1109:
1107:
1105:
1101:
1094:
1091:
1088:
1085:
1083:
1080:
1077:
1074:
1073:
1064:
1061:
1059:
1056:
1055:
1053:
1051:
1047:
1040:
1039:
1034:
1033:
1029:
1028:
1026:
1024:
1021:
1017:
1006:
1005:
1001:
998:
997:
993:
990:
987:
984:
981:
978:
977:
973:
970:
967:
964:
963:
959:
956:
953:
952:
950:
948:
944:
938:
935:
933:
931:
927:
922:
919:
918:
916:
913:
910:
907:
906:
905:GNU Smalltalk
902:
900:
897:
894:
891:
888:
885:
884:
882:
878:
875:
873:
869:
866:
864:
860:
855:
848:
843:
841:
836:
834:
829:
828:
825:
818:
815:
810:
805:
804:
800:
784:
777:
771:
768:
761:
759:
757:
753:
746:
744:
737:
733:
725:
722:
719:Filename (in
718:
714:
711:
707:
703:
699:
698:
697:
691:
689:
685:
681:
677:
674:
670:
663:
661:
654:
652:
649:
647:
643:
639:
635:
631:
623:
621:
619:
615:
611:
607:
603:
596:
594:
592:
584:
582:
580:
576:
572:
568:
564:
560:
552:
550:
543:
541:
538:
536:
530:
523:
518:
515:
512:
509:
508:
507:
504:
500:
498:
494:
489:
485:
479:
477:
471:
467:
463:
459:
451:
449:
435:
431:
427:
407:
405:
403:
395:
391:
383:
381:
378:
374:
370:
366:
362:
358:
353:
350:
341:
339:
337:
333:
328:
326:
322:
318:
314:
310:
306:
301:
299:
295:
291:
287:
283:
279:
271:
267:
263:
259:
255:
252:Influenced by
250:
246:
238:
234:
231:
228:
226:
222:
219:
215:
211:
207:
203:
200:
198:
194:
191:
188:
186:
182:
179:
176:
174:
170:
167:
163:
160:
158:
154:
151:
147:
143:
140:
138:
134:
131:
128:
126:
122:
110:
107:
99:
88:
85:
81:
78:
74:
71:
67:
64:
60:
57: –
56:
55:"VisualWorks"
52:
51:Find sources:
45:
41:
35:
34:
29:This article
27:
23:
18:
17:
1312:
1302:
1290:
1286:
1283:
1269:Larry Tesler
1249:Andreas Raab
1229:Gilad Bracha
1110:
1036:
1030:
1002:
994:
982:
976:OMeta/Squeak
974:
960:
954:
936:
928:
903:
787:. Retrieved
782:
770:
750:
740:ws000101.log
729:
695:
667:
658:
650:
627:
600:
591:the Launcher
590:
588:
573:command. In
557:The initial
556:
547:
539:
531:
527:
505:
501:
496:
490:
486:
483:
455:
411:
387:
384:Installation
354:
345:
329:
302:
298:system image
293:
285:
284:, afterward
281:
277:
276:
102:
93:
83:
76:
69:
62:
50:
38:Please help
33:verification
30:
1264:David Smith
1208:David Ungar
1203:Diana Merry
1193:Ted Kaehler
1188:Dan Ingalls
1151:Object Arts
1104:Workstation
1038:Open Cobalt
937:VisualWorks
911:Smalltalk/X
634:source code
282:ObjectWorks
278:VisualWorks
230:Proprietary
208:(several),
146:Dan Ingalls
119:VisualWorks
1329:Categories
1234:Urs Hölzle
1155:Xerox PARC
1112:Xerox Alto
1082:GemStone/S
1004:Strongtalk
899:GemStone/S
789:2009-04-25
762:References
721:Windows XP
708:) and the
688:expression
604:is a pure
579:UI Painter
497:components
327:versions.
305:Xerox PARC
280:(formerly
162:Xerox PARC
157:Developers
66:newspapers
1171:Designers
1122:Community
1023:platforms
932:Smalltalk
930:VisualAge
854:Smalltalk
752:Tutorials
747:Tutorials
676:log files
602:Smalltalk
575:Smalltalk
559:visual.im
458:Smalltalk
390:directory
290:Smalltalk
266:Sketchpad
206:Unix-like
1314:Category
1224:Lars Bak
1198:Alan Kay
1142:Gemstone
1130:Business
1076:AIDA/Web
996:StepTalk
969:Newspeak
955:F-Script
947:Dialects
863:Software
813:, Cincom
758:exists.
736:filename
732:notebook
544:Packages
371:using a
185:Platform
142:Alan Kay
125:Paradigm
1284:Italics
1093:Seaside
1063:Morphic
710:methods
680:strings
571:include
480:Parcels
462:classes
434:Command
398:vw7.5nc
361:Fortran
313:Windows
236:Website
225:License
218:Windows
178:Dynamic
80:scholar
1164:People
915:Squeak
723:); and
702:object
673:server
642:method
614:Squeak
436:keys.
430:Option
420:, and
365:Pascal
294:images
270:Simula
82:
75:
68:
61:
53:
1087:Moose
921:Pharo
887:Amber
880:Major
779:(PDF)
706:bytes
684:files
638:class
612:like
470:image
432:, or
367:, or
321:Linux
317:macOS
214:Linux
210:macOS
87:JSTOR
73:books
1304:Book
1291:° =
1035:° →
989:Self
717:NTFS
682:and
640:and
616:and
610:IDEs
426:Ctrl
325:Unix
262:Logo
258:Lisp
245:.com
59:news
1147:IBM
700:An
474:.st
466:IDE
369:Ada
357:C++
349:C++
241:www
42:by
1331::
917:°
781:.
690::
428:,
416:,
363:,
359:,
319:,
315:,
300:.
268:,
264:;
260:,
216:,
212:,
204::
197:OS
148:,
144:,
1095:°
1089:°
1078:°
1041:°
1007:°
999:°
991:°
985:°
979:°
971:°
965:°
957:°
923:°
908:°
895:°
889:°
846:e
839:t
832:v
792:.
109:)
103:(
98:)
94:(
84:·
77:·
70:·
63:·
36:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.