However, with enough experience, they don't matter. Look at global variables: sure, it's not a clean design. But they are easy to understand - just grep for them, look what they do and you're able to understand the code. Same applies to most of the other items you've listed.
For me, good code means that somebody else is able to understand and modify my code in a very short time.
And therefore i really prefer to work with plain, but ugly C code instead of fancy, over-designed, over-architectured C++.
Try to understand a global variable - easy, if you've a bit of experience. Try to understand code with 200 classes, and each one has overwritten operators - this is hell.
A common opinion is that Mysql has less features than a full-blown database, and therefore is faster (as long as the operations are not too complicated).
This is a surprising fact for me. First, the source code of MySQL looks pretty messy. The abstraction levels between the main program and the database handlers (i.e. BerkeleyDB) are fuzzy, to say it in a friendly word. Also, and i think this gives you a real performance penalty, MySQL uses table locking for write access, and does not lock on a page level. And MySQL implements transactions on top of the handlers, which should also be slower than implementing transactions IN the handlers.
On the other side, DBMS like Oracle are optimized to the last bit, but are still slower in many operations.
So either MySQL has a secret performance trick which i have not yet discovered, or its performance advantages are actually a Myth. What do you think?
I also understand that you (MySQL AB) is working on your own handler, which is optimized for SQL way better than i.e. a generic handler like BerkeleyDB. Does this mean that we will have to expect a major architectural change of MySQL in the near future?
I'm pretty sure that there are several solutions, which are possible without losses of functionality.
I.e. servers could use authentication with certificates, then all those infected Windows PCs would no longer be able to work as relays. And those servers, who send spam, have their certificate revoked. This has a lot of disadvantages - you need a CA and a lot of bueraucracy to handle the certificates. But it would solve a lot of problems.
And i'm sure that there are some other solutions. But i also think that right now using email is so annoying like never before - especially if you don't have a perfectly configured server, and an email client without spam filter (i.e. SquirrelMail). I hope that some decision makers finally band together and make a disruptive step, so finally email becomes usable again.
I'm German, and the article is true.
There IS such a "hole" in our tax laws. It's not exactly a hole - it was supposed to support funding of movies, of shipbuilding, of wind energy construction and some other things.
So if you invest money in an Uwe Boll fund, and the movie is a loss, you have to pay less income taxes. (I'm sorry, i lack the tax vocabulary to give more details:) )
The new government with Angela Merkel has decided to close such "tax holes", so i have hope that the movies of Uwe Boll will finally get better...
Have a look at Komodo by Activestate.com (you can get a free trial version for 30 days) or sunbird (mozilla calendar), firefox, thunderbird. they are all based on gecko: write the UI in XUL, a XML language, and the logic is implemented in Javascript, Python or C++. These languages can be mixed with XPCOM, the Cross Platform Component Object. the server side logic can be implemented with java or.net (i would prefer java for servers, so you don't depend on M$), the protocol can be SOAP, XML-RPC or simple HTTP forms.
use hamsterdb! it's a file-based database for C with wrappers for C++, Python, Java and .NET.
;)
it supports database cursors, multiple databases per file, can run as in-memory database, and the next release will support logging/recovery.
license is GPL 2 or later.
oh, and i'm the author
http://hamsterdb.com/
http://freshmeat.net/projects/hamsterdb/
Yes, these things are all annoying, no doubt.
However, with enough experience, they don't matter. Look at global variables: sure, it's not a clean design. But they are easy to understand - just grep for them, look what they do and you're able to understand the code. Same applies to most of the other items you've listed.
For me, good code means that somebody else is able to understand and modify my code in a very short time.
And therefore i really prefer to work with plain, but ugly C code instead of fancy, over-designed, over-architectured C++.
Try to understand a global variable - easy, if you've a bit of experience. Try to understand code with 200 classes, and each one has overwritten operators - this is hell.
A common opinion is that Mysql has less features than a full-blown database, and therefore is faster (as long as the operations are not too complicated). This is a surprising fact for me. First, the source code of MySQL looks pretty messy. The abstraction levels between the main program and the database handlers (i.e. BerkeleyDB) are fuzzy, to say it in a friendly word. Also, and i think this gives you a real performance penalty, MySQL uses table locking for write access, and does not lock on a page level. And MySQL implements transactions on top of the handlers, which should also be slower than implementing transactions IN the handlers. On the other side, DBMS like Oracle are optimized to the last bit, but are still slower in many operations. So either MySQL has a secret performance trick which i have not yet discovered, or its performance advantages are actually a Myth. What do you think? I also understand that you (MySQL AB) is working on your own handler, which is optimized for SQL way better than i.e. a generic handler like BerkeleyDB. Does this mean that we will have to expect a major architectural change of MySQL in the near future?
I'm pretty sure that there are several solutions, which are possible without losses of functionality. I.e. servers could use authentication with certificates, then all those infected Windows PCs would no longer be able to work as relays. And those servers, who send spam, have their certificate revoked. This has a lot of disadvantages - you need a CA and a lot of bueraucracy to handle the certificates. But it would solve a lot of problems. And i'm sure that there are some other solutions. But i also think that right now using email is so annoying like never before - especially if you don't have a perfectly configured server, and an email client without spam filter (i.e. SquirrelMail). I hope that some decision makers finally band together and make a disruptive step, so finally email becomes usable again.
I'm German, and the article is true. There IS such a "hole" in our tax laws. It's not exactly a hole - it was supposed to support funding of movies, of shipbuilding, of wind energy construction and some other things. So if you invest money in an Uwe Boll fund, and the movie is a loss, you have to pay less income taxes. (I'm sorry, i lack the tax vocabulary to give more details :) )
The new government with Angela Merkel has decided to close such "tax holes", so i have hope that the movies of Uwe Boll will finally get better...
Have a look at Komodo by Activestate.com (you can get a free trial version for 30 days) or sunbird (mozilla calendar), firefox, thunderbird. they are all based on gecko: write the UI in XUL, a XML language, and the logic is implemented in Javascript, Python or C++. These languages can be mixed with XPCOM, the Cross Platform Component Object. the server side logic can be implemented with java or .net (i would prefer java for servers, so you don't depend on M$), the protocol can be SOAP, XML-RPC or simple HTTP forms.