picking programming packages
DESCRIPTION
My presentation to the comples sytems workgroup on picking programming packages.TRANSCRIPT
Principles and practices for picking powerful programming
platforms, packages, and plugins
Abe GongCSAAWJan 2012
Picking programming packages
Getting the right tools matters.
Picking programming packages
It matters a lot, but we never talk about it.
Picking programming packages
It is a decision we will each face many times.
Picking programming packages
It's a lot like another decision we often face...
"What should I wear to the thing?”
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?
Tools I use
Python – Data acquisition and manipulation R, RStudio, and ggplot – Statistics, data
visualization Hadoop – Really big data crunching Django – Server-side web development HTML, CSS, Javascript, jquery – Client-side
web development Protovis – Client-side data visualization
Tools I would think about using
D3 – A souped-up replacement for protovis Ruby on Rails – More popular alternative to
Django. Doesn't use python, though. Repast – ABMs with python support PANDAS – A python-based replacement for R?
Tools I would never use
Java – A perfectly decent programming language, but it does nothing that C++ and python can't do better.
PERL – Like python, but not for humans. NetLogo – 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.
Other links and sources
Picking programming languages:
http://www.tundraware.com/Technology/How-To-Pick-A-Programming-Language/
http://www.awaretek.com/atesterea.html
http://newbiehacker.wordpress.com/2010/01/23/how-to-choose-a-programming-language/
http://blog.aegisub.org/2008/12/if-programming-languages-were-religions.html
http://en.wikipedia.org/wiki/Comparison_of_agent-based_modeling_software
Kinda random:
http://www.inc.com/guides/choosing-accounting-software.html
http://www.mb-guide.org/medical-billing-and-coding-software.html
http://www.qualitydigest.com/july01/html/gauging.html
http://3d.about.com/od/A-Guide-To-3D-Software/a/Buyers-Guide-To-3d-Software.htm
http://www.lingualogue.com/language-software-reviews.html
Picking powerful programming platforms...
>> Python
Powerful Flexible
<< Extensible Very popular
Very free