Brave Clojure: Become a Better Programmer

Next week week I'm re-launching
www.braveclojure.com as Brave
Clojure
. The site will continue featuring Clojure for the Brave and
True
, but I'm expanding its scope a bit. Instead of just housing the
book, the purpose of the site will be to help you and the people you
cherish become better programmers.



Like many other Clojurists, I fell in love with the language because
learning it made me a better programmer. I started learning it because
I was a bit bored and burnt out on the languages and tools I had been
using. Ruby, Javascript, Objective-C weren't radically different from
each other, and after using them for many years I felt like I was
stagnating.



But Clojure, with its radically different approach to computation (and
those exotic parentheses) drew me out of my programming funk and made
it fun to code again. It gave me new tools for thinking about
software, and a concomitant feeling that I had an unfair advantage
over my colleagues. So of course the subtitle of Clojure for the
Brave and True
is learn the ultimate language and become a better
programmer
.



And, four years since I first encountered Rich Hickey's fractal hair,
I still find Clojure to be an exceptional tool for becoming a better
programmer. This is because Clojure is a fantastic tool for exploring
programming concepts, and the talented community has created
exceptional libraries for such diverse approaches as
forward-chaining rules engines
and constraint programming and
logic programming, just to
name a few.



By learning a variety of programming concepts, you become a better
programmer because you're better able to recognize what kind of
problem you're working on and apply the right tools. To give just one
example: when I'm working on complex UI widgets my work is always made
easier if I model the widget using a finite state machine (FSM) - but
I had to actually spend time learning what FSMs are and how to use
them (those of you with comp sci degrees are probably chuckling at
this).



You may have started learning Clojure because you heard that
functional programming, Lisp, and immutability can make your life
easier, but the fun doesn't stop there! At Brave Clojure, I hope
you'll continue using the ultimate language to explore the vast and
infinitely fascinating world of computer programming with me.



The first topic we'll explore is parallel programming. Here's the
beginning of an ebook on the topic that I'm nearly finished with:




Yes, it would be fair for you to describe my startup as the Google of
palm reading. I don't know if you know this, but the fortune
telling industry has no quality control standards. There is no Six
Sigma of fortune telling. Sometimes it seems like these
people are just making things up!



We can do better. Did I say we? Yes! I want to you to embark on this
startup journey with me. Lucky you! My - our - plan is to disrupt
the field with an app that lets a user position their phone so that
the camera faces their palm and takes a picture, then predicts the
future. I call it: iFacePalm.




And, uh, there's parallel programming in it.



While I plan on spending most of my time helping you and all of your
closest friends, enemies, and even frenemies become better programmers
by writing about these big ideas, I'm also going to spend time
covering practical Clojure topics like deployment and debugging.



To make this happen, I'm working a (great) job only two days a week
and spending the rest of the time on Brave Clojure, so I'll need to
find a way to derive income from the site. I'm not sure yet what will
be free and what won't. My dream is to make all the content
available online for free. That's what gives me joy, and I think it's
the best way to have a positive impact. Ideally, I would be supported
in this endeavor through monthly donations, but I'll likely try
different approaches over time.



Finally, I've been putting together two sites to help you up your
game:
Open Source Clojure Projects,
a directory of active projects, and
Clojure Work, the first Clojure-only job
board. The latter is still in beta, and I'm going to officially
release it and move it to https://jobs.braveclojure.com next week. The
best way to get better at Clojure is to actually write Clojure, and
working on real projects (and even getting paid to do so) is a great
way to do that. Companies who buy job board ads will also be
supporting me in making more content - hooray!



If you get excited about learning more programming ideas, or learning
to develop Clojure programs better, or getting paid cold hard cash to
write your favorite language, then I cordially invite you to consider
signing up for my newsletter, where I'll announce every release:







Writing Clojure for the Brave and True was one of the most rewarding
experiences of my life in large part because I got to interact with so
many kind, thoughtful, intelligent people. I look forward to your
company as I embark on this new chapter of my journey!

 •  0 comments  •  flag
Share on Twitter
Published on March 22, 2016 06:00
No comments have been added yet.


Daniel Higginbotham's Blog

Daniel Higginbotham
Daniel Higginbotham isn't a Goodreads Author (yet), but they do have a blog, so here are some recent posts imported from their feed.
Follow Daniel Higginbotham's blog with rss.