Introduction

Histoire

https://fr.wikipedia.org/wiki/Histoire_des_langages_de_programmation https://en.wikipedia.org/wiki/Timeline_of_programming_languages

Motivation: why studying C and Python?

Cool to study both

  • C is low-level and Python is high-level
  • C is statically typed VS Python is dynamically typed
  • C is old-fashioned while Python has some new trendy features (pip <3)
  • Possible to do bindings C/Python
    • Actually many Python librairies are written in C, C++ etc.
  • They are both successful languages
  • They are languages used at agrégation d'informatique

Why C?

  • C is simple (KISS!)
  • With C, you will understand how your computer works
  • Important for your system and architecture course
  • C is still used for system development (but not so much!)
  • The syntax of C is in many languages
  • A way to understand Rust, C++... and actually programming in general (and Tensorflow is coded in C++)

Why Python?

  • Python is really really really used everyhere (data science, machine learning, software development, backend, etc.)
  • Python has good libraries
  • Python is elegant
  • Python steals good features from other languages (Haskell, object-programming languages)
  • Python is used in education
  • A way to understand OOP, Javascript, other script languages
  • Python has a strong community

The Zen of Python

Good practice

  • git
  • tests
  • bonnes structures
  • commentaires (spécifications)
  • good variable names, etc.
  • encapsulation
  • abstraction

Exercices

  • Collect few software or libraries you use and look in which languages they have been developped

Aller plus loin