1. A programmer who only knows C++ and Python is useless.
  2. No programmers who know C++ and Python only know C++ and Python.

If you know how to write software using C++ and Python, then you inevitably have needed to interact with various operating system library functions, database access functions or APIs, calls to foreign code or programs, modification of files used by other software, or many other things of that nature. You will inevitably need to understand how to interact with non-specification entities during your journey to master even a single programming language. If you have mastered the language without learning these critical skills, then you have only mastered the formal specification of the language, not its practical use. I would hardly call that fluency in a programming language.

It would be like someone who has memorized all the formal rules of English grammar but knows zero common idioms or phrases in everyday English, and is thus unable to communicate with anyone who isn’t an English professor.

Now, I think the spirit of the question was more along the lines of asking how useful a programmer who doesn’t know languages aside from C++ and Python is in the market, and to that I have yet another paradox for you:

No useful programmers know their programming languages.

The crux of this paradox is that programmers who are useful are programmers who bring more than just programming language knowledge to the table. It would take an infinite amount of time to fully master any programming language. There are too many possible ways to make use of a programming language and too little time in a day for you to understand every aspect of any given programming language. What this means for you is that in order to be useful, you need to know things aside from the grammar of your chosen programming languages. Because of this ignorance, you also need another skill: The ability to learn about your language as the need arises. This means that you need to be able to search online sites or forums at the very least, and likely you will need to become skilled at searching technical specifications for useful information at some point as well, going directly to the source. You will also need to be able to experiment and learn on your own, especially because many problems for useful programmers are truly unique and you will need to blaze your own trail.

Perhaps you were after yet a third interpretation of your question: How useful are you to the market as a programmer if you haven’t learned to use any languages aside from C++ and Python?

To this I would say that you really don’t want to know the answer. If you don’t know about website development, SQL, the details of some operating system, or commonly used library for graphics, or CAD software, or some other software tools that are commonly used by various industries, then I’m afraid you need to learn something along those lines at some point. If you start at an entry level position then you will likely be able to learn those skills while on the job. If you have time to prepare before hand, then I highly recommend mastering various tools used in the field you are looking to work in. E.g., if you plan to work on website development, then you need to learn about HTML, SQL, CSS, and likely various scripting languages. If you plan to work on software for regulating massive HVAC systems then you’ll need to learn all kinds of other tools as another example.

As a conclusion: I would recommend that you do your best to get out of a mindset of “knowing” programming languages, and get into a mindset of using languages. They are tools; they can be elegant and enjoyable tools to use, but if you mistakenly think of programming as learning a programming language rather than controlling a computer, then you may well miss the whole point of computing.

Leave a Reply

Your email address will not be published. Required fields are marked *