3 ms·
It's a cherry picked, out-of-date counter-example. Swift isn't designed for building drivers. In reality, a lot of Swift apps are delegating to C code. My own
by willtemperley 1y ago
It's a cherry picked, out-of-date counter-example. Swift isn't designed for building drivers.
In reality, a lot of Swift apps are delegating to C code. My own app (in development) does a lot of processing, almost none of which happens in Swift, despite the fact I spend the vast majority of my time writing Swift.
Swift an excellent C glue language, which Java isn't. This is why Swift will probably become an excellent game language eventually.
- pjmlp 1y agoIt surely is, according to Apple's own documentation. > Swift is a successor to the C, C++, and Objective-C languages. It includes low-level primitives such as types, flow control, and operators. It also provides object-oriented features such as classes, protocols, and generics. -- https://developer.apple.com/swift/ https://developer.apple.com/swift/ If developers have such a big problem glueing C libraries into Java JNI, or Panama, then maybe game industry is not where they are supposed to be, when even Assembly comes to play.
- vips7L 1y ago> It's a cherry picked, out-of-date counter-example. Swift isn't designed for building drivers Do you have a counter benchmark? The burden is on you here to disprove the data presented. What that benchmark shows is that you spend A TON of time counting references, much more than tracing GC, unless you enter Swifts C++ networking code. I would think games don’t spend most of their time calling into networking code. > In reality, a lot of Swift apps are delegating to C code. My own app (in development) does a lot of processing, almost none of which happens in Swift, despite the fact I spend the vast majority of my time writing Swift. So what you’re saying is that any language will be good for gaming since they all can delegate to C? > Swift an excellent C glue language, which Java isn't. This is why Swift will probably become an excellent game language eventually. What makes swift better at calling C than Java? AFAIK Java has a perfectly good and brand new foreign function interface. > This is why Swift will probably become an excellent game language eventually. I would take this bet that it won’t. Purely on the sheer fact that gaming occurs on Windows and Swift is barely capable there.
- willtemperley 1y ago> I would think games don’t spend most of their time calling into networking code. Exactly. That is why the out-of-date networking example being touted as evidence is irrelevant here. What it boils down to is that Java and C have fundamentally incompatible memory models. Direct access to C memory is impossible because of the managed heap and GC. > I would take this bet that it won’t. Purely on the sheer fact that gaming occurs on Windows and Swift is barely capable there. This is a very odd comment - gaming occurs in a lot of places. Quite a lot happens on mobile these days. Turns out a lot of mobile devices run Swift, on which it appears to be reasonably capable.
- pjmlp 1y agoAnd 70% of the mobile world runs Android, which is powered by Java, so it is equally capable.
- willtemperley 1y agoAndroid does not run Java and you know that. https://omeraydin.dev/blog/does-android-run-java https://omeraydin.dev/blog/does-android-run-java