Author Topic: The Comparison of Code::Blocks and Relo?  (Read 9783 times)

bud

  • Guest
The Comparison of Code::Blocks and Relo?
« on: August 01, 2005, 10:12:52 pm »
Can someone make a comparison of Code::Blocks and Relo?
Their advantages and disadvantages.
http://www.fifsoft.com/relo/
I hope Code::Blocks can be better and better.
Please make Code::Blocks better than Relo.
« Last Edit: August 02, 2005, 08:41:45 am by bud »

darklordsatan

  • Guest
Re: The Comparison of Code::Blocks better and Relo?
« Reply #1 on: August 01, 2005, 10:58:01 pm »
Well, Im gonna post a  :D when the feature is available in C::B,  :( when its not,  :shock: when I'd like to see it implemented, and  :o when C::B could handle it better. And this is just because Im bored

Supported C/C++ Compilers
*  Minimalist GNU for Windows (MinGW) - a port of GCC to Windows which includes an implementation of the Win32 API; versions 2.9x   and 3.x supported  :D
* Borland C++ (32 bit only) - the core compiler used in Borland's C++ products  :D
* Microsoft Visual C++ version 6 - may also support other versions, only 6 has been tested  :D
* Digital Mars C/C++ compiler  :D

Editor Environment
*  Syntax highlighting for 19 different languages and file formats  :o
* Up to 10 bookmarks can be placed at a time per file  :shock:
* Text editing features such as upper/lower case, tabs-to-spaces, adding/removing comments  :o
* Mass Insert - a feature to add text at the beginning and end of selected lines of text  :(
* Code hints for C and PHP functions   :shock:
* Almost all information about files (whether opened or previously opened, regardless if they are in the project) is stored in the project file  :?:

Dialog Box Editor
* Support for loading, editing, and saving dialog boxes in the standard Windows API resource script format  :(

Projects
*  Visual C++ projects and workspaces (only ver 6 tested)   :lol:
* Borland C++ Builder  :(
* Dev C++  :D
* Delphi  :roll:
Files in a Relo project can be categorized into one of the following categories:
* Source/Object Files - the default category. Only source files in here will be built.  :D
* Header Files - for C/C++ header files. Files are placed in here automatically and cannot be removed. Files cannot be moved here.  :D
* Resources - not for files; displays dialog boxes present in included resource scripts  :shock:
* Documentation - designed for documentation. Files here are not build.  :shock:
* Miscellaneous - for files that shouldn't be built, but are not part of the documentation.  :shock:
* Files can be easily moved between Source/Object, Documentation, and Miscellaneous categories.  :shock:
Relo supports the following types of projects:
* Windows Application - Windows API GUI program  :D
* Console Application - default C/C++ program  :D
* DLL - DLL for Windows  :D
* Static Library - a static library  :D
* Web Project - designed writing for web pages, not C/C++ programs :roll:
pwn3d! C::B has more built-in project types, and templates can be added easily

Web Support :roll:
I dont think we're interested in a php IDE...





Offline rickg22

  • Lives here!
  • ****
  • Posts: 2283
Re: The Comparison of Code::Blocks better and Relo?
« Reply #2 on: August 01, 2005, 11:27:16 pm »
Hi, thanks for showing us your link :). Frankly I don't know how Relo works, but I downloaded the sourcecode, and I've gathered some observations (info taken from the Relo homepage):

* Regarding the form/dialog editor:
In this aspect, Relo is more user-friendly than Code::Blocks, because all you need to start your own program is open the form editor, and move the buttons around. In Code::Blocks, this feature is not implemented... yet :) . But as you can see, a dialog editor is in the works and it's being worked on by *AHEM AHEM* byo and cyberkoa *AHEM AHEM* and hopefully *AHEM* they'll soon bring us a usable version. *Cough cough* (clears throat) :P
Winner: Relo

* Regarding syntax highlighting:
Relo uses Synedit (the same one used by Dev-Cpp), while Code::Blocks uses Scintilla. These editors are very similar to each other, but I prefer Scintilla because of the code folding and the ability to change the font size with ctrl-scrollwheel. Synedit comes with syntax codes by default, while Scintilla requires the programmer to add them. However, we're planning on adding these.
Winner: It's a tie!

* Regarding compilers:
Relo supports natively MinGW, BCC compiler, and MSVC v6 (only one tested) or Digital Mars thru configuration files.
Codeblocks supports natively MinGW, BCC (with some limitations), MSVC6 / MSVC++ Toolkit and we've been reported that it works with MSVC.NET, too. It also natively supports Digital Mars, and support for OpenWatcom is in the works.
Plus, Codeblocks can generate and work with makefiles.
Winner: Codeblocks

* Regarding importing of projects:
Relo can import MSVC6 and Borland projects (C++ / Delphi), and Dev-C++.
Codeblocks can import MSVC++ up to version 9, and the latest features (inter-project dependencies) are being worked on by zieQ. We hope to have this fully functional for 1.0-final. Oh yes, we support workspaces.
Relo homepage doesn't mention workspaces, so I guess it's not supported. And apparently the Borland user base is at least half than the Microsoft (i'm not saying it's a good thing, but if you're going to develop a product, better think of the majority).
Winner: Codeblocks, with flying colors :P

* Regarding code completion:
Relo can do code completion with C++ and PHP files, but we don't know to what extent.
Codeblocks has code completion for C++ files only. It doesn't have a framework for extensible code completion, since its logic for parsing is hard-wired for C++.
Winner: Relo

*Regarding class-browser:
Relo doesn't have a class browser.
Codeblocks has a full-featured one.
Winner: Codeblocks

* Regarding extensibility:
Relo is built with BC++, and it can be extended with either proprietary or open source controls. But I've seen very few opensource controls.
Codeblocks is built with wxWidgets, meaning it has a vast library for extending some features and dialogs. With many sourceforge wxWidgets projects, the sky's the limit.
PLUS, CodeBlocks is built around a plugin framework, and we have in the works a RAD plugin, a SubVersion plugin, a help plugin, a profiler plugin... actually, even the compiler module is a plugin! :shock:
Winner: Codeblocks

*Regarding portability:
Due to the use of wxWidgets, Code::Blocks can be compiled in Windows or Linux. The Linux version is still buggy, and due to some problems inherent to Linux (dependencies, compiling mandatory to install), it may crash depending on the circumstances it was compiled in. But we're always improving it.
Relo can only be compiled in Windows platforms.
Winner: Codeblocks

*Regarding usage experience:
Some applications built or being developed with CodeBlocks are:
* Codeblocks itself! :shock:
* Some games using the OGRE3D library (See the OGRE3D forums)
* Some people reported working on Half-Life 2 mods, but we haven't heard from them.
* Some TCP/IP console apps I made myself (for the job)
Applications built with Relo:
* the FifSoft games, apparently (using Allegro game library)
* FS Install, an installer made for GNU/Linux.
Winner: ???

* Regarding open source ("free as in speech"):
In the Relo source code,I see .dfm files in it (it's built in Borland C++, right?). It seems that (IMHO, haven't actually tried), you need BC++ compiler to modify and test it. (Can Relo be recompiled and modified using itself? This is what is called "bootstrapping" in programming circles). If not, then it's a big turnoff for open source, requiring a commercial product. This also implies that development is stalled and new features will take much more time to implement.
Codeblocks is built in GNU C++ and wxWidgets, both open source.
Winner: Codeblocks

* Regarding the team:
Relo has only one developer, which means he must take all the burden by himself. IMHO, one-person team projects are ephemeral or end up as commercial products (see KBasic for more info).
The Codeblocks project has two people working on the "core", and around 4 or 5 people working on specific areas like MSVC importing, or developing plugins. (Maybe it's so easy to join the team because you can compile Codeblocks using Open Source tools, and it's very easy to develop your own plugins?). This also means a bug or feature can be fixed/added by any of the developers, depending on the complexity of the bug iin question.
Winner: Codeblocks

Veredict:
* If you are a Windows-only Borland C++/Delphi user, or you don't have the time to learn GUI programming with wxWidgets, or you're focusing more on writing for PHP than C++, go for Relo.
* Otherwise, choose Code::Blocks.

« Last Edit: August 02, 2005, 09:35:11 am by rickg22 »

Offline thomas

  • Administrator
  • Lives here!
  • *****
  • Posts: 3979
Re: The Comparison of Code::Blocks and Relo?
« Reply #3 on: August 02, 2005, 03:42:46 pm »
<flame intensity="heavy">
Relo, in my opinion, it is quite inferior to code::blocks in almost every respect, in particular as far as the UI is concerned. It is practically impossible to compare these two.
</flame>

That is not a nice thing to say because the person developing it has put a lot of work into it, I know. But still, I think there is no real base to compare these two IDEs.

code::blocks runs out of the box (at least on Windows), and is intuitive in every respect. Setup time is one minute. Learning time is zero, because the program just does what you expect it to do (if you have used an IDE before).

I first looked at Relo a couple of months ago (shortly before discovering code::blocks), and gave up on it after 15 minutes. However, to have an accurate view, I downloaded the latest build today and looked again.

Compiler auto-detection does work with gcc and DM (did not try others), compiling a project template using gcc works too (did not try DM). However, Relo blocks the screen with a popup window while a compile is running.

Creating a new project is dialog box hell. You are asked 3 or 4 times whether to save this and that file in addition to the common file dialogs. And yet, it does not work properly. I made a new project and clicked "yes" each time I was asked "do you want to save", then closed Relo, and was asked again for every friggin file, I answered "yes" again.
Restarted Relo, selected "Open Project" and was prompted to select a "*.fde" file, but there was none!
Maybe it *is* possible to save a project in Relo (it probably is). But if it is that easy to get it wrong, then sorry...

Linker settings seem ok, spartanic, but usable. Compiler settings (placed in a corner under the tab "Options") have to be set manually, and there is a button which looks like a combobox, so you would expect to be offered something there. The button does nothing, however.

Class browser? Debugger? What's that?

Relo has some rudimentary support for web projects, but no outstanding features, really (code::blocks can also edit .html files and put them into a project, and the "web toolbar" is not a biggie).

There also seems to be some support for forms and dialog boxes, although I was not able to figure out how to use them in 2 minutes (maybe reading the manual would have helped).

The UI in general looks like a copy of Dev-CPP gone wrong. It confuses the hell out of me.
One example of a confusing UI is the editor toolbar. This toolbar is aligned vertically to the left of the editor. The button to close the editor is on top, so far it is still ok.
Its icons are rather small and easy to click wrong. They can be shown in four sizes, the largest size being the only usable one. Unluckily, there is an ugly white border around the icons in that view (transparency gone wrong?).
At the bottom of the toolbar, there is a button with a wedge pointing downwards. To me, this suggests "scroll down to see more". In fact, it closes the toolbar, and it took me a minute to find where to restore it.

"We should forget about small efficiencies, say about 97% of the time: Premature quotation is the root of public humiliation."

Offline kagerato

  • Multiple posting newcomer
  • *
  • Posts: 56
    • kagerato.net
Re: The Comparison of Code::Blocks and Relo?
« Reply #4 on: August 02, 2005, 06:32:21 pm »
The UI in general looks like a copy of Dev-CPP gone wrong.

Hahaha...but you're right.  Relo's user interface does look pretty bad -- and that I can tell from screenshots.

If it doesn't have integrated debugging, there's little chance of getting me interested in it.