[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [DotGNU]"What has been achieved so far" draft document
Re: [DotGNU]"What has been achieved so far" draft document
25 Sep 2003 14:58:58 -0500
Gnus/5.09 (Gnus v5.9.0) Emacs/21.2
Changed lines follow their originals, except a few comments, which
should be obvious :)
Norbert Bollow <address@hidden> writes:
> All comments are welcome please :-)
> Overview of the DotGNU project
> From a business perspective, the objective of the DotGNU project is to
> solve the vendor lock-in problem of Microsoft's .NET by creating a
> competing Free Software (open source) platform which is compatible
> enough to .NET so that migration is reasonably easy.
enough with .NET so as to make migration reasonably easy.
> What has been achieved so far
> 1. Compilers
> cscc is a modular compiler system with good support for C#, C and BF.
Am wondering how interested business would be in the successful
completion of a BF compiler :)
> Work on support for some other languages (Java, VB.Net, PHP) has
Work on support for other languages (Java, VB.Net, PHP) has
> been started. Implementing additional languages is aided significantly
> by the innovative "Tree Compiler Compiler" (treecc) utility program,
> which allows using the "Aspect-Oriented Programming" technique for
by the innovative "Tree Compiler Compiler" (treecc) program,
which provides an "Aspect-Oriented Programming" technique for
> managing the complexity of compiler construction.
> The C# front-end implements the C# Language Specification of
> ECMA standard 334
ECMA standard 334.
> The C front-end implements ANSI C.
> cscc is designed to support bytecode generation for multiple bytecode
> systems such as CLR (the Common Language Runtime of Microsoft's .NET,
> as specified in ECMA standard 335), JVM (Java Virtual Machine) and
> Parrot (the bytecode system of Perl 6). Of these, only the bytecode
> generation back-end for the CLR is already mature enough to be useful
generation for the CLR is already mature enough to be useful
(you haven't really defined what you mean by back-end here, and it
isn't necessary anyway)
> in practice.
> 2. Assembler and disassembler
> 3. A runtime engine for executing the bytecode generated by our compiler
> and assembler, or by Microsoft's .NET tools. The runtime engine has
and assembler, Microsoft's .NET tools, or any other
standards-compliant tools. The runtime engine has
> been tested on the x86, PowerPC, ARM, Sparc, PARISC, s309, Alpha, and
> IA-64 processors.
> This runtime engine does not yet include a full JIT (that is work in
> progress), but it already uses some JIT techniques to achieve a much
> better performance than what would be possible with a mere interpreter.
This runtime engine does not yet include a full "just in time"
compiler (JIT), but it already uses some JIT techniques to achieve
much better performance than would be possible with a mere
interpreter. A full JIT is in progress.
> 4. Portability
> While the initial target platform was GNU/Linux, our compiler,
> assembler, disassembler, and runtime engine are also known to run
> under MS Windows, Solaris, NetBSD, FreeBSD, OpenBSD and MacOS X.
> 5. Foundational C# class libs
5. Foundation C# class libs
> Most of the foundational C# class libraries as described in ECMA
Most of the foundation C# class libraries as described in ECMA
> standard 335 have been implemented.
> 6. Higher-level C# class libs
> Microsoft's .NET SDK contains many C# library classes beyond what is
> described in ECMA standard 335. Implementing as many as possible
> of these is a work in progress; we may reach full compatibility
> with Microsoft's .NET SDK for embedded systems in a couple of months.
> 7. System.Windows.Forms
> The DotGNU project puts special emphasis on implementing the
> System.Windows.Forms GUI toolkit directly on top of X11 (and not
> indirectly via some other toolkit). This is a work in progress.
> 8. DGEE webservice server
> DGEE, the DotGNU Execution Environment provides the core webservice
DGEE, the DotGNU Execution Environment, provides the core webservice
> component of DotGNU and provides the functionality of accepting,
> validating and satisfying web service requests.
> In its basic form the DGEE allows the installation and removal of web
> services within the repository, accepts XML-RPC requests for these web
By whom does it allow the inst....?
> services, and generates browsable documentation for these web services
> in HTML and XML form.
> DGEE is designed to support multiple bytecode systems besides that of
> .NET; currently bytecode for the CLR, we also have the beginnings of
.NET; besides support for the CLR bytecode, we also have the beginnings of
> support for Python bytecode.
> 9. A Free Software philosophy compatible vision for webservices
> The basic principle of Free Software philosophy is that the user of
> a computer program should have the right to read the program's source
> code, modify it, and share it. For software which is distributed in
> traditional ways, users will have these rights when the program is
> licensed under a Free software / open source license such as e.g. the
licensed under a Free software / open source license such as the
> GNU General Public License (GNU GPL). For webservices, these licensing
> principles help only when the company which buys the right to use the
principles help only when the company that buys the right to use the
> webservice program is not only able to use the program on the provider's
> webservice server, but is also able to download the webservice program
> itself in executable form if/when that is desired. This is the
> principle of "DotGNU webservices", and it is supported by the DGEE
> webservice server.
> 10. Groupware system with XMLRPC support
> phpGroupWare (formerly known as webdistro) is a multi-user groupware
> suite written in PHP, which can be accessed via a web browser or
> programmatically via XMLRPC.
> phpGroupWare provides a Web-based calendar, todo-list, addressbook,
phpGroupWare provides a Web-based calendar, TODO list, addressbook,
> email, news headlines, and a file manager. The calendar supports
> repeating events. The email system supports inline graphics and file
> The system as a whole supports user preferences, themes, user
> permissions, multi-language support, an advanced API, and user groups.
> It is a plan to support (via XMLRPC) the integration of programs that
> are written in any programming language.
In some places, you say XML-RPC; in others, XMLRPC. This should be
Also, I think you should scare-quote "open source" whenever you write
it. But, your call.
By the way, I have a great idea for a program. See these line-by-line
edits? Someone could write a program to compare an old version of a
document with a new version, finding these changed lines
automatically. I bet you could even have a program that could take
the old version, and the differences from the previous program, and
create the new version ... automagically! :)
Stephen Compall or s11 or sirian
It is all right to hold a conversation, but you should let go of it
now and then.
-- Richard Armour
top secret colonel CipherTAC-2000 eternity server Kennedy AFSPC
LABLINK Albright supercomputer enigma cryptanalysis SHA Leuken-Baden
number key JFK