Welcome to the MacNN Forums.

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

You are here: MacNN Forums > Software - Troubleshooting and Discussion > macOS > JAVA SDK for OS X

JAVA SDK for OS X
Thread Tools
skyman
Mac Elite
Join Date: Mar 2000
Location: Utah, USA
Status: Offline
Reply With Quote
Dec 6, 2003, 03:43 PM
 
How do I complile my JAVA programs on OS X to run stand alone?

There used to be an SDK for OS 9 but I can not find any SDK for OS X.

Thanks
     
pat++
Mac Elite
Join Date: May 2001
Location: Earth
Status: Offline
Reply With Quote
Dec 6, 2003, 04:27 PM
 
Download developer tools on ADC.
Either use Xcode, or just Jar Bundler to make a stand-alone java app.
     
skyman  (op)
Mac Elite
Join Date: Mar 2000
Location: Utah, USA
Status: Offline
Reply With Quote
Dec 7, 2003, 01:34 AM
 
Originally posted by pat++:
Download developer tools on ADC.
Either use Xcode, or just Jar Bundler to make a stand-alone java app.
Cool. I just installed Xcode. IT ROCKS!

Thanks!
     
K++
Senior User
Join Date: Jan 2002
Location: NYC
Status: Offline
Reply With Quote
Dec 7, 2003, 12:49 PM
 
BTW, this pisses me off, but the SDK is installed by default. You don't go off and download it seperately or get it from SUN, Apple Java SDK gets installed with your OS.
     
skyman  (op)
Mac Elite
Join Date: Mar 2000
Location: Utah, USA
Status: Offline
Reply With Quote
Dec 7, 2003, 04:22 PM
 
Originally posted by K++:
BTW, this pisses me off, but the SDK is installed by default. You don't go off and download it seperately or get it from SUN, Apple Java SDK gets installed with your OS.
Not on my system. Where was it installed on yours?
     
pat++
Mac Elite
Join Date: May 2001
Location: Earth
Status: Offline
Reply With Quote
Dec 7, 2003, 06:14 PM
 
Originally posted by skyman:
Not on my system. Where was it installed on yours?
When he says the SDK is installed, I guess he is talking about the Java compiler (javac) which is installed by default. You could open Terminal and compile a Java source code file by using something like :

javac MyClass.java

This would generate a .class file.
     
Geobunny
Mac Elite
Join Date: Oct 2000
Location: Edinburgh, Scotland
Status: Offline
Reply With Quote
Dec 7, 2003, 06:35 PM
 
Originally posted by K++:
BTW, this pisses me off, but the SDK is installed by default. You don't go off and download it seperately or get it from SUN, Apple Java SDK gets installed with your OS.
Why does it piss you off? They don't force it upon you, do they? Surely you could deselect it as part of a custom installation.
ClamXav - the free virus scanner for Mac OS X | Geobunny learns to fly
     
thefamousmred
Junior Member
Join Date: Mar 2002
Status: Offline
Reply With Quote
Dec 7, 2003, 09:09 PM
 
Originally posted by K++:
BTW, this pisses me off, but the SDK is installed by default. You don't go off and download it seperately or get it from SUN, Apple Java SDK gets installed with your OS.
Is that bad? Downloading it from Sun wouldn't be a good thing, especially considering that Sun doesn't (and won't ever) provide a Java for OS X.
     
skyman  (op)
Mac Elite
Join Date: Mar 2000
Location: Utah, USA
Status: Offline
Reply With Quote
Dec 8, 2003, 04:17 PM
 
Originally posted by thefamousmred:
Is that bad? Downloading it from Sun wouldn't be a good thing, especially considering that Sun doesn't (and won't ever) provide a Java for OS X.
JVM's have to be written by the Author of the OS not Sun. MS has to write a JVM for window just like Apple has to write a JVM for OS X. If a company does not want to support a JVM for their OS then that's not suns fault.
     
skyman  (op)
Mac Elite
Join Date: Mar 2000
Location: Utah, USA
Status: Offline
Reply With Quote
Dec 8, 2003, 04:28 PM
 
Originally posted by K++:
BTW, this pisses me off, but the SDK is installed by default. You don't go off and download it seperately or get it from SUN, Apple Java SDK gets installed with your OS.
Its the JVM you are taking about. You should be glad that Apple includes the JVM with OS X. You should also be glad the SUN invented JAVA otherwise you would be paying a lot more for software today.
     
K++
Senior User
Join Date: Jan 2002
Location: NYC
Status: Offline
Reply With Quote
Dec 8, 2003, 04:49 PM
 
Originally posted by skyman:
Its the JVM you are taking about. You should be glad that Apple includes the JVM with OS X. You should also be glad the SUN invented JAVA otherwise you would be paying a lot more for software today.
No, I am not talking about the JVM. I know exactly what I am talking about and its the SDK. javac and its breathren are included with Mac OS X by default, and no there is nowhere to turn it off when you install. I know because I always custom install. Also JVM's do not have to be written by OS manuafacturers as SUN provides one for windows that is more feature rich than the one that windows provides. They also provide a linux JVM event though there are several open source alternatives out there.

That said, the reason why I hate that the Java SDK is included, is simply because I both hate Java and neither gcc nor g++ are included by default, yet the awfulness that is java has its development environment installed by default.
     
tobli
Forum Regular
Join Date: Oct 2001
Location: Sweden
Status: Offline
Reply With Quote
Dec 8, 2003, 06:10 PM
 
Originally posted by K++:
...
That said, the reason why I hate that the Java SDK is included, is simply because I both hate Java and neither gcc nor g++ are included by default, yet the awfulness that is java has its development environment installed by default.
Well in this case you'll just have to put your personal feelings aside. Not having the SDK installed by default would seriously cripple Mac OS X as a good Java platform. Running jsp pages requires the jdk, just to mention one example why it's a good idea to have it installed. You don't need to be a developer to have use for it.
     
absmiths
Mac Elite
Join Date: Sep 2000
Location: Edmond, OK USA
Status: Offline
Reply With Quote
Dec 8, 2003, 07:04 PM
 
Originally posted by K++:
No, I am not talking about the JVM. I know exactly what I am talking about and its the SDK. javac and its breathren are included with Mac OS X by default, and no there is nowhere to turn it off when you install. I know because I always custom install. Also JVM's do not have to be written by OS manuafacturers as SUN provides one for windows that is more feature rich than the one that windows provides.
You can't turn off Cocoa or the Objective-C runtime - why don't you cry about that?

They also provide a linux JVM event though there are several open source alternatives out there.
No good ones. Sun provides a Linux JDK not because there is huge demand, but because there is no owner of the OS to offload the task onto. Java would be useless on Linux if Sun had not intervened.

That said, the reason why I hate that the Java SDK is included, is simply because I both hate Java and neither gcc nor g++ are included by default, yet the awfulness that is java has its development environment installed by default.
That's all we need is another OS nazi telling Apple what they should install by default and what all users of the platform need as a minimum. The tools Apple includes are very broadly applicable in the Java community (including end users, btw) and it is a big marketing move to provide them by default. GCC, etc, can VERY easily be added by simply using the dev tools CD that in most cases comes with it.

I am curious why you have such an absurd hatred of Java. Maybe if you where to elaborate we could all enjoy a laugh at your expense(since ridiculous statements such as these are rarely the product of rational thought)?
     
skyman  (op)
Mac Elite
Join Date: Mar 2000
Location: Utah, USA
Status: Offline
Reply With Quote
Dec 8, 2003, 09:03 PM
 
Originally posted by K++:
That said, the reason why I hate that the Java SDK is included, is simply because I both hate Java and neither gcc nor g++ are included by default, yet the awfulness that is java has its development environment installed by default.
You hate JAVA? Why?
     
Phanguye
Mac Elite
Join Date: Oct 2001
Location: Umbrella Research Center
Status: Offline
Reply With Quote
Dec 9, 2003, 02:26 AM
 
Originally posted by tobli:
Well in this case you'll just have to put your personal feelings aside. Not having the SDK installed by default would seriously cripple Mac OS X as a good Java platform. Running jsp pages requires the jdk, just to mention one example why it's a good idea to have it installed. You don't need to be a developer to have use for it.

yes you do... the sdk only provides developement tools... the java virtual machine is the only thing required to run java apps

as for K++ if you know exactly what you are talking about and you hate java soooo much then stop being a doucebag and delete the components yourself
     
JLL
Professional Poster
Join Date: Apr 1999
Location: Copenhagen, Denmark
Status: Offline
Reply With Quote
Dec 9, 2003, 04:57 AM
 
Originally posted by skyman:
MS has to write a JVM for window just like Apple has to write a JVM for OS X.
No they don't. MS doesn't even provide their JVM anymore.
JLL

- My opinions may have changed, but not the fact that I am right.
     
thefamousmred
Junior Member
Join Date: Mar 2002
Status: Offline
Reply With Quote
Dec 9, 2003, 12:35 PM
 
Originally posted by Phanguye:
yes you do... the sdk only provides developement tools... the java virtual machine is the only thing required to run java apps
That's not entirely correct. There are applications (primarily containers like JBoss and Tomcat) that require the development tools for some operations. Tomcat, for example, requires a compiler to compile JSPs down to servlets.
     
skyman  (op)
Mac Elite
Join Date: Mar 2000
Location: Utah, USA
Status: Offline
Reply With Quote
Dec 9, 2003, 12:41 PM
 
Originally posted by JLL:
No they don't. MS doesn't even provide their JVM anymore.
That's right. I never said that they were required or forced to.
     
JLL
Professional Poster
Join Date: Apr 1999
Location: Copenhagen, Denmark
Status: Offline
Reply With Quote
Dec 9, 2003, 12:49 PM
 
Originally posted by skyman:
That's right. I never said that they were required or forced to.
Huh? You said:

MS has to write a JVM for window just like Apple has to write a JVM for OS X.

Sun supplies the JVM for Windows, and Microsoft aren't even allowed to do it.
JLL

- My opinions may have changed, but not the fact that I am right.
     
K++
Senior User
Join Date: Jan 2002
Location: NYC
Status: Offline
Reply With Quote
Dec 9, 2003, 01:48 PM
 
Originally posted by absmiths:
You can't turn off Cocoa or the Objective-C runtime - why don't you cry about that?
Cocoa is not a DEVELOPMENT environment, if I am gonna use/install JBoss or jsp pages, then fine, but there is no consumer, non developer use for javac nor its breathren. Everyone here seems to be confusing the JVM with the Java SDK. Lemme clarify hear for you guys. The JVM lets you run java, I have no issues with that, however the SDK lets you make java applications. The fact they would give you those tools and not the ones for the platform are what I take issue with.

No good ones. Sun provides a Linux JDK not because there is huge demand, but because there is no owner of the OS to offload the task onto. Java would be useless on Linux if Sun had not intervened.
There are good ones, since I know Apple's to be based on an open source java run time.

That's all we need is another OS nazi telling Apple what they should install by default and what all users of the platform need as a minimum. The tools Apple includes are very broadly applicable in the Java community (including end users, btw) and it is a big marketing move to provide them by default. GCC, etc, can VERY easily be added by simply using the dev tools CD that in most cases comes with it.
That is CORRECT! If I am gonna develop anything I should install the development environment, PERIOD. That was my entire point. javac can just as easily be added by use of the Dev tools CD as it used to be.

I am curious why you have such an absurd hatred of Java. Maybe if you where to elaborate we could all enjoy a laugh at your expense(since ridiculous statements such as these are rarely the product of rational thought)?
It's simple, Java Sucks. It is the result of a need to allow programmers to be lazy and create one codebase for many platforms, rather than learning proper multi platform coding design and paradigms. It is a cop-out and an ugly one at that. It is slow, broken, much it is antiquated, and merely rubbed over with sugary like Swing/AWT. The language is takes excellent ideas and convolutes them. The very idea of a virtual machine is stupid, it provides with wonderful code that executes at a fraction of the speed that it could. Even though it is a multi-platform compile once, run anywhere language, for best results you are still required to compile it on each machine type and then make changes as necessary to your code. EVery java app is delivered in several versions, one for each platform. I have a million reasons to hate Java, both from the developer and client side, those ajust a few of the main ones.
( Last edited by K++; Dec 9, 2003 at 01:54 PM. )
     
K++
Senior User
Join Date: Jan 2002
Location: NYC
Status: Offline
Reply With Quote
Dec 9, 2003, 01:49 PM
 
NOTE: Could a moderator delete this, I seem unable to.
     
thefamousmred
Junior Member
Join Date: Mar 2002
Status: Offline
Reply With Quote
Dec 9, 2003, 03:56 PM
 
Originally posted by K++:
It's simple, Java Sucks. It is the result of a need to allow programmers to be lazy and create one codebase for many platforms, rather than learning proper multi platform coding design and paradigms.
While I understand the sentiment, proper multiplatform design + coding takes a hell of a lot of time + effort. That effort isn't necessarily the best use of resources. Think of it this way: factoring your code is good. Java factored out most of the platform-specific stuff, allowing you to concentrate on the app itself instead of worrying about whether the CPU is big-endian or little-endian.

Originally posted by K++:
It is a cop-out and an ugly one at that. It is slow, broken, much it is antiquated, and merely rubbed over with sugary like Swing/AWT. The language is takes excellent ideas and convolutes them. The very idea of a virtual machine is stupid, it provides with wonderful code that executes at a fraction of the speed that it could.
How is it a cop-out? What's it copping out of? There are other choices, choose what's best for the job. Java wasn't good for many (any?) jobs back in 1998, but this is 2003. Java fits the bill for more and more projects as it matures. Java is the de-facto language of most new enterprise software these days, and it's actually becoming possible to write a decent desktop app in Java.

Java is actually *faster* in some cases than a "native" application is, because the Java runtime can make optimizations that even the best compilers can't make. There's no need to compile Java down to native code to make it go fast. In fact, that can be counter-productive.

What's antiquated about it? It's not even 10 years old yet. Compare that to C, which is old enough to have kids.

I'll grant the point about Swing + AWT: they suck rocks. Fortunately there are other alternatives, and some apps don't need a GUI at all.

Originally posted by K++:
Even though it is a multi-platform compile once, run anywhere language, for best results you are still required to compile it on each machine type and then make changes as necessary to your code.
There's no need to compile on each target platform. I routinely compile on my workstation and deploy onto a server running a completely different architecture (x86, SPARC, PPC, it doesn't matter) without making *any* changes. It just works, which is more than I can say about most things in software development. That's the beauty of the virtual machine - any platform with a VM can run a pure java program.

Originally posted by K++:
EVery java app is delivered in several versions, one for each platform.
Mine aren't. I develop server applications that don't have different versions for each platform.
     
Arkham_c
Mac Elite
Join Date: Dec 2001
Location: Atlanta, GA, USA
Status: Offline
Reply With Quote
Dec 9, 2003, 05:00 PM
 
Originally posted by K++:
The fact they would give you those tools and not the ones for the platform are what I take issue with.
And why is this a problem? If you don't want it, don't use it. It's installed because for many users it's useful, more so than the larger toolset needed to compile C/C++ apps. OSX ships with awk, sed, grep, dd, NIS, tar, and fetchmail installed for every user too. Do most OSX users use them? Nope, but it's nice for those that do, and it does not inconvenience those who do not.



There are good ones, since I know Apple's to be based on an open source java run time.
Actually, that's not true. Apple licenses the Sun HotSpot(tm) Java VM. You can see for yourself at http://www.apple.com/java/ where it states:

And it fits right into Sunís Hot Spot VM, allowing Mac OS X to remain compatible with standard Java. In addition, Apple has given this implementation to Sun so the company can deploy it on other platforms. Just one example of how Apple supports standards and shares ideas to benefit all.
Also, if you run java -version, you get:

Code:
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_01-99) Java HotSpot(TM) Client VM (build 1.4.1_01-27, mixed mode)
Which is obviously Sun's HotSpot compiler.


