473,405 Members | 2,141 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,405 software developers and data experts.

A new cross platform c++ framework (another)

Hi, I'm working on a new cross platform c++ framework, I principally
wrote it for fun in my spare time. The project becomes rather large so
I decided to make it available on the web in the hope that it can be
useful to someone. I'd like to have some feedback from you all, any
suggestion or criticism are welcome. The project is released under open
source license and everyone can contribute to it.

Cross platform toolkit library (xtklib)
http://xtklib.berlios.de

Thanks in advance,
with regards,
XShadow.

Dec 31 '05 #1
12 1725
Cool :) I'll check it out ASAP:)

Dec 31 '05 #2
XShadow wrote:
Hi, I'm working on a new cross platform c++ framework, I principally
wrote it for fun in my spare time. The project becomes rather large so
I decided to make it available on the web in the hope that it can be
useful to someone. I'd like to have some feedback from you all, any
suggestion or criticism are welcome. The project is released under open
source license and everyone can contribute to it.

Cross platform toolkit library (xtklib)
http://xtklib.berlios.de


Interesting.
Why following is a a feature?

STL free - Does not use any STL facility since all its features are
implemented in our library following our programming techniques and
philosophy for a full intregration with other classes.

Cheers
--
Mateusz Łoskot
http://mateusz.loskot.net
Dec 31 '05 #3
On Sat, 31 Dec 2005 20:16:19 UTC, Mateusz oskot <se****@signature.net> wrote:
XShadow wrote:
Hi, I'm working on a new cross platform c++ framework, I principally
wrote it for fun in my spare time. The project becomes rather large so
I decided to make it available on the web in the hope that it can be
useful to someone. I'd like to have some feedback from you all, any
suggestion or criticism are welcome. The project is released under open
source license and everyone can contribute to it.

Cross platform toolkit library (xtklib)
http://xtklib.berlios.de


Interesting.
Why following is a a feature?

STL free - Does not use any STL facility since all its features are
implemented in our library following our programming techniques and
philosophy for a full intregration with other classes.

Cheers


That sounds like a reasonable design decision. It would insulate them
from requiring their product to include a full STL for all supported
platforms. It may not be reasonable to assume that everyone has the
same STL installed. That would not prevent a developer from using the
STL in their own code base.

Please also understand that any given STL implementation (or toolset
in general) may not meet everyone's develpment needs. They made a
choice on how they want to control their source thus far and stated it.
Perhaps they have their own pre-STL tools or methods they choose to
rely on.

David

Jan 1 '06 #4

David skrev:
On Sat, 31 Dec 2005 20:16:19 UTC, Mateusz oskot <se****@signature.net> wrote:
XShadow wrote:
Hi, I'm working on a new cross platform c++ framework, I principally
wrote it for fun in my spare time. The project becomes rather large so
I decided to make it available on the web in the hope that it can be
useful to someone. I'd like to have some feedback from you all, any
suggestion or criticism are welcome. The project is released under open
source license and everyone can contribute to it.

Cross platform toolkit library (xtklib)
http://xtklib.berlios.de
Interesting.
Why following is a a feature?

STL free - Does not use any STL facility since all its features are
implemented in our library following our programming techniques and
philosophy for a full intregration with other classes.

Cheers


That sounds like a reasonable design decision. It would insulate them
from requiring their product to include a full STL for all supported
platforms. It may not be reasonable to assume that everyone has the
same STL installed. That would not prevent a developer from using the
STL in their own code base.


This is just silly. All compilers today do support "STL" - at least if
it is used to denote the standard C++ library (e.g. std::vector and
stuff like that).
Please also understand that any given STL implementation (or toolset
in general) may not meet everyone's develpment needs.
I highly doubt that. Even in the unlikely situation where someone chose
to not use the standard library, why do you expect that they could use
the supplied library instead? They made a
choice on how they want to control their source thus far and stated it.
Perhaps they have their own pre-STL tools or methods they choose to
rely on.
This just puts an enormous burden for the vast majority that chose to
use the standard library - requiring conversion to/from the standard
types. Do you believe that is an incentive to use the library? For me
this alone is reason enough for not looking further into the library.

David


/Peter

Jan 1 '06 #5
That feature means that the library internally does not use STL for
various reasons:
1) Portability: STL implementations too often differs both in behaviour
and in interface. Sincerely, for this reason, I never like use STL :)
2) The library is Object based, that means that *all* classes need to
inherit xObject. STL classes does not.
3) STL lack some features needed in the library. For example the
std::string class does not support conversion from unicode to various
encodings, and this is fundamental for the library. Another example are
streams. Thake a look at STL streams and then look at xtklib streams
hieararchy, they are totally different!
In conclusion STL does not provide an adequate integration with the
rest of the library. Obviously, this not prevent you from using STL in
your application, although this is not recommended.

