HMww13 – ClojureScript mit Lisa Passing

Diesmal durfte ich Lisa Passing bei Travis besuchen. Bevor wir uns auf das eigentliche Thema stürzen sprechen wir über end-to-end Encryption und Crypto Parties (z.B. in Berlin).

Lisa verzichtet sehr bewusst auf Social Media und erzählt ein wenig, wie es sich so ohne Twitter, dafür aber mit eigenem Hashtag, leben lässt.

Schon eher zum Thema passt die ClojureBridge in Berlin bei der Lisa aktiv ist und die sich an Frauen und nicht-binäre Menschen richtet, die gerne lernen möchten, wie man programmiert. Wie besprechen auch direkt, wieso Clojure geeignet ist um programmieren zu lernen. Lisa selbst fängt hier übrigens häufig mit einem Spiel an, wenn sie eine neue Progammiersprache lernen möchte.

Aber natürlich sprechen wir auch über Clojure, dessen Verbindung zu Lisp und klären, warum Daten Code sind und Code auch Daten sind.

Beim Thema ClojureScript legen wir mit dem Clojure Compiler los, der wohl auch zukünftig ganz ohne JVM auskommt. Schon jetzt sorgt der Compiler übrigens Dank Google Closure Compiler dafür, dass Eure Anwendung am Ende nicht zu groß wird.

Der Einstieg in Clojure und ClojureScript ist übrigens nicht immer einfach: hier und da fehlt es noch an Dokumentation und auch das Tooling ist, besonders am Anfang, kompliziert. Also empfiehlt es sich hier durchaus andere um Hilfe zu bitten oder auch mal eines der zahlreichen Meetups zu besuchen. Grundsätzlich ist die Community jedenfalls sehr hilfsbereit. Was noch fehlt wäre ein Buch zum Einstieg in Clojure/ClojureScript. Hier hoffen Lisa und ich einfach mal auf Joy Clark.

Beim Tooling setzt Lisa auf Emacs da dieses selbst in Lisp geschrieben ist und man demnach die Konfiguration mit Lisp anpassen kann. Man kann aber natürlich auch mit den gängigen Editoren und IDEs arbeiten und dort ein Plugin nutzen. Nützlich ist auch die ClojureScript REPL, die wir dann auch beleuchten und besprechen, wie sie die Entwicklung unterstützen kann. Hier kann man hier übrigens figwheel nutzen.

Natürlich spielen auch Build Tools eine Rolle und hier könnt ihr gleich zwischen Leiningen (Leiningen versus the ants) und Boot wählen. Leiningen folgt dem Ansatz “Convention over configuration” während Boot hier alle Freiheiten überlässt. Beide Tools sind verbreitet und können Euch auch immer wieder begegnen.

Am Ende schwärmt Lisa noch ein wenig von Clojerl (Clojure auf der Erlang VM) und falls ihr auch in der Bash gerne Klammern schreibt, solltet ihr Euch mal Closh ansehen.

Warum JavaScript jetzt eigentlich doch nicht irgendwie funktional ist, könnt ihr uns, wie jedes weitere Feedback, gerne über den Github Issue mitteilen.