> For the complete documentation index, see [llms.txt](https://panav.gitbook.io/robotics-handbook/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://panav.gitbook.io/robotics-handbook/programming-for-robotics/programming-for-robotics.md).

# Programming for Robotics (overview)

Programming essentials for robotics - C++, Python, algorithms, optimization, and digital twins for building real-time robotic systems.

Languages, libraries, and algorithmic foundations for writing robot software - from choosing a language, through C++ and Python practice, to the algorithms, optimization solvers, and digital twins that production stacks rely on.

<table data-view="cards"><thead><tr><th></th><th data-type="content-ref"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td>Common Languages</td><td><a href="/robotics-handbook/programming-for-robotics/common-languages.md">Common Languages</a></td><td><a href="https://923066007-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJR2yBCOFnSaxfostbWYx%2Fuploads%2Fgit-blob-bee80a6610dbc6c2c663b1768200d717d18ff7e6%2Flanguages.gif?alt=media">languages.gif</a></td></tr><tr><td>C++ for Robotics</td><td><a href="/robotics-handbook/programming-for-robotics/cpp-for-robotics.md">C++ for Robotics</a></td><td><a href="https://923066007-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJR2yBCOFnSaxfostbWYx%2Fuploads%2Fgit-blob-ca7cfe94c2f4b45e6e085decbf3a2b6b8fcc7048%2Fcpp-ros.webp?alt=media">cpp-ros.webp</a></td></tr><tr><td>Python for Robotics</td><td><a href="/robotics-handbook/programming-for-robotics/python-for-robotics.md">Python for Robotics</a></td><td><a href="https://923066007-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJR2yBCOFnSaxfostbWYx%2Fuploads%2Fgit-blob-4ec9d0a547b58b42b8c7712b7f805f6f167cf2f8%2Fpython-robotics.gif?alt=media">python-robotics.gif</a></td></tr><tr><td>Algorithms</td><td><a href="/robotics-handbook/programming-for-robotics/algorithms.md">Algorithms</a></td><td><a href="https://923066007-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJR2yBCOFnSaxfostbWYx%2Fuploads%2Fgit-blob-751a0c05bb7bbcde45e7fb0f3648679a0ab6a6c8%2Falgorithms-viz.gif?alt=media">algorithms-viz.gif</a></td></tr><tr><td>Optimization Libraries</td><td><a href="/robotics-handbook/programming-for-robotics/optimization-libraries.md">Optimization Libraries</a></td><td><a href="https://923066007-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJR2yBCOFnSaxfostbWYx%2Fuploads%2Fgit-blob-561847f6edb1db29e4557abfd0fd3e729e860cbe%2Fgtsam-uncertainties.png?alt=media">gtsam-uncertainties.png</a></td></tr><tr><td>Digital Twin</td><td><a href="/robotics-handbook/programming-for-robotics/digital-twin.md">Digital Twin</a></td><td><a href="https://923066007-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJR2yBCOFnSaxfostbWYx%2Fuploads%2F096RW8JaRf56BKzbTz52%2FUR3OnshapeDigitalTwin.gif?alt=media&amp;token=cde1e05c-1d93-41c6-a53e-5213cb1759ea">UR3OnshapeDigitalTwin.gif</a></td></tr></tbody></table>
