Comment apprendre java?

Bonjour,
je souhaiterais me mettre à Java.
Il y a sur internet plein de tutoriels divers mais je n’y comprends absolument rien.
Quelqu’un aurait-il une bonne adresse pour un débutant complet svp?

Le site CommentCaMarche est très bien pour comprendre les choses en informatique je trouve, avec un article sur Java : commentcamarche.net/java/javaintro.php3 (je n’ai pas lu cet article là mais ce que je peux dire c’est que le site était bien, à l’époque où je m’intéressais à l’info :smiley:).

Bonne chance :smiley:

La première question à se poser est : « que connais-tu en info ? ». Tu as fait de l’algorithmique ? Programmer (même des maths) en pascal ? Tu as des notions sur le fonctionnement d’un ordinateur (mémoires, périphériques, entrées-sorties, etc.) ?

Le site http://www.commentcamarche.net donné par Calamity est une mine au vrai sens du terme pour tout ce qui touche à l’informatique : on s’y perd car le site est vraiment encyclopédique ! Mais ponctuellement, ça peut énormément dépanner.

Si tu es vraiment débutant en info, je te conseillerais plutôt d’investir dans un livre, genre « Le livre de Java premier langage » (Eyrolles : Le livre de Java premier langage | 3e édition | Éditions Eyrolles)
ou bien « Programmer en Java » (Eyrolles : Programmer en Java | 4e édition | Éditions Eyrolles).
En effet, il y a de nombreux cours sur Internet, mais la plupart supposent déjà quelques notions de programmation (cela dit, en cherchant bien, peut-être trouveras-tu un cours qui reprend tout depuis le « début » pour les grands débutants).

Autant le dire tout de suite, le Java n’est pas le plus simple des langages à apprendre, surtout comme première expérience (on en a déjà parlé dans un autre topic). Le maîtriser est encore moins évident. Mais la première difficulté sera peut-être de l’installer et de trouver un éditeur qui te convienne. Il y en a plusieurs gratuits.
Tu peux aussi faire un tour sur http://java.developpez.com/ qui propose plein de ressources.

bourricot a écrit:

La première question à se poser est : « que connais-tu en info ? ». Tu as fait de l’algorithmique ? Programmer (même des maths) en pascal ? Tu as des notions sur le fonctionnement d’un ordinateur (mémoires, périphériques, entrées-sorties, etc.) ?

Mon problème est que je ne connais rien à l’informatique… Enfin bon, niveau algorithmique, j’ai fait l’option info en prépa, mais c’est tout. Je ne connais ni Pascal, ni C, etc. et je n’ai pas la moindre idée du fonctionnement d’un ordinateur.

Comment ça, je suis mal barré? :wink:

Non, en fait, je crois que les matheux en général n’ont pas trop de problème en info : c’est essentiellement du bon sens et de la logique :wink:. Par contre, il faut s’y mettre, et en info peut-être (un peu) plus qu’ailleurs, il faut mettre les mains dans le cambouis ! Pour apprendre à programer, ben… il faut programmer, il faut bidouiller… Ce que j’ai appris du fonctionnement de l’ordinateur et de windows en particulier, comme probablement tout le monde, c’est grâce à mes erreurs, mes faux pas, mes bidouillages, et pas vraiment grâce à ce que j’ai lu ! (faire « format c: » quand on a son premier ordinateur et être surpris qu’après ça ne marche plus, c’est très formateur :laughing:).

Trouver un bon bouquin qui détaille bien les choses, avec éventuellement un bouquin d’algorithmique, et puis se plonger dedans. Internet regorge de ressources sur l’informatique. Le plus difficile, ce sera certainement de trouver Le bon livre, Le bon site.
Bon courage !

NB : 1) Attention aux livres format poche en info, qui sont souvent très laconiques sur les bases.
2) Quasiment toutes les bibliothèques aujourd’hui disposent d’un rayon « informatique », c’est l’occasion de tester avant d’acheter (cf. aussi les BU sciences-info).
3) J’ai utilisé « PhP et mySQL pour les nuls ». Je n’ai pas été convaincu (ni mieux ni moins bien qu’un autre)…

:smiley: [size=0] (chnou toute emerveillee que Mu pose une question, elle sors tout de suite)[/size]

En fait je ne cherche pas tant à apprendre réellement le langage que de commencer rapidement à bidouiller des choses de bas niveau avec des boucles et des conditions.
Est-ce jouable ou faut-il forcément se lancer dans des bouquins ennuyeux comme des cours de maths?

Moi je pense qu’on peut apprendre en bidouillant, et c’est certainement le plus simple, c’est comme ça en tout cas que j’ai commencé la programmation. Pas besoin de se lancer dans la lecture d’un bouquin compliqué (ils ne le sont pas tous bien sûr, et certains doivent être très biens pour débuter), je pense qu’en tout cas les cours qui se trouvent sur internet suffisent à commencer (et pour continuer, la documentation officielle convient bien).
Sinon peut-être qu’ici, on trouve des choses : java.developpez.com/cours/

Ouais, bon, en fait il faut bien comprendre une chose avec java : c’est un langage orienté objet, c’est-à-dire qu’il aborde les choses sous un angle différent de celui des langages « procéduraux » (pascal, C, etc.). Bidouiller deux ou trois boucles pour calculer une factorielle ou faire un programme pour gérer sa bibliothèque, ça ne requiert pas les mêmes connaissances et le même travail ! Dans un cas, tu feras comme si tu programmais en C ou pascal, sans te soucier des classes, et de tout ce qui touche aux notions « objets ». Dans l’autre, tu devras avoir des notions, assez délicates à acquérir « en live » je pense. Souvent, on couple la POO (programmation orientée objet) avec des cours de génie logiciel et/ou d’UML… Si tu veux une comparaison, c’est comme faire des probas : tu peux en faire plus ou moins développées en TS ou en prépas, mais si tu veux exploiter toute la richesse des notions modernes, tu feras des probas avec la théorie de la mesure et de l’intégration de Lebesgue. Il y a un investissement à faire avant pour acquérir des concepts plus fins…

