Online Resources for Software Carpentry
Ant:
A Java-oriented build tool that uses XML files instead of Makefiles.
Apache: The main site for the most widely-used web server in the world.
Bitten: A tool for running builds continuously in the background across multiple machines.
Boost.Python: A C++ library that enables interoperability with Python.
Bugzilla: An industrial-strength issue tracking system that is widely used in open source projects.
CollabNet: A software project management portal used in both commercial and open source projects.
CruiseControl: A framework for managing continuous builds. Each time you update something in your version control repository, CruiseControl recompiles your code, re-runs your tests, and lets you (and your teammates) know if you've broken anything.
CVS: A version control system that has been the backbone of the open source movement almost since its inception.
Cygwin: A Linux-like environment for Windows, which brings with it a lot of other tools (like SSH and GNU Make).
DB2: A high-end commercial databse management system from IBM.
DDD: The Data Display Debugger is a graphical front end for a variety of debuggers, including
Dive Into Python: The complete text of [Pilgrim 2004] available on-line.
Django: A
Docutils: Python's documentation utilities, which are designed to convert plain text documentation (such as docstrings) into HTML and other formats.
DrProject: An entry-level software project management portal derived from
Eclipse: Originally developed by IBM for Java development, Eclipse is the biggest open source development environment around these days. There are literally hundreds of plugins for it, and hundreds of thousands of users. It's not for the faint of heart (and it definitely won't be happy on a four-year-old hand-me-down machine), but it's one of the real power tools of modern programming.
ElementTree: An alternative XML manipulation library for Python that pays more attention to the philosophy of the language than to standards like DOM.
F2PY: An open source tool to connect Python and Fortran code.
Firefox: The best web browser around, where “best” means “nicest interface”, “most extensible”, and “least insecure”.
GDB: The GNU Project debugger is a program that watches and manipulates other programs. It works with many languages, on many platforms; when combined with
Gnumeric: A cross-platform open source spreadsheet.
Internet Groupware for Scientific Collaboration: While it is now several years old, Udell's examination of what the web could be, and how it could help scientists collaborate more effectively, is still as thought-provoking as it was when it first appeared.
JUnit: A unit testing framework for Java that has inspired many workalikes and extensions.
Kid: An HTML templating system for Python.
Make: The standard build tool for Unix. Users describe dependencies in a Makefile, along with the actions that must be executed to update a file if it is older than any of its dependencies. Make then determines which actions need to be executed, and an order in which they may safely be run.
Microsoft Visual Studio: A full-featured IDE for Microsoft Windows development.
MySQL: The most popular open source database around (though many discerning users prefer
Oracle: A high-end commercial database system produced by a company of the same name.
Politics and the English Language: A brilliant description of how turgid language is often used as a substitute for thought. The particular examples may be a little dated, but Orwell's writing never is.
PEP-008: Python Style Guide: A semi-official guide to
Perforce: An excellent commercial version control system.
PostgreSQL: The main site for an advanced open source relational database. It may not be as popular as its main competitor, MySQL, but most people who have used both have found PostgreSQL easier to work with.
PyAmazon: A simple Python library for fetching data from Amazon.com.
PyChecker: A code checking tool for
Pyfort: An open source tool to connect Python and Fortran code.
PyLint: A code checking tool for
Python: The main site for all things Python.
Python Cookbook: An ever-growing collection of
Python Software Foundation: A non-profit organization devoted to advancing open source technology related to
RapidSVN: A cross-platform GUI for
Roundup: A bug-tracking system in which each ticket automatically becomes a self-maintaining mailing list.
Ruby: A scripting language with many of the same capabilities as
Ruby on Rails: A third-generation web application framework that simplifies programmers' lives by emphasizing convention over configuration.
SCons: A powerful
Seamonkey Code Reviewer's Guide: A simple set of guidelines for code reviews from the Mozilla Foundation.
SQLObject: An object-relational mapping package for Python.
Software Carpentry: The permanent home for these notes.
SourceForge: A software project management portal whose main installation is a clearing house for thousands of open source projects.
SQLite: A small, simple, and very fast relational database that can be run on its own, or integrated into other applications.
Subversion: The main site for Subversion is aimed more at Subversion's developers than at its users; if you're looking for a how-to, [Mason 2005] is a good place to start.
SWIG: A tool for generating Perl, Python, and other bindings for C programs.
The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!): Joel Spolsky's 15-minute guide to character set encodings, and what you have to do to deal with the fact that most of the world doesn't use the standard American alphabet. This article is reprinted in [Spolsky 2004]
TortoiseSVN: A cross-platform GUI for
Trac: An entry-level software project management portal that is much easier to install, administer, and use than full-sized alternatives like
TurboGears: A
University of Toronto: Canada's biggest university, and the host institution for much of this work.
Version Control with Subversion: A free on-line version of Collins-Sussman et al's [Collins-Sussman et al 2004].
WingIDE: A commercial IDE targeted solely at
YesLogic: Makers of Prince, the document formatter and generator used to produce the PDF version of these notes.
Apache: The main site for the most widely-used web server in the world.
Bitten: A tool for running builds continuously in the background across multiple machines.
Boost.Python: A C++ library that enables interoperability with Python.
Bugzilla: An industrial-strength issue tracking system that is widely used in open source projects.
CollabNet: A software project management portal used in both commercial and open source projects.
CruiseControl: A framework for managing continuous builds. Each time you update something in your version control repository, CruiseControl recompiles your code, re-runs your tests, and lets you (and your teammates) know if you've broken anything.
CVS: A version control system that has been the backbone of the open source movement almost since its inception.
Cygwin: A Linux-like environment for Windows, which brings with it a lot of other tools (like SSH and GNU Make).
DB2: A high-end commercial databse management system from IBM.
DDD: The Data Display Debugger is a graphical front end for a variety of debuggers, including
GDB and the Python debugger.Dive Into Python: The complete text of [Pilgrim 2004] available on-line.
Django: A
Python web application development framework with
some of the same capabilities as Ruby on Rails (but not
as many users, or as much documentation).Docutils: Python's documentation utilities, which are designed to convert plain text documentation (such as docstrings) into HTML and other formats.
DrProject: An entry-level software project management portal derived from
Trac that has been tailored for classroom and
small-team use.Eclipse: Originally developed by IBM for Java development, Eclipse is the biggest open source development environment around these days. There are literally hundreds of plugins for it, and hundreds of thousands of users. It's not for the faint of heart (and it definitely won't be happy on a four-year-old hand-me-down machine), but it's one of the real power tools of modern programming.
ElementTree: An alternative XML manipulation library for Python that pays more attention to the philosophy of the language than to standards like DOM.
F2PY: An open source tool to connect Python and Fortran code.
Firefox: The best web browser around, where “best” means “nicest interface”, “most extensible”, and “least insecure”.
GDB: The GNU Project debugger is a program that watches and manipulates other programs. It works with many languages, on many platforms; when combined with
DDD, it's actually not that hard
to use.Gnumeric: A cross-platform open source spreadsheet.
Internet Groupware for Scientific Collaboration: While it is now several years old, Udell's examination of what the web could be, and how it could help scientists collaborate more effectively, is still as thought-provoking as it was when it first appeared.
JUnit: A unit testing framework for Java that has inspired many workalikes and extensions.
Kid: An HTML templating system for Python.
Make: The standard build tool for Unix. Users describe dependencies in a Makefile, along with the actions that must be executed to update a file if it is older than any of its dependencies. Make then determines which actions need to be executed, and an order in which they may safely be run.
Microsoft Visual Studio: A full-featured IDE for Microsoft Windows development.
MySQL: The most popular open source database around (though many discerning users prefer
PostgreSQL).Oracle: A high-end commercial database system produced by a company of the same name.
Politics and the English Language: A brilliant description of how turgid language is often used as a substitute for thought. The particular examples may be a little dated, but Orwell's writing never is.
PEP-008: Python Style Guide: A semi-official guide to
Python coding
conventions.Perforce: An excellent commercial version control system.
PostgreSQL: The main site for an advanced open source relational database. It may not be as popular as its main competitor, MySQL, but most people who have used both have found PostgreSQL easier to work with.
PyAmazon: A simple Python library for fetching data from Amazon.com.
PyChecker: A code checking tool for
Python that complements
PyLint.Pyfort: An open source tool to connect Python and Fortran code.
PyLint: A code checking tool for
Python that complements
PyChecker.Python: The main site for all things Python.
Python Cookbook: An ever-growing collection of
Python tips and
tricks.Python Software Foundation: A non-profit organization devoted to advancing open source technology related to
Python, and the main financial
sponsor of this course.RapidSVN: A cross-platform GUI for
Subversion.Roundup: A bug-tracking system in which each ticket automatically becomes a self-maintaining mailing list.
Ruby: A scripting language with many of the same capabilities as
Python.Ruby on Rails: A third-generation web application framework that simplifies programmers' lives by emphasizing convention over configuration.
SCons: A powerful
Python-based build management
tool.Seamonkey Code Reviewer's Guide: A simple set of guidelines for code reviews from the Mozilla Foundation.
SQLObject: An object-relational mapping package for Python.
Software Carpentry: The permanent home for these notes.
SourceForge: A software project management portal whose main installation is a clearing house for thousands of open source projects.
SQLite: A small, simple, and very fast relational database that can be run on its own, or integrated into other applications.
Subversion: The main site for Subversion is aimed more at Subversion's developers than at its users; if you're looking for a how-to, [Mason 2005] is a good place to start.
SWIG: A tool for generating Perl, Python, and other bindings for C programs.
The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!): Joel Spolsky's 15-minute guide to character set encodings, and what you have to do to deal with the fact that most of the world doesn't use the standard American alphabet. This article is reprinted in [Spolsky 2004]
TortoiseSVN: A cross-platform GUI for
Subversion.Trac: An entry-level software project management portal that is much easier to install, administer, and use than full-sized alternatives like
CollabNet and SourceForge.TurboGears: A
Python web application development framework with
some of the same capabilities as Ruby on Rails (but not
as many users, or as much documentation).University of Toronto: Canada's biggest university, and the host institution for much of this work.
Version Control with Subversion: A free on-line version of Collins-Sussman et al's [Collins-Sussman et al 2004].
WingIDE: A commercial IDE targeted solely at
Python
developers.YesLogic: Makers of Prince, the document formatter and generator used to produce the PDF version of these notes.
Page Author
From Here You Can…
Information
- 336 Views
- 0 Comments
Most Recent Related Content
- Lesson
- Avatar

- Title
- Focused Writing with "Writer"
- Body
- Writeroom Writeroomis one of my favorite writing applications because it li...
- Author
- Lesson
- Avatar

- Title
- More On Classes
- Body
- OOP encapsulates data(attributes) and functions(behaviors) into packages call...
- Author
- Lesson
- Avatar

- Title
- More On Functions
- Body
- Inline Functions Functions with small code can be declared as inline.Where...
- Author
- Lesson
- Avatar

- Title
- Union, Typedef, Enums
- Body
- By now, you already know what is an array, what is a structure, and how to us...
- Author
- Lesson
- Avatar

- Title
- C++ As Better C
- Body
- Before moving on further in advanced C++, it is better to ensure us that C++ ...
- Author
- Lesson
- Avatar

- Title
- Using md5 sums
- Body
- Once you have downloaded a file from the internet, it is always nice to check...
- Author
- Lesson
- Avatar

- Title
- Functions - Basic Concept
- Body
- Today, we will see yet another concept present in any programming language. N...
- Author
- Lesson
- Avatar

- Title
- Automated Builds Using Make
- Body
- IntroductionMost languages require you to compile them before they can be run...
- Author
