Par où commencer avec Java ? [Java] - Programmation
Marsh Posté le 04-07-2001 à 09:43:20
le meilleur livre, je pense, c'est java foundation classes de la collection O'Reilly....et sinon tous les livres de la collection o'reilly sur java sont cool. Sinon un pas mal pour commencer, c'est "java 2 le guide du developpeur" de OEM, il prend tout les concepts du depart, et il t'explique toutes les bases....Je pense que celui la pour les debutants c celui la... apres essaye les o'reilly....voila ;o)
Pour la connaissance du C++, ca aide, parce que deja tu as pigé l'objet..enfin..vaut mieux !!!!! Et sinon, ben tu es plus rigoureux : java est moins rigoureux que le c++ donc bon, tu devcrais t'en sortir....
Mais si t'as pas compris le concept d'objet..bonne chance !! ;o)
vaut mieux que tu apprenne la prog objet en profondeur. Parce que meme si VB et delphi c pas mal, je trouve que l'approche objet n'est pas parfaite...enfin c mon avis !
Marsh Posté le 04-07-2001 à 15:50:22
J'ai fais la même chose que toi mise à part que je connais le C/C++.
Je pensais qu'un très bon livre de référence (JAVA IN A NUTSHELL) serait suffisant. Je me suis trompé. Si tu veux un très bon livre avec plein d'exercise pour apprendre et non mémoriser les subtilités de JAVA alors c'est "Comment programmer en JAVA 2" de Deitel et Deitel. Quand tu commences à lire ce livre tu veux plus arrêter. Il est très motivant.
Marsh Posté le 05-07-2001 à 13:46:33
Je dirais qu'il faut commencer pas l'Objet avant de s'investir sur un langage Objet ... ensuite les personnes ayant répondues avant ont la solution.
En fait on peut utiliser Java pour développer n'importe comment, l'Objet te permettra la propreté, la modularité, l'évolutivité et la maintenance aisée ...
May Objects be with U Luc
Marsh Posté le 10-07-2001 à 02:18:18
OUais "Comment programmer en JAVA 2" de Deitel et Deitel est vraiment super....meme si parfois il de vient melangeant parfois en mettant plein de fonction a l'interieur de fonction....surtout dans la programmation de la parti graphique...
Marsh Posté le 12-07-2001 à 22:14:57
under a écrit a écrit : Pour la connaissance du C++, ca aide, parce que deja tu as pigé l'objet..enfin..vaut mieux !!!!! Et sinon, ben tu es plus rigoureux : java est moins rigoureux que le c++ donc bon, tu devcrais t'en sortir.... |
Qu'ouie-je !!!!
Depuis quand un langage est-il plus rigoureux qu'un autre ??
La rigueur depend uniquement du developpeur et nullement du langage....
Marsh Posté le 13-07-2001 à 10:29:22
Ok, je me suis pas exprimé assez clairement. C'est vrai qu'on peut faire de belles merdes dans tous les langages, c'est vrai que le C fait des contrôles de type et oblige à déclarer ses variables, mais ça, c'est le minimum minimorum !!!
Je trouve que le principe de pré/ post incrémentation & d'imbrication peut rendre 1 prog totalement illisible ; 1 "développeur rigoureux" ne devrait jamais en abuser. cependant, beaucoup de développeurs finiront par s'en servir aDonf et nostradamuseront leur code.
Marsh Posté le 13-07-2001 à 10:53:23
instantdharma a écrit a écrit : Ok, je me suis pas exprimé assez clairement. C'est vrai qu'on peut faire de belles merdes dans tous les langages, c'est vrai que le C fait des contrôles de type et oblige à déclarer ses variables, mais ça, c'est le minimum minimorum !!! Je trouve que le principe de pré/ post incrémentation & d'imbrication peut rendre 1 prog totalement illisible ; 1 "développeur rigoureux" ne devrait jamais en abuser. cependant, beaucoup de développeurs finiront par s'en servir aDonf et nostradamuseront leur code. |
...c quoi le principe de pré/post incrémentation ?
Marsh Posté le 13-07-2001 à 11:34:46
int i;
i++; /* post incrémentation : exécuter l'instruction puis incrémenter la var*/
++ i; /* pré incrémentation : incrémenter puis exécuter l'instruction*/
De mémoire, car je programme pas en C depuis très longtemps :
int tab[];
while {i=0;i<10;tab[i++]=3}
; /* Ca devient de suite - clair non ? */
while {i=0;i<10;tab[++i]=3}
; /* la 1e case ne contient pas 3 ; ça tombe sous le sens */
Comme on peut combiner la pré/post incrémentation avec les fonctions, on peut facilement écrire un truc illisible qu'il faut étudier 20 mn avant de comprendre ce que ça fait, compte tenu de l'ordre de préséance des opérateurs en l'absence de parenthèses.
Marsh Posté le 13-07-2001 à 11:43:20
Citation : ...while {i=0;i<10;tab[++i]=3} |
...et en plus t'auras droit a un beau plantage parce que tu vas ecrire dans une zone memoire qui n'est pas allouee pour ton tableau dans la derniere occurrence de ta boucle!
Marsh Posté le 13-07-2001 à 11:45:51
instantdharma a écrit a écrit : int i; i++; /* post incrémentation : exécuter l'instruction puis incrémenter la var*/ ++ i; /* pré incrémentation : incrémenter puis exécuter l'instruction*/ De mémoire, car je programme pas en C depuis très longtemps : int tab[]; while {i=0;i<10;tab[i++]=3} ; /* Ca devient de suite - clair non ? */ while {i=0;i<10;tab[++i]=3} ; /* la 1e case ne contient pas 3 ; ça tombe sous le sens */ Comme on peut combiner la pré/post incrémentation avec les fonctions, on peut facilement écrire un truc illisible qu'il faut étudier 20 mn avant de comprendre ce que ça fait, compte tenu de l'ordre de préséance des opérateurs en l'absence de parenthèses. |
Ha, ok !
Mais ça c un vieux trucs...y s'agit de prendre l'habitude !
les trucs comme ça s'appelent des "sucres"...c une petite friandise que t'as l'aire de pas trop apprécier ! :-)
En fait on appel ça comme ça parce que ça permet juste au programmeur d'écrire plus vite sont code, et une fois que t'as l'habitude, tu retranscris facilement.
Les pré incrémentations j'utilise pas trop, mais y a un sucre (donc, qui rend moins lisible pr un débutant) qui est bien pratique et donc j'me sert tt l'temps (et je suis pas l'seul), c le +=
...j'aime bien ça les sucres. Si tu persévère dans le C tu t'y habituera (de toute façon t'auras pas l'choix si tu dois mettre le nez ds de code des autres...:D)
Marsh Posté le 13-07-2001 à 11:59:35
Je vois pas pourquoi la dernière itération de ma boucle fait planter le programme ?
Pour les sucres : je m'en sers également, c'est une notation qu'on trouve dans de nombreux langages de programmation.
Le += ou ++ est clair et lisible ; mais en C, on peut combiner sur une ligne les sucres dans les expressions, qu'on évalue (tjs de mémoire) de droite à gauche en fonction de l'ordre de priorité des opérateurs, et là, ça risque de devenir pas clair.
Marsh Posté le 13-07-2001 à 12:04:39
instantdharma a écrit a écrit : Je vois pas pourquoi la dernière itération de ma boucle fait planter le programme ? Pour les sucres : je m'en sers également, c'est une notation qu'on trouve dans de nombreux langages de programmation. Le += ou ++ est clair et lisible ; mais en C, on peut combiner sur une ligne les sucres dans les expressions, qu'on évalue (tjs de mémoire) de droite à gauche en fonction de l'ordre de priorité des opérateurs, et là, ça risque de devenir pas clair. |
...y faut quand même en vouloir pour faire ça !
y faut y mettre du siens quoi. Mais c vrai que si tu veux pas que qqn d'autre que toi puisse lire ton programme, c possible en C... peut être plus possible qu'avec d'autres langages, c vrai, mais je persiste, y faut y mettre du sien !
Marsh Posté le 13-07-2001 à 12:10:48
elgringo >> tout simplement parce que ti pre-incremente ton pointeur. Ca fait qu'a la derniere iteration, tu ecris dans l'adresse de tab + 10*sizeof(int), or tu n'as alloue que la zone memoire de tab a tab+9*sizeof(int)
Ca plantera pas forcement. Si tu as une autre variable declaree juste apres, il va peut-etre l'ecraser, mais ton prog est pas bien, pas bien du tout
Marsh Posté le 13-07-2001 à 13:18:42
Hé, je voulais juste savoir par oû commencer, pas savoir la définition de "rigoureux", en-t-k, j'ai laissé tombé le Java pour tout de suite et me suis plutôt lancé en C++ avec un bon bouquin. Moi j'ai commencer a programmer en VB, puis en Delphi, et je peux vous dire que seulement entre le VB et Delphi il y a une différence, Delphi est un peu plus rigoureux que VB, et maintenant je peux te garantir que C++ est beaucoup plus rigoureux que Delhi, mais cé pas grave cé ca que j'aime !
Et puis le C++ est plus pour moi ...
[edtdd]--Message édité par DelphiNick--[/edtdd]
Marsh Posté le 13-07-2001 à 13:57:43
titi_4js a écrit a écrit : elgringo >> tout simplement parce que ti pre-incremente ton pointeur. Ca fait qu'a la derniere iteration, tu ecris dans l'adresse de tab + 10*sizeof(int), or tu n'as alloue que la zone memoire de tab a tab+9*sizeof(int) Ca plantera pas forcement. Si tu as une autre variable declaree juste apres, il va peut-etre l'ecraser, mais ton prog est pas bien, pas bien du tout |
...sauf que g rien dis la dessus moi !
Marsh Posté le 13-07-2001 à 14:52:34
J'avais compris ! de toute façon, dans mon exemple, j'ai pas indiqué ou calculé la taille du tableau
Marsh Posté le 15-07-2001 à 01:26:07
G pas lu tous les posts mais comme je suis dans le même cas que toi je te réponds. Donc le livre de chez OEM (le jaune c'est ça ??) eh bien je trouve qu'il tourne bcp autour du pot. Non moi the Reference in French :
- Java in a Nutshell
- Java Foundation Classes
Il faut les deux car il se complètent. C'est chez O'Reilly.
Sinon laisse tomber C++ c'est chiant. Moi je connaissais un peu donc ça m'a aidé pour Java mais franchement j'aurais du faire le contraire et si j'avais commencé par Java bah je sais pas si j'aurais fait du C++.
Marsh Posté le 04-07-2001 à 01:33:38
Salut tlm, j'ai besoin de votre avis à propos du Java, j'ai JBuilder 3.5 et je voudrais commencer à programmer en Java. Je programme présentement en VB et Delphi, mais je connais a peu près rien du C/C++. Alors je voudrais savoir par où commencer, Est-ce que c'est mieux de connaitre le C/C++ avant? Merci!
Si qq1 connais un bon livre a me conseiller pour le Java, genre pour débutant, merci!