Tout cela est assez théorique, car dans la pratique, tu rencontreras tout de même des notions d’objet en java même en programmant sans créer toi-même d’objets, vu que dans ce langage « tout est objet ». Pour faire afficher « bonjour » à l’écran, il faut utiliser une « méthode » de l’objet « entrée-sortie » (pour écrire) et l’objet « fenêtre d’affichage »… Donc, quelques notions de ce que sont les objets sont, à mon avis, incontournables.

Je ne vois pas trop bien quoi dire d’autre… Lis, lis et lis encore ! Et prends des exemples simples sur Internet (tutoriaux d’intro, cours pas à pas) pour les étudier. Dans tous les cas, j’insiste : il faut y passer du temps :wink:.

J’ai une question bête : pourquoi Java plus qu’un autre langage ?

Et +1 pour Les meilleurs cours et tutoriels pour apprendre JAVA. De nombreux cours de très bonne qualité. Sachant qu’il y a aussi Programmation Java pour les enfants, les parents et les grands parents. Si les autres vous paraissent ennuyeux, essayez celui-là ! Il est prévu pour des enfants de 11 à 18 ans, donc… :wink:

Ca dépend aussi ce qu’on veut faire … Bon, pour toi, Mû, je pense que Java, ça ira. Mais je me souviens de l’époque où j’ai voulu faire des petites animations GRAPHIQUES basées sur des lois physique. Tous mes copains infomaticiens m’avaient conseillé Java. Alors j’ai essayé …

Sauf que pour apprendre à faire un cercle, c’était le chapitre 15 … Et encore, il ne bougeait pas ! :frowning:

Bref, je me suis mis à Flash et là, forcément, c’est mieux ! :smiley:

Ceci dit, j’avais déjà beaucoup programmé en Pascal et l’actionScript de Flash m’a paru naturel. En fait le seul truc que je reproche à Flash c’est qu’avec tous les clips munis de leurs bouts de code, on ne maîtrise pas parfaitement quelle condition se produit avant quelle autre, ce qui peut provoquer quelques effets de bords pas gênants mais pas jolis jolis.

Bref, tout ça pour dire qu’il faut se demander « dans quel but » tu cherches à programmer : faire des exemples de cours (donc du Java pour toi et du Flash pour moi), te faire tes petits programmes pour automatiser tes tâches informatiques (j’utilise Perl), gérer tes notes sur ordi (j’utilise php et MySql), … :slight_smile:

Mû, demande à tes élèves, j’suis sûr que y en a forcément un qui sait programmer en Java et qui peut te conseiller :wink:.

Sinon en règle général, c’est mieux d’apprendre avec un livre je trouve qu’avec les tutoriaux disponibles sur internet car lire des cours sur PC, bof… ou alors faut tout imprimer…

UnMog a écrit:

Mû, demande à tes élèves, j’suis sûr que y en a forcément un qui sait programmer en Java et qui peut te conseiller :wink:.

Sinon en règle général, c’est mieux d’apprendre avec un livre je trouve qu’avec les tutoriaux disponibles sur internet car lire des cours sur PC, bof… ou alors faut tout imprimer…

Perso, je trouve que c’est plus simple, justement parce que la programmation ça se pratique.. (sur un ordinateur ^^). Recopier d’énormes bouts de code est assez décourageant, parfois, quand on en a besoin.

Merci à tous pour vos conseils, je m’y mets ce week-end!

Mû a écrit:

Merci à tous pour vos conseils, je m’y mets ce week-end!

Tenez-nous au courant :wink:

bourricot a écrit:

il faut mettre les mains dans le camboui

                camboui**s**     :blush:

:grin:

OK merci, je vais corriger…

Je commence déjà à galérer…
Voici ce que j’ai tapé:

public class Monprogramme {
        public static void main(String[] args) {
int entier=0;
System.out.println("Veuillez saisir un entier:");
entier = Keyboard.getInt();
int i;
int res=0;
	for(i=0;i<entier;i++)
		{
			res+=i;
			System.out.println(res);
		}
        }
}

en suivant les instructions données dans ce lien.

Eh bien il semblerait que la fonction Keyboard soit inconnue (java me dit « cannot find symbol » en soulignant ce mot).

Quelqu’un aurait-il une explication rationnelle svp?

Je hais l’informatique.

Mû a écrit:

Je hais l’informatique.

:laughing: :laughing: :laughing:

PS:moi je hais la chimie..

Et les gros bouquins de 1000pages ou tout est écrit dedans ça vous tente pas?
Sinon la série « pour les nuls » j’en ai plusieurs et c’est vraiment bien.. :wink:

warrior89 a écrit:

Et les gros bouquins de 1000pages ou tout est écrit dedans ça vous tente pas?
Sinon la série « pour les nuls » j’en ai plusieurs et c’est vraiment bien…

Les gros bouquins, je n’y comprends rien, que ce soit en maths ou en informatique :wink:
Mon problème est qu’apparamment une fonction n’est pas définie, il doit me manquer un package ou un truc dans le genre mais je n’ai réussi à trouver aucune information à ce sujet.