Linked by R_T_F_M on Thu 13th Sep 2012 21:19 UTC
FreeBSD "For the past several years we've been working towards migrating from GCC to Clang/LLVM as our default compiler. We intend to ship FreeBSD 10.0 with Clang as the default compiler on i386 and amd64 platforms. To this end, we will make WITH_CLANG_IS_CC the default on i386 and amd64 platforms on November 4th."
Thread beginning with comment 535062
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[3]: C++
by moondevil on Fri 14th Sep 2012 14:20 UTC in reply to "RE[2]: C++"
moondevil
Member since:
2005-07-08

C is here to stay, it's the lowest common denominator as far as high level languages go, supported by pretty much every platform, and useable from just about any other language.


It is only the lowest common denominator on the operating systems that happen to have C as their API.

In Symbian you need a C++ compiler, even C code gets compiled by C++ compiler.

Starting with Windows 8, WinRT comes into the picture as the future direction of the operating system API.

Eventually C++ will be the lowest level API you can get on Windows.

Reply Parent Score: 2

RE[4]: C++
by boldingd on Fri 14th Sep 2012 21:07 in reply to "RE[3]: C++"
boldingd Member since:
2009-02-19

Ever tried to link a program unit written in C++ into a project written FORTRAN? It's possible, but ugly. It's much easier to link a C program unit into a FORTRAN project.

C has a lot of other use cases too, of course, but C-style linking is definitely still the lingua franca of multi-language projects. Most languages and compiler suites support C linking, and if you're going to mix multiple languages in a single project (which happens, I've worked on a project that mixed C, C++, Ada and Fortran), you're likely to be exporting everything with C linking at the boundaries where those languages meet.

Reply Parent Score: 2

RE[5]: C++
by satsujinka on Fri 14th Sep 2012 22:09 in reply to "RE[4]: C++"
satsujinka Member since:
2010-03-11

I really wish someone would do something about that... I mean it's not so bad when you can generate the C bindings, but it's still a pain.

Using JVM/.Net languages you can sort of avoid the issue because they're all represented the same way... but that doesn't help me if I want to make Haskell and Python talk.

I could make a library that would know how to dynamically look up information, but that would basically involve imbedding Python in Haskell (or vice versa.) And it probably wouldn't perform well. It may almost be less effort to create 2 languages with similar characteristics and build in the cross talk functionality (allowing the compiler/interpreter to do optimization.)

Reply Parent Score: 2

RE[5]: C++
by moondevil on Sat 15th Sep 2012 06:53 in reply to "RE[4]: C++"
moondevil Member since:
2005-07-08

Ever tried to link a program unit written in C++ into a project written FORTRAN? It's possible, but ugly. It's much easier to link a C program unit into a FORTRAN project.


extern "fortran" ....

C has a lot of other use cases too, of course, but C-style linking is definitely still the lingua franca of multi-language projects.


On the operating systems, where the ABI == C linkage model.

On Lilith for example, you would need to use Modula-2 linkage module. In Native Oberon, the ABI is Oberon based. In Spin it is Modula-3 based and so forth.

You can argue they are all dead, but lets take Windows 8. On the platforms where the only Windows ABI is WinRT like the ARM tablets, the lowest API is COM and the only native code compiler C++.

In this case, your languages need to communicate via the COM bindings, there is no C interop any longer.

Sure you can still use C, but it will be C communicating via the COM API.

This means in the long run, C++ replaces C as the lowest API on Windows, if WinRT is sucessfull.

In Symbian likewise, if you're using some C stuff, you're actually compiling C like code in a C++ compiler, because the ABI and exposed interfaces are all C++ based.

Again, C as lingua franca only works if C is the language exposed by the operating system. Lets not forget there were system programming languages before it, and after it, why should C exist forever?

Reply Parent Score: 2