OSCON 2012 notes

Nick Sabalausky SeeWebsiteToContactMe at semitwist.com
Sun Jul 22 22:04:39 PDT 2012


On Sun, 22 Jul 2012 17:58:20 -0400
Michel Fortin <michel.fortin at michelf.ca> wrote:
> 
> Marmalade, from what I see, is some sort of meta-platform you can use 
> to write something that works everywhere. It adds a new layer of 
> abstraction that can work on top of each platform. Good for them and 
> their developers, but I generally try to avoid unnecessary layers
> like this. It often makes things harder to debug and fix, and will
> always lag behind the functionalities each of platform has to offer.
> 
> No, the idea is to make the D *language* work with each platform's 
> object model. Just like D can call and define C functions with zero 
> overhead, it should be capable of defining classes from other
> languages too and overriding their functions with zero overhead. That
> way you can talk directly with each platform's API with no middle man
> playing a complicated translation/abstraction process in the middle.
> 

Yea, I agree that's worth having. Just thought it was worth mentioning.

> 
> > Also, on the Android, you don't need to deal with the JVM (or
> > whatever Google's version of it is called). Apparently that used to
> > be the case, but now you can just use straight C++, even without
> > third party tools like Marmalade.
> 
> But all the interface widgets are still in Java, no? If you're
> working on an OpenGL/ES game maybe you won,t need them, but if you're
> building any other kind of app, you'll have to play with JNI a lot.
> Or add Marmalade as an abstraction layer. Either way it's suboptimal
> compared to using directly the APIs you need.
> 
[...]
> Try do that with Android's UI
> classes written in Java. But maybe I misunderstood what you're
> referring to.
> 

I wouldn't know. I haven't actually dealt with the android SDK
directly, only Marm. When I saw google saying you use either Java or
straight natively-compiled C++, I guess I assumed that meant an actual
C++ API.

Personally I like abstraction layers for GUI: it means you don't have to
deal with twenty different system-specific (and idiosyncratic) APIs.
For example, I hope I never have to touch Win32 directly again.



More information about the Digitalmars-d mailing list