Mono Update. Miguel de Icaza

Slides:



Advertisements
Similar presentations
1 Copyright © 2005, Oracle. All rights reserved. Introducing the Java and Oracle Platforms.
Advertisements

Introduction to .NET Framework
History of.Net Introduced by Microsoft Earlier technology was VC++ and VB VC++ comes with so many library and VB was so easy to use and not flexible to.
SSCLI: The Microsoft Shared Source CLI Implementation Mark Lewin Microsoft Research
.NET Framework Overview Pingping Ma Nov 16 th, 2006.
Henrico Dolfing Business Segment Partners. Océ Document Technologies GmbH2 June, NET Framework Version 3.0.
Introduction. What is.Net? The hype: “Microsoft.Net is a set of Microsoft software technologies for connecting information, people, systems, and devices.
.Net Overview Giuseppe Attardi Università di Pisa.
What is.NET?. The Clients of.NET a) A new generation of connected application b) Microsoft.NET Framework managed execution c) Allows PCs and other smart.
Overview of the.NET Framework. What is the.NET Framework A new computing platform designed to simplify application development A consistent object-oriented.
Programming Our First Java Program Yingcai Xiao. What to Do Set up for Java Programming Write our first Java Program with IDE Write our first Java Program.
CSE3030Lecture 11 Know Your User The First Slogan.
ISYS 512 Business Application Design and Development with.Net David Chao.
J2EE vs..NET Nigam Patel. Topics Background –Web Services, J2EE and.NET Similarities Differences Conclusion –Pros and Con (J2EE and.NET)
Introducing the Common Language Runtime for.NET. The Common Language Runtime The Common Language Runtime (CLR) The Common Language Runtime (CLR) –Execution.
.NET’s CLR How does it really work? 7/2/20151Bhavani Sankar Ikkurthi CS 795 Presentation.
Introducing the Common Language Runtime. The Common Language Runtime The Common Language Runtime (CLR) The Common Language Runtime (CLR) –Execution engine.
Rajeswari Indupuri Introduction to.NET Framework.
A Free sample background from © 2001 By Default!Slide 1.NET Overview BY: Pinkesh Desai.
Overview of Microsoft.Net and Vb.Net ITSE 2349 Spring 2002 Material from Microsoft.Net an Overview for ACC faculty by Stuart Laughton and Introduction.
ISYS 350 Business Application Development
Introduction to .Net Framework
ISYS 512 Business Application Design and Development with.Net David Chao.
VS.NET Syllabus By Peter Huang.
1 8/29/05CS360 Windows Programming Professor Shereen Khoja.
Copyright © 2001 by iigo, Inc. Introduction To.NET Dallas.NET User Group April 4, 2001.
High thoughts must have high language. Aristophanes
J2EE /.NET Liz Farricker Whitney Mayoras Patrick Bailey.
C# A 1 CSC 298 Introduction to C#. C# A 2 What to expect in this class  Background: knowledge of an object oriented language of the C++, Java, … family.
Introduction to.NET Framework. .NET – What Is It? Software platform Language neutral In other words:.NET is not a language (Runtime and a library for.
Mono Development for Win32 Programmers Francisco “Paco” Martníez Mono Contributor Joseph Hill Mono Contributor Erik Dasque Product Manager, Mono Project.
Introduction to .NET Rui Ye.
.NET Framework Overview
ISYS 573 Special Topic – VB.Net David Chao. The History of VB Early 1960s:BASIC-Beginner’s All-Purpose Symbolic Instruction Code –Teaching –Simple syntax,
MESDA Conference 2002 MESDA Annual Conference 2002 Software Development Track Java vs. C#
What is.NET? CS 351 Ed Gellenbeck. Today What is.NET? What Problems Does.NET Solve? What are.NET Framework Components?
.NET Language Supports. .NET Language Support Operating System Common Language Runtime Base Class Library ADO.NET and XML ASP.NET Web Forms Web Services.
ISYS 812 Business Software Development David Chao.
Introduction to VB.Net. What is.NET? A brand of Microsoft technologies A platform for creating distributed Web applications A combination of new and updated.
1.NET FRAMEWORK CE-105 Spring 2007 Engr. Faisal ur Rehman.
Languages and IDE (Integrated Development Environment)
.Net – The First Glance What Is.Net, Why Use.Net.
Rajiv and Shipra Introduction to.NET (asp.net,c#,vb)
tom perkins1 XML Web Services -.NET FRAMEWORK – Part 1 CHAPTER 1.1 – 1.3.
Advanced Mono Development: Best Practices Miguel de Icaza CTO, Ximian Nat Friedman VP Software Development, Ximian
Introducing ASP.NET 2.0. Internet Technologies WWW Architecture Web Server Client Server Request Response Network HTTP TCP/IP PC/Mac/Unix + Browser (IE,
Introduction to.NET. What is.NET? Microsoft’s vision of the future of applications in the Internet age –Increased robustness over classic Windows apps.
Microsoft.NET Norman White Stern School of Business.
Module 1: Getting Started. Introduction to.NET and the.NET Framework Exploring Visual Studio.NET Creating a Windows Application Project Overview Use Visual.
Module 3: Using Microsoft.NET- Based Languages. Overview Overview of the.NET-Based Languages Comparison of the.NET-Based Languages.
Intro to dot Net Dr. John Abraham UTPA CSCI 3327.
PRIOR TO WEB SERVICES THE OTHER TECHNOLOGIES ARE:.
ASP.NET (Active Server Page) SNU OOPSLA Lab. October 2005.
ISYS 512 Business Application Design and Development with.Net David Chao.
Mono, Moonlight, MonoDevelop and MonoTouch Miguel de Icaza
Text Introduction to.NET Framework. CONFIDENTIAL Agenda .NET Training – Purpose  What is.NET?  Why.NET?  Advantages  Architecture  Components: CLR,
.NET Framework, CLR, MSIL, Assemblies, CTS, etc..
Intro to ASP.NET CS-422 Dick Steflik. What is.NET As applications in the Enterprise become more and more netcentric and less and less standalone.NET is.
Introduction to the Microsoft.NET Framework Chris Wastchak Student Ambassador to Microsoft.
Cross-Platform .NET: Mono and MySQL
Computer System Structures
What is .NET.
Introduction to .NET framework
CE-105 Spring 2007 Engr. Faisal ur Rehman
CMPE419 Mobile Application Development
Lecture 1: .NET What Is It And Why Use It? 9/18/2018
Introduction to .NET By : Mr. V. D. Panchal Content :
CMPE419 Mobile Application Development
CS4540 Special Topics in Web Development Introduction to .NET
Presentation transcript:

Mono Update. Miguel de Icaza

Project Overview Mono: –Open Source implementation of.NET Framework Development tools Runtime engine Compatible class libraries. –Based on the ECMA tc39 tg1/tg2/tg3 standards #1 Fun Open Source Project. –Also, the most important one ;-)

Need Reduce cost of development: –Evolution: 850k-wc, 17 people, 3years. –GC, safe runtime eliminate source of errors. –Threaded runtime enable many new uses. Keep multi-language culture Better languages to develop multi-year software.

Development Tools Compilers produced by the Mono team: –C# compiler (100%) –IL Assembler (90%) –VB.NET (50%) –Jscript (10%) Debugger –Both Mono and Unix applications. Documentation system

C# High level systems programming language –Strong typing –OO, single inheritance, multiple interface –Application development language –Not appropriate for scripting tasks. Attributes –Novel mechanism: annotate elements C# 2.0: working with ECMA team. –Iterators, lamba, generic types,

Runtime Engine Services: –JIT/AOT compilation. –Garbage Collection. –Thread management. Language independent

Runtime Engine C# Cobol JavaScript C++ Eiffel Fortran Java Visual Basic Common Intermediate Language JIT ATC X86 PPC MIPS StrongARM SPARC

Mono Today Self hosting –C# written in C# –Second generation compile engine. Components: –Kernel –Xml (xpath,xslt) –asp.net (webforms) –ado.net ++ Mono: –Mozilla# –Gtk# –Vorbis# –OpenGL# –Apache + ASP.NET Other: –#ZipLib –#WT

Mono components Mono Runtime Engine Soap Web ServersXslt/XPath ADO.NET WinForms Core classesXml Soap Web Clients Enterprise Svcs. Gtk#Mozilla# OpenGL# Ogg# XmlRpc.NetRelaxNg #Zip MonoPosix/PEA

Documentation Project Monkeyguide –Tutorial on.Net, Mono, Gtk#, Glade, etc. Api Docs: –Ecma body. –Gtk# documentation. The Spanish Hackers Integrate all the sources –MonoDoc

New VM Second Generation VM: –Pre-compilation –Portability –Optimization platform. Internally: –CIL -> MIR -> LIR –SSA transform (a few today, more tomorrow) –Register Allocation + Instruction scheduling.

Mono and Interop Cross Language Interop –Similar in spirit to CORBA interop subset Reusing existing C code: –Platform Invoke –Custom Marshalling. Embedding the Mono Runtime: –Just like embedding Python.

Interesting case: Java IKVM: jit compiler from jvm to cil. –Jeroen developed it on.NET in Windows. –Zoltan fixed the Mono issues. Exposes Java.NET object bridge. Very robust. –Runs Eclipse, Jython, others.

CLS: Interop subset Java C#JscriptEiffel Common Type SystemLisp C++

Platforms JIT: –X86: Linux, xxBSD, Windows. –PPC: RSN. Interpreter: –StrongArm (Hello Malte!) –PPC, Sparc, S390 Hard to balance: –Desire to add more optimizations vs ports.

More information Mono: – Microsoft.NET: – Ikvm ( Team: Author: