Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/doc/faq
diff options
context:
space:
mode:
authorAaron Weber <aaron@mono-cvs.ximian.com>2001-07-08 02:23:21 +0400
committerAaron Weber <aaron@mono-cvs.ximian.com>2001-07-08 02:23:21 +0400
commit25b5d7a7ff00b6ab4ce35d7604f4e45801791b85 (patch)
treedccebd348f7f48b474fc4253e4f158087dcc4bc9 /doc/faq
parent4ba499dd3119a08c717effca3812cfeac4a3bb84 (diff)
2001-07-07 Aaron Weber <aaron@ximian.com>
* doc/thanks: style, grammar. (FIXME: "a to read"? clarify) * doc/testing style, grammar. * doc/status: same. * doc/runtime: same. * doc/resources: same. * doc/rationale: same. * doc/ideas: same. * doc/gcc-frontend: same. (FIXME: clarify) * doc/faq: same. (FIXME: merge w/cheridy's version) * doc/documentation: same. * doc/class-library: same. * doc/index: same. svn path=/trunk/mono/; revision=67
Diffstat (limited to 'doc/faq')
-rw-r--r--doc/faq177
1 files changed, 81 insertions, 96 deletions
diff --git a/doc/faq b/doc/faq
index b9678e61ab0..f096fe3ada5 100644
--- a/doc/faq
+++ b/doc/faq
@@ -1,21 +1,21 @@
** Basics
-Q: Is Mono a .NET implementation?
+Q: Is Mono the same as Microsoft's .NET initiative?
A: No. .NET is a company-wide initiative at Microsoft that
- encompasses many different areas (the .NET development framework,
- Passport, Biztalk, their new server products, and anything that is
- remotely connected to .NET gets the ".NET-stamping" treatment).
- Some components of this initiative have been announced and some
- others are in the works.
+ encompasses many different areas. The .NET development framework,
+ Passport, Biztalk, new server products, and anything that is
+ remotely connected to .NET gets the ".NET-stamping" treatment.
+ Some components of Microsoft's .NET initiative have been announced
+ and some others are in the works.
-Q: What is Mono exactly?
-
-A: Mono is a project to implement various technologies developed by
- Microsoft that have now been submitted to the ECMA Standards Body
- for standardization.
+ Mono is a project to implement several technologies developed by
+ Microsoft that have now been submitted to the ECMA Standards Body.
- It contains a number of components:
+Q: What technologies are included in Mono?
+
+A: Mono contains a number of components useful for building new
+ software:
<ul>
* A Common Language Infrastructure (CLI) virtual
@@ -25,11 +25,12 @@ A: Mono is a project to implement various technologies developed by
* A class library that can work with any language
which works on the CLR.
- * A compiler for the C# language, in the future we might work
- on other compilers that target the Common Language Runtime.
+ * A compiler for the C# language. In the future we
+ might work on other compilers that target the Common
+ Language Runtime.
- In Windows there are compilers that target the
- virtual machine for
+ Windows has compilers that target the
+ virtual machine from
href="http://msdn.microsoft.com/net/thirdparty/default.asp#lang">a
number of languages:</a> Managed C++, Java Script,
Eiffel, Component Pascal, APL, Cobol, Oberon, Perl,
@@ -45,10 +46,10 @@ A: Mono is a project to implement various technologies developed by
This means for example that if you define a class to do algebraic
manipulation in C#, that class can be reused from any other
language that supports the CLI. You could create a class in C#,
- subclass it in C++ and instantiate it on an Eiffel program.
+ subclass it in C++ and instantiate it in an Eiffel program.
- A single object system, threading system, class libraries, garbage
- collection system can be shared across all these languages.
+ A single object system, threading system, class libraries, and
+ garbage collection system can be shared across all these languages.
Q: Where can I find the specification for these technologies?
@@ -64,10 +65,7 @@ A: Yes, we will be implementing the APIs of the .NET Framework SDK
Q: What does Mono stand for?
-A: Mono stands for `Monkey' in Spanish, you can also think of it as
- monocromatic as that is what my text editor looks like.
-
- We like monkeys.
+A: Mono is the word for `Monkey' in Spanish. We like monkeys.
Q: When will you ship it?
@@ -75,12 +73,12 @@ A: We do not know when the code will be shipped. The more
contributions we get to the project, the sooner it will ship.
A rough estimate is that we might be able to run our C# compiler on
- Linux by the end of the year. This is exciting because we will be
- running the Windows Executable generated by a Microsoft .NET
- compiler on the Linux platform.
+ Linux by the end of the year. That means running the Windows
+ Executable generated by a Microsoft .NET compiler on the Linux
+ platform.
We expect that doing GUI applications will require more work on the
- class libraries, and that could take another six months.
+ class libraries. That could take another six months.
Q: How can I contribute?
@@ -88,13 +86,13 @@ A: Check the <a href="contributing.html">contributing</a> section.
Q: You guys should innovate instead of copying.
-A: We are working towards giving free software developers better tools
- to create better products. We have decided that we should spend our
- limited resources towards implementing an existing specification
- instead of designing and implementing our own.
+A:
+ We have decided that we should spend our limited resources towards
+ implementing an existing specification instead of designing and
+ implementing our own.
- Designing and implementing our own is possible, but it makes little
- sense to roll our own just because a specification comes from a
+ Designing and implementing our own would be possible, but it doesn't make
+ sense to do that just because the specification comes from a
proprietary vendor.
** Ximian
@@ -104,7 +102,8 @@ Q: Why is Ximian working on .NET?
A: We are interested in providing the best tools for programmers to
develop applications for Free Operating Systems.
- Please read the project <a href="rationale.html">rationale's background</a>
+ For more information, read the project <a
+ href="rationale.html">rationale</a> page.
Q: Will Ximian be able to take on a project of this size?
@@ -115,44 +114,32 @@ A: Ximian will not be able to taken on the whole project on its own.
Q: What pieces will Ximian be 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
+A: We will focus on building a development and execution
environment.
- The idea is to get Mono to a state of usability that would allow
+ The idea is to get Mono to a state of that would allow
third parties to actually be able to use it real-world development.
- On the other hand, if you have Windows you could start contributing
- now to the class libraries by writting them in C#.
-
** Mono and .NET
Q: If applications use Mono, does that mean that I have to pay a service fee?
A: No. Mono is not related to Microsoft's initiative of
- software-as-a-service. Please read questions <a href="#q1">1</a> and <a href="#q2">2</a>.
-
-Q: If you implement .NET, wont I depend on Microsoft Passport to run my software?
-
-A: No, the .NET Framework is a runtime infrastructure and collection of class
- libraries. Passport may be required to access certain web services written
- for that framework, but only if the programmer chooses Passport as the
- authentication mechanism.
+ software-as-a-service.
-Q: Isn't .NET something else?
+Q: If you implement .NET, will I depend on Microsoft Passport to run my software?
-A: You are a bit confused. It is easy to be confused, as Microsoft
- has been naming anything they have produced recently with `.NET'.
+A: No. The .NET Framework is a runtime infrastructure and collection
+ of class libraries. Passport may be required to access certain web
+ services written for that framework, but only if the programmer
+ chooses Passport as the authentication mechanism.
-Q: But .NET does not exist, it is vaporware.
+Q: Is .NET just a bunch of marketing slogans?
A: Although the `.NET initiative' is still quite nebulous, The .NET Framework
has been available for some time. Mono is not an implementation of the .NET
initiative, just the development framework.
- Please refer to questions <a href="#q1">1</a> and <a
- href="#q2">2</a> for more details.
-
** Passport
Q: Is this a free implementation of Passport?
@@ -160,21 +147,20 @@ Q: Is this a free implementation of Passport?
A: No. Passport is part of Microsoft's Hailstorm initiative. Mono
is just a runtime, a compiler and a set of class libraries.
-Q: But there is a System.Web.Security.PassportIdentity class, that must mean
- that my software will depend on it.
+Q: Will the System.Web.Security.PassportIdentity class, mean
+ that my software will depend on Passport?
A: No. That just means that applications might use that API to
contact a Passport site.
As long as your application does not use Passport, you will not
- need passport.
+ need Passport.
- Furthermore, we can envision our implementation of such a class to
- be a set of dummy functions, or have a different implementation
- than contacting passport.com.
+ It might even be possible to implement that class with
+ a set of dummy functions, or use an alternate Passport implementation.
- It is too early to We do not know at this time whether the Passport
- protocol is documented and whether we will be able to talk to
+ We do not know at this time whether the Passport protocol is
+ documented and whether we will be able to talk to
passport.com
** GNOME
@@ -183,7 +169,7 @@ Q: How is this related to GNOME?
A: In a number of ways:
- * To implement some of the functionality, we will use existing
+ * Mono will use existing
components that have been developed for GNOME (Gtk+, Libart,
Gnome-DB and maybe others).
@@ -192,23 +178,24 @@ A: In a number of ways:
* We would like to add support to our CLR implementation to
deal with GObjects (in GNOME 1.x, they are called
- GtkObjects). And allow Mono developers to provide GObjects
+ GtkObjects), and allow Mono developers to provide GObjects
or use and extend existing GObjects.
-Q: Has the GNOME Foundation or the GNOME team have adopted Mono?
+Q: Has the GNOME Foundation or the GNOME team adopted Mono?
-A: Mono has not been adopted by anyone at this point, as it is a
- nascent project, but we hope that the tools that we will provide
- will be adopted by free software programmers.
+A: Mono is too new to be adopted by those groups. We hope that the
+ tools that we will provide will be adopted by free software
+ programmers including the GNOME Foundation members and the GNOME
+ project generally.
-Q: Should GNOME programmer switch over to Mono?
+Q: Should GNOME programmers switch over to Mono?
A: Mono will not be ready even within the next six months, and a
complete implementation is probably one year away.
We encourage GNOME developers to continue using the existing tools,
libraries and components. Improvements made to GNOME will have an
- impact on Mono, as they would be the "backend" for various
+ impact on Mono, as they will provide the "backend" for various
classes.
Q: Will Mono include compatibility with Bonobo components?
@@ -226,7 +213,7 @@ A: No.
Q: Is Mono just a new way of writing Web Services?
-A: No. Please refer to the questions <a href="#q1">1</a> and <a href="#q2">2</a>. 1 and 2.
+A: No.
Q: If this implements the SDK classes, will I be able to write and
execute .NET Web Services with this?
@@ -242,28 +229,28 @@ Q: What about Soup?
A: Soup is a library for GNOME applications to create SOAP server and
SOAP clients.
-Q: I want to use CORBA.
+Q: Can I use CORBA?
-A: The CLI contains enough information about a class, that exposing it
- to other RPC systems (like CORBA) is really simple, and does not
- even require support from an object.
+A: Yes. The CLI contains enough information about a class that
+ exposing it to other RPC systems (like CORBA) is really simple, and
+ does not even require support from an object.
We will be implementing CORBA interoperation as an extension to the
- Mono classes for the purpose of integrating with Bonobo, just like
+ Mono classes so that we can integrate with Bonobo, just like
Microsoft provides COM interoperation classes and support
mechanisms.
Q: Can I serialize my objects to other things other than XML?
-A: You would have to implement your serializer. Hopefully someone
- will contribute a different serializer.
+A: Yes, although the serializing tools have not yet been planned, and
+you would probably have to implement them yourself.
** Development Tools
Q: Will it be possible to use the CLI features without using bytecodes
or the JIT?
-A: Yes, the CLI engine will be made available as a shared library.
+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
available for C developers to integreate with their applications if
@@ -291,9 +278,9 @@ A: You can get very good tools for doing Java development on free
Intel also has a Java VM called <a
href="http://www.intel.com/research/mrl/orp">ORP</a>.
- The JVM is not designed to be a general purpose virtual machine, it
- is optimized for the Java language. The Common Intermediate
- Language (CIL) on the other hand is designed to be a target for a
+ The JVM is not designed to be a general purpose virtual machine.
+ The Common Intermediate Language (CIL), on the other hand, is
+ designed to be a target for a
wide variety of programming languages, and has a set of rules
designed to be optimal for JITers.
@@ -317,20 +304,16 @@ Q: Would you allow other classes other than those in the
A: Yes. The Microsoft class collection is very big, but it is by no
means complete. It would be nice to have a port of `Camel' (the
Mail API used by Evolution inspired by Java Mail) for Mono
- applications.
+ applications.
- Look for more <a href="ideas.html">ideas</a>.
+ For more information on extending Mono, see our <a
+ href="ideas.html">ideas</a> page.
** Mono and portability
Q: Will Mono only work on Linux?
-A: This is a free software project, that means that the direction of
- the project is mostly set by those who contribute to it. If you
- want to steer the direction, the best way of doing this is through
- a patch to the sources.
-
- Currently, we are doing our work on Linux-based systems and
+A: Currently, we are doing our work on Linux-based systems and
Windows. We do not expect many Linux-isms in the code, so it
should be easy to port Mono to other UNIX variants.
@@ -339,12 +322,12 @@ Q: What about Mono on non X-based systems?
A: Our main intention at Ximian is to be able to develop GNOME
applications with Mono, but if you are interested in providing a
port of the Winform classes to other platforms (frame buffer or
- MacOS X for example), we would gladly integrate them, as far as
+ MacOS X for example), we would gladly integrate them, as long
they are under a Free Software License.
** Reusing existing Code
-Q: Will you guys reuse XXX?
+Q: What projects will you reuse or build upon?
A: We want to get Mono in the hands of programmers soon. We are
interested in reusing existing open source software.
@@ -374,15 +357,17 @@ A: Yes, he did, as a catch phrase in his opening remark on the Ottawa
Q: Didn't Ximian's Miguel work for Microsoft?
-A: No, he did not. Nat Friedman (Ximian's co-founder) did work as an
- intern for Microsoft.
+A: No. Nat Friedman (Ximian's co-founder) did work as an
+ intern for Microsoft for one summer.
Q: Did Nat and Miguel meet at Microsoft?
+A: They met online on the Linux IRC network.
+
+
A: They met online on the Linux IRC network; They met in person for
the first time in 1997.
-
** Acronyms
Q: What is the difference between CLR (Common Language Runtime) and