After reading this I'll understand that C# generics really suck, big time, compared to C++ templates.
The constraints are really a pain in the butt, as you must specify what interfaces that the 'generic' type must implement, and not what specific methods of the interfaces that the generic type must implement. What you say, you may think: But if I wanted any type that has a method named 'void Print()' to be executed by my generic class, all of those types must implement a named interface (IPrintable). That is perhaps OK if I have full control over the source code, but whatif I'm using a library written by someone else?
If you don't specify a constraint the 'generic' type will effectivly be of type Object, and we all know how much we can do with the type Object. Hmm, let me think, oh yeah: ToString. No need for generics there.
The examples in the spec are also mostly container class examples, wonder why? Perhaps that the generics of C# can't do anything but (or mostly) container (or container like) classes.
Good thinking, sue Microsoft for the defects/bugs in their software. If you win the lawsuit (rather unlikely thinking of the size of Microsoft's legal department) you will open up a number of opportunities for people using Linux (or any other system for that matter) when they encounter a defect/bug. Think of the world when encountering a defect/bug will result in a paycheck of $10M, there would be a lot of millionaries in the world but no programs as noone would ever dare to publish anything.
Sure the boost syntax is a bit gnarlier, but not much. As on the flexibility of Qt it has a lot of limitations (http://doc.trolltech.com/3.2/moc.html).
// Boost.Signals usage:
class boost_signal_holder { public: void send_signal(int i) { boost_signal(i); }
Re:$1550 just to use it? No thanks.
on
QT 3.2 Released
·
· Score: 1
Make that $4660 (a bit less if you're many) per developer (with Qt TrioPack, Enterprise Edition). TrioPack to have any use of the multi-platform capabilities and Enterprise Edition to use the QTable class.
And after that you'll have to pay $1450 (a bit less if you're many) per developer and year if you want any maintenance and support.
After reading this I'll understand that C# generics really suck, big time, compared to C++ templates.
The constraints are really a pain in the butt, as you must specify what interfaces that the 'generic' type must implement, and not what specific methods of the interfaces that the generic type must implement. What you say, you may think: But if I wanted any type that has a method named 'void Print()' to be executed by my generic class, all of those types must implement a named interface (IPrintable). That is perhaps OK if I have full control over the source code, but whatif I'm using a library written by someone else?
If you don't specify a constraint the 'generic' type will effectivly be of type Object, and we all know how much we can do with the type Object. Hmm, let me think, oh yeah: ToString. No need for generics there.
The examples in the spec are also mostly container class examples, wonder why? Perhaps that the generics of C# can't do anything but (or mostly) container (or container like) classes.
The specs pdf for those whose browser doesn't handle backslashes.
Good thinking, sue Microsoft for the defects/bugs in their software. If you win the lawsuit (rather unlikely thinking of the size of Microsoft's legal department) you will open up a number of opportunities for people using Linux (or any other system for that matter) when they encounter a defect/bug. Think of the world when encountering a defect/bug will result in a paycheck of $10M, there would be a lot of millionaries in the world but no programs as noone would ever dare to publish anything.
Strange things happens, consoles (X-Box for now) starts to have hard-disks, but PC:s are removing them.
Sure the boost syntax is a bit gnarlier, but not much. As on the flexibility of Qt it has a lot of limitations (http://doc.trolltech.com/3.2/moc.html).
/* ... */}
o st::bind(
/* ... */}
l ot_holder_object,
// Boost.Signals usage:
class boost_signal_holder
{
public:
void send_signal(int i)
{
boost_signal(i);
}
void connect_slot(const boost_signal_type::slot_type& slot)
{
boost_signal.connect(slot);
}
typedef boost::signal<void (int)> boost_signal_type;
boost_signal_type boost_signal;
} boost_signal_holder_object;
class boost_slot_holder : public boost::signals::trackable
{
public:
void boost_slot(int) {
} boost_slot_holder_object;
// Connect signal to slot.
boost_signal_holder_object.connect_slot(bo
&boost_slot_holder::boost_slot, &boost_slot_holder_object, _1));
// Qt usage:
class qt_signal_holder : public QObject
{
Q_OBJECT
public:
void send_signal(int i)
{
emit qt_signal(i);
}
void connect_slot(const QObject* receiver, const char* receiver_slot)
{
QObject::connect(this, SIGNAL(qt_signal(int),
receiver, receiver_slot);
}
signals:
void qt_signal(int);
} qt_signal_holder_object;
class qt_slot_holder : public QObject
{
Q_OBJECT
public slots:
void qt_slot(int) {
} qt_slot_holder_object;
// Connect signal to slot.
qt_signal_holder_object.connect_slot(&qt_s
SLOT(qt_slot(int)));
When are they dumping the Meta Object Compiler (moc) and switch over to Boost.Signals?
Make that $4660 (a bit less if you're many) per developer (with Qt TrioPack, Enterprise Edition). TrioPack to have any use of the multi-platform capabilities and Enterprise Edition to use the QTable class.
And after that you'll have to pay $1450 (a bit less if you're many) per developer and year if you want any maintenance and support.
Ain't that cheap?
In Sovjet Russia, Licensing Terms improves Microsoft...
... and call it Internet Explorer?
Is the next step to rewrite Mozilla in .NET?
...you insensitive clod!
Don't touch it, because We Like The Moon!
"Weekly World News will continue to follow this story as it unfolds. Keep watching for further developments."
Any updates on this story?
Name one compiler that is 100% C++ standard compliant.
Playing the downloaded mov-file on my 2.4GHz P4 512MB RAM Windows computer results in a really laggy experience. Why doesn't Apple ever go bankrupt?
... or was it w00t?
Don't forget Serial ATA II http://www.serialata.org/news/S2why.pdf
Windows ain't easy to install (without all the gibberish) and it takes a lot more than a minute...
But won't it stop halfway there?
Opps, missed a post up there, disregard this post...
- Remove all the linefeeds.
- Remove the first 69 chars in the textfile.
- Insert linefeeds so that every line is 127 chars wide.
And what do we get from this?
- PI
- Pythagoras formula
- Our solar system
- Some basic chemestry formulas
- A picture of our cells
- A map of Earth
- And some stinky pr0n
Environmental requirements:
Maximum operating altitude: 10,000 feet