Dear Rouan,
I can not answer all of your questions but offer at least a bit
information.
On Apr 16, 2008, at 4:29 PM, Rouan van Dalen wrote:
Hi everyone.
Im quite new to mozart and Oz. I'm working through the CTM book :).
I am thinking of using Mozart-Oz to develop a production-quality
enterprise class
document management system. However, before I begin, I just want
to confirm
a few things about Mozart.
1) Is the Mozart implementation efficient with regards to memory
management?
Execution speed doesn't have to super high, just adequate.
You might be interested in the language shootout benchmarks.
http://dada.perl.it/shootout/oz.html
http://dada.perl.it/shootout/craps_mem.html
2) Im definitely going to use the FFI to access existing libraries
and implement bindings
to other applications, etc. I have been reading the AliceML list
and see that there are memory leaks
which relate to using the AliceML FFI. Is this a problem in Mozart?
3) In Mozart's current state, is it suited for production-level
enterprise applications?
(Which can be handed off to clients).
4) It is going to be a rather huge application and I just need to
confirm that Mozart and Oz is
suited for writing large applications.
Oz' abstraction capabilities (e.g., procedures and classes for the
small scale and lazily-loaded functors for the larger scale) make it
well-suited for modular applications (which is discussed in more
detail in CTM). All these abstractions can be freely nested (you
could write a class which some method returning a procedure which
creates a functor which ..).
Gump (a flex and bison interface) makes it painless to create some
mini-language, e.g., for communicating between different
applications, and there is also an XML parser. Tools like ozmake make
the compilation process of larger projects consisting of several
files easy, even if your project consists of, say, Oz, XML, C++ and
Gump files (although ozmake is no all-in-one device for system
definition, e.g., dependencies between different projects are not yet
supported).
Coming from Lisp, the only abstraction mechanism I really miss in Oz
for reducing the code of a larger application is the ability define
some mini-language _on top of Oz_, in other words, I miss Lisp-like
macros (there even exists something like that in Oz too, but using it
in its present incarnation is discouraged).
BTW: I am working on a somewhat larger application with Mozart myself
(see http://strasheela.sourceforge.net).
5) Is there still good support for Mozart? In other words, if I
find a problem in Mozart,
can someone assist me in fixing the problem?
The Mozart community is relatively small. However, my experience as a
Mozart user over several years has been quite good. Whenever I came
up with some problem, virtually always there where some helpful
replies. Just check out the mailing list archive to get some idea...
BTW: I couldn't resist to end with a Linus Torvalds quote :)
"Nobody should start to undertake a large project. You start with
a small _trivial_ project, and you should never expect it to get
large. If you do, you'll just overdesign and generally think it is
more important than it likely is at that stage. Or worse, you might
be scared away by the sheer size of the work you envision. So start
small, and think about the details. Don't think about some big
picture and fancy design. If it doesn't solve some fairly immediate
need, it's almost certainly over-designed. And don't expect people to
jump in and help you. That's not how these things work. You need to
get something half-way _useful_ first, and then others will say "hey,
that _almost_ works for me", and they'll get involved in the
project." (http://en.wikiquote.org/wiki/Linus_Torvalds)
Best
Torsten
The solution should work on linux and windows with a preference to
linux. The document
management system will include a web server, web-interface for
accessing the document
store, connecting to a database server (MySQL / PostgreSQL). I
want to develop as much as
possible in Oz, only using the FFI if it is really necessary. The
document management system
will later be adapted to be distributed, but still function as a
logical unit, transparently to the
user, making the solution very scalable.
Thanks.
Oz is great btw :)
___________________________________________________________
Yahoo! For Good helps you make a difference
http://uk.promotions.yahoo.com/forgood/
______________________________________________________________________
___________
mozart-users mailing list mozart-
[EMAIL PROTECTED]
http://www.mozart-oz.org/mailman/listinfo/mozart-users
--
Torsten Anders
Interdisciplinary Centre for Computer Music Research
University of Plymouth
Office: +44-1752-233667
Private: +44-1752-558917
http://strasheela.sourceforge.net
http://www.torsten-anders.de
_________________________________________________________________________________
mozart-users mailing list
[email protected]
http://www.mozart-oz.org/mailman/listinfo/mozart-users