Sûreté de la programmation orientée objets
La programmation orientée objets n’est pas intrinsèquement sûre. Toutefois, la plupart des langages
orienté objets modernes reprenent plusieurs principes qui garantissent plus de sûreté :
le typage statique (Java, Scala, Swift, C#/F#) et l’inférence de types (Scala, Swift, C#/F#)
l’encapsulation des données privées (Java, Scala, Swift, C#/F#)
classes et inferfaces
la factorisation du code (Java, Scala, Swift, C#/F#)
classes abstraites
héritage
généricité (Java 5)
le paradigme fonctionnel-objet (Java 8, Scala, Swift, C#/F#)
collections immutables (Scala, Swift, C#)
Paradigmes de programmation
Collections
Style mutables immutables
impératif idéal ok
impératif concurrent ko ok
fonctionnel / idéal
fonctionnel concurrent / idéal
Style impératif : variables (mutables), procédures et instructions (sequence, boucles, ...)
Style fonctionnel : constantes, fonctions et expressions
Les langages fonctionnels
Ils n’ont pas de procédures, uniquement des fonctions.
Ils n’ont pas d’instructions, uniquement des expressions.
Applications
Ils sont bien adaptés au prototypage d’applications, à l’écriture de compilateurs et au traitement
symbolique. Le code est en général plus concis et plus facile à certifier.
Variantes
Certains ont un typage statique (comme ML ou Scala) vérifié à la compilation, d’autres utilisent
un typage dynamique (comme LISP/Scheme).
Certains sont purs (comme Haskell), les autres contiennent des traits impératifs (comme ML,
Scala ou LISP/Scheme).
références, tableaux, exceptions...
Certains sont paresseux (comme Haskell). Ils calculent uniquement ce qui est nécéssaire.
Le langage Scala
From http://www.scala-lang.org
Object-Oriented Meets Functional
Have the best of both worlds. Construct elegant class hierarchies for maximum code
reuse and extensibility, implement their behavior using higher-order functions. Or
anything in-between.”
Scala in a Nutshell
SEAMLESS JAVA INTEROP
TYPE INFERENCE
CONCURRENCY & DISTRIBUTION
TRAITS
PATTERN MATCHING
HIGHER-ORDER FUNCTIONS
Bibliographie
A Scala Tutorial for Java Programmers
http://www.scala-lang.org/docu/files/ScalaTutorial.pdf
http://docs.scala-lang.org/tutorials/scala-for-java-programmers.html
Autre tutoriels
http://www.scala-lang.org/documentation
Brief Scala Tutorial: a 20 page introduction to scala and some of the basic concepts and a good
place to start. You will find more code examples here.
Scala By Example: takes you through the Scala features with many examples.
Existe aussi en français : http://www.scala-lang.org/docu/files/ScalaByExample-fr_FR.pdf
Scala Overview: this is a paper summarizing the features of the Scala Language in a formal and
concise way. An excellent reference for language researchers or advanced programmers.
Livres
http://www.scala-lang.org/documentation/books.html
Programming in Scala, 2nd ed. by Martin Odersky, Lex Spoon, and Bill Venners
First edition available for free online reading:
http://www.artima.com/pins1ed
1 / 11 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !