Mono - PowerPoint PPT Presentation

1 / 228
About This Presentation
Title:

Mono

Description:

ce qu'il y a d'int ressant dans Mono ? 3. les alternatives Mono ? 4. ... actif. 20 d veloppeurs plein temps ~100 contributeurs r guliers. d fi ... – PowerPoint PPT presentation

Number of Views:43
Avg rating:3.0/5.0
Slides: 229
Provided by: EVA54
Category:
Tags: actif | mono

less

Transcript and Presenter's Notes

Title: Mono


1
Mono
2
  • Jean-Baptiste Evain

3
essaim
4
uha
5
evaluant
6
mono
7
google
  • Summer of Code

8
db4o
9
  • 6

10
  • 222

11
  • Mono
  • pour la recherche
  • et lenseignement

12
  • agenda

13
  • 1.

14
  • quest ce que
  • Mono ?

15
  • 2.

16
  • ce quil y a dintéressant dans Mono ?

17
  • 3.

18
  • les alternatives à Mono ?

19
  • 4.

20
  • ce quon peut faire avec Mono ?

21
  • 1. quest ce que Mono ?

22
  • .net ?

23
  •  An archicture for creating and running
    component software 

24
  • 1.

25
  • environnement dexécution

26
  • 2.

27
  • framework

28
  • 3.

29
  • ensemble doutils et de compilateurs

30
  • bâti sur des standards

31
  • CLI Common Language Infrastructure
  • ECMA-335

32
  • C
  • ECMA-334

33
ecma
34
  • European Cartons Makers Association

35
  • European Computer
  • Manufacturers Association

36
  • ECMA-Script (JavaScript)

37
  • Eiffel

38
  • ISO

39
mono
40
  • open-source

41
novell
42
  • libre

43
Mono stack
44
  • CLI Common Language Infrastructure

45
  • runtime
  • Gestion des types (CLS)
  • Gestion de la mémoire
  • Gestion des exceptions
  • Gestion des méta données

46
  • runtime
  • Support de plusieurs langages
  • Support de l'interopérabilité avec du code natif
  • Sécurité au déploiement
  • Sécurité à lexécution

47
  • cil
  • Common Intermediate Language
  • Généré par tout compilateur .net
  • Indépendant de larchitecture
  • Conçu pour être compilé
  •  Just In Time  Compilation
  •  Ahead Of Time  Compilation

48
  • assembly
  • Lunité de déploiement
  • Auto descriptive
  • Méta données
  • Gestion des versions
  • Gestion de la sécurité

49
  • simplification des modèles précédents

50
mono
51
  • portable

52
  • ? OS

53
  • Linux

54
  • Windows
  • NT, 2k, XP, 2k3

55
  • Mac OS X

56
  • BSD

57
  • Solaris

58
  • ? architectures

59
  • x86

60
  • PowerPC

61
  • x86-64

62
  • Sparc

63
  • s390

64
  • IA64

65
  • Arm

66

67
schéma
68
  • sinon

69
  • actif

70
  • 20 développeurs plein temps

71
  • 100 contributeurs réguliers

72
  • défi technologique

73
  • excitant

74
  • si tant est quon peut trouver un ramasse miettes
    excitant

75
  • 2. ce quil y a dintéressant dans Mono ?

76
  • 2.1. runtime

77
  • Just In Time compiler

78
  • JIT
  • 2 représentations
  • CIL
  • Arbres
  • Proche du code natif
  • Optimisations
  • SSA, SSAPRE, HSSA, DEADCE, ABC removal, inlining,

79
  • Garbage Collector

80
Ramasse miettes
81
  • GC
  • Boehm GC
  • Très utilisé
  • Conservateur
  • Peu précis
  • En changement

82
  • et puis

83
  • runtime
  • Vérification du code CIL
  • Code Access Security
  • Chargement dynamique de code
  • En constante amélioration

84
  • 2.2 framework

85
  • compatibilité

86
  • librairies
  • Core librairies
  • Web ASP.NET 1.1
  • Services Web
  • Données ADO.NET
  • Clients riches Windows.Forms
  • Portage dapplication facilité si certaines
    règles ont été respectées

87
  • oui

88
  • bon

89
  • daccord

90
  • les Windows.Forms

91
  • cest pas fini

92
  • enfin pas tout à fait

93
  • mais ça avance bien

94
  • et puis cest pas si grave

95
  • les plus

96
  • en plus
  • Gtk
  • Accès aux données générique
  • Avec encore plus de providers
  • Mono.C5
  • Mono.Posix
  • Mono.Cecil

97
  • juste un mot sur

98
  • Mono.Cecil

99
  • parce que

100
  • cest moi qui lai fait

101
  • cecil
  • Librairie de manipulation dassemblies
  • Multiples usages
  • Utilisé dans de nombreux outils
  • MonoDevelop, mdb, AspectDNG, db4o, NDepend, EUSS,

102
  • ce quil manque

103
  • COM /
  • Enterprise Services

104
  • 2.3. outils

105
  • 1.

106
  • compilateur c

107
  • mcs
  • Écrit en C
  • Self hosting
  • 54K LOC
  • Rapide (2.5s pour se recompiler)
  • Base pour plusieurs compilateurs

108
  • dérivés
  • gmcs
  • mcs support des génériques
  • mbas
  • Compilateur Visual-Basic.NET
  • alpha

109

110
  • 2.

111
  • debugger

112
  • mdb
  • Écrit principalement en C
  • Avec un peu de glue C pour le runtime
  • Au jour daujourdhui
  • Toujours en développement
  • Limité à Linux x86 ou x86-64

113
  • 3.

114
  • assembleur / désassembleur

115
il
116
  • 4.

117
  • IDE MonoDevelop

118
monodevelop
119
  • architecture ouverte

120
  • plugins

121
nunit
122
  • GUI Gtk

123
(No Transcript)
124
  • Web ASP.NET

125
(No Transcript)
126
  • 5.

127
  • Gendarme

128
  • gendarme
  • Équivalent de FxCop
  • Vérificateur de règles
  • Mais aussi détecteur de bugs

129
  • qui dit
  • open source

130
  • dit licences

131
  • runtime
  • LGPL

132
  • librairies
  • MIT/X11

133
  • compilateur C GPL

134
  • licences commerciales

135

136
  • 3. les alternatives à Mono ?

137
mono
138
  • vs

139
java
140
  • plateformes avec de fortes similitudes

141
  • code intermédiaire

142
  • ramasse-miettes

143
  • sécurité

144
  • orientée objets

145
  • introspection

146
  • gestion des exceptions

147
  • méta-données

148

149
  • quelles différences ?

150
  • assembly / class

151
  • CIL / bytecode

152
  • pensé pour le multi langages

153
  • facilité dintégration avec le code natif

154
  • des _vrais_ génériques

155
  • et puis

156
  • pourquoi vouloir utiliser
  • Mono ou Java

157
  • quand on peut utiliser
  • Java avec Mono

158
  • IKVM

159
  • ikvm
  • JVM fonctionnant sous .net
  • Traduction du bytecode vers CIL
  • JIT
  • AOT
  • Permet de faire tourner eclipse sous Mono

160
mono
161
  • vs

162
  • Shared Source CLI

163
  • ROTOR

164
  • rotor ?

165
  • sous-ensemble

166
  • .net framework

167
  • shared-source

168
  • crée et documenté

169
  • pour la recherche et lenseignement

170
  • disent-ils

171
  • complexe

172
  • COM/C

173
  • incomplet

174
  • non optimisé

175
  • et qui par définition

176
  • na pas dapplication industrielle

177
  • cela dit

178
  • chapeau

179
microsoft
180
  • pour son ouverture sur ce projet

181
  • bref

182
  • 4. ce quon peut faire de Mono

183
  • idées

184
  • 1.

185
  • langages de programmation

186
  • langages
  • JScript.NET
  • Boo
  • Python-like
  • Nemerle
  • C Programmation fonctionnelle
  • Mais aussi

187
  • ADA

188
  • Eiffel

189
  • Forth

190
  • Haskell

191
  • Mercury

192
  • Oberon

193
  • Pascal

194
  • Prolog

195
  • Scheme

196
  • Smalltalk

197

198
  • votre langage ?

199
  • 2.

200
  • programmation orientée aspect

201
  • aop
  • Au niveau du langage
  • Au niveau du runtime
  • Au niveau du code CIL

202
  • 3.

203
  • gestion de la mémoire

204
  • mémoire
  • Remplacer le GC actuel
  • En cours de développement
  • Précis
  • Compact
  • A implémenter
  • Concurrent
  • Incrémental

205
  • 4.

206
  • JIT

207
  • JIT
  • Formidable terrain dessais
  • Transformation de code intermédiaire
  • JIT managé

208
  • 5.

209
  • en vrac

210
  • idées
  • Concurrence
  • Sécurité
  • Services distribués

211
  • voilà

212
  • toutes les marques

213
  • tous les logos

214
  • appartiennent à leur propriétaire respectif

215
  • jb at evain.net
  • http//evain.net

216
  • ?

217
  • bonus

218
  • historique

219
  • 2001

220
  • 30 Juin
  • Lancement du projet Mono

221
  • 28 août
  •  Hello World ! 

222
  • 5 Septembre
  • mcs compile un hello world.

223
  • 2002

224
  • 12 Mars
  • mcs compile mcs

225
  • 30 Juin
  • mcs compile mscorlib.dll

226

227
  • 30 Juin 2004
  • Mono 1.0

228
  • Septembre 2006
  • Mono 1.2
Write a Comment
User Comments (0)
About PowerShow.com