Thursday, September 29, 2011

Oh nooo! We're going to have Ants!

Without a doubt, ants are some of the world's most determined creatures. Despite their sometimes small sizes, they are some of the most hardworking insects in the sense that they work together to build massive systems, or colonies, that are deeply layered in order to survive. In fact, as a result of their work, ants have colonized almost every landmass on Earth. They have come thrive in nearly all ecosystems,representing almost 15-25% of all land animals. I guess this is one good reason why Apache decided to rely on an ant symbol for their own Ant build system tool.
Apache Ant, or Ant("another neat tool") is a tool for automating software build process. It does draw parallels to the way ants build their so called "system", relying on scripting that is compilable,creates documentation, package, test and deploy code (thought, not necessarily in that order). Each piece plays a role in helping to neatly manage and export Java programs for both aspiring and long-time software developers.
Often one of the most noticeable differences between Ant and other build system tools (and yes, there are many others! Take Maven, for example) is that Ant relies on XML (frankly, a language that I lack the necessary experience in). Despite my unpreparedness, I dove right into the deep, practicing with Ant-Katas (you saw this coming, didn't you?). I managed to complete each kata, however not unscathed, having to go review my code on multiple occasions for forgetting symbols like "/" or ">" and even for getting to declare variables like "system.name" with a value (all of which almost drove me to the brink of insanity!). But thanks to these katas, I have learned some of the most important ANT basics like the immutabilities of properties, how dependencies work (in that, avoiding the dreaded circular dependency!) and how to interact with the console. With the help of some of my fellow classmates, the Ant API, and a nights supply of red bull (since it really does give you wings!), I was able to create some simple programs that were complete time savers.

No comments:

Post a Comment