The Code Bubbles Architecture Steven P
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Ref.Pdf 7.02KB 2020-09-13 23:03:26
Introduction to Smalltalk - References Ó Ivan Tomek 9/18/00 References Books Kent Beck: Smalltalk: Best Practice Patterns, Prentice-Hall, 1997. Timothy Budd: A Little Smalltalk, Addison-Wesley, 1987. Erich Gamma, Richard Helm, Ralph Johnson, John Vlassides: Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995. Adele Goldberg: Smalltalk-80: The Interactive Programming Environment, Addison-Wesley, 1983. Adele Goldberg, David Robson: Smalltalk-80: The Language and its Implementation, Addison-Wesley, 1985. Adele Goldberg, David Robson: Smalltalk-80, The Language, Addison-Wesley, 1989. Trevor Hopkins, Bernard Horan: Smalltalk: An Introduction to Application Development Using VisualWorks, Prentice-Hall, 1995. Tim Howard: The Smalltalk Developer’s Guide to Visual Works, SIGS Books, 1995. Ted Kaehler, Dave Patterson: A Taste of Smalltalk, Norton, 1986. Wilf Lalonde: Discovering Smalltalk, Addison-Wesley, 1994. Wilf Lalonde, John R. Pugh: Inside Smalltalk, Volume I, II, Prentice-Hall, 1991. Wilf Lalonde, John R. Pugh: Smalltalk/V, Practice and Experience, Prentice-Hall, 1994. Simon Lewis: The Art and Science of Smalltalk, Prentice-Hall, 1995. Chamond Liu: Smalltalk, Objects, and Design, Prentice-Hall, 1996. Mark Lorenz: Rapid Software Development with Smalltalk, SIGS Books, 1995. Lewis J. Pinson: An Introduction to Object-Oriented Programming and Smalltalk, Addison-Wesley, 1988. Jonathan Pletzke: Advanced Smalltalk, Wiley, 1997. Wolfgang Pree: Design Patterns for Object-Oriented Software Development, Addison-Wesley, 1994. Timothy Ryan: Distributed Object Technology, Concepts and Applications, Prentice-Hall, 1996. Dusko Savic: Object-Oriented Programming with Smalltalk, Prentice-Hall, 1990. Susan Skublics, Edward J. Klimas, David A. Thomas: Smalltalk with Style, Prentice-Hall, 1996. Dan Shafer, Dean A. Ritz: Practical Smalltalk, Springer-Verlag, 1991. -
Clojure.Core 12
clojure #clojure 1 1: Clojure 2 2 2 Examples 3 3 1 : Leiningen 3 3 OS X 3 Homebrew 3 MacPorts 3 Windows 3 2 : 3 3 : 4 ", !" REPL 4 4 ", !" 4 ( ) 5 2: clj-time 6 6 Examples 6 6 - 6 6 6 joda - 7 - - 7 3: Clojure destructuring 8 Examples 8 8 8 9 9 9 fn params 9 10 10 : 10 Key 10 . 11 4: clojure.core 12 12 Examples 12 12 Assoc - / 12 Clojure 12 Dissoc - 13 5: clojure.spec 14 14 14 Examples 14 14 fdef : 14 14 clojure.spec / & clojure.spec / 15 15 16 16 18 6: clojure.test 19 Examples 19 ~. 19 19 deftest 19 20 . 20 Leiningen 20 7: core.async 22 Examples 22 : , , , . 22 chan 22 >!! >!! >! 22 <!! <!! 23 23 put! 24 take! 24 24 8: core.match 26 26 Examples 26 26 26 26 26 9: Java interop 27 27 27 Examples 27 Java 27 Java 27 Java 27 27 Clojure 28 10: 29 29 29 Examples 29 29 11: 30 Examples 30 30 30 31 IntelliJ IDEA + 31 Spacemacs + CIDER 31 32 12: 33 Examples 33 33 . 33 33 34 34 34 34 34 35 35 13: 36 36 36 Examples 36 36 36 14: 38 38 38 Examples 38 38 15: 39 39 Examples 39 (- >>) 39 (->) 39 (as->) 39 16: 40 40 Examples 40 40 40 40 17: 41 Examples 41 http-kit 41 Luminus 41 42 42 42 18: CIDER 43 43 Examples 43 43 43 19: 45 Examples 45 45 45 20: 46 46 Examples 46 46 46 48 52 55 58 21: 63 Examples 63 & 63 22: 64 64 64 Examples 64 64 64 / 65 23: 66 Examples 66 66 : 66 67 You can share this PDF with anyone you feel could benefit from it, downloaded the latest version from: clojure It is an unofficial and free clojure ebook created for educational purposes. -
A Metacircular Architecture for Runtime Optimisation Persistence Clément Béra
Sista: a Metacircular Architecture for Runtime Optimisation Persistence Clément Béra To cite this version: Clément Béra. Sista: a Metacircular Architecture for Runtime Optimisation Persistence. Program- ming Languages [cs.PL]. Université de Lille 1, 2017. English. tel-01634137 HAL Id: tel-01634137 https://hal.inria.fr/tel-01634137 Submitted on 13 Nov 2017 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Universit´edes Sciences et Technologies de Lille { Lille 1 D´epartement de formation doctorale en informatique Ecole´ doctorale SPI Lille UFR IEEA Sista: a Metacircular Architecture for Runtime Optimisation Persistence THESE` pr´esent´eeet soutenue publiquement le 15 Septembre 2017 pour l'obtention du Doctorat de l'Universit´edes Sciences et Technologies de Lille (sp´ecialit´einformatique) par Cl´ement B´era Composition du jury Pr´esident: Theo D'Hondt Rapporteur : Ga¨elThomas, Laurence Tratt Examinateur : Elisa Gonzalez Boix Directeur de th`ese: St´ephaneDucasse Co-Encadreur de th`ese: Marcus Denker Laboratoire d'Informatique Fondamentale de Lille | UMR USTL/CNRS 8022 INRIA Lille - Nord Europe Numero´ d’ordre: XXXXX i Acknowledgments I would like to thank my thesis supervisors Stéphane Ducasse and Marcus Denker for allowing me to do a Ph.D at the RMoD group, as well as helping and supporting me during the three years of my Ph.D. -
The Future: the Story of Squeak, a Practical Smalltalk Written in Itself
Back to the future: the story of Squeak, a practical Smalltalk written in itself Dan Ingalls, Ted Kaehler, John Maloney, Scott Wallace, and Alan Kay [Also published in OOPSLA ’97: Proc. of the 12th ACM SIGPLAN Conference on Object-oriented Programming, 1997, pp. 318-326.] VPRI Technical Report TR-1997-001 Viewpoints Research Institute, 1209 Grand Central Avenue, Glendale, CA 91201 t: (818) 332-3001 f: (818) 244-9761 Back to the Future The Story of Squeak, A Practical Smalltalk Written in Itself by Dan Ingalls Ted Kaehler John Maloney Scott Wallace Alan Kay at Apple Computer while doing this work, now at Walt Disney Imagineering 1401 Flower Street P.O. Box 25020 Glendale, CA 91221 [email protected] Abstract Squeak is an open, highly-portable Smalltalk implementation whose virtual machine is written entirely in Smalltalk, making it easy to debug, analyze, and change. To achieve practical performance, a translator produces an equivalent C program whose performance is comparable to commercial Smalltalks. Other noteworthy aspects of Squeak include: a compact object format that typically requires only a single word of overhead per object; a simple yet efficient incremental garbage collector for 32-bit direct pointers; efficient bulk- mutation of objects; extensions of BitBlt to handle color of any depth and anti-aliased image rotation and scaling; and real-time sound and music synthesis written entirely in Smalltalk. Overview Squeak is a modern implementation of Smalltalk-80 that is available for free via the Internet, at http://www.research.apple.com/research/proj/learning_concepts/squeak/ and other sites. It includes platform-independent support for color, sound, and image processing. -
April 22 -- STEPS NSF 2012 Report
! 2012 REPORT ! STEPS Toward Expressive Programming Systems ! “A#Science#Experiment”# ! by# (In#random#order)#Yoshiki#Ohshima,#Dan#Amelang,#Ted#Kaehler,#Bert#Freudenberg,# Aran#Lunzer,#Alan#Kay,#Ian#Piumarta,#Takashi#Yamamiya,#Alan#Borning,#Hesam# Samimi,#Bret#Victor,#Kim#Rose*# VIEWPOINTS#RESEARCH#INSTITUTE# # # *These#are#the#STEPS#researchers#for#the#year#2012.#For#a#complete#listing# of#the#participants#over#the#length#of#the#project#see#the#section#on#the# NSF#site#which#contains#this#report.# TABLE OF CONTENTS — The STEPS Project for the General Public Summary of the STEPS project . Origin . STEPS aims at personal computing . What does STEPS look like? . STEPS is a “science project” . General approach . “T-shirt programming” . Overall map of STEPS . General STEPS results . Making “runnable maths” . Assessing STEPS Summary of STEPS research in 2012 . Inventing & building a language for STEPS “UI and applications”, and rewriting Frank in it . Producing a workable “chain of meaning” that extends from the screen all the way to the CPU . Inventing methods that create automatic visualizers for languages created from metalanguages . Continuing the start of “What vs How” programming via “Cooperating Languages and Solvers” Reflections on the STEPS Project to Date References Outreach Activities for final year of NSF part of the STEPS project Publications for the NSF part of the STEPS project Appendix I: KScript and KSWorld Appendix II: Making Applications in KSWorld ——— ! The$STEPS$Project$For$The$General$Public$ If#computing#is#important—for#daily#life,#learning,#business,#national#defense,#jobs,#and# -
EHR Usability Test Report of Pediatricxpress, Version 20
Page | 1 EHR Usability Test Report of PediatricXpress, Version 20 Report based on ISO/IEC 25062:2006 Common Industry Format for Usability Test Reports Date of Usability Test: January 30, 2019 – February 8, 2019 Date of Report: February 11, 2019 (updated 10/28/20) Report Prepared by: PhysicianXpress, Inc. Vene Quezada, Product Specialist [email protected] 877-366-7331 409 2nd Avenue, Suite 201 Collegeville, PA 19426 Page | 2 Table of Contents 1 EXECUTIVE SUMMARY 3 2 INTRODUCTION 10 3 METHOD 10 3.1 PARTICIPANTS 10 3.2 STUDY DESIGN 12 3.3 TASKS 13 3.4 RISK ASSESSMENT 1 4 3.4 PROCEDURE 15 3.5 TEST LOCATION 16 3.6 TEST ENVIRONMENT 16 3.7 TEST FORMS AND TOOLS 17 3.8 PARTICIPANT INSTRUCTIONS 17 3.9 USABILITY METRICS 19 3.10 DATA SCORING 20 4 RESULTS 21 4.1 DATA ANALYSIS AND REPORTING 21 4.2 DISCUSSION OF THE FINDINGS 25 5 APPENDICES 29 5.1 Appendix 1: Participant Demographics 30 5.2 Appendix 2: Informed Consent Form 31 5.3 Appendix 3: Example Moderator’s guide 32 5.4 Appendix 4: System Usability Scale questionnaire 43 5.5 Appendix 5: Acknowledgement Form 44 Page | 3 EXECUTIVE SUMMARY A usability test of PediatricXpress, version 20, ambulatory E.H.R. was conducted on selected features of the PediatricXpress version 20 E.H.R. as part of the Safety- Enhanced Design requirements outlined in 170.315(g)(3) between January 30th , 2019 and February 8, 2019 at 409 2nd Avenue, Collegeville, PA 19426. The purpose of this testing was to test and validate the usability of the current user interface and provide evidence of usability in the EHR Under Test (EHRUT). -
1. with Examples of Different Programming Languages Show How Programming Languages Are Organized Along the Given Rubrics: I
AGBOOLA ABIOLA CSC302 17/SCI01/007 COMPUTER SCIENCE ASSIGNMENT 1. With examples of different programming languages show how programming languages are organized along the given rubrics: i. Unstructured, structured, modular, object oriented, aspect oriented, activity oriented and event oriented programming requirement. ii. Based on domain requirements. iii. Based on requirements i and ii above. 2. Give brief preview of the evolution of programming languages in a chronological order. 3. Vividly distinguish between modular programming paradigm and object oriented programming paradigm. Answer 1i). UNSTRUCTURED LANGUAGE DEVELOPER DATE Assembly Language 1949 FORTRAN John Backus 1957 COBOL CODASYL, ANSI, ISO 1959 JOSS Cliff Shaw, RAND 1963 BASIC John G. Kemeny, Thomas E. Kurtz 1964 TELCOMP BBN 1965 MUMPS Neil Pappalardo 1966 FOCAL Richard Merrill, DEC 1968 STRUCTURED LANGUAGE DEVELOPER DATE ALGOL 58 Friedrich L. Bauer, and co. 1958 ALGOL 60 Backus, Bauer and co. 1960 ABC CWI 1980 Ada United States Department of Defence 1980 Accent R NIS 1980 Action! Optimized Systems Software 1983 Alef Phil Winterbottom 1992 DASL Sun Micro-systems Laboratories 1999-2003 MODULAR LANGUAGE DEVELOPER DATE ALGOL W Niklaus Wirth, Tony Hoare 1966 APL Larry Breed, Dick Lathwell and co. 1966 ALGOL 68 A. Van Wijngaarden and co. 1968 AMOS BASIC FranÇois Lionet anConstantin Stiropoulos 1990 Alice ML Saarland University 2000 Agda Ulf Norell;Catarina coquand(1.0) 2007 Arc Paul Graham, Robert Morris and co. 2008 Bosque Mark Marron 2019 OBJECT-ORIENTED LANGUAGE DEVELOPER DATE C* Thinking Machine 1987 Actor Charles Duff 1988 Aldor Thomas J. Watson Research Center 1990 Amiga E Wouter van Oortmerssen 1993 Action Script Macromedia 1998 BeanShell JCP 1999 AngelScript Andreas Jönsson 2003 Boo Rodrigo B. -
Supporting Concurrency Abstractions in High-Level Language Virtual Machines
Faculty of Science and Bio-Engineering Sciences Department of Computer Science Software Languages Lab Supporting Concurrency Abstractions in High-level Language Virtual Machines Dissertation Submitted for the Degree of Doctor of Philosophy in Sciences Stefan Marr Promotor: Prof. Dr. Theo D’Hondt Copromotor: Dr. Michael Haupt January 2013 Print: Silhouet, Maldegem © 2013 Stefan Marr 2013 Uitgeverij VUBPRESS Brussels University Press VUBPRESS is an imprint of ASP nv (Academic and Scientific Publishers nv) Ravensteingalerij 28 B-1000 Brussels Tel. +32 (0)2 289 26 50 Fax +32 (0)2 289 26 59 E-mail: [email protected] www.vubpress.be ISBN 978 90 5718 256 3 NUR 989 Legal deposit D/2013/11.161/010 All rights reserved. No parts of this book may be reproduced or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of the author. DON’T PANIC ABSTRACT During the past decade, software developers widely adopted JVM and CLI as multi-language virtual machines (VMs). At the same time, the multicore revolution burdened developers with increasing complexity. Language im- plementers devised a wide range of concurrent and parallel programming concepts to address this complexity but struggle to build these concepts on top of common multi-language VMs. Missing support in these VMs leads to tradeoffs between implementation simplicity, correctly implemented lan- guage semantics, and performance guarantees. Departing from the traditional distinction between concurrency and paral- lelism, this dissertation finds that parallel programming concepts benefit from performance-related VM support, while concurrent programming concepts benefit from VM support that guarantees correct semantics in the presence of reflection, mutable state, and interaction with other languages and libraries. -
Notetaker2 Systenl Manual
This document is for Xerox internal use on!y DRAFT· "DRAFT· DRAFT - DRAFT NoteTaker2 Systenl Manual BY Douglas G. Fairbairn and Bruce Horn October 1978 SSL-78-1 xxx ABSTRACT This manual describes the NoteTaker2 computing system. The NoteTaker2 is a portable computer of considerable power useful for a wide range of computational and simulation oriented functions. XEROX PALO ALTO RESEARCH CENTER 3333 Coyote Hill Road / Palo Alto / California 94304 This document is for Xerox internal use only DRAFT· DRAFT· DRAFT· DRAFT NoteTaker2 System Manual - DRAFT· DRAFT ~ September 30, 1979 5:39 PM 2 PREFACE NoteTaker2 is a very powerful portable computer intended for a wide variety of applications. Its intended users are "children of all ages": five-year-olds and high school students, as well as writers, researchers, artists, managers, and engineers. NoteTaker2 offers the capability of a general-purpose minicomputer, and allows it to be used without even plugging it into an AC power outlet. This manual describes the hardware components of the system in three levels of detail. The introduction summarizes the main features of the NoteTaker2 hardware. Section 2 gives an overview of the architecture. Section 3 offers the detail required to program the system and to interface other devices to it. NoteTaker2 has its roots in the long-time desire of the Learning Research Group at the Xerox Palo Alto Research Center (Xerox PARe) to have a portable system on which to experiment with its ideas concerning personal computers. The architecture of the machine was defined by Douglas Fairbairn of the LSI Systems Area at PARC in conjunction with LRG. -
How to Communicate with Developers
How to Communicate with Developers Employer branding, job listings, and emails that resonate with a tech audience Developers are one of the most in-demand groups of employees these days. And guess what, they noticed this as well: Countless approaches by potential employers, sometimes several messages a day through Linkedin, and a few desperate recruiters even cold calling. So those with technical talents are by no means oblivious to the talent shortage. The good news is that they don’t just use this bargaining power to simply negotiate the highest salaries and most outrageous benefits. Instead, developers are intrinsically motivated. They are looking for the right place to work. Your challenge in this noisy jobs market is to clearly communicate what defines your employer brand, what work needs doing, and, ultimately, who might be the right fit for the role. All of this is easier said than done. Because tech recruiting is a complex business, it is easy to not see the forest for the trees. This guide will help you decide where to start or what to fix next. In the first and more general part, we would like you to take a step back. Before we even think about how to package our job opening and approach a candidate with our offer, we look at what information and knowledge you should gather about your tech team and the company at large. Following that, we will take a practical look at how to write and talk about your company and the role, with a special focus on the job listings and a recruiting emails as a first introduction. -
Instructions Separator
An Introduction to Smalltalk for Objective-C Programmers O’Reilly Mac OS X Conference October 25—28, 2004 Philippe Mougin - [email protected] http://www.fscript.org IT Management & Consulting What you will get from this session • An understanding of the basic principles of Smalltalk. • The ability to read code. • An overview of Smalltalk options available on Mac OS X. Objective-C “Objective-C is a hybrid language that contains all of C language plus major parts of Smalltalk-80.” Brad Cox Objective-C: [playList addSong:aSong] Smalltalk: playList addSong:aSong Xerox Palo Alto Research Center Alan Kay Dan Ingalls Adele Goldberg Ted Kaehler Steve Jobs meets Smalltalk • “They showed me 3 things: graphical user interfaces, object oriented computing and networking.” • z • z • z • z Steve on a chair Smalltalk on a Xerox Alto III • “I only saw the first one which was so incredible to me that it saturated me...” • “If I'd only stayed another 20 minutes!” • “It took really until a few years ago for the industry to fully recreate it, in this case with NeXTSTEP.” Smalltalk • ANSI standard approved in 1998: ANSI INCITS 319-1998 • A pure object language: everything is an object •“Smalltalk'sdd design is due to the insight that everything we can describe can be represented by the recursive composition of a singled kind of behavioral building block that hides its •combination of state and process inside itself and can be dealt with• onls y through the exchange of messages.” Alan Kay • Message sending is (almost) the only control structure. • Interactive environment. • Simplicity and power. -
On the Revival of Dynamic Languages
On the Revival of Dynamic Languages Oscar Nierstrasz, Alexandre Bergel, Marcus Denker, St´ephane Ducasse, Markus G¨alli, and Roel Wuyts Software Composition Group, University of Bern www.iam.unibe.ch/∼scg Abstract. The programming languages of today are stuck in a deep rut that has developed over the past 50 years. Although we are faced with new challenges posed by enormous advances in hardware and internet technology, we continue to struggle with old-fashioned languages based on rigid, static, closed-world file-based views of programming. We argue the need for a new class of dynamic languages that support a view of pro- gramming as constant evolution of living and open software models. Such languages would require features such as dynamic first-class namespaces, explicit meta-models, optional, pluggable type systems, and incremental compilation of running software systems. 1 Introduction It is no exaggeration to say that mainstream programming languages of today are inherently static. That is to say, these languages tolerate change at compile time, but precious little at run-time. To state the case more strongly, most languages assume a closed world view: specifically, they assume that the world is consistent, and it will not change. That this assumption is patently false is obvious to anyone who has experi- enced the development of real, large software systems. Nevertheless, it is a fact that virtually no programming language today provides specific language mech- anisms to help developers cope with the fact that the systems they work on will, inevitably change [LB85]. As concrete examples, we can observe that it is hard to: – modify a running system, – make changes that impact the whole system, – reason about consequences of change, – introduce run-time reflection on-demand, – keep code, documentation and tests synchronized.