{"id":434,"date":"2012-06-09T11:25:14","date_gmt":"2012-06-09T19:25:14","guid":{"rendered":"http:\/\/www.wirfs-brock.com\/allen\/?page_id=434"},"modified":"2020-06-14T11:25:06","modified_gmt":"2020-06-14T19:25:06","slug":"publications","status":"publish","type":"page","link":"https:\/\/wirfs-brock.com\/allen\/things\/publications","title":{"rendered":"Publications"},"content":{"rendered":"<h4>Link to my ACM Digital Library <a href=\"http:\/\/dl.acm.org\/author_page.cfm?id=81100400306&amp;CFID=87374310&amp;CFTOKEN=43627899\">Author Page<\/a><\/h4>\n<h2>Recent Publications<\/h2>\n<div data-canvas-width=\"364.9056266666667\"><a href=\"https:\/\/dl.acm.org\/doi\/abs\/10.1145\/3386327\">JavaScript: The First 20 Years<\/a><\/div>\n<div data-canvas-width=\"364.9056266666667\">Allen Wirfs-Brock and Brendan Eich.<\/div>\n<div data-canvas-width=\"364.9056266666667\"><i>Proc. ACM Program. Lang.<\/i> 4, HOPL, Article 77 (June 2020), 189 pages. DOI:<a href=\"https:\/\/doi.org\/10.1145\/3386327\">https:\/\/doi.org\/10.1145\/3386327<\/a><\/div>\n<div data-canvas-width=\"364.9056266666667\"><\/div>\n<div data-canvas-width=\"364.9056266666667\"><strong><em>Abstract<\/em><\/strong>.\u00a0<em>How a sidekick scripting language for Java, created at Netscape in a ten-day hack, ships first as a de facto Web standard and eventually becomes the world\u2019s most widely used programming language. This paper tells the story of the creation, design, evolution, and standardization of the JavaScript language over the period of 1995\u20132015. But the story is not only about the technical details of the language. It is also the story of how people and organizations competed and collaborated to shape the JavaScript language which dominates the Web of 2020.<\/em><\/div>\n<div data-canvas-width=\"364.9056266666667\"><\/div>\n<div data-canvas-width=\"364.9056266666667\"><\/div>\n<div data-canvas-width=\"364.9056266666667\"><a href=\"https:\/\/doi.org\/10.5281\/zenodo.3710997\">Programming Language Standardization: Patterns for Participation<\/a><\/div>\n<div data-canvas-width=\"364.9056266666667\">\n<div data-canvas-width=\"903.1299200000005\">5th Asian Conference on Pattern Languages of Programs (AsianPLoP). AsianPLoP&#8217;2016, February 24-26<\/div>\n<div data-canvas-width=\"903.1299200000005\"><\/div>\n<div data-canvas-width=\"903.1299200000005\">\n<div data-canvas-width=\"178.86333333333332\"><em><strong>Abstract<\/strong>. A technical design team is a group that is chartered to collectively work to develop solutions to a set of related technical problems. A standards committee is a group is that chartered to produce the normative specification for some technology. A programming language standards committee is a standards committee that is also a technical design team and whose charter is both to develop technical enhancements to a programming language and to produce a normative specification for the extended language. Design teams and standards committees are social organizations and each has its own challenges for members who want to be effective participants. These challenges combine in programming language standards committees.<\/em><\/div>\n<div data-canvas-width=\"178.86333333333332\"><\/div>\n<div data-canvas-width=\"504.3566666666668\"><em>This paper presents the first steps towards defining a pattern language that provides guidance on how an individual can be an effective and productive participant on a programming language standards committee.<\/em><\/div>\n<\/div>\n<\/div>\n<h2>Links for free access to my ACM Publications<\/h2>\n<p><!-- ACM DL Article: Designing reusable designs (panel session): experiences designing object-oriented frameworks --><\/p>\n<div id=\"item319035\" class=\"acmdlitem\">\n<p><img loading=\"lazy\" decoding=\"async\" style=\"vertical-align: middle;\" src=\"http:\/\/dl.acm.org\/images\/oa.gif\" alt=\"ACM DL Author-ize service\" width=\"25\" height=\"25\" border=\"0\" \/><a title=\"Designing reusable designs (panel session): experiences designing object-oriented frameworks\" href=\"https:\/\/dl.acm.org\/doi\/10.1145\/319016.319035?cid=81100400306\">Designing reusable designs (panel session): experiences designing object-oriented frameworks<\/a><\/p>\n<div style=\"margin-left: 25px;\"><a href=\"http:\/\/dl.acm.org\/author_page.cfm?id=81100400306\">Allen Wirfs-Brock<\/a>, <a href=\"http:\/\/dl.acm.org\/author_page.cfm?id=81100238913\">John Vissades<\/a>, <a href=\"http:\/\/dl.acm.org\/author_page.cfm?id=81100562629\">Ward Cunningham<\/a>, <a href=\"http:\/\/dl.acm.org\/author_page.cfm?id=81330492373\">Ralph Johnson<\/a>, <a href=\"http:\/\/dl.acm.org\/author_page.cfm?id=81100164185\">Lonnie Bollette<\/a><br \/>\nOOPSLA\/ECOOP &#8217;90 Proceedings of the European conference on Object-oriented programming addendum : systems, languages, and applications: systems, languages, and applications,\u00a01990<\/div>\n<\/div>\n<p><!-- ACM DL Bibliometrics: Designing reusable designs (panel session): experiences designing object-oriented frameworks--><\/p>\n<div id=\"stats319035\" class=\"acmdlstat\"><iframe loading=\"lazy\" src=\"http:\/\/dl.acm.org\/authorizestats?69005\" width=\"100%\" height=\"30\" frameborder=\"0\" scrolling=\"no\"><\/iframe><\/div>\n<p><!-- ACM DL Article: A overview of modular smalltalk --><\/p>\n<div id=\"item62095\" class=\"acmdlitem\">\n<p><img loading=\"lazy\" decoding=\"async\" style=\"vertical-align: middle;\" src=\"http:\/\/dl.acm.org\/images\/oa.gif\" alt=\"ACM DL Author-ize service\" width=\"25\" height=\"25\" border=\"0\" \/><a title=\"A overview of modular smalltalk\" href=\"https:\/\/dl.acm.org\/doi\/10.1145\/62084.62095?cid=81100400306\">A overview of modular smalltalk<\/a><\/p>\n<div style=\"margin-left: 25px;\"><a href=\"http:\/\/dl.acm.org\/author_page.cfm?id=81100400306\">Allen Wirfs-Brock<\/a>, <a href=\"http:\/\/dl.acm.org\/author_page.cfm?id=81100473245\">Brian Wilkerson<\/a><br \/>\nOOPSLA &#8217;88 Conference proceedings on Object-oriented programming systems, languages and applications,\u00a01988<\/div>\n<\/div>\n<p><!-- ACM DL Bibliometrics: A overview of modular smalltalk--><\/p>\n<div id=\"stats62095\" class=\"acmdlstat\"><iframe loading=\"lazy\" src=\"http:\/\/dl.acm.org\/authorizestats?61095\" width=\"100%\" height=\"30\" frameborder=\"0\" scrolling=\"no\"><\/iframe><\/div>\n<p><!-- ACM DL Article: A third generation Smalltalk-80 implementation --><\/p>\n<div id=\"item28709\" class=\"acmdlitem\">\n<p><img loading=\"lazy\" decoding=\"async\" style=\"vertical-align: middle;\" src=\"http:\/\/dl.acm.org\/images\/oa.gif\" alt=\"ACM DL Author-ize service\" width=\"25\" height=\"25\" border=\"0\" \/><a title=\"A third generation Smalltalk-80 implementation\" href=\"https:\/\/dl.acm.org\/doi\/10.1145\/960112.28709?cid=81100400306\">A third generation Smalltalk-80 implementation<\/a><\/p>\n<div style=\"margin-left: 25px;\"><a href=\"http:\/\/dl.acm.org\/author_page.cfm?id=81100272651\">Patrick J. Caudill<\/a>, <a href=\"http:\/\/dl.acm.org\/author_page.cfm?id=81100400306\">Allen Wirfs-Brock<\/a><br \/>\nOOPLSA &#8217;86 Conference proceedings on Object-oriented programming systems, languages and applications,\u00a01986<\/div>\n<\/div>\n<p><!-- ACM DL Bibliometrics: A third generation Smalltalk-80 implementation--><\/p>\n<div id=\"stats28709\" class=\"acmdlstat\"><iframe loading=\"lazy\" src=\"http:\/\/dl.acm.org\/authorizestats?1726\" width=\"100%\" height=\"30\" frameborder=\"0\" scrolling=\"no\"><\/iframe><\/div>\n<p><!-- ACM DL Article: QUICKTALK: a Smalltalk-80 dialect for defining primitive methods --><\/p>\n<div id=\"item28711\" class=\"acmdlitem\">\n<p><img loading=\"lazy\" decoding=\"async\" style=\"vertical-align: middle;\" src=\"http:\/\/dl.acm.org\/images\/oa.gif\" alt=\"ACM DL Author-ize service\" width=\"25\" height=\"25\" border=\"0\" \/><a title=\"QUICKTALK: a Smalltalk-80 dialect for defining primitive methods\" href=\"https:\/\/dl.acm.org\/doi\/10.1145\/960112.28711?cid=81100400306\">QUICKTALK: a Smalltalk-80 dialect for defining primitive methods<\/a><\/p>\n<div style=\"margin-left: 25px;\"><a href=\"http:\/\/dl.acm.org\/author_page.cfm?id=81100634736\">Mark B. Ballard<\/a>, <a href=\"http:\/\/dl.acm.org\/author_page.cfm?id=81100590819\">David Maier<\/a>, <a href=\"http:\/\/dl.acm.org\/author_page.cfm?id=81100400306\">Allen Wirfs-Brock<\/a><br \/>\nOOPLSA &#8217;86 Conference proceedings on Object-oriented programming systems, languages and applications,\u00a01986<\/div>\n<\/div>\n<p><!-- ACM DL Bibliometrics: QUICKTALK: a Smalltalk-80 dialect for defining primitive methods--><\/p>\n<div id=\"stats28711\" class=\"acmdlstat\"><iframe loading=\"lazy\" src=\"http:\/\/dl.acm.org\/authorizestats?1728\" width=\"100%\" height=\"30\" frameborder=\"0\" scrolling=\"no\"><\/iframe><\/div>\n<h2>Other Publications<\/h2>\n<ul>\n<li>1989 <a title=\"Variables Limit Resuability preprint\" href=\"http:\/\/www.wirfs-brock.com\/allen\/files\/tek\/variables-limit-reusability.pdf\">Variables Limit Resuability<\/a> Allen Wirfs-Brock, Brian Wilkerson. Journal of Object-Oriented Programming, Volume 2, Issue 1, May\/June 1989<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Link to my ACM Digital Library Author Page Recent Publications JavaScript: The First 20 Years Allen Wirfs-Brock and Brendan Eich. Proc. ACM Program. Lang. 4, HOPL, Article 77 (June 2020), 189 pages. DOI:https:\/\/doi.org\/10.1145\/3386327 Abstract.\u00a0How a sidekick scripting language for Java, created at Netscape in a ten-day hack, ships first as a de facto Web standard [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":63,"menu_order":1,"comment_status":"closed","ping_status":"open","template":"","meta":{"footnotes":""},"_links":{"self":[{"href":"https:\/\/wirfs-brock.com\/allen\/wp-json\/wp\/v2\/pages\/434"}],"collection":[{"href":"https:\/\/wirfs-brock.com\/allen\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/wirfs-brock.com\/allen\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/wirfs-brock.com\/allen\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wirfs-brock.com\/allen\/wp-json\/wp\/v2\/comments?post=434"}],"version-history":[{"count":13,"href":"https:\/\/wirfs-brock.com\/allen\/wp-json\/wp\/v2\/pages\/434\/revisions"}],"predecessor-version":[{"id":984,"href":"https:\/\/wirfs-brock.com\/allen\/wp-json\/wp\/v2\/pages\/434\/revisions\/984"}],"up":[{"embeddable":true,"href":"https:\/\/wirfs-brock.com\/allen\/wp-json\/wp\/v2\/pages\/63"}],"wp:attachment":[{"href":"https:\/\/wirfs-brock.com\/allen\/wp-json\/wp\/v2\/media?parent=434"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}