Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I did a straight C++ app for MacOS but 1) I used SDL2 and 2) it was a full-screen game so no Cocoa UI needed. It was kind of fun though in a retro-computing way.

(I'm a big fan of SDL now.)



The linked project doesn't use any ObjC files at all. SDL2 has a bunch of Cocoa files[1] so you did use Cocoa even if unknowingly.

[1] https://github.com/libsdl-org/SDL/tree/main/src/video/cocoa


The linked project also uses Cocoa, and guess what, considering Cocoa itself is written in ObjC, the linked project also uses OBjC “unknowingly”.

Considering CodaFi works for Apple now, he knows. Spoiler: he knew 11 years ago too.


The OP says it is Cocoa-less in the readme, is that not true?


It's not. Open up any of the .c files and you'll see lots of references to Cocoa. One of the comments refers to Cocoa by name! This is using objc_msgSend to call into Cocoa. You'd have to squint your eyes pretty hard for the claim in the readme to be true. What it doesn't have is Objective-C code, which is different than not having Cocoa.


check out the clang objc rewriter - basically c++front for objc. https://www.jviotti.com/2023/12/01/understanding-objective-c...


Doesn't work anymore, especially because it doesn't support ARC.


Yeah, that's okay. It wasn't like a "purity thing" for me, just nice to write portable code.


Looks like there's a C++ interface to Metal as well.

https://developer.apple.com/metal/cpp/


Kind of, yes there is, however it is suboptimal versus Objective-C or the Swift bindings.

It is mostly for engine writers to plug into Metal, instead of dealing directly with Objective-C++.


Don’t people do that all the time with Qt?




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

Search: