source: trunk/presentation-langages/beamer/resultats_enquete.tex @ 407

Last change on this file since 407 was 370, checked in by jha, 12 years ago

ajout de la contributrice, de la partie enquete et corrections de coquilles

File size: 9.2 KB
Line 
1\begin{frame}
2\frametitle{Enquête}
3Enquête réalisée début octobre auprÚs des membres de la cellule ISMAD (Informatique Scientifique, Modélisation et Analyse, Archivage et Distribution des données) qui réunit, entre autres, les informaticiens « calcul scientifique » du LATMOS.\\
413 d’entre eux m’ont répondu.\\
5J’ai également interrogé deux personnes extérieures au laboratoire à propos du langage R d’une part et du développement d’un code de transfert radiatif et résolution de problÚme inverse en C/C++ d'autre part.
6\end{frame}
7\begin{frame}
8\frametitle{Enquête}
9Des langages cités par les membres d’ISMAD étaient manquants dans le séminaire :
10\begin{itemize}
11\item Bash (Linux) : scripts pour manipuler des fichiers et traiter des fichiers texte, automatiser des tâches, utiliser les outils texte (awk/sed/cut...) et les commandes Unix
12\item VisualBasic (Windows) : automatisation de tâches, ajout de fonctionnalité sous Excel, visualisation de données
13\item Igor (Windows et Mac) : outil payant d’analyse et de visualisation de données
14\end{itemize}
15\end{frame}
16\begin{frame}
17\frametitle{Traitement des données et du signal}
18    \begin{block}{Pour des ensembles de données de taille raisonnable, des études de sensibilité, la réalisation de maquettes, incluant la visualisation de données :}
19        \begin{itemize}
20            \item IDL (SWAN)
21            \item Matlab
22            \item Python
23        \end{itemize}
24    \end{block}
25    \begin{block}{Pour le traitement d'images:}
26        \begin{itemize}
27            \item IDL
28            \item Matlab
29        \end{itemize}
30    \end{block}
31\end{frame}
32\begin{frame}
33\frametitle{Traitement des données et du signal}
34    \begin{block}{Pour le traitement statistique de grands ensembles de données avec visualisation possible :}
35        \begin{itemize}
36            \item R
37            \item Python (TAPAS)
38        \end{itemize}
39    \end{block}
40    \begin{block}{Pour le traitement de grands ensembles de données, gourmands en temps CPU et/ou nécessitant de la parallélisation :}
41        \begin{itemize}
42            \item C (L2 MERIS, PICARD)
43            \item C++ (IASI)
44            \item Fortran
45        \end{itemize}
46    \end{block}
47\end{frame}
48\begin{frame}
49    \begin{block}{Modélisation}
50        \begin{itemize}
51            \item Fortran semble le langage par excellence
52            \item C/C++ possible mais c’est plus difficile
53        \end{itemize}
54    \end{block}
55    \begin{block}{Gestion des données}
56        \begin{itemize}
57            \item Perl (SWAN, PICARD, NDACC)
58            \item C++ (base de données spectroscopiques)
59        \end{itemize}
60    \end{block}
61\end{frame}
62\begin{frame}
63    \begin{block}{IHM et interfaces graphiques}
64        \begin{itemize}
65            \item IDL (mais pas portable, remplacé par Java)
66            \item Java
67            \item C\#
68            \item Php (+ site Web)
69        \end{itemize}
70    \end{block}
71\end{frame}
72\begin{frame}
73\frametitle{Utilisations spécifiques}
74    \begin{block}{L'utilisation des langages C et C++ est parfois obligatoire}
75        \begin{itemize}
76            \item développement d’un logiciel embarqué dans un microprocesseur sur une carte électronique (PHEBUS)
77            \item interfaçage avec Zemax (logiciel payant de simulation des systÚmes optiques)
78            \item utilisation de la librairie SPICE (NASA, existe aussi pour Fortran, IDL et Matlab)
79            \item programmation d’une machine à états finis pour piloter une plateforme de mesure basée sur une carte Arduino
80            \item développement des logiciels de traitement des données des instruments IMEBF et SI en association avec une interface graphique (CVI-Labwindows) (projet TARANIS)
81        \end{itemize}
82    \end{block}
83\end{frame}
84\begin{frame}
85\frametitle{Retours d'expériences - langages compilés}
86    \begin{block}{C : langage bien connu, normalisé, multiplateforme}
87        \begin{itemize}
88            \item codes robustes, compacts et rapides, opérationnels, portables, pérennes
89            \item langage bas niveau : proche de la machine, permettant d’optimiser à l’extrême mais, pour les non experts, contraintes
90            \item effort de développement de bibliothÚques gratuites (gsl, fftw, armadillo...), certaines interfaçables avec Fortran
91        \end{itemize}
92    \end{block}
93    \begin{block}{C++ : langage orienté objet}
94        langage à l’interface entre le bas niveau et le haut niveau des langages interprétés
95    \end{block}
96\end{frame}
97\begin{frame}
98\frametitle{Retours d'expériences - langages compilés}
99    \begin{block}{Fortran : langage robuste, facile à mettre en œuvre, aide disponible sur internet}
100        \begin{itemize}
101            \item langage adapté aux utilisateurs/développeurs scientifiques
102            \item codes rapides et performants, opérationnels
103            \item mais, pour la portabilité, mieux vaut utiliser le même compilateur que pour le développement
104        \end{itemize}
105    \end{block}
106    \begin{block}{Java : langage portable et gratuit}
107        API trÚs trÚs riche
108    \end{block}
109    \begin{block}{C\#}
110        IDE intéressant : Visual Studio
111    \end{block}
112\end{frame}
113\begin{frame}
114\frametitle{Retours d'expériences - langages interprétés}
115    \begin{block}{Perl}
116        grande collection de modules
117    \end{block}
118    \begin{block}{Python}
119        \begin{itemize}
120            \item langage facile à mettre en œuvre, temps de développement courts, codes courts
121            \item langage permettant des traitements de haut niveau
122            \item langage permettant de lire un grand nombre de formats de fichiers
123            \item langage pouvant remplacer IDL et Matlab pour le traitement des données et des images
124            \item mais, langage jeune, problÚme de compatibilité entre les versions 2.x et 3.x
125        \end{itemize}
126    \end{block}
127\end{frame}
128\begin{frame}
129\frametitle{Retours d'expériences - langages interprétés}
130    \begin{block}{Ruby}
131        codes courts
132    \end{block}
133    \begin{block}{Php : langage connu pour les pages Web, grosse communauté d’utilisateurs, beaucoup d’aide disponible sur internet}
134        \begin{itemize}
135            \item langage facile à mettre en œuvre au départ
136            \item mais pas mal de lacunes au niveau sécurité
137            \item mais trÚs consommateur de ressources
138        \end{itemize}
139    \end{block}
140\end{frame}
141\begin{frame}
142\frametitle{Retours d'expériences - langages applicatifs}
143Extraction des données, traitement et analyse graphique avec le même outil\\
144Langages inadaptés aux traitements de masse, trop lents, à remplacer par un langage compilé (C ou Fortran)
145    \begin{block}{Scilab : clone libre de Matlab}
146        les codes Matlab doivent être totalement réécrits pour être exécutés avec Scilab (un traducteur existe)
147    \end{block}
148\end{frame}
149\begin{frame}
150\frametitle{Retours d'expériences - langages applicatifs}
151    \begin{block}{Matlab : formalisme matriciel, fonctions trÚs élaborées, développement rapide}
152        \begin{itemize}
153            \item simple et efficace pour la manipulation de matrices (traitement d’image)
154            \item contrÃŽle direct des figures (pas possible avec IDL)
155            \item boîtes à outils trÚs complÚtes mais payantes
156            \item boîte à outils libre et compatible avec Matlab 5 et 6.5 (problÚme de visualisation avec Matlab 7) : SOM (Self-Organizing Map, classe de réseaux de neurones)
157            \item mais, logiciel, maintenance et boîtes à outils chers
158            \item Octave, alternative libre à Matlab, quasi-compatible pour les tâches de visualisation mais problÚme de compatibilité avec certaines boîtes à outils
159        \end{itemize}
160    \end{block}
161\end{frame}
162\begin{frame}
163\frametitle{Retours d'expériences - langages applicatifs}
164    \begin{block}{IDL}
165        \begin{itemize}
166            \item langage proche du Fortran
167            \item beaucoup de bibliothÚques gratuites sur internet
168            \item compatible avec SolarSoftWare (SSW)
169            \item mais, logiciel et maintenance chers
170            \item mais, trucs à connaître pour la sauvegarde des graphiques (enregistrement) et la mise en page
171            \item mais, gestion hasardeuse des couleurs (palette)
172            \item GDL, clone open source d’IDL, peut interagir avec Python via des modules
173            \item NCL, dérivé gratuit d’IDL développé au NCAR, pour la visualisation de données (fichiers HDF et netCDF)
174        \end{itemize}
175    \end{block}
176\end{frame}
177\begin{frame}
178\frametitle{Retours d'expériences - langages applicatifs}
179    \begin{block}{R : langage gratuit, packages trÚs poussés sur des champs des statistiques diffusés gratuitement (site internet dédié)}
180        \begin{itemize}
181            \item codes portables
182            \item communauté trÚs active et réactive
183            \item son utilisation nécessite de bonnes bases en mathématique et statistiques
184            \item par rapport à Matlab : calculs plus rapides, plus de souplesse pour le calcul, personnalisation des graphes plus simple une fois la gestion graphique maîtrisée
185            \item mais, gestion graphique un peu austÚre au début, pas aussi intuitive que dans Matlab
186        \end{itemize}
187    \end{block}
188\end{frame}
Note: See TracBrowser for help on using the repository browser.