Saturday, August 31, 2013

iPython Notebook and LinqPad

I attended PyOhio 2013 in July.  The week prior to the conference, I was on vacation and discovered Python.  Call me crazy, but I like programming - it's what I'm built for, even if it's not my official day job now.  So anyway, I'm on vaca and playing with Node.js trying to accomplish something that should be easy, but the libraries are immature and the documentation is lacking or flat out wrong in places. I got frustrated with trying to actually get something done with Node.js and in a fit of insanity opened up PyCharm and made a Django project and started fresh.  Boy was I glad I did.  I'll probably write more about this later, but essentially, I've been hooked on Python for a couple of month's now having picked it up for the first time in a fit of Node rage and then shortly thereafter stumbling into one of the best tech conferences I've attended - PyOhio.

One of the big takeaways for me from that conference was learning about iPython Notebook.  What a great tool!  Go see what I saw here.  All the talks from the free PyOhio conference are posted for free too.  Like I said - great conference!

Back to iPython Notebook - it let's me develop a little working bit of code in small chunks, testing and trying things along the way.  While Visual Studio is hands-down the best IDE out there, I wouldn't call it the best development experience.  Often I find myself hacking out a solution to a problem in LinqPad of all things.  Perhaps this is similar to what the "Test-First" TDD crowd is trying to sell, but doesn't quite get all the way there.  With iPython Notebook, I can do what I want when I'm hacking, which is build small, working, lego-like structures in code and assemble those into a larger whole.  It's a beautiful thing, and doing that highlighted for me the frustration of developing with statically typed compiled languages.  The edit-compile-run-test-repeat cycle gets to be tedious.  It's nice to get away from the .NET ecosystem and see what else is out there.  Doing that makes me a better developer all around.  And LinqPad has become my iPython Notebook for .NET.