* Revise Preface
Chapter 1:
* Revise sections 1.1 and 1.2, "What is Mono" and "What is .NET"?
* Delete Section 1.3, "History"
* Replace with Section 1.3, "Why Mono?"
Chapter 2:
haven't gotten there yet. Need to replace "Mono Implementation" with "Modules." Goal for all revisions is to be focused on Mono only-- C# and .NET in general have better docs elsewhere, as discussed in one of the appendices. Also, Appendix C (Presentations) should be merged into Appendix D, Additional Resources.
Anyone object? The attached diff is a pretty good idea of what sorts of changes i'm contemplating, content-wise... I'll get EDasque or someone to read it over for accuracy before I commit, of course.
Cheers!
? mono-docs-diff.txt Index: en/index.html =================================================================== RCS file: /mono/monkeyguide/html/en/index.html,v retrieving revision 1.75 diff -u -r1.75 index.html --- en/index.html 3 Feb 2004 05:10:54 -0000 1.75 +++ en/index.html 5 Apr 2004 22:14:20 -0000 @@ -22,14 +22,13 @@ <ul class="menu"> <li>1.1 <a href="mono/dotnet.html">What is .NET?</a></li> <li>1.2 <a href="mono/mono.html">What is Mono?</a></li> - <li>1.3 <a href="mono/history.html">Mono history</a></li> + <li>1.3 <a href="mono/why.html">Why Mono?</li> </ul> - <h4 class="chapter"><a name="CHAP2" id="CHAP2"><b>CHAPTER 2</b> - Architecture</a></h4> + <h4 class="chapter"><a name="CHAP2" id="CHAP2"><b>CHAPTER 2</b> - Architecture and Platform Support</a></h4> <ul class="menu"> <li>2.1 <a href="architecture/architecture.html">.NET Framework Architecture</a></li> - <li>2.2 <a href="mono/monoimpl.html">Mono Implementation</a></li> - <li>2.3 Comparing Mono and the .NET Framework</li> - <li>2.4 <a href="mono/monoenabled.html">Mono enabled platforms</a></li> + <li>2.3 Comparing Mono and the Microsoft Implementation of .NET</li> + <li>2.4 <a href="mono/monoenabled.html">Supported Platforms</a></li> </ul> <h2 class="part"><a name="PART2" id="PART2">PART 2 - Installing Mono and Choosing the IDE</a></h2> @@ -205,11 +204,10 @@ <ul class="menu"> <li>A <a href="appendencies/samples.html">Code Samples used in the document</a></li> <li>B <a href="appendencies/sampleapps.html">Sample Applications</a></li> - <li>C <a href="appendencies/presentations.html">Presentations</a></li> - <li>D <a href="appendencies/resources.html">Links to other Resources</a></li> - <li>E <a href="appendencies/ecma.html">ECMA Standards</a></li> - <li>F <a href="appendencies/license.html">License</a></li> - <li>G <a href="appendencies/credits.html">Credits</a></li> + <li>C <a href="appendencies/resources.html">Links to other Resources</a></li> + <li>D <a href="appendencies/ecma.html">ECMA Standards</a></li> + <li>E <a href="appendencies/license.html">License</a></li> + <li>F <a href="appendencies/credits.html">Credits</a></li> </ul> </body> Index: en/preface.html =================================================================== RCS file: /mono/monkeyguide/html/en/preface.html,v retrieving revision 1.15 diff -u -r1.15 preface.html --- en/preface.html 11 Jan 2004 21:17:37 -0000 1.15 +++ en/preface.html 5 Apr 2004 22:14:20 -0000 @@ -12,17 +12,16 @@ </head> <body> -<p>The Mono Handbook is a collection of guides and tutorials that -should help you getting started with Mono. It covers the Mono -runtime, the C# language, and tools like the debugger, certain parts of -the class libraries, the Database layer ADO.NET, and the Website -Framework ASP.NET, as well as Gtk#. It is not meant as the complete -documentation of Mono.</p> +<p> -<h3>How to read this guide</h3> +The Mono Handbook is a short introduction to the Mono runtime and tools like +the debugger, some class libraries, and Gtk#. It does not cover C# or the +basics of the .NET framework, nor does it constitute the complete documentation +for Mono. Additional resources are listed in +<a href="appendencies/resources.html">Appendix C, Links to other Resources</a>. + +</p> -<p>Beginners should probably read this guide in its entirety, but experts -will probably only need to read about the information they don't know already.</p> </body> </html> Index: en/mono/dotnet.html =================================================================== RCS file: /mono/monkeyguide/html/en/mono/dotnet.html,v retrieving revision 1.16 diff -u -r1.16 dotnet.html --- en/mono/dotnet.html 11 Jan 2004 21:17:37 -0000 1.16 +++ en/mono/dotnet.html 5 Apr 2004 22:14:20 -0000 @@ -7,63 +7,50 @@ <meta name = "DC.Description" content = "People who contributed to this document" /> <meta name = "DC.Contributor" content = "Johannes Roith" /> <meta name = "DC.Contributor" content = "Jon Kessler" /> - + <meta name = "DC.Contributor" content = "Aaron Weber" /> <link rel="stylesheet" type="text/css" href="../style.css" /> </head> <body> <h1>What is .NET?</h1> -<p>.NET is a product family shipped by Microsoft in 2001 as a -response to the successful Java from Sun and designed to -better integrate the different development environments -on windows like C++ and Visual Basic. From that perspective -it's not a Java clone, but rather an approach to better solve the problems -COM was supposed to solve with some exciting new features added like language -independence, great Database support, broad XML support, well-designed -WebServices and WebApplications support, and a big upgrade -to the VisualBasic language, including better object orientation.</p> - -<p>The "Microsoft .NET" name means in fact 3 things. It is important not to confuse -them.</p> -<ul> -<li>The .NET Framework</li> -<li>Services (MyServices, Passport)</li> -<li>Other things with the label ".NET"</li> - -</ul> - -Mono is just a free implementation of the .NET Framework for Linux -and other systems. The .NET Framework is a "software platform" similiar -to Java. The technical aspect will be discussed in "Architecture". -<p><b>Language independence</b>. Perhaps the most important factor -is, that all languages "are created eval". Yes, that's the right -word. There are not one or two languages that can be consumed by -others, if you want language independence. -Example: All Gnome APIs are written in C. This ensures that you -can write an applicaton in Python by accessing these C libraries -through bindings. But you cannot access Python programs through C. -In the .NET world this is possible. Write in C#, MonoBasic, or -whatever, you can reuse those classes without any problems.</p> -<p><b>Platform independence.</b> .NET code is not compiled to -machine code, but has an intermediate form. You can copy binaries -across platforms just like in Java. Only native code invocation can -stop this, but it will disappear, when in time.</p> -<p><b>Class library.</b> .NET has a big, big class library that is useful for -almost any task. The high-level classes are especially interesting. -XML-Support, Database-Support, WebServices-Support and -Webpages-Support are a few examples.</p> -<p><b>The C# language.</b> C# is a very beautiful, clean, effective -language.</p> -<p><b>VB.NET language.</b> Microsoft has finally fixed the -Basic language here. It is now just as feature-full as C# or any -other .NET langauge, and Basic classes can be reused in C# as well as -C# classes in Basic.</p> -<p><b>Web applications.</b> With ASP.NET, Microsoft ships the next -generation web page framework. It benefits from language -independence, so finally you can write your web pages with pascal or -C++ as well as LOGO and so on. Also, it's the first framework to -break with 100% HTML code programming and makes HTML accessible using -objects, while also introducing complex things like calendars.</p> - + +<p> The term ".NET" can be terribly confusing, because it represents a +software development platform, several services, and a marketing and +product branding initiative. In this guide, we will use it only in the +sense of the software development platform. That development platform +is distinguished in several important ways:</p> + + +<p> +Perhaps the most important aspect of .NET is that it it is language +independent. Other platforms offer one-way interoperation: GNOME +libraries, written in C, can be accessed from Python, but that Python +code cannot be accessed by other C applications. With the .NET +framework, developers can mix languages and reuse code in any direction. +</p> + +<p> +.NET is also platform independent. As with Java, you can copy +compiled bytecode from one platform to another and run it +anywhere. Note that while you can access native system resources from +.NET, their usage may limit you to platforms on which those resources +are available. </p> + + +<p> + .NET also has an extensive basic class library, starting with +high-level classes like XML-Support, Database-Support, +WebServices-Support and Webpages-Support. With the .NET class library, +you can develop new applications and extend existing ones easily and +quickly. </p> + + +<p> Finally, .NET gives you access to the C# ("C Sharp") language, a +clean and effective tool for developing in .NET and other +frameworks. You'll see plenty of examples of C# code throughout this +guide, but if you want a complete introduction, see Appendix C, <a +href="appendencies/resources.html">Links to other Resources</a>. +</p> + </body> </html> Index: en/mono/mono.html =================================================================== RCS file: /mono/monkeyguide/html/en/mono/mono.html,v retrieving revision 1.16 diff -u -r1.16 mono.html --- en/mono/mono.html 11 Jan 2004 21:17:37 -0000 1.16 +++ en/mono/mono.html 5 Apr 2004 22:14:20 -0000 @@ -13,108 +13,24 @@ </head> <body> - -<p>Mono is an open source implementation of the Microsoft .NET -Framework.</p> - -<p>Mono includes the following: a compiler for the C# language, an ECMA-compatible -runtime engine for the Common Language Infrastructure (also referred -as the CLR) and class libraries, including both Microsoft.NET's libraries as -well as many others. The runtime can be embedded into your -applications.</p> - -<p>As the project moved on several other tools were developed. A VB.NET compiler -called MonoBasic was added, Jscript.NET is in development at the time of this writing. -Also a debugger, build tools, were created and there is ongoing work on an IDE. +<h1> What is Mono?</h1> <p>Mono is an open source implementation of +the Microsoft .NET Framework, based on the ECMA standards (as +discussed in Appendix D, <a href="appendencies/ecma.html">ECMA +Standards</a>).</p> + +<p> + +Mono includes a compiler for the C# language, an ECMA-compatible +runtime engine (the Common Language Runtime, or CLR),and class +libraries. The libraries include both Microsoft .NET and third party +class libraries, and the runtime can be embedded into applications for +simplified packaging and shipping. In addition, the Mono project +offers an IDE, debugger, and documentation browser. </p> + +<p> +Mono ships under a free and open license, which is discussed in +Appendix E, <a href="appendencies/license.html">License</a></li>. </p> - -<p>Mono has implementations of both ADO.NET - and ASP.NET as part of its distribution.</p> - -<h2>Mono project background.</h2> - - <p>The GNOME project's goal was to bring missing technologies to - Unix and make it competitive in the current marketplace for - desktop applications. We also realized early on that language - independence was important, and that is why GNOME APIs were - coded using a standard that allowed the APIs to be easily - wrapped for other languages. Our APIs are available to most - programming languages on Unix (Perl, Python, Scheme, C++, - Objective-C, Ada). </p> - - <p>Later on, we decided to use better methods for encapsulating - our APIs, and we started to use CORBA to define interfaces to - components. We complemented it with policy and a set of - standard GNOME interfaces for easily creating reusable, - language independent components, controls, and compound - documents. This technology is known as <a - href="http://developer.ximian.com/articles/whitepapers/bonobo">Bonobo</a>. - Interfaces to Bonobo exist for C, Perl, Python, and - Java.</p> - - <p>CORBA is good when you define coarse interfaces, and most - Bonobo interfaces are coarse. The only problem is that - Bonobo/CORBA interfaces are not good for small interfaces. - For example, an XML parsing Bonobo/CORBA component would be - inefficient compared to a C API.</p> - -<h3>The Common Language Infrastructure platform.</h3> - - <p>Microsoft has created a new development platform. The - highlights of this new development platform are the following:</p> - - <ul> - <li>A runtime environment that provides garbage - collection, threading and a virtual machine - specification (The Virtual Execution System, VES).</li> - - <li>A comprehensive class library. </li> - - <li>A new language, C#. Very similar to Java, C# - allows programmers to use all the features available - on the .NET runtime.</li> - - <li>A language specification that compilers can - follow if they want to generate classes and code - that can interoperate with other programming - languages (the Common Language Specification: CLS).</li> - </ul> - - <p>The Common Language Infrastructure platform is similar to the - goals we had in GNOME of giving language independence to - programmers. It is more mature, documented, larger in scope, - and has a consistent design.</p> - - <p>Any API that is written using a CLS provider language can be - used by any language that is a CLS consumer. Compilers - generate code in a format called Common Intermediate Language - (CIL), which is an intermediate representation of a compiled - program and is easy to compile to native code or compile - using Just-in-Time (JIT) engines. The restrictions placed by - the runtime on the CIL byte codes ensures that it is possible - to do a good job at optimizing the code in a JIT compiler.</p> - -<h3>ECMA standards.</h3> - - <p>Microsoft has submitted the - specifications of C#, the runtime, the metadata and the - other various bits of the .NET development platform to the - <a href="http://www.ecma-international.org">ECMA</a> for standarization.</p> - - <p>You can get a copy of the specifications submitted to ECMA - from <a href="http://www.dotnetexperts.com/ecma">http://www.dotnetexperts.com/ecma</a>.</p> - -<h3>Mono: An Open Source Common Language Infrastructure implementation.</h3> - - <p>Ximian has begun work on Mono, a project that aims to bring - the Common Language Infrastructure platform to free systems. </p> - - <p>The .NET development platform is a very rich, powerful, and - well designed platform that would help improve the free - software development platform. Just like the GNU project - began to clone Unix sixteen years ago, we will be cloning the - .NET development platform because it is a great platform to - build on.</p> </body> </html> Index: en/mono/monoimpl.html =================================================================== RCS file: /mono/monkeyguide/html/en/mono/monoimpl.html,v retrieving revision 1.17 diff -u -r1.17 monoimpl.html --- en/mono/monoimpl.html 11 Jan 2004 21:17:37 -0000 1.17 +++ en/mono/monoimpl.html 5 Apr 2004 22:14:20 -0000 @@ -1,4 +1,7 @@ + <!-- Remove this entire section <?xml version="1.0" encoding="utf-8"?> + + <html xmlns="http://www.w3.org/1999/xhtml" xmlns:monodoc="http://www.go-mono.org/xml/monodoc"> <head> @@ -119,3 +122,4 @@ </body> </html> +--> \ No newline at end of file