Archive pour la catégorie ‘Python’

C’est très moche… Mais ça marche…

Lundi 14 septembre 2009

Coder en Python quel plaisir !! Mais ça peut devenir très vite donner une catastrophe quand le temps presse et qu’en plus le codeur débute dans le domaine… Voici quelques lignes écrites à la va-vite qui permettent de ‘matcher’ la section « default-packages » du fichier auto_inst.cfg.pl de Mandriva. Je vous laisse admirer l’horreur :) :

#!/usr/bin/python
# -*- coding: utf-8 -*-

# On ouvre le fichier auto_inst en lecture.
file1 = open('auto_inst.cfg.pl', 'r')

# Déclaration des variables et des listes.
list1 = []
line = 0
i = 0

# Chaque ligne du fichier auto_inst est placée dans une liste.
list1 = file1.readlines()

# On parcourt chaque ligne de la liste et on match le numéro de ligne
# qui contient le terme "default packages".
while i < len(list1) :
 	current = list1[i]
 	if current == "       'default_packages' => [\n":
		line = i - 1
	i = i + 1
line = line + 2

# Création d'une nouvelle liste.
# Cette liste contiendra les lignes du fichier auto_inst depuis
# "default_packages" jusqu'à la fin du fichier.
list2 = list1[line:]
i2 = 0
while i2 < len(list2) :
	current2 = list2[i2]
	if current2 == "\t\t\t     ],\n":
		line_end = i2
		break
	i2 = i2 + 1

# Création de la liste finale qui contient la liste des paquets installés sur le système.
# On affiche le nombre de paquets installés
list_finale = list2[0:i2]
i3 = 0
while i3 < len(list_finale) :
	print list_finale[i3],
	i3 = i3 + 1
print '\nNombre de paquetages installés: %d' %(len(list_finale) + 1)

# Une fois la liste des paquets tirée et triée par ordre alphabétique, on ferme le programme.
file1.close()

Bien débuter en programmation

Jeudi 13 août 2009

Durant mes longues pérégrinations en informatique, j’ai pu remarquer à plusieurs reprises qu’il existe deux types de programmeurs. Il y a tout d’abord ceux qui ont toujours aimé se triturer l’esprit dans tous les sens durant de longues heures. Vous savez, ce genre de gars qui fini premier de sa promo en Fac de sciences. Personnellement, ces gens là, (avec tout le respect que je leur porte car ce sont eux qui bien souvent font la base des systèmes Linux), je les nomme les Sadomasochistes du Code.

Et puis il y a les gens « touche à tout », qui savent tout faire à la fois et rien. Bref, le genre de gars pas forcément super doué mais qui arrive quand même à se dépatouiller et qui par chance parvient à faire un truc grandiose une fois de temps en temps. :) Ces gens là, je les appelles les Mous de l’informatique. Logiquement, c’est cette catégorie que je connais la mieux puisque j’en fais moi même parti.

Quoiqu’il en soit, les Sadomasochistes du Code n’ont jamais vraiment eu besoin de faire un effort pour apprendre à se servir d’un ordinateur. C’est gens là connaissent le C sur le bout des doigts dès la naissance. Contrairement aux Mous de l’informatique, tout juste bons à configurer proprement un Apache. C’est injuste, mais la vie est ainsi.

Il arrive parfois, que dans un excès d’orgueil, ou tout simplement parce qu’un beau matin le Mou est un peu moins Mou au réveil, il se mette en quête de nouveautés informatiques . « Apprendre à programmer » devient alors son leit-motiv. C’est magnifique de voir autant d’énergie prête à être dépensée ! Encore faut-il que le Mou l’utilise à bon escient. Il ne faudrait pas qu’il se décourage avant la  fin du premier chapitre de son bouquin de C …

Justement parlons-en du langage C !! J’ai moi-même débuté en programmation avec lui. Autant vous avouer tout de suite que le C n’est pas vraiment adapté au Mou que je suis et que vous êtes peut-être. Un Sadomasochiste du Code ne trouvera que des avantage à programmer en C alors que nous trouverions 1 million de raisons de ne pas l’utiliser… Croyez-moi, le C c’est pour les hommes, les vrais. À vrai dire, je fais parti de ceux qui ne comprennent pas pourquoi le C est le langage de référence pour les débutants. Rien n’explique cet état de  fait hormis le fait qu’il soit réputé bas-niveau (c’est à dire relativement proche de la couche matérielle).

Plus sérieusement, si je devais conseiller à un Mou un langage de programmation je lui dirais de choisir le Python sans hésiter. Ses avantages sont multiples par rapport au C :

  • Il est simple à apprendre. Un peu comme le Ruby, quand on code en Python on a l’impression d’écrire en Anglais (bon j’exagère un peu, je l’admets). Ça c’est l’avantage du langage de haut niveau.
  • Il est syntaxiquement cool, contrairement au C qui est super énervant. Bah vi hein ! Si vous oubliez une « ; » à la fin d’une ligne de code, pas de souci, votre code s’exécute quand même ! « Normal ! » me diront les connaisseurs : à aucun moment le codeur Python utilise le « ; » :)
  • Il est orienté objet. Ça c’est un sacré avantage quand on sait que le C ne l’est pas. Or, tous les langages modernes sont orientés objet. Il me semble que c’est aujourd’hui un élément essentiel de la programmation. Apprendre directement de l’orienté objet permet par la suite de passer plus aisément du Python à un autre langage avec plus de facilité.
  • Python n’est pas compilé, il est interprêté. Donc beaucoup plus souple que le C. Cela permet d’intervenir et de corriger son code plus aisément. Un gros avantage lorsqu’on débute en programmation : corriger rapidement ses lignes de code quand une erreur s’est glissée à l’intérieur.

Bref, si vous êtes un Mou de l’informatique, lâchez votre bouquin de C et passez plutôt à Python, vous avez tout à y gagner, faites moi confiance. ;)

Néanmoins, reste à trouver la ressource Python qui vous permettra de partir de zéro en programmation pour vous accompagner vers les plus hauts sommets de l’art. Ce bouquin existe, il est disponbile gratuitement sur Internet, et pour couronner le tout il est réputé comme étant l’un des meilleurs livres pour apprendre Python. Que demander de plus ? J’ai moi-même commencé avec ce livre et je dois avouer que ses nombreuses pages d’exercices  corrigées m’ont bien aidé durant ma formation.

Pour télécharger « Apprendre à programmer avec Python » aux éditions Eyrolles cliquez ici. Vous trouverez sur cette page une archive contenant la correction des exercices du livre. ;)

Bref, vous l’aurez compris, quand on est un Mou de l’informatique, on ne commence pas à programmer en fonçant tête-baissée. Un peu de réflexion au départ permettra d’éviter que le Mou se décourage trop vite. Personnellement, pour avoir fait du C avant de commencer le Python, je suis un ardent défenseur de l’idée selon laquelle le C n’est pas la meilleure approche en programmation. Bien d’autres langages sont plus accessibles et permettent une approche plus aisée du domaine. À ce titre je citerais le PHP 5 (et non le 4 qui n’est pas orienté objet) qui permet aussi de faire une entrée en la matière de façon simplifiée.

J’aurais l’occasion de revenir plus en détails sur le Python lors de prochains articles. En attendant je vous laisse découvrir ce super langage qui vous permettra de dépasser aisément le stade du classique ‘Hello World !’ très rapidement. ;)