5 ms·
The only thing I dislike about apple, is that it forces you to use cocoa to use opengl. As a C++ programmer and Ogre3D user, it put a lot of pain in the porting
by jokoon 13y ago
The only thing I dislike about apple, is that it forces you to use cocoa to use opengl. As a C++ programmer and Ogre3D user, it put a lot of pain in the porting process.
Maybe OpenGL is better with apple, but C++ is not. Shoving Nextstep under programmer's throats is really a weird strategy.
- adventureloop 13y agoApple only expose the OpenGL bindings via Cocoa. There are many libraries that will expose OpenGL for you. [SDL](http://www.libsdl.org/ http://www.libsdl.org/) and [GLFW](http://www.glfw.org/ http://www.glfw.org/) are the two most prominent.
- dualogy 13y agoExactly. With Go and GLFW I could write 3D GL apps running the same under Linux, Windows and Mac OSX. No need to mess with OS-specifics if you don't want to. SDL could do the same but since I didn't need Audio and all kinds of "media layers" and what not, GLFW seemed a lot leaner and immediately worked "out of box", too.
- jokoon 13y agowell I'm just sad for ogre3d. why only expose it via cocoa ?
- dualogy 13y agoYou misunderstood him. He's not saying "only cocoa exposes gl", he said "cocoa only (as in just) exposes GL, but other cross-platform libs also expose it for you if you prefer not to deal with cocoa".
- pjmlp 13y ago> Shoving Nextstep under programmer's throats is really a weird strategy. No, it is like any vendor that makes developers stick with their own technology. This has been happening in commercial software since the dawn of computing.
- jokoon 13y agoWe're talking about a language, not just a tech. Vendors always had C++. It's agnostic. Apple and its coolness. I doubt people would use Cocoa without nextstep. And honestly, right clicking with mac, what a nightmare, always bringing the throbber. When I think about it, apple delivers the software that works with the hardware, but the soft is just cool, it's not really nice to work with. Most features comes from unix anyway. While microsoft was hardware agnostic and allowed the computer industry to grow, Apple just comes in with apparatus and just want people to forget the pain of what allowed the computer industry to grow by delivering both soft and hardware. You can't make programmers learn a language which works in so many different ways, and expect to create a monopoly on such apps. Or maybe it will take time for crowds to forgets C++ and use cocoa.
- gurkendoktor 13y agoAll relevant compilers on OS X allow you to mix and match C++ and Objective C. If you look at Apple stack traces, you will see plenty of C++ in there. I don't see how using a few "Objective" bits in your C++ code is any worse than using non-portable COM interfaces in C++ on Windows.
- jokoon 13y agoI don't know, I'm just talking about ogre3d. Besides, the fact windows has non portable code, doesn't mean OSX should too. Especially if it uses unix as a base.
- pjmlp 13y agoUNIX is only portable for command line tools, POSIX does not define anything GUI related. XWindows and OpenGL are not part of POSIX. Did you ever wrote portable GUI applications across UNIX systems using only UNIX standards?
- jokoon 13y agoWell what's the point of using unix then, if it's not to make unix-friendly app not compatible ? To attract linux nerds ? > XWindows and OpenGL are not part of POSIX. I don't really care about POSIX, I care about being able to recompile apps for a new OS, without having to rewrite core parts or change the design. I guess people would start to make new apps for the sake of apple. And by the way, what's the point of Cocoa compared to other existing things ? Is GUI programming that much important, now that everybody is using html and js ? Is it worth changing the wheels for the sake of a language paradigm ? At the kernel level, I don't see why there's a need for cocoa.
- seclorum 13y agoWhats the matter with building a Toll-Free Bridge once and forgetting about the problem forever? http://cocoadev.com/wiki/HowToCreateTollFreeBridgedClass http://cocoadev.com/wiki/HowToCreateTollFreeBridgedClass
- mindajar 13y agoYeah, well, [your preferred development stack] sucks because [subjective and/or political reason] that [anyone who agrees with me] knows is obviously true. Clearly, [vendor of your preferred development stack] should go spend many years rewriting everything so that my mind can continue living comfortably in the box it's in, safe from the pain of having to learn something different.
- jokoon 13y ago> political reason congressmen ! Seriously ? > [your preferred development stack] sucks I don't prefer anything, but making things work between systems is a pain, and I thought portable languages were the thing that allowed those systems to run the same programs. I just think that trashing portions of technologies that worked on other systems, is debatable. > Clearly, [vendor of your preferred development stack] should go spend many years rewriting everything so that my mind can continue living comfortably in the box it's in, safe from the pain of having to learn something different. Yeah, maybe. At the time I adopted Ogre3D, I thought its code would run on any OS. I would really like to know the good reasons that push companies to break backward compatibility. Carbon comes to mind. Most other OSes think backward compatibility is important. But now, we move faster than light, screw the weak ones who won't learn all the new stuff !