Et si Mozart, Daft Punk et Bob Marley avaient été des techs ? 🎶

Sylvain Gougouzian

GTA
GTA
Sylvain Gougouzian
Sylvain Gougouzian
Vieux Dev
DevIn
DevIn
BlueSky
BlueSky
gouz.dev

🔗 https://gouz.dev

Thierry Chantier

CALM
CALM
GDG
GDG
MixTeen
MixTeen
Developer Advocate @OVHcloud
Panda
Panda
Panda
Panda
TitiMoby@mamot.fr
Panda
Panda
TitiMoby

Il y avait quoi au début ?

machine Jacquard
machine Jacquard

1801 : carte perforée du métier à tisser Jacquard

Instructions pour produire un motif précis

Il y avait quoi au début ?

Télégraphe
Télégraphe

A partir de 1840, les différentes versions de télégraphes finissent par adopter un ruban

Il y avait quoi au début ?

Carte perforée
Carte perforée

1890

BCD, EBCDIC et ASCII

80 colonnes

Il y avait quoi au début ?

Téléscripteur
Téléscripteur

téléscripteur

Télétype

TTY

BCD, EBCDIC, ASCII

Telex

Il y avait quoi au début ?

VT100
VT100

VT100 de DEC

Comment sont nés les premiers langages ?

LADA

LADA
LADA

LADA

Société russe AvtoVAZ

20 juillet 1966

1992 : Privatisation

2014 : Rachat par Renault-Nissan

2022 : abandon de Renault pour 1 rouble symbolique

Modèles : Kalina, Priora, Niva, Granta, Largus, Vesta, X-Ray

Ada Lovelace

1815 - 1852

Première femme à écrire un programme informatique

Machine de Babbage

Cartes perforées

“Des petits trous, des petits trous, toujours des petits trous”

Serge Gainsbourg - Le Poinçonneur des Lilas

Note G

Note G
Note G

Héritage de Lovelace

Les calculateurs d’Alan Turing

1944 : Konrad Zuse : Plankalkül

P1 max3 (V0[:8.0],V1[:8.0],V2[:8.0]) → R0[:8.0]
max(V0[:8.0],V1[:8.0]) → Z1[:8.0]
max(Z1[:8.0],V2[:8.0]) → R0[:8.0]
END
P2 max (V0[:8.0],V1[:8.0]) → R0[:8.0]
V0[:8.0] → Z1[:8.0]
(Z1[:8.0] < V1[:8.0]) → V1[:8.0] → Z1[:8.0]
Z1[:8.0] → R0[:8.0]
END

1957 : John Backus : Fortran

mathematical FORmula TRANslating system

C AREA OF A TRIANGLE - HERON'S FORMULA
C INPUT - CARD READER UNIT 5, INTEGER INPUT
C OUTPUT -
C INTEGER VARIABLES START WITH I,J,K,L,M OR N
      READ(5,501) IA,IB,IC
  501 FORMAT(3I5)
      IF (IA) 701, 777, 701
  701 IF (IB) 702, 777, 702
  702 IF (IC) 703, 777, 703
  777 STOP 1
  703 S = (IA + IB + IC) / 2.0
      AREA = SQRT( S * (S - IA) * (S - IB) * (S - IC) )
      WRITE(6,801) IA,IB,IC,AREA
  801 FORMAT(4H A= ,I5,5H  B= ,I5,5H  C= ,I5,8H  AREA= ,F10.2,
     $13H SQUARE UNITS)
      STOP
      END

1958 : John Backus / Peter Naur : ALGOL

procedure Absmax(a) Taille:(n, m) Resultat:(y) Indices:(i, k);
    value n, m; array a; integer n, m, i, k; real y;
comment  Dans la procédure Absmax (a, n, m, y, i, k)
         le plus grand élément en valeur absolue de la matrice a de taille
         n par m est transféré à y et les indices de cet élément à i et k ;
begin integer p, q;
    y := 0; i := k := 1;
    for p:=1 step 1 until n do
        for q:=1 step 1 until m do
            if abs(a[p, q]) > y then
                begin
                    y := abs(a[p, q]);
                    i := p; k := q;
                end
end Absmax

1959 : Grace Murray Hopper : COBOL

Toujours utilisé dans les banques

000100 IDENTIFICATION DIVISION.
000200 PROGRAM-ID.  HELLO.
000300 AUTHOR.      JOE PROGRAMMER.
000400 ENVIRONMENT DIVISION.
000500 DATA DIVISION.
000600 PROCEDURE DIVISION.
000700 MAINLINE.
000800     DISPLAY 'Hello World!'.
000900     STOP RUN.

1970 : Niklaus Wirth : Pascal

program HelloWorld(output);
begin
  writeln('Hello World');
  readln;
end.

Les programmes ralentissent plus vite que le matériel n’accélère - 1995

1972 : Dennis Ritchie : C

main()
{
    printf("hello, world\n");
}

Compiler et Interpréter

Compiler
Compiler

À la fin tout est 0 ou 1

Apple1
Apple1

Du Binaire

0b1000000100010011

à l’Assembleur

0b1000000100010011
ADD 1, 3
familyoperationinput1input2
1000000100010011

Bas niveau

.model small
.stack 100h

.data
hello  db  "Hello World !"

.code
main  proc

MOV  AX,@data
MOV  DS,AX

MOV  DX,offset hello
MOV  AX,0900h
INT  21h

MOV  AX,4C00h		  
INT  21h

main endp
end main

Haut niveau

#include <iostream>

int main() {
    std::cout << "Hello World!";
    return 0;
}

Création des languages

Naissance du C : le rock’n’roll des ordinateurs

C Rock
C Rock

Le langage C a marqué des générations de développeuses et développeurs.

Le C++ : le hard rock de la programmation

Cpp Hard Rock
Cpp Hard Rock

Plus vite, plus fort, et le C++ était né.

Les langages fonctionnels, l’électro du code

Fonctionnel électro
Fonctionnel électro

Emergence d’un paradigme.

Un classique mal aimé : PHP

1994 - PHP est créé par Rasmus Lerdorf.

PHP classique
PHP classique

En 2022, 78% du back-end web.

JavaScript : H I P - H O P

Hip Hop web
Hip Hop web
  • ECMAScript
  • TypeScript
  • CoffeeScript
  • LiveScript
  • ...

JAVA : Entre pop et metal indus

Java pop
Java pop
Java indus
Java indus

Java est un language omniprésent, s’adaptant à des contextes variés.

Python : le Jazz de la programmation

Python Jazz
Python Jazz

S’il était un objet, il serait un anneau 😇

Endroits inattendus

Conclusion

conclusion
conclusion

Y’en a pour tout le monde !

Les devs C# ne le disent pas mais ils savent aussi coder en D bémol.

— Les Joies du Code (@lesjoiesducode.fr) 30 janvier 2025 à 10:09

Merci

🫶

https://openfeedback.io/w3JorGi7ut6d9keUsCvO/2025-02-06/cm2n4r61c012biupxlnrlkwtw