readable_code:: C++ development environment setup A to Z that is complete if you follow along

Is there any other language that is as difficult to set up as C++ in terms of development environment? I set up the development environment by following the information that is floating around, but why is it so difficult and complicated to build even once? Through this lecture, learn how to set up the C++ development environment easily anytime, anywhere, regardless of OS or platform!

(4.8) 19 reviews

586 learners

Level Beginner

Course period Unlimited

Visual Studio Code
Visual Studio Code
GitHub
GitHub
Visual Studio Code
Visual Studio Code
GitHub
GitHub
Thumbnail

Reviews from Early Learners

4.8

5.0

foxrose

64% enrolled

Thank you for the great lecture.

5.0

choiseonmun

79% enrolled

I recommend this for beginners who want to start C++ with VSCode. It was great that they always explained the "Why" behind things. The disappointing aspects are: (1) For emphasis in slides, using a single color rather than multiple colors would have been easier on the eyes, (2) It doesn't show Windows setup (though this doesn't matter if you're familiar with WSL), and (3) It would have been more convenient if they had provided a repo link for class notes.

5.0

fain9301

100% enrolled

Thank you for the good lecture.

What you will gain after the course

  • Setting up a C++ development environment independent of OS

  • How to set up Version Control System (VSC, Github)

  • How to set coding fonts to improve C++ development efficiency

  • How to set up an Integrated Development Environment (IDE, Visual Studio Code) for C++ development

  • Automating development environment setup via scripts

readable_code

cpp: Setting up the core development environment - A to Z of setting up the C++ development environment that you can follow along with.

Learn how to set up the essential development environment required for C++ development!

  • I want to develop in C++, but... the environment settings are too complicated, right?

  • I searched the internet to see if there was any information gathered in one place, but it was different here and there...

  • In this course, I will teach you everything you need to know about C++ development, based on my extensive experience in the field!


Learn about these things

How to set up Git for source code version control

  • I tried using GitHub once and I was surprised at how many things there were to set up...

  • Set Github-related permissions all at once through the CLI!

How to set up an IDE (VSCode) for effective C++ development

  • Was it difficult to integrate C++ with IDE and Intellisense?

  • We'll show you how to set it up simply without any complicated settings!

  • Additional feature recommendations to improve development efficiency are included.

Screenshot 2023-11-24 at 5.34.56PM

How to set up a C++ development environment for various operating systems

  • I tried to develop in C++, but it was different on Windows and different on Ubuntu...

  • We'll show you how to set up a development environment that works regardless of OS!

Automate all of this with a single Enter!

  • Was it difficult to set up the development environment every time you formatted?

  • There is no need for humans to set up the development environment.

  • Let's automate it with one press of Enter!


Screenshot 2023-11-24 at 5.45.20PM

What can you get?

  • How to set up a C++ development environment regardless of OS (MacOS/Ubuntu)

  • How to set up a Version Control System (VSC, Github)

  • How to set coding fonts to improve development efficiency

  • How to set up an Integrated Development Environment (IDE, Visual Studio Code) for C++ development

  • Automating development environment setup through scripts

Keywords

  • Development Environment

  • Compiler

  • Build System

  • Version Control System

  • IDE

  • Coding Font

  • Automation Script

Things to note before taking the course

Practice environment

  • Operating System and Version (OS): macOS, Ubuntu

  • Tools used: Clang, CMake, Github, Visual Studio Code (VSCode)

  • PC specifications: Any PC capable of building C++

readable_code

Why readable_code?

I still remember the feeling of self-doubt I felt when I first entered my graduate school lab and looked at the source code. "Ah... why can't I understand it no matter how much I look at it?" At the time, I thought it was my own shortcomings. More than ten years have passed since then. Now, I realize: the problem wasn't me, it was the code.

Many developers write code, cryptic, and cry out, "I have to get back to it!" But those codes soon come back to haunt them like a shackle. Code written without adherence to conventions for quick implementation and overused comments create confusion when reading, and carelessly created interfaces eventually make it difficult to discern what data is being exchanged. Code written this way, over time, produces incorrect results, becoming unreadable to anyone. Even the author of the code , after a week without looking at it, finds himself having to open the codebook called "Debugging" and decipher the code .

We call source code a language . Language exists to communicate with something. Many people mistakenly think that something is a computer. This misconception is why so many codes, called "codes," are created. (Isn't it interesting that code actually means "code?") However, as I mentioned earlier, code isn't something computers read, it's something we read. Therefore, writing source code is akin to writing. It's similar to writing technical documentation. We need to write code concisely and clearly, so that people can understand it. Code written this way is easy for anyone to read and understand. Unfortunately, in the field I've worked in, people often say they don't have time to consider and implement such trivial details. However, what I've learned is that it's not about "not being able to do something because we don't have time," but rather "not being able to do it because we can't."

Code that's easy for people to read ( readable_code ) is also easy for computers to read in most cases. This is because it doesn't implement unnecessary variables, functions, transformations, and processes. It also dramatically improves collaboration and code maintenance performance. For example, at my company, I abandoned the existing framework and designed and implemented a new one. This shortened code integration work that would have taken two weeks with the existing framework to just three days . Furthermore, module implementation, which would have taken three months with the existing framework, became possible in less than a month . The problem with human-readable code is that it's not something you can implement; if you can, there's no reason not to. It's an incredible thing that can dramatically improve development efficiency.

A mature development culture, collaboration, and readable code are often considered nice-to-haves, or rather, not essential. However, I've witnessed the power of readable code and experienced its practical application. While I can apply this knowledge locally to my company and team, I don't want to be satisfied with that. I want to increase Korea's software productivity. I want engineers to develop in a better environment. I want a good development culture to take root within Korean companies. From now on, I will share with you my experiences, successes and failures, and all the know-how I've learned along the way . These are invaluable and will serve as a solid foundation for your future path. Would you like to join us? (y/n) … -y

Differences between readable_code and readable_code

  • An instructor with software architect experience teaches based on software that has been verified to work in the field.

  • Covers content applicable to actual work/development

  • It conveys know-how and concepts acquired through actual development experience, not theoretical content that can be learned by reading books.

  • We implemented a structure that can be understood by listening to just one lecture by eliminating dependencies between each lecture as much as possible.

How to read lecture titles

  • Describing lecture titles using the snake_case technique used when describing variables and namespaces in C++

  • Divide the hierarchy of lectures in a way similar to using namespaces in C++.

  • readable_code:: language_name :: xx::yy::zz::Course_Name - Subtitle

    • language_name : Describe the programming language in which the lecture is being held (ex. cpp, c, python, etc.)

    • xx, yy, zz : Represents the detailed hierarchy of each lecture, the properties of the lecture (e.g. design, verification, etc.)

    • Corresponding_Course_Name: The name of the lowest level describes the original name of the lecture.

    • Subtitle : Additional explanation of the lecture

Recommended for
these people

Who is this course right for?

  • For those who don't know what a development environment is

  • For those who are new to C++ development

  • For those who find it too difficult to set up the development environment again every time they format their PC

  • For those who want to manage their development environment more efficiently

  • For those who want to set up a consistent development environment across multiple platforms.

  • Anyone who wants to optimize their C++ development process

Hello
This is captaindev

Career Verified

654

Learners

24

Reviews

4

Answers

4.8

Rating

2

Courses

Development Lead Eunseong Yang

Robotics Software Architect

I spent 9 years building robotics software. At ROBOTIS and STRADVISION, I designed and implemented the necessary systems and frameworks from scratch.

Currently, I run HolyGround, an educational platform I built, on my own. I teach AI workflow operating systems used in actual practice and robotics C++ development systems.

Experience and Self-Built Systems

2023.06 ~

HolyGround - CEO

I created and operate the educational platform HolyGround. As a solopreneur, I personally handle everything from educational planning and production to development, marketing, company operations, and website creation. I use AI throughout this entire process.

2021.12 ~ 2023.05

STRADVISION - Visual SLAM Software Architect

I designed a Visual SLAM system for automated parking from scratch. I applied clean code principles and adhered to industry-standard software specifications.

  • Feature development period: 2 months → 2 weeks

  • Passed customer certification

2019.01 ~ 2021.12

ROBOTIS - Perception Part Tech Lead

I led the development of perception software for delivery robots. Since ROS didn't provide the necessary performance, I built the entire core framework from scratch based on multi-threading. I also optimized CUDA parallel processing on NVIDIA Jetson.

Why I built an AI workflow operating system

Running HolyGround alone, I had no choice but to work with AI. At first, it seemed to be doing quite well. However, as I kept assigning more tasks, the results started to get strange. Even so, I couldn't handle everything by myself without AI.

The problem wasn't just a single prompt. The AI needed to be able to read my information, standards, working methods, and data.

I organized the scattered information. I built a workflow structure so that the AI could read that content and work according to the same standards whenever needed. I continuously refined it while applying it directly to development, marketing, business operations, and site creation. What I created through that process is the current AI work operating system.

My experience of integrating and operating multiple tasks into a single system in the field of robotics has carried over to this as well. The content I teach about AI stems from this trial-and-error and operational experience.

The training I'm creating now

Mastering AI

How to make AI work by reading my information and standards

Gather your personal information, principles, tone of voice, workflows, and data in one place. Then, create a personal work operating system where the AI works by reading that content. If you are new to AI, you can start from installation and basic usage. If you are already a daily user, you can build a structure that keeps your standards consistent even as tasks grow longer.

Explore Mastering AI

Readable Programming

Robotics C++ Development with AI

We connect coding standards, project structure, build configurations, quality gates, and testing structures into a single robotics C++ development system. This course is for robotics and autonomous driving developers who can read and write C++ and are currently working with a codebase. It is not an introductory course for learning C++ syntax for the first time.

Explore Readable Programming

Where I have taught

  • C++ development environment, build systems, and code quality mentoring for Programmers Autonomous Driving DevCourse cohorts 1, 2, 3, 5, and 6.

  • SSAFY Portfolio Special Lecture

  • Seoul ICT Innovation Specialized High School Python Education

What you will take away from this lecture

I open up and show you the systems I actually use. We don't just stop at following along to create a result. I explain why such a structure was necessary and what you need to change when applying it to your own work. What should remain after finishing the lecture isn't just a system you observed. It must be a system that fits your own work.

More

Curriculum

All

28 lectures ∙ (3hr 33min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

19 reviews

4.8

19 reviews

  • fain9301님의 프로필 이미지
    fain9301

    Reviews 102

    Average Rating 4.7

    5

    100% enrolled

    Thank you for the good lecture.

    • haedallog님의 프로필 이미지
      haedallog

      Reviews 16

      Average Rating 4.9

      5

      79% enrolled

      I recommend this for beginners who want to start C++ with VSCode. It was great that they always explained the "Why" behind things. The disappointing aspects are: (1) For emphasis in slides, using a single color rather than multiple colors would have been easier on the eyes, (2) It doesn't show Windows setup (though this doesn't matter if you're familiar with WSL), and (3) It would have been more convenient if they had provided a repo link for class notes.

      • foxrose71857님의 프로필 이미지
        foxrose71857

        Reviews 14

        Average Rating 4.6

        Edited

        5

        64% enrolled

        Thank you for the great lecture.

        • jjhgwx님의 프로필 이미지
          jjhgwx

          Reviews 1,049

          Average Rating 4.9

          5

          11% enrolled

          When I need C++, I'll listen attentively! Thank you!

          • jooo09228413님의 프로필 이미지
            jooo09228413

            Reviews 4

            Average Rating 4.8

            5

            100% enrolled

            Thank you, the automation script will be a huge help in my practice!

            Similar courses

            Explore other courses in the same field!

            Free