“Before software can be reusable it first has to be usable.”
- Ralph Johnson (computer scientist)
The Problem with Usability:
People are just not writing reusable code. Just about every project I work on, I envision my files as Lego Blocks. After 2 years of writing code, I end up with this massive bin of Lego Blocks (components) for my next project. In some cases (i.e. Java), I barely write new code at all. Most of the time, many of the functions and classes I implement are ones that I have used before. A very simple example is a sieve for generating prime numbers. (see below)
I was sitting in class today and decided that I should try out the Twilio API for once. For those who have not tried Twilio yet, please do. It basically allows you to send text messages, make phone/conference calls, etc. Once I was able to send a text message, it dawned on me. I have such a long list of API’s that I have barely even touched! And surprisingly, Python is this massively growing language with the assistance of pip and PyPi. So I decided upon the 100-day-API-Challenge. Where for 100 days, I will be writing either a new method or using a new API library in Python.
Day 1: Twilio Text Messaging
Just in Day 1 alone, I learned:
1. How to send text messages using Twilio in Python
2. How to set and use environment variables in Python
It may seem like not much but you have to think of the long haul. After 100 days, what seems like a few lines of code per day, will accumulate to thousands of lines. And not even just that but reusability. All these functions and files I write can be plugged into any python app I make.
Just do it. It can be 100 days of anything; Coding, Python, Libraries, Java, Scala, heck food even! Just dont do it for the sake of doing it. Do it because you want to be better at it. Its a growth process. And it should be viewed that way. Do it because you want to do it. Do it because you want to excel. And every programmer knows that excelling is the how you stay on the edge.