Starting with GRASS GIS programming

GRASS GIS programming itself does require any special tools except for a C/C++ compiler and/or a Python interpreter. You can develop your own GRASS module (or call GRASS functionality from other software) using C, C++ or Python (alternatively, bindings to some other languages/environments are also available, namely R-stats and Bash or other command line).

Developing under MS-Windows

The best place to start is this page: https://trac.osgeo.org/grass/wiki/BuildingOnWindows

Developing under Linux

http://grasswiki.osgeo.org/wiki/Compile_and_Install#Linux

Developing under Mac OSX

http://grasswiki.osgeo.org/wiki/Compiling_on_MacOSX

Developing under Solaris, AIX, BSD, ...

Using an Integrated Development Environment (IDE)

If you would like to use an IDE, for C/C++ development you may use QtCreator which is also fine for GRASS GIS development. Here is the related guide:
http://grasswiki.osgeo.org/wiki/Using_QtCreator_for_GRASS_C_development

For Python development, you just need some Python editor/IDE, we recommend Spyder:
https://code.google.com/p/spyderlib/

Note: you need to execute your Python scripts as well as C/C++ programs from within a GRASS GIS session. There are other possibilities but this is what is commonly used.

References

The API documentation is placed here: http://grass.osgeo.org/programming7/

If you have further questions about programming in GRASS consider joining grass-dev mailing list:
http://lists.osgeo.org/listinfo/grass-dev

Development >> How to start | Last change: 01-Dec-2013