× Aidez la recherche contre le COVID-19 avec votre ordi ! Rejoignez l'équipe PC Astuces Folding@home
 > Tous les forums > Forum Autres langages
 Initiation en Programmation
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
Informa_Tic
  Posté le 13/04/2008 @ 22:06 
Aller en bas de la page 
Petit astucien

bonsoir,

Je me suis inscrit sur ce Forum spécialement pour demander de l'aide sur un démarrage en Programmation:

J'ai le programme Microsoft Visual Studio 2005 et j'aimerais bien débuter par une petite et simple application sous Windows. Je ne sais pas s'il y'a des sources d'informations pour une première approche dans cette aventure de Programmation!!??

PS: Je suis sur Win XP et office 2003

Merci à tous

Publicité
fennec.
 Posté le 14/04/2008 à 13:22 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

bonjour,

vu que tu es équipé microsoft pour commencé a apprendre a programmer

utilise le langage c sharp (c#)

voici des liens

http://www.laltruiste.com/document.php?page=1&rep=12 => commence par celui ci

http://dotnet.developpez.com/cours/?page=csharp#dotnetcs

si tu veux bien débuter. achette un bon bouquin

http://dotnet.developpez.com/livres/#livresCSHARP

je te conseillerai celui ci

http://dotnet.developpez.com/livres/?page=livresCSHARP#L2212117787

sache que tu peux aussi faire des interface windows avec d'autre langage (java, python, vb.net, ...)

koala01
 Posté le 19/05/2008 à 11:43 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Salut,

Il faut bien te dire que ce que l'on regroupe sous le vocable de "programmation" se subdivise en réalité en trois étapes majeures:

  • l'analyse des besoins: le fait de se faire une idée "aussi précise que faire se peut" de ce que l'utilisateur (qui peut être toi) attend de l'"application" (utilisé ici comme terme tout à fait générique, car cela peut aller d'un site web à un MMORPG 3D avec pleins de sons, de musiques et d'effets spéciaux) à créer
  • la conception :qui est le fait de réfléchir - de préférence avant même de commencer à écrire la moindre ligne de code - aux données qui sont nécessaires, à la manière de les regrouper sous forme de structures, à leurs "origines", et à la logique de traitement à suivre pour arriver à ton but
  • le codage: bien que tous les "débuttants" en programmation ne voient généralement dans le terme que cette étape et "prennent leur pied" en "vomissant des lignes de code", à l'extrème limite, sans savoir quelle est l'étape logique qui suit la ligne qu'ils écrivent, n'est en réalité que la dernière étape de tout un processus

Ainsi, l'idéal est toujours à répondre aux quatre questions "de base" qui suivent, en veillant toujours à fournir une réponse aussi complete que possible à chacune avant d'envisager de passer à la suivante, et en revenant en cas de besoins sur l'une d'elle si, cela arrive souvent, on se rend compte lorsque l'on répond à une autre que l'on a oublié de considérer un point de vue car chaque question a pour but de t'apporter "naturellement" des éléments de réponse à la suivante:

  1. Que doit faire l'applilcation :Un début de réponse tient surement dans l'idée qui t'incite à créer une application ou à lancer un projet ("et si je créais un truc qui...)
  2. De quelles données l'application a-t-elle besoin : La réponse à la première question aura mis en évidence un certain nombre de terme (souvent des noms, voir des sujets dans les phrases) qui représenteront autant de données, dont il t'appartient d'en fixer le contenu:
    si tu parle d'une "personne physique", tu peux te dire que, à la base, cette personne a surement un nom, un prénom, éventuellement un age (ou plutôt une date de naissance) et peut être d'autres informations qui te parraitront nécessaires
  3. Où l'application ira-t-elle chercher ces données : les source d'obtentions de données sont très variées, mais on peut citer de manière générale, entre autre les fichiers, un flux réseau, une entrée utilisateur. Toutes ces origines ne sont pas forcément utilisées en même temps, ni dans le même but, et c'est la raison pour laquelle il faut s'assurer de savoir exactement ce qui sera à récupérer et où aller le récupérer.
  4. Quel traitement l'application va-t-elle faire subir à ces données : Cette dernière question est surement celle des quatre qui va nécessiter le plus de travail.
    En effet, une donnée ne sert à rien si on n'en fait rien (ou du moins si on ne prévoit pas d'en faire quelque chose). Lorsque tu a répondu à la première question, tu as sans doute écrit une série de phrases et on se rend compte que pour chaque donnée (chaque nom ou sujet) que tu as cité dans cette phrase, il y a un (ou des) verbe(s) qui y est (sont) asocié(s). Chacun de ces verbes représente vraisemblablement un traitement à appliquer à la donnée à laquelle il se rapporte, et il est important d'avoir une idée précise et complête de
    1. l'ordre dans lequel les différents traitements sont à appliquer
    2. le point de départ et le point d'arrivée de chaque traitement (ce que l'on a au début et ce que l'on veut obtenir à la fin
    3. la logique qu'il faut suivre pour aller du point de départ au point d'arrivée en évitant les erreurs et de manière "aussi efficace que faire se peut"
    4. ce qui peut empêcher le traitement d'être mené à terme et de la manière de l'éviter et/ou de résoudre les problèmes qui surviennent

La réponse à ces quatre question devrait *idéalement* être parfaitement indépendante de tout langage de programmation, et fait intervenir certaines méthodes, d'analyse (comment traduire les informations "fractionnaires" obtenues lors de l'entrevue avec la personne qui me demande l'application en un texte complet et "exhaustif" ), de conception (comme les méthodes Merise, CRC, ou UML) et d'algorithmique dont le but est de prévoir l'ordre logique dans lequel les différentes étapes doivent etre menée pour que chaque traitement s'effectue correctement (dés que l'on parle d'un langage "proche du langage humain", celle qui a ma préférence est le Nassi-Schneiderman, mais la méthode dite de "Jackson" présente parfois un point de départ).

Ces différentes méthodes pourraient d'ailleurs tout à fait être étudiée sans meme avoir recours à un quelconque langage de programmation, et sans écrire la moindre ligne de code, si ce n'est peut être le manque occasionné par le fait de ne pas être en mesure d'en apprécier le résultat à l'écran

Ce n'est qu'une fois que tu a eu l'occasion de répondre correctement et "aussi completement que possible" à ces quatre question que tu pourra envisager de passer à l'étape de codage.

Il sera alors temps de faire ton choix parmis les différents langages existants afin de sélectionner (si tu en a l'occasion) celui qui te semble le plus adapté à ce que tu veux faire ou que tu préfères.

En effet, si tu demandes l'avis de dix programmeurs quant au langage qu'il préfèrent, tu risque fort d'avoir dix avis différents, et chacun trouvera une foulle de raisons pour t'inciter à choisir celui qu'il te propose plutôt que les autres.

Et pourtant, il faut bien te rendre compte que, bien qu'ils aient tous leurs particularités, leurs domaines de prédilections, bien que l'un puisse apporter certaines facilités - de par la technologie qui se "cache derrière" et des choix fait à la base par le(s) concepteur(s) du langage et/ou au travèrs des "framework" qu'il propose - tous les langages présentent exactement les mêmes concepts de base et seul le vocabulaire utilisé pour arriver à faire savoir à l'ordinateur ce que tu attends de lui est susceptible de varier, à l'exception de certaines limitations souvent imposées par les choix des concepteurs du langage.

Mais, si tu as correctement réfléchi aux données que tu dois gérer, que tu as créé des algorithmes corrects et efficaces, quel que soit le langage, l'écriture du code se résume à un long (et d'aucuns ajouteraient fastudieux et emmer ) travail de dactylographie.

Mieux encore: si tes algorithmes sont corrects et correctement "traduits" en code (comprend par là que le code que tu crées au départ de ton algorithme suit exactement la logique que tu as mise au point dans l'algorithme), tu devrais obtenir le résultat escompté dés la première compilation réussie (comprend par la, dés que tu aura éliminé toutes les erreur de syntaxe et d'inattention que tu risque fort de laisser lors de l'écriture du code).

En ce qui concerne les langages de programmation, je suis personnellement partisan de l'optique qui consiste à diviser l'apprentissage en deux étapes, qui peuvent utiliser des langages différents:

  1. l'apprentissage des base de la programmation: je le répète, tous les langages suivent exactement les mêmes concepts de base, et j'estimes qu'il vaut mieux commencer par essayer de maitriser ces quelques concepts:
    • Les notions de variables, d'instructions, de tests, de boucles, de structures de données, de "routine" (terme général regroupant les fonctions et les procédures), d'assignation VS comparaison, de déclaration VS définition VS implémentations, si le langage que tu choisi pour cette partie de l'apprentissage les utilise (ou que celui que tu auras choisi pour l'apprentissage de l'orienté objet le fait) de pointeurs,... sont autant de notions que tu trouveras dans n'importe quel langage de programmation, et qui forment un "noyau dur" qu'il faut impérativement maitriser, quel que soit le langage que tu choisira au final pour mener tes projets à bien
  2. l'apprentissage de ce que l'on appelle l'orienté objet, si, du moins, tu y trouve un intérêt... Je ne ferai pas la liste des raisons qui peuvent te pousser à t'y intéresser, tant elles est longue, mais je dirai qu'à l'heure actuelle, connaitre le concept d'orienté objet présente un avantage et des facilités certains qui ne font que rajouter certains concepts à ceux énoncés plus haut et dont certains sont également communs à tous les langages de ce type
    • Le concepts d'encapsulation, d'accessibilité, d'héritage, de constructeurs, de destructeurs, de membres et de méthodes, de membres et de méthodes de classe VS membres et méthodes d'instances sont autant de concepts que tu retrouvera systématiquement partout, et au sujet desquels il est bon de s'habituder.

Evidemment, comme je l'ai déjà dit, chaque langage dispose de sa propre syntaxe subit certains choix effectués lors de sa concecption, et pour chaque personne qui te donneras une raison particulière d'utiliser un langage particulier, tu peux t'attendre à en trouver neuf autres qui te donneront une raison de ne pas choisir ce langage, qui te proposeront un autre langage, mais qui te propseront chacune un langage différent.

Concernant le choix de l'EDI (Environnement de Développement Intégré) que tu as fait, je ne suis personnellement pas vraiment d'avis que ce soit le meilleur dans le cadre d'un apprentissage (mais bon, ce n'est évidemment que mon avis... même si je le partage )

