Live data from Hacker News

Welcome Chris Lattner

tesla.com

281–290 of 291 posts

Re: Welcome Chris Lattner

#281
post #240

Earlier quoted context omitted.

ARC is not an algorithm, it a language-level feature that generates retain/release calls automatically so that the programmer does not have to. Unlike GC systems where the resulting program does run an algorithm (and wastes CPU on that), with ARC the generated program is no different as if retain/release were written manually and runs no extra code.

That is an implementation detail of how a reference counting algorithm can be implemented.

If you're going to say that, then hand-coded memory allocation is just an implementation detail for a garbage collection algorithm.

True in some sense, but mostly useless. Come on.

Re: Welcome Chris Lattner

#282

Earlier quoted context omitted.

True, AUTOSAR is the current standard for embedded automotive systems. Regarding safety I heard different things about it, some parties would only use it for up to ASIL A, others to C, others also to D. My personal opinion is that AUTOSAR (and even it's basics like C as a programming language and the OSEK OS) are not the best solutions that we should come up with for all the safety critical tasks in the autonomous dr…

I often wonder would Erlang be a good language for embedded automotive systems. It's seems to have the right traits - no GC pauses, built for reliability etc.

I think it would fit great from the semantic. Message based communication is exactly what a lot of automotive systems are about (CAN, FlexRay, ...). The downside of the actor model from an implementation point of view is that you need potentially unbounded memory for the incoming message queue of each actor. For each message that is sent to an actor you need to allocate a message, populate it and place in that that actors queue. If the actor can't process fast enough the queue will fill hap.

It might work out with a very careful system design, but determining statically how much queued messages and memory is needed seems like a very hard task.

Re: Welcome Chris Lattner

#284
post #264

Earlier quoted context omitted.

NASA has a culture of safety and redundancy ad nauseam because people are indoctrinated into it, not because their hires have an innate proclivity for it. It is not fair to judge Lattner's ability or commitment to safety based upon Xcode and Swift. One of these predates him, the other is the result of his decisions (no doubt) but also countless decisions of others, including those above his pay grade at Apple. Xcode…

Probably not, but the WWDC session about real time audio used Swift on their presentation. http://devstreaming.apple.com/videos/wwdc/2016/507n0zrhzxdzm...

"Real-time" audio doesn't involve human critical systems.

Re: Welcome Chris Lattner

#285
post #264

Earlier quoted context omitted.

Probably not, but the WWDC session about real time audio used Swift on their presentation. http://devstreaming.apple.com/videos/wwdc/2016/507n0zrhzxdzm...

"Real-time" audio doesn't involve human critical systems.

Of course not, but part of the sentence said

> I'm not aware if he (et.al.) had real time processing

Re: Welcome Chris Lattner

#286
post #190
post #70

What's really interesting about this is not just that Lattner is brilliant and liked, but that is highlights just how critical software correctness and reliability is to autonomous vehicles. Naively one might have expected some machine learning expert to take over the reins at Tesla. But fast-moving Silicon Valley needs a fundamental shift in quality standards when it comes to safety-critical software, and if you loo…

> LLVM enabled ARC, a beautifully simple approach to memory management that removed much (not all) of the need for the developer to implement details in code, while providing high efficiency and, perhaps even more importantly, predictable performance (no garbage collection pauses). These are all essential for safety-critical realtime software. A GC algorithm known since the early days of Lisp GC research and used in…

> I can think of lots of other examples, like how VB, Delphi and C++ Builder interfaced with COM in the mid-90's.

One curious thing is how similar Swift is to modern Pascal, ie Delphi. It has many other influences, and it is certainly not Pascal with another syntax, but reading the Apple guide when Swift was released gave frequent moments of deja-vu.

On the subject of COM, yes. If you think COM means ATL you should try it in a language designed to work with interfaces and reference counting inbuilt - Delphi has COM interfaces as first-class language primitives, and a heap of classes and other code making COM quite straightforward. Much of this even spills into C++Builder, though since it's a different language it's not as clean as in Delphi. Still miles past ATL though.

Re ARC: I think the thing that makes it appealing is it's conceptually simple, completely deterministic, and can be traced by reading code rather than understanding an environment's implementation. Delphi does ARC now too, and if you've ever wanted ARC in C++, C++Builder optionally supports it for some classes. ARC is not yet on Windows for either language, we're talking just iOS, Android and soon Linux here.

(Disclosure: I recently started working at Embarcadero on C++Builder. This is a personal comment only. But liking the languages Embarcadero makes was one main reason I joined.)

Re: Welcome Chris Lattner

#287
post #123

Earlier quoted context omitted.

> Can you boast any such achievement in your own life? That was an unnecessary remark; the commenter never claimed that he/she has achieved more than Musk.

The commenter claims Musk hasn't achieved anything at all, other than give some tech demos. I'm perfectly entitled to ask what they've achieved themselves that puts them in a position to so casually demean what, by most people's standards, are quite considerable feats.

You don't have to be a chef to know the food tastes bad.

Re: Welcome Chris Lattner

#288
post #116

Earlier quoted context omitted.

Swift, XCode, and Apple software in general don't scream reliability to me. No doubt Lattner is a smart guy, but I'd be more comfortable with a smart guy from NASA or somewhere similar with experience developing survival-critical software systems.

NASA has a culture of safety and redundancy ad nauseam because people are indoctrinated into it, not because their hires have an innate proclivity for it. It is not fair to judge Lattner's ability or commitment to safety based upon Xcode and Swift. One of these predates him, the other is the result of his decisions (no doubt) but also countless decisions of others, including those above his pay grade at Apple. Xcode…

> NASA has a culture of safety and redundancy ad nauseam because people are indoctrinated

I'm not claiming Lattner is missing some innate ability -- it just appears they're putting someone in charge who has never been exposed to this mindset. Maybe they have a culture or other leaders already in place who can foster this within the team.

> It is not fair to judge Lattner's ability or commitment to safety based upon Xcode and Swift.

To be fair, we cannot judge Lattner's ability or commitment to safety at all, because he has no publicly-known experience with safety-critical systems.

Perhaps he has relevant experience that's not public. And if it turns out he has no relevant experience, I'm not saying he can't learn. It's just strange for Tesla to put someone in charge who will be learning on the job.

Re: Welcome Chris Lattner

#289
post #112

Earlier quoted context omitted.

I hope you similarly dislike the term 'head-hunt' on the grounds that no-one's head is severed. 'Poach' is a useful metaphor that suggests that one company actively tried to lure an employee from another. It is a metaphor, it doesn't imply that the employee is a chattel. I think one can get a bit too precious about these things.

> I hope you similarly dislike the term 'head-hunt' on the grounds that no-one's head is severed. this comparison really seems to miss the mark.

https://en.wikipedia.org/wiki/Headhunting

Re: Welcome Chris Lattner

#290
post #246
post #245

Earlier quoted context omitted.

Just to point out that the Swift LLVM compiler is written in C++. So it being unreliable doesn't necessarily say much about the reliability or goals of Swift as a language.

It looks like you haven't used C++ in a while. C++14 is a whole other world, and can be written with most (if not all) the safety guarantees you would expect from Swift or Rust. I had to use it for a project and was very surprised about this too...

I wasn't trying to suggest that C++ was the cause of the compiler issues, just that Swift wasn't.
Post reply on HN