Je me permets de te linker ce post de LechatRAMBO qui est assez complet est intéressant pour ceux qui veulent débuter en progra
<spoil>
Le 04 mai 2017 à 20:05:56 LechatRAMBO a écrit :
Bonjour, ils existent d'autres formations pour apprendre le développement comme le BTS SIO option SLAM et les formations en lignes sur des sites comme Open Classroom.
Le développement d'application peut s'apprendre seul à force de pratique.
Les concepts à apprendre par ordre chronologique :
0) Apprendre l'algèbre de Boole :
- convertir un nombre entier en nombre binaire et inversement.
-convertir un nombre binaire en hexadécimale et inversement.
-convertir un nombre entier en hexadécimale
-Savoir convertir des octets en bits et inversement.
Savoir établir la table de vérité des portes logique ET, OU, NON, NOR, NAND, XOR, XNOR.
https://fr.wikipedia.org/wiki/Fonction_logique
Cela va te servir à faire des conditions(ou structure de contrôles) dans les programmes qui te permettrons de développer des applications interactives.
1) Savoir ce qu'est une variable : c'est dans des variables que tu stockes les données que tu manipules.
Il faut aussi connaître les différents types de variable qui existe.
Un type de variable est la façon de stocker les données et c'est aussi la façon dont on représente les données comme le type int (ex: 4,10, 35 000, 2 000 000 000 000)qui permet de représenter les nombres entier, généralement coder sur 4 octets.
Le char qui sert à stocker un caractère comme une lettre, un chiffre etc. Il est coder sur un Octet.
Les String qui servent à représenter les chaînes de caractères. Une chaîne de caractère est une suite de plusieurs caractères, c'est un tableau de char. Ces caractères peuvent être des lettres, des chiffres, des signes de ponctuations et tout un tas d'autres caractères, pour plus d'information regarde la table ASCII, car les langages de programmations se servent de la table ASCII pour encoder les différents caractères :
https://fr.wikipedia.org/wiki/American_Standard_Code_for_Information_Interchange
Les nombres décimaux, à virgule, sont représenter par le float ou par le double, la différence entre un double et un float est la taille qu'ils prennent en mémoire. En général le double prend 8 octets contre 4 octets pour le float.
2) Savoir manipuler les variables.
3) Savoir utiliser les structures de contrôles
4) Savoir utiliser les boucles
5) Savoir créer des fonctions.
6) Savoir utiliser des tableaux, les parcourir, les trier.
6 bis) dans le cas ou tu apprends la programmation avec le langage C, savoir créer et manipuler des structures. Une structures est une super variables pouvant contenir tout un tas de variables.
Une fois ce stade atteint, félicitation tu possèdes les bases.
Pour les notions plus avancés :
7) apprendre la conception orienté objet : a quoi ça sert ? A mieux structuré son code. Mais quand on est débutant, on s'en fou vu que l'on code des programmes qui font 10 lignes.
La programmation orienté objet se fonde sur l'utilisation de class. Une class est une structure qui peut contenir des fonctions (Si ta vue ce qu'était une structure)
8) La gestion des erreurs, la notion de try and catch, concrètement cela sert à faire continuer le programme, malgré qu'une erreur c'est produit et à informer avec précision la nature de l'erreur. On retrouve cette notion en JAVA, en PHP et dans d'autre langages. Concrètement, tu mets le code qui risque de faire une erreur
dans un try, et si une erreur c'est produite, tu la gère un peut à la manière d'un IF ELSE.
Ex :
try
{
//code qui peut produire une erreur
//comme la division par zero :
1/0 // cette ligne provoque une erreur
}
catch(Exception)
{
// Ici on met le code que le programme va exécute, puis va continuer le programme.
// On peut afficher un message d'erreur par exemple
afficher("On ne peut pas diviser par ZERO !!!);
}
8) Les designs patterns : façon d'organiser son code. Connaître différents designs pattern en fonction des besoins comme le MVC, le DAO, le Singleton et autre.
9) Apprendre un framework : un framework est un ensemble de fonction, de class et autre déjà tout fait qui facilite le développement. Ta bootStrap pour le CSS, SWING pour le développement d'interface graphique GUI, ta NODE.JS et autre.
10) La gestion de projet : La méthodologie pour créer une application de A a Z. C'est à dire, le recueil des besoins, la conception technique, la production de la solution.
Des sites pour apprendre :
Site proposant des tutoriels costaux, souvent adressé à des gens savant déjà programmer.
https://www.developpez.com/
Pour les grands débutant qui n y connaissent rien.
https://openclassrooms.com/
En anglais, beaucoup de bout de code fonctionnel
https://www.w3schools.com/
Sites qui propose des problèmes de programmation à résoudre :
http://www.france-ioi.org/
https://projecteuler.net/
https://www.codingame.com/multiplayer/clashofcode
Et pour finir le livre qui m'a vraiment appris à programmer, en partant de zéro, pour apprendre à programmer le must reste ce livre :
http://www.editions-eni.fr/livre/du-c-au-c-de-la-programmation-procedurale-a-l-objet-2ieme-edition-9782746090200?t=EB3C4883-3C56-4D93-8B7C-91B61D4D2278
Par contre faut faire gaffe avec les éditions ENI car la version numérique n'est accessible que 5 ans et 1 ans si on achète la version papier.
Ayant acheter un paquet de livre, celui qui m'a réellement servit est celui ci.
Si tu décides de commencer ton apprentissage par le C ou le C++, utilise un IDE et évite la ligne de commande car c'est trop la merde lorsque l'on utilise des bibliothèques externes.
Le meilleur langage pour commencer à programmer est le C, ce langage permet d'acquérir les bases.
Une fois que tu connais les bases( jusqu'au structures), le must est de passer à JAVA, car le développement d'applications qui utilises des interfaces graphique est beaucoup plus simple. Les outils sont beaucoup plus accessible que pour le c++.
En java, ta Eclipse ou Netbeans comme bon IDE(programme trois en un qui comprend un compilateur, la coloration syntaxique et un débugger). De plus, ces deux IDE intègre un outil permettant de créer très facilement des interfaces graphiques. Pour débuter c'est le top.
https://netbeans.org/downloads/
https://eclipse.org/
Sinon concernant l'anglais, ta google traduction, ta plein de ressource en anglais, notamment la documentation des langages. Même si t'es médiocre, c'est très accessible. C'est de l'anglais technique, pas du Shakespears.