I am totally for this! But I think the article stopped right as it got to the hard part:
At this point, you’ll probably run into some challenges around C numeric types, C booleans, C pointers, etc. and interoperating with Swift. But these are all very Google-able problems.
The stuff above that is googleable too, so that’s no reason to stop! And I’ve actually found it quite difficult to get good information about Swift/C interop. I really think this is the weakest area of Swift: dealing with raw pointers and memory buffers is nasty. There are seemingly-dozens of classes like UnsafeBufferPointer to learn, and I’ve found it one of those things where I get into fights with the type checker and keep trying one class or method after another until something compiles. There is zero mention of any of this in the Swift language manual, and the API docs for these classes are super sketchy.
Honestly, I’d be using Swift a lot more if it weren’t for this.
This is great as an intro, but doesn’t even mention the most interesting part: as a terminal emulator, the main logic eventually has to draw stuff on the screen, which isn’t covered at all.
I am totally for this! But I think the article stopped right as it got to the hard part:
The stuff above that is googleable too, so that’s no reason to stop! And I’ve actually found it quite difficult to get good information about Swift/C interop. I really think this is the weakest area of Swift: dealing with raw pointers and memory buffers is nasty. There are seemingly-dozens of classes like UnsafeBufferPointer to learn, and I’ve found it one of those things where I get into fights with the type checker and keep trying one class or method after another until something compiles. There is zero mention of any of this in the Swift language manual, and the API docs for these classes are super sketchy.
Honestly, I’d be using Swift a lot more if it weren’t for this.
This is great as an intro, but doesn’t even mention the most interesting part: as a terminal emulator, the main logic eventually has to draw stuff on the screen, which isn’t covered at all.