Boost logo

Boost :

From: Reece Dunn (msclrhd_at_[hidden])
Date: 2005-05-25 11:09:20


Jason Earl wrote:
>I guess everyone has their preference. Though I'm a Windows user at heart,
>I do find that many of the WYSIWYG tools to me have a much higher learning
>curve than doing stuff the old fashioned command line at times. Certainly,
>as web design/programmer, I detest IDE's, and find nothing beats jEdit for
>everything that doesn't depend on Photoshop. Maybe I'm a control freak.

IDEs can be very powerful. For example, I mainly use the VS IDE as an
"enhanced text editor". Features like syntax highlighting, virtual
whitespace, visible whitespace and regular expression search/replace
simplify program development. Also, the VS IDE has very powerful debug tools
that allow you to step through a program, examining argument values and the
call stack.

That said, I use bash and bjam/BBv2 to build my projects, processing the
resultant data to an XML file to display nice summaries and see more
specifically where a problem occured, if any. I am not too keen on the
project creation tools as they have a habit of adding things you don't want,
use a specific formatting that you may not like and require you to change
the project settings if you want to output the binary files to a different
directory for example. I have also been tripped up by modifying some setting
in the current configuration and not "all configurations".

A good GUI should make it simple for the user to do common tasks and even
setting up complex ones. It should also give the user control if they
need/request it.

>At the same time, getting things working in Windows is so much easier than
>Linux, things do work out of the box, and that's where I'm thankful for a
>UI.

I am a huge fan of the keyboard shortcuts in Windows. I am also a fan of
bash :).

>I guess this argument is very much down to personal taste. Again, as I
>said, much as I have said that I personally don't have a problem with CLI
>build systems, I do agree with Reece that a GUI system would be a nice
>icing on the cake. However I would not want want to see good old fashioned
>CLI build system be replaced outright (and I can't see that happening
>anyway).

I was not intending the GUI layer to replace the CLI. My idea was simple:
give the user the *choice*.

If you are a novice, you can use the GUI to simplify the setup and configure
things for you. This would probably mean providing a pre-build program that
will configure the environment, build bjam, build Boost for the compiler(s)
you select and integrate it with your favorite IDE(s). Experienced users/CLI
gurus can choose to configure Boost manually.

It would be nice to have a set of common problems encountered by users and
their solutions.

>I still think that the CLI based build system is fine, it just might need
>some adjusting so that it's simpler to use as users don't have to see
>kilobytes of make commands being issues.

I have a bjam output logger that generates XML output (based on the
regression test version) to a file. You still see the bjam output (using
--echo), but you also get a nice XML file that uses an XSLT file to view it
as HTML, similar to how the VS IDE works.

I will make this available in the sandbox vault.

Reece Haston Dunn
Software Engineer, Sophos

Web: www.sophos.com
Sophos - protecting businesses against viruses and spam


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk