11 messages in com.mysql.lists.mysqlRe: InnoDB Hot Backup + MySQL embedded?
FromSent OnAttachments
Chris Nolan11 Feb 2004 16:44 
Heikki Tuuri12 Feb 2004 01:54 
Chris Nolan12 Feb 2004 04:25 
Heikki Tuuri13 Feb 2004 13:13 
Chris Nolan16 Feb 2004 03:56 
Heikki Tuuri19 Feb 2004 07:28 
Sasha Pachev20 Feb 2004 15:51 
Jochem van Dieten20 Feb 2004 16:08 
Sasha Pachev20 Feb 2004 16:43 
Chris Nolan20 Feb 2004 18:21 
Chris Nolan20 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 :-)