Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > C++ > RFD: comp.lang.c++.cross-platform

Reply
Thread Tools

RFD: comp.lang.c++.cross-platform

 
 
Jonathan Mcdougall
Guest
Posts: n/a
 
      12-11-2007
On Dec 10, 1:14 pm, "Tomás Ó hÉilidhe" <(E-Mail Removed)> wrote:
> "Victor Bazarov" <(E-Mail Removed)> wrote in news:fjjka6$5ah$1
> @news.datemas.de:
>
> > That would be slightly better, but I would argue that such
> > newsgroup would still be the venue of disjointed discussions not
> > really having anything in common, except the language.

>
> Correct, cross-platform programming in C++. One thread could be about
> Graphical User Interface, while another could be about Networking or
> interfacing with USB devices. And then another thread could discuss
> whether it's right to be storing application data within a settings
> file in the application's directory.


I am not sure even you are able to pinpoint the exact description of
this newsgroup. You seem to be talking about "correct, cross-platform
programming in C++", but then you mention three completly different
and unrelated subjects: gui, networking and usb. In the OP, you also
mention scanners and wireless internet.

The scope of the newsgroup you propose seems to include all existent
libraries available that are considered "cross-platform" and use C++
bindings. Then,

1) What is "cross-platform"? How many platforms does a library need to
cross to be "cross-platform"?

2) What are the libraries that would be on-topic? What subjects will
be
accepted? Is it your intention of imposing any limit concerning the
purpose of the libraries that are discussed? If not, do you realize
the extreme range of subjects you might be accepting? If you do,
what kind of limits?

3) Do you plan on restricting subjects based on the popularity of
libraries? Can any library, as obscure as it might be, be discussed
on this newsgroup?

Your answer might be "Yes, the less obscure, the more answers".
Fine, but you might find that traffic may become low when people
realize that not all libraries can actually be discussed there if
answers are hoped for.

The natural conclusion would be that only well-known libraries
would
be discussed there, such as gtkmm, boost, curlpp, libxml++, etc.
The
problem is that most of these well-known libraries have been around
for years and already have other means of communication, either by
mailing lists, web-based forums or other newsgroups.

4) For a newsgroup to be interesting, active and to provide good
support, there needs to be regular users that have good knowledge
of
the subject at hands. To have these experts around, your newsgroup
needs to be focused and specialized.

For example (pardon the weasel words),

a) Many of the Microsoft newsgroups are regularily visited by
"MVPs". These newsgroups are very specialized (perhaps a
little
bit too much, I agree) and usually provide very good support.

b) many mailing lists (boost and gtkmm come to mind) include not
only regular users, but also the makers or maintainers of
these
libraries;

c) newsgroups related to languages often have compiler writers
or people involved in the standardization process.

If you propose a newsgroup that's so general any library that has
C++ bindings and is supported on at least two distinct platforms
can
be discussed, you are doomed to failure.

> > The language discussion in each of those, if it exists, does belong
> > to comp.lang.c++, but other aspects belong to other groups. Akin
> > to trying to put discussions specific for GM, Ferrari, Hyundai,
> > Trabant, under something like 'alt.vehicles.cars.consumer'. Do you
> > discuss gasoline there? Do you discuss driving? Do you discuss
> > racing events? Do you discuss how to change oil? Yes, yes, yes,
> > and yes. How is such newsgroup going to be useful? How is the
> > user of a Hyundai going to find any relevant information if he has
> > to weed through GM, Ferrari, Trabant, and all other posts?

>
> That analogy is poor, very poor, and I'm not going to resort to
> analogies to get my point across that c.l.c++.cross-platform would be a
> nice group.


If you replace car-related words with programming-related words, you
actually come up with something quite good:

"Akin to trying to put discussions specific for Windows, Linux, Mac,
QNX, under something like 'comp.lang.c++.cross-platform'. Do you
discuss the language there? Do you discuss compilers? Do you discuss
design patterns? Do you discuss the internal of the cross-platform
libraries? Yes, yes, yes, and yes. How is such newsgroup going to be
useful? How is the Windows user going to find any relevant
information
if he has to weed through Linux, Mac, QNX, and all other posts?"

> > If you want to get specific, then you break them up:

>
> > comp.programming.frameworks.c++.qt ... Of course, there are many
> > online resources listed onhttp://trolltech.com/developer.

>
> > comp.programming.frameworks.c++.directx ... Oh wait, there is the
> > 'microsoft.public.directx' hierarchy.

>
> > comp.programming.frameworks.c++.wxwindows ... Oh wait, it exists
> > already, 'comp.soft-sys.wxwindows'.

>
> And while we're at it, we should make other more specific groups:
>
> alt.cars.repair.clutch.nissan.prelude.1983.saloon. petrol.all-
> electrics.with-cupholders.green.retractable-sunroof.mileage-below-
> 55000.imported-from.Japan.during-the-decade-of.1970.name-of-first-
> registered-owner.John


Exactly! The more specific, the easier it is for people to
participate.
Take this newsgroup, c.l.c++, as an example: its name is not specific
enough (to newcomers, at least). Many, many posts come from people who
do not distinguish the language from the libraries from the compiler
from the platform. Regulars are trying very hard to maintain the very
high quality of the postings. By doing this, they also make sure that
other experts (such as those who write compilers or actively
participate to the standardization process) stay around to help.

By creating a "general" newsgroup, you won't get "everybody", you'll
get "no one".

> This caustic attitude is typical of Mr Bazarov, as you may
> imparitally observe if you check over his recent posts on
> comp.lang.c++.


As many have said before, I have no power on whether you decide to
continue or not. At the end, you might even want to create a public
Google Group or host a web-based forum yourself.

However, it seems you wanted some feedback on your proposal. You have
some now, albeit not what you might have expected. Take it into
consideration and try to keep the discussion polite and constructive.

--
Jonathan Mcdougall
 
Reply With Quote
 
 
 
 
Brian Mailman
Guest
Posts: n/a
 
      12-11-2007
Steve Bonine wrote:

> The traditional procedure for creating newsgroups is to have a proponent
> propose a group that makes sense to them and have a discussion about
> whether the group is correctly named and has sufficient support to
> develop a viable core group of participants. That's exactly what is
> happening in this case.


No, it isn't.

Most of what pjr said: Message-ID: <(E-Mail Removed)>

and I'll add the precedent has already been set (many times, not just
with the "obvious" groups), unless there's different rules for different
groups.* The precedent is that neither support nor traffic
justification is important. This is what John Stanley talked about in
the past--that if you have a rule for one, you have a rule for all and
constantly special-casing will eventually cause a problem when someone
says "well, why can't *I*...."

*I'm being polite here, and not naming the group with the special
privileges, the one that has crapped in its own food bowl.

B/
 
Reply With Quote
 
 
 
 
Art Deco
Guest
Posts: n/a
 
      12-17-2007
Tom––hlidhe <(E-Mail Removed)> wrote:

>(E-Mail Removed) (Mark Kramer) wrote in news.groups.proposals:


>> If the code is not taken to the other system, only the executable,
>> and is not intended to run on the system where it exists, then there
>> is no "porting", there is "cross-platform", which is accomplished
>> using cross-assemblers or cross-compilers and other cross-platform
>> tools (e.g., a linker with libraries for the target.) The creating of
>> the "program" has to cross a platform boundary, even if the code never
>> does.

>
>
>Again you're talking about cross-compiling. Here's an example of cross-
>compiling:
>
> I have code for a Linux program. I compile the code to run for
> Linux, and the only thing special is that I will compile it
> using a compiler that's running under Windows. The executable
> file produced will be no different from if I had compiled it
> on a comiler running under Linux.


Your words here: "The executable file produced will be no different..."

This is not cross-compiling or porting -- different operating systems
require vastly different executable files and file format.

Or do you mean that the behavior of the various OS-specific executables
are identical?

Your language is not clear.

>
>Cross-platform programming is about using cross-plaform libraries so that
>an application's code can be compiled for different systems.


What do you mean by "using cross-platform libraries"? Linking against
them to create OS-specific executable files? Or producing some kind of
single, universal executable file that runs on multiple operating
systems? Again, you need to make this clear.

1) The first case seems like what you are called "cross-compiling"
above.

2) The second case seems like it would produce what is called
"Least-Common Denominator" executables -- i.e. programs that do not
behave like native applications. I hate to call up the demons of the
Language Wars, but compiled Java applications tend to be this way.
They are oddballs to users on whichever computer they are run, and
experience has shown that people tend to hate them.
>
>The two terms are unrelated, please stop confusing them.


You may need to extricate compiling and linking in your proposal, I
think you have them all tossed together.

Are you talking about special compilers that produce a "universal"
p-code which is then linked with the "cross-platform libraries"?

I've tried to read all of your posts about this proposal and I still do
not understand exactly what it is you want to discuss.
>
>
>>>> Tell me, exactly where is the "cross" when you WRITE code on a
>>>> Windows system to RUN on a Windows system.
>>>
>>>None.

>>
>> I'll keep that in mind for later.
>>
>>>...unless of course you'd like the program to work on Linux and Mac OS
>>>too, in which case you'd go for cross-platform programming.

>>
>> I would not waste time cross-platform anything to get code to run on
>> Linux, since I can compile the code there just fine. I WOULD make sure
>> I wrote portable code, so that when I ported it from Windows to Linux
>> it would still run.

>
>
>I assume you're talking about simple commandline programs, yes? Because
>if you wanted a graphical user interface, you'd need to use a cross-
>platform library for GUI.
>
>If you simply take your Windows code and try to compile it for Linux
>you'll get an error firstly saying that windows.h doesn't exist. And even
>if you get by that, you'll get linker errors saying MessageBoxA can't be
>found anywhere. And even if you get by that, the program will run and
>fail because Linux hasn't got MessageBoxA.
>
>I'm talking about bigger and better things than commandline programs --
>I'm talking about applications with a GUI, that can print pages, that can
>do networking. The C++ Standard is no help to you in this, and so you'll
>have to go a layer above it to cross-platform programming.


Are you trying to advocate for a single standard c++ way of
implementing windows and interface controls?
>
>
>>>> What platform boundaries are you crossing?
>>>
>>>Linux, Windows, Mac OS, Solaris, FreeBSD, Playstation 3, XBox
>>>360.

>>
>> Absolutely ridiculous. That question was specifically about a
>> situation where you just claimed there was NO "cross" involved, and
>> now you claim a large number of irrelevant systems are somehow
>> involved.

>
>
>All of the systems I list above can retrieve a page from the web, yet the
>C++ Standard has no means of doing this. That's why we use a cross-
>platform library to retrieve a page from the web. Here's an example of a
>cross-platform application consisting of a single source file:
>
> #include <some_library\http.hpp>
>
> int main()
> {
> HTTPget("google.com");
> }
>
>Are you really having that much difficulty getting your head around this?


I hope you realize that this little program is not at all portable or
"cross-platform": file references in preprocessor directives (like
your #include) are notoriously hard to port, and your hard-wired
character string is also non-portable (encodings, storage, etc.).
>
>
>> You are not crossing a "linux" or any other boundary when
>> you are writing code on a windows system that will run on a windows
>> system. Linux has nothing to do with it.

>
>
>If the program is written using cross-platform libraries, then it *can*
>be compiled for use on Linux, Solaris, XBox 360, etc.


If I understand what you mean by this statement, in essence you want
something like WxWindows added to c++. Am I correct?

Can you say why you think the existing cross-platform frameworks are
unsuitable?

Do you want some kind of cross-platform framework added to the c++
standard?

How will this new framework be different from the existing ones?

How will the framework cover operating system calls that aren't in the
standard?
>
>
>>>> And yet, I'm supposed to believe that this is an example of
>>>> cross-platform, IF you use special libaries to hide the 'softness of
>>>> the system.
>>>
>>>Unfortunately I haven't a bull's notion what you're talking
>>>about.

>>
>> You've told us that it is "cross-platform" if you don't use the OS
>> specific calls to do things but use a "cross-platform" library
>> instead.

>
>
>Exactly.


After reading many of your posts, it seems to me like you are
advocating that some standard way of doing user interface, networking,
hardware, etc. be added to the c++ standard, and that your attempts to
discuss these were rebuffed in comp.lang.c++. While a new newsgroup
will give you a location to discuss these issues, I am skeptical that
these changes will ever be implemented into the c++ standard.

But I see no harm in a group dedicated to discussing such changes,
however futile.
>
>
>> And somehow, writing code on a windows system that runs on a
>> windows system is "cross-platform", even if no other platform is
>> involved, simply because you hide the OS specific calls behind a
>> generic layer. That's nonsense.

>
>
>No. The "layer" of which you speak has a flavour for Linux, for Solaris,
>etc., and therefore it can be compiled for and will run on Linux,
>Solaris, etc.


So you are talking about a pseudo-code compiler then.

--
Supreme Leader of the Brainwashed Followers of Art Deco
Official "Usenet psychopath and born-again LLPOF minion",
as designated by Brad Guth
COOSN-266-06-39716
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off




Advertisments