- 0 Posts
- 3 Comments
Joined 3 years ago
Cake day: August 3rd, 2023
You are not logged in. If you use a Fediverse account that is able to follow users, you can follow this user.
sushibowl@feddit.nlto
Technology@lemmy.world•VW will invest up to $5 billion in Rivian as part of new EV joint ventureEnglish
1·2 years agoVW is good at making cars, but bad at software. They’ve had to delay the introduction of new models (Golf, ID.3) because of software issues. Rivian has sort of the opposite problem: their production lines sit still often because of problems in the supply chain.
Volkswagen has the expertise to solve Rivian’s production and supplier problems, and the cash they will need to survive and develop some cheaper models (the EV market is stagnating right now for a lack of budget options, and Rivian only sells trucks and SUVs). And they’re hoping Rivian software engineers can help them fix their software woes.

The basic problem is that identifiers can be either types or variables, and without a keyword letting you know what kind of statement you’re dealing with, there’s no way of knowing without a complete identifier table. For example, what does this mean:
If foo is a type, that is a pointer declaration. But if it’s a variable, that’s a multiplication expression. Here’s another simple one:
foo(bar);Depending on how foo is defined, that could be a function call or a declaration of a variable bar of type foo, with some meaningless parentheses thrown in.
When you mix things together it gets even more crazy. Check this example from this article:
foo(*bar)();Is bar a pointer to a function returning foo, or is foo a function that takes a bar and returns a function pointer?
letandfnkeywords solve a lot of these ambiguity problems because they let the parser know what kind of statement it’s looking at, so it can know whether identifiers in certain positions refer to types or variables. That makes parsing easier to write and helps give nicer error messages.