1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Programming advice

  1. Dec 26, 2013 #1
    please I want an advice how to be learn programming in the shortest time .I already know java but I want to be a great programmer what to do ?
  2. jcsd
  3. Dec 26, 2013 #2


    User Avatar
    Education Advisor
    Gold Member

    There is no reasonable answer to your question.

    You should look into some material on data structures and algorithms, but your question is way too subjective to suggest some avenue to become a “great programmer.” What is it you intend to do with computer science?
  4. Dec 26, 2013 #3


    Staff: Mentor

    0) Play with Processing to start (processing.org) and learn OpenGL api and java
    1) Write java code and read other peoples java code.
    2) Contribute to some open source projects.
    3) Read both Core Java books by Horstmann cover to cover...
    4) Learn to use the IDE tools like Netbeans, Eclipse or Intellij.
    5) Learn to use the source code management tools GIT, SVN and CVS.
    6) Learn to use databases like DB2, Oracle, and H2 database (start with H2 as a cheaper route)
    7) Learn to do web application programming Tomcat, Jetty or Grails (tryout Grails)
    8) Learn to do Android programming.
    9( Extend your thinking to other languages like Scala (future Java replacement), Groovy (superset of Java) and Clojure (Lisp on Java)
    10) Teach others what you learned...

    There is no royal road to master programming to paraphrase Euclid's remark to King Ptolemy.

  5. Dec 26, 2013 #4
    What exactly do you want to learn how to program? What you want to learn how to program will determine which languages you should learn first. Everyone is different.
  6. Dec 26, 2013 #5
    I'm still a beginner and haven't read any programming books, but what I have found very educational is making your own programs from scratch. Working through exercises is fun and you learn stuff too, but it's not the same as coming up with an idea for a program and then actually writing the program.
  7. Dec 26, 2013 #6
    How well do you know java? I would assume if you know it well enough you should easily be able to transfer the skills you have there to any other programming language. Consider learning another language C# perhaps?

    There is no single method for becoming a great programmer, it requires hard work and dedication. One thing you should probably consider is: expanding your math skills. Additionally you should consider just getting a degree in computer science, computer information systems, software engineering or something similar.
  8. Dec 26, 2013 #7
    I would recommend contributing to open source projects or getting a job programming.
  9. Dec 26, 2013 #8
  10. Dec 27, 2013 #9


    User Avatar
    Science Advisor

    Definitely work on large scale, complicated projects in a domain of your preference.

    You should look for something with multiple languages and platforms where you have significant integration between said platforms, libraries, and code bases.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook