Hacker News new | past | comments | ask | show | jobs | submit login

Now try Swift outside that hardware stack.



I agree with the sentiment, but does Swift actually see any usage outside of Apple’s own hardware? I think Swift’s reliance on such an optimization is justified since the hardware this optimization is applied to is the main target.

While Swift’s approach may be slower in theory, is it actually slower in practice? Just a thought.


Hardly, but having to design hardware to fix ARC performance, proves the point how much "better" it is.

Depends how much one cares about performance beyond iOS GUI apps, specially when Swift's original goal was to become the main language across the whole Apple stack.

https://github.com/ixy-languages/ixy-languages


Swift has been used to write parts of MacOS that are used on Intel today.

The good faith efforts to write parts of a consumer OS in a garbage collected language that I can remember are Microsoft's effort to write Longhorn in C# and Google's effort to write part of Fuchsia in Go.

Both efforts failed for performance reasons.


Wrong, Longhorn failed because WinDev sabotaged the project.

https://news.ycombinator.com/item?id=30486727

Likewise, Midori was powering Asian Bing cluster for a while, and even that wasn't good enough for WinDev.

And in Fuchsia, same thing happened, the parts in Go were only taken away when the Go advocates that driven those modules were no longer around to argue for their implementations.

Politics are more relevant than technical limitations.

Finally, Azure Cloud OS and Windows together have surely more lines of C# powering them than Apple has been doing with Swift.

And then there is Android.


The leaked builds of Longhorn took forever just to boot on the hardware of the era. That's a performance issue.

However, the internal politics of Microsoft certainly didn't help either.

The stated reasons for removing the Go portions of Fuchsia and rewriting them in another language were also firmly based in performance.


Of course debug builds aren't the prime example of performance, that is to be expected.

Performance problems get sorted out when people actually care to solve them instead of driving their own agenda.


Sorry, but debug builds weren't the only builds that leaked. The performance was just never there.


Naturally you would answer that, from an OS that never had a certified GA build, great proof indeed.

Yet the same group that sabotaged Longhorn, was quite keen in doing exactly the same stuff using a mix of .NET Native and C++/CX, which only failed due to the lack of migration path from Win32, and not much love for the sandboxing.


Microsoft handed out builds at PDC. It's difficult to take claims that it didn't have massive performance issues seriously.


No one is claiming that performance problems did not exist on an alpha version of Longhorn.

Performance problems get sorted out, instead we got management chaos,

https://hackernoon.com/what-really-happened-with-vista-4ca7f...


Jim Allchin, who ran Windows development at the time, didn't send an email to Gates and Ballmer warning about management issues.

He told them that Longhorn was a pig and he didn't see any solution to that issue.

Just before the code base was abandoned.


Insider info here, proof would be nice.

In any case, the top level manager for Windows development asserts his failure to make the team make it happen, looks like management issues to me.

The coach failed the team.


>proof would be nice.

It's one of the internal emails made public as part of the Microsoft antitrust trial.

>LH is a pig and I don’t see any solution to this problem. If we are to rise to the challenge of Linux and Apple, we need to start taking the lessons of “scenario, simple, fast” to heart.

https://web.archive.org/web/20210427171552/http://blog.seatt...

Sorry, but the person who was in charge of Windows development at the time did not agree with you. Longhorn failed due to performance issues that Jim Allchin believed were unsolvable.


The manager failed at his job to steer the team into solving those issues.

The team's failure has a direct relation with the management failing to act upon the issues until it was too late to actually try to sort them out.

So yeah, management failure in all its glory.

The anti-trust trial was decided in 2001, Longhorn was developed from middle 2001 up to 2006, nice try.


The lead developer said the performance problem could not be solved and the code was abandoned.

I'm not sure how you can spin your way around that and be taken seriously.


Go has a bad GC. Go relies on the compiler to do escape analysis and allocate on the stack. Once you actually start heap allocating you hit massive pauses. It’s why Go does so bad on the binary tree benchmark.


> Once you actually start heap allocating you hit massive pauses.

citation needed. go afaik has millisecond pauses at most. maybe you're thinking of throughput losses due to forcing more CPU to be spent on collecting?




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

Search: