Visualage for Smalltalk Handbook Volume 1: Fundamentals

Total Page:16

File Type:pdf, Size:1020Kb

Visualage for Smalltalk Handbook Volume 1: Fundamentals SG24-4828-00 VisualAge for Smalltalk Handbook Volume 1: Fundamentals September 1997 SG24-4828-00 International Technical Support Organization VisualAge for Smalltalk Handbook Volume 1: Fundamentals September 1997 IBML Take Note! Before using this information and the product it supports, be sure to read the general information in Appendix A, “Special Notices.” First Edition (September 1997) This edition applies to VisualAge for Smalltalk, Versions 2, 3, and 4, for use with OS/2, AIX, and Microsoft Windows 95/NT. Comments may be addressed to: IBM Corporation, International Technical Support Organization Dept. QXXE Building 80-E2 650 Harry Road San Jose, California 95120-6099 When you send information to IBM, you grant IBM a non-exclusive right to use or distribute the information in any way it believes appropriate without incurring any obligation to you. Copyright International Business Machines Corporation 1997. All rights reserved. Note to U.S. Government Users — Documentation related to restricted rights — Use, duplication or disclosure is subject to restrictions set forth in GSA ADP Schedule Contract with IBM Corp. Contents Preface . xv How This Redbook Is Organized ....................... xvi ITSO on the Internet ............................... xvii VisualAge Support on CompuServe ..................... xix About the Authors ................................ xix Acknowledgments . xx Comments Welcome . xxi Chapter 1. What Is VisualAge for Smalltalk? ................. 1 Description of VisualAge for Smalltalk ..................... 1 VisualAge for Smalltalk Technology ...................... 1 Description of Smalltalk ............................. 2 Description of ENVY ................................ 2 Stability and Maturity ............................... 2 Openness . 3 Team or Professional Version .......................... 3 Advantages of VisualAge ............................. 3 Advantages of Smalltalk ............................. 4 VisualAge for Smalltalk and VisualAge Generator .............. 5 VisualAge for Smalltalk and C++ ....................... 5 Visualizer . 6 Team Connection . 6 Supported Platforms . 6 Smalltalk Strategy . 7 Smalltalk and Java ................................ 7 Configuration Management . 7 Packaging Support . 8 Database Support . 8 Communication Protocol Support ........................ 8 Legacy Code . 9 Runtime Distribution Fees ............................ 9 Distributing Smalltalk Compiler ......................... 9 Source Code Availability ............................. 9 Upward Compatibility . 10 Common User Access Compliance ....................... 10 Multiple Inheritance . 10 Porting Smalltalk Applications .......................... 10 Sources of Support ................................ 11 TalkLink . 11 CompuServe . 12 Usenet . 12 Copyright IBM Corp. 1997 iii Resource Catalog . 12 Learning Courses . 13 New Features in Version 3 ............................ 13 New Features in Version 4 ............................ 14 Chapter 2. General Information . 23 Cleaning Up the Image .............................. 23 Creating a New Image .............................. 23 Reducing Image Size ............................... 24 Preventing Image Growth ............................ 25 AbtScrubImage . 25 Ghosts . 26 Image Growth after Packaging ......................... 26 Keeping Multiple Versions on the Same System ............... 26 Replacing the Default Icon ............................ 27 Escaping an Infinite Loop ............................. 27 File-In and File-Out ................................ 28 Separate Threads . 28 Capturing Stack Information ........................... 28 Renaming a Class ................................. 29 Environment Variable . 29 Registered Connection . 30 Loading Different Image ............................. 30 Deferred Update Part ............................... 30 Renaming a Visual Part ............................. 31 Hover Help for Buttons .............................. 32 Customizing Connection Menu ......................... 33 Live Updating of Images ............................. 33 Passing Parameters Between Windows .................... 34 Generating Archival Code ............................ 34 Deleting Parts with Instances .......................... 35 Change Table Format ............................... 36 Error Messages . 36 Removing Archival Code ............................. 37 Apply Push Button ................................. 38 Inspector . 38 Multimedia . 38 Default Memory . 39 Storing Settings . 39 Extending Classes . 40 Running VisualAge from External SCSI Drive ................. 40 Damaged Classes . 40 Extending Classes . 41 Modifying the System Menu ........................... 41 iv VisualAge for Smalltalk Handbook − Fundamentals Organizer Views . 42 File in Use ...................................... 43 OS/2 Shutdown . 43 BRW Format Generator .............................. 43 Loaded Method . 44 Missing Character Set .............................. 44 Event Triggering . 44 Part not Visible ................................... 45 Removed Class . 45 Synchronizing Attributes . 45 Keeping the Packaged Image Small ...................... 46 Including Classes in a Package ......................... 46 Packaging for AIX from OS/2 .......................... 47 Loading Application in a Run-time Image ................... 47 Packaging an Application for Windows .................... 48 Icons and DLLs ................................... 48 Packaging a Workspace ............................. 48 Image Reduction . 48 Ensuring that Needed Classes are Packaged ................. 49 Class Modifications and Packaging ....................... 49 Merging Application Files into Run-time Image ............... 49 Missing Icons . 50 Required .CAT Files ................................ 50 Packaging Pool Dictionaries ........................... 51 Application Prerequisites . 52 Missing Classes in the Run-time Image .................... 52 Missing Method in Package ........................... 53 Run-time Image Packaging Problem ...................... 54 Generating Getters and Setters ......................... 54 High Performance Trace Logging ........................ 54 Closing a DLL from Smalltalk .......................... 55 Unloading When Instances Exist ........................ 56 Testing When Looping Walkbacks Occur ................... 56 Quickly Disabling Methods ............................ 56 Specifying Public or Private with TrailBlazer ................. 57 Browse and Find in the Pop-Up Menu ..................... 57 Versioning Applications Not Owned ...................... 61 Client Not Supported ............................... 61 AbtRecord . 62 Indexed Message Editor ............................. 62 Corrupted MRI File ................................ 63 Class Naming Convention ............................ 63 Category Naming . 66 Archival Code is Missing ............................. 68 Contents v Meaning of Application Errors .......................... 68 Error: ′Undefined Object does not understand messageString′ ...... 69 Error on Saving a Part .............................. 69 Inappropriate VisualAge Icon .......................... 70 Double Execution of Script ............................ 70 Error 203 ....................................... 71 Removing Elements from a View ........................ 71 Class EmLibraryStatistics . 71 Error: rc=12 . 72 Error: SYS317x . 72 Error: Primitive Error Codes 52 through 55 .................. 73 Error: Does Not Understand Format ...................... 73 Menu on Windows NT 4.0 ............................ 74 Back-tabbing in Container Details Views ................... 74 Properties Views and Notebook Settings Views ............... 75 Code Page Conversion Errors .......................... 75 Determining Required ICs ............................ 75 Required CAT and MPR Files for an IC Run-time Image .......... 76 Required CAT and MPR Files for a Reduced Run-time Image ....... 78 Format Change for CTLs ............................. 80 Unloading the Visualization Feature ...................... 82 Manager Access . 82 Opening Multimedia Devices .......................... 84 Using Digital Video Player on OS/2 ....................... 84 Video Disk Player ................................. 84 Crystal Wave and MWave Audio Cards .................... 85 AVA Playback Windows .............................. 85 Lotus Notes . 85 Chapter 3. Graphical User Interface ...................... 87 GUI Architecture . 87 Mapping Widgets Across Systems ....................... 87 Motif Documentation . 88 Interface to Windows 95 ............................. 88 Applications with Multiple Windows ...................... 89 Exit Dialog Message Box ............................. 89 Window Location . 90 Positioning Window at Cursor .......................... 90 Maximizing a Window ............................... 91 Opening Window Maximized ........................... 92 Display Resolution . 92 Opening Window Centered ............................ 93 Window Space Planning ............................. 93 Iterating over Widgets ............................... 94 vi VisualAge for Smalltalk Handbook − Fundamentals Modal Dialog . 94 Capturing the Minimize Request ........................ 94 Window Synchronization . 95 Closing a Window ................................. 95 Resolution-Independent Screen . 95 Setting Minimum Window Size ......................... 96 Closing a Widget from a Script ......................... 96 Removing the Close Menu Option ......................
Recommended publications
  • IBM Tivoli Decision Support for Z/OS: Guide to Reporting Figures
    IBM Tivoli Decision Support for z/OS Version 1.8.2 Guide to Reporting IBM SH19-6842-12 IBM Tivoli Decision Support for z/OS Version 1.8.2 Guide to Reporting IBM SH19-6842-12 Note Before using this information and the product it supports, read the information in “Notices” on page 113. Thirteenth Edition (May 2019) This edition applies to version 1, release 8, modification level 2 of IBM Tivoli Decision Support for z/OS (program number 5698-B06) and to all subsequent releases and modifications until otherwise indicated in new editions. This edition replaces SH19-6842-11. © Copyright 21st Century Software Inc. and IBM Corp. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 1994, 2019 Contents Figures ............... v Opening a report definition ......... 33 Opening a report definition when QMF is used 33 Preface .............. vii Opening a report definition when the built-in report generator is used ......... 35 Who should read this book ......... vii Opening the definition of saved report data ... 37 What this book contains .......... vii Publications .............. viii Accessing publications online ....... viii Chapter 4. Working with report groups 39 Using LookAt to look up message explanations viii Listing report groups ........... 39 Accessibility .............. ix Displaying the contents of a report group .... 40 Tivoli technical training .......... ix Viewing and modifying a report group definition . 40 Support information ........... ix Changing the report group definition..... 41 Conventions used in this book ........ x Adding a report to the group ....... 42 Typeface conventions .......... x Deleting a report from the group ...... 42 Creating a report group .........
    [Show full text]
  • Visualage for Smalltalk Handbook Volume 2: Features
    SG24-2219-00 VisualAge for Smalltalk Handbook Volume 2: Features September 1997 SG24-2219-00 International Technical Support Organization VisualAge for Smalltalk Handbook Volume 2: Features September 1997 IBM Take Note! Before using this information and the product it supports, be sure to read the general information in Appendix A, “Special Notices.” First Edition (September 1997) This edition applies to VisualAge for Smalltalk, Versions 2, 3, and 4, for use with OS/2, AIX, and Microsoft Windows 95/NT. Comments may be addressed to: IBM Corporation, International Technical Support Organization Dept. QXXE Building 80-E2 650 Harry Road San Jose, California 95120-6099 When you send information to IBM, you grant IBM a non-exclusive right to use or distribute the information in any way it believes appropriate without incurring any obligation to you. Copyright International Business Machines Corporation 1997. All rights reserved. Note to U.S. Government Users — Documentation related to restricted rights — Use, duplication or disclosure is subject to restrictions set forth in GSA ADP Schedule Contract with IBM Corp. Contents Preface . xiii How This Redbook Is Organized ....................... xiv ITSO on the Internet ................................ xv VisualAge Support on CompuServe ..................... xvii About the Authors ................................ xvii Acknowledgments . xviii Comments Welcome . xix Chapter 1. AS/400 Connection . 1 Multiple Programs with a Single Remote Procedure Call ......... 1 RPC Part Sets Commit Boundary ........................ 1 Connection Problem with V3R1 ......................... 2 AS/400 Communication Error .......................... 2 Strange Characters on Log-on Window .................... 3 Quick Form from AS/400 Record Classes ................... 3 Communication . 4 Read Next/Previous . 4 SQL Statements . 5 Data Queues and Records ............................ 6 ODBC Requirements .
    [Show full text]
  • IMS Connector for Java User's Guide and Reference
    IBM VisualAge® for Java™,Version3.5 IMSConnectorforJava User’s Guide and Reference Note! Before using this information and the product it supports, be sure to read the general information under Notices. Edition notice This edition applies to Version 3.5 of IBM VisualAge for Java and to all subsequent releases and modifications until otherwise indicated in new editions. © Copyright International Business Machines Corporation 1998, 2000. All rights reserved. US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents Chapter 1. Understanding IMS Connector for Java ...........1 Prerequisites for using IMS Connector for Java .............3 IMS Connector for Java concepts and terms ..............4 Chapter 2. Preparing to use IMS Connector for Java ..........17 Preparing your VisualAge for Java Environment .............17 Preparing your WebSphere Studio Environment .............21 Preparing your WebSphere Application Server Environment ........22 Chapter 3. Building Java applications and servlets ..........31 Building Java Applications and Servlets for Conversational Transactions ....32 Chapter 4. Building a Java Application to Run an IMS Transaction ....35 Chapter 5. Building a Java Application to Run a Navigator .......53 Chapter 6. Building a Java Application for an IMS Transaction with Multi-Segment Output Messages.................69 Chapter 7. Building a Java Application for an IMS Transaction with Multi-Segment Input Messages .................75 Chapter 8. Building an Application to Run an IMS Transaction with Synchronization Level Confirm .................81 Chapter 9. Building the Graphical User Interface ...........87 Chapter 10. Building a Java Servlet to Run an IMS Transaction .....95 Chapter 11. Building a Web Application that Uses One Servlet to Run an IMS Conversation ......................107 Chapter 12.
    [Show full text]
  • The Development of Smalltalk Topic Paper #7
    The Development of Smalltalk Topic Paper #7 Alex Laird Max Earn Peer CS-3210-01 Reviewer On Time/Format 1 2/4/09 Survey of Programming Languages Correct 5 Spring 2009 Clear 2 Computer Science, (319) 360-8771 Concise 2 [email protected] Grading Rubric Grading Total 10 pts ABSTRACT Dynamically typed languages are easier on the compiler because This paper describes the development of the Smalltalk it has to make fewer passes and the brunt of checking is done on programming language. the syntax of the code. Compilation of Smalltalk is just-in-time compilation, also known Keywords as dynamic translation. It means that upon compilation, Smalltalk code is translated into byte code that is interpreted upon usage and Development, Smalltalk, Programming, Language at that point the interpreter converts the code to machine language and the code is executed. Dynamic translations work very well 1. INTRODUCTION with dynamic typing. Smalltalk, yet another programming language originally developed for educational purposes and now having a much 5. IMPLEMENTATIONS broader horizon, first appeared publically in the computing Smalltalk has been implemented in numerous ways and has been industry in 1980 as a dynamically-typed object-oriented language the influence of many future languages such as Java, Python, based largely on message-passing in Simula and Lisp. Object-C, and Ruby, just to name a few. Athena is a Smalltalk scripting engine for Java. Little Smalltalk 2. EARLY HISTORY was the first interpreter of the programming language to be used Development for Smalltalk started in 1969, but the language outside of the Xerox PARC.
    [Show full text]
  • Type Feedback for Bytecode Interpreters Position Paper ICOOOLPS 2007
    Type Feedback for Bytecode Interpreters Position Paper ICOOOLPS 2007 Michael Haupt1, Robert Hirschfeld1, and Marcus Denker2 1 Software Architecture Group Hasso-Plattner-Institut University of Potsdam, Germany 2 Software Composition Group Institute of Computer Science and Applied Mathematics University of Berne, Switzerland michael.haupt,hirschfeld @hpi.uni-potsdam.de, [email protected] { } Abstract. This position paper proposes the exploitation of type feed- back mechanisms, or more precisely, polymorphic inline caches, for purely interpreting implementations of object-oriented programming languages. Using Squeak’s virtual machine as an example, polymorphic inline caches are discussed as an alternative to global caching. An implementation proposal for polymorphic inline caches in the Squeak virtual machine is presented, and possible future applications for online optimization are outlined. 1 Introduction Bytecode interpreters are small in size and comparatively easy to implement, but generally execute programs much less efficiently than just-in-time (JIT) compilers. Techniques like threaded interpretation [9, 11, 2] focus on speeding up bytecode interpretation itself, and caching [4, 5, 1] improves the performance of message sends—the most common operation in object-oriented software [7]. It is interesting to observe that, while threading mechanisms are used natu- rally to a varying degree in bytecode interpreter implementations, such systems usually employ only global caching to speed up dynamic method dispatch. A global cache is clearly beneficial with respect to overall performance. Still, it does not provide optimal support for polymorphic message send sites, and it does not allow for exploiting type information (we provide details on these issues in the following section). In our opinion, the employment of polymorphic inline caches (PICs) [5] instead can provide means for achieving significant speedups in bytecode interpreters while exhibiting only a moderate increase in memory footprint and implementation complexity.
    [Show full text]
  • A Tour of the Squeak Object Engine
    A Tour of the Squeak Object Engine A Tour of the Squeak Object Engine Tim Rowledge, [email protected] Introduction This chapter is intended to explain some basics of how a Virtual Machine (VM) works, why a VM is useful, what it does for the Squeak programmer and user, and how the Squeak VM might develop in the future. What is a Virtual Machine and why do we need one? A Virtual Machine provides us with a pretense of being a machine other than the actual hardware in use. Using one allows systems that behave differently than the host hardware to run as if on hardware designed for them. The term Object Engine is less commonly used but is a useful concept that includes the lowest system areas of the langauge environment running on the VM. Since there is often some flux in the definition of which components are within the actual VM and which are part of the supported environment, Object Engine is useful as a more inclusive term. The term Virtual Machine is used in several ways. When IBM refer to VM/CMS they are referring to a way of making a mainframe behave as if it is many machines, so that programs can assume they have total control even though they do not. Intel provide a somewhat similar facility in the x86 architecture(?), referred to as Virtual Mode. This sort of VM is a complete hardware simulation, often supported at the lowest level by the hardware. Another sort of VM is the emulator - SoftWindows for the Mac, Acorn's !PC, Linux's WINE are good examples - where another machine and/or OS is simulated to allow a Mac user to run Windows programs, an Acorn RiscPC or a Linux machine to run Windows98 programs and so on.
    [Show full text]
  • Eclipse Project Briefing Materials
    [________________________] Eclipse project briefing materials. Copyright (c) 2002, 2003 IBM Corporation and others. All rights reserved. This content is made available to you by Eclipse.org under the terms and conditions of the Common Public License Version 1.0 ("CPL"), a copy of which is available at http://www.eclipse.org/legal/cpl-v10.html The most up-to-date briefing materials on the Eclipse project are found on the eclipse.org website at http://eclipse.org/eclipse/ 200303331 1 EclipseEclipse ProjectProject 200303331 3 Eclipse Project Aims ■ Provide open platform for application development tools – Run on a wide range of operating systems – GUI and non-GUI ■ Language-neutral – Permit unrestricted content types – HTML, Java, C, JSP, EJB, XML, GIF, … ■ Facilitate seamless tool integration – At UI and deeper – Add new tools to existing installed products ■ Attract community of tool developers – Including independent software vendors (ISVs) – Capitalize on popularity of Java for writing tools 200303331 4 Eclipse Overview Another Eclipse Platform Tool Java Workbench Help Development Tools JFace (JDT) SWT Team Your Tool Plug-in Workspace Development Debug Environment (PDE) Their Platform Runtime Tool Eclipse Project 200303331 5 Eclipse Origins ■ Eclipse created by OTI and IBM teams responsible for IDE products – IBM VisualAge/Smalltalk (Smalltalk IDE) – IBM VisualAge/Java (Java IDE) – IBM VisualAge/Micro Edition (Java IDE) ■ Initially staffed with 40 full-time developers ■ Geographically dispersed development teams – OTI Ottawa, OTI Minneapolis,
    [Show full text]
  • Smalltalk Language Mapping Specification
    Smalltalk Language Mapping Specification New Edition: June 1999 Copyright 1995, 1996 BNR Europe Ltd. Copyright 1998, Borland International Copyright 1991, 1992, 1995, 1996 Digital Equipment Corporation Copyright 1995, 1996 Expersoft Corporation Copyright 1996, 1997 FUJITSU LIMITED Copyright 1996 Genesis Development Corporation Copyright 1989, 1990, 1991, 1992, 1995, 1996 Hewlett-Packard Company Copyright 1991, 1992, 1995, 1996 HyperDesk Corporation Copyright 1998 Inprise Corporation Copyright 1996, 1997 International Business Machines Corporation Copyright 1995, 1996 ICL, plc Copyright 1995, 1996 IONA Technologies, Ltd. Copyright 1996, 1997 Micro Focus Limited Copyright 1991, 1992, 1995, 1996 NCR Corporation Copyright 1995, 1996 Novell USG Copyright 1991,1992, 1995, 1996 by Object Design, Inc. Copyright 1991, 1992, 1995, 1996 Object Management Group, Inc. Copyright 1996 Siemens Nixdorf Informationssysteme AG Copyright 1991, 1992, 1995, 1996 Sun Microsystems, Inc. Copyright 1995, 1996 SunSoft, Inc. Copyright 1996 Sybase, Inc. Copyright 1998 Telefónica Investigación y Desarrollo S.A. Unipersonal Copyright 1996 Visual Edge Software, Ltd. The companies listed above have granted to the Object Management Group, Inc. (OMG) a nonexclusive, royalty-free, paid up, worldwide license to copy and distribute this document and to modify this document and distribute copies of the modified ver- sion. Each of the copyright holders listed above has agreed that no person shall be deemed to have infringed the copyright in the included material of any such copyright holder by reason of having used the specification set forth herein or having con- formed any computer software to the specification. PATENT The attention of adopters is directed to the possibility that compliance with or adoption of OMG specifications may require use of an invention covered by patent rights.
    [Show full text]
  • The Cedar Programming Environment: a Midterm Report and Examination
    The Cedar Programming Environment: A Midterm Report and Examination Warren Teitelman The Cedar Programming Environment: A Midterm Report and Examination Warren Teitelman t CSL-83-11 June 1984 [P83-00012] © Copyright 1984 Xerox Corporation. All rights reserved. CR Categories and Subject Descriptors: D.2_6 [Software Engineering]: Programming environments. Additional Keywords and Phrases: integrated programming environment, experimental programming, display oriented user interface, strongly typed programming language environment, personal computing. t The author's present address is: Sun Microsystems, Inc., 2550 Garcia Avenue, Mountain View, Ca. 94043. The work described here was performed while employed by Xerox Corporation. XEROX Xerox Corporation Palo Alto Research Center 3333 Coyote Hill Road Palo Alto, California 94304 1 Abstract: This collection of papers comprises a report on Cedar, a state-of-the-art programming system. Cedar combines in a single integrated environment: high-quality graphics, a sophisticated editor and document preparation facility, and a variety of tools for the programmer to use in the construction and debugging of his programs. The Cedar Programming Language is a strongly-typed, compiler-oriented language of the Pascal family. What is especially interesting about the Ce~ar project is that it is one of the few examples where an interactive, experimental programming environment has been built for this kind of language. In the past, such environments have been confined to dynamically typed languages like Lisp and Smalltalk. The first paper, "The Roots of Cedar," describes the conditions in 1978 in the Xerox Palo Alto Research Center's Computer Science Laboratory that led us to embark on the Cedar project and helped to define its objectives and goals.
    [Show full text]
  • Eclipse (Software) 1 Eclipse (Software)
    Eclipse (software) 1 Eclipse (software) Eclipse Screenshot of Eclipse 3.6 Developer(s) Free and open source software community Stable release 3.6.2 Helios / 25 February 2011 Preview release 3.7M6 / 10 March 2011 Development status Active Written in Java Operating system Cross-platform: Linux, Mac OS X, Solaris, Windows Platform Java SE, Standard Widget Toolkit Available in Multilingual Type Software development License Eclipse Public License Website [1] Eclipse is a multi-language software development environment comprising an integrated development environment (IDE) and an extensible plug-in system. It is written mostly in Java and can be used to develop applications in Java and, by means of various plug-ins, other programming languages including Ada, C, C++, COBOL, Perl, PHP, Python, Ruby (including Ruby on Rails framework), Scala, Clojure, and Scheme. The IDE is often called Eclipse ADT for Ada, Eclipse CDT for C/C++, Eclipse JDT for Java, and Eclipse PDT for PHP. The initial codebase originated from VisualAge.[2] In its default form it is meant for Java developers, consisting of the Java Development Tools (JDT). Users can extend its abilities by installing plug-ins written for the Eclipse software framework, such as development toolkits for other programming languages, and can write and contribute their own plug-in modules. Released under the terms of the Eclipse Public License, Eclipse is free and open source software. It was one of the first IDEs to run under GNU Classpath and it runs without issues under IcedTea. Eclipse (software) 2 Architecture Eclipse employs plug-ins in order to provide all of its functionality on top of (and including) the runtime system, in contrast to some other applications where functionality is typically hard coded.
    [Show full text]
  • CS 535 Object-Oriented Programming & Design Fall Semester, 2008 Doc
    CS 535 Object-Oriented Programming & Design Fall Semester, 2008 Doc 4 Starting VisualWorks Sept 9 2008 Copyright ©, All rights reserved. 2008 SDSU & Roger Whitney, 5500 Campanile Drive, San Diego, CA 92182-7700 USA. OpenContent (http:// www.opencontent.org/openpub/) license defines the copyright on this document. Reference VisualWorks Application Developer’s Guide, doc/AppDevGuide.pdf in the VisualWorks installation. Chapter 1 The VisualWorks Environment. Reading VisualWorks Application Developer’s Guide, doc/AppDevGuide.pdf in the VisualWorks installation. Chapter 1 The VisualWorks Environment. Chapter 2 Programming in VisualWorks (minus the sections Loading Code Libraries & Paintng a GUI) 2 Learning Smalltalk Smalltalk language syntax Smalltalk Programming Environment Smalltalk Class Library Object-oriented thinking This is the hardest part Smalltalk culture 3 Versions of Smalltalk VisualWorks VisualAge for Smalltalk Squeak Dolphin Smalltalk X Smallscript (.NET Smalltalk) 4 Bytecode & VMs Smalltalk is compiled to a bytecode for a virtual machine VisualWorks has VM's for: Windows Macintosh Unix/Linux VisualWork’s virtual machine (VM) uses a JIT to compile bytecodes 5 Parts of VisualWorks Executable Virtual Machine (visual, visual.exe) This is the VM that interprets Smalltalk bytecode visual.sou Source code for most of class library visual.cha Source code for changes & new classes Does not exist until after you first use VisualWorks visual.im Bytecode of sources that are executed At first the image will appear to be an IDE for Smalltalk 6 Before Starting VisualWorks Make a copy of visual.im You will need it later 7 Starting VisualWorks on Windows Method 1 Drag and drop the image file on the Visual application or visual.exe Method 2 Double click on the image file The first time you do this you may get a dialog asking for the application to run the image.
    [Show full text]
  • MVC Revival on the Web
    MVC Revival on the Web Janko Mivšek [email protected] @mivsek @aidaweb ESUG 2013 Motivation 30 years of Smalltalk, 30 years of MVC 34 years exa!tly, sin!e "#$# %ot in JavaScri&t MVC frameworks 'or Sin(le)*age and +ealtime web a&&s ,e Smalltalkers s-ould respe!t and revive our &earls better Contents MVC e &lained %istory /sa(e in !.rrent JavaScri&t frameworks /sa(e in Smalltalk C.rrent and f.t.re MVC in 0ida/Web MVC Explained events Ar!hite!tural desi(n &attern - Model for domain s&e!ifi! data and logi! View updates Controller ) View for &resentation to t-e .ser ) Controller for intera!tions wit- t-e .ser UI and .&datin( domain model Domain changes Main benefit: actions observing ) se&aration of !on!erns Model MVC based on Observer pattern subscribe ) 3bserver looks at observee Observer changed - 3bservee is not aware of t-at s u 4e&enden!y me!-anism2 B t n - 3bserver is de&endent on 3bservee state e observing v - 3bservee m.st re&ort state !-an(es to 3bserver E b - *.b/S.b Event 6.s de!ou&les 3bservee from u S / 3bserver to &reserve its .nawarnes of observation b u changed P Observee Main benefit: (Observable) ) se&aration of !on!erns Multiple observers subscribe - M.lti&le observers of t-e same 3bservee Observer changed - 7n MVC an 3bservee is View and 3bservee is domain Model, t-erefore2 s u B t - many views of t-e same model n e observing v - many a&&s E b - many .sers u S / - mix of all t-ree !ases b u Observee changed P (Observable) Example: Counter demo in Aida/Web M.lti.ser realtime web !ounter exam&le -ttp://demo.aidaweb.si – !li!k Realtime on t-e left – !li!k De!rease or In!rease to c-an(e counter – !ounter is c-an(ed on all ot-er8s browsers History of MVC (1) 7nvented by 9rygve +eenska.g w-en -e worked in "#$:1$# wit- Alan ;ay's group on <ero *arc on Smalltalk and Dynabook – 'inal term Model)View)Controller !oined 10.
    [Show full text]