Developer Tools question

Posted:
in macOS edited January 2014
Hi there!



I have a few questions about Apple's Developer Tools:



What version is the Java DK?



Does it offer a Java IDE?

Comments

  • Reply 1 of 6
    giantgiant Posts: 6,041member
    Last I checked it was J2SE 1.3, but you can get the 1.4 Developer preview.



    And it comes with Project Builder which does Java
  • Reply 2 of 6
    [quote]Originally posted by giant:

    <strong>Last I checked it was J2SE 1.3, but you can get the 1.4 Developer preview.



    And it comes with Project Builder which does Java</strong><hr></blockquote>



    Thanks! I have to learn Java for university, and I have to teach myself because I could not attend class last semester. So I am not familiar with all the terms and capabilities yet.



    So, what does the "SE" in "J2SE" stand for?



    What is the difference between Java 1 and Java 2?



    What part do the Cocoa and Carbon-APIs play in conjunction with Java? What kind of funcionality do they offer?
  • Reply 3 of 6
    amorphamorph Posts: 7,112member
    [quote]Originally posted by RolandG:

    <strong>



    Thanks! I have to learn Java for university, and I have to teach myself because I could not attend class last semester. So I am not familiar with all the terms and capabilities yet.



    So, what does the "SE" in "J2SE" stand for?</strong><hr></blockquote>



    "Standard Edition," as opposed to, say, J2EE, which is the Enterprise Edition. The various editions come with different sets of functionality - to paint with a broad brush, J2EE is server-centric, SE is app-centric.



    [quote]<strong>What is the difference between Java 1 and Java 2?</strong><hr></blockquote>



    Java 1 wasn't too bad for a first try. Java 2 is actually usable.



    Note: The marketroids have distorted the actual versioning of the platform. Java 1 is actually Java 1.1.x; Java 2 is 1.2.x, etc.



    [quote]<strong>What part do the Cocoa and Carbon-APIs play in conjunction with Java? What kind of funcionality do they offer?</strong><hr></blockquote>



    Java on OS X is built on top of Carbon and bridged with Cocoa. So any Java app is automatically a Carbon app, even if it's coded in a platform-neutral manner, and if you want to you can use Java as the base language for a Cocoa app (and use Interface Builder to get a native UI, for example), in which case it obviously is not platform neutral anymore.



    [ 02-25-2003: Message edited by: Amorph ]</p>
  • Reply 4 of 6
    Thank you so much, Amorph.



    It was the versioning that was really confusing me - where does Java 1 end, where does 2 start.



    When creating platform independent apps, what benefit do I get from Carbon/Cocao?



    The idea I have of these APIs is that they provide classes and methods to create a UI, networking and all kinds of access to the system internals.



    So, do I have to use them or does it also work with other standard APIs?
  • Reply 5 of 6
    amorphamorph Posts: 7,112member
    [quote]Originally posted by RolandG:

    <strong>

    When creating platform independent apps, what benefit do I get from Carbon/Cocao?

    </strong><hr></blockquote>



    Carbon sits underneath Java, so that the virtual machine can access the functionality of the OS. If you're writing pure Java, you'll benefit from it without ever knowing it's there, and without calling it explicitly.



    Cocoa is of no benefit to pure Java. It's there so that you can write OS X native apps with Java - or OS X native interfaces for Java.



    [quote]<strong>The idea I have of these APIs is that they provide classes and methods to create a UI, networking and all kinds of access to the system internals.</strong><hr></blockquote>



    Java is a platform, not (just) a programming language. It has its own event model, its own threading and networking APIs, its own interapplication communication model, its own I/O, its own GUI libraries, etc. You can write a fully functional Java app without needing to make any platform-specific system calls. The Java VM will call into Carbon and Foundation as necessary, but that's all transparent. If you use the Swing UI libraries, Apple has even come up with a native "skin" for them so that the windows look sort of like OS X windows rather than the completely alien (and distinctly UNIXy) default look.



    If you want to, you can also use the bridge to call Carbon, Cocoa, or Foundation explicitly, and you can even make your Java app scriptable with Apple's OSA. But then, of course, you're not writing in pure Java anymore.



    [ 02-25-2003: Message edited by: Amorph ]</p>
  • Reply 6 of 6
    Thanks again!



    So this means that I



    a. can write pure Java apps - platform independent

    b. can write native Cocoa apps using the Java language

    and c. get a great IDE for free



    Fantastic!
Sign In or Register to comment.