Mono Update Miguel de Icaza miguelximian com Project
- Slides: 16
Mono Update. Miguel de Icaza (miguel@ximian. com)
Project Overview • Mono: – Open Source implementation of. NET Framework • Development tools • Runtime engine • Compatible class libraries. – Based on the ECMA tc 39 tg 1/tg 2/tg 3 standards • #1 Fun Open Source Project. – Also, the most important one ; -)
Need • Reduce cost of development: – Evolution: 850 k-wc, 17 people, 3 years. – 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
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# – Open. GL# – Apache + ASP. NET • Other: – #Zip. Lib – #WT
Mono components Soap Web Clients Enterprise Svcs. #Zip Mono. Posix/PEA ADO. NET Win. Forms Xml. Rpc. Net Relax. Ng Soap Web Servers Xslt/XPath Open. GL# Ogg# Core classes Xml Gtk# Mozilla# Mono Runtime Engine
Documentation Project • Monkeyguide – Tutorial on. Net, Mono, Gtk#, Glade, etc. • Api Docs: – Ecma body. – Gtk# documentation. • The Spanish Hackers • Integrate all the sources – Mono. Doc
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 C++
Platforms • JIT: – X 86: Linux, xx. BSD, Windows. – PPC: RSN. • Interpreter: – Strong. Arm (Hello Malte!) – PPC, Sparc, S 390 • Hard to balance: – Desire to add more optimizations vs ports.
More information • Mono: – http: //www. go-mono. com • Microsoft. NET: – http: //msdn. microsoft. com/net • Ikvm (http: //www. ikvm. net) • Team: – mono-devel-list@ximian. com • Author: – miguel@ximian. com
- Mono miguel de icaza
- Xamarin cofounder miguel icaza
- Dậy thổi cơm mua thịt cá
- Cơm
- Backup and recovery techniques
- Rasgos naturalistas de huasipungo
- Bankhead primary school
- Bankhead primary school rutherglen
- Project status examples
- Bankhead primary rutherglen
- Mono prefixes
- Mono uni root words
- Mono di tri tetra
- Multigressiv mono 2
- Monodevelop linux
- Monolog levels
- El mono dorado