Linked by David Adams on Sat 11th Oct 2008 16:48 UTC, submitted by IndigoJo
General Development Eric Raymond is working on an essay, putatively titled "Why C++ Is Not My Favorite Programming Language". In his announcement, he calls it "an overcomplexity generator", "bloated, obfuscated, unwieldy, rigid, and brittle", and alleges that these characteristics appear in C++ applications also. I contend that many of the complaints about C++ are petty or are aimed at specific libraries or poor documentation and that many of the features commonly regarded as unnecessary (and excluded from intended replacements) are, in fact, highly useful. C++: the Ugly Useful Programming Language
Permalink for comment 333423
To read all comments associated with this story, please click here.
pcunite
Member since:
2008-08-26

C++ is a systems language that you can pretty much build anything. It allows for both object orientated programming as well as the needed procedural style programming. It's beauty (if used properly but not always done however) is to procedurally use objects.

Consider the code sample below and tell me this is not very simple:






********************************
class Paper
{
private:
std::string Color;
std::string Text;

public:
Paper();
~Paper();

// Getters
std::string GetColor(void);
std::string GetText(void);

// Setters
void SetColor(std::string Color);
void SetText(std::string Text);
};

// Create some blank paper. Everthing is free inside the computer!
Paper1 Paper;
Paper2 Paper;

// Set some info about each piece
Paper1.SetColor("White");
Paper1.SetText("Buy some eggs and Milk\nDon't forget the cheese!\n");

Paper2.SetColor("Green");
Paper2.SetText("You may have already won one Million Dollars!\n");

// Create a container to hold paper and put some paper in it.
std::vector<Paper> MyTrashCan;
MyTrashCan.push_back(Paper1);
MyTrashCan.push_back(Paper2);

// See what is in the Trash can. Thus:
for (size_t i = 0; i < MyTrashCan.size(); i++)
{
//Print out to the screen or over a TCP connection
std::cout << MyTrashCan[i].GetColor();
std::cout << MyTrashCan[i].GetText();
}

********************************

Reply Parent Score: 2