X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=web%2Ffaq;h=9a45337118c2e089c7e98e171087c1c6bb50946f;hb=60efba60dcdaa13e72c116822b8250c65c36980a;hp=f4e1a8e8824958a9e3c331ca1af0609b031e2fb4;hpb=bc09660af099a6eddb54b7f701566e44e3e8323c;p=mono.git
diff --git a/web/faq b/web/faq
index f4e1a8e8824..9a45337118c 100644
--- a/web/faq
+++ b/web/faq
@@ -207,7 +207,7 @@ A: Of course not. Novell is a supporter of the Mono project, but the only way
community to get involved. Visit the contributing
page if you'd like to help out.
-Q: What pieces Novell be working on?
+Q: What pieces is Novell working on?
A: We will devote most of our resources to work on the pieces which are
on the critical path to release a development and execution
@@ -533,12 +533,12 @@ fi
Q: What architectures does Mono support?
-A: Mono today ships with a Just-in-Time compiler for x86-based
- systems. It is tested regularly on Linux, FreeBSD and Windows
- (with the XP/NT core).
+A: Mono today ships with a Just-in-Time compiler for x86, PowerPC and
+ SPARC-based systems. It is tested regularly on Linux, FreeBSD and
+ Windows (with the XP/NT core).
There is also an interpreter, which is slower that runs on the
- s390, SPARC and PowerPC architectures.
+ s390, SPARC, HPPA, StrongARM and PowerPC architectures.
Q: Can Mono run on Windows 9x, or ME editions?
@@ -723,11 +723,11 @@ A: Most of Mono is being written using C#, with only
A multi-platform runtime engine: both a JIT engine and an
interpreter exist. The JIT engine runs currently on x86,
- PowerPC and Sparc systems, while the interpreter works on
+ PowerPC Sparc and S390 systems, while the interpreter works on
x86, SPARC, StrongARM, s390 and PowerPC systems.
- The JIT engine is being ported to PowerPC, s390, SPARC and
- amd64 systems as of this time.
+ The JIT engine is being ported to amd64 systems as of this
+ time.
Supports Linux, BSD, MacOS, Windows and Solaris at this point.
@@ -767,7 +767,9 @@ A: Most of Mono is being written using C#, with only
Portable.NET's compiler.
Mono's C# compiler has strong error handling and has closer
- adherence to the specification.
+ adherence to the specification with support for definite
+ assignment (required to generate verifiable IL code) and
+ CLS conformance checking.
Mono's C# compiler is written in C# which is easier for new
developers to come in and improve, fix and tune. The Mono
@@ -782,15 +784,14 @@ A: Most of Mono is being written using C#, with only
are important for advanced applications, compilers and
dynamic code generation.
- Mono has a complete managed XML
+ Mono has a complete managed XML
stack: XML, XPath, XML Serializer, XML Schema handling
are fully functional, feature complete and tuned for
performance.
- Mono has a complete cryptography stack: we have a complete
- crypto stack: we implement the 1.0 and 1.1 APIs as well as
- using our fully managed stack to implement the SSL/TLS
- transports.
+ Mono has a complete cryptography stack
+ : we implement the 1.0 and 1.1 APIs as well as using our
+ fully managed stack to implement the SSL/TLS transports.
Extensive database support: Mono
ships with database provides for SQL Server, SQL Lite, MySQL, PostgresSQL, Ole
+ href="postgresql.html">PostgresSQL, Ole
DB and ODBC.
Mono includes full LDAP support.
@@ -925,12 +926,11 @@ A: To upgrade your class libraries and compiler, see the
3.- Then checkout or update your mcs CVS copy. Then follow
the steps described in mcs/INSTALL.txt.
-Q: Will it be possible to use the CLI features without using byte codes
- or the JIT?
+Q: Will it be possible to use the CLI features without using byte codes or the JIT?
A: Yes. The CLI engine will be made available as a shared library.
The garbage collection engine, the threading abstraction, the
- object system, the dynamic type code system and the JIT will be
+ object system, the dynamic type code system and the JIT are
available for C developers to integrate with their applications if
they wish to do so.
@@ -1297,9 +1297,7 @@ A: Eto Demerzal has started a Rhino port to C#.
Q: Has anyone succeeded in building a Mac version of the C# environment.
If so can you explain how?
-A: You could try to check with the Darwin people, or the Fink people.
- Mono/C# is self hosting on Linux/PPC which is the hard part, so it
- should be relatively simple to get it to work on MacOS
+A: Yes, Mono works on Linux/PPC and MacOS X (10.2 and 10.3)
** Reusing Existing Code
@@ -1349,11 +1347,30 @@ A: This has been done.
** Mono and GCC
-Q: Are you working on a GCC front-end to C#? A GCC back-end that will
- generate CIL images?
+Q: Are you working on a GCC front-end to C#?
-A: We would love to see a GCC modification that would generate CIL
- images, but there is nothing at this point.
+A: We are not working on a GCC front-end for C#
+
+Q: Will you support C/C++ on the Mono VM?
+
+A:The open64 compiler effort from SGI helps a lot in this direction.
+
+ The Open64 compiler is a modified version of GCC that
+ generates a new intermediate language instead of RTL. This could be
+ the foundation to generate CIL code, and to implement the upcoming
+ Managed extensions to C++ from ECMA.
+
+ Open64 (and other derivative forks of GCC) split the gcc front-ends
+ from the backends by using the WHIRL intermediate representation.
+ Kris has begun the implementation of a translator from WHIRL to CIL.
+
+ So it will be possible to use the GCC compilers to target the CIL.
+
+Q: What about Managed C++?
+
+A: Once a full translator for WHIRL exists, we are interested in
+ looking at expanding the GCC frontends to include extensions for
+ Managed C++.
Q: What about making a front-end to GCC that takes CIL images and
generates native code?
@@ -1361,11 +1378,6 @@ Q: What about making a front-end to GCC that takes CIL images and
A: There is no active work on this area, but Mono already provides
pre-compilation services (Ahead-of-Time compilation).
-Q: But would this work around the GPL in the GCC compiler and allow
- people to work on non-free front-ends?
-
-A: People can already do this by targeting the JVM byte codes (there
- are about 130 compilers for various languages that target the JVM).
** Performance
@@ -1379,10 +1391,19 @@ A: We can not predict the future, but a conservative estimate is that
many new features, and layers suitable for optimization. It is
relatively easy to add new optimizations to Mono.
- The CIL has some advantages over the Java byte code: it is really
- an intermediate representation and there are a number of
- restrictions on how you can emit CIL code that simplify creating
- better JIT engines.
+ The CIL has some advantages over the Java byte code: The existance
+ of structs in addition to classes helps a lot the performance and
+ minimizes the memory footprint of applications.
+
+ Generics in the CLI world are first-class citizens, they are not
+ just a strong-typing addition to the language. The generic
+ specifications are embedded into the instruction stream, the JIT
+ uses this information to JIT a unique instances of a method that is
+ optimized for the type arguments.
+
+ The CIL is really an intermediate representation and there are a
+ number of restrictions on how you can emit CIL code that simplify
+ creating better JIT engines.
For example, on the CIL, the stack is not really an abstraction
available for the code generator to use at will. Rather, it is a
@@ -1458,7 +1479,7 @@ A: First some background information.
Microsoft falls under the ECMA/ISO submission. Jim Miller at
Microsoft has made a statement on the patents covering ISO/ECMA,
(he is one of the inventors listed in the patent): here.
+ href="http://web.archive.org/web/20030609164123/http://mailserver.di.unipi.it/pipermail/dotnet-sscli/msg00218.html">here.
Basically a grant is given to anyone who want to implement those
components for free and for any purpose.
@@ -1630,8 +1651,12 @@ A: It's possible to run VC++ generated apps under Mono, but we do not
Q: Does Mono support generics?.
-A: Mono doesn't support generics currently but a lot of work is being
- done towards it.
+A: Yes, the Mono runtime now supports the new Generics extensions, and
+ there is also support for generics in our new compiler: `gmcs'.
+
+ The Mono C# 1.0 compiler (mcs) will ship with various C# 2.0
+ features, but generics will remain on the separate compiler (gmcs)
+ as this code is not as tested as the main compiler.
** Mono Common Problems