Swift est un langage de programmation objet compilé, multi-paradigmes, qui se veut simple, performant et sûr. Il est développé en open source.
Le projet de développement de Swift est géré par Apple, qui en est également le principal contributeur ; mais de nombreux membres de la communauté Swift, ainsi que d'autres acteurs, tels que Google et IBM, participent également à son développement. Swift est officiellement supporté sur les systèmes d'exploitation Ubuntu, iOS, macOS, watchOS et tvOS. Un support non officiel (géré par la communauté) existe pour d'autres plateformes Linux, telles que Debian et Fedora.
Un manuel officiel en anglais est disponible en ligne.
Swift dispose d'une interopérabilité avec le langage C ainsi qu'avec l'Objective-C sur les plateformes d'Apple.
Le compilateur de Swift utilise LLVM pour la génération du code machine.
Le développement de Swift a été commencé en 2010 par Chris Lattner et prend ses sources dans de nombreux langages de programmation tels qu'Objective-C, Haskell, Ruby, Python, Caml ou C#. La première version publique (1.0) a été publiée le à la WWDC 2014.
En , Apple annonce le passage en open source du langage Swift lors de la WWDC 2015, et celui-ci est effectif en décembre de la même année. La version 3.0 de Swift est lancée en . La version 4.0 est disponible depuis le et se concentre principalement sur la stabilité de la syntaxe du code source. La version 5.0 est disponible depuis le et apporte principalement la stabilisation de l'ABI.
Swift a été bien accueilli par les développeurs habitués aux technologies d'Apple. Ceux-ci l'ont notamment jugé plus simple et plus concis que l'Objective-C.
Certains développeurs ont annoncé qu'ils développeraient de nouveaux logiciels entièrement en Swift. C'est le cas, par exemple, de Brent Simmons (développeur à l'origine de MarsEdit et NetNewsWire), qui a annoncé que la version Mac de son logiciel Vesper serait développée entièrement avec Swift. Facebook a également ajouté la prise en charge de Swift à Parse.
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
We teach the fundamental aspects of analyzing and interpreting computer languages, including the techniques to build compilers. You will build a working compiler from an elegant functional language in
Mettre en pratique les bases de la programmation vues au semestre précédent. Développer un logiciel structuré. Méthode de debug d'un logiciel. Introduction à la programmation scientifique. Introductio
In computer science, a relational operator is a programming language construct or operator that tests or defines some kind of relation between two entities. These include numerical equality (e.g., 5 = 5) and inequalities (e.g., 4 ≥ 3). In programming languages that include a distinct boolean data type in their type system, like Pascal, Ada, or Java, these operators usually evaluate to true or false, depending on if the conditional relationship between the two operands holds or not.
Augmented assignment (or compound assignment) is the name given to certain assignment operators in certain programming languages (especially those derived from C). An augmented assignment is generally used to replace a statement where an operator takes a variable as one of its arguments and then assigns the result back to the same variable. A simple example is x += 1 which is expanded to x = x + 1. Similar constructions are often available for various binary operators.
Grand Central Dispatch est une technologie développée par Apple pour optimiser la prise en charge des processeurs multi-cœurs depuis Mac OS X 10.6 et iOS 4. Cette nouvelle architecture est conçue pour permettre aux développeurs d'utiliser le potentiel des processeurs multi-cœurs. Elle travaille en distribuant efficacement les processus aux différents cœurs. Le , Apple a ouvert le code de Grand Central Dispatch aux contributeurs externes sous le nom de libdispatch. Depuis, il a été annoncé que FreeBSD 8.
Couvre les concepts et les implémentations de l'asynchronie, y compris le code synchrone et asynchrone, les threads du système d'exploitation et l'écriture de code asynchrone en Java.
Formally verifying the correctness of software is necessary to merit the trust people put in software systems. Currently, formal verification requires human effort to prove that a piece of code matches its specification and code changes to improve verifiab ...
EPFL2024
, ,
Data races have long been a notorious problem in concurrent programming. They are subtle to detect, and lead to non-deterministic behaviours. There has been a lot of interest in type systems that statically guarantee data race freedom. Significant progress ...
2024
Formal verification of real-world software systems remains challenging for a number of reasons, including lack of automation, friction in specifying properties, and limited support for the diverse programming paradigms used in industry. In this thesis we m ...