Serving the Quantitative Finance Community

• 1
• 2

katastrofa
Posts: 6915
Joined: August 16th, 2007, 5:36 am
Location: Alpha Centauri

### Re: Google's Carbon

Embarrassing display of smear and mockery towards one person, for lack of better arguments, compounded by elitism.

If the existence of a large legacy code base becomes the main or the only reason to convince people to learn C++, while its issues are not fixed, the generational turnover will kill it anyway, because maintaining it will be more painful and costly than rewriting it, in a new language.
You are projecting. Your words, not mine.  I think you miss the point.

main or the only reason to convince people to learn C++
nah; you don't know C++?
Flexibility and speed. C++ expects a conscious programmer. Makes a casual programmer feel unsafe. Also, people often think there's something wrong with C++, while it's them doing it wrong. My impression after watching some Chandler presentations (he's been banging on about it for almost a decade).

Anyway, everybody knows Google just wants control.

GiusArg
Posts: 9
Joined: January 26th, 2022, 5:35 pm

### Re: Google's Carbon

Maybe because I'm new here and not used to what is meant to be a lightweight banter, but where he got his degree, and indeed, whether he got one or not, is completely irrelevant, for example, even assuming that he is introducing his own single-handed project (which is not).

Many of the above mentioned languages have not been designed to be system programming languages, they play a different game, and nevertheless, in some cases, they have succeeded in their game, often taking over a big share of what was (or could have been) part of C++'s domain of applications.
Rust is gaining traction and it's increasingly backed by big tech companies, which, like it or not, can make the difference.
As of Carbon, again, it doesn't compare with all those languages, as it's being designed to import and use  C++ legacy codebases.

Technologies evolve, platform cease to be supported and systems have scaled hugely in the last 45 years, so again, new code must be written and the old code must be maintained until decommissioned, and this is a big problem when the relevant knowledge slowly disappears (COBOL anyone?)
But apparently, the "quality commission" is deciding that this is must be the fate of C++, the language of legacy code, stable ABI and little room for improving  and for removing its flaws (mainly inherited from C).

For what my opinion is worth: I don't want a new C++, I want a better, up-to-date C++

Cuchulainn
Posts: 17491
Joined: July 16th, 2004, 7:38 am
Location: Lviv

### Re: Google's Carbon

It was not banter for me.  I'm deadly serious. I don't do banter

No problem. See C++20. As I remarked on the forum, why not write your own Pandas++?

BTW I was a COBOL programammer a while back. These guys earn \$200/hour.
COBOL will NEVER be decommissioned. The infamous bank glitch a few years ago (450 million pounds down the tube) was caused by outsourced COBOL to save 10 million. No way again.Verum est.
For the same reason C++ aps will not be ported to Carbon any time soon.

As kat say: it's about control!
Last edited by Cuchulainn on August 4th, 2022, 8:40 pm, edited 4 times in total.
planetoid 17300 == 2002 AV_63

Cuchulainn
Posts: 17491
Joined: July 16th, 2004, 7:38 am
Location: Lviv

### Re: Google's Carbon

where he got his degree, and indeed, whether he got one or not, is completely irrelevant, f

Au contrare in this case; an MSc != PhD

Rust is gaining traction and it's increasingly backed by big tech companies
Fine. Go for it and save waiting for the "messiah".
planetoid 17300 == 2002 AV_63

Cuchulainn
Posts: 17491
Joined: July 16th, 2004, 7:38 am
Location: Lviv

### Re: Google's Carbon

languages have not been designed to be system programming languages
C++ also not, anymore (even in the 90s no one except competitors used that somewhat denigrating term). So, my comparison is valid, especially at those moments in time. That's historical fact. I was there.

C++ was designed with an orientation toward systems programming and embedded, resource-constrained software and large systems, with performance, efficiency, and flexibility of use as its design highlights.[11] C++ has also been found useful in many other contexts, with key strengths being software infrastructure and resource-constrained applications,[11] including desktop applicationsvideo gamesservers (e.g. e-commerceweb search, or databases), and performance-critical applications (e.g. telephone switches or space probes).[12]
planetoid 17300 == 2002 AV_63

Cuchulainn
Posts: 17491
Joined: July 16th, 2004, 7:38 am
Location: Lviv

### Re: Google's Carbon

Embarrassing display of smear and mockery towards one person, for lack of better arguments, compounded by elitism.

If the existence of a large legacy code base becomes the main or the only reason to convince people to learn C++, while its issues are not fixed, the generational turnover will kill it anyway, because maintaining it will be more painful and costly than rewriting it, in a new language.
You are projecting. Your words, not mine.  I think you miss the point.

main or the only reason to convince people to learn C++
nah; you don't know C++?
Flexibility and speed. C++ expects a conscious programmer. Makes a casual programmer feel unsafe. Also, people often think there's something wrong with C++, while it's them doing it wrong. My impression after watching some Chandler presentations (he's been banging on about it for almost a decade).

Anyway, everybody knows Google just wants control.
Yeah, videos lasting 1 1/2 hours on basic algorithms (is that an American thing?) It could be done in 30 minutes. Speedo.
doesn't feel right.
planetoid 17300 == 2002 AV_63

Cuchulainn
Posts: 17491
Joined: July 16th, 2004, 7:38 am
Location: Lviv

### Re: Google's Carbon

I wonder how many Carbonaras are able to givee a non-BS compariosn of Carbon verrsus C++20.
Too many developers are driveen by emotion, thereby making bad decisions.
https://quantnet.com/advancedcpp/
planetoid 17300 == 2002 AV_63

Cuchulainn
Posts: 17491
Joined: July 16th, 2004, 7:38 am
Location: Lviv

### Re: Google's Carbon

Video on Carbon. Content-wise it's not telling us much. Too low-level and banal.
Give it 5-10 years.

// A bit mind-numbing TBH
planetoid 17300 == 2002 AV_63

Cuchulainn
Posts: 17491
Joined: July 16th, 2004, 7:38 am
Location: Lviv

### Re: Google's Carbon

planetoid 17300 == 2002 AV_63

katastrofa
Posts: 6915
Joined: August 16th, 2007, 5:36 am
Location: Alpha Centauri

### Re: Google's Carbon

Cuchulainn
Posts: 17491
Joined: July 16th, 2004, 7:38 am
Location: Lviv

### Re: Google's Carbon

Carbon == Coals to Newcastle?

How would you sell Carbon to Rick Harrison?
planetoid 17300 == 2002 AV_63

Cuchulainn
Posts: 17491
Joined: July 16th, 2004, 7:38 am
Location: Lviv

### Re: Google's Carbon

The word "generics" is used a lot without really defining(*) it.
Is Carbon's vision on  generics similar to C++ templates(compile-time)  or C# generics (run-time)?

Carbon is reportedly static typing, so I expect closer to C++ unless it has some kind of virtual machine (p-code??)

(*) In maths, you first define concepts, then elaborate and not vice versa. In many videos you see elaboration of things w/o telling what those things are.
planetoid 17300 == 2002 AV_63

Cuchulainn
Posts: 17491
Joined: July 16th, 2004, 7:38 am
Location: Lviv

### Re: Google's Carbon

C++20 and later are doing a great job. In particular, C++ 20 Concepts is a game-changer in the future. The big chalenge is to make the transition from current design awareness to Requires-Provides architectures which C++ Concepts supports.

Many "promising" C++ pretenders kind of petered out in the past.
planetoid 17300 == 2002 AV_63

Cuchulainn
Posts: 17491
Joined: July 16th, 2004, 7:38 am
Location: Lviv

### Re: Google's Carbon

Question: how would Carbon do this? (kept easy as a 101 case)
// Test101Concepts.cpp
//
// Simplest example of a system. Context diagram consists only
// of Input and Output systems.
//
// We use C++20 Concepts to replace policy-based design
//
// Composition
//
//  V2: design using C++20 modules
//
// (C) Datasim Education BV 2015-2021
//

#include <string>
#include <iostream>

// Interface contract specification
template<typename T>
concept IInput = requires (T x) { x.message(); };

template<typename T>
concept IOutput = requires (T x, const std::string& s) { x.print(s); };

// I/O stuff
template <typename I, typename O> requires IInput<I> && IOutput<O>
class SUD
{ // System under discussion, using composition

private:
I i; O o;
public:
SUD(const I& input, const O& output) : i(input), o(output) {}
void run()
{ o.print(i.message());    }
};

// Instance Systems
class Input
{
public:

std::string message() const
{
// Get data from hardware device
return std::string("Good morning");
}
};

class Output
{
public:

void print(const std::string& s) const
{
std::cout << s << std::endl;
}

};

int main()
{
Input i; Output o;
SUD<Input, Output> s(i,o);
s.run();

return 0;
}

planetoid 17300 == 2002 AV_63