On 28/02/2016 06:34, Steven D'Aprano wrote:

GUI elements are by definition graphical in nature, and like other graphical
elements, manipulation by hand is superior to command-based manipulation.
Graphical interfaces for manipulating graphics have won the UI war so
effectively that some people have forgotten there ever was a war. Can you
imagine using Photoshop without drag and drop?

And yet programming those graphical interfaces is an exception. There, with
very few exceptions, we still *require* a command interface. Not just a
command interface, but an *off-line* command interface, where you batch up
all your commands then run them at once, as if we were Neanderthals living
in a cave.

You've got that back to front.

It's the GUI users who are the Neanderthals, having to effectively point at things with sticks. Or have to physically move that rock themselves (ie. drag a file to a wastebasket).

More advanced uses have the power of language, with all its sophistications (ie. commands lines and scripting). And they don't need to move that rock, they can tell someone else to do it! But with far more control: all rocks of a certain size and colour, and at sunrise tomorrow.

Some things are just more easily described with a script or formula or algorithm which is then 'rendered' to produce the result. Not quite right? Change one parameter to re-render to instantly produce a new version, that would have taken minutes or hours to do manually.

An effective and modern GUI builder UI should be programmable without
requiring programming. About thirty years ago Apple came up with the ideal
mix of graphical and programmatic development for its Hypercard product.
You built applications by dragging and dropping widgets on the screen, or
by copying and pasting them from a library of pre-made widgets.

You have to give someone some shopping to do. What's quicker, jotting down a list of milk, bread, eggs and so on, or invoking some GUI program where you have to first look for each category, then have to choose the exact subcategory, size, quantity...


--
Bartc


--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to