JAVA comme premier langage ?

JAVA comme premier langage ? Java - Caractéristiques du langage » Articles Vérifier si un nombre entier est un nombre premier en C » Conseils pratiques - Langage C [java] nombre premier [Résolu] (Résolu) » Forum - Programmation Programmation - Comment débuter, quel langage? » Conseils pratiques - Langages Algo java nombre premier [Résolu] » Forum - Java

Bonjour,
Je souhaite apprendre à programmer (en même temps que mon frère, on souhaite s'entraider) avec pour projet de créer des applications pour smartphone ainsi que des sites internet. Je ne vais pas vous poser l'éternelle question du débutant, à savoir par quel langage commencer, car dans mon cas je sais déjà ce que je veux faire (on a des idées d'applications mais également de sites internet et apprendre à programmer nous
trotte dans la tête depuis un certain temps), je voulais simplement savoir si commencer directement par un langage tel que le JAVA était une bonne idée. En effet, j'ai beaucoup lu que Python par exemple était un langage conseillé pour débuter (j'ai rarement lu au contraire quelqu'un le déconseiller) mais pratiquement jamais que JAVA était idéal comme premier langage. Si je pose la question c'est parce que étant donné que nous sommes également intéressés, mon frère et moi, par la création de site internet, on peut aussi envisager de débuter par un autre langage peut-être plus conseillé et permettant de faire des sites (même si la création d'applications pour smartphone nous botte bien plus).

Si, comme je le pense, on débute finalement par le JAVA, auriez-vous des méthodes d'apprentissages à conseiller ?
J'ai déjà essayé à plusieurs reprises d'apprendre à coder (moins avec une idée précise en tête, certe), et à chaque fois c'est la frustration de faire ce que le tuto/formateur me dit de faire sans comprendre profondément pourquoi qui m'a fait cesser. Ça, et la difficulté de savoir à partir de combien de temps je pourrais réellement commencer à vraiment comprendre ce que je fais (au point de pouvoir faire par moi-même sans attendre de consignes).

En fait c'est dans mon caractère d'aimer comprendre ce que je fais et "maîtriser" les choses et je me demandais s'il n'existait pas des méthodes d'apprentissages plus adaptées à ce genre de profils (outre les cours en école privée qui sont malheureusement trop chers pour le moment) ?
C'est sans doute une interrogation naïve mais à chaque fois que je vois quelqu'un ayant appris à coder je me demande comment il a appris, en combien de temps il a pu commencer à bosser par lui même (car après je sais qu'on continue d'apprendre toute sa vie)...

Forum

JAVA comme premier langage ? Java - Caractéristiques du langage » Articles Vérifier si un nombre entier est un nombre premier en C » Conseils pratiques - Langage C [java] nombre premier [Résolu] (Résolu) » Forum - Programmation Programmation - Comment débuter, quel langage? » Conseils pratiques - Langages Algo java nombre premier [Résolu] » Forum - Java

Web: www.shapebootstrap.net

6 réponses

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

Oui c'est possible, tu peux essayer ça : Cours d'algo puis ce très bon livre gratuit : Programmation Java pour les enfants, les parents et les grands-parents et compléter ensuite avec par exemple 500 cours et tutoriels Java et la FAQ Java.

Reply
réponses:
  • auteur

    Salut, après des langages de programmation il en existe des milliers dont plus de 200 sont utilisés fréquemment.
    J'aurais tendance à dire que Java n''est peut être pas le plus évident pour commencer(mais oui c'est possible , courage).
    Quelques banalités sur Java(non exhaustif)
    _Java est un langage compilé (par opposition aux langages script).
    _Java est fortement typé.
    _Java est fortement Objet.
    _Java est puissant.
    _Java est multi-plateforme. Il est donc adapté à tout appareil(JRE) mais n'est spécifique à aucun. Dans le cas d'une Application web cela est plutôt un inconvénient(nécessité de faire une applet Java, nécessité pour l'utilisateur d'avoir le plugin installé.
    _En débutant avec Java il sera complexe de mettre en place de vrais applications graphiques (AWT/SWING c'est pas vraiment ce qu'on appelle quelque chose d'intuitif).
    _Prendre de bonnes habitudes en utilisant un langage évolué(de haut niveau) ça force à avoir énormément de connaissances en conception, analyse. Un bien mais ça peut être décourageant.
    _Java est voué à être obsolète d'ici quelques années(ça se discute mais c'est assez fréquemment dit + le fait qu'il appartienne à Oracle et risque de ne plus être open et gratuit).

    Bref si vous voulez faire des sites et des applications web apprenez plutôt des technologies plus spécifiques au web. Rien qu'avec ça vous avez quelques années de boulot ;) Surtout que depuis la version 5 d'HTML (html5 donc) ça a prit un tournant. JavaScript(rien à voir avec Java - on le dira jamais assez) est d'ailleurs même considéré comme le meilleur langage du monde par IBM. à tort ou à raison mais il possède une souplesse, une facilité et des possibilités de par ses manques et défauts et son évolution que n'ont pas les langages compilés.

  • auteur

    "...de faire ce que le tuto/formateur me dit de faire sans comprendre profondément pourquoi qui m'a fait cesser. "
    Bon soit vous aviez de très mauvais tuto soit vous n'avez pas assez persévéré. Il existe bien des méthodes pour apprendre, toutes son complémentaires et il ne faut pas se limiter à une seule. Mais si vous n'avez pas comprit l'intérêt de la leçon à la fin et que le chapitre suivant ne vous a pas éclairé c'est probablement normal, tant que vous arrivez à mettre en pratique et avoir des résultats. La programmation informatique ce sont des langages et aussi une logique qui nous est pas naturelle. Beaucoup de mathématiques, d'algorithmies et de structures logiques(math de Boole), donc on est pas censé penser comme une machine...d'ailleurs les machines ne pensent pas !
    Là vous êtes juste en train de comprendre qu'une voiture à un volant et des roues et que le volant peut bouger les roues(oui ça s'appelle apprendre, on commence au début et si on persévère on s'aperçoit qu'on à encore plus de choses à apprendre). Et vous voudriez savoir à quoi ressemble un moteur alors que vous n'avez que des rudiments.
    Ce qui restera commun à tout les apprentissages des langages informatique(programmation) c'est qu'il faut travailler, travailler et travailler encore pour comprendre chaque concept, aussi infime soit il. Bien sûr cours et tutos ne suffiront pas. C'est votre travail personnel et dès que vous en aurez les moyens vos propres expériences qui feront de vous quelqu'un qui sait ou pas; Pour comprendre profondément il faut des années de pratique en plus des cours.
    D'ailleurs plusieurs choses sont importantes à savoir sur la programmation:
    _on connaît un langage on les connait tous. C'est grosso modo le même système , seule la syntaxe change(ainsi que le champ d'application et/ou rôle dans un programme final).
    _il n'y a rien de magique, c'est plutôt simple (aucun ordinateur n'a un cerveau qui est près d'approcher l'intelligence d'une gerbille) mais c'est technique et logique(encore la logique mathématique).

    _le développement, la programmation ou écriture du code c'est la partie ouvrière. La plus terre à terre. Ce qui importe c'est l'analyse et la conception du cahier des charges, des buts/besoins de l'application. La programmation c'est un détail comme le camion qui va couler les litres de bétons pour construire les piliers d'une maison. Et bien sûr l'architecte/concepteur-analyste doit savoir à quoi ressemble le béton mais c'est pas le plus important. L'évolution des langages de programmation tend de plus en plus à se détacher de cette partie ouvrière(écrire des lignes de codes) pour se centrer plus sur le concept(analyser, concevoir les modèles et plans du programme, faire en sorte que la logique humaine soit transformée en opérations optimisées pour les données numériques et leur utilisations).
    Ceci étant dit il faut un minimum de connaissance de la programmation et son fonctionnement pour pouvoir concevoir et assimiler les différentes méthodes d'analyse et modélisation d'un programme. Avec des langages compilés et objets(Programmation Orientée Objet se distingue de la Programmation dite procédurale par le fait qu'elle n'implique plus une suite d'instructions à la suite mas fait appel à des regroupements 'thématiques' que l'on nomme objet). Donc si vous choisissez Java ou n'importe quel langage compilé de même type c'est plus vers la conception et l'analyse que vous devrez (rapidement) vous tourner. Et vous êtes un peu à côté de la plque pour faire des applications web, sauf si le but recherché est de se focaliser sur des applications de gestion avec grosses bases de données(JSP) mais comme avec J2EE on tombe dans le niveau ingénieur(en université 5 ans d'études après le bac).

    Conclusion : Oui Java pour apprendre la programmation même si pas le plus simple, il faudra que vous redoubliez d'effort par rapport à certains langages (comme python qui a comme point fort d'être simple , clair et facile à écrire ainsi qu'à apprendre).
    Pour faire des appli web apprenez le JavaScript (et ensuite PHP) en sachant que vous devrez vous farder les langages de balisage(rien à voir avec la programmation) HTML, CSS et aussi apprendre les bases de données.

    ps: aucun cours (surtout de niveau débutant) ne vous donnera toutes les informations. rechercher et savoir trouver l'information est aussi une qualité nécessaire aux développeurs.

  • Harrylechienfou

    Très bonnes réponses, personnalisées, ça fait plaisir et ça éclaire pas mal au final.
    Ça fait beaucoup d'infos à digérer mais si je vous suis bien apprendre JavaScript pourrait s'avérer plus intéressant que JAVA dans l'absolu (couplé à du PHP et cie), voir Python aussi car idéal pour débuter. Seulement de ce que j'ai lu ces langages, s'ils permettent de coder des applis mobiles (via Django par exemple pour Python), ne sont pas idéals par rapport à d'autres. Le problème avec les langages informatiques c'est que beaucoup prêchent pour leur églises plutôt que simplement donner des conseils "objectifs" (je ne parle pas pour vous car visiblement au contraire vous donnez des conseils personnalisés), résultats certains débutants peuvent être mal orientés ou perdus (même si dans l'absolu apprendre un langage quel qu'il soit n'est jamais une erreur ça je l'ai bien compris).

    Après je me pose la question des applis iOS qui sont codées sur Swift, peut-être est-ce plus destiné aux débutants ?
    Après si le JavaScript ou le Python permet à la fois de faire des sites internet et des applis mobiles sans problème c'est vrai que ça peut être une meilleure idée de débuter par l'un des deux...

  • Célien

    Dans un premier temps ton but c'est d'apprendre la programmation, que ça soit Java ou Python peu importe, après si tu vises Android et que tu commences par Java tu va simplement gagner du temps.

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

Bonjour,

"Pour faire des appli web apprenez le JavaScript (et ensuite PHP) en sachant que vous devrez vous farder les langages de balisage(rien à voir avec la programmation) HTML, CSS"
Le Java est capable de faire tout ce que PHP fait, ce serait totalement superflu d'apprendre les deux.
Alors effectivement HTML/CSS/JS peut être utile, même si certains framework Java permettent de générer des pages web déjà toutes faites, avec le HTML/CSS/JS qui va bien.

"Après je me pose la question des applis iOS qui sont codées sur Swift"
Je ne connais pas iOS, mais les applications Android sont codés avec le langage Java (et un framework dédié).

Il y a également un type d'application dont tu n'as pas parlé, ce sont les applications de bureau (.exe &co), parce que de tout les langages cités, seuls Java permet de le faire.

En bref, Java n'est peut-être pas le meilleur langage pour faire du web, peut-être pas le meilleur langage pour faire des applications de bureau, etc. Mais c'est un langage qui permettra de tout faire, donc en apprenant le Java tu pourras faire tout ce dont tu parles (...mais pas en 10 jours...)

Reply

Leave a Replay

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