← Back to team overview

kicad-developers team mailing list archive

Re: C++ conformance (was [Merge] lp:~amir-mohammadkhani/kicad/ash into lp:kicad)

 

>> I think we are reaching the point where we need a separate branch for
>> visual c++.
>>
>> Although in this specific case it seems like a patch could be made for
>> CMake, not Kicad.
>>
>> I have no interest in continuing to bend over for Visual C++. 
>>
>> Another option is to simply drop support for it, which would be my first
>> choice.
>>
>> I say no to this patch.
>>
>>     
> On 09/28/2010 03:49 PM, Alex G wrote:

> I'm sorry to just jump in, but what was the problem with Blinded C++ in
> the first place?
> Is it not compiling? I wouldn't like to see kicad deviate from standard
> C/C++ (name your favorite standard), and if it doesn't, there shouldn't
> be an issue with other compilers. If Blinded C++ is incapable of
> handling the standards, then, and only then we shouldn't even consider
> supporting it.
>
> I've added
> - -pedantic -std=c++98
> to CMAKE_CXX_FLAGS and recompiled to see if everything was in order. The
> amount of warnings I got is worrying. Most of the ones I was able to
> catch were extra ";" or extra "," , or "long long" not being supported
> by the standard.Kicad does not conform to standard C++, and it makes me
> wonder whether there are more mundane warnings that I missed.
>
> On a side note,
> - -std=c++0x generates an error that's not even from a kicad file.
>
> Shouldn't this be cleaned up before deciding if other compilers are crap?
>
> Alex
>   

Alex,

Basically there is gnu c++ and there is Microsoft c++.

OSX / Apple uses gnu c++.  And why would they not?  It is free and
excellent.

It will be difficult for any other C++ compiler to succeed commercially
long term.  There will be short lived exceptions WRT to multi-core
concurrency, and microcomputers, and possible non-standard bells and
whistles.  But how does one compete with *free* long term on the larger
cpu chips?  It is not a certainty that Microsoft still has a C++
compiler 10 years from now.

In summary, if Kicad compiles with gnu c++, we are on pretty good
footing.  At some point gnu c++ begins to define the c++ standard.  You
have a market standard and a language committee standard.  The language
standard becomes academic at some point.


There are bigger fish to fry than worrying about Kicad's conformance to
an academic standard.

> I've added
> - -pedantic -std=c++98
> to CMAKE_CXX_FLAGS and recompiled to see if everything was in order. The
> amount of warnings I got is worrying.


Alex, sleep well.  Worrying about this is not worth it, gnu c++ is not
going anywhere.


What I meant by 'Microsoft crap':

BTW no one said any compiler is crap.  What I meant to say, was that
anytime a Microsoft decision makes me do anything, it is crap, an
invasion of my life space.  I resist that invasion each time it happens,
and did so in this instance by calling it crap. 


It is my opinion that most of these issues should be dealt with by those
people that would embrace the Microsoft solutions, since those solutions
have specific costs of usage.   It is technically fairest if those costs
are brought to Microsoft's attention, and not to the attention of those
that have no interest in what Microsoft is doing.


Microsoft once cost me a great deal of money 22 years ago.  So I harbor
a deep seated resentment towards them, and it causes me to simply resist
being manipulated by them, either directly or indirectly.

If you buy a vehicle that won't fit into your garage, please don't park
it in front of my house, especially if it comes from Microsoft. 

I say this even to family members who use Microsoft products.  When they
ask for help on Microsoft stuff, I say "well certainly you chose to use
a Microsoft product because you took into consideration the support you
can get from them.  So just call somebody at Microsoft and see if they
can help you".  

Naturally the reaction is sometimes visceral, but my remark is
*designed* to question the very reason why folks use Microsoft products,
and to force people to think.  If you cannot report a bug and have it
fixed, or get support somewhere, is it a good decision to use that product?

With gcc, I feel I can look at the source, or go onto a mailing list and
ask for help.  I have even created a patch or two over the years for gnu
g++.

So Microsoft crap is a reference to a trickle down effect, like sitting
under a bird up on a branch.  If you allow them to bring an issue to my
attention, I will resist every time.  They cannot manipulate me any
more.  And if I have to leave this project at some point to ensure that,
I would chose to do so.


Dick





Follow ups

References