473,796 Members | 2,703 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Imagine: A GUI standard.

Why isn't there a Graphical User Interface standard? Think about it
for a second. You may say, well evey systems API for GUIs is differnt,
but do take into acound: every operating system requires differnt
compilations and often totally differnt compiler code. For instance
gcc on windows in not the same code as gcc on linux/unix but it
produces the same programs when you use it to compile. Yes you can
take something like:

#include <stdio.h>

int main(void) {
printf("Hello, world!\n");
return 0;
}

And compile it on Mac OS X, Windows XP, Debian Linux, freeBSD, etc.
Each time(especially on the unposix driven OS's) differnt machine code
is generated. So why can't you take:

#include <stdgio.h>

int main(void) {
stdwin s_window;

s_window = makenewwin(WIND OW_DIALOG);
win_printf(s_wi ndow, "Hello, World!");
wait(5);
closewin(s_wind ow);

return 0;
}

All of the functions above are imagineary of course but why havn't they
been created? Graphical User Interfaces have existed scince the Mid
80's (or maybe earlier correct me if I am wrong) yet there is still no
C standard about them. Yes more coding would be required on SEVERAL
systems, but it doesn't even apear as though there has been much effort
to make a standered for GUI. Porting GUI programs from linux to
windows, or back, is hell. Sure there are things that exist for
windows and linux for example GTK, but, there are differances, and this
is not "standard".
How long is it going to take before someone says "Okay, you know what,
text based user interfaces are not what most users use, wouldn't it be
nice to make it so that there is nice C standard based on GUIs?".
Well? Wouldn't it?
Nori

Jun 26 '06
24 2459
>Why isn't there a Graphical User Interface standard? Think about it
for a second. You may say, well evey systems API for GUIs is differnt,
but do take into acound: every operating system requires differnt
compilations and often totally differnt compiler code. For instance
gcc on windows in not the same code as gcc on linux/unix but it
produces the same programs when you use it to compile. Yes you can
Assume there is such a standard. How would you go about writing a
non-trivial application that runs well on (a) a cellphone with a
1" screen AND (b) a PC with a 15" or larger monitor? Also, cellphones
have considerably fewer keys than a PC keyboard. Some cellphones
don't have meece, thumbscroll, touchpads, or anything equivalent.
Regardless of the technology (e.g. you might be able to get a 1"
screen with 102400 x 76800 pixels if necessary), but you DO NOT get
to require laser eye surgery for the users attempting to use it,
nor do you get to reduce the size of the user's fingers.
int main(void) {
stdwin s_window;

s_window = makenewwin(WIND OW_DIALOG);
win_printf(s_wi ndow, "Hello, World!");
Didn't you forget something about what font to use here?
And the size of the window?
wait(5);
closewin(s_wind ow);

return 0;
}


Gordon L. Burditt
Jun 27 '06 #11

Well, C is a std language for all sorts of devices. Some don't even
have a display, or just a 6-char LCD display. What then? You implement
a std that can't be fulfilled by some device, which makes the language
crap.
Let C be C and GUI be GUI. Get a library for GUI programming. There's
lots out there and lots of free and lots of x-platform.
Examples:
C++: wxWidgets, Fox-Toolkit
C: GTK

Jun 27 '06 #12
Gordon Burditt wrote:
Why isn't there a Graphical User Interface standard? Think about it
for a second. You may say, well evey systems API for GUIs is differnt,
but do take into acound: every operating system requires differnt
compilations and often totally differnt compiler code. For instance
gcc on windows in not the same code as gcc on linux/unix but it
produces the same programs when you use it to compile. Yes you can


Assume there is such a standard. How would you go about writing a
non-trivial application that runs well on (a) a cellphone with a
1" screen AND (b) a PC with a 15" or larger monitor? Also, cellphones


One could reasonable assume that such a library would not be required
for freestanding environments just as most of the rest of the library is
not required for freestanding environments. So unless your cellphone is
a hosted environment it is not too relevant to the argument.

A bigger problem is a server with no GUI installed, and I certainly come
across those and use them as hosted implementations .

<snip>
int main(void) {
stdwin s_window;

s_window = makenewwin(WIND OW_DIALOG);
win_printf(s_wi ndow, "Hello, World!");


Didn't you forget something about what font to use here?
And the size of the window?


Yes, he missed some stuff. However I would assume it was only meant to
show the concept, not the detail. It is obviously possible to define a
cross platform GUI library since several have been done, the question is
whether it should be part of the C standard. I'm not convinced it should
be and I doubt that those producing cross platform libraries would be
convinced that they should change to meet some new GUI interface standard.
--
Flash Gordon, living in interesting times.
Web site - http://home.flash-gordon.me.uk/
comp.lang.c posting guidelines and intro:
http://clc-wiki.net/wiki/Intro_to_clc

Inviato da X-Privat.Org - Registrazione gratuita http://www.x-privat.org/join.php
Jun 27 '06 #13
no*********@gma il.com wrote:
Why isn't there a Graphical User Interface standard?


<snip>

One of the 'standards' bodies I worked on for sometime had the rather catchy
title of P1201 (Google for IEEE and 1201 [also 1201.1 and 1201.2]). Anyway,
after years of work, the best we could politically get through was a
'recommended practice' - which was as effective as a one legged arse kicker
of course! If it weren't OT, I could bore you to death with some tales that
you curl your toes!

--
==============
Not a pedant
==============
Jun 27 '06 #14
pemo wrote:
as effective as a one legged arse kicker


http://www.obsessedwithwrestling.com...nacious-z.html
Finishing Move: One-Legged Moonsault
Favorite Moves: One-Legged Dropkick
One-Legged Asai Moonsault
Swinging Neckbreaker

http://www.obsessedwithwrestling.com.../big-show.html
Height & Weight: 7'1" - 493 lbs

http://www.obsessedwithwrestling.com...wn/030703.html
Zach Gowan kicks a chair into Big Show's face!
Zach Gowan dropkicks Vince McMahon,
and then hits a one-legged moonsault on the Big Show!!
Zach Gowan pins the Big Show to win a WWE wrestling contract!!!!!!! !!!

--
pete
Jun 27 '06 #15
Flash Gordon <sp**@flash-gordon.me.uk> wrote:
A bigger problem is a server with no GUI installed, and I certainly come
across those and use them as hosted implementations .
Indeed, although it would theoretically be possible for the GUI calls
to degenerate to some curses-like functionality on such a system.
Yes, he missed some stuff. However I would assume it was only meant to
show the concept, not the detail. It is obviously possible to define a
cross platform GUI library since several have been done, the question is
whether it should be part of the C standard. I'm not convinced it should
be and I doubt that those producing cross platform libraries would be
convinced that they should change to meet some new GUI interface standard.


I'm not convinced people would use this proposed GUI interface
standard even if it could be wished into implemented existence
tomorrow. Presumably the vast majority of situations where standard
or nearly-standard cross-platform GUI behaviors are required are
already being handled by Java or any of the numerous GUI toolkits
previously mentioned.

--
Christopher Benson-Manica | I *should* know what I'm talking about - if I
ataru(at)cybers pace.org | don't, I need to know. Flames welcome.
Jun 27 '06 #16
In article <11************ **********@i40g 2000cwc.googleg roups.com>,
no*********@gma il.com <no*********@gm ail.com> writes
Why isn't there a Graphical User Interface standard?
This got argued to death in comp.std.c a few months ago.
Think about it
for a second.
They did and the answer was still "NO"

All of the functions above are imagineary of course but why havn't they
been created? Graphical User Interfaces have existed scince the Mid
80's (or maybe earlier correct me if I am wrong) yet there is still no
C standard about them.
Because every one has their own way of doing it. There are many
commercial systems already out there who will not want to conform to
your version. So most if not all of the companies doing graphic
libraries or GUI's (not the same thing) would stop your proposed system
for years in the standards process. IT would die there and not one wants
to put effort into it.
Yes more coding would be required on SEVERAL
systems, but it doesn't even apear as though there has been much effort
to make a standered for GUI.
Because no one wants one. If the industry wanted one they would do it.
How long is it going to take before someone says "Okay, you know what,
text based user interfaces are not what most users use, wouldn't it be
nice to make it so that there is nice C standard based on GUIs?".
Well? Wouldn't it?
Nori


No.

--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills Staffs England /\/\/\/\/
/\/\/ ch***@phaedsys. org www.phaedsys.org \/\/\
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/

Jun 27 '06 #17
>>> Why isn't there a Graphical User Interface standard? Think about it
for a second. You may say, well evey systems API for GUIs is differnt,
but do take into acound: every operating system requires differnt
compilations and often totally differnt compiler code. For instance
gcc on windows in not the same code as gcc on linux/unix but it
produces the same programs when you use it to compile. Yes you can
Assume there is such a standard. How would you go about writing a
non-trivial application that runs well on (a) a cellphone with a
1" screen AND (b) a PC with a 15" or larger monitor? Also, cellphones


One could reasonable assume that such a library would not be required
for freestanding environments just as most of the rest of the library is
not required for freestanding environments. So unless your cellphone is
a hosted environment it is not too relevant to the argument.


Assume that this is something called the "C GUI Extension", not a
requirement for C itself, and that the author of the implementation
on the cellphone actually tried hard to make it work well on the
cellphone, even if other parts like a file system not present or
very limited. I think there's a real use for common GUI code for,
say, option setting, between a cellphone and a program on a PC
used to sync data to the cellphone and mass-program cellphones.
A bigger problem is a server with no GUI installed, and I certainly come
across those and use them as hosted implementations .
My point here is that the "least common denominator" for a GUI,
assuming you've GOT hardware for a GUI, may be virtually unusable,
entirely due to hardware issues such as size of the screen, that
can't be papered over with software or surgery on the prospective
users of the device.
Yes, he missed some stuff. However I would assume it was only meant to
show the concept, not the detail. It is obviously possible to define a
cross platform GUI library since several have been done,
Have several been done in a way that portable programs can be written
that run on very GUI hardware-limited platforms so that they are
actually considered USABLE on such a platform *and* don't look
painfully primitive on a PC with decent display and graphics hardware?
the question is
whether it should be part of the C standard.
At best, I can see it as "The C GUI extension" which a C implementation
may claim to include or may not. (compare against POSIX compatability).
I have my doubts about whether that should be included in the C
standard vs. another standard.
I'm not convinced it should
be and I doubt that those producing cross platform libraries would be
convinced that they should change to meet some new GUI interface standard.


Gordon L. Burditt
Jun 27 '06 #18
no*********@gma il.com wrote:
Why isn't there a Graphical User Interface standard?


There are many such standards to choose from!

A GUI is a specific solution to a problem which connects event-based
user input from devices such as mice and keyboard with a 2D graphics
output frame buffer device. So what you should first ask for is a
standard for for input devices such as mice and keyboard (and maybe
joysticks) based on events and then a standard for graphics frame
buffer devices.

Microsoft's Direct X is an example standard that covers these (but
which is obviously platform specific.) X exists but is not considered
ideal. OpenGL is an example of a graphics frame buffer device
standard. OpenGL has a not insignificant amount of platform buy-in.
So it would seem that the real problem is the lack of an event-based
user input standard that is really missing.

Designing a GUI on top of such standards seems to me to be really kind
of application specific. But by having good device standards to begin
with, it would make it more possible to make any such GUIs more
portable. This would mean that competition would be more vibrant and
might eventually lead to a dominant market leader which might lead to a
defacto standard.

--
Paul Hsieh
http://www.pobox.com/~qed/
http://bstring.sf.net/

Jun 27 '06 #19
On 26 Jun 2006 14:25:09 -0700, in comp.lang.c ,
"no*********@gm ail.com" <no*********@gm ail.com> wrote:
Why isn't there a Graphical User Interface standard?
There are many...
80's (or maybe earlier correct me if I am wrong) yet there is still no
C standard about them.
Note that a GUI isn't a C feature, its an OS feature.
systems, but it doesn't even apear as though there has been much effort
to make a standered for GUI.
Actually there have been many efforts, going back as far as I can
remember. I first programmed UIs in PANEL, which was a multiplatform
UI. Then there's GTK ,which exists across multiple platforms, and
TCL/TK, and Neuron Data's OI, and....
nice to make it so that there is nice C standard based on GUIs?".
Well? Wouldn't it?


Not much call for a GUI on refrigerators, train track monitors and
nuclear installations.
--
Mark McIntyre

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it."
--Brian Kernighan
Jun 27 '06 #20

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

6
8334
by: John Bentley | last post by:
John Bentley writes at this level: If we think about our savings accounts then division never comes in (as far as I can see). We deposit and withdraw exact amounts most of the time. Occasionaly we get an interest payment. Unless the bank is cruel to its developers the interest figure will be able to be exactly represented by a computer, something like 4.1% as opposed to 4 1/3 % 125.78 * ' Initial Balance 04.1% -------
0
239
by: Anupam Jain | last post by:
Hi... Just returned from Bangalore last nite finishing off with the Microsoft Imagine Cup 2004. We were the National Finalists from North India + East India , representing 23 states and union territories of India at the India Finals of the Microsoft Imagine Cup, from IEC College Of Engineering And Technology. The West Zone was represented by VESIT, Mumbai and the South Zone by Sir M Visvesvaraya Institute of Technology, Bangalore.
43
5029
by: Steven T. Hatton | last post by:
Now that I have a better grasp of the scope and capabilities of the C++ Standard Library, I understand that products such as Qt actually provide much of the same functionality through their own libraries. I'm not sure if that's a good thing or not. AFAIK, most of Qt is compatable with the Standard Library. That is, QLT can interoperate with STL, and you can convert back and forth between std::string and Qt::QString, etc. Are there any...
1
3227
by: manish deshpande | last post by:
Hi, When i'm installing MySQL-server-standard-5.0.24a-0.rhel3.i386.rpm by the following command: rpm -i MySQL-server-standard-5.0.24a-0.rhel3.i386.rpm the following error is being shown: warning: MySQL-server-standard-5.0.24a-0.rhel3.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5 file /etc/my.cnf from install of MySQL-server-standard-5.0.24a-0.rhel3 conflicts with file from package mysql-3.23.58-1 file...
0
911
by: Thomas Holloway | last post by:
Hello fellow programmers and software enthusiasts. I am here today to ask of any people for an opportunity to work within a team for the Imagine Cup Korea 07 contest. The Imagine Cup. The name itself evokes possibilities. The world's premier student technology competition, the Imagine Cup is one way Microsoft is encouraging young people to apply their imagination, their passion, and their creativity to imagining technology innovations...
9
1504
by: Man-wai Chang | last post by:
How do/would you implement a pop-up window for user to pick a value out of a searchable list and then pass it back to the textbox? -- iTech Consulting Services Limited Expert in ePOS (Point-Of-Sales) solutions Website: http://www.itech.com.hk (IE only) Tel: (852)2325 3883 Fax: (852)2325 8288
1
1396
by: hsyq8xg | last post by:
From Google, translated to English from French: www.google.com/translate?u=http%3A%2F%2Fwww.pcinpact.com%2Factu%2Fnews%2F43165-premier-supercalculateur-GPU-France-Tesla.htm&langpair=fr%7Cen&hl=en&ie=UTF8 "A hybrid system composed of 1068 CPU octocoeurs new generation, with 48 modules GPU to make a maximum of parallel calculations." "According to our information, the 1068 processors are indeed Nehalem eight of hearts, and 48 modules...
4
1231
by: Ahmedhussain | last post by:
Hi every one, There are some questions related to Imagine Cup. But first I want to know how many people know about Imagine Cup. More Over I need to get an idea for Imagine Cup. there are some millenium goals that Microsoft have provided.. And In my group Im the only person who is thinking about it and uptill right now, Only one of my group member is interested about it. But None of us have any bright ideas in mind. SO I was thinking...
0
9533
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10461
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10239
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
10190
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
10019
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
6796
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5447
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
1
4122
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
3
2928
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.