There are many more features to LightTable and I highly recommend that you watch the video on the LightTable web page and see Chris drive the IDE. It would be interesting to explore LightTable’s impact on TDD…sounds like a good blog post. □ I have to wonder how this type of code “visualization” impacts TDD (Test-Driven Development). This is what makes me want to use LightTable even if nothing else works. I’m not sure if Chris has officially coined a term for this feature but I’ve read it being referenced as “live evaluation” or “real-time evaluation and visualization”. It is pretty awesome to try various inputs and watch how the values flow through the code. The right side shows the data flowing through the function. However, things change after writing code to call the function. You can see that the right side of Instarepl is just showing the function as it was written. Here’s a simple function that I pulled from Chris’ blog post. However, it’s not much different than the Clojure REPL. Ok, that’s cool, you see what you type on the left, which is mirrored on the right with the result. Here’s the same basic example in LightTable’s Instarepl. Simply write some Clojure code and get the result. However, the REPL (Instarepl) in LightTable takes things one step further. This isn’t something new to the “Lispers” since REPL has been around a long time. The REPL (Read-Eval-Print-Loop) provides an interactive session to write and execute code. What appeals to me the most happens to be one of LightTable’s guiding principles “Discover by doing”. The intuitive UI is easy to use and it feels natural like you’re closer to the terminal. My first impression was this could be a next generation Vim editor. The UI is simple with a very modern look and color scheme. This is not a review of LightTable nor a “HowTo”, I think of it more as getting the word out about a new and different kind of developer tool. Well, three months later I “fell off the wagon” and took a “drink” of LightTable and I’m glad I did. I was trying to resist the temptation and I did for a little while. I was impressed with the presentation and thought to myself that I need to take a closer look at LightTable some time (not immediately but some time). That’s where I saw Chris Granger present LightTable for the first time. Well the tools story continues, in November 2012 I attended Clojure-conj in Raleigh, NC. I was feeling a bit like, “Hi, my name is Rod and I’m a tools-aholic”…this was starting to consume a lot of my time and taking away from what I set out to do…learn Clojure. I didn’t want to get involved in a big learning curve again. I thought about jumping into the deep end with Emacs, which is the choice for most Clojure developers but I’m not an Emacs user (please don’t hold it against me). I eventually got a dynamic Clojure development tool in Vim but I found that I was focusing more on learning this Vim/VimClojure/Nailgun environment than on Clojure! So, I reluctantly moved on. You have to build a Nailgun interface by downloading a client program and so on. There is a way to configure Vim to dynamically work with Clojure to provide documentation lookup, REPL running in a Vim buffer, etc. Regardless, I thought I’d give it a try by downloading and configuring VimClojure. If you’re a basic Vim user (like me) then there’s a learning curve. If you’re proficient Vim user then you get things done quickly. The great thing about Vim is it’s lightweight editor that’s extremely fast. Next, I tried configuring Vim for Clojure after seeing a co-worker work on a Clojure project with Vim. Intellij IDEA is a great IDE however, I wanted to stay open-minded to what else is out there. This is fine but it’s a bit of an overkill for just getting started with Clojure. First, I’m a long time Intellij IDEA user so I could just download the La Clojure plugin (I did) to get a REPL, syntax highlighting, source code navigation, etc. After doing some research, I narrowed it down to a few options. In this case, I wanted to take a little time to view the tools landscape for Clojure while trying not get carried away. Ok, for me, when I learn something new I need to have tools that are not distracting so that I’m focused on the material. The Groovy experience was great and the use of closures certainly “whet my appetite” for functional programming. I’ve been developing in Java for a while now and spent the last 1 1/2 years with Groovy. I’ve recently started learning Clojure after a little encouragement from co-worker of mine. I wrote a blog post ( A Guiding “Light” to Learning Clojure) for Chariot Solutions on using LightTable as a tool for learning Clojure.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |