Tribulations of a Soviet Programmer

...let's assume that we accept that you can argue by homonym. So OOP is associated with software OOP. And software OOP is an evil capitalist product.

And as we know, communist programmers prefer not to use graphical interfaces such as blinking cursors and arrows...they prefer a more authentic, wholemeal kind of programming that involves painstaking transcription of thousands and thousands of lines of code, to avoid the dreaded "objects."

A programming scriptorium, if you like, where real human beings write all code from scratch, every time.

Because true communists want to return to a world without machines, a world where reusable software has been swept away.

True communists want nothing to do with:


  • simplicity: software objects model real world objects, so the complexity is reduced and the program structure is very clear;
  • modularity: each object forms a separate entity whose internal workings are decoupled from other parts of the system;
  • modifiability: it is easy to make minor changes in the data representation or the procedures in an OO program. Changes inside a class do not affect any other part of a program, since the only public interface that the external world has to a class is through the use of methods;
  • extensibility: adding new features or responding to changing operating environments can be solved by introducing a few new objects and modifying some existing ones;
  • maintainability: objects can be maintained separately, making locating and fixing problems easier;
  • re-usability: objects can be reused in different programs.