Caractéristiques | 🐍 Python | 🐫 OCaml | ⚙️ C |
---|---|---|---|
Modèle d'exécution | Interprété (le bytecode s'exécute sur une machine virtuelle) | Compilé (en code natif ou bytecode pour le runtime OCaml) | Compilé (traduit en code machine) |
Gestion de la mémoire | Automatique (ramasse-miettes) | Automatique (ramasse-miettes) | Manuelle (allocation et désallocation explicites) |
Typage | Dynamique (vérification de type à l'exécution) | Statique (fortement typé, avec inférence de type) | Statique (vérification de type à la compilation) |
Syntaxe | De haut niveau, simple et expressive | De haut niveau, concise, fonctionnelle et expressive | De bas niveau, verbeuse, avec structuration manuelle |
Bibliothèque standard | Vaste et intégrée | Modérée, utilitaires fonctionnels et impératifs inclus | Minimale, repose sur des bibliothèques tierces |
Pointeurs | Non exposés directement | Non exposés directement, abstraits par valeurs et références | Concept fondamental pour la mémoire et l'adressage |
Gestion des erreurs | Exceptions | Exceptions et correspondance de motifs (gestion des erreurs expressive) | Codes de retour et indicateurs d'erreur |
Cas d'utilisation | Développement rapide, scripting, développement web | Programmation fonctionnelle, conception de compilateurs, preuve de théorèmes, analyse statique | Programmation système, systèmes embarqués, applications critiques en termes de performances |
Inspirations: Nim for Python Programmers