It is the result of a need to allow programmers to be lazy and create one codebase for many platforms, rather than learning proper multi platform coding design and paradigms. It is slow, broken, much it is antiquated, and merely rubbed over with sugary like Swing/AWT. The language is takes excellent ideas and convolutes them. The very idea of a virtual machine is stupid, it provides with wonderful code that executes at a fraction of the speed that it could. Even though it is a multi-platform compile once, run anywhere language, for best results you are still required to compile it on each machine type and then make changes as necessary to your code. EVery java app is delivered in several versions, one for each platform.
That's absurd. Java is not about lazy programmers. It's about code portability, maintainability, and scalability. You can complain about the GUI toolkits on java, but the truth is that they are at least as good as the ones on Windows. In performance tests, java is in many cases as fast or faster than the same C++ code because of the HotSpot compiler.

As to your assumption about releasing for different platforms, that too is incorrect. I have a single set of source that compiles and runs on Mac, Windows 2000, Windows XP, Linux, and a Danger Sidekick cell phone with NO CODE CHANGES and NO RECOMPILE.

In addition, I have J2EE apps that I have written on the Mac, debugged on AIX, and deployed on Solaris. The J2EE container servers that these apps run in are also written in pure Java and can be moved to any box that runs Java and they will run.

I'm not a Java zealot. I like Python better personally, but Java is WAY better than C or C++. Most of your complaints were valid in the days of Java 1.0 or 1.1, but with 1.4 they're all silly. Your vehement distaste for java is the strangest part. I've never heard of an anti-Java zealot before.
Mac Pro 2x 2.66 GHz Dual core, Apple TV 160GB, two Windows XP PCs
     
K++
Senior User
Join Date: Jan 2002
Location: NYC
Status: Offline
Reply With Quote
Dec 9, 2003, 08:01 PM
 
Originally posted by Arkham_c:
And why is this a problem? If you don't want it, don't use it. It's installed because for many users it's useful, more so than the larger toolset needed to compile C/C++ apps. OSX ships with awk, sed, grep, dd, NIS, tar, and fetchmail installed for every user too. Do most OSX users use them? Nope, but it's nice for those that do, and it does not inconvenience those who do not.
All the things you mentioned are for shell scripting and in a UNIX OS, those are actually necessary for many things to work.


Actually, that's not true. Apple licenses the Sun HotSpot(tm) Java VM. You can see for yourself at http://www.apple.com/java/ where it states:



Also, if you run java -version, you get:

Code:
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_01-99) Java HotSpot(TM) Client VM (build 1.4.1_01-27, mixed mode)
Which is obviously Sun's HotSpot compiler.
There it is, I was aware that it was the HopSpot JVM, but since it's based on it I assumed that like everything else Apple is doing these days it was open source.


That's absurd. Java is not about lazy programmers. It's about code portability, maintainability, and scalability. You can complain about the GUI toolkits on java, but the truth is that they are at least as good as the ones on Windows. In performance tests, java is in many cases as fast or faster than the same C++ code because of the HotSpot compiler.

As to your assumption about releasing for different platforms, that too is incorrect. I have a single set of source that compiles and runs on Mac, Windows 2000, Windows XP, Linux, and a Danger Sidekick cell phone with NO CODE CHANGES and NO RECOMPILE.
Server apps are not the same as consumer ones, every single one I have ever used has seperate packages for each platform. To name a few, Zend Developer Studio, Eclipse, MagicDraw UML, and even JavaDC.

As to the recompiling, you obviously haven't done it yourself. I have personally written apps and had professors complain about its speed on thier machine though it DOES WORK, just not as optimized as it could be. That is a fault of javac, but in any case, I compiled once and others complained about the end product on n
thier non Mac platforms. Feel free to try it yourself with some large scale code of your own, again consumer level applications.

In addition, I have J2EE apps that I have written on the Mac, debugged on AIX, and deployed on Solaris. The J2EE container servers that these apps run in are also written in pure Java and can be moved to any box that runs Java and they will run.

I'm not a Java zealot. I like Python better personally, but Java is WAY better than C or C++. Most of your complaints were valid in the days of Java 1.0 or 1.1, but with 1.4 they're all silly. Your vehement distaste for java is the strangest part. I've never heard of an anti-Java zealot before.
J2EE != J2SE besides as far as runtime goes, yes Just IN Time compiling has bought Java a long way in terms of near native runtime speed, but guess what for a consumer level app you still sit waiting like a minute for the JVM to start, on a server you don't have that problem since the Java application is always running.

