Via Eelco Visser I discover haXe, a multiplatform language.
So far, haXe programs can be compiled to Flash, JavaScript, PHP and C++. haXe provides:
- a standardized language with many good features
- a standard library (including Date, Xml, Math…) that works the same on all platforms
- and a platform-specific libraries : the full APIs for a given platform are accessible from haXe.
I don’t think we can say yet that haXe IS a REAL platform-independent LANGUAGE (FOR SOME features you still need TO use platform-specific libraries AND the target platforms ARE still somewhat limited) so IN this sense, it IS NOT equivalent TO what we know AS platform-independent models IN MDD/MDA processes , but FOR sure it IS a step IN that direction.
WITH things LIKE haXe but also WITH the increasing popularity OF textual modeling tools AND the blooming OF many kinds OF DSLs (e.g. WebDSL FOR the development OF web applications) it IS MORE AND MORE difficult TO define a clear-cut difference BETWEEN modeling AND programming.
I don’t think this is necessarily a bad thing. In fact, it is probably a good one. For instance, all these new alternatives can ease the transition between the high-level models of the system and the final implementation code.
FNR Pearl Chair. Head of the Software Engineering RDI Unit at LIST. Affiliate Professor at University of Luxembourg. More about me.
“it is more and more difficult to define a clear-cut difference between modeling and programming. I don’t think this IS necessarily a bad thing. IN fact, it IS probably a good one.”
Definitely; we need more than ever a conceptual framework to unify both software description techniques.
BTW, in her recent book “Software LANGUAGE Engineering: Creating DOMAIN-Specific Languages USING Metamodels”, Anneke Kleppe proposes a common conceptual framework for speaking about programs, models, data schemas, queries, etc… everything we use to describe software.
She is not the first person in doing so, but the book is a nice compilation of old and new ideas from someone that knows much about software languages; one of those didactic books so much needed to achieve what Bezivin has pointed out as the next MDE important goal: enhancing the teaching of MDE in schools and universities.