# 10,000 Processes in Om I have just published [om-processes](om-processes) which is a port of David Nolen's [10,000 Processes](swannodette-10k) in [Clojurescript](clojurescript) to [Om](om). Clojurescript is a port of [Clojure](clojure) to JavaScript which is especially well suited for running in a browser. Just as Clojure offers a pleasant LISP on the JVM Clojurescript offers (nearly the same) LISP in the browser. The performance of Clojurescript is outstanding due to the massive optimizations available from the [Google Closure compiler](closure). JavaScript, however, has some fundamental flaws... Top among these are it is single threaded which leads to an asynchronous callback style of "event programming". Clojure's [core.async](core.async) offers a solution in the form of [CSP](csp) style programming. Using core.async one can *think* about coding in a more intuitive way. In [10,000 Processes](swannodette-10k) Nolen demonstrates using core.async to simulate independent "threads" despite the fact that the underlying platform has no native support for threads. In [Om](om) Nolen leverages [Facebook's React](react) to create a high performance, immutable model for client programming. The technical study [om-processes](om-processes) is simply the fusion of all these ideas into one demonstration. Who knew web development could be so much fun! [om-processes]: https://github.com/tmarble/om-processes [swannodette-10k]: http://swannodette.github.io/2013/08/02/100000-processes/ [clojurescript]: http://github.com/clojure/clojurescript [om]: https://github.com/swannodette/om [clojure]: http://clojure.org [closure]: https://developers.google.com/closure/ [core.async]: https://github.com/clojure/core.async/ [csp]: http://en.wikipedia.org/wiki/Communicating_sequential_processes [react]: http://facebook.github.io/react/ [[!taglink clojure clojurescript om]]