Java's Object Oriented Development paradigms are better than C, and in many cases C++, however C++ with the proper libraries can gain garbage collection and a simpler exceptions model, as well as simlpified threading. Sure it not part of the stdlib, but so what the language is capable of it. Java on the other is a language based on Objective C, and having become accustomed to that and the greatness that is Cocoa, my disdain for Java grows that much more since they actually managed to start from an awesome base and produce such an awful end product.

P.S. I guess you could call me an anti-java zealot.
     
King Bob On The Cob
Mac Elite
Join Date: Apr 2002
Location: Illinois
Status: Offline
Reply With Quote
Dec 9, 2003, 08:42 PM
 
Originally posted by K++:
All the things you mentioned are for shell scripting and in a UNIX OS, those are actually necessary for many things to work.
Incorrect. Many "things" on OS X have been written to either include the functionality of those or rewrite them to make them faster (The finder uses it's own file access utilities not just command line tools with a front end)
Originally posted by K++:
There it is, I was aware that it was the HopSpot JVM, but since it's based on it I assumed that like everything else Apple is doing these days it was open source.
Assumptions are bad.
Originally posted by K++:
J2EE != J2SE besides as far as runtime goes, yes Just IN Time compiling has bought Java a long way in terms of near native runtime speed, but guess what for a consumer level app you still sit waiting like a minute for the JVM to start, on a server you don't have that problem since the Java application is always running.
Have you ever launched Acquisition? That's java and it doesn't take a "minute" to start up. Your complaints seem to be not with Java or the Java RunTime but rather with Swing, which everyone will agree, is a steaming pile of donkey doo.
Originally posted by K++:
... P.S. I guess you could call me an anti-java zealot.
Yes, Yes you are.
     
thefamousmred
Junior Member
Join Date: Mar 2002
Status: Offline
Reply With Quote
Dec 9, 2003, 11:09 PM
 
Originally posted by K++:
Server apps are not the same as consumer ones, every single one I have ever used has seperate packages for each platform. To name a few, Zend Developer Studio, Eclipse, MagicDraw UML, and even JavaDC.
Perhaps it's because the mac-specific installers contain things like the files for a double-clickable executable (the .app) that aren't useful on Windows? Be thankful that these programs are written in Java, or else they might not run on the Mac at all.

Originally posted by K++:
As to the recompiling, you obviously haven't done it yourself. I have personally written apps and had professors complain about its speed on thier machine though it DOES WORK, just not as optimized as it could be. That is a fault of javac, but in any case, I compiled once and others complained about the end product on n
thier non Mac platforms. Feel free to try it yourself with some large scale code of your own, again consumer level applications.
javac doesn't optimize. It leaves that up to the JIT. From the javac man page: "Note: The -O option does nothing in the current implementation of javac". If the program's not fast enough, chances are it's not javac's fault.

Originally posted by K++:
J2EE != J2SE besides as far as runtime goes,
Yes, it is. J2EE is a collection of technologies often by an application server, which itself is just an application running in a standard J2SE environment. There's nothing magic about J2EE. (sometimes you'll run the app server using the server JVM, but that's still just a JVM that's tuned differently)

Originally posted by K++:
Java's Object Oriented Development paradigms are better than C, and in many cases C++, however C++ with the proper libraries can gain garbage collection and a simpler exceptions model, as well as simlpified threading. Sure it not part of the stdlib, but so what the language is capable of it. Java on the other is a language based on Objective C, and having become accustomed to that and the greatness that is Cocoa, my disdain for Java grows that much more since they actually managed to start from an awesome base and produce such an awful end product.
C is not object-oriented. At all.

