Darko Fabijan wrote this on December 19, 2013
CTRL+FLOW 2 - Notes
Our second CRTL+FLOW event was a great blend of two talks about Clojure and Go. Both are modern languages and are standing on shoulders of giants from different worlds, LISP and C. Below you can few words about talks and some useful resources.
Clojure - From empty list to macros
Alhough we love say that CTRL+FLOW is about bleeding edge technologies this lecture was about part of Clojure that is almost 50 years old. Nebojša introduced LISP, or actually Clojure dialect of LISP, through series of small digestable examples that made us feel that we already know LISP. I guess it’s an old professor’s trick that Nebojša learned while working at university. You probably know the feeling that it all sounded so nice at class but when you open book few hours leter you discover that it’s not that easy. I really loved that feeling that you have after such lecture. In slides, linked below, you can find examples that Nebojša so skillfully explained. There are also links to few recommened books and screencast.
A good screencast is Full Disclojure.
High performance Web with Go
Aleksandar gave detailed background of performance issues that we were having with Semaphore and how that pushed us to try Go which we are now running in production. It’s of course very interesting to hear war stories but real fun of course starts with code. Sale wasn’t talking much about syntax of Go, but jumped straight to an example of a tiny web application in Go. It was very interesting to see that you can get a working web application in 10 lines of code in a language that most people think of as the new C. I believe that others also had that impression that it’s really a language build for the new age. A working web application in ten lines of code, everything is in Unicode, there’s easy to use concurrency with high level concepts of channels and message passing. Links to examples that Aleksandar used during lecture are below along with links to a few books.
Hello world - http://play.golang.org/p/4ZoKrmV_xS
Web server - http://play.golang.org/p/kOJSYKywPG
Martini framework - http://play.golang.org/p/f0um2AIevM
Concurrency - http://play.golang.org/p/l8Gz74TiHO
Even more books at - https://code.google.com/p/go-wiki/wiki/Books