|
Boost : |
From: Tushar (tushar_at_[hidden])
Date: 2005-03-24 02:44:57
Hi all,
I am thinking of converting GNU Classpath used for GCJ to C++. I have
following reasons about why to do this.
1. C++ requires a Good OOPs library with well defined api. Java has that
. While C++ also have many of them, most do not look truly object
oriented. As all of us know, Java is really a subset of C++ from pure
language point of view. C++ has every thin that JAVA has except GC. But
still programming in JAVA is more easy because they have a well define
API to work with. I thinks, we should have some thing similar in C++
also.
2.C++ has much of the libs using STL. The only problem is STL is not a
object oriented.(See STL Tutorial and reference) This really makes it
difficult to think in OO and implement in STL. Particularly in STL,
T a,b
T a=b means a is separate entity and same for b. This make problem in
many case where one wants just pointer e.g File handling and
manipulation of large buffer.
3.There are other "standard" API to work with things like thread and
networking. I know many libs are there on this boost and some other good
site, but there is no uniform framework to work with in C++,one like one
JAVA provides.
These was some reasons why C++ libs are required.
My idea is that API specification is already defined for java. And it
seems much complete.I mean to say more complete then if start deciding
from scratch -:). Why not to use java then?
1.JAVA is not free neither under GPL.
2.GC makes problem for many programs.
3.Compilation of java to binary using GCJ or something similar gives
performance problem
4.After all, many C++ programmer like me do not want to change language
but I do want a good uniform library.
Difference bet proposed C++ and Java
1.Everything is a pointer other them simple atomic data types.(Same)
2.There is no GC. Its here large change will be required. (Diff)
3.Arrays - I do not know. Should it be made object like in java or let
it be as it is in C++. Later seems good and one can use some class like
Array to have similar effects.(?)
4.Every thing is subclass of Object(Same).
5.Sync support in Object (i.e to every object) using wait and signal - I
am not sure. This makes it easy but may also bring some performace
problem (?)
Ok, enough thinking. Now implementation.
Here I am thinking of converting entire GNU Classpath to C++. One major
change will be lack of GC. For others, I will have to dig deeper. For
GNU Classpath people, it will be review of their code.
Regards,
Tushar
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk