Thursday, May 28, 2015

Digest for comp.lang.c++@googlegroups.com - 16 updates in 4 topics

scott@slp53.sl.home (Scott Lurndal): May 28 02:19PM


>> C++ looks very healthy to me right now.
 
>IMO the article title is misleading. It should be "A second dark age for
>C++ *on Windows*" or maybe better "A second dark age for C++ *in Microsoft*"
 
Or maybe "Much ado about nothing".
legalize+jeeves@mail.xmission.com (Richard): May 28 02:22PM

[Please do not mail me a copy of your followup]
 
Lynn McGuire <lmc@winsim.com> spake the secret code
 
>"A second dark age for C++"
> http://kennykerr.ca/2015/05/26/a-second-dark-age-for-c/
 
The problem with Kenny Kerr is that he's been pimping his library for
months, yet as near as I can tell noone can look at it except in
whatever videos he has created or whatever he has written on his blog.
 
If he wants that library adopted by the C++ community, it should be on
github with a commercial-friendly license.
 
As near as I can tell, he hasn't done this because it feels like he's
hoping Microsoft will purchase it from him.
--
"The Direct3D Graphics Pipeline" free book <http://tinyurl.com/d3d-pipeline>
The Computer Graphics Museum <http://computergraphicsmuseum.org>
The Terminals Wiki <http://terminals.classiccmp.org>
Legalize Adulthood! (my blog) <http://legalizeadulthood.wordpress.com>
Christopher Pisz <nospam@notanaddress.com>: May 28 10:28AM -0500

On 5/27/2015 11:15 AM, Lynn McGuire wrote:
 
> In fact, the only thing that C++ is missing is an excellent cross
> platform user interface toolkit.
 
> Lynn
 
 
Looks like an advertisement, much like those commercials on TV that
start off with "The government has recently changed laws and you are
entitled to a low interest credit card!"
 
 
--
I have chosen to troll filter/ignore all subthreads containing the
words: "Rick C. Hodgins", "Flibble", and "Islam"
So, I won't be able to see or respond to any such messages
---
legalize+jeeves@mail.xmission.com (Richard): May 28 03:47PM

[Please do not mail me a copy of your followup]
 
Lynn McGuire <lmc@winsim.com> spake the secret code
 
>In fact, the only thing that C++ is missing is an excellent cross
>platform user interface toolkit.
 
I can think of 3 off the top of my head that I have used in my career
since the 90s:
 
wxWidgets
Qt
Galaxy (went out of business)
 
WikiPedia lists 11:
<https://en.wikipedia.org/wiki/List_of_platform-independent_GUI_libraries#C.2FC.2B.2B_packages>
 
I don't know how you can say that something is *missing* when
WikiPedia lists 11. Perhaps you didn't look hard enough, or you meant
something more specific like "the only thing that the C++ *standard*
is missing [...]", which is a very different thing.
 
Personally, I don't think a GUI framework belongs in the ISO standard
because it will end up like the CommonLISP standard.
--
"The Direct3D Graphics Pipeline" free book <http://tinyurl.com/d3d-pipeline>
The Computer Graphics Museum <http://computergraphicsmuseum.org>
The Terminals Wiki <http://terminals.classiccmp.org>
Legalize Adulthood! (my blog) <http://legalizeadulthood.wordpress.com>
jacobnavia <jacob@jacob.remcomp.fr>: May 28 07:59PM +0200

Le 27/05/2015 18:10, Lynn McGuire a écrit :
> http://kennykerr.ca/2015/05/26/a-second-dark-age-for-c/
 
> C++ looks very healthy to me right now.
 
> Lynn
 
I looked at the videos of Mr Kerr's library. Obviously, not being a C++
head I am missing something, but I saw a demo of a window with some
color rectangles moving around.
 
 
???
 
 
I can do that using C (not even C++) in around 30 minutes:
 
1: lcc-win, my compiler system, generates the C source code for an empty
window with all the stuff needed in a few seconds.
 
2: In the WM_CREATE message create child windows (could be buttons, for
instance)
 
