Rich Hickey

Last updated

Rich Hickey in San Francisco Rich Hickey.jpg
Rich Hickey in San Francisco

Rich Hickey is a computer programmer and speaker, known as the creator of the Clojure programming language. Clojure is a Lisp dialect built on top of the Java Virtual Machine. [1] [2] He also created or designed ClojureScript and the Extensible Data Notation (EDN) data format.

Contents

Before Clojure, he developed dotLisp, a similar project based on the .NET Framework. [3] Hickey has also worked on scheduling systems, broadcast automation, audio analysis and fingerprinting, database design, yield management, exit poll systems, and machine listening. [4]

He spent about 2½ years working on Clojure, much of that time working exclusively on Clojure without external funding, before releasing it to the world in 2007. In 2012, Datomic, a proprietary distributed database was launched which coincided with the incorporation of Cognitect. [5] From 2013 until 2020, he was the chief technology officer of Cognitect. [5] Cognitect was acquired by Nubank in 2020, and he was a Distinguished Engineer at Nubank until August 2023 when he announced [6] his retirement from commercial software development.

Papers

Related Research Articles

In computer science, functional programming is a programming paradigm where programs are constructed by applying and composing functions. It is a declarative programming paradigm in which function definitions are trees of expressions that map values to other values, rather than a sequence of imperative statements which update the running state of the program.

<span class="mw-page-title-main">Lisp (programming language)</span> Programming language family

Lisp is a family of programming languages with a long history and a distinctive, fully parenthesized prefix notation. Originally specified in 1960, Lisp is the second-oldest high-level programming language still in common use, after Fortran. Lisp has changed since its early days, and many dialects have existed over its history. Today, the best-known general-purpose Lisp dialects are Common Lisp, Scheme, Racket, and Clojure.

A compiled language is a programming language whose implementations are typically compilers, and not interpreters.

In computer software, a general-purpose programming language (GPL) is a programming language for building software in a wide variety of application domains. Conversely, a domain-specific programming language (DSL) is used within a specific area. For example, Python is a GPL, while SQL is a DSL for querying relational databases.

<span class="mw-page-title-main">History of programming languages</span> History of languages used to program computers

The history of programming languages spans from documentation of early mechanical computers to modern tools for software development. Early programming languages were highly specialized, relying on mathematical notation and similarly obscure syntax. Throughout the 20th century, research in compiler theory led to the creation of high-level programming languages, which use a more accessible syntax to communicate instructions.

In computing, the modulo operation returns the remainder or signed remainder of a division, after one number is divided by another.

<span class="mw-page-title-main">Denison Bollay</span>

Denison Bollay is a software engineer working on programming languages and search algorithms, with applications for e-commerce and financial information.

In computer programming, homoiconicity is a property of some programming languages. A language is homoiconic if a program written in it can be manipulated as data using the language. The program's internal representation can thus be inferred just by reading the program itself. This property is often summarized by saying that the language treats code as data.

Daniel L. Weinreb was an American computer scientist and programmer, with significant work in the environment of the programming language Lisp.

<span class="mw-page-title-main">Clojure</span> Dialect of the Lisp programming language on the Java platform

Clojure is a dynamic and functional dialect of the Lisp programming language on the Java platform.

<span class="mw-page-title-main">Redis</span> Open-source in-memory key–value database

Redis is an open-source in-memory storage, used as a distributed, in-memory key–value database, cache and message broker, with optional durability. Because it holds all data in memory and because of its design, Redis offers low-latency reads and writes, making it particularly suitable for use cases that require a cache. Redis is the most popular NoSQL database, and one of the most popular databases overall. Redis is used in companies like Twitter, Airbnb, Tinder, Yahoo, Adobe, Hulu, Amazon and OpenAI.

AllegroGraph is a closed source triplestore which is designed to store RDF triples, a standard format for Linked Data. It also operates as a document store designed for storing, retrieving and managing document-oriented information, in JSON-LD format. AllegroGraph is currently in use in commercial projects and a US Department of Defense project. It is also the storage component for the TwitLogic project that is bringing the Semantic Web to Twitter data.

Object-oriented programming (OOP) is a programming paradigm based on the concept of objects, which can contain data and code: data in the form of fields, and code in the form of procedures.

Datomic is a distributed database and implementation of Datalog. It has ACID transactions, joins, and a logical query language, Datalog. A distinguishing feature of Datomic is that time is a basic feature of data entities.

The table shows a comparison of functional programming languages which compares various features and designs of different functional programming languages.

<span class="mw-page-title-main">Hy</span> Dialect of the Lisp programming language designed to interact with Python

Hy is a dialect of the Lisp programming language designed to interact with Python by translating s-expressions into Python's abstract syntax tree (AST). Hy was introduced at Python Conference (PyCon) 2013 by Paul Tagliamonte. Lisp allows operating on code as data (metaprogramming), thus Hy can be used to write domain-specific languages.

In computer programming, self-hosting is the use of a program as part of the toolchain or operating system that produces new versions of that same program—for example, a compiler that can compile its own source code. Self-hosting software is commonplace on personal computers and larger systems. Other programs that are typically self-hosting include kernels, assemblers, command-line interpreters and revision control software.

References

  1. Morris, Richard (March 2, 2010). "Rich Hickey: Geek of the Week". Simple Talk. Retrieved June 5, 2020.
  2. Elmendorf, Dirk (April 1, 2010). "Economy Size Geek - Interview with Rich Hickey, Creator of Clojure | Linux Journal". www.linuxjournal.com. Retrieved June 5, 2020.
  3. Michael Fogus (2011). "Rich Hickey Q&A". Code Quarterly: The Hackademic Journal.
  4. Hickey, Rich (November 20, 2008). "Presentation about Clojure". InfoQ. JVM Language Summit. Retrieved June 5, 2020.
  5. 1 2 Gehtland, Justin (September 16, 2013). "Relevance and Metadata Partners Join Forces to Become Cognitect".
  6. "Clojure - (next Rich)". August 4, 2023. Archived from the original on August 4, 2023. Retrieved August 4, 2023.