There is a long discussion talking about the advantages of Procedural Programming vs. the advantages of Object Oriented Programming. In previous posts I tried to show that although OOP is newer it is not superior. The posts were Flaws of Object Oriented Modeling and Flaws of Object Oriented Modeling Continue.
Almost any device today has software on it. This includes laptops, Ultrabooks, cell phones, TV sets, Set-Top-Boxes, Microwave Ovens, Cars, Medical Devices, etc. Software is created by software companies and software developers. I have seen only a few software companies who really consider all the elements of software. Most times understanding the system is the realm of the architect and is based on some unique art. Whenever I hear "art", it means that we just don't have the patterns written down yet. This is why I am publishing this post.
I'd be surprised if you were and would love to hear about it.
The answer is "almost". There are two types of bugs: Reliability and Usability.
C and C++ languages are based on mathematical expressions. So much so that 1; is a legal operation in C\++. Other languages such as C#, Java, VB and Delphi also use mathematical operations to before actions. For example:
MyInterger = GetCount() + GetLength()
I am writing this at the airport, just coming back from the Intel IDF event. I keep hearing that we have "Lock Free" solutions for all sorts of problems. I think that this is a really bad choice of words. Let me try to explain why: