IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Discussion :

Progresser en programmation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 192
    Par défaut Progresser en programmation
    Bonsoir,
    J'ai commencer la programmation un peu tard a 15ans.
    Pendant un an , j'ai valser avec beaucoup de langages.
    J'en ressort avec une très forte maitrise en ce qui concerne le développement WEB dans tout ces aspects (design,php,html,SQL) mais malheureusement une assez moyenne maitrise de la p-fonctionnelle et POO a travers des langages tel que PASCAL puis Delphi, après le C que j'ai rapidement abandonné a cause de sa syntaxe de fou et puis un peu de .Net avec C#.

    Aujourd'hui, j'ai envie de m'investir sérieusement en JAVA.
    Pourquoi JAVA? :
    C'est tout simplement a la mode, et j'estime que d'ici 5Ans d'après ce que j'ai lu ici, Son utilisation ne cessera de grandir.
    Comment ?:
    Je voudrais établir un Cursus complet que je vais suivre a raison de plus de 6Heure par jour l'été et a peu prés cela durant la terminale.
    Ce Cursus sera basé sur les multiples Coures disponibles sur le site developpez.com.
    J'ai besoin de vos conseil pour le mettre en place :
    -Ai-je besoin de connaissance en algorithmes avant de commencer ?
    Si oui, Quels cours me conseillez vous , jusqu'où est-il nécessaire d'aller ?
    -Quel notions aborder ? et surtout par quelle ordre !
    Que dois t'on apprendre avant d'entamer la programmation événementiel (GUI)
    Que faire apres ?

    Essayer s'il vous plait de répondre a ces questions sachant que le but sera, une fois le cursus terminer, être capable de travailler sur des projets utiles , par exemple une calculatrices qui ferais ressortir toutes la puissances de la class java.math ou encore des interactions avec des bases de donnés SQL et peut etre un editeur de texte ? A Vous de voire.

    Aussi j'espère qu'une fois que les idées seront rassembler, ce topic servira peut etre de référence au future java learners.

  2. #2
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    Ai-je besoin de connaissance en algorithmes avant de commencer ?
    Si oui, Quels cours me conseillez vous , jusqu'où est-il nécessaire d'aller ?
    Bien sûr. Programmer, c'est traduire un algorithme dans un langage de programmation. Apprendre l'algorithmique (la science des algorithmes) est différent d'apprendre un langage de programmation (sa syntaxe, sa lexique, ses bibliothèques, etc.). En algorithmique, on utilise un pseudo langage pour écrire les algorithmes. Un algorithme est un document qui explique les différentes étapes à suivre pour résoudre un problème. Voici une série de tutoriels d'initiation à l'algorithmique : http://julp.developpez.com/algo/. C'est suffisant pour commencer.

    Quel notions aborder ? et surtout par quelle ordre !
    Que dois t'on apprendre avant d'entamer la programmation événementiel (GUI)
    - Notions de base d'algorithmique (cf. le lien que je t'ai donné).
    - Un langage de programmation de ton choix. Je ne conseille pas Java. Prends plutôt Pascal ou C.
    - Selon tes préférences : Algorithmique avancée (structures de données et co.) ensuite POO (Java par exemple) ou POO ensuite algo avancée. A ce stade tu devrais déjà être "majeur", c'est-à-dire que tu sauras toi même choisir les cours que tu vas suivre . Il y en a plein sur ce site. Pour ma part, je recommande POO ensuite algo avancée.
    - Dévéloppement de GUIs. C'est plus que trivial en Java, surtout si t'as les bons outils (NetBeans ou Eclipse par exemple).

    Que faire apres ?
    Si tu veux t'améliorer en "programmation" : apprendre d'autres langages. Je te conseille tout d'abord d'approfondir un peu le C ou (je dirais même ET) l'assembleur. Difficile de bien programmer sans quelques notions sur ces langages. Ensuite, éventuellement d'autres langages à ton goût. Connaître plus d'un seul langage est bon pour la "culture programmeur". C'est d'ailleurs rare qu'un seul langage suffise pour répondre, le plus simplement possible, à tous tes futurs besoins.

    Sinon, que t'aies fait le tour des langages ou non, se spécialiser enfin dans un domaine particulier. Ou les apprendre tous si tu penses pouvoir y arriver : bases de données, réseaux, programmation emabarquée et ou pour mobiles, programmation système, etc.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 74
    Par défaut
    +1 Melem

    En effet, connaitre un langage "bas niveau" (C, Pascal) est pour moi essentiel pour apprendre un langage "haut niveau" (ici Java). Ca te permettra de comprendre plus facilement beaucoup de subtilités du langage (ex: fonctionnement et utilité du garbage collector en java ou en .NET ou qu'est-ce que le passage par référence, etc ...) et d'éviter pas mal d'erreur.

    Ensuite, pour le Java (comme pour tous les langages objets), bien comprendre la POO et tous les concept qui l'entoure te sera indispensable, et ce n'est pas une chose facile. Il y a énormément de notions et toutes on leur importance et méritent une attention particulière.

    Enfin je te conseille d'étudier de près les méthodes de conception, particulièrement UML2, très utile pour modéliser tes futures applications. Ca permet de préparer une structure, d'y réfléchir, et ça fait gagner beaucoup de temps de développement, et permet d'éviter à l'avance des copier/coller à tout va.
    Déjà pour de petites applications, prévoir tout à l'avance et le mettre par écrit t'évite pas mal de "ah, merde, comment je vais faire ... j'aurai du mettre cette méthode ailleurs ... etc ..." et de plus te permet d'avoir une documentation décrivant les fonctionnalités de ton code, ainsi que leur "emplacement" sous les yeux pendant le développement, moi j'aime bien, on se perd moins. Après, pour de gros projets, et surtout pour les développement à plusieurs ça deviens très vite indispensable !
    Enfin si tu veux travailler avec des bases de données, j'aime beaucoup la méthode MERISE. Très pratique pour design des bases de données.
    De plus ces deux "méthodes" de conception sont exploitable par du reverse engineering, ce que je trouve vraiment pratique et qui fait "encore" gagner du temps.

  4. #4
    Expert confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6 814
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6 814
    Par défaut
    Citation Envoyé par _IpC_ Voir le message
    (.../...)
    Déjà pour de petites applications, prévoir tout à l'avance et le mettre par écrit t'évite pas mal de "ah, merde, comment je vais faire ... j'aurai du mettre cette méthode ailleurs ... etc ..." et de plus te permet d'avoir une documentation décrivant les fonctionnalités de ton code, ainsi que leur "emplacement" sous les yeux pendant le développement, moi j'aime bien, on se perd moins. Après, pour de gros projets, et surtout pour les développement à plusieurs ça deviens très vite indispensable !(.../...)
    +1 sur ce point-là.

    j'ajouterais dans la même veine que se former à vide, c'est pas très efficace. Par contre, se fixer des objectifs(i.e. un petit projet), ça ça oblige à réfléchir....et à se confronter à de vrais problèmes. Donc à progresser. Un truc tout con(gestion d'une liste de numéros de téléphone, inventaire simple, je de vente de limonade quand le reste est maitrisé......n'importe quoi), tu le décris briévement sur papier, et tu le fais.

    Tu apprendras beaucoup du passage du papier(qui peut être electronique, genre word) au code. Et de mini-projet en mini-projet, tu feras tes specs de mieux en mieux. Ensuite, reviens à tes premiers projets, et demandes-toi comment tu pourrais les améliorer. C'est là que tu comprendras pourquoi "coder proprement" est une obsession des professionels, et a fourni à ce forum un gros paquet de débats.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 192
    Par défaut
    Merci a tous pour vos réponses, c'est très ludique.
    On dirait que le passage a travers l'algo s'avère nécessaire !
    Par contre j'ai quelque remarques et questions.

    En quoi est-ce que PASCAL est plus bas niveau que Java, sachant que j'ai pu réaliser ce genre de mini programme purement fonctionnel dans les deux
    http://codeviewer.org/view/code:925 et que je n'ai pas vraiment noter une quelconque différence...
    Suis je réellement obligé de repasser a pascal ou C ? si quelqu'un pouvait en approfondir sur l'intérêt de faire cela

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Par défaut
    Tu peux trouver mult définition sur les langages bas/haut niveau sur le net ... Mais pour faire simple, un langage bas niveau est un langage plus proche de la machine ... Donc celui qui est le plus bas niveau c'est le langage machine (binaire), mais personne n'écrit un code binaire mdr ... On lui préfère par exemple l'assembleur ou d'autre langage de plus haut niveau ...

    L'avantage d'apprendre un langage de bas niveau, c'est en fait de mieux comprendre les concepts de fonctionnement de la machine : la mémoire, E/S ... C'est souvent plus complexe, mais tu maîtrise tout les aspects ... Du coup tu as une meilleure base et compréhension des concepts et du développement en générale.

    PS : 15 ans pour commencer à développer ce n'est pas tard, mais plutôt précoce
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 74
    Par défaut
    D'abord tu ne comprends pas dans le bon sens les termes 'haut niveau' et 'bas niveau'. Il ne s'agit pas ici du niveau technique ou de la puissance du langage ni même de ces possibilités, mais on parle ici de "niveau d'abstraction" par rapport à la machine.
    On distingue plusieurs catégories de langages parmi lesquelles :
    - langages bas niveau (0) : assembleur, langage machine
    - langages bas niveau (1) : C, Pascal. Ici certains aspect de la programmation concerne la machine (mémoire, ...), mais on se rapproche d'une logique plus "humaine".
    - langage haut niveau : Les langages objets. On se rapproche encore d'un raisonnement et d'une syntaxe plus humain, plus naturel. Les traitement en rapport avec la machine sont automatisés ou abstraits.

    Ensuite, si tu as déjà de bonnes notions de C ou de Pascal tu devrais t'en sortir. Mais certains aspects des langages haut niveau sont abstraits mais existe tout de même. En connaitre le fonctionnement permet un déboguage souvent plus facile et évite quelques erreurs. De plus tu comprendra plus facilement certaines fonctions ou "stratégies" de programmation compliquées.

  8. #8
    Rédacteur
    Avatar de benwit
    Profil pro
    dev
    Inscrit en
    Septembre 2004
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 676
    Par défaut
    Citation Envoyé par Melem Voir le message
    Je te conseille tout d'abord d'approfondir un peu le C ou (je dirais même ET) l'assembleur.
    Je comprend ce que tu as voulu dire mais personnellement, je ne pense pas que commencer aujourd'hui par de l'assembleur apporte quelque chose ...

  9. #9
    Membre émérite Avatar de chaplin
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 215
    Par défaut
    Tu devrais aller sur site et acheter son bouquin, il a commencé à 11 ans.

    EDIT: à ton âge, il est important d'apprendre à apprendre.

  10. #10
    Membre émérite Avatar de chaplin
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 215
    Par défaut
    Citation Envoyé par F.Saad Voir le message
    J'ai commencer la programmation un peu tard a 15ans.
    J'ai commencé à 25 ans , t'as pas à rougir.

Discussions similaires

  1. Progresser en programmation
    Par ihzea dans le forum Débuter
    Réponses: 12
    Dernier message: 27/08/2012, 19h03
  2. Réponses: 16
    Dernier message: 20/11/2011, 15h27
  3. Réponses: 11
    Dernier message: 20/02/2008, 12h14
  4. Langage de programmation Progress
    Par mutt dans le forum Autres langages
    Réponses: 1
    Dernier message: 25/12/2005, 19h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo