Java 2 For BSD 42
We've covered the movement to get Java 1.2 ported to the BSDs for a while now. After Linux got in on the act a couple of months ago, keepper was the first to write in with a link to this BSDi press release announcing the availability of Java 2 for BSD. Looks like BSD/OS will get it first (they're beta-ing it now). Then FreeBSD gets it, at which point (I assume) it'll be open to the other BSDs to take as they want.
Re:Thread support in BSD? (Score:1)
Re:Thread support in BSD? (Score:1)
Re:Well, what is it? (Score:1)
Boss of nothin. Big deal.
Son, go get daddy's hard plastic eyes.
Re:Unstable Implementation (Score:2)
Won't be open to Net/OpenBSD? (Score:1)
Remember, we still have a GPLed Java implementation in the form of kaffe [kaffe.org]. It isn't quite Java 2 yet... but if you want Java on a less-than-mainstream platform, it may be you best bet.
Darian
~O~
Re:bsd succumbing to the latest fad (Score:1)
Thanks for the link, I'll check it out.
Re:Unstable Implementation (Score:1)
Now go and read the way green threads (the only threading model the current FreeBSD JDK supports) are implemented. Did you find anything about pthreads in that implementation? No.
I believe this is why there was so much delay in getting Java to BSD. Hopefully they have developed a work-around, possibly by caching the name-server calls.
You believe wrong. The main cause of delay has been lack of support from either Sun or a commercial licensee of the JDK and hence access to things such as the Sun JIT, Java3D, the JCK. Also note that the SCSL doesn't allow a binary release of the JDK without it having passed the JCK and you having permission from Sun.
Re:Well, what is it? (Score:1)
Re:bsd succumbing to the latest fad (Score:1)
"I was trained in Java in '92"
Thats funny, Java just turned 5 a week or 2 ago. You must have gotten a hold of the beta-beta-beta version. But wait a minute, if you have been working/hating java for 8 long years now, i guess that means bsd isn't really "succumbing to the latest fad" does it?
"It's OO code is *horrible* and if anything I think it's actually getting *slower*."
There are a few places where the OO is somewhat odd, but for the most part it is exemplary. Whip out the GoF's "Design Patterns", and then check out java.awt.* -- you'll be pleasantly surprised. The amount of time to invoke a method in java and a comparable function in C++ is about the same, the slowness you experience initially is the VM getting loaded (which is alleviated with more memory), but after that java works fine. This is why java has evolved away from short lived applets to applications and server middleware--where it doesn't matter if it takes 20 seconds to start as long as it works fine after that and can be moved to different platforms, like BSD.
"I wish everyone would wake up to the fact that the only workable way to be portable between two operating systems is to have completely seperate code bases for each operating system"
That is hogwash. Many people i know write java on their dopey win-box at home, then take it to work to run on solaris, win, and mac with not one damn change to any of the code. The only big "gotcha" with cross platform java is running applets in the browsers vm, but most people aren't writing java for applets anymore anyway.
"You save so much time in the long run that way"
Huh? How?! By doing twice as much work you save time--that just doesn't make any damn sense. Irregardless of the language of choice a programmer is going to produce about the same amount of lines of code (based on how fast they can type, and how fast they think) So if i have to write N codebases for N OS's its going to take around N-1 more time to do than just writing it once, and it looks like now if its written in java you can run it in a few more "anywhere"s
FUD! FUD!
Re:Closed Source != No Source (Score:2)
Conservative development model makes more sense. (Score:1)
Re:First BSD with Java 2 (Score:2)
So this really just impacts native thread issues.
Technically, then BSDi is the SECOND of the BSDs to enjoy Java.
That explains why the BSDi guys here at JavaOne were so quiet about Java support.
Applets? No problem! (Score:1)
Now that Sun is making their Java plug-in available, the problems with varying Java support in browsers is going away. For Ganymede [utexas.edu], we use a hybrid Java applet/application for the client, and it works great on UNIX, Win32 (under Netscape or IE), MacOS, and OS/2.
Applets work just fine as long as you don't get overly ambitious about it, and as long as you keep in mind what an applet is for, and what the constraints of the Java security model are.
what about a...? (Score:1)
-=b
Re:Very good for BSD ! (Score:1)
Quality of service contracts are going to be the make-or-break deciding factor for ASP's. OpenBSD can provide the uptime an applications provider will need to meet that contract; it's been through a year and a half security audit [openbsd.org] (which happened to close many software bugs as a side benefit), and uptimes in the hundreds of days are common.
OpenBSD 2.7 [openbsd.org] comes out next week, with integrated SSH2 and a large collection of packages and ports!
You don't know... (Score:1)
-T
Re:Neat. (Score:2)
Re:Unstable Implementation (Score:5)
Subject: Re: FreeBSD and SMP :
:-)). However, Linux supports SMP only marginally better than FreeBSD in the grand scheme of things.
From: "John S. Dyson"
Date: 2000/06/01
Newsgroups: comp.unix.bsd.freebsd.misc
Bruce Burden wrote:
>
> XuYifeng wrote:
>
> : I am newbie of FreeBSD, I heard rumor that Linux 2.2 has better SMP support
> : than FreeBSD 4.0?
>
> I understand the latest Linux kernels have a multi-threaded
> SMP kernel, while FreeBSD still uses the big lock model for SMP.
>
> From what little I have seen on the
-current mailing list,
> this is something the developers are going to have to "bite the
> bullet" on, it seems, because the change isn't going to be easy
> or compatible.
>
About the time that I left FreeBSD, my biggest TECHNICAL argument was that FreeBSD needed an official project to re-design the kernel so as to support multi-processors correctly. In NO WAY does FreeBSD do multi-processing correctly (and that isn't an insult, but is a result of the monolithic kernel legacy -- FreeBSD is an excellent kernel otherwise!!!
A significant and well thought out redesign is in order. This is NOT an easy project and would require a serious committment on the part of the kernel developers. Hack solutions shouldn't even be considered for the shortest amount of time (the time involved in looking at expedient work-around type efforts is totally wasted.)
IMO, the Linux approach so far appears to be an iterative improvement on the same basic design: TRADITIONAL monolithic kernel. Given a traditional monolithic design, once the kernel is fine grained enough, and provides correct internal structure, the kernel maintenance people will have to be MUCH more intelligent than the original developers themselves. The complications in an adequate monolithic design are enormous.
The reason for my work being aborted on the FreeBSD SMP MONOLITHIC kernel wasn't that I couldn't make a FreeBSD SMP monolithic kernel work very, very well. The resulting kernel design would have been unmaintainable. I decided (when it was my place to decide a LONG time ago) that a monolthic SMP kernel (other than the current stopgap) didn't provide the quality that the FreeBSD name demands.
I am currently making really good and effective progress on my video compression (data reduction) software, and I might be able to do kernel hacking (actually redesign) in the near future. I have no need for employment anymore to make money, so my time is fully my own.
The last few years has been frustrating, but at least I worked with some tremendously nice people. I now have a situation that is very close to what it used to be when I first started working on FreeBSD!!! (I doubt that I'll be directly involved in the project because of disagreements that I had about the technical direction of the kernel, and marketing disagreements (with the associated burnt bridges :-(()).
I am going to be lurking much more than I have in the last 2yrs anyway :-). I just looked that the FreeBSD mailing lists a couple of weeks ago for the first time in a few years!!!
--
John | Never try to teach a pig to sing,
dyson@iquest.net | it makes one look stupid
| and it irritates the pig.
Re:Unstable Implementation (Score:2)
Re:Unstable Implementation (Score:4)
If you read Dyson's explanation for leaving [freebsd.org], you'll see he is quite the pessimist with regard to basically any project he's not working on. He's an extremely intelligent man, but he isn't criticizing a lot of the time on merit.
It also shows that his viewpoint hasn't changed in the few years since he's left. There are several very key architectural changes that make FreeBSD much less like a traditional monolithic kernel. One of the biggest is the changes, planned for a long time, that are now to be implemented with help from the BSDi people and the BSD/OS SMPng (5.0) kernel. Priority levels (splhigh(), splx(), etc.) are disappearing and will be replaced by very mutexes allowing much better SMP. Along with this, the interrupt model will be changing to interrupt threads, where each interrupt gets its own lightweight kernel thread.
In addition, pthreads are to be reimplimented using scheduler activations and (probably) a hybrid kernel/user thread model where the ratio of actual "processes" to threads will not be 1:1 like LinuxThreads or 1:many like the current pthreads implementation; the ratio will most likely be many:many which would allow for much nicer scaling than either of the other.
Don't look at things as short-sightedly as John Dyson likes to. There's a lot going on at a very fundamental level to improve what he thinks wouldn't be improved.
--
Re:Servlet Engines? (Score:1)
Welcome to Solaris/SVR4. Necessary? I wonder. (Score:1)
FreeBSD is an excellent system, and usually beats (performance-wise) any other Unix on a uniprocessor x86 in my experience. Scalability over more than 2 CPUs, however, is a question. Commercial Unixes have excellent scalability over dozens of CPUs; are we sure we really need this sort of performance for *BSD?
Multithreading, however, is certainly becoming an important issue, and kernel scheduling of user thread groups (a la multiplexing over LWPs) is becoming something of a need. Are you sure that some sort of workaround cannot be done? Maybe add a signal to trigger rescheduling user threads, or enable the pthreads library to work over several rfork()ed processes? If it were possible to make rfork()ed processes multiplexed signal-wise over one PID, we could have something resembling LWP's.
Re:First BSD with Java 2 (Score:1)
Not only did Jobs get up on stage during the keynote, he said that OS X will be the best desktop platform for Java. In a conference otherwise dominated by serverside (J2EE) and portables (KVM, etc.), it was nice to see someone acknowledge the importance of vanilla desktop Java.
-Esme
FWIW - Native FreeBSD JDK1.2.2 alpha (Score:1)
Re:cancer? no problem! take two & call me tomarrow (Score:1)
OS X isn't even released. It's also in the same boat with very few native gui apps. Admittedly Mac apps do work and Unix stuff builds ok. But if you're looking for Mac apps get a Mac and if you want Unix apps - use Unix!
As far as Win2k, that's a little more realistic but I'll still take Linux or BSD anyday. Also, I love the way you make broad blanket claims with no evidence whatsoever to back them up (i.e "FreeBSD is superior to Linux, Java or no"). And I'm typing this in Linux Netscape running on FreeBSD 4 FYI so I'm in no way biased against FreeBSD.
Just biased against idiots.
Re:bsd succumbing to the latest fad (Score:1)
Heh, no, I agree that only suX0rs use Java on their desktops, unless they are masochistic or insane or forced to for some reason. =P
Jedit [sourceforge.net] is my main editor.Re:Well, what is it? (Score:1)
SunOS=The base system.
Solaris=All the stuff on top.
All SunOS 5.x releases are the foundation for Solaris.
So, SunOS 5.6=Solaris 2.6. SunOS=5.7=Solaris 2.7 (aka Solaris 7). SunOS 5.8=Solaris 2.8 (aka Solaris 8).
Neat. (Score:1)
This is a great improvement (Score:3)
Thread support in BSD? (Score:1)
Will Java performance under BSD be any different than under Linux?
First BSD with Java 2 (Score:3)
cancer? no problem! take two & call me tomarrow... (Score:2)
sheesh...but then again...if BSDi has it in beta now, and as long as they take to do things, we might have a cure for cancer before they get done "testing" it.
---
remove SPORK.
The more diversity the better (Score:1)
Re:bsd succumbing to the latest fad (Score:1)
I was under the impression that Java, though initially it failed to live up to the cross-platform promises, was now running fairly well, with (mostly) portable code and a faster compile time, more standardization, etc.
Is it really that bad? Or are you just trying to get over a bad initial experience with Java?
As for seperate code bases maintained by seperate teams, that may indeed be one good way to develop, but I'm not sure if every project requires that much redundancy of effort.
Very good for BSD ! (Score:1)
Java being cross platform, it makes the host OS irrelevant, but on the other hand, falicitates the penetration of a greater variety of systems. Once BSD is installed for running existing Java apps, the other benefits for having BSD can be discovered, etc. People will tend to be less reluctant to explore new platforms, since they can still use platform-independent ones.
It's very good for everybody, finally !
Servlet Engines? (Score:1)
Funny...I was just talking to a Sun rep at JavaOne about this today. He mentioned something about it, but he seemed to think it was Blackdown doing the port. No matter; good news is good news.
Now we just need the native compilers (TowerJ, etc) to port, and FreeBSD will be unstoppable.
Re:Servlet Engines? (Score:1)
At least my FreeBSD server has been running Apache/JServ for a while now, thank you very much. Though only w/ JDK 1.1.8 at the moment.
______________
Re:Servlet Engines? (Score:1)
Most servlet engines are pure Java, so all you'll ever need is the JVM.
Compile to native code?? Blech. Might as well code C then.
Re:Thread support in BSD? (Score:2)
I don't see why there would be a difference, as long as the JIT is retained... I run Linux JDK 1.2 on FreeBSD at perfectly acceptable speeds.
Re:Thread support in BSD? (Score:2)
The kernel-supported threads do matter when you have multiple processors or you want to do stuff like asynchronous I/O. In traditional UNIX, processes cab be blocked inside I/O operations (such as waiting for a page to be read into a mmap-ped region). If you have a kernel-supported thread model, you can run another thread even when the first one is waiting in page fault. And you can take advantage of multiple CPUs as well.
So there really can be a difference between running JVM with kernel-supported thread model and JVM with user-space threads.
-Yenya
--
Re:bsd succumbing to the latest fad (Score:1)
three years before it was released.
Re:bsd succumbing to the latest fad (Score:1)
However, a lot of companies are using Java for middleware and server-based applets (servlets).
I agree that the BSD's should think carefully before jumping in to every technology that happens along, but Java is already become entrenched in the enterprise. If a Java port comes out, that doesn't mean you suddenly *have* to install it on your BSD boxen.
I guess I just find it disturbing that the original poster was able to get away with posting such FUD, like "I trained in Java in the war of 1967", and "recent studies indicate that Java != bad coffee". If you don't like Java or BSD, fine. But don't post a bunch of crap just trying make a given technology look bad.