# HANA C++ Development Environment and Processes

DevFeed: [HANA C++ Development Environment and Processes](<https://devfeed.tech/articles/hana-c-development-environment-and-processes-30818.md>)

Original publisher: [Read original article](<https://hookrace.net/blog/hana-cpp-development/>)

Published: 2017-12-07T23:00:00Z

Content type: article

Language: en

Sources: [Dennis Felsing](<https://devfeed.tech/sources/dennis-felsing.md>)

Topics: [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [Development](<https://devfeed.tech/topics/development.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Database](<https://devfeed.tech/topics/database.md>), [Python](<https://devfeed.tech/topics/python.md>), [Git](<https://devfeed.tech/topics/git.md>), [cpu](<https://devfeed.tech/topics/cpu.md>), [datacenter](<https://devfeed.tech/topics/datacenter.md>)

Tags: [build](<https://devfeed.tech/tags/build.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [cpu](<https://devfeed.tech/tags/cpu.md>), [data-center](<https://devfeed.tech/tags/data-center.md>), [database](<https://devfeed.tech/tags/database.md>), [development](<https://devfeed.tech/tags/development.md>), [git](<https://devfeed.tech/tags/git.md>), [linux](<https://devfeed.tech/tags/linux.md>), [python](<https://devfeed.tech/tags/python.md>)

## AI overview

A C++ developer describes the HANA Core Platform development environment and release process at SAP. The article covers HANA's C++ codebase, Python tests, Linux-based development, powerful workstations, remote data-center access, and compile-cluster improvements that reduce build time.

## Source excerpt

I started working as a C++ developer in the HANA Core Platform team at SAP in Walldorf, Germany more than a year ago. In this time I have gotten some insights into the development environment and processes. I will use this post to illustrate them by the example of adding a small new feature and explaining the steps on the way of getting it released. Some of this will be specific to HANA, some to my team inside HANA, some to my own system. Compilation HANA is the in-house database powering many of SAP's products. It is written in C++ with Python tests, and the entire code base lives inside of a single git repository. Hundreds of developers from all around the world are developing on about 10 million lines of C++ code and 15 million lines of Python tests. Since HANA is deployed on Linux exclusively, many developers are using Linux on their workstations as well. So far Windows is still supported as a development environment, but this will change in 2019, leaving Linux as the only choice. During day-to-day work you still get to interact with Windows a bit (more than I would prefer), since the Laptop has Windows with the traditional Microsoft Office products on it. But since the actual development happens on Linux, I am happy enough, being able to use the xmonad window manager and software environment I have gotten used to over the last decade. HANA is deployed on some rather impressive machines, so in order to test the code adequately the developer workstations are quite beefy as well. I am typing this text from a 20 core / 40 thread Xeon E5-2660 v3 CPU with 128 GB of RAM. Still compiling HANA is no quick feat. Expect something around 2 hours to build it from scratch on your local machine (illustrated below), and be prepared for some heat output, which is especially noticeable in summer. About half of the colleagues have chosen to move their workstations to the data center and access it remotely instead of working on it locally. Since they are still in one of our SAP bu