#1 Thu 20 March 2008 22:12
- Crap2104
- Juste Inscrit !
- Date d'inscription: 19 Mar 2006
- Messages: 4
Java ou C++ ou ... ?
Bonjour,
Je suis étudiant en géographie et aimerais ne pas être trop "largué" techniquement, ce qui semble important pour être géomaticien.
Je voudrais donc savoir quel langage de programmation est-ce que vous me conseillez? Est-ce que quelques notions de plusieurs langages est conseillé?
En vous remerciant d'avance.
Hors ligne
#2 Fri 21 March 2008 08:41
Re: Java ou C++ ou ... ?
Le champ semble a priori tellement vaste ! Un peu comme si un élève de restauration se demandait quelle langue étrangère apprendre pour sa future carrière.. Encore que des éléments objectifs pourrait l'aider à répondre. On ne propose encore AUCUN cours de programmation aux futurs géographes aujourd'hui ? je rêve... Bon alors pour être très très général je dirais qu'en débutant , peu importe le langage, ce qui compte sont les PRINCIPES de programmation. Se lancer comme ça , en partant de zero sur du JAVA ou du C++ c'est comme si un marin partait faire l'Everest en solitaire.. j'exagère mais à peine... la programmation n'est pas à proprement parler une technique, du moins pas seulement , mais une discipline à part entière et un métier. Ceci dit il y a une foule d'outils pour s'initier plus ou moins facilement. Il y a aussi une multitude d'environnements applicatifs en Geomatique.. Que veux tu faire? Apprendre un langage propriétaire comme mapbasic ? Ou plutôt un applicatif internet? Si tu arrives à devenir autonome en programmation Objet, professionnellement,cela est un avantage. Mais cela voudra dire que tu seras capable d'écrire autant en Java qu'en C# ou en PHP .. PERL .. VB... ASP j'arrête là ..? Python .. Javascript etc etc Pourquoi pas du XUL.. Ce qu'il faut à mon avis c'est que tu ne sois pas seul... si rien de rien n'existe dans ta fac .. il faudrait que tu créé un petit groupe d'étude, en vous fixant un mini "plan" et en se répartissant les taches et les connaissances acquise. Car la programmation résulte aussi de la capacité à travailler dans une équipe. Si vous arrivez a faire cela , je pourrais éventuellement vous aider!!!
Dernière modification par Toñito (Fri 21 March 2008 08:42)
Hors ligne
#3 Fri 21 March 2008 09:22
- Crap2104
- Juste Inscrit !
- Date d'inscription: 19 Mar 2006
- Messages: 4
Re: Java ou C++ ou ... ?
En tout cas, merci beaucoup pour la réponse! Un peu décourageante mais utile...
On fait un petit peu de programmation, un tout petit peu, en Visual Basic. Et on m'avait déconseillé d'approfondir cet enseignement, peut-être pourrais-tu confirmer ou infirmer?
J'avais pensé prendre des cours dans une autre fac mais j'avais peur d'être largué de toutes façons. Et puis, malgré le système LMD, la transversalité... L'année prochaine, je change de fac pour ma première année de Master, je verrai là-bas s'il faut faire bouger les choses ou pas.
En tout cas tu sembles confirmer que la programmation est utile... Quand est-ce que les universités se renseigneront elles aussi?
Hors ligne
#4 Fri 21 March 2008 09:33
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3175
- Site web
Re: Java ou C++ ou ... ?
Bonjour,
Sans contredire Toñito, je pense tout de même que l'on peut préciser un peu. Il faut avant tout savoir pourquoi vous souhaitez programmer et dans quel cadre. Les raisons énoncées me paraissent un peu succinctes.
Si vous souhaitez réellement investir du temps, et si votre formation et vos aptitudes le permettent, le mieux est d'investir dans un langage Objet permettant un accès simultané à des fonctionnalités de bas niveau et des framework complexes. Ce langage doit être répandu, disposer de nombreuses sources de code sur le net, être indépendant de la plate-forme.
Donc Java ou C++.
Une fois maîtrisés ils permettent de ce mettre rapidement à d'autres langages comme PHP par exemple.
Mais, il faut le répéter, c'est métier en soi où les seules façons d'avancer sont de pratiquer, d'être patient, d'aimer ce coucher tard ou pas du tout!
[Edit] : Concernant VB, c'est un langage qui n'a plus d'avenir, passer à DoNet demande pas mal d'efforts même en connaissant VB donc il vaut mieux investir ailleurs (et puis toujours MS qq chose ça rend dépendant)
A+
Christophe
Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close
Hors ligne
#5 Fri 21 March 2008 10:29
Re: Java ou C++ ou ... ?
Hello,
Si je puis me permettre, même si je ne suis pas un pro de la programmation, *avant même* de commencer à apprendre un langage, il serait judicieux d'apprendre la base des bases, qu'on oublie souvent et qui mène à des programmes mal construits, mal pensés, mal renseignés, bancales, c'est l'algorithmique. Quelqu'un qui arrive à conceptualiser correctement son programme sur papier en algo a déjà fait une grosse partie du boulot, je pense.
Les néophytes parlent toujours de "langage de programmation" mais jamais de cette base fondamentale. Une personne qui a compris le principe des algorithmes peut échanger avec un informaticien-programmeur sans forcément connaître le langage de programmation. De la même façon, un pro du VBA peut échanger un principe algorithmique avec un pro du C++ ou du Java sans connaître pour autant l'autre langage.
C'est par ça qu'il faudrait commencer, surtout. Pas le peine de chercher à faire du boulot sérieux en Java, C++ ou autre sans comprendre ce qu'est un algorithme récursif, ou même une boucle conditionnelle par exemple.
My 2 cents,
Robin.
Hors ligne
#6 Fri 21 March 2008 10:55
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3175
- Site web
Re: Java ou C++ ou ... ?
Bonjour,
Robin, bien sûr l'algorithmique est très important en programmation, mais au cadre que tu cites (échanges entre pro), cela s'assimilerait presque aux réflexes des "vieux" programmeurs adeptes de l'analyse descendante. A l'heure actuelle l'heure est à la modélisation objet. S'il on souhaite appréhender la programmation en vue d'échanges avec entre pro, ou plus simplement avoir une culture suffisante pour pouvoir discuté avec un spécialiste de l'hexadécimal et du binaire, l'idéal est d'apprendre un langage de modélisation comme UML, cela permet de comprendre les grands principes (y compris l'algorithmique) sans dépendre d'un langage, et peut-être de donner le goût de passer d'architecte à maçon et plonger les mains dans le cambouis du code, mais ce en ayant une vision de ce qui est à construire.
Mes deux centimes d'euros (au prix du dollar, c'est mieux ! )
A+
Christophe
Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close
Hors ligne
#7 Fri 21 March 2008 11:23
- Crap2104
- Juste Inscrit !
- Date d'inscription: 19 Mar 2006
- Messages: 4
Re: Java ou C++ ou ... ?
Encore merci de me consacrer un peu de votre temps.
Je me rends compte que je suis vague (c'est déjà un bon point :-) ) mais le problème est bien là, mes connaissances sont limitées... Dans quelques années, je saurais certainement ce que j'aurais dû faire! Et c'est bien pour cela que je fais appel à vous.
Donc, niveau étude, je finis ma licence et compte faire un master pro. Techniquement, mis à part la maîtrise de certains logiciels de carto (voire d'un seul...), on a des cours sur les bases de données (SQL) et des cours de programmation en Visual Basic. Et, lors d'un stage, on m'a clairement dit que techniquement c'était très limité dont VB qui était obsolète, merci de me l'avoir confirmé!
Je voudrais être le plus compétent possible et donc avoir quelques notions de programmation, histoire que mon parcours universitaire soit complété par rapport à d'autres personnes qui pourraient avoir un bagage beaucoup plus conséquent sur ces points.
Je pense que je vais essayer de voir ce que cela donne seul avec Java ou C++ et que j'aviserai pour la suite...
Dernière modification par Crap2104 (Fri 21 March 2008 11:24)
Hors ligne
#8 Fri 21 March 2008 11:27
Re: Java ou C++ ou ... ?
l'idéal est d'apprendre un langage de modélisation comme UML, cela permet de comprendre les grands principes (y compris l'algorithmique) sans dépendre d'un langage, et peut-être de donner le goût de passer d'architecte à maçon et plonger les mains dans le cambouis du code, mais ce en ayant une vision de ce qui est à construire.
Là, je me rend compte que j'ai vraiment pas assez approfondi ce sujet, depuis le temps que j'en entend parler sans me pencher dessus. L'impression d'être passé à côté d'un truc important du coup...
Robin, bien sûr l'algorithmique est très important en programmation, mais au cadre que tu cites (échanges entre pro), cela s'assimilerait presque aux réflexes des "vieux" programmeurs adeptes de l'analyse descendante.
Bouh, je suis périmé...
Merci Christophe en tout cas !
Robin, qui va se renseigner sur l'UML.
Hors ligne
#9 Fri 21 March 2008 12:15
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3175
- Site web
Re: Java ou C++ ou ... ?
Bonjour,
J'ajoute que les bouquins de Claude Delannoy sont particulièrement bien fait (Java et C++).
Pour la littérature UML une petite recherche sur [GeoBD] donne une bonne référence.
Robin, t'es pas périmé, on mesure ce que l'on connait au vu de ce qui reste à apprendre.
A+
Christophe
Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close
Hors ligne
#10 Fri 21 March 2008 12:22
- Crap2104
- Juste Inscrit !
- Date d'inscription: 19 Mar 2006
- Messages: 4
Re: Java ou C++ ou ... ?
Parfait, je vais me renseigner.
Hors ligne
#11 Fri 21 March 2008 13:21
- Cebron
- Participant occasionnel
- Lieu: nimes
- Date d'inscription: 27 Oct 2005
- Messages: 12
Re: Java ou C++ ou ... ?
Dire que VB est "très limité" est à mon sens realtivement exagéré...
là encoure tout dépend de ce que vous souhaitez faire en programmation.. Mais avec la version .NET de VB, on arrive à faire plein de choses tout de même ...
Hors ligne
#12 Sat 29 March 2008 13:06
- skerdreux
- Participant actif
- Lieu: Nantes
- Date d'inscription: 13 Mar 2006
- Messages: 112
Re: Java ou C++ ou ... ?
Bonjour,
comme cela a ete dit (desole pour les accents mais clavier qwerty...) le plus important n'est pas le langage mais bien la methode.
donc avant de te lancer dans du java ou c++ il faut d'abord apprendre les bases (sinon c'est l'echec a coup sur !)
1. Base de la programmation : c'est a dire tout simplement ce que c'est un programme informatique, definitions d'une variable, d'une boucle, de structure de controle, etc... pour accompagner ces notions pas toujours evident a comprendre il faut eviter les languages vraiment complexe du type java,c++ ou meme du VB qui ne t'apprendront pas a bien programmer. je te conseille donc pour debuter soit l'ADA, le Pascal ou meme Caml qui est tres pratique pour la recursivite.
2. Algorithmique : manipulation des structures de controles, notions de fonctions et de procedures, parcours de tableau, de list... la on reste toujours avec de l'ADA ou pascal
3. Structure de donnees et fichiers : structure de donnees sera oriente vers des structures de type list, files, arbres, etc... et fichiers sera oriente vers la gestion des donnees dans un fichier (ouverture, ecriture, lecture, etc...). ici toujours de l'ADA on ne change pas.
En parallele tu peux commencer a t'interresser fortement au C avec les notions de pointeurs qui sont vraiment tres interessant
4. POO (programmation oriente objet) : dans cette partie on commence a voir une notion tres importante en informatique : les objets. ici on va donc changer de language pour du c++ ou java (perso le c++ est plus strict donc meilleur et la syntaxe java est tres proche du c++ donc pas difficile de changer)
5. en parallele du point 4 tu dois commencer a etudier l'analyse et la conception de systeme d'information (ACSI) et ensuite l'analyse et la conception oriente objet (ACOO) qui sont tout simplement essentiels dans le cadre de projet assez consequent et qui seront tres utile pour tous tes projets en geomatique (on a tendance a oublie a la fac que les SIG c'est des systemes d'informations et il serait tres utile d'etudier leurs conceptions) --> donc ici UML et Merise
ensuite tu seras pret a etudier n'importe quel languages puisqu'en informatique le plus important ce n'est pas le language mais la theorie. les languages se ressemblent plus ou moins et il n'est pas difficile de jongler entre c,c++,php,java, etc...
par contre eviter le vb ou vb.net pour commencer. par contre ensuite c'est tres pratique pour faire des choses puissantes et rapidement (mais avec une portabilite nulle par contre)
au niveau des tuto :
http://www.developpez.com/
il ne faut pas oublier que la programmation ce n'est pas evident et qu'il existe des etudes specifiques pour y arriver donc c'est normal de passer beaucoup de temps pour arriver a un niveau correct.
bon courage (et desole pour les nombreuses fautes d'ortographes mais conjonctivite + clavier qwerty ce n'est pas evident !)
Sylvain
Sylvain K.
CapGemini
Hors ligne
#13 Sat 29 March 2008 15:27
Re: Java ou C++ ou ... ?
Bonjour Sylvain,
ADA, Pascal, mais pourquoi pas le boulier ou les cartes perforées pendant qu'on y est ?
Si on veut programmer; il faut savoir, mais pas la peine de devenir expert informaticien. Il y a des écoles et des formations complètes pour cela. Laissons chacun son métier, il y a déjà beaucoup à faire pour le géomaticien. À moins d'être un génie et de savoir encaisser tout cela et être compétent dans tous les domaines...
p.s : Un clavier qwerty est une mauvaise excuse pour ne pas avoir d'accents. Dire à ton PC quel clavier tu veux utiliser est la moindre des choses. C'est un simple paramétrage dans les infos régionales de Windows. Que je ne t'y reprenne plus !
Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !
Hors ligne
#14 Sun 30 March 2008 18:22
- Laurent Jégou
- Participant assidu
- Lieu: Toulouse
- Date d'inscription: 5 Sep 2005
- Messages: 447
- Site web
Re: Java ou C++ ou ... ?
Mon expérience avec Sigma me permet d'abonder dans le sens de l'acquisition des bases en premier lieu, et de leur application avec un langage moderne et utile. Donc évidemment une bonne prise en compte des applications web, des bases de données. Il me semble que ces aspects sont peu cités ici, c'est dommage.
Pour Java je conseille Deitel&Deitel.
Dernière modification par Laurent Jégou (Sun 30 March 2008 18:23)
Enseignant-Chercheur en Géomatique
UT2J - Dept Géo / CNRS UMR LISST-Cieu / Master Sigma - Revue Mappemonde
Hors ligne
#15 Mon 31 March 2008 10:15
- skerdreux
- Participant actif
- Lieu: Nantes
- Date d'inscription: 13 Mar 2006
- Messages: 112
Re: Java ou C++ ou ... ?
Bonjour Sylvain,
ADA, Pascal, mais pourquoi pas le boulier ou les cartes perforées pendant qu'on y est ?
Si on veut programmer; il faut savoir, mais pas la peine de devenir expert informaticien. Il y a des écoles et des formations complètes pour cela. Laissons chacun son métier, il y a déjà beaucoup à faire pour le géomaticien. À moins d'être un génie et de savoir encaisser tout cela et être compétent dans tous les domaines...
p.s : Un clavier qwerty est une mauvaise excuse pour ne pas avoir d'accents. Dire à ton PC quel clavier tu veux utiliser est la moindre des choses. C'est un simple paramétrage dans les infos régionales de Windows. Que je ne t'y reprenne plus !
l'Ada et le Pascal sont des langages fortement typés donc ideal pour commencer et eviter de faire des betises que permet des langages moins typés c'est a dire par exemple mettre une variable 'char' dans une variable 'int'.
si je conseille ces langages c'est qu'ils sont tres bien pour debuter. si une bonne partie des fac, iut utilisent ce genre de langage pour debuter ce n'est pas pour rien.
debuter en faisant directement de la programmation oriente objet en c++ (pour comprendre ce que c'est un char *** quand on est debutant c'est pas le plus simple) est totalement stupide et risque plus de mener a l'echec que autre chose.
concernant le clavier je n'ai pas les droits pour le modifier sous windows donc ce genre de remarque n'est pas utile surtout de la part d'un moderateur.
Sylvain K.
CapGemini
Hors ligne
#16 Mon 31 March 2008 11:02
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3175
- Site web
Re: Java ou C++ ou ... ?
Bonjour,
Il est évident que le transtypage implicite ou la surcharge de fonctions sont des notions à manipuler avec une très bonne connaissance préalable des règles fondamentales énoncées par Sylvain dans son premier message(Base et structures de données). Concernant les pointeurs je mettrais tout de même ça dans ces mêmes chapitres, j'ai commencé avec Pascal puis Turbo Pascal, cette notion est essentielle dès que l'on aborde les structures de données complexes comme les liste chaînées ou les arbres. Je n'ai jamais utilisé ADA, mais je connais son principal avantage qui est d'avoir un compilateur qui ne laisse rien passer. Donc en terme de formation il est vrai qu'il doit faire prendre de bons réflexes, mais en termes pratiques il est utilisé pour des applications mettant en jeu la sécurité des personnes, peut-être pas dans le cadre de la géomatique.
Dans le cadre de la remarque de Laurent Jégou l'aspect Base de donnée : Les grands langages précédemment cités possèdent tous un accès à de nombreux types de BD au travers d'un Modèle d'Accès aux Données. Pour l'aspect Web, la maîtrise d'un des grands langages de programmation rend aisé la transition vers des langages dédiés comme Php, comme cela a déjà été dit. Je n'aborderais pas la programmation sous l'aspect Web, car produire une page Web au final ce n'est qu'écrire un fichier texte ce qui doit faire partie des connaissances de base.
Bonne journée
Christophe
Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close
Hors ligne
#17 Mon 31 March 2008 11:48
Re: Java ou C++ ou ... ?
si je conseille ces langages c'est qu'ils sont tres bien pour debuter. si une bonne partie des fac, iut utilisent ce genre de langage pour debuter ce n'est pas pour rien.
debuter en faisant directement de la programmation oriente objet en c++ (pour comprendre ce que c'est un char *** quand on est debutant c'est pas le plus simple) est totalement stupide et risque plus de mener a l'echec que autre chose.
Je plussoie l'utilisation de l'AdA et ce qui est dit ci dessus. J'ai pris quelques cours avec le CNAM en cours du soir et j'avoue que c'est intéressant et accessible pour peu qu'on s'y consacre un peu. Avec un bon prof pour vous expliquer tout ça, ça donne de très bonnes bases er réflexes, qui sont bien loin du boulier ! De mon avis, il n'est pas nécessaire de devenir programmeur pour autant, mais ca permet de comprendre un minimum. Chacun son métier, certes, mais le geomaticien est multidisciplinaire par essence ! C'est ca que j'aime dans ce métier, on peut toucher à tout, plus ou moins selon ses besoins. Je suis content d'avoir les bases de prog et d'algo mais je n'ambitionne pas pour autant de devenir programmeur.
concernant le clavier je n'ai pas les droits pour le modifier sous windows donc ce genre de remarque n'est pas utile surtout de la part d'un moderateur.
Jerome est un peu trop tatillon, personnellement j'ai une déformation informatique qui fait que j'oublie quasi systématiquement les accents quand j'ecris un peu vite (=caractères spéciaux) De plus, j'imagine bien les quewertysiens mettre des petites etiquettes sur le clavier pour repérer où se trouvent les caractères spéciaux accentués !!!
Tant que le message est rédigé de façon claire, lisible, perso, je n'en ai cure des accents...
Robin.
Hors ligne
#18 Mon 31 March 2008 13:23
Re: Java ou C++ ou ... ?
J'ai commencé par de l'algorithmique :
Pour commencer, aucun programme soumis à un compilateur. Tout sur papier, et corrigé par un prof.
Si faire de l'ADA à la place de l'algorithmique, c'est juste pour bien comprendre comment ça marche, pourquoi pas ? Mais personnellement, on m'a toujours fait associer un langage de programmation à un programme. Pour apprendre les bases de la programmation, on écrivait dans le langage qu'on voulait (si ... fin si ; si ... is ; ou if ... end if si on voulait).
Et pour cette histoire de clqvierm c4est Sylvqin aui q co,,enc2 0 se plqindre
Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !
Hors ligne
#19 Mon 31 March 2008 14:46
- skerdreux
- Participant actif
- Lieu: Nantes
- Date d'inscription: 13 Mar 2006
- Messages: 112
Re: Java ou C++ ou ... ?
disons que l'intérêt d'un langage comme l'ADA et de mener l'utile à l'agréable pour une personne n'y connaissant pas grand chose. c'est toujours intéressant de réussir à faire un petit programme sur la base d'un algo qu'on a fait avant.
mais comme Jérôme l'a bien fait remarquer il ne faut jamais directement programmer sans avoir tout écrit sur papier (sauf dans les cas vraiment simple mais quand on débute rien n'est simple). comme mes profs me disaient le plus important c'est l'analyse (c'est à dire analyse uml, spécifications externes et internes, algo...), la programmation en elle même dans un langage donné c'est totalement secondaire.
je partage cette idée qui je sais peut déranger plus d'une personne car elle est poussée à l'extrême.
donc dans l'absolu pour débuter apprends la théorie mais pense quand même à appliquer ce que tu vois dans de petits exemples simple en ADA qui au fur et à mesure deviendront des exemples plus complexe et tu n'auras pas trop de mal à appliquer tout ça dans différents langage. un if reste un if et dans la plupart des cas la syntaxe ne change pas beaucoup.
les seules notions qui changent sont la programmation orienté objet et les pointeurs qui sont des notions complexes.
concernant la programmation web c'est encore un autre aspect avec d'autres problèmes à résoudre mais un domaine très intéressant car en constante évolution d'une année à l'autre.
bon courage !
PS : le clavier c'est ok
Sylvain K.
CapGemini
Hors ligne
#20 Fri 04 April 2008 17:22
- gas
- Participant actif
- Lieu: FONDETTES
- Date d'inscription: 5 Jun 2006
- Messages: 55
Re: Java ou C++ ou ... ?
Passionnant cette discussion !
D'abord bravo à Crap2104 de poser la question : cela montre une prise de conscience qui vous aidera beaucoup.
Je partage l'avis de l'ami Frédéric : la géomatique devrait suffit avec une bonne connaissance de comment on réalise un programme en C++ ou JAVA
Je vous donnemon expérience : DESS informatique en 1982, j'ai aidé à développer un logiciel &§"§é!'!"é (pas de pub) en pascal UCSD sur Mac; quand Riccardo Cohen est arrivé chez nous en 1995, j'ai compris la différence entre un amateur éclairé et un développeur formé dans une école d'ingénieur dédié (ENSAE) ; le code était plus propre et infiniment plus compact.
En revanche, avoir un minimum de culture informatique me semble indispensable. En revanche, surtout ne pas perdre de vue qu'il ne sert à rien de ré-inventer le fil à couper le beurre, une des grandes spécialités de la filière que ce soit dans l'université et la recherche, mais aussi dans les entreprises privées (un spécialiste du géomarketing reconnaitra une discussion récente).
On ferait mieux d'empiler nos savoirs pour atteindre des problématiques poussées que de les confronter sur des sujets banals
Aujourd'hui le monde va très vite et tout temps perdu pèse en négatif.
Très cordialement
Georges_Antoine Strauch
Hors ligne