Un zeste de Python — Cours Python pour débutants

Qu’est-ce qui y est plus simple?

À peu près tout ?

  • L’installation de l’environnement de développement et de ses dépendances
  • Le contrôle des versions des outils en question
  • L’accès à un terminal avec la panoplie de commandes quivontbien
  • L’installation, la configuration et le lancement de services (un serveur HTTP pour prendre un exemple assez courant)
  • L’utilisation de conteneurs
1 « J'aime »

J’avoue que l’utilisation de Windows n’est pas “si compliqué”, cependant depuis que j’ai découvert WSL-2 (ou j’ai mis une Debian) je préfère largement !

PS: l’utilisation de conteneurs ? Seriously ?

je comprends pas si par là tu veux demander si c’est un cas d’usage sérieux ou si c’est sérieusement plus simple sous Linux, mais j’ai envie de répondre oui aux deux.

Le premier parce que c’est une bonne fonctionnalité du noyau pour isoler des processus, et que ça a pas mal de cas d’usages (environnement facilement reproductible, éviter de vouloir polluer une installation avec des dépendances multiples, éviter des conflits de dépendances).

Le second parce que c’est justement une fonctionnalité du noyau, et qu’a priori ça n’existe pas chez Windows qui doit donc l’émuler d’une manière ou d’une autre (en faisant tourner un noyau Linux ou par virtualisation, ce qui est tout de suite beaucoup plus complexe).

Windows on se demande vraiment à quoi ça sert. (je dev en ce moment sous windows et n’ai aucun soucis).
Pour les conteners, tiens, j’en ait un qui tourne juste là https://cgifl300.herokuapp.com/ j’en ait aussi chez ibm, amz, replit et j’en passe.
Pour activer un environement virtuel sous windows powershell il faut lancer activate.ps1 si tu utilise cmd comme terminal c’est activate.bat, sous linux c’est source activate, concrètement on retrouvera le path sous linux comme windows, on retrouvera la possibilité de passer des arguments aussi à n’importe quel programme, on retrouvera la possibilité de lancer des conteners, ça se fait la plupart du temps en utilisant virtualbox puisqu’un contener est spécifique à linux et n’est pas la même chose qu’une machine virtuelle, déployer des images dockers avec k8s tu ne le fait probablement pas depuis ton laptop sous linux… mais depuis un cloud qui peut largement les générer à la volée depuis ton code sur github. C’est codeengine d’ibm, les kits amz et compagnie, à priorie t’es pas si famillier que ça avec les conteners.
Linux n’est absolument pas plus facile qu’un autre système d’exploitation, je dirait que les différents systèmes d’init par exemple peuvent dérouter les débutant, pourquoi systemd ou system v ou le truc dont j’ai oublié le nom d’ubuntu à un moment, c’est quoi les dépôts, puis c’est quoi tout ce basard entre yum, pacman, apt, dnf… Quoi, pour installer un logiciel? Mince c’est le tour de snap, mais il est désactivé sous linux mint alors bing, t’es reparti pour activer snap, puis l’installer avec de l’utiliser pour installer l’application…
On peut faire le tour, linux est surtout:
GRATUIT
Ce qui fait qu’il est déployé à tour de bras sur les serveurs car on a plus besoins d’acquérir une license. Il fait très bien le travail, mais en ce qui concerne python, la plupart des codes sont portables sur n’importe quelle plateforme il n’est absolument pas nécessaire de virer windows pour programmer, c’est une vaste blague, car en ce qui concerne les outils de développement microsoft tu n’aura pas le choix, tout comme apple et il faut aussi les maitriser.
En revanche, linux est disponible sous ces plateformes bien avant wsl, avec n’importe quel émulateur de machine car pas de license à acquérir tout comme bsd.
Il n’est pas nécessaire d’avoir linux ni d’installer wsl pour programmer sous windows.
J’utilise indépendamment linux, macos ou windows et ne suis pas le seul.
Il existe des machines fourni par l’Etat donc n’engraissant aucun s… de capitaliste, ça s’appel Elbrus, c’est entièrement créé et administré par un Etat honnête et communiste… (la haine ça produit vraiment de la m…) :slight_smile:

Je ne sais pas ce que c’est tout ton gloubi-boulga mais ça répond clairement à côté de mes propos.
Je n’ai jamais prétendu qu’il était impossible de développer sous Windows ni que Windows ne servait à rien et qu’il faille le virer, simplement que les systèmes Linux étaient plus simples pour cette tâche.
Et la complexité de ce que tu décris pour Windows (notamment l’usage d’une machine virtuelle) confirme mon point.

Si tu te retrouves à avoir yum, pacman, apt et dnf sur ton système c’est que tu as dû louper quelque chose quelque part.
Mais justement ce sont ces gestionnaires de paquets qui simplifient la mise en place d’un environnement de dev sur un système Linux, l’installation des dépendances et la concordance des versions est grandement simplifiée.

La gratuité d’une majorité de distributions Linux n’a rien à faire dans l’histoire, et il n’y a nul besoin de maîtriser des technologies Microsoft ou Apple.

Pour préciser, sachant qu’on parle de cours pour débutants, je disais juste, qu’à mon sens, les conteneurs on peut juste oublier. Les gens en mettent partout sans trop savoir pourquoi ni comment. Ca a sa place en prod, mais faut pas pousser non plus :wink:

2 « J'aime »

Ah c’est amusant parce que pour moi c’est plutôt l’inverse : ça a sa place en local (ex: je veux utiliser libreoffice brièvement mais ne veut pas tout installer sur mon système, ou alors j’ai besoin de telle bibliothèque dans telle version pour un truc précis) et pas vraiment en prod (ou le système en globalité doit être configuré pour avoir un environnement cohérent).

ça se défend, en effet. Merci pour le point de vue !