Insights From A Different Corner

Bjarne Stroustrup’s Fallacious Argument — Is C++ Programming Language Too Difficult Or The Waters Too Muddy?

By: Published On:

I have been desirous of exploring this topic since 2017; however, as I have mentioned previously, whenever, I try to start work on certain topics that do not suit the rhetoric being promulgated by the American and Western communities at large, some external force completely eliminates my desire, vocabular set, and complete knowledge on that subject matter. As I have been desirous of writing on this topic for over 8 years and getting stalled, hence, I have decided to post a letter that I had sent to Bartlomiej Filipek over 2 years ago when I was following his website CPP Stories regularly.

This letter does not represent my complete views on the matter and was written hastily upon reading a post in which Bartek had used the sort of statements that I find quite infuriating as a computer science professional. I have much more to add to this debate as I have read multiple statements written by Bjarne Stroustrup which I find utterly untenable or indefinsible. However, as some outside party plunges my cerebrum into darkness whenever I try to explore the matter comprehensively, hence, for the time being, I am just publishing the contents of the letter that I sent to Bartlomiej Filipek. The content that follows this paragraphs contains the letter in its entirety. These hastily composed thoughts on the matter lack any real corroboration and dataset analysis; rest assured, it is still missing significant amounts of critical details to thoroughly corroborate my point. Nevertheless, it still provides a good start. 



Hello Bartek,

Thanks for the response.

Although I am assuming that you mentioned the approximate number of 100,000 lines for a complete text on C++ in jest, however, I have been following the C++ community, albeit not so closely, for over a decade now, and I have come to the conclusion that C++ community has been grossly overhyping the difficulty posed by the C++ language.

Although I was forced to join a computer science degree awarding institution here in Pakistan by my father, nevertheless, I attended one of Pakistan’s finest computer science degree awarding institutions. Initially, I had absolutely no interest in computer science, however, with the help of an excellent teacher, I managed to learn an acceptable amount of C++ in just 2 and a half months. By the end of those 2 and a half months, I had actually managed to develop a complete game in C++, as well. Since then, I have gone on to develop a Pascal to C++ translator in C++, too; admittedly, though, it only dealt with a subset of Pascal language. Since then, I have successfully managed to partially retool an 18,000+ lines long codebase of a compiler written for front-end developers to generate HTML markup using CSS selectors. Considering that you do work with websites, I can only hope that you have heard of Emmet for generating HTML currently maintained by Sergey Chikuyonok. Therefore, despite never having worked on a truly large scale system, I still believe that I do know a few things. The knowledge of these so-called “little nuggets” that allowed me to develop a functioning translator with code formatting support allows me to say that C++ certainly isn’t a hard language to learn. By any stretch of imagination, you wouldn’t need 100,000 pages to describe all of the C++.

Bjarne Stroustrup’s introductory work Programming: Principles and Practice Using C++ covers the basics very well in around 1350 pages. If I were given the chance to edit that book, I would certainly remove 300+ pages as completely extraneous, so you are left with around 1050 pages. Considering that the aforementioned text doesn’t talk about concurrency, so add another 600 pages written by Anthony Williams on Concurrency in C++, and you would have a complete introductory text on C++. Add another 5000 pages or so covering texts written by people like Herb Sutter in Exceptional C++ Programming, some of Herb Sutter’s articles on Guru of The Week website, Embracing Modern C++ Safely by John Lakos, and Nicolai Josuttis’ books on C++ 17, C++ 20, and advanced template programming in C++ and you would have covered even the most advanced techniques in C++ in less than 7000 pages. Saying that anybody would need 100,000 pages to cover the C++ pragramming language can only be termed an outrageous exaggeration of the reality, which is that C++ is, by its very nature, just a fractionally more demanding language than, let’s say, Java or C#.

Considering that I have given you concrete examples of why I believe you shouldn’t indulge in such narrative that presents C++ as a very complicated language, I can only hope that you would give it due consideration. If people can learn this language well within only 3 months under the tutelage of an experienced, dedicated, and enthusiastic individual, then I find it absolutely incomprehensible how the C++ community has built this narrative that C++ is an extremely complicated language. STL itself is nothing more than an optimized version of data structure assignments that people here in Pakistan are asked to do during there computer science degree programs.

If you have any doubts about the quality of graduates produced by the institution that I attended, then please visit the profiles, which I am including below, of some of the graduates of the institution that I went to.

  1. Imran Majid
  2. Kashif Dastgir
  3. Asif Siddiqui
  4. Rehan Ahmed

I can only hope that I have provided you with good enough reasons to re-evaluate your opinions on the level of complexity involved in C++ programming and hyper inflated narrative that surrounds C++ langauge.

Sincerely,

Irfan. Lahore, Pakistan.