Les raisons principales qui m'incitent à émettre cet avis est qu'il s'agit d'un EDI particulièrement intrusif au niveau du système d'exploitation, qui fait très "usine à gaz" (il suffit de voir la taille que cela prend à l'installation, en ajoutant les frameworks requis pour s'en rendre compte) et qu'il n'incite vraiment pas à réfléchir à la portabilité du code que l'on écrit (malgré le projet Mono qui essaye tant bien que mal de permettre une certaine portabilité du C#, il n'en reste pas moins qu'une grande partie des codes développés sous Visual Studio ne seront utilisables que sous windows si le développeur ne fait pas l'effort permanent de penser par lui-même à veiller à garder un code portable, et sous réserve qu'il choisisse un lagage qui soit disponible sous d'autres plateformes)

[EDIT]toutes mes excuses pour la "remontée" du sujet... j'ai l'habitude d'un forum sur lequel les discussions apparaissant en première page sont vielle de maximum quelques jours [langue]



Modifié par koala01 le 19/05/2008 12:28
Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Les bons plans du moment PC Astuces

Tous les Bons Plans
24,99 €Enceinte connectée Amazon Echo Dot (3ème génération) avec assistant Alexa à 24,99 €
Valable jusqu'au 28 Septembre

Amazon fait une promotion sur l'enceinte Amazon Echo Dot (3ème génération) qui passe à 24,99 € (au lieu de 59,99 €). L'appareil piloté par la voix fonctionne avec Alexa, l’intelligence artificielle développée par Amazon. Vous pourrez avec elle écouter de la musique, interagir avec vos appareils domotiques, écouter les infos, la radio, connaître la météo et d’accéder à des milliers d’autres possibilités grâce aux Skills : recettes de cuisine, petits jeux, etc. Par rapport à la génération précédente, le son est amélioré et l'enceinte arbore un nouveau design.


> Voir l'offre
72,17 €Carte mémoire microSDXC UHS-I SanDisk Ultra 512 Go à 72,17 €
Valable jusqu'au 27 Septembre

Amazon propose aujourd'hui la carte mémoire microSDHC UHS-I SanDisk Ultra 512 Go à 72,17 € livrée gratuitement. On la trouve trouve ailleurs à partir de 90 €. Cette carte mémoire offre des vitesses jusqu'à 100 Mo/s et est idéale pour les téléphones, caméras et appareils photo HD. Elle est certifiée GoPro, Switch et est accompagnée d'un adaptateur SD.


> Voir l'offre
14,90 €Windows 10 Pro 32/64 bits OEM à 14,90 €
Valable jusqu'au 30 Septembre

Le vendeur sérieux LicenSE-ONLine propose sur Amazon la clé d'activation pour Windows 10 professionnel en français 32 bits / 64 bits à 14,90 €. Cette clé livrée par email fonctionne avec l'outil d'installation et de création de support de Microsoft que vous pouvez télécharger ici ou directement avec l'ISO de Windows 10 Pro. De quoi installer légalement Windows 10 Pro sur un PC. Pour en savoir plus sur l'achat et l'installation d'une clé OEM de Windows 10, suivez les indications de notre dossier pratique.


> Voir l'offre

Sujets relatifs
[info] Swift: Pourquoi Apple a créé un nouveau langage de programmation
programmation simple
Aide POur initiation a SQL ( oracle 10G)
Débuts en programmation...
Programmation mobile en C#
programmation vb.net
programmation
programmation d'un petit jeu
Intel et la programmation parallèle !
petite question C++ (Programmation )
Plus de sujets relatifs à Initiation en Programmation
 > Tous les forums > Forum Autres langages