SlideShare a Scribd company logo
1 of 11
Download to read offline
Principles and practices for
 picking powerful programming
platforms, packages, and plugins
            Abe Gong
             CSAAW
            Jan 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-la
   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.
   http://www.lingualogue.com/language-software-reviews.html
Picking powerful programming
platforms...
                                   >> Python

                                      Powerful
                                      Flexible
                            << Extensible
                            Very popular
                                  Very free

More Related Content

Similar to Picking powerful programming packages and platforms

First programming language to learn | Which Programming Language to Learn Fi...
First programming language to learn |  Which Programming Language to Learn Fi...First programming language to learn |  Which Programming Language to Learn Fi...
First programming language to learn | Which Programming Language to Learn Fi...Intellipaat
 
Python vs. r for data science
Python vs. r for data sciencePython vs. r for data science
Python vs. r for data scienceHugo Shi
 
Should You Choose Java or Python for Data Science?
Should You Choose Java or Python for Data Science?Should You Choose Java or Python for Data Science?
Should You Choose Java or Python for Data Science?Narola Infotech
 
🌟Is Learning Python Your Career Game-Changer? 🚀🐍
🌟Is Learning Python Your  Career Game-Changer? 🚀🐍🌟Is Learning Python Your  Career Game-Changer? 🚀🐍
🌟Is Learning Python Your Career Game-Changer? 🚀🐍abhishekdf3
 
Python vs Rust_ Which is Programming Language Need to Choose for Your Project...
Python vs Rust_ Which is Programming Language Need to Choose for Your Project...Python vs Rust_ Which is Programming Language Need to Choose for Your Project...
Python vs Rust_ Which is Programming Language Need to Choose for Your Project...Groovy Web
 
Is Go Better Than Python For Data Mining
Is Go Better Than Python For Data MiningIs Go Better Than Python For Data Mining
Is Go Better Than Python For Data MiningRepustate
 
Plone is great... Python is too!
Plone is great... Python is too!Plone is great... Python is too!
Plone is great... Python is too!Jazkarta, Inc.
 
Python – The Fastest Growing Programming Language
Python – The Fastest Growing Programming LanguagePython – The Fastest Growing Programming Language
Python – The Fastest Growing Programming LanguageIRJET Journal
 
Django Python(2)
Django Python(2)Django Python(2)
Django Python(2)tomcoh
 
python Certification Training in marthahalli
python Certification Training in marthahallipython Certification Training in marthahalli
python Certification Training in marthahalliMUDDUKRISHNA14
 
All you need to know about Python | BJIT
All you need to know about Python | BJITAll you need to know about Python | BJIT
All you need to know about Python | BJITBJIT Ltd
 
Programming languages for ai
Programming languages for aiProgramming languages for ai
Programming languages for aiDucat
 
PHP vs Python Which is Best for Web Development.pdf
PHP vs Python Which is Best for Web Development.pdfPHP vs Python Which is Best for Web Development.pdf
PHP vs Python Which is Best for Web Development.pdfchristiemarie4
 

Similar to Picking powerful programming packages and platforms (20)

Python
PythonPython
Python
 
First programming language to learn | Which Programming Language to Learn Fi...
First programming language to learn |  Which Programming Language to Learn Fi...First programming language to learn |  Which Programming Language to Learn Fi...
First programming language to learn | Which Programming Language to Learn Fi...
 
Python vs. r for data science
Python vs. r for data sciencePython vs. r for data science
Python vs. r for data science
 
Should You Choose Java or Python for Data Science?
Should You Choose Java or Python for Data Science?Should You Choose Java or Python for Data Science?
Should You Choose Java or Python for Data Science?
 
🌟Is Learning Python Your Career Game-Changer? 🚀🐍
🌟Is Learning Python Your  Career Game-Changer? 🚀🐍🌟Is Learning Python Your  Career Game-Changer? 🚀🐍
🌟Is Learning Python Your Career Game-Changer? 🚀🐍
 
Python training Course in Mohali
Python training Course in MohaliPython training Course in Mohali
Python training Course in Mohali
 
Python vs Rust_ Which is Programming Language Need to Choose for Your Project...
Python vs Rust_ Which is Programming Language Need to Choose for Your Project...Python vs Rust_ Which is Programming Language Need to Choose for Your Project...
Python vs Rust_ Which is Programming Language Need to Choose for Your Project...
 
Is Go Better Than Python For Data Mining
Is Go Better Than Python For Data MiningIs Go Better Than Python For Data Mining
Is Go Better Than Python For Data Mining
 
Reason To learn & use r
Reason To learn & use rReason To learn & use r
Reason To learn & use r
 
Challenge(G7).pptx
Challenge(G7).pptxChallenge(G7).pptx
Challenge(G7).pptx
 
Python intro for Plone users
Python intro for Plone usersPython intro for Plone users
Python intro for Plone users
 
Plone is great... Python is too!
Plone is great... Python is too!Plone is great... Python is too!
Plone is great... Python is too!
 
Introduction To Python
Introduction To PythonIntroduction To Python
Introduction To Python
 
Python – The Fastest Growing Programming Language
Python – The Fastest Growing Programming LanguagePython – The Fastest Growing Programming Language
Python – The Fastest Growing Programming Language
 
Python overview
Python overviewPython overview
Python overview
 
Django Python(2)
Django Python(2)Django Python(2)
Django Python(2)
 
python Certification Training in marthahalli
python Certification Training in marthahallipython Certification Training in marthahalli
python Certification Training in marthahalli
 
All you need to know about Python | BJIT
All you need to know about Python | BJITAll you need to know about Python | BJIT
All you need to know about Python | BJIT
 
Programming languages for ai
Programming languages for aiProgramming languages for ai
Programming languages for ai
 
PHP vs Python Which is Best for Web Development.pdf
PHP vs Python Which is Best for Web Development.pdfPHP vs Python Which is Best for Web Development.pdf
PHP vs Python Which is Best for Web Development.pdf
 

Recently uploaded

Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 

Recently uploaded (20)

Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

Picking powerful programming packages and platforms

  • 1. Principles and practices for picking powerful programming platforms, packages, and plugins Abe Gong CSAAW Jan 2012
  • 2. Picking programming packages Getting the right tools matters.
  • 3. Picking programming packages It matters a lot, but we never talk about it.
  • 4. Picking programming packages It is a decision we will each face many times.
  • 5. Picking programming packages It's a lot like another decision we often face... "What should I wear to the thing?”
  • 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 – 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
  • 8. 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?
  • 9. 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.
  • 10. 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-la  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.  http://www.lingualogue.com/language-software-reviews.html
  • 11. Picking powerful programming platforms... >> Python  Powerful  Flexible  << Extensible  Very popular  Very free