Passer à Android ou apprendre les bases de Java en premier? [fermé]


15

Je suis assez compétent en C et je connais du C ++, mais je n'ai jamais touché Java. Récemment, j'ai eu une idée pour une application qui, je pense, a du potentiel, et je veux la développer.

Je prévois d'abord de passer à Android, car il ne nécessite pas de mac / iPhone.

Donc, ma question est: puis-je passer directement à l'apprentissage du développement Android, ramasser la syntaxe Java au fur et à mesure et en avoir besoin (après tout, je ne pense pas que ce soit très différent de C / C ++), ou devrais-je prendre quelques semaines pour apprendre les bases de Java d'abord, puis commencer avec le développement Android?


17
Miyagi dit: apprends d'abord à marcher, puis apprends à voler daniel-san.
Joel Etherton

Vérifiez cela et montrez-moi votre grand sourire oreilly.com/android/index.html
Chiron

4
Réponse courte: Apprendre Java d' abord avant de vous lancer dans la programmation Android. Cela peut sembler assez simple pour votre hello worldapplication de base, mais rien de plus compliqué que cela et vous rencontrerez des problèmes lors du débogage simplement parce que vous n'êtes pas au courant de certaines des bizarreries. J'essaierai de poster une réponse plus longue (soulignant quelques-unes des erreurs de recrue que je rencontre sur SO) quand j'aurai du temps.
Marvin Pinto

Vous voulez devenir un peu compétent en Java. Alors, passez quelques mois à apprendre la POO. Java est un langage orienté objet. Donc, si vous apprenez la POO, vous comprendrez rapidement java: Suivez le cours "Master Object Oriented Design" sur éliminatecodefear.com - L'une des meilleures ressources pour apprendre la conception et le développement orienté objet pratique avec des affectations matérielles
Tazo Man

Réponses:


16

Personnellement, je suggère d'étudier Java en premier afin de ne pas passer beaucoup de temps à googler ceci et à googler cela. Cela tuera votre productivité.

Et si je suis autorisé à suggérer des livres, je suggère Head First Android Development and / or Programming Android .

D'un autre côté et comme vous maîtrisez le C et que vous connaissez le C ++, le développement iOS devrait vraiment être plus facile à choisir car Objective-C est un langage de programmation minimal basé sur C.Mais bien sûr, c'est votre appel.


Oui, j'envisage également iOS. Je ne voulais tout simplement pas acheter un Mac, mais je suppose que je pourrais obtenir une Mini pour commencer.
Daniel Scocco

@daniels Oui en effet, les Mac Minis sont des machines capables, fines et étreignantes.
Chiron

De plus, en apprenant d'abord Java, vous vous familiarisez avec les API de base que vous utiliserez de toute façon dans Android.
Kemoda

Head First Android est-il réellement disponible autre que l'aperçu en ligne (qui serait un gâchis)?
Eoin Carroll

11

Je pense que vous devriez juste vous lancer. Java est assez similaire au C ++ pour que vous ayez à vous en remettre à la syntaxe. Vous devriez simplement obtenir une bonne référence comme le Dietel comment programmer un livre et y aller. Vous apprendrez ce dont vous avez besoin au fur et à mesure. Votre expérience de programmation vous aidera à vous familiariser plus rapidement avec la création de vos applications.

Je suggère également le Guide du codeur occupé à Android et le nouveau Guide du développeur Android

Le livre vaut la peine d'être acheté, car l'auteur du livre est très actif et peut vous aider beaucoup tout au long de votre courbe d'apprentissage.

J'espère que cela t'aides


29
Java is similar enough to C++Qu'est-ce que ... Oh, tu veux dire syntaxiquement. Non, ce n'est pas le cas, à moins que les boucles ne soient l'apogée de votre carrière.
yannis

"à moins que les boucles ne soient l'apogée de votre carrière". C'est une bonne ligne :)
Daniel Scocco

2
@ZaphodBeeblebrox: Ironiquement, si les boucles sont l'apogée d'une carrière, elles sont aussi probablement le périgée de cette carrière.
Joel Etherton

Ce «Guide du codeur occupé» n'est-il pas quelque peu daté? Il a 4 ans
Konrad Morawski

1
@YannisRizos: C ++ a une forme d'écriture pour les boucles for, Java en a deux. Donc, même une personne C ++ totalement concentrée sur l'utilisation de boucles for devrait supposer qu'elle ne connaît que 50% de Java. : D
Viliam Búr

3

J'aurais un jeu avec Java pendant quelques jours juste pour voir si vous l'aimez, puis juste sauter à droite de la meilleure façon d'apprendre que de se salir les mains.

Votre expérience en programmation vous aidera. Il y a beaucoup de bons sites de tutoriels qui peuvent vous aider à utiliser Android et Java en même temps, essayez simplement de les rechercher sur Google. Surtout PROFITEZ!


3
J'ajouterai que vous pouvez probablement vous en sortir avec 1-2 jours d'efforts solides sur ce front ou en saisissant un livre tel que Head First Java (il y a aussi un titre Java pour les programmeurs C ++ là-bas si je me souviens bien). Il est essentiel de se rappeler qu'Android! = Java, vous utilisez beaucoup de la même syntaxe, mais c'est une machine virtuelle différente qui exécute le code, certaines choses sont autorisées / restreintes, d'autres ne le sont pas, etc.
Martijn Verburg

2

Dois-je prendre quelques semaines pour apprendre les bases de Java d'abord, puis commencer avec le développement Android?

Étant donné que vous ciblez Android, il est logique de simplement choisir leur tutoriel officiel du type Mise en route et de commencer à l'étudier. S'il est nécessaire / souhaitable d'étudier Java en cours de route, vous pouvez vous attendre à ce que cela soit mentionné dans ce tutoriel.

Si je me souviens bien, les premières versions des didacticiels Android étaient de qualité acceptable. Mais je n'ai pas travaillé avec pendant un bon moment.


0

Répondre à un fil plutôt ancien, mais juste nécessaire, car aucune des réponses ou des commentaires n'a mis en évidence ce que je pense être un point très important, à savoir "l'apprentissage de la programmation orientée objet (POO)". Surtout à la lumière de ce que OP a écrit: -

... assez compétent en C et connait un peu le C ++, mais n'a jamais touché Java ...

Cela pourrait indiquer que les compétences de programmation orientée objet (et potentiellement de conception) d'OP pourraient nécessiter un soutien. Au moins, il l'a fait dans mon cas, et j'aurais fait une déclaration très similaire.

Je suggérerais d'apprendre ce qu'on appelle "Java Core" et de devenir compétent, puis le passage à la programmation Android semblerait beaucoup plus facile. L'avantage de cette approche est que Java force la POO, de la manière suivante -

  • Propre (comme au sens puritain)
  • Facile à saisir (comme dans la simplicité)
  • La seule façon (au lieu d'avoir une alternative non-OOP)

En outre, "Core Java" peut être appris assez rapidement pour quelqu'un qui connaît déjà assez bien C / C ++.


0

J'ai décidé de passer directement à Android et d'apprendre Java au fur et à mesure. Le démarrage est généralement facile - vous pouvez obtenir les outils de développement Android sur le site des développeurs Android, où vous trouverez également des didacticiels pour vous aider à faire les premiers pas.

Cependant, sans une bonne connaissance de Java, le développement d'Android devient rapidement écrasant (du moins, il l'a fait pour moi). Heureusement, il existe des tutoriels pour ceux qui souhaitent apprendre Java uniquement pour le développement Android . Vous pouvez les trouver ici (ils sont conçus pour les personnes qui connaissent déjà une autre langue comme C ++ / VisualBasic / etc.).

Une façon de vérifier si vous avez suffisamment de connaissances pour développer dans Android est de vous inscrire à un MOOC Android (comme celui-ci ) et de vérifier les affectations . La logique derrière cette approche est la suivante: puisque le développement Android est ce que vous visez vraiment, vous pouvez l'essayer immédiatement. De cette façon, vous vous rendrez compte de ce que vous pouvez faire et de ce que vous devez encore apprendre. De plus, vous pouvez toujours prendre un peu de temps pour parfaire vos compétences Java.

Bonne chance pour choisir le moyen le plus efficace pour vous!

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.