Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
ANTLR: a predicated-LL(k) parser generator
Software—Practice & Experience
Studying the language and structure in non-programmers' solutions to programming problems
International Journal of Human-Computer Studies
Java Virtual Machine Specification
Java Virtual Machine Specification
Using HCI Techniques to Design a More Usable Programming System
HCC '02 Proceedings of the IEEE 2002 Symposia on Human Centric Computing Languages and Environments (HCC'02)
Properties of deterministic top down grammars
STOC '69 Proceedings of the first annual ACM symposium on Theory of computing
LINQ: reconciling object, relations and XML in the .NET framework
Proceedings of the 2006 ACM SIGMOD international conference on Management of data
Kawa: compiling dynamic languages to the Java VM
ATEC '98 Proceedings of the annual conference on USENIX Annual Technical Conference
Virtual machine showdown: Stack versus registers
ACM Transactions on Architecture and Code Optimization (TACO)
How designers design and program interactive behaviors
VLHCC '08 Proceedings of the 2008 IEEE Symposium on Visual Languages and Human-Centric Computing
The anatomy of a large-scale social search engine
Proceedings of the 19th international conference on World wide web
The jabberwocky programming environment for structured social computing
Proceedings of the 24th annual ACM symposium on User interface software and technology
Hi-index | 0.00 |
Today, most popular software applications are deployed in the cloud, interact with many users, and run on multiple platforms from Web browsers to mobile operating systems. While these applications confer a number of benefits to their users, building them brings many challenges: manually managing state between asynchronous user actions, creating and maintaining separate code bases for each desired client platform and gracefully scaling to handle a large number of concurrent users. Dog is a new programming language that provides a solution to these challenges and others through a unique runtime model that allows developers to model scalable cross-client applications as an imperative control-flow --- simplifying many development tasks. In this paper we describe the key features of Dog and show its utility through several applications that are difficult and time-consuming to write in existing languages, but are simple and easily written in Dog in a few lines of code.