Jan 1 '06 #6
XShadow wrote:
That feature means that the library internally does not use STL for
various reasons:
1) Portability: STL implementations too often differs both in behaviour
and in interface.
If you're using a C++ compliant STL library, then it should not differ
in interface. And any behavior differences should not be enough of a
justification not to use the library.
IMHO, your #1 reason is not justifiable.
2) The library is Object based, that means that *all* classes need to
inherit xObject. STL classes does not.


This is valid.

If the library is not using STL, does it use templates in general?

And do you have an interface for accepting std::string, or do users
have to convert std::string to your library supported string type?

If it doesn't, I would recommend that you at least add an interface to
your library so that it can accept or convert the std::string type to
your library supported string type.
Same recommendation for iostream.

Jan 1 '06 #7
Axter wrote:
If you're using a C++ compliant STL library, then it should not differ
in interface.
This is partially true. For example, I can remember that some methods
(I dont remember which) does exist in mingw32 STL implementation and
does not in Visual C++. However ,this is not the key reason that
persuaded me about not using STL.
And do you have an interface for accepting std::string, or do users
have to convert std::string to your library supported string type?


Yes, this is an important issue that must be taken in consideration.

Jan 1 '06 #8
XShadow wrote:
Hi, I'm working on a new cross platform c++ framework, I principally
wrote it for fun in my spare time. The project becomes rather large so
I decided to make it available on the web in the hope that it can be
useful to someone. I'd like to have some feedback from you all, any
suggestion or criticism are welcome. The project is released under open
source license and everyone can contribute to it.

Cross platform toolkit library (xtklib)
http://xtklib.berlios.de

Thanks in advance,
with regards,
XShadow


In the Abstract link, it states the following:
************************************************** ************************************************** **
gcc and VC++ supports all modern features of C++ and gcc is available
virtually in every platform.
************************************************** ************************************************** **
Neither the GNU compiler nor VC++ supports all modern features of C++.
The both don't support export.
I'm sure there are other non-compliance issues, since no compiler that
I'm aware of can claim to be fully C++ compliant.

It also states the following:
************************************************** ************************************************** **
XTKLib tries to create a strongly object-oriented framework by using
all the power of modern C++
************************************************** ************************************************** **
IMHO, that's not an accurate statement if you're not using STL.
You have a similar statement in the Features link.

Also, stating you're STL free, is not something that I would put on a
feature list.
IMHO, that's more of detraction, and not a bonus.
My interpretation of a library that claims to be STL free is that the
library author(s) hand coded, or created their version of the logic
normally found in the STL library. The results of which usually lead
to bugs, inefficiency, non-portability, and/or a higher maintenance
cost.
I'm not saying this is true of your library. I'm just saying this
would be my first impression/assumption. You might find many other
developers to have a similar impression.

I recommend removing this of your feature list.

I notice that the "Compile,install and link" document gives the
impression that it mainly support VC++ 7.1.
If VC++ 6.0 is not supported, then I would recommend you modify your
Abstract and Features links to specify which version of the compiler
you support.
I would also like to see a link that shows on which compilers the code
has been tested.

I like the way you did the web site, but if this is non-profit, why did
you not try to use a *.org instead of *.de?

Jan 1 '06 #9

XShadow wrote:
Axter wrote:
If you're using a C++ compliant STL library, then it should not differ
in interface.
This is partially true.


By definition, Axter's statement is entirely true.
For example, I can remember that some methods
(I dont remember which) does exist in mingw32 STL implementation and
does not in Visual C++.


Then one or the other is not compliant.

Gavin Deane

Jan 1 '06 #10
> Then one or the other is not compliant.

In short words: Yes :) , but this is not a point in favour for STL.

Jan 1 '06 #11
> Neither the GNU compiler nor VC++ supports all modern features of C++.
The both don't support export.
I'm sure there are other non-compliance issues, since no compiler that
I'm aware of can claim to be fully C++ compliant.
Yes, maybe I have used a wrong expression. I wanted to refer to
specific features like RTTI, exceptions and templates. Thanks for the
advice.
IMHO, that's not an accurate statement if you're not using STL.
You have a similar statement in the Features link.
Yes, the same as above :)
I recommend removing this of your feature list.
I will take this in consideration.
I notice that the "Compile,install and link" document gives the
impression that it mainly support VC++ 7.1.
If VC++ 6.0 is not supported, then I would recommend you modify your
Abstract and Features links to specify which version of the compiler
you support.
I would also like to see a link that shows on which compilers the code
has been tested.
Unfortunately I cannot test the library in every platform with every
compiler, for this task I need the help of the users (or someone
else). Until someone does not compile the library in VC++ 6.0 I cannot
say that it is compatible with this compiler neither it is not.
I like the way you did the web site
Thanks :)
, but if this is non-profit, why did you not try to use a *.org instead of *.de?


This is because the web space and domain is kindly offered by BerliOS
(an organization that give services similar to SourceForge.net)
take a look at http://developer.berlios.de/

