Douglas Crockford | |
---|---|
Alma mater | San Francisco State University |
Occupation | Senior JavaScript Architect |
Employer | Virgule-Solidus |
Known for | JavaScript Object Notation |
Website | crockford |
Douglas Crockford is an American computer programmer who is involved in the development of the JavaScript language. He specified the data format JSON (JavaScript Object Notation), and has developed various JavaScript related tools such as the static code analyzer JSLint and minifier JSMin. [1] He wrote the book JavaScript: The Good Parts, published in 2008, followed by How JavaScript Works in 2018. He was a senior JavaScript architect at PayPal until 2019, and is also a writer and speaker on JavaScript, JSON, and related web technologies.
Crockford earned a degree in Radio and Television from San Francisco State University [2] in 1975. He took classes in FORTRAN and worked with a university lab's computer. [3]
Crockford purchased an Atari 8-bit computer in 1980 and wrote the game Galahad and the Holy Grail for the Atari Program Exchange (APX), which resulted in Chris Crawford hiring him at Atari, Inc. While at Atari, Crockford wrote another game, Burgers!, for APX [4] and a number of experimental audio/visual demos that were freely distributed. [5] [6]
After Warner Communications sold the company, he joined National Semiconductor. In 1984 Crockford joined Lucasfilm, [3] and later Paramount Pictures. He became known on video game oriented listservs in the early 1990s after he posted his memoir "The Expurgation of Maniac Mansion" to a video gaming bulletin board. The memoir documented his efforts to censor the computer game Maniac Mansion to Nintendo's satisfaction so that they could release it as a cartridge, and Crockford's mounting frustrations as Nintendo's demands became more obscure and confusing. [7]
Together with Randy Farmer and Chip Morningstar, Crockford founded Electric Communities and was its CEO from 1994 to 1995. He was involved[ clarification needed ] in the development of the programming language E. [8]
Crockford was the founder of State Software (also known as Veil Networks) and its CTO from 2001 to 2002. [9]
During his time at State Software, Crockford popularized the JSON data format, based upon existing JavaScript language constructs, as a lightweight alternative to XML. He obtained the domain name json.org in 2002, and put up his description of the format there. [10] In July 2006, he specified the format officially, as RFC 4627. [11]
He worked at Yahoo for many years.[ citation needed ]
This section needs expansion. You can help by adding to it. (September 2022) |
In 2008 Crockford published a book announcing his discovery that JavaScript, contrary to prevailing opinion, has good parts. He describes this as "heresy", and as "maybe the first important discovery of the 21st century", noting that it came as a "big surprise to the JavaScript community, and the world at large." [12] He attributes the discovery to his having read the ECMAScript Standard, which he says "literally changed my life." [13] He also notes that the specification document is of "extremely poor quality", "hard to read", "hard to understand", and says that the ECMA and the TC39 committee "should be deeply embarrassed". [14]
In 2002, in reference to President George Bush's war on "evildoers", Crockford started releasing his JSMin software under a customized open source MIT License, with the added requirement that "The Software shall be used for Good, not Evil". This clause was carried over to JSMin-PHP, a variation of JSMin by Ryan Grove. This software was hosted on Google Code until December 2009 when, due to the additional clause, Google determined that the license was not compliant with the definition of free and open source software, which does not permit any restriction on how software may be used. [15] [16] JSMin-PHP was forced to migrate to a new hosting provider. [17] [18] According to the GNU project, the licence conflicts with Freedom 0 of the Free Software definition, and although "it may be unenforceable, we cannot presume that", therefore non-free. [19]
Crockford's license has caused problems for some open source projects who mistook the license for an open source variant of the MIT license. Affected open source developers have asked Crockford to change the license, but he has continued to use it. [20] [21] [22] In 2022, Crockford changed the license in the JSON Java implementation to Public Domain. [23]
Crockford is listed in the acknowledgements of the 1995 hardcover edition of The Diamond Age , by Neal Stephenson as Douglas (Carl Hollywood) Crockford.
In computing, configuration files are files used to configure the parameters and initial settings for some computer programs or applications, server processes and operating system settings.
Multi Emulator Super System (MESS) was an emulator for various consoles and computer systems, based on the MAME core. It used to be a standalone program, but is now integrated into MAME . MESS emulated portable and console gaming systems, computer platforms, and calculators. The project strived for accuracy and portability and therefore was not always the fastest emulator for any one particular system. Its accuracy made it also useful for homebrew game development.
Uninvited is a black-and-white horror-themed point-and-click adventure game. It was originally developed for the Macintosh by ICOM Simulations and released in 1986 by Mindscape as part of the MacVenture series.
JSON is an open standard file format and data interchange format that uses human-readable text to store and transmit data objects consisting of attribute–value pairs and arrays. It is a commonly used data format with diverse uses in electronic data interchange, including that of web applications with servers.
Labyrinth: The Computer Game is a graphic adventure game developed by Lucasfilm Games and published in 1986 by Activision. Based on the fantasy film Labyrinth, it tasks the player with navigating a maze while solving puzzles and evading dangers. The player's goal is to find and defeat the main antagonist, Jareth, within 13 real-time hours. Unlike other adventure games of the period, Labyrinth does not feature a command-line interface. Instead, the player uses two scrolling "word wheel" menus on the screen to construct basic sentences.
Caverns of Mars is a vertically scrolling shooter for Atari 8-bit computers. It was written by Greg Christensen, with some features later added by Richard Watts, and published by the Atari Program Exchange (APX) in 1981. Caverns of Mars became the best selling APX software of all-time and was moved into Atari, Inc.'s official product line, first on diskette, then on cartridge.
Minification is the process of removing all unnecessary characters from the source code of interpreted programming languages or markup languages without changing its functionality. These unnecessary characters usually include white space characters, new line characters, comments, and sometimes block delimiters, which are used to add readability to the code but are not required for it to execute. Minification reduces the size of the source code, making its transmission over a network more efficient. In programmer culture, aiming at extremely minified source code is the purpose of recreational code golf competitions.
The Eclipse Public License (EPL) is a free and open source software license most notably used for the Eclipse IDE and other projects by the Eclipse Foundation. It replaces the Common Public License (CPL) and removes certain terms relating to litigations related to patents.
Chip Morningstar is an American software architect, mainly for online entertainment and communication.
Comet is a web application model in which a long-held HTTPS request allows a web server to push data to a browser, without the browser explicitly requesting it. Comet is an umbrella term, encompassing multiple techniques for achieving this interaction. All these methods rely on features included by default in browsers, such as JavaScript, rather than on non-default plugins. The Comet approach differs from the original model of the web, in which a browser requests a complete web page at a time.
The Yahoo! User Interface Library (YUI) is a discontinued open-source JavaScript library for building richly interactive web applications using techniques such as Ajax, DHTML, and DOM scripting. YUI includes several cores CSS resources. It is available under a BSD License. Development on YUI began in 2005 and Yahoo! properties such as My Yahoo! and the Yahoo! front page began using YUI in the summer of that year. YUI was released for public use in February 2006. It was actively developed by a core team of Yahoo! engineers.
Atari Program Exchange (APX) was a division of Atari, Inc. that sold software via mail-order for Atari 8-bit computers from 1981 until 1984. Quarterly APX catalogs were sent to all registered Atari 8-bit owners. APX encouraged any programmer, not just professionals, to submit video games, educational software, applications, and utilities. A few internally developed Atari products were sold through APX, such as Atari Pascal, the developer handbook De Re Atari, and a port of the arcade video game Kangaroo.
Etherpad is an open-source, web-based collaborative real-time editor, allowing authors to simultaneously edit a text document, and see all of the participants' edits in real-time, with the ability to display each author's text in their own color. There is also a chat box in the sidebar to allow meta communication.
Apache Pivot is an open-source platform for building rich web applications in Java or any JVM-compatible language. It is released under the Apache License version 2.0.
JSLint is a static code analysis tool used in software development for checking if JavaScript source code complies with coding rules. It is provided primarily as a browser-based web application accessible through the domain jslint.com, but there are also command-line adaptations. It was created in 2002 by Douglas Crockford.
npm is a package manager for the JavaScript programming language maintained by npm, Inc., a subsidiary of GitHub. npm is the default package manager for the JavaScript runtime environment Node.js and is included as a recommended feature in the Node.js installer.
Three.js is a cross-browser JavaScript library and application programming interface (API) used to create and display animated 3D computer graphics in a web browser using WebGL. The source code is hosted in a repository on GitHub.
JSHint is a static code analysis tool used in software development for checking if JavaScript source code complies with coding rules. JSHint was created in 2011 by Anton Kovalyov as a fork of the JSLint project. Anton and others felt JSLint was getting "too opinionated", and did not allow enough customization options. The JSHint maintainers publish both an online version, and a command-line version.
Metasfresh is an open-source, free ERP software designed and developed for SMEs. Metasfresh is an actively maintained fork of ADempiere and can be used and distributed freely. It does not require a contributor license agreement from partners or contributors. While numerous open-source ERP projects exist, Metasfresh was included in the Top 9 Open Source ERPs to Consider by opensource.com.
This is a list of articles related to the JavaScript programming language.