Introduction
au
Code

Ordinateur

Puissant et Stupide

Pourquoi stupide?

ne comprend que des

instructions simples

Pourquoi puissant?

capable d'éxécuter beaucoup d'instructions simples, rapidement

Coder - phase 1

Décomposer un problème complexe en une série de problèmes simples

du Code?

Langage humain  => Langage machine

du Code?

Langage humain  => Code =>  Langage machine

Quel genre de métier?

Langage humain  => Langage machine

1

2

Traduction!

Avec les problèmes inhérents:

 

  • comprendre le langage source

  • comprendre le langage de destination

le langage source

la problématique!

  • son vocabulaire/jargon

  • sa logique métier

  • ses contraintes (légales...)

Modéliser un problème peut requérir une équipe entière.

First, solve the problem.

Then, write the code.

John Johnson

language de destination

Programmation informatique

nombreux langages

nombreux types de programmation

language de destination

Any fool can write code that a computer can understand.

Good programmers write code that humans can understand.

 

Martin Fowler

bon et mauvais codeur

Enorme responsabilité des codeurs

  • bugs

  • algorithmie

  • modèles apprentissage Machine Learning

bon et mauvais codeur

The trouble with programmers is that you can never tell what a programmer is doing until it’s too late.

 

Seymour Cray

Problèmes d'unités

Perte de la sonde Mars Climate Orbiter en 1999, évaluée à 125 millions de dollars.

 

mètres vs pieds

grammes vs livres

Modèle d'apprentissage défaillant

Google IA en 2015

Quand il faut se lancer...

Every great developer you know got there by solving problems they were unqualified to solve until they actually did it.

Patrick McKenzie

Exercice

 

Ecrire le code qui permet de résoudre les différentes situations du Ruby Warrior.

 

Principes:

- chaque personnage sur l'écran joue à son tour

 

- le code que vous ecrivez est celui qui sera exécuté à chaque fois que votre personnage doit agir

if # condition
  # du code qui s'exécute si la condition est vraie
else
  # du code qui s'exécute si la condition est fausse
end

if warrior.feel.enemy?
  warrior.attack!
else 
  warrior.walk!
end

if warrior.health <= 8 # <= < > >= == !=
elsif warrior.health > 18
else 
  # si aucune des conditions précédente n'est vérifiée
end

# pour garder une valeur en mémoire pour l'utiliser
# au prochain tour
@health = warrior.health

Salissons nous les mains

slides.com/apneadiving/introduction

Introduction au code

By Benjamin Roth

Loading comments...

More from Benjamin Roth