RE: [Fwd: Re: Wikipedia criticism about root]

From: Valeri Onuchin <Valeri.Onoutchine_at_cern.ch>
Date: Mon, 3 Jul 2006 10:09:15 +0200


Hi,
I think initial discussion can be separated to several unrelated parts: 1. contribution to wikipedia about ROOT - how to make it in the best way. 2. criticism on general design and programmic approach of ROOT.

   Users & developers points of view on cons and pros of the current one. 3. discussion of root/cint alternatives: AIDA, JAS, HippoDraw, etc,

   Python or Java based applications.
   Finding ways for "friendly" integration/interaction.

I'm afraid we flooded the roottalk with unnecessary "spam discussion" and it's better to move it
http://root.cern.ch/phpBB2/viewforum.php?f=4

Regards. Valeriy

-----Original Message-----
From: owner-roottalk_at_pcroot.cern.ch on behalf of Julius Hrivnac Sent: Fri 6/30/2006 9:30 PM
To: cstrato
Cc: andy.buckley_at_durham.ac.uk; roottalk (Mailing list discussing all aspects of the ROOT system); Guy Barrand Subject: Re: [Fwd: Re: [ROOT] Wikipedia criticism about root]  

Hi Christian,

> Can you imagine how programs such as Photoshop, Quark XPress,
> MS Office, ORACLE, SAS, etc, all written in C++ (or C), would
> work if they were written in Java? It would be a desaster!

OpenOffice for MacOSX is written completely in Java and it is not a disaster ! OpenOffice for Linux has a strong Java component too. Together/J is written completely in Java too. I have already mentioned WebService Frameworks, J2EE and NASA Mars program - all being very complex and unsuccessful, all using Java.
Most applications you mention are written in multiple languages. Oracle, for example, contains a lot of Java too.

Certainly, as I have already mentioned, Java VM itself is written in C/C++ (at least the Sun implementation) so one can say that even Java applications do use C++. As a low-level language, C++ can be used to write higher level Frameworks/Languages. But it is completely unsuitable for End Users. C++ is a proto-language, it lacks many fundamental components (like reflection and memory management). Anyone writing User Framework for End Users in C++ has to finish C++ first - he has to implement all missing functionality. This is what both Java and Root teams did. By doing that, however, you are changing C++ - user doesn't use C++ any more, she uses modified C++. Java authors have done it by cleanly defining the syntax/semantics/pragmatics of the NEW language - Java. Root authors pretend to give C++ to a user, but they don't. Root both extends and restricts C++ and creates a very badly defined pseudo-language. And that is partly because Root users are not really using C++ that it is so difficult to connect Root with other C++ Frameworks (which have probably implemented missing C++ features too - in a different/incompatible way).

            Julius

-- 
########################################################################
# E-mail: Julius.Hrivnac_at_cern.ch                                       #
# WWW:    http://home.cern.ch/~hrivnac/                                #
# S-mail: LAL, BP 34, F - 91898 Orsay cedex, France                    #
# phone: (F)-(0)1-64-46-82-51; private: (F)-(0)8-71-19-31-70           #
# mobil: (F)-622-741-151; (CZ)-607-918-415                             #
# ICQ: 10804323                                                        #
# AIM: jhrivnac                                                        #
########################################################################
Received on Mon Jul 03 2006 - 10:09:24 MEST

This archive was generated by hypermail 2.2.0 : Mon Jan 01 2007 - 16:31:59 MET