
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