by Kirk Knoernschild | March 26, 2012 | Comments Off
A programming kata is a programming exercise that you repeat many times over. A programming kata is useful for a few different reasons.
- It helps you learn a new programming language or framework.
- It helps you hone your skills with a language, framework, or tool you already use.
- It can provide fresh insight on how you might use your existing tools by applying techniques you’ve learned using an alternative tool.
- It can help you evaluate and compare different frameworks and tools.
- It can serve as a reference implementation you use to teach others.
A kata isn’t exclusive to just programming, however. In fact, the term kata originated in karate, and you can use the concept of a kata to help you learn new tools, refine processes, or just about anything else you want to get better at.
One kata I’ve applied numerous times is my Loan kata. The Loan kata accepts an amount, term, and rate and calculates the monthly payment for a loan. Variations of the kata calculate the amount each month applied to prinicipal and interest. Over the next several weeks, I’m going to use the Loan kata to develop different types of mobile applications. Each time, I’ll post a blog entry that illustrates what I’ve done and shares some of my findings. Right now, I intend to do the following:
- Create a mobile web app using JQuery Mobile.
- Create a mobile web app using Sencha Touch.
- Create a resident mobile app using PhoneGap.
- Create a resident mobile app using the iOS SDK
- Create a resident mobile app using the Android SDK
- Create a resident mobile app using BlackBerry SDK
- Create a resident mobile app using Windows Phone SDK
If you’re interested in seeing another tool or framework used, let me know and I’ll add it to the list. I don’t have a timeline to complete all this, and it will take me several weeks to pull them all together. But stay tuned for some programming fun!
Comments or opinions expressed on this blog are those of the individual contributors only, and do not necessarily represent the views of Gartner, Inc. or its management. Readers may copy and redistribute blog postings on other blogs, or otherwise for private, non-commercial or journalistic purposes, with attribution to Gartner. This content may not be used for any other purposes in any other formats or media. The content on this blog is provided on an "as-is" basis. Gartner shall not be liable for any damages whatsoever arising out of the content or use of this blog.