Par où commencer ?

Par où commencer ? - Divers - Programmation

Marsh Posté le 05-01-2015 à 19:19:42    

Salut à tous, étant intéresser par la programmation depuis un bout de temps mais n'ayant jamais trouver d'occasion propice j aimerais aujourd'hui m'investir dans un petit projet (car j'imagine bien que les grands projets sont inaccessible) où je pourrais commencer à mon niveau. Je suis ouvert à un peu toute sorte de "taches", ayant un niveau en programmation inexistant je me demandé vraiment par où commencer ?  
Je précise que je suis en 2e, mon niveau en math (bon sa m'étonnerai que cela me serve mais bon) est plutôt bon, en anglais je me débrouille (j'arriverai à lire et assimiler un texte tant qu'il n'emploie pas un niveau trop soutenu), j'ai déjà lu une partie d'un livre pour apprendre à programmer en java bien que j'ai du arrêter au bout d'un moment, le livre devenant trop technique pour moi. Voilà j'aimerai avoir vos conseil pour savoir par où commencer et si il est possible qu'avec mon niveau je puisse un peu m'investir dans un projet.
 
 
P.S : j'ai déjà "coder" un petit truc permettant de faire de petit calcul (avoue sa t'en bouche un coin  :D )  

Reply

Marsh Posté le 05-01-2015 à 19:19:42   

Reply

Marsh Posté le 06-01-2015 à 11:02:18    

Java, c'est de la POO, donc pas forcément évident de commencer par là si tu connais pas les concepts de base de la programmation procédurale.
 
Un classique est de commencer par du C. Ca permet de bien comprendre les concepts de typage de données, allocation de mémoire, structures de données, passage de paramètres par valeur ou par référence.
 
Une fois ces concepts maitriser, le passage à l'objet se fait facilement, d'abord avec du C++ puis avec du Java. Ensuite apprendre le javascript, le php, Python ou un autre langage, ça va tout seul car beaucoup ont une syntaxe proche du C/C++.
 
Pour info, les maths te serviront énormément en programmation dès lors que tu voudras mettre en place un algo pour résoudre un problème (ex : plus court chemin, tri de données, optimiser qq chose...).


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 06-01-2015 à 13:58:38    

Merci ;) , mon problème c'est aussi comment apprendre le C, quel tuto, quel livre ect, sinon tu connaitrai une plateforme pour participer un peu dans un projet ? Sinon les math ne me font pas vraiment peur :)

Reply

Marsh Posté le 06-01-2015 à 14:53:40    

Sur SourceForge, t'as pleins de projets auxquels tu peux contribuer (cf ma signature).
Pour apprendre (tuto), le site http://openclassrooms.com est très bien (anciennement "le site du zéro" ).


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 06-01-2015 à 15:13:15    

J'irai faire un tour dès que possible (la je suis sur mon téléphone) mais il me semble que j'avais deja un peu essayer le sdz mais que aux bout d'un moment il fallait acheter le livre écrit par leurs soins (mais je me.rappelle plus vraiment si c'était eux). Sans vouloir être indiscret comment a tu appris toi ?  
 
P.S : Merci pour tout les tuyaux :)


Message édité par lucas24007 le 06-01-2015 à 15:13:44
Reply

Marsh Posté le 06-01-2015 à 15:45:21    

C/C++ : appris lors de mon cursus IUT GEII
Java, ASP/VBS, SQL, Prolog : école d'ingé
Pascal/Delphi, HTML/XHTML, CSS, Javascript, PHP, XML/XSL, VB/VBA : par moi-même.
 
Edit :  
Cours sur le C : http://openclassrooms.com/courses/ [...] ammer-en-c
Cours sur le C++ : http://openclassrooms.com/courses/ [...] -langage-c
Pas besoin de payer ou de s'inscrire.


Message édité par rufo le 06-01-2015 à 15:48:14

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 06-01-2015 à 16:12:13    

Merci pour tous ces liens, je pense commencer par lire le cours de C de openclassrooms puis voir ce que ça donne (a mon avis il va me falloir pas mal de temps pour traiter tout :lol: ). Sinon merci pour SourceForge, étant sous linux (j'ai d'autres ordis sur windows) peut être que je trouverai de bonne alternative au programme présent uniquement sur windows. Sinon j'ai regarder les liens de ta signature, tu a participer au développement ?

Reply

Marsh Posté le 06-01-2015 à 16:19:40    

J'ai aussi trouver ça comme topic sur le fofo : http://forum.hardware.fr/hfr/Progr [...] 6105_1.htm
 
Qu'en pense tu ?

Reply

Marsh Posté le 06-01-2015 à 17:29:23    

lucas24007 a écrit :

J'ai aussi trouver ça comme topic sur le fofo : http://forum.hardware.fr/hfr/Progr [...] 6105_1.htm
 
Qu'en pense tu ?


Je suis totalement d'accord avec le dernier post de Trap D. Le plus important dans la prog, c'est l'algorithmie (la théorie donc). Si tu sais pas identifier la nature du pb à résoudre et donc trouver l'algo qui répond à ce pb, tu n'iras pas bien loin en dév :/ Et ça, c'est une école d'informatique qui te l'enseignera (une école d'ingé en général).


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 06-01-2015 à 17:35:29    

lucas24007 a écrit :

Merci pour tous ces liens, je pense commencer par lire le cours de C de openclassrooms puis voir ce que ça donne (a mon avis il va me falloir pas mal de temps pour traiter tout :lol: ). Sinon merci pour SourceForge, étant sous linux (j'ai d'autres ordis sur windows) peut être que je trouverai de bonne alternative au programme présent uniquement sur windows. Sinon j'ai regarder les liens de ta signature, tu a participer au développement ?


Je suis l'auteur des 3 softs (ie projets) de ma signature ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 06-01-2015 à 17:35:29   

Reply

Marsh Posté le 06-01-2015 à 20:39:32    

"sinon on ne fait que du bricolage toute sa vie"
Donc moi pas la peine d'approfondir les algo (mes seuls notions sont celle dispensées au lycée soit pas grand choses) vu que pour l'instant je ne vise que des truc pas vraiment complexe ? (le reste j'imagine que il faut obligatoirement passer pas des écoles). Sinon tu en pense quoi du fait de commencer par des choses plus complexe en sautent les étapes de création de l'environnement et des outils pour arriver plus vite à des résultat concret ? Sinon je me demander, tes programmes sur sourceforge ton était commandé ou c'est toi qui t'y est mis tout seul ? (de plus que l'occitan est une langue morte juste un peu parler dans le sud). J'ai aussi visiter ton site perso, tu la fait pour t’entraîner, ou si il y a une autre utilité ?
 
P.S : je pose plein de question mais t'es pas obliger de répondre :lol:

Reply

Marsh Posté le 07-01-2015 à 10:27:15    

Rappel : un algo n'est qu'un enchaînement d'actions. Il n'y a donc pas nécessairement de maths dedans (même si pour le CPU, ça reste toujours du calcul au final). Par contre, pour optimiser le temps d'exécution ou, au moins, avoir une idée du temps de traitement en fonction des données en entrée, il est nécessaire de connaître la complexité de l'algo qu'on implémente : polynomial (O(N²) par ex, ou N désigne la taille des données), logarithmique (O(N log(N))), linéaire (O(N))... Pour un algo de tri, le plus simple est le bubble sort (tri à bulles) mais il est en O(N²) donc très lent si tes données à trier sont nombreuses. Un Quick sort sera bien plus efficace. Donc, pour résoudre un problème, il faut connaître au moins un algo, mais tant qu'à faire, il faut aussi avoir un algo avec la complexité la plus faible. Il faut savoir que certains problèmes n'ont pas d'algo qui les résolvent en temps polynomial voire même qui n'ont pas d'algo qui garantisse de trouver la meilleure solution (classe NP complexe). Dans ce cas, on met en place une heuristique qui te trouvera une "bonne solution" mais pas forcément la meilleure. C'est de la combinatoire (on vit ça en terminale il me semble avec les probas et stats ;)).
 
Les outils qui génèrent du code, perso, j'aime pas trop. Et quand on débute et qu'on veut apprendre le dév, je trouve ça dangereux car ça nous masque tout un tas de pbs bas niveau (ex : protection de données saisies, alloc/désalloc de mémoire) -> aspect pédagogique. Si on s'est déjà confronté à ces pbs, alors les outils de plus haut niveau sont intéressants pour nous faire gagner du temps et sécuriser nos applis (encore que ça dépends quels outils haut niveau, ils ont aussi des bugs et failles :o). En résumé, avant d'apprendre à courir, on apprend à marcher.
 
Au sujet de mes softs : Astres et Icare ont été développés dans le cadre de mon travail pour un client (un service de la DGAC) qui a accepté de les diffuser sous licence GPL.
 
CanteenCalandreta a été développé pour une école associative ou sont mes enfants. Au sujet de l'occitan, Wikipedia ( http://fr.wikipedia.org/wiki/Occitan ) t'informera que le nb de locuteurs est estimé entre 1 et 4 millions et est la 46ème langue sur plus de 500 parlées dans le monde. Donc pas vraiment une langue morte. :o Par ailleurs, l'occitan est à mi-distance entre le catalan (même grammaire) et le français. Pour l'orthographe, ça aide ;)
 
Concernant mon site perso, c'était en premier pour remplacer mon ancien puis pour tester une architecture à base de XML et transfo XSL. J'y ai mis les infos de base mais je l'enrichi peu. En même temps, il est à peu près à jour car ma situation a peu évolué ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 07-01-2015 à 16:19:14    

Voilà j'ai commencer a un peu lire les cours d'openclassroom, suivant leurs conseils (je précise que je suis sur linux/ubuntu(14.04LTS) j'ai télécharger Code::Blocks. Ayant déjà tenté plusieurs fois de me mettre à la programmation (au début j'avais essayer le java), a cette époque (soit il y a 2 ans :lol: ) il conseiller tous Eclipse (en tant que IDE bien sur). Toi me conseillera quoi niveau IDE ? ou alors se sont tous les même et ça na aucune importance ?

Reply

Marsh Posté le 07-01-2015 à 17:41:25    

Faisant du php, j'utilise PHPEditor. D'une manière générale, un simple éditeur de code avec coloration syntaxique + autocomplétion et inspection du code, ça suffit (ex : notepad++) ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 07-01-2015 à 18:03:43    

notepad+++ est vraiment génial (l'ai utiliser quand je gérer un serveur minecraft, il me servait pour configurer les 240 plugins du serveur :cry: )

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed