PlanetSquires Forums

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: My C++ Journey  (Read 112 times)

Paul Squires

  • Administrator
  • Guru Member
  • *****
  • Posts: 9287
  • Windows 10
    • PlanetSquires Software
My C++ Journey
« on: June 03, 2020, 03:17:52 PM »

Having programmed in BASIC style languages virtually my entire programming life, I recently decided that I would take on the challenge of learning C++.

This sub forum is kind of my self documenting journey as I learn C++.

I still program in FreeBasic and will certainly continue to develop my FB programs, but I also think that it is important for me to finally learn C++ after years of being tempted by it.

If anyone else would like to come along for the journey then by all means you're welcome.

Thirty years is a long time to be programming. Love every minute of it. It is not a job for me but rather a hobby that I use to help me in my job. But itís more than that Ė itís a hobby that enhances my mind and problem solving skills. Itís a learning experience that challenges me to want to learn more. To make things. To make things better, faster, and create something from nothing. Itís a passion that is akin to the times in my life when I learned guitar and woodworking.

Back in the day there were no YouTube videos to help explain programming or language specific concepts. There were online BBSís and CompuServe, but I was probably too young at the time to really appreciate those resources. Likewise, today we have online training courses and a wealth of printed material available. Itís a great age for learning.

It was dBase III Plus that got me hooked on programming. That was part of my first work term assignment in business school. It was during that time that I wanted to learn more about what languages were available. I looked at Quick C and QuickBasic. C seemed so foreign to me at the time especially given my level of skills that I gravitated to the BASIC style languages more easily. QuickBasic morphed to Visual Basic when Windows programming became dominate over DOS. I quickly became a pretty goo VB programmer but that language certainly shielded you for the most part from the guts of the operating system. Moved to PowerBasic after that and learned so much more about lower level concepts such as pointers and dynamic memory allocation and management. It was at that time that I learned the Windows API Ė a skill that has proved invaluable for me. In hindsight, that was a great investment of time in order to learn those skills. When PowerBasic died, I moved on to FreeBasic and learned more about classes and other OOP concepts. FB also taught me more about the backend toolchains (GCC in this case).

Throughout my programming life, I have dabbled in other languages obviously. I have gained a base understanding of C syntax in order to help port C code to my BASIC language of choice at the time. I also learned Javascript and several other web technologies in order to build a fully functional web store from scratch for an online business that a friend started. That experience also helped me with Linux and backend server technologies.

Why C++?

Well, it provides total control over building programs and generates extremely efficient code. The syntax can be confusing at times but I am not adverse to a little verbose syntax. The language has an incredibly powerful Standard Library and as many 3rd party tools that I can imagine. The language is also fully Unicode enabled and has an extremely robust String and WString class.

I will also finally get away from the torture of wishing that I had access to some code or library without having to first translate it to a BASIC language. That, in itself, will be quite liberating. Also, C++ will be a huge skill to have for my own personal development. If I donít take the leap to learn it now then maybe I never will. Will it eventually become my main programming language of choice? Too early to know that. Maybe this whole learning will crash and explode Ė only time will reveal the truth.

During my transition period when moving from PowerBasic, I had to make decision about what programming language to invest my time in. It was then that I seriously felt that C++ would be that language. It was the GUI part that stagnated that transition. I still needed to make GUIís and the WinAPI was so natural for me that moving to something else was a big jump. Sure, I guess I could still do WinAPI in C++ but at the time I felt that I may as well learn cross platform. I tried with CodeBlocks and wxWidgets and quickly got discouraged. It was not easy or intuitive. I then moved over to Microsoftís .Net framework with C#. That was another exercise in frustration. You see, one of my sticky points is that I need my development environment to be portable. It needs to run off a portable hard drive. Obviously, Visual Studio does not fit that requirement. FreeBasic did run easily from a portable drive so I gravitated to that language and have been actively programming in FB for the past five years.

1. C++ Programming Resources

2. Editor - IDE (Visual Studio Code)

3. Toolchain and Make System

4. Visual Studio Code Setup

5. CMake Compiling and Debugging

6. Language Differences between C++ and BASICís
« Last Edit: June 03, 2020, 10:51:57 PM by Paul Squires »
Paul Squires
PlanetSquires Software
WinFBE Editor and Visual Designer