A technique I use whenever I need to learn a new language is to write the same application I already have in another language. I generally choose downloading nzbs from usenet as it can involve a number of interesting programming techniques, at least enough to give you a pretty good idea of how a language handles things like:
* threading and work queues (downloading files concurrently) * socket io (writing a simple nntp client) * xml processing (parsing nzb files) * binary encoding/decoding (yenc implementation) * curses style ui * web ui * command line arguments * configuration * signal handling * testing (haha kidding) TBH I usually get about 50% of the way through and have enough of a handle on the language at that point to abandon my efforts and move on. On Wed, Mar 26, 2014 at 7:22 PM, Daniel Higginbotham <nonrecurs...@gmail.com > wrote: > Chiming in a bit late, but here was my path: > > * Read "Land of Lisp" by Conrad Barski. This was my first real contact > with lisp and functional programming. I found it challenging, but the book > is well-written and the technique of teaching through writing games was > perfect for me. It uses common lisp which is almost baroque compared to > Clojure, but it was helpful later in getting a better sense of Clojure's > roots. Also, most of the classic lisp books out there use common lisp > * Tried to write my own web-based game using common lisp. This was true > fun and I learned a ton > * Read "On Lisp" by Paul Graham. It is an excellent book > * Was introduced to Clojure through a talk given by Alan Dipert at my > workplace > * Learned Clojure by skipping around Clojure in Action, Programming > Clojure, and Clojure Programming. Settled on Clojure Programming. > * projecteuler.net has been a good help > * I've been teaching Clojure to folks at work, which forces me to deeply > understand the material > * At the same time, I've kept building little web apps to solidify my > knowledge. One of them, http://gratefulplace.com, is actually used :) > > I feel like I know enough to get stuff done, but there's still so much > more to learn. Most recently I've been brushing up on math/logic so that I > can better understand the more mathy texts whenever I encounter them. > > > On Thursday, March 20, 2014 9:08:41 PM UTC-4, Marcus Blankenship wrote: >> >> Hi Folks, >> >> I'm a post technical PM who's fascinated by Clojure, and want to learn >> it, but am having a hard time without a "real" project to work on. It's >> actually excited me so much I'm considering hanging up my PM hat and diving >> back in the "programmer pool" again! >> >> My problem appears to be 1) focus, and 2) fear. Focus because I can't >> (yet) earn a living on a clojure project, so it must be done during "off >> hours". Fear because it's harder and more different than the old OO >> languages I've used in the past. >> >> So I'm curious: how did you learn Clojure well enough to be proficient >> with it, or how are you working on learning it? >> >> Anyone else facing the focus + fear dilemma? >> >> Sent from my iPhone > > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clojure@googlegroups.com > Note that posts from new members are moderated - please be patient with > your first post. > To unsubscribe from this group, send email to > clojure+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en > --- > You received this message because you are subscribed to the Google Groups > "Clojure" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to clojure+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.