The document discusses considerations for choosing programming packages and tools. It notes that the decision matters and is one that programmers face regularly. It analogizes the decision to choosing clothes, considering factors like whether the software works with other tools, is popular with active support communities, is well-documented and easy to use, and fits the intended purpose. The document lists tools the author uses including Python, R, Hadoop, and web development packages, and notes other tools they would consider or avoid using.
1 of 11
More Related Content
Picking programming packages
1. Principles and practices for
picking powerful programming
platforms, packages, and plugins
Abe Gong
CSAAW
Jan 2012
6. What should I wear to the thing?
Clothing Software
Accesorizes well Does it work with other software
and tools that you use? Is it
extensible?
Matches others Is it a popular package? Are
there active forums to get help
and updates?
Comfortable Is it well-documented and easy
to debug?
Reasonably priced It is open source? Does the
University already have
licenses?
Fits the occasion Does it do what you want it to
do? Really?
7. Tools I use
ª« Python ¨C Data acquisition and manipulation
ª« R, RStudio, and ggplot ¨C Statistics, data
visualization
ª« Hadoop ¨C Really big data crunching
ª« Django ¨C Server-side web development
ª« HTML, CSS, Javascript, jquery ¨C Client-side
web development
ª« Protovis ¨C Client-side data visualization
8. Tools I would think about using
ª« D3 ¨C A souped-up replacement for protovis
ª« Ruby on Rails ¨C More popular alternative to
Django. Doesn't use python, though.
ª« Repast ¨C ABMs with python support
ª« PANDAS ¨C A python-based replacement for R?
9. Tools I would never use
ª« Java ¨C A perfectly decent programming
language, but it does nothing that C++ and
python can't do better.
ª« PERL ¨C Like python, but not for humans.
ª« NetLogo ¨C A horrible, legacy language that is
difficult to understand and almost impossible to
debug. In exchange for sliders, NetLogo will
give you bad habits and make you afraid of
programming.