[petsc-dev] NEVER put // into PETSc code. PETSc is C89, the only real C.

Barry Smith bsmith at mcs.anl.gov
Wed Jun 22 18:04:55 CDT 2016


> On Jun 22, 2016, at 5:47 PM, Jeff Hammond <jeff.science at gmail.com> wrote:
> 
> Serious question:
> 
> What are your reasons for using a language that is 27 years old?  Terrible compilers that have not been compliant with the current ISO C for 16 years?  Because MPICH does it?

   Serious answer:

   Microsoft stopped updating their "C" compiler to support everything in new C standards after C89, hence to get clean builds with Microsoft "C" compiler one must use C89 or use C89 plus an (undocumented) subset of later standards that Microsoft supports (it is conceptually simpler as code developers and maintainers to stick to a standard then to try to stick to a standard plus some other stuff that is growing in time).  We could switch to Microsoft C++ and not use the Microsoft "C" compiler but then we are treading in a different puddle of quicksand and would like to just use C compilers everywhere. This is a judgement decision, I agree, and I would not say that someone who adopted the point of view that one should just use the Microsoft C++ compiler is wrong, it is just not the choice I have made. Plus I hate // :-)

   You could say "you guys are HPC, why do you care about Microsoft compilers" but we do have plenty of Microsoft users, some are even our friends.


  Barry



> 
> Not serious question:
> 
> Do you also use hardware from 1989?
> 
> Jeff
> 
> On Wed, Jun 22, 2016 at 7:46 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
> 
> 
> 
> 
> -- 
> Jeff Hammond
> jeff.science at gmail.com
> http://jeffhammond.github.io/




More information about the petsc-dev mailing list