HN2new | past | comments | ask | show | jobs | submitlogin

What does this have to do with your grandparent comment?


It makes as much sense to talk about a language named "Haskell/Ocaml" as about "C/C++".


What other people are saying about it being a shorthand for similar languages, but also...

C/C++ is a coherent thing to write a single program in. You write some files with a .c extension and compile with gcc, some with c++ and compile with g++, and as long as you're careful in your header files everything works out just fine. People have actually done this, and because C isn't a subset you end up with C files that you can't compile as C++ and you really do have a heterogeneous project.

Haskell/Ocaml isn't comparable.


Haskell and OCaml both have FFI, and means exposing C function symbols, so can call one another.

It is not the same as between C and C++, but it is comparable. But more to the point, it is fully as absurd in the cited context.


Nobody is talking about one language named "C/C++". It's a shorthand for two languages that are closely related at the abstract machine level, and in terms of co-existing compiler frontends.


Then you might as well talk about "C/Rust". Both go to LLVM. But nobody says it, because it would be BS in exactly the same way "C/C++" is.

What matters about a language as a technology, as in the context of this Mark guy's blurb, is how it works in use. There, C and C++ share hardly anything in common: what you do writing good code in one is nothing at all like what you do with the other.

You might get a C program compiled with a C++ compiler, but it would be utterly crappy code, considered as C++.

So, "C/C++" is an inherently dishonest construction. Anybody using it for a context outside of, say, ELF formats or peephole optimization is promoting a lie.

Lying says more about the speaker than about the supposed topic.


LLVM is not a compiler frontend. It’s the middle- and back-ends; Clang is the frontend.

Neither Rust nor C is inextricably linked to LLVM either, as I’m sure you’re aware. And the former doesn’t align with the abstract machine assumed by the latter in important regards, like forward progress.

The rest of this is just a screed. I’m not here to defend his honor, and you shouldn’t waste your time posting about it on random sites on the Internet.


You asked, I answered. I will not waste any more.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: