Linux environment C++ language programming textbook