of course.
I've defined my needs in the presented document (essentially a
form of Model Driven Architecture (MDA)).
Then very few languages will do what you want, and they pretty much
are brought to you by the letters M, S, and B.
You have described many systems.
Right. There are two words which you have that are (by and large)
contradictory: scalable and embeddable.[...]
It is not contradictory.
We could go on like this, but emphatically, with a LOT of SE
experience behind me, they are contradictory. Embeddable databases
don't scale well, and to wring performance out of them, they often
end up using features that don't correspond to larger database
engines. Examples? SQLite -- a really good embeddable RDBMS --
doesn't implement the full SQL language (I think it might support
most SQL89, but not SQL92, but I don't recall). MySQL explicitly
*breaks* significant portions of SQL compatibility.
Reality number one: the so-called portable SQL database application,
isn't. If your SQL database application is portable, it uses the LCD
of database features or has separate ORDBMS layers implementing the
various features that are present in one database but not another.
And *that's* just if you're talking about embeddable databases. If
you need to do embedded systems programming, you're in even more
trouble, because most
[...]
This is false.
Commercial systems exist, mostly very expensive.
Actually, Ilias, it is 100% accurate. There is no system in
existence -- no CASE tool in existence -- which will allow you to:
1) generate any random application in the world that can use an
embedded database or an external database and perform well in any
use case; and
2) program against platform-agnostic GUI to run on systems from Sun
to Linux to Windows to MacOS X to PalmOS or even something
embedded in your toaster, OR run as a web application at whim.
That's basically what you're wanting. There's no such commercial
application and there's no such open source application. Why?
Because such a tool would SUCK. As every single CASE tool in
existence has ever done. CASE tools generally require that you run a
very large runtime, program *their* way, often in *their* language
(which isn't related to anyone else's), and then tend to fall behind
both operating system releases and the technology curve.
-austin