On Dec 29, 2010, at 7:18 AM, Donald Allen wrote: > On Wed, Dec 29, 2010 at 10:00 AM, Anthony Dardis <adar...@gmail.com> wrote: >> On Wed, 29 Dec 2010 04:32:44 -0500, Herbert Thoma >> <herbert.th...@iis.fraunhofer.de> wrote: >> >>> On 28.12.2010 22:35, Christian Stimming wrote: >>>> >>>> Am Dienstag, 28. Dezember 2010 schrieb Jeff Warnica: >> >> <snip> >> >>> I am not that sure that an interpreted language is a good idea. But I am >>> an electrical engineer not a computer scientist. So I tend to prefer >>> languages that are closer to the hardware ... >>> >>> Herbert. >>> >> >> My recent programming experience is a lot of little number-theory puzzles >> from the Euler Project, 40 or 50 in Python, the last 10 or so in c. I have >> something of the same feeling of wanting to be close to the metal. But I >> have to say that Python is a real joy. It is syntactically beautiful. It is >> semantically amazingly powerful: all those basic data structure types >> (lists, trees, ...) are mostly transparently available (for example: I'm >> pretty sure that the set type is implemented as a balanced tree, since >> random access is incredibly fast even for sets with millions of members). >> Since it encourages functional style programming, it's possible to write >> astonishingly elegant code. (Of course, it's also possible not to, but that >> goes without saying.) For computation, Python is really really fast: agreed, >> the programs I've tried run about 10 times faster in c than in Python, but >> on modern hardware we're still talking hundreds of milliseconds. For >> GnuCash, computation speed is irrelevant. The GUI will be handled by GTK (or >> whatever). >> >> And coding a solution in Python, I suspect, is always going to be a lot >> faster than in c, assuming equivalent levels of experience in both. > > Amen to everything you've said here. And coding in Python is going to > be faster than c++ as well. And finding people who can write good > Python is always going to be an easier task than c or c++. Another > issue is readability. I would assert that it is far easier to read and > understand someone else's Python than someone else's c++, especially a > factor in a volunteer project like this one, where people can wander > off without jeopardizing their paycheck.
The only advantage that C++ has over Python is that one can mix C and C++ code. That would allow smaller, safer changes as code is reworked. It's only a short-term advantage for all of the reasons Mike gave. I'm not enthusiastic about using Javascript for the core code (engine, backends, business, etc.) but I think that it makes a lot of sense to make it possible to write reports with Javascript instead of Guile. With the switch to WebKit from Gtkhtml, we have a Javascript interpreter built in and already integrated with the HTML display. Yes, it's a short jump from there to having a Javascript-based web app version of Gnucash. (I disagree with you about readability, but I like C++ and you don't.) Regards, John Ralls _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel