 |
BorlandTalk.com Borland discussion newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Tom|420 Guest
|
Posted: Tue Nov 23, 2004 10:12 pm Post subject: What about this solution ? |
|
|
For the last several weeks we have been waiting for the fatidic date of
Dec 15 to know if our favorite tool is going to survive or slowly die.
As said previously, in the event that BCB dies and is not replaced with
a suitable solution I will not give up using BCB just right now. With
time it will become less and less usefull as no updates are done to
support newer technologies and newer APIs, but for now it is still
suitable for me and should be for some time.
One thing I fear.... My primary reason to upgrade from BCB 5 to BCB 6
like two years ago is that BCB 5 did not work well for me under Windows
XP. It crashed for no apparent reason every now and then. It previously
worked fine on Windows Me. I had the choice of upgrading to BCB 6 or to
stay with Windows Me, but the later gave me reasons to kill so my choice
was obvious. From this groups it seems that I am the only one to have
had problems with it though. Anyway... I fear that BCB 6 stops working
with a future version of Windows. With no upgrade available, it might be
a no-way-around death. I'm happy with WinXP (1000 times more than I was
with Me at least) but at some time in time I will need to upgrade to
follow the crowd if I hope to write usefull and modern apps.
Well... Here is a solution I thought of.
With all the talents encrusted (is that a word?) in these newsgroups,
what about writting an open source BCB clone? Of course I use the word
'clone' lightly, as we will keep what we like and change what we don't.
I'm pretty sure that putting all are knowledge together we would end up
with at least one people assigned on every aspect on the project so that
in the end we would have something nice to work with. In fact, I believe
Remy alone could write the whole software, but I'd rather have him
available for the new newsgroups lol
Of course, we will write the original code using BCB 6.4 but eventually
we would end up using our own tools to write future improvement and new
tools. After all, wasn't the GNU GCC compiler written in C ? And the
Delphi IDE written in Delphi? I even even heard that the best Cobol
compiler was written in Cobol, although I doubt it.
Ok, I'm dreaming. I know we have a lot of work on hands. Of course we
could reuse existing stuff. No need to rewrite the compiler+linker from
scratch since we have GCC available. However, we need to rewrite a full
VCL-like library or else use wxWindow which doesn't permit our existing
projects to survive. We need to write a form designer. We need to write
a debugger. We need a lot.
"You might say I'm a dreamer, but I'm not the only one"
Tom
|
|
| Back to top |
|
 |
Kenneth de Camargo Guest
|
Posted: Tue Nov 23, 2004 10:16 pm Post subject: Re: What about this solution ? |
|
|
Tom|420 wrote:
| Quote: | With all the talents encrusted (is that a word?) in these newsgroups,
what about writting an open source BCB clone? Of course I use the
word 'clone' lightly, as we will keep what we like and change what we
don't.
(...)
Ok, I'm dreaming. I know we have a lot of work on hands. Of course we
could reuse existing stuff. No need to rewrite the compiler+linker
from scratch since we have GCC available. However, we need to rewrite
a full VCL-like library or else use wxWindow which doesn't permit our
existing projects to survive. We need to write a form designer. We
need to write a debugger. We need a lot.
|
There's a good headstart in the Lazarus project. A gcc-Lazarus
integration would be required. That probably isn't quite easy as
writing htat short sentence. <g>
| Quote: | "You might say I'm a dreamer, but I'm not the only one"
|
Ahem. It's "You may". :)
--
Ken
http://planeta.terra.com.br/educacao/kencamargo/
* this is not a sig *
|
|
| Back to top |
|
 |
Remy Lebeau (TeamB) Guest
|
Posted: Tue Nov 23, 2004 10:27 pm Post subject: Re: What about this solution ? |
|
|
"Tom|420" <tom420.duhamel (AT) gmail (DOT) com> wrote
| Quote: | For the last several weeks we have been waiting for the fatidic
date of Dec 15 to know if our favorite tool is going to survive
or slowly die.
|
And you will probably be waiting for another several weeks.
| Quote: | Anyway... I fear that BCB 6 stops working with a future version
of Windows.
|
The next future version of Windows is Longhorn, which is a major redesign of
Windows itself, so I would not be surprised if BCB6 has issues running under
it, even though Microsoft claims that all current Win32 apps will run under
Longhorn ok.
| Quote: | With all the talents encrusted (is that a word?) in these newsgroups,
what about writting an open source BCB clone?
|
I doubt that would fly very well. Mainly because:
1) BCB is a massive program that would take a considerable amount of time
and effort to clone. Borland could release a new up-to-date version before
an open-source version could be released.
2) the VCL and associated features are proprietary technology. Reverse
engineering the VCL for use in an open-source project would probably not be
allowed by Borland. Even though the VCL is mostly open-source already,
since much of its source code is distributed with BCB, its core code is not
open-source and thus still proprietary and protected.
3) the idea of open-sourcing BCB has already been pitched to Borland. It
didn't take.
| Quote: | Of course we could reuse existing stuff. No need to rewrite
the compiler+linker from scratch since we have GCC available.
|
You would have to introduce the Borland extensions into it in order to make
the VCL work at all.
| Quote: | However, we need to rewrite a full VCL-like library or else use wxWindow
which doesn't permit our existing projects to survive.
|
The only way to make existing projects continue to work is to make the
existing VCL itself work. Easier said then done, and probably can't be done
legally anyway since reverse engineering would be needed to get the logic
for the core functionality.
| Quote: | We need to write a form designer. We need to write a debugger.
|
You need a LOT more than that.
Gambit
|
|
| Back to top |
|
 |
Tom|420 Guest
|
Posted: Wed Nov 24, 2004 1:27 am Post subject: Re: What about this solution ? |
|
|
Kenneth de Camargo wrote:
| Quote: | There's a good headstart in the Lazarus project. A gcc-Lazarus
integration would be required. That probably isn't quite easy as
writing htat short sentence.
|
Now, I'm impressed. Didn't even know something was that close already.
No it's probably not as easy to add C++ to the kit, but it sure isn't
like we had to write it all from scratch. I few motivated ones could get
this done in a resonably interesting time frame, I believe.
| Quote: |
"You might say I'm a dreamer, but I'm not the only one"
Ahem. It's "You may". :)
|
Ok, you are more culturaly minded than me lol... At least I was close lol
|
|
| Back to top |
|
 |
Tom|420 Guest
|
Posted: Wed Nov 24, 2004 1:56 am Post subject: Re: What about this solution ? |
|
|
Remy, you probably didn't know of Lazarus either, based on you post.
Would you mind see the website, as I did, and give you impression on it?
http://www.lazarus.freepascal.org/index.php
I was really impressed by what I seen. It's not exacly a clone, of
course. Some features (very few actually) which are planned are not yet
implemented. I believe that some stuff are not planned at all, but based
of what I seen there doesn't seem to be anything that I need that isn't
in there (or planned).
Remy Lebeau (TeamB) wrote:
| Quote: | The next future version of Windows is Longhorn, which is a major redesign of
Windows itself, so I would not be surprised if BCB6 has issues running under
it, even though Microsoft claims that all current Win32 apps will run under
Longhorn ok.
|
Yep, I've heard some noise about this one, though not as much as I would
like to. Besides the very neat screenshots, there isn't much that I know
about it which is really clear. Rumors, concepts, that's all.
For every single version of Windows which have been released, Microsoft
always claimed that all existing software should continue to work fine
on the new version. I'm not sure I want to trust this kind of quotes
anymore. While for sure *most* applications still work without a glitch,
there are always some parts of the OS which are changed in an unexpected
way (from programers point of view). For example, you probably
remember that all programs for burning CDs stopped working when XP was
released because they decided to change the ASPI drivers without warning
(well, Roxio probably knew as it's their software in XP which is used
for the basic CD burning they've put in there, but even then it's
unclear why Easy CD Creator stopped working either). Examples are numerous.
| Quote: | 1) BCB is a massive program that would take a considerable amount of time
and effort to clone. Borland could release a new up-to-date version before
an open-source version could be released.
|
Lazarus have a pretty much complete IDE. No need to do it again. They
seem to have a few of the external tools available, and others in progress.
| Quote: |
2) the VCL and associated features are proprietary technology. Reverse
engineering the VCL for use in an open-source project would probably not be
allowed by Borland. Even though the VCL is mostly open-source already,
since much of its source code is distributed with BCB, its core code is not
open-source and thus still proprietary and protected.
|
Before I checked Lazarus, I asked to myself what exactly in the VCL
needed reverse engineering to re-implement. The VCL is pretty much a
wrapper around the win32 API, isn't it ?
Part of the VCL might be open source (that is we can see through it),
unfortunately that doesn't make it free.
As I see it, all we need is rewrite the classes to expose the same
members as the actual VCL, then implement the wrapping around the VCL.
Am I missing something?
Now that I've looked at Lazarus website, it seems that pretty much of
the VCL is in there already. It has a different name, it's implemented
differently, but as far as I can see the exposed methods and properties
are compatible. Further more, as I understand it, the library is just a
front-end, while you can choose what the back-end is: win32, GTK, Qt,
mac api....
It is not clear whether existing 3rd party Delphi components work in it
as is, or require modifications, but it appears to me that the required
modifications would be light.
| Quote: |
3) the idea of open-sourcing BCB has already been pitched to Borland. It
didn't take.
|
Most will agree that there is no reason to give away your product when
you don't intend to sell it anymore. Unfortunately, most companies won't
do this.
In this particular case there is one reason I see why Borland wouldn't
give away: BCB is an older version of their current Delphi. If Delphi,
and every other product based on the same product, was abandonned
either, maybe their opinion would be different on that matter.
| Quote: |
Of course we could reuse existing stuff. No need to rewrite
the compiler+linker from scratch since we have GCC available.
You would have to introduce the Borland extensions into it in order to make
the VCL work at all.
|
That is clear. I didn't say we would use GCC as it. GCC is open
software. We could change it to allow for extensions. I have no idea how
hard that would be, but there isn't that much to do, in my opinion. I
might be real wrong here, I don't know much about this issue.
GCC was an idea, but it's not the only thing available which to base
upon. The main idea is that I believe that writting a compiler from
scratch is a tedious job, but starting from an existing good one which
we modify is, I think, very possible.
| Quote: |
However, we need to rewrite a full VCL-like library or else use wxWindow
which doesn't permit our existing projects to survive.
The only way to make existing projects continue to work is to make the
existing VCL itself work. Easier said then done, and probably can't be done
legally anyway since reverse engineering would be needed to get the logic
for the core functionality.
|
What exactly was needed for the VCL (a Delphi library) to be made to
work with C++? Is there any changes required to the VCL itself or is it
a job left to the linker?
I ask because, the job is probably the same for getting the Lazarus
library to work with C++.
| Quote: |
We need to write a form designer. We need to write a debugger.
You need a LOT more than that.
|
I didn't intend to list them all lol
Anyway, please look at Lazarus and let me know your feelings about this.
Of course I'm still dreaming, as I don't see myself on that kind of
project, but there seem to be an opening. No one will write a single
line of code before Dec 15th, right? :)
|
|
| Back to top |
|
 |
Mike Margerum Guest
|
Posted: Wed Nov 24, 2004 2:37 am Post subject: Re: What about this solution ? |
|
|
Lazarus looks nice but I built a test 1 form app and the exe is 6 megs.
Why is it so big?
|
|
| Back to top |
|
 |
Mike Margerum Guest
|
Posted: Wed Nov 24, 2004 2:44 am Post subject: Re: What about this solution ? |
|
|
A couple of other things i noticed about lazarus
1. theres a TDatasource and TDataGrid but I dont see any TDataset
derivatives to make a db connection.
2. It looks like its not using standard win32 control but it's drawing
things like TButton. The look kind of like swing controls. Draws kinda
slow but I am running it in VMWare.
Still, it looks very promising. I'm impressed with their progress.
|
|
| Back to top |
|
 |
Eelke Guest
|
Posted: Wed Nov 24, 2004 7:31 am Post subject: Re: What about this solution ? |
|
|
Remy Lebeau (TeamB) wrote:
| Quote: |
Of course we could reuse existing stuff. No need to rewrite
the compiler+linker from scratch since we have GCC available.
You would have to introduce the Borland extensions into it in order to make
the VCL work at all.
Couldn't the borland extension be translated to ANSI-C++ using a special |
preprocessor like moc from Qt?
Eelke
|
|
| Back to top |
|
 |
Remy Lebeau (TeamB) Guest
|
Posted: Wed Nov 24, 2004 8:35 am Post subject: Re: What about this solution ? |
|
|
"Eelke" <e.klein (AT) mplussoftware (DOT) nl> wrote
| Quote: | Couldn't the borland extension be translated to ANSI-C++
using a special preprocessor like moc from Qt?
|
The extensions directly effect the machine code that the compiler has to
generate. They have to be implemented in the compiler itself, not the
project code. Hense why they are called *compiler* extensions.
Gambit
|
|
| Back to top |
|
 |
Kenneth de Camargo Guest
|
Posted: Wed Nov 24, 2004 9:42 am Post subject: Re: What about this solution ? |
|
|
Mike Margerum wrote:
| Quote: | Lazarus looks nice but I built a test 1 form app and the exe is 6
megs. Why is it so big?
|
Probably debug info (would be the case with gcc). Try to run "strip" on
it.
--
Ken
http://planeta.terra.com.br/educacao/kencamargo/
* this is not a sig *
|
|
| Back to top |
|
 |
Kenneth de Camargo Guest
|
Posted: Wed Nov 24, 2004 9:42 am Post subject: Re: What about this solution ? |
|
|
Eelke wrote:
| Quote: | Remy Lebeau (TeamB) wrote:
Of course we could reuse existing stuff. No need to rewrite
the compiler+linker from scratch since we have GCC available.
You would have to introduce the Borland extensions into it in order
to make the VCL work at all.
Couldn't the borland extension be translated to ANSI-C++ using a
special preprocessor like moc from Qt?
|
You need them for the interaction with the IDE too.
--
Ken
http://planeta.terra.com.br/educacao/kencamargo/
* this is not a sig *
|
|
| Back to top |
|
 |
Kenneth de Camargo Guest
|
Posted: Wed Nov 24, 2004 9:45 am Post subject: Re: What about this solution ? |
|
|
Tom|420 wrote:
| Quote: | Now, I'm impressed. Didn't even know something was that close
already. No it's probably not as easy to add C++ to the kit, but it
sure isn't like we had to write it all from scratch. I few motivated
ones could get this done in a resonably interesting time frame, I
believe.
|
One of the locals here (will the accused please stand up <g>) already
wrote a paper on the integration of C++ code with Lazarus, but as
add-ons to the FreePascal program, not straight from the IDE.
| Quote: | Ok, you are more culturaly minded than me lol... At least I was close
lol
|
Nah, just another Beatlemaniac... :)
--
Ken
http://planeta.terra.com.br/educacao/kencamargo/
* this is not a sig *
|
|
| Back to top |
|
 |
Micha Nelissen Guest
|
Posted: Wed Nov 24, 2004 11:08 am Post subject: Re: What about this solution ? |
|
|
Mike Margerum wrote:
| Quote: | A couple of other things i noticed about lazarus
1. theres a TDatasource and TDataGrid but I dont see any TDataset
derivatives to make a db connection.
|
"BPL"s are not supported yet by freepascal (dyn.libraries with OO code),
so you need to recompile the ide to include additional components. For
example components/tdbf and UIB are available.
| Quote: | 2. It looks like its not using standard win32 control but it's drawing
things like TButton. The look kind of like swing controls. Draws kinda
slow but I am running it in VMWare.
|
You're running windows in vmware on linux ? If you use a spy (eg.
spy++), you will see it creates the native win32 windows 'BUTTON',
'EDIT', etc.
Micha
|
|
| Back to top |
|
 |
Chris Uzdavinis (TeamB) Guest
|
Posted: Wed Nov 24, 2004 12:32 pm Post subject: Re: What about this solution ? |
|
|
Mike Margerum <mike (AT) junk (DOT) com> writes:
| Quote: | Lazarus looks nice but I built a test 1 form app and the exe is 6
megs. Why is it so big?
|
gcc puts the debug info inside the executable, whereas Borland puts it
in a seperate file. You can remove it with the "strip" command
(passing your application name as an argument), or if you omit the -g
flag on the compiler command line, it won't insert debug info in the
first place.
--
Chris (TeamB);
|
|
| Back to top |
|
 |
Oscar Fuentes Guest
|
Posted: Wed Nov 24, 2004 12:58 pm Post subject: Re: What about this solution ? |
|
|
Chris Uzdavinis (TeamB) <chris (AT) uzdavinis (DOT) com> writes:
| Quote: | Lazarus looks nice but I built a test 1 form app and the exe is 6
megs. Why is it so big?
gcc puts the debug info inside the executable, whereas Borland puts it
in a seperate file. You can remove it with the "strip" command
(passing your application name as an argument), or if you omit the -g
flag on the compiler command line, it won't insert debug info in the
first place.
|
I've just tried on one of my exes generated by MinGW without -g (and
-O2), `strip' reduces its size from 2.5 to 1.7 MB. So try `strip' even
if you did not use -g.
--
Oscar
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|