Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Android

I'm completely new to programming.My goal is to learn java so I can create android apps.should I learn java or py first?

My friends have told me that I should master python before I start learning Java for android.

3 Answers

Hariad,

I know that many colleges have moved to python for their introductory computer science courses with the intention to make it easier for their students to learn programming. However, these courses are not concentrating on learning python. Python is used as a tool to teach the fundamentals of programming concepts like:

  • Data Types
  • Operators
  • Variables
  • Branching
  • Conditionals
  • Iteration
  • Abstraction
  • Data Structures
  • Complexity
  • Algorithms
  • Object Oriented Programming
  • much more

You can learn all of these concepts rather easily using Java though. The key is to take your time and understand the fundamentals as you progress before moving on to more advanced topics. Oh, and to write a lot of programs! The more your write, the more you learn. A great read if you have not read it yet can be found Here

Since you want to learn Android development, I would highly recommend just starting the Java Track and follow it through to completion. Do not get caught up with the rate at which you are earning points. Have a notebook handy and take notes while watching the videos and completing the tasks. Do not skip the videos just to get to challenges! At the end of each section their may be an Extra Credit assignment. Complete these before moving on to the next section. These do not earn points, but they cement your knowledge even further. Once the track is completed, you will have a basic understanding of Java and have gained the fundamentals needed to move on to the Android Track.

Start the Android track and work through it with the same procedure. You will continue learning more Java as you develop Android Applications. However, you should definitely consider getting some books as you progress to intermediate and advance Java topics. I would recommend:

I hope this answers your question.

Regards,

Chris

Agree!

Thank you so much for the help, I have a plan for my programming future. I am really grateful for your answer, helps me really much!

Hola,

Well, I disagree with that on so many levels. Python is taught very differently than Java. Python is taught from a functional stand point. Py 3.4 and decorations with new classes offer a much more Object Oriented process, but nothing beats Java for OO. Now of course, when I hear master python before learning java. That (and I don't want to be rude, is crazy) is not a good idea. If you really want to master python it takes years. Do that and for what? Just to learn android? I know plenty of java and android programmers who can't do python. Now YES, learning one or the other is definitely a gateway and allows you to pick up other languages more quickly. But there is no requirement to learn one before another. If your goal is to program in android. Than don't waste your time in Python. Take a play from Nike and just do it!

Agree! Just do it! I like that.

I'm using this thread because I have also the intention of learning android dev, but I am pretty confused right now. Ryan, I hope you can answer my questions.

I was talking to a programmer at work, expressing my will of learning Java. I know that JS is not related, but I want to mention that I do have some previous knowledge about JS. He told me to forget about learning Java because he has a feeling that it will be pretty outdated soon. He also told me to focus on JS and learn that fully, because it will probably be more valuable to know JS than Java in the future. I told him that it is apps that interests me, and I got the answer that native is starting to become obsolete and web-app is the way to go.

I'm starting to doubt my choice to learn Java. And even though web-apps also sounds interesting, is JS really a language you use for that? Aren't other languages like Ruby, Python and Php used for that?