Kotlin #1

Introduction à la programmation

La programmation est une suite d’instructions qui vous permet de répondre à un besoin/résoudre une problématique, via la création d’un programme. Il y a des langages, pour des plateformes spécifiques. Ici on va apprendre Kotlin qui vous permet de faire des programmes sur Android, ce qui nous allons apprendre durant les cours à venir, mais aussi du back-end (serveurs), du front-end(site web), des applications desktop pour windows, macOS, iOS (oui, vous avez bien lu).

Dans ce cours vous apprendrez des notions de bases qui vous permettrons d’apprendre à programmer des projets simples et vous donnerons les clefs pour apprendre plus de par vous même.

Dans les cours de Kotlin que vous allez suivre ici, vous allez apprendre à utiliser les notions suivantes :

  • Les variables
  • Les conditions
  • Les boucles
  • Les tableaux
  • Les boucles
  • Les tableaux
  • Les fonctions
  • Les objets

Il y a deux facettes à un programme, le programme écrit par le programmeur et le programme exécuté par l’ordinateur. La première peut se lire car elle sera sous forme de texte, la seconde sera lisible uniquement par l’ordinateur car sous forme de 0 et 1 dite binaire (voir la compilation plus bas). La logique d’un programme : Créer un programme nécessite de préparer en amont les outils dont on aura besoin et le champ de leur utilisation. On va prendre un exemple très simple, se faire un café. Pour se faire un café, il nous faudra différents outils.

  • Une tasse
  • Du café moulu
  • Une machine à café
  • De l’eau

Maintenant que l’on a tout les outils, il nous faudra aussi recenser toutes les actions nécessaires.

  • Allumer la machine
  • Mettre de l’eau dans la machine
  • Mettre du café dans le porte filtre
  • Visser le porte filtre dans la machine
  • Prendre la tasse à café
  • La positionner
  • Appuyer sur le bouton pour lancer la création d’un café

Une simple action peut avoir besoin d’être détaillée de manière précise afin de permettre à une programme d’être fonctionnel, lisible et facilement maintenable.

IDE

La création d’un programme nécessite l’installation d’un outil, dit IDE, qui sera l’environnement de développement. Dans un IDE il y a un éditeur de texte, un compilateur et un interpréteur. Dans l’éditeur se trouvera le code source sous forme de fichier en .kt, si le code écrit est correcte, le compilateur va créer des fichiers binaires dans un langage intermédiaire. A ce moment la de la compilation, les fichiers créés sont en .class. L’interpréteur prend le relais et va consécutivement traduire et exécuter ligne par ligne.

Introduction à Kotlin

Exemple de programme simple

var byte = 20
var octetConverter = 8
var result = byte * octetConverter

Les bases que nous allons voir sont les mêmes pour une grande partie des langages les plus utilisés. Le but de ces cours de Kotlin est de donner les clés du langage afin de commencer à faire des programmes simples et d’avoir assez d’aisances pour ensuite commencer des petites applications android dans un second temps.

Kotlin, c’est un langage de programmation créé en 2010, disponible au public en 2016 et reconnu comme le langage officiel pour programmer sur Android depuis Mai 2017. Avant Kotlin, Java était le langage de prédilection pour faire des application Android. Mais du coup comment sont ils passer de Java a Kotlin ? Ces deux langages ont comme spécificité d’avoir besoin d’être compilés pour que le programme écrit se lance.

Compilation

Un programme en Kotlin (et Java) fonctionne aussi bien sur Linux que Windows et macOS. Tout cela grâce à la JVM. C’est la Java Virtual Machine, une fois qu’elle est présente sur un system on peut faire tourner un programme fait en Kotlin sans soucis. Lors des premiers cours de code vous allez voir que pour tester l’application créée il va falloir appuyer sur un bouton « play » qui lance la compilation, voila ce qu’il se passe pendant cette action : <Faire un graphique>

  1. Transformation des fichiers Kotlin via un compiler spécifique au langage
  2. Les fichier .kt sont désormais en .class
  3. Les fichiers .class sont compressés et formes un seul fichier en .jar

Quand il faudra faire de l’Android, pour faire simple, ça sera globalement le même type de processus avec une étape de compilation en plus qui transformera les fichiers .class en .dex et la derniere étape donnera un .apk au lieu d’un .jar. Je ne vais pas trop aller dans les détails, je vous posterai des liens si vous voulez en savoir plus.

Programmer

Les variables

C’est une association entre une valeur et un nom. Une variable peut être une chaîne de caractère, un nombre entier ou à virgule, un tableau de données, etc. Sa valeur peut-être modifier (variable mutable) ou non (variable immutable).

var maVariable //variable mutable
val maVariable //variale immutable

Une variable est créée et ensuite instanciée. On peut effectuer les deux actions en même temps ou les dissociées.

var nombre: Int //Declaration
nombre = 10 //Initialisation
var nombre = 10 //En une ligne

Avec Kotlin il est possible de ne pas désigner le type de la variable lors de sa création seulement si elle est directement initialisée. Exemple :

var nombre = 10 //Valide
var nombrenombre = 10 //Erreur

Les nombres

  • Byte
  • Short
  • Int
  • Long
  • Float
  • Double

Chaque type peut se voir attribuer une valeur minimale et maximale, vous pouvez savoir lesquelles comme ceci :

println("Min de Int "+Int.MIN_VALUE)
println("Max de Int "+Int.MAX_VALUE)

Les booléens

Une variable de type booléenne est une variable qui est soit vrai, soit fausse.

var isAGoodBoy = true
var isACat = false

Les opérateurs

  • addition +
  • soustraction –
  • multiplication *
  • division /
  • modulo % (permet de déterminer le reste d’une division)

Les comparaisons

  • plus grand que >
  • plus petit que <
  • plus grand que ou égale à >=
  • plus petit que ou égale à <=
  • égale à ==
  • n’est pas égale à !=

Les opérateurs logique

  • ou ||
  • et &&

Impression

Pour afficher des données sur la console de son IDE il faudra appeler la fonction print()

print("Mon texte")
println("Mon text") //Même chose mais ira à la ligne

val a = "a"

println(" a = "+a)
println(" a = $a) //Même resultat que la ligne precedente

Les conditions

If

var a = 1000
var b = 1500

var maxif (a < b) max = a

//ou

if (a > b) {
max = a
} else {
max = b
}

// ou

val max = if (a > b) a else b