Bonjour je suis à la recherche d'une liste de langages de programmations faciles.Je vous fais part de la mienne pour l'instant:
_XHTML
_CSS
_Batch
_Pascal
Voilà si vous souhaitez ajouter d'autres langages simples et EFFICACES de programmation,allez-y!
xhtml et css ne sont pas des langages de programmation. On risque de me rétorquer qu'avec HTML5+CSS on peut faire plein de trucs, néanmoins ce n'est pas vraiment de la programmation.
Ensuite tu à l'air de porter beaucoup d'importance à "l'efficacité" du langage. L'efficacité (en plus d'être un terme vague : vitesse de programmation, d'execution, taille du code, ...) du programme obtenu dépend uniquement de la manière dont tu l'as programmé. Il est plus pertinent de dire qu'un programmeur est efficace ou même plus efficace avec le langage A qu'avec le langage B, que de dire qu'un langage est efficace en lui même. C'est une question de goût.
Pour répondre a ta question je dirais qu'on peut citer les langages suivants, appartenant à plusieurs famille (appréciation personnelle) :
Les langages de script "à la mode" : python, ruby
Les valeurs sures : Le C/C++ (profusion de doc sur le web), le java et le php (différents mais facile d'approche tout les deux)
L'outsider : L'ocaml (propre et rafraichissant)
Après ça sert a rien de connaitre en surface le plus de langages possible et de finalement avoir un niveau très basique avec chacun d'eux. L'idéal est, à mon avis, de connaitre rapidement leurs spécificités, de savoir ce qu'ils apportent pour pouvoir choisir en fonction de ses besoins.
Perso je fait quasi tout en C/C++ avec de temps en temps des petit projets rapides en java, des scripts shell pour automatiser des taches en utilisant zsh. Et puis aussi beaucoup de Matlab mais c'est une autre histoire ![]()
Comme guyver, je dirai que html et css ne sont pas des langages de programmation. Ce sont des formats de document. Javascript rentre dans les langages de programmation par contre.
Encore une fois comme guyver, la notion d'efficacite manque de sens. S'agit il de programmer un outil rapidement (python, C#) ? de le faire s'executer le plus rapidement possible (C, C++, Fortran) ? S'agit il de l'ecrire une fois pour toute et qu'ils fonctionne partout (C, Java) ? S'agit il de pouvoir facilement l'interconnecter avec n'importe quoi ? S'agit il te parser des fichiers (perl, shell script) ? S'agit il de faire des pages web (.NET, J2EE, ruby on rails, PHP) ?
je ne voudrais surtout pas en faire un débat,mais je dois vous contredir sur Html et CSS.Ils font PARTI de la programmation!
Logique!Chaque fichier Windows est un programme.Une page HTML ou Css est formée a partir d'un programme en .htm ou .css.
Donc les fichiers Html et CSS ne font pas exception,ils sont aussi des programmes!
Oui, et la carte d'identité aussi c'est un langage de programmation. Bah oui, à partir de ma carte, on trouve ma photo et mon nom…
Non, le HTML et le CSS ne sont pas des langages de programmation. Ce sont des langages purement descriptifs, à partir des quels on produit des données (mais pas de programmes). Javascript ou PHP par contre sont des langages de programmation, avec des variables, une notion d'évaluation, des structures de contrôle et compagnie.
Sinon, ça ne veut rien dire un langage de programmation facile. D'un certain point de vue, ils sont tous faciles une fois que tu maîtrises la théorie derrière (si si, même C++ est facile).
« EFFICACES »
en quel sens ? Facilité de développement ? Faciliter de maintenance ? Efficacité à l'exécution/interprétation ? Un compromis subtile ?
Et surtout : efficace pour faire quoi ? Car bien évidemment, si on s'est fait chier à créer des dizaines (centaines ? milliers ?) de langages, c'est bien parce qu'un seul ne suffit pas à couvrir tous les besoins. ![]()
non désolé.
s'il n'y a que du html/css alors ce n'est pas de la programmation mais de la mise en page. Dans la meme logique tu dois penser qu'un fichier .doc est un programme lui aussi (traitement de texte + mise en page).
A noter que tu peux intégrer une dimension programmation dans une page Html via des script javascript comme dans une fichier word via des scripts VBA.
"Chaque fichier Windows est un programme"
Très loin de là, seulement une toute petite minorité en sont. Est-ce que tes images png/jpg/gif/... sont des programmes ? est ce que tes fichiers .txt sont des programmes ?
bah les fichiers .txt viennent des programme Bloc-Note...
Les fichiers images png/jpg/gif/... viennent d'un editeur comme Paint.Si ils viennent de Google Image par exemple,ils viennent d'un ficier HTML qui contient <img src="NOMIMAGE" >.
Donc oui j'avais faux,ce ne sont pas des programmes,ce sont des fichiers "venant"de programmes.
il y a une tres grande différence entre des fichiers utilisés par ou "venant" de programmes et les programmes en eux même. j'espère que la différence est claire pour toi car c'est la base de tout systeme informatique
« Si ils viennent de Google Image par exemple,ils viennent d'un ficier HTML qui contient <img src="NOMIMAGE" >. »
dans l'histoire, il n'y a que 2 programmes :
1) le serveur web qui tourne chez google et qui envoie le fichier .html et les images éventuelles.
2) le client web (ie, firefox, chrome, whatever) qui s'occupe de réclamer la page .html puis les images, de les recevoir, et d'afficher le tout à l'écran.
Tout le reste, ce sont des données qui circulent sur un réseau (y compris ton .html).
Bref, plutôt que de digresser à l'infini, ajoute moi OCaml à ta liste. Pédagogiquement parlant, c'est le meilleur langage que je connaisse.
Pour moi HTML et CSS, c'est de la programmation déclarative. C'est sûr c'est assez éloigné de la programmation impérative, mais le principe est le même.
Juste que là on est à forte abstraction et qu'au lieu d'être interprété par une machine virtuelle, le code est interprété par un navigateur.
« la programmation déclarative »
avant de sortir des gros mots, apprends ce qu'ils veulent dire.
Le HTML c'est n'est pas un langage de programmation déclarative, car ce n'est pas un lanagage de programmation. Elles sont où tes variables ? et tes types ? et ta sémantique d'évaluation ?
Non, définitivement, le HTML ce n'est pas du code. Tout comme le MP3 ce n'est pas du code. Ce n'est pas parce qu'un langage est interprété que c'est forcément un langage de programmation.
Prolog c'est un langage de programmation déclarative avec lequel tu peux modéliser ton problème en déclarant des types, des variables de différents type et des prédicats entre ces variables, afin que le système fasse tourner son algorithme de résolution de contrainte. Là il y a des variables et du vrai calcul dessous (et toute une théorie autour de la résolution de contraintes de types pour un langage typé d'une part, et de la sémantique qu'on attache au système pour donner du sens au résultat du calcul d'autre part). Ça n'a rien à voir avec le format HTLM.
Je sais ce que c'est de la programmation déclarative, et j'ai déjà fait du prolog; mais il y a plusieurs formes de programmation déclarative. Et ce n'est pas parce que HTML est très différent de ce qu'on appelle classiquement un langage de programmation que ça n'en est pas un.
J'ai déjà entendu certains profs de fac qualifier le HTML de programmation déclarative. Je ne pense pas que ce que j'ai dit est totalement absurde puisqu'après un tour sur le net, certains site sont du même avis: http://en.wikipedia.org/wg/wiki/Declarative_programming
"In computer science, declarative programming is a programming paradigm that expresses the logic of a computation without describing its control flow." (tirée de ta page wikipedia).
Donc oui, en html, tu ne décris pas le "control flow" d'un programme. Mais tu ne décrit pas non plus la "logic of computation", car il tu ne peut pas exprimer de "computation" avec html.
Disons que lorsque l'on parle de langage de programmation, on a tendance à ne parler que de langage turing complet. Dans le cas contraire, xboxhacking aurait raison et tout les fichiers sous windows serait des programmes.
Par exemple le fichier a.txt qui contient "42" est le programme (interprété par le bloc-note) qui produit la sortie 42. Mais ça ne mène nulle part de considérer ça comme ça, donc on préfère généralement éliminer tout ça (y compris, donc, le html, css, etc.).
dnob700: heu, entre un langage qui n'exprime absolument aucun contenu calculatoire comme le HTML et un langage Turing-complet comme le C, il y a quand même un gap. ![]()
Typiquement, Prolog me paraît être entre les deux (mais j'ai fais 1h30 de Prolog dans ma vie et j'avoue ne pas voir ce que peut signifier la notion de Turing-complétude pour un langage de programmation déclaratif).
Isukthar: ton prof de fac qui raconte ça, tu peux lui dire de ma part que c'est un boulet (ou alors il a juste dit que c'était un langage déclaratif, ce qui est vrai, et c'est toi en tant qu'étudiant qui a ajouté "de programmation" à tort).
Pour la troisième fois ce soir : elles sont où tes variables en html ?
Prolog est turing-complet. En fait c'est pas très compliqué d'avoir un langage turing complet a condition de gérer les structures de contrôles basiques et de pouvoir stocker de l'information. Choses que ne sait pas du tout faire Html vu qu'il n'y a pas de variables (je ne sais pas si ça a été dit deja
), pas de boucle/branchement/calcul basiques/...
funny thing : il est possible de construire une machine de turing avec le jeu de la vie de Conway
http://rendell-attic.org/gol/tm.htm
Oui ce n'est pas très contraignant d'être Turing complet. Un exemple simple (et courant) de quelque chose qui ne l'est pas, c'est Coq. Mais à part ça, je n'ai pas beaucoup d'autre idée de "langage" qui ne validerait pas cette condition.
Pour prolog, la turing complétude, comme pour tout, c'est vraiment la possibilité d'écrire, pour n'importe quelle machine de turing, un prédicat qui prend un ruban et renvoie un autre ruban modifié comme l'aurait fait la machine de turing en question (le "pour tout" est à l'extérieur du "il existe").
Je ne suis pas trop d'accord, chris_27, avec ton usage de "programmation déclaratif" pour qualifier prolog (dans la phrase "j'avoue ne pas voir ce que peut signifier la notion de Turing-complétude pour un langage de programmation déclaratif"). Dans ce contexte, programmation par contrainte était probablement plus précis. Car les langage fonctionnels sont généralement aussi considéré comme "déclaratif", mais là, je pense, il n'y a pas de problèle pour ce que veux dire Turing complet.
le langage que je cite habituellement pour parler de programmation declarative est SQL qui n'est pas turing complet pour un sous.
sinon, je ne pense pas que sed soit turing complet mais il faut reflechir un peu plus que ca. Parceque bon, on a ecrit sokoban en sed quand meme...
Dans les langage pas turing complet, je pense que Forth en fait parti. De memoire c'est un langage de programmation dont la seule memoire est une pile.
Correct pour Coq, vu que tout programme correct termine par construction.
« Car les langages fonctionnels sont généralement aussi considéré comme "déclaratif" »
pas chez moi. OCaml typiquement n'a absolument rien de déclaratif pour moi (et pourtant il en mélange des genres celui-là). De la page de wikipedia, seuls les points 2 et 3 sont des langages de prog déclaratifs.
Quant à prolog, j'ai pas en tête un quelconque moyen de faire "une boucle". Mais comme dit précédemment, j'ai pas franchement fait de prolog.
Perl il est très facile à apprendre et permet beaucoup de trucs
C'est aussi l'un des langages avec lequel on peut faire les trucs les plus atroces en terme d'obfuscation.