As I have mentioned in the introductory paragraph or two that I wrote this letter rather hastily, hence, I forgot to add the names of other FAST—NUCES graduates who have been able to find jobs at Microsoft. Now I am including a few other individuals’ names, as well.

  1. Wakkas Rafiq
  2. Abid Masood
  3. Atif Gul

If circumstances ever become permissive or conducive, then I will tackle this subject at length or as comprehensively as it should be to put this debate to end. Programming languages are not difficult to master if your IQ is even just above average to hardly good enough; I am not talking about even very high IQ people, just people with good enough IQ. The sort of people giving credence to this wholly untenable discourse either belong to the group of people who struggled all their lives in academics and barely found a place at an institution like FAST or LUMS, and then failed to perform well even there in a course with such limited demands. I have had the opportunity of conversing, which I would not deem an encounter that I could declare an enjoyable one, with a FAST graduate who had struggled in academics all his life, and eventually failed to perform well at FAST, as well. For ovor ten years on Twitter, now X.com, he has been busy engaging in precisely this activiy: declaring computer programming a very demanding subject. It is to his credit that he was not able to learn any subject well throughout his time in the educational system. Now, instead of admitting openly that he was always a weak learner, he has chosen the wholly untenable story to present himself as a highly trained and competent professional, which is the repetition of the indefensible discourse that learning programming languages and designing large-scale systems are a spectacularly demanding task. The other members of this group vociferously chanting this agenda usually tend to have degrees from institutions with spectacularly questionable to third class reputations. I have much more to add to this debate as the proponents of this sort of rhetoric have multifaceted agendas, from hiding their sheer incompetence to inflating their profits by convincing the world that their work demands strenuous cerebral effort and long working hours. However, my circumstances have not been permissive so far, hence, all I can say at the moment is that circumstances permitting, I will try to present my case on this matter as convincingly as possibly.

Barring the people from universities like MIT, Stanford, and Harvard, who have been disseminating this agenda purely to inflate their bottom lines and get as high a deal on their software products as they possibly can by presenting it as an arcane subject matter and the group with lifelong learning issues, the third group that keeps regurgitating this wholly indefinsible discourse belongs to those people with at least accetpable enough IQs but who are only suitable for rote learing methods. Although they do not properly excel at even memorising and regurgitating the momerised subject matter even to a point where a person with a critical eye and of high caliber would deem it seriously good, nevertheless, they are able to do it to an almost good level and qualify as people with perfectly acceptable enough IQs.

I used to have a companion at FAST who falls in this bracket perfectly. For example in the mandatory course of data structures, which he was studying under the tutelage of Dr. Fakhar-ul-Islam Lodhi, he used to keep telling me that Dr. Fakhurul Islam is doing a splendid job as a teacher. However, as the data structures course does not rely on rote learning and involves mastering certain techniques that involve pure logic, hence, when the final results came out, that fellow who had been singing praises of the teacher had a paltry 54% points in the whole of the course. That 54% point total includes the perfect 15% he obtained by submitting assignments done by others. In our software engineering course, we were both under the tutelage of Dr. Fakhur-ul-Islam Lodhi, and even I found Dr. Fakhar-ul-Islam quite an enthusiastic teacher capable of exhibiting much more enthusiasm about the subject matter than other teachers. That person who goes by the name of Usman Salim had joined the institution of his volition and had been using a computer for two years before joining the institution and had been introduced to programming before joining FAST—NUCES in the year 1997. I, on the other hand, had a raging love affair with machines and wanted to become a mechanical engineer, and I had zero interest in computer science. When the final result was announced, I had 74% points in the mandatory Software Engineering course, and that fellow whom I deem a member of the group whose members are only suitable for rote learning techniques had a paltry 54% points once again. His 54% points in both the courses taught by Dr. Fakhar-ul-Islam while he was busy singing praises of Dr. Fakhar-ul-Islam almost prove to the point of certainty that he just does not possess the cerebral faculties to learn the logic-intensive courses or courses that were completely new and not built on top of what he had learnt in the previous 12 years that he was and still is the sort of person only suitable for rote learning techniques and who just cannot handle change in the subject matter quickly enough.

You can read my short introduction by clicking the following link: Meet A Rare Genius: Why I have Decided To Introduce Myself At The Age Of 47

I never harbored any desire to become a famous person and I still do not harbor any such desire; however, by completely abrogating my rights to live as a free, independent person in a tyrannical state which has so far played the role of a true slave nation to the mighty US of A and the Western World, I have been forced to introduce myself with as much clarity as I possibly can.

Comments

Popular posts from this blog

Do Telepaths Exist? Outrageously Disgusting Tale Of Torture Using Telepathy — Part II

Media Empires, Theft Of Information Using Telepathy, And Increasing Anxiety Rates

Looking For A Nominal Or Advanced Business Partner