11 messages in com.mysql.lists.mysqlRe: InnoDB Hot Backup + MySQL embedded?| From | Sent On | Attachments |
|---|---|---|
| Chris Nolan | 11 Feb 2004 16:44 | |
| Heikki Tuuri | 12 Feb 2004 01:54 | |
| Chris Nolan | 12 Feb 2004 04:25 | |
| Heikki Tuuri | 13 Feb 2004 13:13 | |
| Chris Nolan | 16 Feb 2004 03:56 | |
| Heikki Tuuri | 19 Feb 2004 07:28 | |
| Sasha Pachev | 20 Feb 2004 15:51 | |
| Jochem van Dieten | 20 Feb 2004 16:08 | |
| Sasha Pachev | 20 Feb 2004 16:43 | |
| Chris Nolan | 20 Feb 2004 18:21 | |
| Chris Nolan | 20 Feb 2004 18:28 |
| Subject: | Re: InnoDB Hot Backup + MySQL embedded?![]() |
|---|---|
| From: | Sasha Pachev (sas...@surveyz.com) |
| Date: | 02/20/2004 03:51:48 PM |
| List: | com.mysql.lists.mysql |
C versus object-oriented lanuguages like C++/Java is a topic I have discussed a lot with programmers. I believe that traditional procedural approaches and languages, like C, are the best for 'systems programming', by which I mean implementing anything with complex data structures and lots of parallelism. A DBMS is a typical example of such a complex program. My opinion is based on:
Amen!
1) The object-oriented paradigm recommends that algorithms are structured around 'objects', that is, around data structures. But I think it is easier for humans to understand complex algorithms, like the splitting of a node in a B-tree, if the algorithms are presented on their own terms, and not fragmented around the 'objects' involved. Donald Knuth of the Stanford University remarked that proving the correctness of an 'object-oriented' algorithm is hard, because keeping track of autonomous 'objects' is difficult.
Amen!
3) A weakness of C compared to Java is memory management. In C you can easily write programs that leak memory or run over allocated buffers. In practice, it has turned out to be relatively easy to keep these memory management bugs at a tolerable level in our C programs, so that a move to a language with automatic memory management is not needed.
In Java is it easy to write a program that wastes large amounts of memory, which is worse than a leak. In C, you are full from the start, and then you leak a drop at a time until you are empty. In Java , you are empty from the start, and you have nothing to leak anyway even if you could :-)
-- Sasha Pachev Create online surveys at http://www.surveyz.com/




