What does C++ have to do with lean?
The language itself may not do much for lean as we know it, however, learning a new language affords us the opportunity to become students once again.
When we share and teach lean principles, it’s easy to forget what it’s like to be on the receiving end of all that information. In other words, we often lose sight of what it means to be the student.
- We ask questions: Who, what, where, when, why, and how?
- We overcome resistance to change when we recognize and value our vested interests in the current state.
- We have a threshold for learning – small units at a time improve absorption and keeps us from getting overwhelmed.
- We imprint – we learn by doing to improve retention and enhance our learning experience.
- We understand and work on the premise that there’s always a better way and there’s more than one solution.
- We celebrate our successes.
Computers are a part of our everyday life both at work and at home. Learning another language provides the opportunity to create and develop software applications that enhance our experience and the experience of others in the future.
Computers have evolved over the years from desktops, laptops, and netbooks to tablets, mobile phones, and even watches! This rapidly changing ecosystem has enabled new technologies that require more evolved object-oriented languages like C++. A growing number of platforms and devices makes choosing a language to support them that much more difficult. Our decision to choose one language over another is dependent on the Operating System and / or hardware that will run our applications – Apple, Microsoft Windows, Unix, Linux, or Android.
There was a time when we used Basic, Fortran, Assembly (x86), and C to develop applications. As Microsoft’s Office suite became more popular, we even extended our expertise to include visual basic for applications (VBA). Assembly language is a low-level language that requires a thorough knowledge of both the hardware and the operating system for a given machine. A medium to high level language such as C/C++ allows us to concern ourselves with the functional aspects of the application rather than the details of the hardware itself.
C++ is fast, fully compiled, object-oriented, portable, and standardized (ANSI and ISO). Standardization assures a higher level of stability and support for a minimum set of language features across multiple platforms. While other object-oriented programming languages exist, like Java and C#, we selected C++ for now. Texts for Java and C# are also part of our language library for consideration on future projects.
Getting Started with C++
The first book you read on a given language will become the lens through which all others are viewed. In other words, your first book will establish or heavily influence your baseline thinking going forward.
Before selecting any book on programming, read the inside and outside covers as well as the introduction to determine if the book meets with your level of experience and requirements. You should also note that authors typically choose a development system that forms the basis for the lessons that follow.
Though a standard exists for the C++ language, use of the Integrated Development Environment (IDE) and compiler options depends on the product you choose.
- C++ All-In-One for Dummies (2nd Edition), 7 Books In 1, John Paul Mueller, Jeff Cogswell, published by Wiley Publishing, Inc.
- Teach Yourself C++ in One hour a Day (Seventh Edition – Covers C++11), Siddhartha Rao, Sams Publishing
Each book discusses the resources, including software, required to successfully set up C++ and the applicable Integrated Development Environment on your computer. Using a well designed Integrated Development Environment (IDE) simplifies the process of programming, compiling, and linking your programs.
We successfully installed CodeBlocks with the MinGW compiler as well as Microsoft’s Visual C++ Express. Use the internet to see what resources are available – you’ll be surprised at the amount of information that’s available and much of it is free. It’s worth your time to Google “C++” to see what’s out there.
Our goal is to review each book’s ability to teach us the C++ language. As we are learning the language, we cannot attest to the “correctness” or integrity of the content being taught in these books. We’ll share our experiences and thoughts as we dig deeper into the world of C++.
Your feedback matters
If you have any comments, questions, or topics you would like us to address, please feel free to leave your comment in the space below or email us at email@example.com or firstname.lastname@example.org. We look forward to hearing from you and thank you for visiting.
Until Next Time – STAY lean
[twitter-follow screen_name=’Versalytics’ show_count=’yes’]