This week we welcome Arun Ravindran (@arocks) as our PyDev of the Week! Arun has a fun Python blog that is worth checking out. He is also the author of Django Design Patterns and Best Practices. Let’s spend some time getting to know Arun.
Can you tell us a little about yourself (hobbies, education, etc):
I grew up in a small town called Thrissur in the lush green state of Kerala, India. When I was in secondary school, the personal computer revolution had just started. We were a bunch of wide-eyed kids playing Prince of Persia or Dangerous Dave and learning to program by creating monochrome moire patterns in BASIC.
Now I am a product manager, husband and father of two wonderful kids. A few months back, my first book titled “Django Design Patterns and Best Practices” got published. I spend my free time working on open source projects, playing retro video games and traveling.
Why did you start using Python?
I learned Python, from the official tutorial (titled “Whetting Your Appetite”, I remember thinking that the title looks interesting), when I was studying computer science in Govt. Engineering College, Thrissur in 1998. It was the early days of the open source movement.
I loved many language decisions made in Python like indentation-based syntax and a fascinatingly rich built-in standard library. I found myself agreeing with most of the advice in Zen of Python. Eventually, the user interface of my final year project on image compression was written entirely in Python.
What other programming languages do you know and which is your favorite?
I am a bit of a programming language enthusiast. I’m always learning new and even esoteric languages. So I stopped counting after I got about twenty languages under my belt. I prefer to learn languages which introduce new ideas and are practical for everyday use.
I enjoy languages which have a strong type inference mechanism like OCaml, Haskell or Haxe. But for most my needs I end up using Python. You could say Python is my go-to language (pun not intended) but my favourites keeps changing. Currently it is OCaml and Elixir.
What projects are you working on now?
I am great at starting projects but find it really hard to finish them. So at any given point in time I would be working on a crazy number of projects. Among them, I am most excited about Django Edge, a project template that solves a lot of common Django beginners needs.
I am also working on my next book by co-authoring with Anand – which is a book on Emacs for beginners. Other projects include a geography based search engine and a kid-friendly programming language primarily to create games.
Which Python libraries are your favorite (core or 3rd party)?
From the standard library, I find itertools extremely cool because it’s neat collection of functional tools for working with iterators. Among third party libraries, I find Pandas (and Jupyter Notebook) quite useful for data analysis.
In terms of a library that has the most Pythonic API, I would vote for requests. My favourite framework is, of course, Django.
Where do you see Python going as a programming language?
Python has been extremely successful as a beginner-friendly programming language. Its influence can be seen in a number of modern languages like Julia or Swift.
The future of the language is Python 3. Despite early skepticism, there is widespread adoption of Python 3 now. I based my book on Python 3 because I believe that we need to stop using many outdated constructs like “__unicode__” and “xrange”, as soon as possible.
I am quite excited about other implementations of Python like PyPy and MicroPython. PyPy is becoming more production ready. It is already one of the fastest Python implementations. MicroPython is a scaled down implementation of Python 3 that works even in microcontrollers. Imagine being able to (re-)program your washing machine or car with Python!
Is there anything else you’d like to say?
There is a lot of excitement around Python now even though it is older than Java. Some people don’t understand what’s so great about it. I believe it is the community. Over the years, I have rarely found a group of people who are so open to outside feedback be it suggestions or criticism and have worked to improve the language. So, I am quite optimistic about its future.
Thanks so much!
The Last 10 PyDevs of the Week