123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- \documentclass{beamer}
- \title{Beginning Clojure}
- \subtitle{from theory to code}
- \author{Lily Carpenter}
- \institute{https://gitlab.com/azrazalea/}
- \mode<presentation> {\usetheme{Dresden}}
- \date{}
- \usepackage[latin1]{inputenc}
- \usepackage{times}
- \usepackage[T1]{fontenc}
- \usepackage[english]{babel}
- \usepackage{hyperref}
- \usepackage{listings}
- \begin{document}
- \begin{frame}
- \titlepage
- \end{frame}
- \begin{frame}
- \frametitle{Summary}
- \tableofcontents
- \end{frame}
- \section{Clojure in Theory}
- \begin{frame}
- \frametitle{Reasons for Clojure}
- \begin{itemize}
- \item{A Lisp}
- \item{for Functional Programming}
- \item{symbiotic with an established Platform}
- \item{designed for Concurrency}
- \end{itemize}
- http://clojure.org/rationale
- \end{frame}
- \begin{frame}
- \frametitle{Fundamental Concepts of Clojure}
- \begin{itemize}
- \item{Simplicity}
- \item{Freedom to focus}
- \item{Empowerment}
- \item{Clarity}
- \item{Consistency}
- \end{itemize}
- \textit{The Joy of Clojure} by Michael Fogus
- \end{frame}
- \begin{frame}
- \includegraphics[keepaspectratio=true,width=.75\paperwidth]{clojure_foundations.png}
- \textit{The Joy of Clojure} figure 1.1
- \end{frame}
- \section{Development Environments}
- \begin{frame}
- \frametitle{Development Environments}
- In order of popularity.
- \begin{itemize}
- \item{Emacs (The one true operating system)[use CIDER]}
- \item{Cursive (IntelliJ plugin now, standalone in the future)}
- \item{Vim (fireplace.vim seems to be the popular plugin)}
- \item{Light Table (Default clojure support?)}
- \end{itemize}
- https://cognitect.wufoo.com/reports/state-of-clojure-2014-results/
- \end{frame}
- \begin{frame}
- \frametitle{Emacs}
- \begin{itemize}
- \item{Large learning curve if you haven't used it before.}
- \item{I generally recommend heavy use of emacs if and only if you plan on customizing your own config.}
- \item{Most popular clojure IDE by a large margin.}
- \item{Not specific to clojure.}
- \end{itemize}
- http://www.braveclojure.com/basic-emacs/
- \end{frame}
- \begin{frame}
- \frametitle{Cursive}
- \begin{itemize}
- \item{``Just works'', simple to setup and start using.}
- \item{May be better if you want to avoid the emacs learning curve.}
- \item{Narrowly the second most used clojure IDE over vim with fireplace.}
- \item{Not yet a 1. 0 release.}
- \item{IntelliJ is not specific to clojure.}
- \end{itemize}
- https://cursiveclojure.com/
- \end{frame}
- \begin{frame}
- \frametitle{Vim}
- \begin{itemize}
- \item{Well supported for vim veterans.}
- \item{Would not recommend personally if you don't already know vim (learn emacs instead).}
- \item{Not specific to clojure.}
- \end{itemize}
- https://github.com/tpope/vim-fireplace
- \end{frame}
- \begin{frame}
- \frametitle{Light Table}
- \begin{itemize}
- \item{Another ``just works'' kind of option.}
- \item{Don't have to install anything extra for clojure support (though you'll want a build environment).}
- \item{Not specific to clojure}
- \end{itemize}
- http://docs.lighttable.com/
- \end{frame}
- \section{Build Environments}
- \begin{frame}
- \frametitle{Build environments}
- \begin{itemize}
- \item{Leiningen (98\% of clojurists use per survey)}
- \item{Boot (cool newcomer to the scene, worth trying out probably)}
- \end{itemize}
- http://leiningen.org/
- https://github.com/tailrecursion/boot
- \end{frame}
- \section{Simple Examples}
- \section{Resources}
- \end{document}
|