Jan 1 '06 #12
Hello Peter,

I'll give a short response to the points that others have not addressed.

On Sun, 1 Jan 2006 09:42:45 UTC, "peter koch" <pe***************@gmail.com> wrote:

David skrev:
On Sat, 31 Dec 2005 20:16:19 UTC, Mateusz oskot <se****@signature.net> wrote:
XShadow wrote:
> Hi, I'm working on a new cross platform c++ framework, I principally
> wrote it for fun in my spare time. The project becomes rather large so
> I decided to make it available on the web in the hope that it can be
> useful to someone. I'd like to have some feedback from you all, any
> suggestion or criticism are welcome. The project is released under open
> source license and everyone can contribute to it.
>
> Cross platform toolkit library (xtklib)
> http://xtklib.berlios.de

Interesting.
Why following is a a feature?

STL free - Does not use any STL facility since all its features are
implemented in our library following our programming techniques and
philosophy for a full intregration with other classes.

Cheers


That sounds like a reasonable design decision. It would insulate them
from requiring their product to include a full STL for all supported
platforms. It may not be reasonable to assume that everyone has the
same STL installed. That would not prevent a developer from using the
STL in their own code base.


This is just silly. All compilers today do support "STL" - at least if
it is used to denote the standard C++ library (e.g. std::vector and
stuff like that).


So I'm only going to be able to use the library if I have a fully
compliant C++ compiler from 2005? I use four C++ compilers at home
for various tasks and each one is from roughly a different 5 year period.
One has STL support and another has four add on STL implementations that
were in the public domain at the time.

At work I have six C++ compilers that target various processors,
operating systems, and eras (C++ standards). Of those three have no
STL support, though they probably could use the public STL implementations
with a little tweeking. One two of the six C++ compilers target an OS
such as Windows or linux. The others don't have GUIs so some of the
library wouldn't be usedful... though one of those platforms does have
a small graphics screen and menu system that was written by us.

I've also been using templates since about 1990 with a compiler that
always supported templates of templates and very intracate concepts.
We had a rich set of ideas long before the STL came about and it
still surpasses the STL for our needs. [Think of algorithms specialized
for speed of certain operations.]
Please also understand that any given STL implementation (or toolset
in general) may not meet everyone's develpment needs.


I highly doubt that. Even in the unlikely situation where someone chose
to not use the standard library, why do you expect that they could use
the supplied library instead?


So are you saying that if a developer needs a concept that is in the STL
that they should use the STL implementation without regard to deciding
if the STL actually meets their development tasks?
They made a
choice on how they want to control their source thus far and stated it.
Perhaps they have their own pre-STL tools or methods they choose to
rely on.


This just puts an enormous burden for the vast majority that chose to
use the standard library - requiring conversion to/from the standard
types. Do you believe that is an incentive to use the library? For me
this alone is reason enough for not looking further into the library.


I've had no trouble using old style calls with data from the STL
and vice versa. Developers always have the burden of deciding if
the tools they use (STL or xtklib) fit their needs. Perhaps wrapping
some of the interfaces would help you complete your goals... and that
might be helper functions on the STL side or xtklib or whatever.

David


/Peter


D Davidr
og
Jan 1 '06 #13

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: Karsten | last post by:
Hi I'm a really a new with this cross platform development, so I have some dumb questions, which I hope you can help me with. If there is a better newsgroup for this question, please point...
1
by: Timothy V | last post by:
Hi, People often say that the .NET Framework is cross-platform. Does this mean linux and macOS? Thank you in advance, Timothy.
0
by: demibee | last post by:
Thought this might be of interest to some out there... For those who've never encountered it, it's a free, open-source, cross-platform GUI library (Windows/Mac/Linux). Forte's Agent 2.0 will be...
1
by: Paul Tremblay | last post by:
Hi All, I am writing an application framework which consists of classes mainApp and childApp (parent, child resp). My intention is to make childApp a base class to be extended by applications...
14
by: John Salerno | last post by:
Bear with me, but I've been reading a lot about how the .NET languages are platform independent, and I assume this means a program written in C# can be run on a Unix or Mac machine. If this...
7
by: Janiv Ratson | last post by:
Hello, We are going to develop our application from scratch. The application is currently written for WIN32 users only, using MFC. The requirements asks that the application will run (in the...
5
by: Michael Reichenbach | last post by:
After working with script languages, notepad(++) and co. and several other ide`s I found something which really improved my productivity (Visual Studio 2005). It`s imho better then dev-cpp... I...
7
by: james_027 | last post by:
Hi, I am using delphi to develop gui application, and wish to make a shift to python. here are some of my question/concern... 1. is python develop gui application a cross platform? just like...
29
by: psaffrey | last post by:
I've been programming in Python for 5 or more years now and whenever I want a quick-n-dirty GUI, I use Tkinter. This is partly because it's the first toolkit I learnt, but also because it's part of...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development projectplanning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.