Hello World.

Don’t forget where you came from. You could ruin the chance of remembering where you are trying to go.

It’s important to remember where we came from as programmers. With all that changes from day to day, it can be easy to get caught up with trying to keep up. Being overwhelmed with information without having the time to properly work with and understand it can be counter-productive.


I talked through how the recent open source release of Swift by Apple is super beneficial for programmers and developers. It also triggered a few thoughts for me.

Those initial languages that really allowed us to get down and dirty with programming showing us what we were capable of if only we understood must be our default. For this reason I wanted to go back and revisit some of the original principles that were vital in my journey. My friend C++ with its Object-Oriented Programming (OOP) approach and central practice of software reuse comes to mind. If you are serious about programming, you understand object oriented essentials are ultimately a requirement. Especially in our current digital environment.

Some foundational details that are still relevant for me today:

  • OOP and software reuse — huh?
  • Accomplishing software reuse
  • Tips, tricks, and examples, in regards to software reuse

An object-oriented programming approach allows programmers to decide how the program will be separated into objects rather than functions. Program design is made easier with an object-oriented approach which is the result of the commonalities between objects in a program and objects in a real world environment. OOP, at its core, allows for program organization. The fundamental idea behind OOP languages is to combine both data and the functions that operate on the data into a single object.

An important benefit of OOP is the ability to easily reuse and modify software with minimal efforts.

Software reuse or reusability is accomplished by writing, creating, and debugging a class which is then distributed to other programmers to use in their programs. OOP allows a programmer to add additional features and capabilities to an existing class, without modifying it.

A written or purchased class that creates a menu system for GUIs could be created. Maybe no changes are needed to the class but the programmer decides to make some menu entries flash on and off. This would be completed by creating a new class that inherits all the capabilities of the existing one but adds the flashing menu entries. As programmers we could also use a class developed by another person or entity and derive other suitable classes from it without any modification. The ease of distributing class libraries is an important result of reusability.

As much as I advocate and participate in staying current with new trends surrounding emerging technologies and languages, I would equally suggest taking a trip down memory lane every now and then. The software manufacturers have to possess this understanding to build the tools we use. It will never be a bad thing to be multi-lingual in my opinion.

Originally posted on jamesdtoney.com.

About the author

James Toney is a full stack developer, digital strategist, technologist and overall web junkie. His aim is to encourage and help people to make a bigger and better digital impact. Connect with him on Google+ or Twitter.