Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Easiest way to learn a language.

  1. Mar 30, 2016 #1
    I'm stuck with a problem.I wanted to learn Java.I learned C language during my middle school days and I found it interesting(Only my teacher was not so good) I managed to learn some concepts.I planned to learn this whole Java during my summer vacation.The vacation has arrived but I still struggle to understand many commands.I made use of this website "www.w3schools.com".and watched many videos.But still I can't get few things.Can someone suggest me a good way of learning this language ?
  2. jcsd
  3. Mar 30, 2016 #2


    Staff: Mentor

    Get the Processing IDE and learn by doing. Processing has many examples and there are a few books that start with very basic java in processing.


    The notion in Processing is to learn java by drawing things graphically like interactive art. You can change the code and run it immediately. You don't need a lot to get started.

  4. Mar 30, 2016 #3


    Staff: Mentor

    The www.w3schools.com site has tutorials on JavaScript, but nothing on Java, which is a different language. Rather than looking at a bunch of unfocussed videos, I think it would be better to get a book on Java programming, and work through it. If there are sections that you find difficult, you could then look for videos that deal with the keyword or concept that you find difficult. I'm sure there are lots of Java books on Amazon, many of which have reviews from the people who bought them, so you could get an idea of how helpful (or not) a book is before you buy it.
  5. Mar 30, 2016 #4


    Staff: Mentor

  6. Mar 30, 2016 #5
    Last edited by a moderator: May 7, 2017
  7. Apr 3, 2016 #6
    Find a good web site with programmers who do the language you're interested in. Focus on just one system development environment - whatever they recommend - once you learn one the rest are easy. Grab every snippet of code available and get it to work - don't worry too much about why it works. Ask plenty of dumb questions, but be respectful or they'll ignore you. Otherwise they love to help beginners. Make sure you hop on any advice, especially when it's good advice. Get code you're interested in and play with it - you'll pick up how it works. Use books and courses as necessary to get you up to speed, but as soon as you can, get in with a good community of experts, and imitate them.
  8. Apr 3, 2016 #7


    User Avatar
    Science Advisor

    I whole-heartedly concur! Get some code and figure out how it does what it does.
  9. Apr 4, 2016 #8


    User Avatar
    Science Advisor
    Gold Member

    There is no real "easy" way to learn a programming language. Experience has shown that the "easy" way, turns out to be the longest and hardest. So, you have to go by "first things first". I've worked with C and Java for many years, and what I do recommend, is starting simple by not depending on any particular IDE. A simple editor will do the trick. This is the old way of learning, but it always works well: in order to learn the nuts and bolts and the quirks of a language - Java in your case, buy a good book and start working with the concepts. I highly recommend Deitel's book https://www.amazon.com/Java-Program-Early-Objects-Edition/dp/0133807800 - I have used Deitel books for years in C, C++, Java, Web programming. What they basically teach you is a very disciplined approach and learn things in the right order, with lots of insights, hints, exercises and problems and some projects to work on. Their site is also excellent. It may be somewhat frustrating in the beginning to use it for self study, but if you want to really learn, you can do it - I used it this way too, in parallel with my programming course. For Java, besides the procedural programming inherited from C that is fairly easy to learn and apply, object oriented design and implementation, is what matters to you most. I recommend the "Early Objects" approach. The object oriented way of development, is not something you can learn in an overnight fashion: you have to learn how to think that way. There is plenty of books and resources on the web for this. So, you have to be patient and concentrated in this regard. After a while you can start using an IDE - I recommend Eclipse but I have worked with many others along the way, it's really up to you as long it is well supported and has a big community. Oracle documentation is an invaluable resource for your specific needs, but you need some time to learn to use it effectively. There are lots of other good books for Java programming as well: having learned the basics, you can judge it yourself. It would be of much help if you could take an online course for learning Java as well: Coursera, edx and online courses offered by many universities all over the world, are all good places to take a look at, but personal study through a good book is not something to be bypassed this way but to be done in tandem.
    A very important thing in my opinion, is to learn to analyze code, as early as possible. This can be done, if you try to write code yourself to solve programming problems that become gradually more difficult (with little or no help), and see the code of other people and try to figure out what it does and why does it this way. Asking the opinion of more experienced programmers is always a good thing and you must do it on every occasion and in every available way.
    As a final comment I have to tell that to really master a programming language needs much time - whole years, and effort, but if you start the right way and proceed in a diligent manner, you'll create a strong cornerstone to proceed further.
    Last edited by a moderator: May 7, 2017
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook

Have something to add?
Draft saved Draft deleted