Author Topic: The feature request that started it all! (for me that is) :)  (Read 7308 times)

Offline rickg22

  • Lives here!
  • ****
  • Posts: 2283
This feature request was deleted today. Anyway I think you guys would enjoy reading it, it was the message that directed me to Code::Blocks development.

Quote
Bugs item #1063182, was opened at 2004-11-09 08:53
Message generated for change (Settings changed) made by gururamnath

Submitted By:
Ricardo Garcia - rickg22
Date Submitted: 2004-11-09 09:53
Changed to Closed status by:gururamnath
Closed as of: 2005-07-24 18:29
Last Updated By:gururamnath - Settings changed
Date Last Updated:2005-07-24 18:29

---
Please note that this message will contain a full copy of the comment
thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
>Status: Closed
>Resolution: Invalid
Priority: 1
Submitted By: Ricardo Garcia (rickg22)
Assigned to: Nobody/Anonymous (nobody)
Summary: Help wanted: Make a (wx)devcpp clone

Initial Comment:
Guru: Please leave this feature request open so anyone
interested can cooperate.

My idea is using wxdev-cpp (or dev-cpp + wxWidgets) to
make a dev-cpp clone in 100% C++.

The current problem with (wx)dev-cpp is that it's
written using a *commercial* platform (Delphi). I
propose that someone ports (wx)dev-cpp to C++ using the
wxWidgets library. With wx-devcpp, i think this
*should* be easy.

At first the only thing to be done should be the UI and
the configuration saving/loading. (You should use
dev-cpp, not wxdev-cpp as the original model).

When we got that thing working, we could then add the
editor component (scintilla if possible). Then onto
project management.
Finally we can work on the compilation routines. The
debugging parts should be left for the final.

(I've tried to get people to cooperate in the dev-cpp
group, but the Linux version they have is rather old
and it requires... well, Linux. AFAIK *nobody* has
volunteerd to touch it. So I think it's better if
someone started something fresh).

If the project is done using C++, many more people can
volunteer - because we can use (wx)dev-cpp for free,
and to get Delphi we must spend hundreds of dollars.

So if anyone with free time is interested in making a
(wx)dev-cpp clone using wxdev-cpp itself, please post
in the forums and get to work! :)

----------------------------------------------------------------------

Comment By: Guru Kathiresan (gururamnath)
Date: 2004-11-09 17:32

Message:
Logged In: YES
user_id=677339

Rick,
There is a project called codeblocks
(http://www.codeblocks.org/). This is created by this person
who is the brain behind the codecomplete,Class browser and
other goodies in Dev-C++. May be you guys can help him.

-Guru

Thanks, Guru! :) Without your message, I would have never found Code::Blocks! :)

Offline Ceniza

  • Developer
  • Lives here!
  • *****
  • Posts: 1441
    • CenizaSOFT
Re: The feature request that started it all! (for me that is) :)
« Reply #1 on: July 25, 2005, 02:04:19 am »
Heh, so that started it all...

Even though you were wrong about something: You don't need to spend hundreds of dollars to get Delphi. I got Delphi 6 from Borland and also the license for Personal Use, all free, and you can still request licenses for it, and once again, for free.

I even got to compile Dev-C++ with the Borland Delphi 6 I got without problems, even though I wasn't feeling like doing much work on it because of Delphi (I was teached Pascal about four years ago, but... you know, C++ just rules).

Anyway, I just care about Code::Blocks now :wink:

darklordsatan

  • Guest
Re: The feature request that started it all! (for me that is) :)
« Reply #2 on: July 25, 2005, 04:00:50 am »
Whoa rick, thanks for sharing that with us. I bet it brings some  :cry: to you! hehe. Probably Yiannis was really happy to see you get onboard by then

Offline kagerato

  • Multiple posting newcomer
  • *
  • Posts: 56
    • kagerato.net
Re: The feature request that started it all! (for me that is) :)
« Reply #3 on: July 25, 2005, 11:27:37 pm »
I even got to compile Dev-C++ with the Borland Delphi 6 I got without problems, even though I wasn't feeling like doing much work on it because of Delphi (I was teached Pascal about four years ago, but... you know, C++ just rules).

Delphi Personal is free as in cost, but not free as in freedom.  For example, distributions of Delphi 6/7/8/9 (2005) are very rare across the internet.  The japanese version of Delphi 6 is still available on an old section of Borland's co.jp site.  There was some other fellow distributing Delphi 6 freely, but it seems to have disappeared.

I like Object Pascal quite a bit myself; the way it handles namespaces and units is simple and consistent.  The assignment and equality operators are easily differentiated and more difficult to typo than in C.  Blocks are very clearly labelled, and the interface/implementation structure helps keep code relatively well organized.  Also, the "uses" section of each unit forces the programmer to keep track of dependencies rather clearly.

Unfortunately, Lazarus is the only open-source alternative to the mostly-commercial Delphi.  The compiler and IDE are rather large; the installer data expands to 225 mbyte.  (46.1 mbyte of that is the sources to the free pascal compiler; 68.1 mbyte are the build tools and pre-built unit files for win32, gtk, rtl, and other libraries.)  In contrast, CodeBlocks is 7.30 mbyte and MinGW is 53.7 mbyte on my system.

I could live with Lazarus' huge IDE size -- it's still relatively small compared to the monsters that are Borland's and Microsoft's tools.  What this developer can't live with is the size of the generated programs; a basic executable with one form and virtually no code of its own compiles to a 5.82 mbyte executable.  This is partly because a lot of debugging information is included.  Strip can lighten the load significantly, but a stripped binary is still 1.52 mbyte.  "Smart linkable (-CX)" and "Link Smart (-XX)" in the compiler options do nothing to reduce the size. The problem has three joint causes, from what I've read on the Lazarus forums.  One, the precompiled units included with lazarus are debug rather than release versions; therefore they contain a good deal of normally unnecessary debugging symbols.  Two, the linker (ld) employed is an external solution and completely unoptimized for object pascal work (this is likely the reason why smart linking fails so miserably).  Three, the design and usage of the LCL (the visual component library used by Lazarus) is not modular enough to link only used widgets/components even if the first two problems were alleviated.  [Example: the win32 code and GTK code are never both required, but chunks of both as well as other libraries are included in each executable.]

The very fact that Lazarus doesn't provide a powerful linker to resolve some of this is pretty sad.  However, it does in part demonstrates how much smaller the developer base for object pascal is compared to C++.  Vincent, who appears to be the lead developer for Lazarus, doesn't have the time/desire to update the GNU linker so that it can "smartlink" debug-version pascal units.  It seems like he intends to fix the problem eventually, though whether it would be by improving ld or writing a entirely new linker is unclear.

Executables created with Delphi 6/7 and the VCL are not that small either.  Usually they end up in the 400-550 kbyte range (assuming no cheating, like using PKZip or UPX).  Unfortunately, the situation with Delphi appears to be getting worse and not better.  The newer incarnations are now primarily directed towards .NET development, which introduces even more bloat into the IDE.  Generated assemblies/programs are probably smaller now, but that's at the cost of a 22+ mbyte runtime/interpreter.

It seems to me that C/C++ development is the most favorable, at least for now.