IN/Clojure 2020

India's annual Clojure and ClojureScript conference. 14th-15th Feb, 2020. Pune, MH, IN.

Tickets

Loading…

Sezal Jain

@sezal

Clojure is difficult, but worth it

Submitted Jan 17, 2020

I got into clojure last year after spending a few uninspiring years with python. I had programmed in C++, Go in the past and was not worried about taking up clojure.

But, it turned out, clojure is difficult. And I did not realize this in the beginning while I was doing 4clojure programming exercises etc, but when I started building a web application. This is when going deeper into the language and learning the surrounding support structure to build the application became compulsory. I had to forcefully change my mindset of getting things done to understanding how and why something is being done. It was a much slower process as compared to jumping into python or go but it made me a more aware programmer.

This process was filled with many stumbling blocks which I am going to talk about. Some of them were due to expectations arising from a previous language experience, and others were due to clojure itself. I talk about where I slipped up the most and why and identify possible weak points for people coming from other languages and how they can maneuver through them.

Outline

Parentheses

  • Not really a problem
  • Why not
  • Structural editing
    Debugging
  • Debugging when every expression is part of a chain of transformations
  • ‘Print debugging’ not useful
  • Tools to debug
    For loops
  • Not the same as in python/java/c++
  • List comprehension in math
  • map/reduce/filter in c++
  • When to actually use clojure for
    Lazy sequences
  • Errors occuring on not realizing presence of lazy seqs
  • REPL and how it compounds this issue
  • Why is map returning a lazy seq
  • Connection bw immutable data structures and lazy sequences
    Lack of examples
  • Some cases where I wanted examples of Clojure code and it was hard to find. t(Schema, mount etc)
  • Delving into source code, experimenting etc
    Interaction with db
  • Only because I was coming from python/django env
  • ORMs in django vs sql-builders
  • Lack of seamless integration with external applications forces you to learn more about them
  • You move up a level in terms of programming skills.. But this make clojure hard
    Hon’ mention: Snakes vs Kebabs
  • Why!!!

Requirements

Basic experience with clojure.

Speaker bio

Currently engineer at nilenso, with a varied history hopping from robotics research at CMU, to greenhouse farming and back to reality with a tech lead role at Care24.
Mostly programmed in python/django and C++ and now clojure!

Slides

https://speakerdeck.com/sezal/clojure-is-difficult-but-worth-it

Comments

{{ gettext('Login to leave a comment') }}

{{ gettext('Post a comment…') }}
{{ gettext('New comment') }}
{{ formTitle }}

{{ errorMsg }}

{{ gettext('No comments posted yet') }}

Hybrid access (members only)

Hosted by

IN/Clojure is India’s annual Clojure and ClojureScript conference, including talks about features, libraries, tools, usage, and more. IN/Clojure 2020, our 4th edition, is happening on 14th and 15th Feb 2020 (Fri/Sat) in Pune, Maharashtra. more