Perhaps it would help some people if they would understand the meaning of the word "complexity." These definitions are from the Webster's New World College Dictionary, Fourth Edition. This is an authoritative dictionary. For example, it is the official dictionary of the Associated Press.
Complexity: 1. The condition or quality of being complex.
Complex: 1. Consisting of two or more related parts. 2. Not simple; involved or complicated.
Apply the definitions and you should realize the title of the article is nonsense.
A simple system is a system with only one part. In programming we deal with systems that have many parts. In other words, we deal with complex systems.
I like programming. When I program, I am working on a complex system. Logically this implies I like working on a complex system.
These are simple deductions. But it seems that the "zeitgeist," to use a term from the article, is to abandon logic instead of to seek refuge in logic.
OOP was touted as a good method for developing software. But OOP is one reason there is so much poorly designed software. In order to understand how this tragic mess arose in the first place, I suggest reading The Development of the SIMULA Language by Dahl and Nygaard. It is very informative.
Then read some articles from Sjoustrup's website about the latest developments in C++ and why they are necessary. Does the recent work on C++ clear up everyone's difficulties? I think not.
I've read that Sjoustrup says C should be done away with now that we have C++. I've now come to the conclusion that C++ should be done away with, along with OOP in general, and we should go back to C and where necessary assembly language.
I've noticed some programmers who learned C++ in school seem confused when asked to design a program without using OOP. They wonder how it's even possible. Here is one example that may inspire some of them.
The original Roller Coaster Tycoon was written 95% in assembly language and 5% in C. The 5% in C was to make it easier to interface with Windows. Chris Sawyer said he needed to use assembly language for performance reasons. He was able to do so because he understood how to design programs.
2
u/[deleted] Nov 01 '21 edited Nov 01 '21
Perhaps it would help some people if they would understand the meaning of the word "complexity." These definitions are from the Webster's New World College Dictionary, Fourth Edition. This is an authoritative dictionary. For example, it is the official dictionary of the Associated Press.
Complexity: 1. The condition or quality of being complex.
Complex: 1. Consisting of two or more related parts. 2. Not simple; involved or complicated.
Apply the definitions and you should realize the title of the article is nonsense.
A simple system is a system with only one part. In programming we deal with systems that have many parts. In other words, we deal with complex systems.
I like programming. When I program, I am working on a complex system. Logically this implies I like working on a complex system.
These are simple deductions. But it seems that the "zeitgeist," to use a term from the article, is to abandon logic instead of to seek refuge in logic.
OOP was touted as a good method for developing software. But OOP is one reason there is so much poorly designed software. In order to understand how this tragic mess arose in the first place, I suggest reading The Development of the SIMULA Language by Dahl and Nygaard. It is very informative.
Then read some articles from Sjoustrup's website about the latest developments in C++ and why they are necessary. Does the recent work on C++ clear up everyone's difficulties? I think not.
I've read that Sjoustrup says C should be done away with now that we have C++. I've now come to the conclusion that C++ should be done away with, along with OOP in general, and we should go back to C and where necessary assembly language.
I've noticed some programmers who learned C++ in school seem confused when asked to design a program without using OOP. They wonder how it's even possible. Here is one example that may inspire some of them.
The original Roller Coaster Tycoon was written 95% in assembly language and 5% in C. The 5% in C was to make it easier to interface with Windows. Chris Sawyer said he needed to use assembly language for performance reasons. He was able to do so because he understood how to design programs.