Existe t il des règles universelles, valables au delà des langages ?
Selon vous, quelles sont les lois de la programmation ?
[quote=“Lucci”]
Selon vous, quelles sont les lois de la programmation ?[/quote]
C’est ton copain Sarko qui fait les programmes maintenant, non?
[quote=“Junichirô”][quote=“Lucci”]
Selon vous, quelles sont les lois de la programmation ?[/quote]
C’est ton copain Sarko qui fait les programmes maintenant, non?[/quote]
Si c’est du troisième degré, désolé il ne m’est pas accessible. Merci de développer.
Si c’est du premier ou second, tu es hors sujet 
[quote=“Lucci”]Selon vous, quelles sont les lois de la programmation ?[/quote]
http://fr.wikipedia.org/wiki/International_Obfuscated_C_Code_Contest Gniarf gniarf… 
Oui, c’est pas drôle… je
… ![]()
![]()
Si c’est du premier degré, il fallait mettre le fil dans “programmation” pas dans “pause café”?
[quote=“Num’s”][quote=“Lucci”]Selon vous, quelles sont les lois de la programmation ?[/quote]
http://fr.wikipedia.org/wiki/International_Obfuscated_C_Code_Contest Gniarf gniarf… 
Oui, c’est pas drôle… je
… ![]()
[/quote]
je ne connaissais pas 
Pas selon moi, mais si un modérateur est du même avis, il ne faut pas hésiter à la déplacer.
J’ai imaginé ce sujet comme quelque chose de plus philosophique que technique.
(le but n’étant pas de “produire” quelque chose)
Oh Lucci, c’est vendredi. ne prends pas tout au premier degré!
Debout ! Debout ! Compagnons de misère,
L’heure est venue, il faut se révolter,
Que le sang coule et rougisse la terre,
Mais que ce soit pour notre liberté.
C’est reculer que d’être stationnaire,
On le devient de trop philosopher.
Debout ! Debout ! Vieux révolutionnaire
Et l’Anarchie enfin va triompher !
Il est chaud le Junichirô 
Pour faire du beau code:
- faire du brainfuck?
- faire construire une machine de turing à un enfant de trois ans, avec du papier et une paire de ciseaux?
- faire du scheme? define ((()())())
[EDIT] faire un site web avec frontpage?
Quand j’étais sous Mac et pour le html, je me servais de BBEdit (Bluefish lui ressemble un peu) et à la fin je lui faisais un petit nettoyage avec Tidy; après le lui demandais de se formater avec une hiérarchisation soft. Cela ne changeais pas grand chose sur le fond (Mis à part le nettoyage Tidy) mais c’était beaucoup plus compréhensible après. Ne serait-ce que si tu avais des corrections à faire.
Je ne sais pas ce qu’il en est de la programmation; car là, je n’y comprends pas grand chose pour le moment. (La programmation sarkosienne, c’était pour les programmes télé).
des règles universelles ?
cad ?
Des règles qui s’appliqueraient à tous les langages de programmation. Par exemple “rien ne doit être écrit plusieurs fois”, ou des designs patterns absolument indispensables…
Essayer de commenter au maximum et de créer des structures “parlantes”…
Être un peu feignasse sur les bords et toujours se poser la question: y’a pas moins chiant pour faire ça?
Au passage, la réflexion favorite d’un prof d’algo que j’ai “eu” il y a déjà quelque temps: “si tu dois te servir d’un tableau, pas besoin de faire le ménage avant, c’est à toi de trouver une astuce pour savoir où tu en es… tu veux que je te fasse essuyer tous les sièges d’une salle de spectacle avant de te demander d’en choisir un pour t’asseoir?” 
![]()
Tu trouveras peut-être des réponses en lisant ces livres écrits par des hackers expérimentés :
The_Practice_of_Programming
The Art of Unix Programming
Personnellement je suis toujours dans la recherche de ma voie.
Il y a les aficionados du commentaire, qui veulent plus de commentaires que de ligne utiles et d’autre part tu as les gars comme Alan Coxx : “Un code doit être suffisamment lisible pour se comprendre de lui même”.
Je pense qu’il n’y a pas de vrai règles bien précises. Je tente de toujours garder ces deux idées en tête.
Regarde aussi du cote de Scrum et de l’eXtreme Programming
Avant tout, des exemples de convention de style :
- manpages.debian.net/cgi-bin/man. … &locale=en
- java.sun.com/docs/codeconv/html/ … C.doc.html
- python.org/dev/peps/pep-0008/
- perldoc.perl.org/perlstyle.html
- etc.
Chaque langage possède ses propres conventions d’écriture.
Ensuite, pour la beauté de la programmation, cela vient surtout avec l’expérience, je pense.
Mes élèves écrivent des programmes dont le but n’est pas de marcher mais d’être compris vite et correctement par le correcteur. Pour cela je leur donne les régles suivantes:
- Une instaruction par ligne
- Une indentation correcte et régulière
- Une séparation nette entre les fonctions
- Des noms de variables explicaite, un nom «ll» est beaucoup moins compréhensible que «reste_de_la_liste». De même les noms de fonctions doivent être explicites.
- Les variables d’environnement commencent toujours par une majuscule (souvent QUE des majuscules), les autres par une minuscule.
Voilà.
Je suis pas d’accord sur les variables d’environnements, pour moi que des majuscules c’est des constantes (généralement des variables définies avec le préprocesseur (le C est vraiment un langage audieux des fois)).
une fonction reçoit des arguments et un environnement (avec donc les variables d’environnement (en majuscules ou au moins commençant par une majuscule) qui sont souvent des constantes mais pas toujours) et renvoit un résultat tout en modifant l’environnement (effets de bords).
Il est impératif d’avoiir la certitude qu’une variable commençant par une minuscule doit être définie dans le code. Cela explique par exemple pourquoi les compilateurs des langages récents te mettent un warning quand une variable commence par une majuscule.[quote]#let rec fact = function
| 0 -> 1
| N -> N*(fact (N-1));;
Toplevel input:
| N -> N*(fact (N-1));;
^
Warning: the variable N starts with an upper case letter in this pattern.
fact : int -> int =
[/quote]