4 ms·
In terms of syntax it's much closer to Kotlin than it is C# (though still different). It has seamless interop with Objective-C and C, and can be mixed with abo
by kitsunesoba 6y ago
In terms of syntax it's much closer to Kotlin than it is C# (though still different).
It has seamless interop with Objective-C and C, and can be mixed with about any language LLVM/Clang can handle (as long as you have C headers), compiling it all down to a small, self-contained binary.
For now it's mainly useful on Apple platforms, but there's interest and efforts in cross platform from both Apple and the Swift community, so there's a lot of potential for it to be a great language for the main body of application code, with individual bits of functionality written in languages that make the most sense without too many layers of adapters or wrappers.
- nsonha 6y agoI think the person meant in terms of identifiable trait/philosophy/focus. Swift and c# and maybe even kotlin are languages that are just a big piles of feature and does not really have an principle behind its design like stupid simple of golang or lazyness of haskel
- TylerE 6y agoat a time when every language is trying to be edgy/different, it'd be nice to have an actual language that is comfortable and boring without being dumb. Seems like a viable niche to me.
- nsonha 6y agothis is not a boring language, it has a lot of complexity. I prefer simple but interesting language, f# comes to mind.
- TylerE 6y agoBoring in the sense of not being, well, Rust, or a lisp, or an ML derivative or...
- nsonha 6y agoThe people that don't like edgy PL features normally also prefer a clean and simple language with orthogonal design not the big-pile-of-features kind of language though.
- mpweiher 6y ago> seamless interop with Objective-C and C The interop actually has lots of seams. A huge engineering effort had to be made and has been made to paper over those seams, but they are definitely there. Calling conventions are gratuitously incompatible, objects have to be converted at API boundaries at significant cost, the meta-systems are incompatible, etc.