News for hackers. Stuff that matters.
Re:Rejuvenating the Microsoft C/C++ Compiler by pjmlp on Friday September 25, 2015 @12:27PM (#10279060)
Because C and C++ never really had one.

UNIX was seen as the C runtime. When the standard came ANSI C adopted what was considered the minimum portable bits one could use in non UNIX systems.

Then came POSIX, which isn't as portable as many think. It also enjoys some of the UB and implementation specific behavior of the C world.

C++ while trying to cater to C developers adopted the same attitude.

Thankfully the C++ committee is changing that with C++17.

Re:Rejuvenating the Microsoft C/C++ Compiler by uxcn on Friday September 25, 2015 @04:58PM (#10280640)
It's a bit disappointing C seems to be getting left behind in some areas. It's simpler to compile, which in theory should mean that it's more portable.
Re:Rejuvenating the Microsoft C/C++ Compiler by pjmlp on Saturday September 26, 2015 @02:06AM (#10282278)
No it is not.

http://blog.llvm.org/2011/05/what-every-c-programmer-should-...

http://blog.llvm.org/2011/05/what-every-c-programmer-should-...

http://blog.llvm.org/2011/05/what-every-c-programmer-should-...

Many equate "C == what my compiler does", but just like any standardized technology with holes open to implementers to decide upon, portability isn't as people think.

Re:Rejuvenating the Microsoft C/C++ Compiler by uxcn on Saturday September 26, 2015 @01:35PM (#10283725)
I read Chris Lattner's posts. There are definitely things the standards don't specify that people take for granted (twos-complement for example). C is still an order of magnitude easier to parse than C++ though (especially modern). In theory, implementing and maintaining a compiler for it for a platform should be simpler.

Implementing an effective compiler is another concern entirely, but I would still argue that there tend to be more incompatibilities between C++ implementations than C.

Re:Rejuvenating the Microsoft C/C++ Compiler by pjmlp on Saturday September 26, 2015 @02:57PM (#10284058)
Yes, parsing is way harder because C++ requires the context aware grammar.

However many C++ incompatibilities are actually caused by C compatibility and the goal of having higher constructs that are copy paste compatible with C but with additional semantics, e.g. structs.

So in both cases, to achieve your portability goal the languages would have to be fully specified.

Re:Rejuvenating the Microsoft C/C++ Compiler by uxcn on Saturday September 26, 2015 @05:26PM (#10284474)
C and C++ are admittedly different languages, but I would think more than less of the code for compiling both languages should be the same. I personally can't see how one language would impede the other.

As a C/C++ user, I'm honestly still not sure why a number of C features have yet to be formalized in C++ (e.g. restrict).

Re:Rejuvenating the Microsoft C/C++ Compiler by emddudley on Friday September 25, 2015 @12:35PM (#10279125)
> Thankfully the C++ committee is changing that with C++17.

Which C++17 feature are you referring to? Modules?

Re:Rejuvenating the Microsoft C/C++ Compiler by pjmlp on Friday September 25, 2015 @01:14PM (#10279355)
The work being done by the SG

https://isocpp.org/std/status

Filesystems, networking, concurrency, ....

Sadly databases died out apparently.

Re:Rejuvenating the Microsoft C/C++ Compiler by nickpsecurity on Friday September 25, 2015 @07:47PM (#10281426)
Looks like they're doing what they should've done some time ago and what helped many competing languages get ahead. Between that and recent standards, C++ programming might get really interesting again. Even I might take a stab at it eventually.
Re:Rejuvenating the Microsoft C/C++ Compiler by pjmlp on Saturday September 26, 2015 @02:19AM (#10282307)
Even though I hardly use it at work (JVM/.NET), it was my to go to language after Turbo Pascal. So I still enjoy following and dabbling with it.

Some of the issues C++ had were:

- C compilers were still catching up with ANSI C89 and it was a mess

- C++ being in the process of becoming standardise was even worse. It was quite hard to find out what were the working common features between compiler vendors, specially in terms of semantics

- The C culture that prevented many nice frameworks to succeed, because they were too high level, hence why MFC is such a thin wrapper over Win32.

- Lack of standard ABI in an age people only shared binary libraries.

C++14 and C++17 look really nice, but I doubt C++ will recover its place at the enterprise, beyond performance critical libraries/modules.