Why Studying C++ and Java at University led to my lifelong hatred of Programming.

Adebayo Adeniran
4 min readApr 7, 2021

How an unresolved trauma at university has led to a lifelong antipathy.

Taras Shypka via Unsplash https://unsplash.com/photos/5VM5SHrs_E8

I hate programming languages with a serious passion; From Algol 60 to Cobol and from C++ to Java and everything else that has come ever since. And please don’t mention the latest incarnation —python — to me, under any circumstances, if you don’t want to end up being eviscerated on a grand scale.

The supreme paradox, here, is that my diploma and bachelor’s degree were in acquired in Computer programming and Information Systems, a lifetime ago.

For those who came of age, back in the 1990s in the United Kingdom, A levels or BTEC in computer studies meant learning about the control units (CU), central processing units (CPU), random access memory (RAM) and of course, languages, such as C++ and Java.

For all would be medium readers, already bored senseless, wondering what on earth C++ and Java are, I will provide a quick synopsis, with the aid of Wikipedia.


According to its inventor Bjarne Stroustrop, C++ signifies an evolutionary upgrade from its predecessor, C.

Its underpinning philosophy are as follows:

  • It must be driven by actual problems and its features should be immediately useful in real world programs.
  • Every feature should be implementable (with a reasonably obvious way to do so).
  • Programmers should be free to pick their own programming style, and that style should be fully supported by C++.
  • Allowing a useful feature is more important than preventing every possible misuse of C++.
  • It should provide facilities for organising programs into separate, well-defined parts, and provide facilities for combining separately developed parts.
  • No implicit violations of the type system (but allow explicit violations; that is, those explicitly requested by the programmer).
  • User-created types need to have the same support and performance as built-in types.
  • Unused features should not negatively impact created executables (e.g. in lower performance).



Adebayo Adeniran

A lifelong bibliophile, who seeks to unleash his energy on as many subjects as possible