Results 1 to 11 of 11

Thread: Java Limits?

  1. #1
    Join Date
    Jul 2009
    Posts
    6
    Rep Power
    0

    Default Java Limits?

    Well I have been using Java for almost a year now. My friend the other day was telling me that I needed to learn C++ (which I have no problem doing so), but he started saying that C++ was more powerful then Java. So I started doing some research and I can't really come to a conclusion of what Java's limits are. I know it cannot make any operating systems like C++ can cause Java relies on the JVM unlike C++ which uses the actual computer itself (I think). But when it comes to applications itself (like word documents and ect.) as long as you have Java installed on the computer your application will work. Also Java seems to be more cross-platform (or at least easier for you to use your application on different OS's easier).

    I would like if someone that has experience with both programming languages answer this question.

    Thanks for your help:)

  2. #2
    Eranga's Avatar
    Eranga is offline Moderator
    Join Date
    Jul 2007
    Location
    Colombo, Sri Lanka
    Posts
    11,372
    Blog Entries
    1
    Rep Power
    20

    Default

    I came from C/C++ to Java and .Net and still working on all of them.

    Actually C/C++ more powerful than Java, but you have to learn in MUCH better way. Because in C/C++ you have to deal with memory directly(pointers and stuff), while Java dose not. So you have the full control of the implementation in C/C++, while Java do all the memory management and stuff for you. But the way it works cannot guaranteed at all. Think about the GC in Java, it clear up the unnecessary reference on the stack and clean the memory. If you force the GC in any time, it'll try to clean the memory, but no guaranteed that's able to do so. In C/C++ you can do it by your self, in 100% success way. But keep in mind YOU MUST LEARN C/C++ WELL. Dealing with memory address kill you sometimes.

  3. #3
    Join Date
    Jul 2009
    Posts
    6
    Rep Power
    0

    Default

    Now I have heard that C++ deals a lot with memory management, but I wasn't exactly sure how so thanks for clearing that up for me. Am I able to make (some what) professional application with Java? I read that OpenOffice was made with Java and C++. How exactly did they do that? Also what is Java mainly used for? What do programmers use it for in the professional world?

  4. #4
    quad64bit's Avatar
    quad64bit is offline Moderator
    Join Date
    Jul 2009
    Location
    VA
    Posts
    1,323
    Rep Power
    7

    Default

    Saying simply that c++ is more powerful is in inaccurate statement and does not reveal the whole picture. First off, it depends on what you are developing code for. Secondly, as virtualization, embedded devices and web programming become more popular, java skills can be quite valuable.

    Thirdly, well rounded java skills are better than shallow c++ skills any day. There is always work for a good java programmer.

    These days things like iPhone development are exploding -- ObjC is a very nice language which is similar to both C++ and Java in different ways. In the end, master one or two languages and have some experience with 3 or 4 others. This will serve you the best in the long run. Java is an excellent language to learn on, and you will develop a deep appreciation for some of java's features once you dive into other C languages :D

  5. #5
    vogella is offline Member
    Join Date
    Aug 2009
    Location
    Heidelberg
    Posts
    47
    Rep Power
    0

    Default

    A lots of professional software is made on the basis of Java. For example Ebay uses heavily Java. Twitter uses Scala which runs on the Java Virtual Machine. Oracle uses Java (JavaServer Faces) as there primary UI technology.

  6. #6
    Eranga's Avatar
    Eranga is offline Moderator
    Join Date
    Jul 2007
    Location
    Colombo, Sri Lanka
    Posts
    11,372
    Blog Entries
    1
    Rep Power
    20

    Default

    Quote Originally Posted by TexanProgrammer View Post
    Now I have heard that C++ deals a lot with memory management, but I wasn't exactly sure how so thanks for clearing that up for me. Am I able to make (some what) professional application with Java? I read that OpenOffice was made with Java and C++. How exactly did they do that? Also what is Java mainly used for? What do programmers use it for in the professional world?
    Actually we can do those things in different ways. Java Native Interface plays the major role there.

    Go through the following example if you can, or at least read it. You can have a basis idea about those things. Keep in mind that JNI is not easier like that.

    Chapter 5 Continued: JNI Example

  7. #7
    Eranga's Avatar
    Eranga is offline Moderator
    Join Date
    Jul 2007
    Location
    Colombo, Sri Lanka
    Posts
    11,372
    Blog Entries
    1
    Rep Power
    20

    Default

    Quote Originally Posted by vogella View Post
    A lots of professional software is made on the basis of Java. For example Ebay uses heavily Java. Twitter uses Scala which runs on the Java Virtual Machine. Oracle uses Java (JavaServer Faces) as there primary UI technology.
    I think there is 50/50 chance to have J2SE as well as J2ME. Because nowadays in the world, mobile applications are more robust.

  8. #8
    makpandian's Avatar
    makpandian is offline Senior Member
    Join Date
    Dec 2008
    Location
    Chennai
    Posts
    450
    Rep Power
    6

    Default

    if you are going to do system programs it s better to learn c.c++ that Java.
    Otherwise,if you want to do Applications,it s better to learn java ..
    Mak
    (Living @ Virtual World)

  9. #9
    Eranga's Avatar
    Eranga is offline Moderator
    Join Date
    Jul 2007
    Location
    Colombo, Sri Lanka
    Posts
    11,372
    Blog Entries
    1
    Rep Power
    20

    Default

    Learning such a language like C/C++, where you have to think about each line of code seriously, always guide to a excellent applications. Because the complete handler on the application in your hand. Not like in Java, .Net and so on, they all manage the memory for you. Even they do it for, some cases those applications are clashes because of memory issues. Haven't you seen that? Specially Microsoft people argue that .Net applications are excellent in memory management, but it's totally incorrect.

  10. #10
    senorbum is offline Member
    Join Date
    Aug 2009
    Posts
    76
    Rep Power
    0

    Default

    Quote Originally Posted by Eranga View Post
    Learning such a language like C/C++, where you have to think about each line of code seriously, always guide to a excellent applications. Because the complete handler on the application in your hand. Not like in Java, .Net and so on, they all manage the memory for you. Even they do it for, some cases those applications are clashes because of memory issues. Haven't you seen that? Specially Microsoft people argue that .Net applications are excellent in memory management, but it's totally incorrect.
    The amount of time that one spends worrying about memory management in a C/C++ environment is costly on any project. Like an above poster said, java is good for applications, C is good for system programs.

  11. #11
    Eranga's Avatar
    Eranga is offline Moderator
    Join Date
    Jul 2007
    Location
    Colombo, Sri Lanka
    Posts
    11,372
    Blog Entries
    1
    Rep Power
    20

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •