Bonjour, je suis nouvelle sur le site. Je m'intéresse à la programmation parceque je suis curieuse de nature et mon conjoint est analyste programmeur et je me sens parfois exclus de ne parfois rien comprendre de son métier. J'ai déjà vu quelques définitions sur Google mais je n'arrive pas à comprendre ce qu'est la programmation réellement. Donc j'aimerais comprendre ce nouveau concept et apprendre à coder ensuite. J' étonnerai plus d'un! ????
Merci!
Bonsoir.

J'ai dû mal à croire que votre conjoint ne serait pas ravi de vous expliquer en quoi consiste son métier.

En plus j'ai l'impression que vous nous faites marcher Smiley confus : vous voyez les effets d'un programme lorsque vous cliquez sur un lien sur internet, une icône sur votre écran, ce qu'il est capable de faire, de rendre comme service... il faut bien expliquer à la machine comment faire, comme une recette de cuisine... Cette recette, c'est des lignes et des lignes (et des lignes...) d'instructions.

L'idée est simple, le côté pratique est plus complexe : il n'y a pas qu'une seule langue pour toutes les situations mais des dizaines... L'apprentissage d'une seule de ces 'langues' est un investissement important en temps et en efforts. Ce site et le forum se concentrent sur les langages pour créer des sites Internet.

Je crois vraiment que vous devriez parler à votre conjoint, vous connaissant, il pourrait vous conseiller sur ce qu'il vous plairait et sur ce qui serait de votre niveau...

Smiley smile
Et aussi comme un langage difficile donc pourquoi ce serait recommandé ? Je doute qu'il y est grand monde qui connaisse le c++ dans les techno web.
Je rejoins l'avis de BZH estimant que C++ est complexe et probablement pas le meilleur langage pour commencer à comprendre la programmation.
Construire une IHM avec C++ n'a rien d'intuitif comparé, par exemple à C#. Par ailleurs, la notion de pointeurs y est omniprésente, à la différence d'un Java, voire d'un C#. Or les pointeurs sont loin d'être aisés à assimiler et manipuler sans avoue au préalable une parfaite connaissance de la gestion de la mémoire.
Si un programme console est envisagé, un Python pourrait suffire pour déjà voir ce qu'est une variable, une assignation, une fonction, etc.
Traditionnellement, c'est le langage de programmation Pascal qui était réputé conçu pour faciliter son apprentissage. Ceci dit, les avis sont aussi nombreux sur le sujet qu'il y a de programmeurs...
Perso j'ai débuté sur Turbo Pascal (version Borland du Pascal) et j'ai adoré, passant ensuite à la programmation orientée objet, toujours avec ce langage, lorsque ce concept est apparu.
À mon avis, si on reste en environnement web, javascript pourrait s'avérer une bonne option car il ne requiert aucune installation, aucun serveur, pour commencer à déclarer des variables, leur assigner une valeur et afficher le résultat. Qui plus est, les outils de trace intégrés à tout navigateur digne de ce nom facilitent la visualisation de l'exécution pas à pas...
sepecat a écrit :

À mon avis, si on reste en environnement web, javascript pourrait s'avérer une bonne option car il ne requiert aucune installation, aucun serveur, pour commencer à déclarer des variables, leur assigner une valeur et afficher le résultat.


Comme introduction à Javascript et à la programmation,
https://fr.eloquentjavascript.net/chapter1.html
n'est pas mal. C'est aussi le début d'un cours qui permet de tester les exemples qui sont donnés.

Mais quand on aborde quelque chose de nouveau l'important de ne pas être noyé par les nouveaux concepts : il faut être sûr d'avoir acquis les bases avant de vouloir de faire quelque chose d'ambitieux...
En simplifiant : programmer, c'est décomposer une tâche complexe en tâches simples nécessaires pour atteindre un objectif.
Exemple : je programme un robot pour donner à manger à mon chien tous les soirs à 18 heures.
Je vais décomposer en étapes simples le processus complet

0 démarrage automatique du programme chaque jour à 18 heures
1 aller dans la cuisine
2 si la pièce est obscure, allumer la lumière
3 ouvrir le placard à provisions
4 regarder sur la première étagère si il y a au moins une boîte d'aliment pour chien
5 Si il y a une boîte, la prendre et aller au point 6
  Si il n'y a pas de boîte sur la première étagère :
		compter le nombre d'étagères
		enregistrer N le nombre d'étagères
		parcourir les étagères de la 2 à la N
				si il y a une boîte sur l'étagère en cours, la prendre et aller au point 6
				si il n'y a pas de boîte, passer à l'étagère suivante
		fin de la boucle "parcourir les étagères"
		si on n'a pas trouvé de boîte à la fin de la boucle
				aller au programme "aller acheter de la nourriture pour le chien"
				fin du présent programme
6 ouvrir la boîte
7 aller ramasser la gamelle du chien sous le plan de travail
8 vider le contenu de la boîte dans la gamelle
9 jeter la boîte vide dans la poubelle
10 si le chien n'est pas dans la cuisine, aller chercher le chien
11 fin du programme



Une succession d'actions simples, de test et d'aiguillages pour effectuer telle ou telle tâche
en fonction de tel événement ou de tel résultat, pour arriver au but final

La logique sera la même pour afficher les 5 dernières news sur la page d'accueil d'un site,
pour envoyer un mail de relance aux membres de l'association non à jour de leur cotisation,
pour afficher le dernier post de mon blog an page d'accueil,
pour chercher tous les produits dont le nom contient le mot saisi par l'internaute,
pour afficher les savons parfumés de ma boutique, triés du moins cher au plus cher
pour calculer le chiffre d'affaires de la journée en cumulant les totaux HT des factures du jour
pour tester le formulaire de contact rempli par l'internaute, et en cas de succès,
envoyer par mail le contenu du formulaire à l'administrateur du site, et enregistrer le mail
dans la base de données du site,
pour envoyer par mail la newsletter d'avril à tous les adhérents à qui on ne l'a pas encore envoyée
etc. etc.

C'est la logique de la programmation, mais pour programmer on va utiliser
un langage de programmation (C, PHP, Javascript, ...)
Il faudra en connaître le vocabulaire et la grammaire pour pouvoir traduire
dans sa langue les différentes étapes définies plus haut
Modifié par farang (31 Mar 2017 - 17:10)