C++: An octopus made by nailing extra legs onto a dog.

Obj-C and Cocoa are great, no argument there. They're not always the right tool for the job, though. Even when they are, sometimes the best tool doesn't win out, the tool with the best marketing does. Otherwise we'd all be using Smalltalk.
     
K++
Senior User
Join Date: Jan 2002
Location: NYC
Status: Offline
Reply With Quote
Dec 10, 2003, 12:51 AM
 
Originally posted by King Bob On The Cob:
Incorrect. Many "things" on OS X have been written to either include the functionality of those or rewrite them to make them faster (The finder uses it's own file access utilities not just command line tools with a front end)
WRONG, so very wrong. Many core parts of the OS rely on those shell scripting languages. cron for example, the killall command relies on grep, locate relies on a myriad of things. I said a UNIX OS, because everything below the GUI is what I was talking about. Matter of fact, iChat does not work properly with Rendezvous messaging if you have not installed the BSD subsystem.

Have you ever launched Acquisition? That's java and it doesn't take a "minute" to start up. Your complaints seem to be not with Java or the Java RunTime but rather with Swing, which everyone will agree, is a steaming pile of donkey doo.
Acquisition is not java, it uses the Limewire core, which is java. The distinction is that the core is completely NON-GUI. All the Java apps I mentioned where GUI. As for Swing, if anyone could possibly speak of swing in a positive light I would be shocked and amazed.

I only take issue with thefamousmred's commnet about .app packages. I personally didn't include any apps that have em. all the ones I listed come with application folders with thier own bin folders with .jar applications. If more recent versions have added .apps then great, but my point still stands.
     
ngrundy
Dedicated MacNNer
Join Date: Nov 2002
Location: Hobart, Tasmania, Australia
Status: Offline
Reply With Quote
Dec 10, 2003, 02:12 AM
 
Originally posted by Arkham_c:
And why is this a problem? If you don't want it, don't use it. It's installed because for many users it's useful, more so than the larger toolset needed to compile C/C++ apps. OSX ships with awk, sed, grep, dd, NIS, tar, and fetchmail installed for every user too. Do most OSX users use them? Nope, but it's nice for those that do, and it does not inconvenience those who do not.

Originally posted by K++:
All the things you mentioned are for shell scripting and in a UNIX OS, those are actually necessary for many things to work.
Actually You are incorrect there.

awk sed and grep are usually used in shell scripts that is true. Though i use them on the command line almost daily.

NIS, Network Information Service is a Authentication system, It's not a 'shell script tool' Quite a few organisations use it to form the backbone of their login system.

tar is a tape archiver, Sure it's output can be pipes to files, devices and what ever but that's the flexability of UNIX.

Fetchmail is a completly stand alone program for retreiving mail from remote pop3, imap mail servers. It's got it's own config file and all. I use it to get all my email actually.

dd effectivly duplicates disks. I can't say i've seen it used for scripting. I've used it to duplicate one disk to another plenty of times or a disk to an image.

Why is the java 'jdk' not 'sdk' intalled by default? Because Java as you will note http://developer.apple.com/macosx/architecture/ is an equal of Carbon and Cocoa C/C++/Obj-C frameworks.

when it comes down to the crunch you're having a tissue over the half dozen or so apps that make the difference between a JRE and a JDK. Namly the javac compiler. You still need all the standard library classes such as System/out/println.class for the JIT to link against the same way that you require libc.dylib for a Cocoa or Carbon application to link against.

While on the other hand gcc, gdb and their friends the full header include tree takes up serious disk space just for compiling applications both the JRE and JDK require the standard classes to be availble.

When you install the Developer Tools the source versions of System/out/println.java get installed the same way that libc.h gets installed.

One would ask, Well we've got a meg or so of applications to change the JRE into a JDK so why not throw them in instead of having to reinstall the entire java framework later on down the track.

While I'm not a huge fan of Java I think it's a valid technology. It brings a few good things that make for better code security and data input validation in the form of strong data typing. Which mind you drives me round the twist from time to time. I'm also no lover of OO's nest the real functionality 35,000 classes deep in the heirachy but I also see that in large multi person programing teams it makes distributed programing easier. Every programing language has it's use, be it a functional, procedual or object orientated language.

Need I really point to how many 'unchecked buffer' and 'buffer overflow' expoits there are out there which simply can not happen in java?

Prehaps we should throw every C library out that does bmp to jpeg conversions? I mean you can write that functionality in 200 lines of J but it takes 2000 lines of C. How horribly inefficient!
1Ghz Powerbook
40gb/1x512mb/combo/T68i
FireRAID 1 Host Independant Hotswap RAID 1 (80gb)
     
absmiths
Mac Elite
Join Date: Sep 2000
Location: Edmond, OK USA
Status: Offline
Reply With Quote
Dec 11, 2003, 01:01 PM
 
Originally posted by K++:

...

Acquisition is not java, it uses the Limewire core, which is java. The distinction is that the core is completely NON-GUI. All the Java apps I mentioned where GUI. As for Swing, if anyone could possibly speak of swing in a positive light I would be shocked and amazed.

I only take issue with thefamousmred's commnet about .app packages. I personally didn't include any apps that have em. all the ones I listed come with application folders with thier own bin folders with .jar applications. If more recent versions have added .apps then great, but my point still stands.
This has been entertaining at least, and illustrated my exact point. K++ has an irrational hatred biased by ignorance. Shall I say that C++ bites because MFC is so poor? How about hating OS X because Word sucks? Swing is an API built in Java. It has failings - much fewer than AWT does - but it is only one API. Your issues with speed are either related to your bad software or your professors' ignorance. Java code can be extremely fast - or painfully slow. The same is true with C, C++, Objective-C and C#, by the way. The slowness of the Swing UI in OS X is almost exclusively Apple's fault, since slower PC machines run it without problem. I use for example Netbeans IDE, Object Domain UML, and BugSeeker2 daily on an 800 mHz PC and don't even notice that they are Java. They run well on my 677 TiBook, but not nearly well enough. If Java is a solution to facilitate laziness then I suggest that you ditch Cocoa/ObjC and revert to C or, better yet, machine language, the tough man's tool of choice.

Everyone seems to be in accord on their assessment of Swing, so I will be the voice of opposition. Swing is an UI API designed to fill in the gaps between what AWT offered and what OSs were increasingly offering. Things like Drag and Drop, divided panes, scrolling views, advanced imaging, layering, etc, were becoming so commonplace that SUN had to offer something and maintain compatibility with existing code, hence the Swing/AWT product.

And try not to insult everyones intelligence in here - we have demonstrated that we understand the difference between the JRE and the JDK (neither of which have analogues on OS X) - the point is that to exclude the developer tools (Javac, Jar) would save at most a few megabytes. And yes, many consumer apps are using the compiler et al these days so it is more difficult to do without them.

As for your claim that SUN based Java on Objective-C, I have never heard that before and it doesn't really make sense. The syntax is competely different (where it differs from standard C), and most of the talk I have ever heard from SUN compares Java to C++ or C, but never Objective-C. Maybe you could quote a document somewhere or state exactly what in Java is a ripoff of ObjC? I am a Java professional (have been for 6 years) so you can be specific.

Finally, your assertion is ludicrous that recompiling a java app on a different platform is necessary or even beneficial. The most common reason that different installers exist for different platforms is for convenience of the end user. 99% of the code will be the same (if not all), but the actual application mechanism is different. The three major apps I quoted earlier are good examples. It has been a long time since I had to make changes to a program to make it run on Windows, Linux and Mac OS X - my most common deployment platforms. When it was necessary it was still significantly easier than having to actually do a full code port.

You would have eminently more credibility if you stopped making dogmatic assertions and started being more specific.
     
   
Thread Tools
 
Forum Links
Forum Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Top
Privacy Policy
All times are GMT -4. The time now is 07:04 AM.
All contents of these forums © 1995-2017 MacNN. All rights reserved.
Branding + Design: www.gesamtbild.com
vBulletin v.3.8.8 © 2000-2017, Jelsoft Enterprises Ltd.,