
Introduction
Today, I will share several open source projects in the fields of C and C++ that I have collected, which are suitable for beginners. These projects cover basic language knowledge, data structures and algorithm problems, design patterns implementations, and even efficiency tools and practices. I hope they will be helpful.
Later, I will share a wave of open source projects in the Java domain.
”
Project One
Project Name: C
Project Overview: Yes, you read that right, the name of this project is just the single letter C. C is a treasure project and can be considered a powerful tool for learning data structures and practicing algorithm problems, as it contains almost all basic algorithms, data structures, and C implementations of LeetCode algorithm problems. Specifically, it includes:
- Client/server problems
- Statistical method problems
- Base conversion problems
- Various data structures: arrays, linked lists, dictionaries, binary trees, heaps, stacks, queues, hashes, graphs, etc.
- Search/find problems
- Sorting problems
- LeetCode exercises
- Other miscellaneous problems
Note that the image below only captures a portion of the specific implementations of data structures and algorithm problems:

Our Benefit: It can help us better learn data structures and practice algorithm problems.
Project Source Code Address: https://github.com/TheAlgorithms/C
Project Two
Project Name: libhv
Project Overview: libhv
is similar to libevent
, libev
, and libuv
. It is a cross-platform asynchronous event-driven library with non-blocking I/O and timers, but libhv
provides a simpler and more user-friendly API and supports a richer set of network protocols. It can quickly drive HTTP servers and clients, thus providing high-performance http
services.
Main Technical Points or Features: Cross-platform, event loop, non-blocking I/O, supports IPv6, uses OpenSSL, supports various network protocols.
Our Benefit: It can help us understand and practice operating system related knowledge.
Project Source Code Address: https://github.com/ithewei/libhv
Project Three
Project Name: CPlusPlusThings
Project Overview: CPlusPlusThings is a repository suitable for beginners, covering a wealth of basic and advanced tutorials, source code analysis, tool recommendations, practical exercises, etc., addressing the learning issues from entry-level to advanced C++.

Our Benefit: It can help us systematically learn C++ related knowledge.
Project Source Code Address: https://github.com/Light-City/CPlusPlusThings
Project Four
Project Name: design-patterns-cpp
Project Overview: As the project name suggests, this is a C++ implementation of design patterns, containing implementations of common design patterns in C++.

Our Benefit: It helps us understand and practice design patterns related knowledge.
Project Source Code Address: https://github.com/JakubVojvoda/design-patterns-cpp
Project Five
Project Name: tmux
Project Overview: tmux is an open-source, free terminal multiplexer. Its command-line interface is very cool and easy to use, supporting flexible window splitting, and can be freely moved and adjusted, making it powerful and flexible. One very strong use case is when connecting to a server remotely; you only need to start tmux
, and you can conveniently perform subsequent operations without opening multiple SSH console windows.

Our Benefit: It is an efficient tool, and studying its source code can also help us learn and understand practical programming in the Linux environment.
Project Source Code Address: https://github.com/tmux/tmux
Project Six
Project Name: netdata
Project Overview: netdata is an open-source, free, and cool real-time performance and health monitoring tool for Linux systems. netdata provides flexible and easy-to-use system monitoring through an interactive dashboard. In addition to supporting installation on common system platforms, it can also be easily installed in Docker containers and clusters to provide monitoring services.

Our Benefit: It is an efficient tool, and studying its source code can also help us learn and understand practical programming in the Linux environment.
Project Source Code Address: https://github.com/netdata/netdata
Conclusion
That’s all for now. I also want to thank the excellent open source authors for their efforts. I will continue to recommend outstanding open source projects in the future!
Make progress every day, Peace!April 18, 2020 Evening
Give a [like], it is the greatest support for the programmer sheep.