3) In the window procedure for those windows you subclass the WM_MOVE
message and the WM_CTLCOLOR to paint the windows with whatever colors
you wish.
 
 
I just do not see the point sorry. Why would I need a complicated C++
library to do that?
 
Maybe Mr Kerr should put a more realistic demo in his Web site, like,
for instance, buiklding an entry form or whatever.
FredK <fred.l.kleinschmidt@gmail.com>: May 28 11:02AM -0700

On Thursday, May 28, 2015 at 8:47:21 AM UTC-7, Richard wrote:
> is missing [...]", which is a very different thing.
 
> Personally, I don't think a GUI framework belongs in the ISO standard
> because it will end up like the CommonLISP standard.
 
I've been using Motif with C++ since the early 90's and have no complaints. I still use Motif2.1 on various Unix platforms and 2.3 on Linux and Windows (using OpenText as the X-server and XDK)
--
Fred K
Victor Bazarov <v.bazarov@comcast.invalid>: May 28 03:44PM -0400

On 5/28/2015 3:23 PM, Stefan Ram wrote:
> to assume that one is using a special IDE that applies some
> transformations to the user code. This is confusing to me.
> [..]
 
Qt is a _toolkit_ that includes several libraries. Yes, the code needs
to be processed by their tools to generate additional C++ source files.
There is no assumption about any IDE, you can edit your own code.
*If* you already use an IDE, it is very likely they can integrate with
it (and it's recommended).
 
If you want to be de-confused, get a book (there are several that deal
with different versions of Qt at different depths), it's actually very
simple once you grasp the basics.
 
V
--
I do not respond to top-posted replies, please don't ask
Christopher Pisz <nospam@notanaddress.com>: May 28 03:19PM -0500

On 5/28/2015 12:59 PM, jacobnavia wrote:
> library to do that?
 
> Maybe Mr Kerr should put a more realistic demo in his Web site, like,
> for instance, buiklding an entry form or whatever.
 
Ha. People freak right the heck out if they see the window's message
procedure these days. They want Datagrid myDatagrid = new
Datagrid(allMyData); myDatagrid.Draw();
 
 
 
--
I have chosen to troll filter/ignore all subthreads containing the
words: "Rick C. Hodgins", "Flibble", and "Islam"
So, I won't be able to see or respond to any such messages
---
Melzzzzz <mel@zzzzz.com>: May 28 10:47PM +0200

On 28 May 2015 19:23:45 GMT
 
> Regarding Qt: I wish it was a library! But instead it seems
> to assume that one is using a special IDE that applies some
> transformations to the user code. This is confusing to me.
 
I used Qt and I never used IDE on Unix/Linux.
jacobnavia <jacob@jacob.remcomp.fr>: May 29 12:10AM +0200

Le 28/05/2015 22:19, Christopher Pisz a écrit :
 
> Ha. People freak right the heck out if they see the window's message
> procedure these days. They want Datagrid myDatagrid = new
> Datagrid(allMyData); myDatagrid.Draw();
 
Yes, then it would be nice to see what data grid Mr Kerr has got in his
library.
 
Because showing how to move colored rectangles... is kind of underwhelming
 
:-)
Doug Mika <dougmmika@gmail.com>: May 28 01:45PM -0700

I have this neat little self defined Vector class (not quite complete, but merely useful to illustrate a purpose of using value_type=T), and my question is, in this class definition is value_type a member like size? Does a unique value_type exist for each instance of Vector? Or is it like a static member?
 
#include <iostream>
 
using namespace std;
 
template<typename T>
class Vector{
public:
using value_type=T;
Vector(int s){
this->size = s;

}
private:
int size;
T element;
};
 
int main()
{
//Testing the functionality
Vector<char> v(1);
Vector<char>::value_type a='u';
decltype(v)::value_type b='v';
cout<<a<<" "<<b<<endl;
}
red floyd <no.spam@its.invalid>: May 28 01:56PM -0700

On 5/28/2015 1:45 PM, Doug Mika wrote:
> I have this neat little self defined Vector class (not quite complete, but
> merely useful to illustrate a purpose of using value_type=T), and my
question is,
> in this class definition is value_type a member like size? Does a
unique value_type
> decltype(v)::value_type b='v';
> cout<<a<<" "<<b<<endl;
> }
 
Neither. It's more like a typedef.
 
Consider:
 
struct A {
struct B {
int x;
};
int y;
};
 
Same thing. Is "struct B" a member like y? No.
Does a unique "struct B" exist for each instance of A? No.
 
To paraphrase Pauli, the question isn't right... it isn't even wrong.
Doug Mika <dougmmika@gmail.com>: May 28 02:03PM -0700

On Thursday, May 28, 2015 at 3:46:10 PM UTC-5, Doug Mika wrote:
> decltype(v)::value_type b='v';
> cout<<a<<" "<<b<<endl;
> }
 
But we can refer to it using the scope resolution operator?
Victor Bazarov <v.bazarov@comcast.invalid>: May 28 05:08PM -0400

On 5/28/2015 5:03 PM, Doug Mika wrote:
> On Thursday, May 28, 2015 at 3:46:10 PM UTC-5, Doug Mika wrote:
>> I have this neat little self defined Vector class (not quite
complete, but merely useful to illustrate a purpose of using
value_type=T), and my question is, in this class definition is
value_type a member like size? Does a unique value_type exist for each
instance of Vector? Or is it like a static member?
>> cout<<a<<" "<<b<<endl;
>> }
 
> But we can refer to it using the scope resolution operator?
 
Yes, we can. A class is a namespace. Anything you declare in it can be
referred to using a scope resolution operator. Whether it makes sense
to do so depends on the context.
 
A class defined in a class is similar to a class defined in a namespace,
except that the class has access specifiers, and a namespace does not.
It's a member that can be public, private, or protected.
 
V
--
I do not respond to top-posted replies, please don't ask
ram@zedat.fu-berlin.de (Stefan Ram): May 28 07:23PM

>I've been using Motif with C++ since the early 90's
 
A standard API would give a stronger promise of stability.
A user of Motif canot know whether his GUI library will be
ported to new platforms. If there was a standard C++ GUI
interface, the chance that it is ported would be larger.
 
It does not necessarily have to be part of ISO/IEC 14882,
but can be a separate specification. Manufacturers of
implementations than can decide whether they want to
implement C++ with our without a compliant GUI library;
but /if/ they choose to deliever a compliant GUI library,
than they /can/ do this, because a specification exists.
 
Sometimes, choice is bad. When there are many different GUI
libraries interfaces possible from different manufacturers,
one has to make a choice, and it is possible that the
library chosen will be discontinued while another one will
flourish some years later. If there is only one single
standard API, this risk is smaller.
 
I wish Java had a single standard GUI library!
Instead it has AWT (90s), Swing (0s), and JavaFX (now).
The same applies to C#, which used to have WinForms,
but now seems to be moving into the direction of WPF.
 
Regarding Qt: I wish it was a library! But instead it seems
to assume that one is using a special IDE that applies some
transformations to the user code. This is confusing to me.
 
Think about a hypothetical C++ that does not contain a
standard console print library means (like »printf« or
»<<«). How would a tutorial begin? You were not able to
write »hello, world«! You would have first to tell the user
to choose a »console library« and then write several »hello,
world« lessons, one for each library, or choose one
yourself, but then you would not be teaching »C++«, but »C++
plus the ACME library«.
 
Also see this suggestion from 2003:
 
www.purl.org/stefan_ram/pub/c++_standard_extensions_en
 
(in case of 403, visit with Google referrer)
Jorgen Grahn <grahn+nntp@snipabacken.se>: May 28 01:04PM

On Mon, 2015-05-25, Juha Nieminen wrote:
>> editors I've seen can be configured to follow that rule.
 
> Google can eat my shorts.
 
> {} is a block, and its contents are indented.
 
Agree. For a few months ten years back I tried not to indent, but in
the end I went with the flow, and I now think it's better to indent.
 
/Jorgen
 
--
// Jorgen Grahn <grahn@ Oo o. . .
\X/ snipabacken.se> O o .
You received this digest because you're subscribed to updates for this group. You can change your settings on the group membership page.
To unsubscribe from this group and stop receiving emails from it send an email to comp.lang.c+++unsubscribe@googlegroups.com.

No comments: