4 ms·
> There is a good language buried underneath C++ somewhere, it's just that nobody has taken the time to extract it. Carbon?
by lelanthran 2mo ago
> There is a good language buried underneath C++ somewhere, it's just that nobody has taken the time to extract it.
Carbon?
- saidinesh5 2mo agoHas anyone major used that for any production project though?
- YuechenLi 2mo agoCarbon isn't even a real language, no real language will spent 4 entire years and is still stuck in version 0.0.0-0. It feels more like bad Rust than a proper C++ successor at all. Just to give you a small example? why would a C++ successor language use `fn main()` instead of using C/C++ style `int main()`? And their generics system is even more confusing, are they going to support a new form of generics or are they sticking with templates? And if they are going to add templates, why would they not add pretty much one of the best additions to modern C++ to Carbon, concepts?
- flohofwoe 2mo ago> why would a C++ successor language use `fn main()` instead of using C/C++ style `int main()` Apparently easier and faster parsing. Most modern language have arrived at the `fn bla(arg: ArgType): ResultType` form and I don't think they made that decision for purely aesthetical reasons.
- vintagedave 2mo agoEven C++ has. https://www.geeksforgeeks.org/cpp/trailing-return-type-in-cpp-11/ https://www.geeksforgeeks.org/cpp/trailing-return-type-in-cp...
- lelanthran 2mo ago> Most modern language have arrived at the `fn bla(arg: ArgType): ResultType` form and I don't think they made that decision for purely aesthetical reasons. Not just modern, it's older than you think. Pascal function definition is `function bla(arg: ArgType): ResultType;`
- rpnx 2mo ago> no real language will spent 4 entire years and is still stuck in version 0.0.0-0. Strongly disagree. I too thought that it would be easy to implement a new language in 1-2 years. I started the current Quxlang codebase (under a different name) on Dec 27, 2022. In 2026, hundreds of commits and hundreds of thousands of lines of code later, I still don't have a feature complete language. I also rewrote the syntax, mainly because C++ parsing is a nightmare... Although my choice was very different...
- flohofwoe 2mo agoNo, it's C :) And for me that's not even a hot take anymore, I switched back to C (specifically C99 and later) around 2017 after nearly 20 years of C++ as my main language, and I don't miss C++ the slightest. The hardest part was unlearning some bad C++ habits. The other 'behaviour change' for me was to open my mind to more programming languages. E.g. instead of trying to solve every problem with C++ I now pick a language that better matches the problem I want to solve (e.g. on one end of my language toolbox is C, on the other extreme end is Typescript, and somewhere in the middle are Zig, on Mac of course the occasional ObjC (not a fan of Swift tbh), and yes, sometimes even still modern C++ - in the end, the choice of language is mostly driven by the dependencies you need to use).
- lelanthran 2mo ago> No, it's C :) And for me that's not even a hot take anymore, For me, I switched away from C++ in 2008 or thereabouts. For anything that needs a higher level of abstraction than C, I'll use Lisp, Python, Java, C#[1], etc. You might enjoy (shameless plug to my own blog): https://www.lelanthran.com/chap9/content.html https://www.lelanthran.com/chap9/content.html https://www.lelanthran.com/chap13/content.html https://www.lelanthran.com/chap13/content.html ============================= [1] Although, C# has lately gone the way of becoming incomprehensible syntax-wise. I've seen this happen with C++ in the past, so not so sure I'll even use C# again.