Clojure: an overview

50 %
50 %
Information about Clojure: an overview

Published on March 2, 2009

Author: larrytheliquid



A very brief overview of the Clojure language. The majority of the presentation is in GIT revision history available from the GitHub link on the last slide:

: an overview presentation by Larry Diehl language by Rich Hickey Monday, March 2, 2009

What is Clojure? • A programming language (note the j) • ~1.3 years old (as of 02/26/09) • A dialect of Lisp • JVM-hosted • Concurrency-minded • Expressive • Malleable Monday, March 2, 2009

Why Clojure? • Less code to read • Meta-programming and DSLs • Simpler concurrency model • Lots of Java libraries to reuse • As fast as Java when necessary • Dynamic and JIT, but optionally AOT Monday, March 2, 2009

Concurrency • The age of multiple cores is here • Thread-safety in a Java library is practically a feature • Thread-safety in a Clojure library is practically an assumption • No language-level support for distributed concurrency Monday, March 2, 2009

Examples • Things that don’t change but are used often • Unit testing Java code • Graphing • Rapid prototyping • Lightweight REST APIs Monday, March 2, 2009

Clojure as a Lisp • Functional (not Object Oriented) • Prefix syntax (simple!) • Data type literals (less parentheses) • Lexically scoped (mostly) • Code as data (HOFs and homoiconic) Monday, March 2, 2009

Editors • Emacs + SLIME • not the only option!!! • IntelliJ IDEA (official JetBrains plugin) • Netbeans (Enclojure) • Eclipse (clojure-dev) Monday, March 2, 2009

The End ... just kidding Monday, March 2, 2009 << left side right side >> Monday, March 2, 2009

Buzzwords • rest of presentation will center around developing a library • the purpose of the library is to detect and report on buzzword usage within text • new concepts will gradually be introduced with new features • TDD will be employed to help the learning process Monday, March 2, 2009

Add a comment

Related presentations

Presentación que realice en el Evento Nacional de Gobierno Abierto, realizado los ...

In this presentation we will describe our experience developing with a highly dyna...

Presentation to the LITA Forum 7th November 2014 Albuquerque, NM

Un recorrido por los cambios que nos generará el wearabletech en el futuro

Um paralelo entre as novidades & mercado em Wearable Computing e Tecnologias Assis...

Microsoft finally joins the smartwatch and fitness tracker game by introducing the...

Related pages

Clojure - Rationale

Rationale Rationale. Table ... Clojure is an effort in pragmatic dynamic language design in this context. ... Overview Reference API Guides Libraries & Tools.
Read more


Clojure is predominantly a functional programming language, and features a rich set of immutable, ... A brief overview of Clojure and the features it includes.
Read more

An Overview of Datalog - GitHub Pages

An Overview of Datalog. By Jeffrey Straszheim. What Datalog is, and what it can do for you. Work in Progress. Introduction. Datalog is a logical query ...
Read more

Clojure Library Overview

clojure.algo.generic.collection by Konrad Hinsen Generic collection interface This library defines generic versions of common collection-related functions ...
Read more

Clojure - Wikipedia, the free encyclopedia

GitHub code repository for Clojure; A comprehensive overview of Clojure; An overview of Clojure 1.2 in reference format; Full Disclojure – Screencast;
Read more

An Overview of Clojure | Zekiah Technologies, Inc.

Clojure is one of the most interesting languages that has emerged recently. It is a Lisp whose main goal is to be practical language for day-to-day ...
Read more

Clojure for Data Science: an Overview

Below are slides from a talk given to the Bristol Clojurians on April 21st 2015. The talk was in two parts, each around an hour, and in each I attempted to ...
Read more

Clojure - Functional Programming for the JVM

Clojure - Functional Programming for the JVM. by R. Mark Volkmann, Partner Object Computing, Inc. (OCI) last updated on 6/2/13 ... Clojure Overview.
Read more

Table of Contents | Clojure Documentation | Clojure Docs

An overview of Clojure namespaces; How to define a namespace; How to use functions in other namespaces; require, refer and use;
Read more