diff options
author | Aaron Weber <aaron@mono-cvs.ximian.com> | 2001-07-08 02:23:21 +0400 |
---|---|---|
committer | Aaron Weber <aaron@mono-cvs.ximian.com> | 2001-07-08 02:23:21 +0400 |
commit | 25b5d7a7ff00b6ab4ce35d7604f4e45801791b85 (patch) | |
tree | dccebd348f7f48b474fc4253e4f158087dcc4bc9 /doc/faq | |
parent | 4ba499dd3119a08c717effca3812cfeac4a3bb84 (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/faq | 177 |
1 files changed, 81 insertions, 96 deletions
@@ -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 |