It certainly doesn’t look like vaporware anymore. Over the past few months, it’s looked less and less like vaporware (with more frequent status updates, screenshots, etc), and more like an actual product that will get released.
The open beta was announced (for Dec 19, 2009). I have a feeling this is going to go one of three ways:
- Worst case – Full of bugs, completely unusable
- Possible case – Performance / quality issues, a reasonable number of minor bugs, interface issues
- Best case – Polished through the private Alpha tests, only a few minor bugs remain
If the development team pulls off what’s been discussed for the past year, it will blow Ventrilo completely out of the water.
I’ve used many different programming languages, each with their own set of benefits and flaws. C++ was the first one I learned, and every class that I’ve taken has used it (with the exception of two language classes).
Before we discuss the pros and cons of C++, here’s a factoid: C++ is based on C, which was written in 1972 (approximately 37 years ago) at Bell Labs for use with the UNIX operating system.
Read more…
I was writing some complicated inherited classes in C++, and made a few amusing mistakes, which resulted in some strange errors.
Firstly, the concept of method hiding is when you declare a method with the same name of a method that exists in a parent class. This doesn’t override the method (unless it was marked as virtual), but any calls to that method will go to the method defined in the child class. This can lead to really strange results if you were expecting a method override, but forgot to put virtual in the parent class, as I did.
class Parent
{
public:
void foo();
};
class Child
{
public:
void foo();
};
Now mistakes like this are obvious in small classes, but in large classes, while on six hours sleep, they can be harder to pinpoint.
The other mistake was when I didn’t realize I already had a protected method, we’ll call it bar, declared in the parent class. I then defined a private method called bar in the child class, in which I was trying to call the parent class. Guess what? Infinite recursion.
Lesson of the day? Don’t code while tired. It doesn’t work very well.