Boost logo

Boost :

From: John Torjo (john.lists_at_[hidden])
Date: 2004-11-08 05:22:48


> Back on the subject of a GUI library: I understand the motivation -
> that's where wxWindows arose. And I realise that nowadays a GUI library
> could be done in a much more modern C++ style. But my question is: is
> C++ the right language? I don't want this to descend into a religious
> war - C++ is my favourite language, but it isn't the best language for

I would say so ;) For instance, you can abstract away a lot of stuff
(true binding of data to GUI controls):
http://www.torjo.com/win32gui/save_dlg.html

Also, I want to allow, in the future, to bind STL containers directly to
GUI list controls.

So, I would say a higher level language won't be of help here - because
you would need to convert your data and send it back and forth.

I remember the days when I used to do the UI in VB - it was quite a
mixed feeling...

> every task. Would a higher-level, more dynamic language be more suitable
> for GUI work? In a perfect world, I'd do all my back-end stuff in C++

sometimes, certainly

> and all the front-end development in, say, Python. By doing all the GUI
> work in C++ instead of an interpreted language, you:
> a) spend a lot more time recompiling.

that is unfortunately true :(

> b) can less easily tweak a running program to try out different ideas.

We're missing a good GUI designer... But we're slowly getting there ;)

> c) have to spend a lot of effort to construct a domain-specific language
> (c.f Spirit; see (a)).

Not sure what you mean...

> d) probably end up with a bigger codebase.

why so?

Best,
John

-- 
John Torjo,    Contributing editor, C/C++ Users Journal
-- "Win32 GUI Generics" -- generics & GUI do mix, after all
-- http://www.torjo.com/win32gui/
-- v1.5 - tooltips at your fingertips (work for menus too!)
    + bitmap buttons (work for MessageBox too!)
    + tab dialogs, hyper links, lite html

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