Hacker Newsnew | past | comments | ask | show | jobs | submit | lukeh's commentslogin

Swift actually has excellent C++ interop [1] (compared to other languages, but, I guess, not good enough for Ladybird).

[1] https://www.swift.org/documentation/cxx-interop/


I actually looked into that recently (calling C++ from Swift), and I was surprised by the amount of limitations.

Said differently: the C++ interop did not support calling the C++ library I wanted to use, so I wrote a C wrapper.


Binding to C++ is an extremely difficult and complex problem for any language that is similarly rich and has lots of (seemingly) equivalent features. The number of subtle incompatibilities and edge cases becomes nearly endless. It's not surprising that some C++ code can't be bound properly.

Yeah, that's what I realised. But I just wanted to mention that this is not what I was expecting from "excellent" interop. I would say that C has excellent interop, in general.

I did this a long time ago as Swift calling Objective-C++ which can call C++ libs, in that case OpenCV. So it wasn't awful but did require making an ObjC++ wrapper, unless I did something wrong which is also possible.

Yes that makes sense. I would just rather make a C wrapper than an ObjC++ one, because then that C wrapper can be used with many other languages.

Also things like support for GSS-API pre-authentication mechanisms (so, you can use an arbitrary security mechanism such as EAP to authenticate yourself to the KDC), the new SAnon mechanism, pulling in some changes from Apple's fork, replacing builtin crypto with OpenSSL, etc. Lack of release has been typical OSS lack of resources: no one is paid to work on Heimdal full time.

Oh yeah, it's huge.

Also included are experimental:

- httpkadmind (which together with virtual service principal namespaces makes a very nice keytab orchestration system)

- bx509d (an online CA)

- JWT support for the above


You also need synchronization to mix sources (common in any production) without incurring the latency and resampling of asynchronous sample rate conversion.

There’s also AES70, or OCA (https://news.ycombinator.com/item?id=46934318). More popular in audio than video, something of a competitor to NMOS (although there are parts of NMOS that were very much inspired by OCA). There are open source C++, Python, JavaScript and Swift implementations as well as some commercial ones.

IOKit was designed to support CoreAudio from the start, cc gvdl.

That is a beautiful piece of industrial design.

XMOS is still keeping the Inmos dream alive, more or less!


This is also my recollection.


Small nitpick: malloc is not a system call.


Good catch! We will fix this in the next version and change it to brk/sbrk or mmap


That jumped out at me too. It stood out amid the (excellent) performance model validation.


And Mach 3 vs 2.5. And a 4.4BSD (well, *BSD) user land, although in fairness the original, never released NEXTSTEP 4.0 also had this.


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

Search: