We may earn an affiliate commission when you visit our partners.
Course image
Kate Gregory
C++ has been a popular programming language for decades, which means there’s some really old code out there. Some of it is very hard to read and maintain. Capabilities have been added to the language and standard library that could simplify this code, and possibly make it faster or eliminate nagging intermittent bugs. In this course, Beautiful C++: Updating Legacy Code, you’ll learn how to approach a large and unfamiliar codebase and make changes to modernize code. First, you'll learn some strategies for deciding exactly what to change. Then, you'll be introduced to language features and library capabilities that may not have...
Read more
C++ has been a popular programming language for decades, which means there’s some really old code out there. Some of it is very hard to read and maintain. Capabilities have been added to the language and standard library that could simplify this code, and possibly make it faster or eliminate nagging intermittent bugs. In this course, Beautiful C++: Updating Legacy Code, you’ll learn how to approach a large and unfamiliar codebase and make changes to modernize code. First, you'll learn some strategies for deciding exactly what to change. Then, you'll be introduced to language features and library capabilities that may not have existed when your code was first written, and can make it better now. Finally, you'll discover how to evaluate your progress and spread your gains through the rest of the code. By the end of this course, you'll be prepared for your code to last another generation or two and take full advantage of what modern C++ has to offer.
Enroll now

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Teaches learners how to evaluate and update older code, leading to easier maintenance and more efficient code
Enhances learners' skills in C++, expanding their proficiency and marketability
Suitable for experienced C++ developers seeking to update their skills and knowledge
May require prior experience with C++ and its libraries

Save this course

Save Beautiful C++: Updating Legacy Code to your list so you can find it easily later:
Save

Activities

Coming soon We're preparing activities for Beautiful C++: Updating Legacy Code. These are activities you can do either before, during, or after a course.

Career center

Learners who complete Beautiful C++: Updating Legacy Code will develop knowledge and skills that may be useful to these careers:
Software Engineer
Software Engineers apply the principles of computer science to build software systems. This course can help you on your journey to becoming a Software Engineer by introducing language features and library capabilities that can simplify and enhance your code. The course also teaches you strategies for evaluating the progress of your changes to your codebase, which can be especially important in large projects.
Computer Programmer
Computer Programmers write and maintain the code that powers software systems. This course can teach you language features and library capabilities that can simplify and enhance your code, making you a more effective Computer Programmer. The course also teaches strategies for evaluating the progress of your changes to your codebase, which can be especially helpful in managing large projects.
Game Developer
Game Developers create video games. This course can help a Game Developer by introducing language features and library capabilities that can simplify and enhance game code. The course also teaches you strategies for evaluating the progress of your changes to your codebase, which can be especially important in game development, where it is often necessary to make changes to the game's code in order to fix bugs or add new features.
Web Developer
Web Developers use programming to create websites and web applications. The improvements in the language and library capabilities that this course teaches can help you write cleaner and more efficient code. The course can also teach you strategies for making changes to your codebase that you can apply to your own website or web application projects.
Data Scientist
Data Scientists use programming to analyze data. By introducing language features and library capabilities that can help you write cleaner and more efficient code, this course can be a valuable tool for Data Scientists. The course can also teach you strategies for evaluating the progress of your changes to your codebase, which can be especially helpful in data science, where it is often necessary to make changes to the code in order to improve the accuracy of the analysis.
DevOps Engineer
DevOps Engineers work on both developing and maintaining software systems. This course can teach you language features and library capabilities that can help you write code, simplify and enhance the performance of your programs, and maintain software systems. The course can also teach you strategies for evaluating the progress of your changes to the system, which can be helpful for continuous integration and deployment (CI/CD) and other DevOps processes.
Software Architect
Software Architects design software systems. This course can teach you language features and library capabilities that can simplify and enhance your designs. The course can also teach you strategies for evaluating the progress of your changes to your codebase, which can be especially important in software architecture, where it is often necessary to make changes to the design of the system in order to fix bugs or add new features.
Mobile Developer
Mobile Developers create apps for mobile devices. This course can teach you language features and library capabilities that can simplify and enhance your apps. The course can also teach you strategies for evaluating the progress of your changes to your codebase, which can be especially important in mobile development, where it is often necessary to make changes to the app's code in order to fix bugs or add new features.
Technical Writer
Technical Writers create documentation for software systems. This course can teach you language features and library capabilities that can simplify and enhance documentation. The course can also teach you strategies for evaluating the progress of your changes to your codebase, which can be helpful for creating and maintaining accurate and up-to-date documentation.
Systems Analyst
Systems Analysts study the needs of an organization and design solutions to meet those needs. This course can help you become a Systems Analyst by teaching you language features and library capabilities that can simplify and enhance your analysis. The course can also teach you strategies for evaluating the progress of your changes to your codebase, which can be especially helpful in systems analysis, where it is often necessary to make changes to the code in order to improve the efficiency of the system.
Database Administrator
Database Administrators manage databases. This course can teach you language features and library capabilities that can simplify and enhance your ability to manage databases. The course can also teach you strategies for evaluating the progress of your changes to your codebase, which can be helpful for maintaining the integrity of your databases.
Computer Support Specialist
Computer Support Specialists provide technical support to users of computers and other electronic devices. This course can teach you language features and library capabilities that can simplify and enhance the support that you provide. The course can also teach you strategies for evaluating the progress of your changes to your codebase, which can be helpful for troubleshooting and resolving computer problems.
Information Security Analyst
Information Security Analysts protect data and information systems from unauthorized access or use. This course can teach you language features and library capabilities that can simplify and enhance the security of your systems. The course can also teach you strategies for evaluating the progress of your changes to your codebase, which can be helpful for identifying and fixing security vulnerabilities.
Network Administrator
Network Administrators manage computer networks. This course can teach you language features and library capabilities that can simplify and enhance your networks. The course can also teach you strategies for evaluating the progress of your changes to your codebase, which can be helpful for maintaining the reliability and performance of your networks.
Quality Assurance Analyst
Quality Assurance Analysts test software to ensure that it meets quality standards. This course can teach you language features and library capabilities that can simplify and enhance your testing. The course can also teach you strategies for evaluating the progress of your changes to your codebase, which can be helpful for identifying and fixing bugs.

Reading list

We've selected nine books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Beautiful C++: Updating Legacy Code.
Is the definitive reference on the C++ programming language. It provides a comprehensive overview of the language, including its syntax, semantics, and standard library.
Is the definitive reference on the C++ programming language. It provides a comprehensive overview of the language, including its syntax, semantics, and standard library.
This classic book provides guidance on how to write clean, efficient, and maintainable C++ code. It covers topics such as resource management, object-oriented design, and error handling.
Provides a comprehensive guide to design patterns and best practices in C++. It covers topics such as object-oriented design, design patterns, and refactoring.
Provides practical solutions to a range of modern C++ programming problems. It covers topics such as code organization, memory management, concurrency, and testing.
Provides a comprehensive guide to C++ templates. It covers topics such as template syntax, template metaprogramming, and the Standard Template Library.
Provides a comprehensive guide to C++ templates. It covers topics such as template syntax, template metaprogramming, and the Standard Template Library.
Is helpful as a general modern reference for C++ programming. The text uses an object-oriented approach that helps readers understand how to design and implement programs to solve real-world problems.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser