inflearn logo

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

592 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

661

Learners

24

Reviews

4

Answers

4.8

Rating

2

Courses

Former autonomous driving C++ software architect
Robotics and autonomous driving development · C++ education · Practical applications of AI in the workplace

↗ HolyGround · Education · Career · Content

↗ Mastering AI Community

Career

  • Current HolyGround — Educational platform operations · C++ development · AI application training

  • Former StradVision — Visual SLAM Software Architect · Automated Parking Mapping & Localization

  • Former Robotis — Perception Part Tech Lead · Perception for outdoor delivery robots

  • Programmers Autonomous Driving Dev Course — C++ Instructor & Mentor

Areas of Expertise

  • Robotics · Autonomous Driving Software

  • C++ Development Environment · Build Systems · Project Structure

  • Applying AI to development, course creation, and business operations

Course

Inflearn

HolyGround

Practical Tools and Resources

More

Curriculum

All

28 lectures ∙ (3hr 33min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

19 reviews

4.8

19 reviews

  • 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.

      • jooo09228413님의 프로필 이미지
        jooo09228413

        Reviews 4

        ∙

        Average Rating 4.8

        5

        100% enrolled

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

        • fain9301님의 프로필 이미지
          fain9301

          Reviews 104

          ∙

          Average Rating 4.7

          5

          100% enrolled

          Thank you for the good lecture.

          • jjhgwx님의 프로필 이미지
            jjhgwx

            Reviews 1,223

            ∙

            Average Rating 4.9

            5

            11% enrolled

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

            Similar courses

            Explore other courses in the same field!

            Free