Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

Is Java hard to learn?

Options
  • 28-01-2006 5:28pm
    #1
    Registered Users Posts: 9,847 ✭✭✭


    Hi guys,

    A quick simple question. I have no programming experience other than perhaps HTML which isn't really the same thing.

    I am considering doing a course in Java to give me a bit of a head start if I decide to do comp degree next sept!

    How difficult is it to pick up a programming language like Java? and is it the best one to be working on at the moment as far as jobs go?

    Thanks


«13

Comments

  • Registered Users Posts: 43,864 ✭✭✭✭Basq


    Java is always a plus to know - mainly due to the fact it's platform independent.

    I myself have a sustainable knowledge of C#, Java and VB and while Java would be the more difficult of the 3 in my eyes, it's definantly the most worthwhile to know. It isn't particularly difficult nowadays in the dawn of IDE's such as NetBeans which make drawing the interface take a matter of minutes using Drag-N-Drop controls as opposed to coding all the controls and where to place them on the form. Once you learn the basics, it's just extending your knowledge.

    Give Netbeans a download and look through a few Java tutorials and see how you do.

    Jobs are still pretty plentiful in Java.. though i'm seeing more and more for .NET developers!

    On the plus side.. once you learn Java, you'll find most of the modern programming languages (C#, VB for example) to be a bit of a breeze.

    Best of luck!


  • Registered Users Posts: 9,847 ✭✭✭py2006


    Cheers thanks for that


  • Registered Users Posts: 269 ✭✭cyberwit


    I am doing Java this year myself. My option is that JAVA is simpler to learn then that of C++ for instance. A great book for learning JAVA programming is Tony Mullins A First Course in Programming with JAVA.

    Do an advanced Google search for PDF or powerpoint documents on JAVA example of one such helpful document is

    http://www.eee.bham.ac.uk/spannm/Teaching%20docs/Java%20Course/EE2E1%20Lecture%201.ppt :)


  • Registered Users Posts: 647 ✭✭✭DingChavez


    It depends on the person really.


  • Registered Users Posts: 269 ✭✭cyberwit


    I would have to agree. But when starting out programming you do basically the same thing e.g. If statements , nested if, while statements etc the one thing different is the syntax of the different programming languages.:)

    If i am wrong i await to be corrected .


  • Advertisement
  • Registered Users Posts: 5,335 ✭✭✭Cake Fiend


    py2006 wrote:
    I am considering doing a course in Java to give me a bit of a head start if I decide to do comp degree next sept!

    Don't bother, google for some Java primers. You can learn the basics in a few hours.


  • Registered Users Posts: 2,717 ✭✭✭ARGINITE


    cyberwit wrote:
    I am doing Java this year myself. My option is that JAVA is simpler to learn then that of C++ for instance.

    After learning C/C++ I think Java makes you lazy.
    I thinks its easier to learn because its so well documented.


  • Registered Users Posts: 68,317 ✭✭✭✭seamus


    ARGINITE wrote:
    After learning C/C++ I think Java makes you lazy.
    If you're referring to memory management/efficiency, then you're probably right - I don't remember any lecturer giving us tips on writing the most efficient or the least bloated Java code.

    That said, the fact that it's 100% OO, it's much easier to write well-structured Java code than to write dirty, badly designed code, almost forcing at least some good habits into novice programmers. C++'s backwards compatibility gives you scope to write dirty little hacks with little to no penalty when first starting out.

    All languages have their upsides and downsides. The essence of programming is getting a general programming grounding. After that, learning a new language becomes easy. Imagine if every human language had an extremely similar structure and way of arranging words - all you'd have to do is learn new words for the same phrases. Programming languages work quite like this, with some notable exceptions (e.g Lisp).

    For a starter language, Java isn't easy but after a couple of weeks (and particularly when OOP "Clicks") you'll be flying.


  • Registered Users Posts: 269 ✭✭cyberwit


    I studied C++ as well. I think we can all agree that doing any programming language is difficult it all depends on how logical a mind you have and if you can search Google for the mathematic equations.

    Programming can be an enjoyable experience but requires some commitment.
    :D


  • Registered Users Posts: 21,264 ✭✭✭✭Hobbes


    Java was written to fix C++ shortcomings when it came to coding for devices+network at that time.

    It still has the stigmata with a lot of developers (mainly those that don't code in it) that it is slow. This was the case when it started off. A bad JVM and everyone writing poor applets.

    Nowdays though the JIT compilers can outperform native compiled code (however moreso for longer running programs).
    it's much easier to write well-structured Java code than to write dirty, badly designed code,

    That said Java alone won't teach you how to code well. I have seen piss poor code before. The best I have seen are (not mine)...

    - System.gc() littered throughout the code.
    - Created a bean but only had half of the getters/setters working and then ignored them half the time and used the variables which were public directly.
    - Creating multiple variables in subclasses and then using various methods to access the data which would populate different variables.
    - Creating temp variables as global to the object.

    ...
    One more thing based on posts seen on this forum, knowing how to write something in Java and knowing how to code are two different things.

    If you don't know how to even pseduo code your in for a hard time.


  • Advertisement
  • Registered Users Posts: 9,847 ✭✭✭py2006


    cyberwit wrote:
    I am doing Java this year myself. My option is that JAVA is simpler to learn then that of C++ for instance. A great book for learning JAVA programming is Tony Mullins A First Course in Programming with JAVA.

    Do an advanced Google search for PDF or powerpoint documents on JAVA example of one such helpful document is

    http://www.eee.bham.ac.uk/spannm/Teaching%20docs/Java%20Course/EE2E1%20Lecture%201.ppt :)

    Cheers, I was just about to ask for book recommendations!


  • Registered Users Posts: 9,847 ✭✭✭py2006


    Hobbes wrote:
    Java was written to fix C++ shortcomings when it came to coding for devices+network at that time.

    It still has the stigmata with a lot of developers (mainly those that don't code in it) that it is slow. This was the case when it started off. A bad JVM and everyone writing poor applets.

    Nowdays though the JIT compilers can outperform native compiled code (however moreso for longer running programs).



    That said Java alone won't teach you how to code well. I have seen piss poor code before. The best I have seen are (not mine)...

    - System.gc() littered throughout the code.
    - Created a bean but only had half of the getters/setters working and then ignored them half the time and used the variables which were public directly.
    - Creating multiple variables in subclasses and then using various methods to access the data which would populate different variables.
    - Creating temp variables as global to the object.

    ...
    One more thing based on posts seen on this forum, knowing how to write something in Java and knowing how to code are two different things.

    If you don't know how to even pseduo code your in for a hard time.

    I've no idea what all that means but thanks anyway! :confused:


  • Closed Accounts Posts: 1,258 ✭✭✭Ag marbh


    Hobbes wrote:
    Java was written to fix C++ shortcomings when it came to coding for devices+network at that time.

    It still has the stigmata with a lot of developers (mainly those that don't code in it) that it is slow. This was the case when it started off. A bad JVM and everyone writing poor applets.

    Nowdays though the JIT compilers can outperform native compiled code (however moreso for longer running programs).



    That said Java alone won't teach you how to code well. I have seen piss poor code before. The best I have seen are (not mine)...

    - System.gc() littered throughout the code.
    - Created a bean but only had half of the getters/setters working and then ignored them half the time and used the variables which were public directly.
    - Creating multiple variables in subclasses and then using various methods to access the data which would populate different variables.
    - Creating temp variables as global to the object.

    ...
    One more thing based on posts seen on this forum, knowing how to write something in Java and knowing how to code are two different things.

    If you don't know how to even pseduo code your in for a hard time.

    Show off to be honest....

    ...How would someone who has never programmed before be able to decipher what you said above?


  • Registered Users Posts: 1,865 ✭✭✭Syth


    If you go to a college you'll probably be learning Java, however I'm quite fond of Python. I think it's a great language to learn (but also good for serious stuff).


  • Registered Users Posts: 9,847 ✭✭✭py2006


    Syth wrote:
    If you go to a college you'll probably be learning Java, however I'm quite fond of Python. I think it's a great language to learn (but also good for serious stuff).

    Yea, the reason I am looking into Java at the moment is because I am considering starting a degree in Sept and as you say they all use Java.

    Is Java what employers are after these days?


  • Registered Users Posts: 2,082 ✭✭✭Tobias Greeshman


    py2006 wrote:
    Is Java what employers are after these days?
    Yep! its fairly popular at the moment. Java developers seem to be earning a bit more than anyone else at the moment. Well worth having under your belt really if you're prepared to give it a go, its a fairly straightforward language to learn.


  • Registered Users Posts: 68,317 ✭✭✭✭seamus


    py2006 wrote:
    Yea, the reason I am looking into Java at the moment is because I am considering starting a degree in Sept and as you say they all use Java.

    Is Java what employers are after these days?
    Java is what employers of Java programmers are looking for :)

    If you're going for a degree, do the first year, and then in the second year, branch out into other languages in your spare time. If you want a programming job, then it helps to know a good few languages.


  • Registered Users Posts: 9,847 ✭✭✭py2006


    I went to the java site to download java but it gave me a mountain of options of differernt things to download. What exactly do I need to download?

    I bought a cheap ass book for €12 which kinda gives a basic introduction. I will obviously get a better one if I can handle this programming malarky!


  • Registered Users Posts: 269 ✭✭cyberwit


    Development Environment / Text Editor so you can write programs :
    TextPad
    http://www.textpad.com

    Java Development Kit so you can compile programs:
    http://java.sun.com/j2se/1.5.0/download.jsp

    I have just started doing java this year and its enjoyable the above will help you get started programming

    The following is a good Introduction to Java site:

    http://chortle.ccsu.edu/CS151/cs151java.html

    Hope it's of some use :D


  • Registered Users Posts: 21,264 ✭✭✭✭Hobbes


    Ag marbh wrote:
    Show off to be honest....

    ...How would someone who has never programmed before be able to decipher what you said above?

    He can learn.

    Seriously the examples were for the benefit of people who code in Java or did you honestly think I wrote that thinking he would understand? :rolleyes:

    Hardly showing off, I have seen piss poor coding from people who learnt Java without learning how to actually code correctly.

    There is more to programming then just learning syntax.


  • Advertisement
  • Registered Users Posts: 21,264 ✭✭✭✭Hobbes


    py2006 wrote:
    I went to the java site to download java but it gave me a mountain of options of differernt things to download. What exactly do I need to download?

    You need to download either Java1.4 or 1.5 JDK. Personally I'd recommend 1.5 and start learning the new stuff.

    JRE is just for running programs and you won't be able to compile any code in it.


  • Registered Users Posts: 269 ✭✭cyberwit


    Correction if i said JRE

    :D


  • Registered Users Posts: 9,847 ✭✭✭py2006


    cyberwit wrote:
    Development Environment / Text Editor so you can write programs :
    TextPad
    http://www.textpad.com

    Java Development Kit so you can compile programs:
    http://java.sun.com/j2se/1.5.0/download.jsp

    I have just started doing java this year and its enjoyable the above will help you get started programming

    The following is a good Introduction to Java site:

    http://chortle.ccsu.edu/CS151/cs151java.html

    Hope it's of some use :D

    Cheers, thanks for that! Although, still confused as to what actually do download on that page!


  • Closed Accounts Posts: 3,285 ✭✭✭Smellyirishman


    Click link.
    Click red button in upper right "Java - j2ee download the sdk"
    Scroll down new window that pops up and get all-in-one bundle.
    Click accept agreement radio button (Obviously after reading agreement :))
    Download appropriate Operating System version (windows is at bottom).

    You could download the netbeans version, but the one I walked you through should be plenty for now and you can get netbeans when you want and know more about what is going on.

    Lastly, good luck and have fun.


  • Registered Users Posts: 9,847 ✭✭✭py2006


    Click link.
    Click red button in upper right "Java - j2ee download the sdk"
    Scroll down new window that pops up and get all-in-one bundle.
    Click accept agreement radio button (Obviously after reading agreement :))
    Download appropriate Operating System version (windows is at bottom).

    You could download the netbeans version, but the one I walked you through should be plenty for now and you can get netbeans when you want and know more about what is going on.

    Lastly, good luck and have fun.

    Cheers buddy! Its downloading now!

    And what in the blue hell is netbeans?? Is that something IT students put on their netToast??


  • Closed Accounts Posts: 132 ✭✭canker


    If you're going to learn Java in a degree program theres little point in learning it beforehand. If you're going into first year of the program they will teach it to you assuming that you have never heard of it before.

    All you are likely to gain from pre-learning it is a lot of bad habbits and will probably result in you being bored for the first few weeks of your course.

    Something I found starting java in college already knowing a bit was I was ignoring instructions on how to solve problems using simple code because I thought "I know a better way to do this using stuff we havent covered yet". I have since discovered that was a bad idea!


  • Closed Accounts Posts: 131 ✭✭cognos


    C++ and Java are the two languages that I have learnt the most, and most recently. I found Java much easier to learn but that probably has a lot to do with the fact that I did C++ first which is syntactically almost identical to Java. I leart them both in college and the styles of the courses/lecturers were very different which also makes a big difference. In any case if you start from the beginning and write as many programs as possible you certainly won't find Java hard to learn.


  • Registered Users Posts: 1,572 ✭✭✭kyote00


    The best development environment around is Eclipse. It also has excellent tutorial and will have you up and running in minutes. Save yourself a lot of pain by not using textpad or wordpad...

    http://www.eclipse.org/

    Java is very easy to learn but difficult to use well. There are many ways to achieve the same thing. Its strengths are the multitude of reusable code, the many development tools.

    An excellent starter book is by Deitel 'Advanced Java™ 2 Platform How to Program" -- its very detailed and starts at the very start and work progressively through all the main topics.

    It is also the case that programming a graphical user interface will require another set of learning --- in this case its mainly trying to understand what all the classes do.

    good luck.


  • Registered Users Posts: 1,275 ✭✭✭bpmurray


    We're talking about a complete novice, so let's not confuse him.

    1. You need a development environment. My personal preference is Eclipse, but NetBeans and JDeveloper are fine too.
    2. You need to decide which version of Java you want to use. I'd recommend the latest (v1.5) which will probably be the level which you'll use when you get to college.
    3. Start with the JDK. Avoid J2EE and J2ME initially: these are enterprise and micro (phones) versions, and will only confuse you. The reality is that the enormous sizes of these libraries is almost impossible to get your head around until you're comfortable with the basic JDK.

    I'd also recommend that you get one of the Sun Certified Java Developer books. While this focuses on the certification exam, it will also direct you to best practices and make you a better Java programmer. It'll also methodically go through features of the language, to the extent that even seasoned Java pros find that they learn new stuff when they follow these books.


  • Advertisement
  • Closed Accounts Posts: 17,208 ✭✭✭✭aidan_walsh


    Guys, stop telling him to run off and download Eclipse or any other IDE. The man wants to learn the language, and the best way he is going to do that is not by having a program hold his hand along the way. Using a simple text editor and a command line compiler will teach him far more in the first few weeks than any IDE will allow.

    EDIT: Fixed brainfarts - unfortunately I didn't see them until they were quoted... Teach me to try to write with more than one train of thought at a time.


Advertisement