Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Oct 2001 11:06:29 -0700
From:      Chad David <davidc@acns.ab.ca>
To:        Terry Lambert <tlambert2@mindspring.com>
Cc:        Nate Williams <nate@yogotech.com>, John Baldwin <jhb@FreeBSD.ORG>, chat@FreeBSD.ORG
Subject:   Re: time_t not to change size on x86
Message-ID:  <20011030110629.A3499@colnta.acns.ab.ca>
In-Reply-To: <3BDED2DC.A04B6822@mindspring.com>; from tlambert2@mindspring.com on Tue, Oct 30, 2001 at 08:18:36AM -0800
References:  <XFMail.011029134349.jhb@FreeBSD.org> <3BDE6ED3.64DC027E@mindspring.com> <15326.50508.909158.688936@caddis.yogotech.com> <3BDED2DC.A04B6822@mindspring.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Oct 30, 2001 at 08:18:36AM -0800, Terry Lambert wrote:
> Nate Williams wrote:
> > > Java has several problems:
> > >
> > > 1)    It can't do multiple inheritance
> > 
> > This is certainly not a problem.  This is a good thing, and one of the
> > strengths of Java.  It doesn't bring in all of the *crap* that C++ does.
> > In any case, you can perform almost all of the same functionality using
> > interfaces, in a much cleaner fashion.  I've yet to find a good example
> > of multiple inheritance that couldn't also be done in a simpler fashion
> > using Java + inheritance.
> 
> I've run into several instances where I needed to marshall
> objects from a local node to a remote node, and then reinstance
> them, without explicitly knowing anything other than that they
> inherit from a particular class, and then later marshall them
> again (either back or elsewhere).

	What does this have to do with multiple inheritance?  Every
	major java server I've every written did exactly this, and
	a base class being a constant is a must.  I don't see how
	multiple inheritance would change this.

> 
> Sprite has a nice example of this in their FS implementation,
> when doing user space developement of FS code.
> 
> Choices (University of Kentucky, circa 1994 Bell Labs sponsored
> research) has similar issues, and the whole OS supports object
> inheritance.
> 
> I've also seen a number of design patterns that could not
> be used without a bridge pattern because of the lack of
> multiple inheritance (i.e. instead of doing an overlay of
> the common parts of two or more patterns, you had to use
> reflection to make the common parts act common, even though
> they weren't actually common).

	Could you give a more concrete example of what you are
	talking about.  If you are arguing that using reflection
	is not pure then I might agree (if you have a better way).

	Also, I've observed the exact opposite, you need reflection
	to stop the common parts from acting common, ie. in order to
	cast the base class to its real type.

	Have you ever taken a look at SableCC?  They make very
	effective use of interfaces without every using reflection
	or multiple inheritance.
> 
> Java is really "dumbed down" in order to make it safe for
> people who aren't very meticulous about their coding.

	I think this is a very easy statement to make without
	actually giving the language any of its due credit.  I
	spent four indepth years with java, and while I do not
	miss it, I do have a respect for it in its place.

	Come to think of it, C is really "dumbed down" in order
	to make it safe for people who aren't very meticulous
	about their [assembly] coding. :).
> 
> 
> > > 2)    You can instance classes without constructing them (the
> > >       JavaMail API has a number of examples of this)
> > 
> > And your point is?
> 
> Instance but unconstructed objects are inherently bad.

	Again could you give an example.  I don't really understand
	what you mean.  I am unaware of any way of creating an object
	without invoking one of a classes constructors.  The Serialization
	classes do it via a native method (since a class may not have
	a predictable constructor signature).

> 
> 
> > > 3)    Strong typing is for weak minds
> > 
> > That's an elitist attitude from someone who hasn't tried using it.
> 
> I've implemented the majority of the Java 1.2 and JavaX 1.2
> classes, as well as the JavaMail API in C++.  I've also done
> not an inconsiderable amount of work in Rational Rose with
> "plain old Java".
> 
> I think that historically, we will find that Java will end up
> being a compiled language, and will serve predominantly as a
> cross platform API.

	I would like to see an Objective C like implementation
	for java, but I fear some of the language and class
	interation design decisions may make that very difficult
	to actually acheive.
> 
> This is, I think, the reason that Microsoft targeted it for
> the "embrace and extend" treatment.
> 
> The inability to apply a decent optimizer to JIT'ed code is
> just the icing on the cake.
> 
> FWIW: dynamic scoping is cool; but garbage collection is not
> something one can afford, when designing an embedded system.

	Have you ever worked with the Real-Time Specification?
	I do not know anybody who has...

> 
> The InterJet, going forward, was intended to have much code
> in Java (in fact, it had some interesting Java code from the
> IBM Almaden research center in it); Archie Cobbs is also a
> major contributor to Kaffe, and was one of the primary
> developers on the InterJet.
> 
> That said, the overhead of using Java was _significant_, and
> one of the things we had to do (add a more powerful CPU and
> more RAM) pushed in a number of undesirable attributes, as
> wll, including, but not limited to, the addition of moving
> parts to the product (fans) to dissipate the increased heat
> from the increased hardware bulk required.

	I agree entirely that the size and speed of java is its
	weakest point.  The memory footprint of two or three
	jvm's on a server is just stupid, and GUI's are way
	to slow... makes me want to go back to win32.
> 
> -- Terry
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-chat" in the body of the message

-- 
Chad David        davidc@acns.ab.ca
ACNS Inc.         Calgary, Alberta Canada
"When Linux was first ported to the Furby platform,
it suffered from significant stability and performance
problems, which gave the Furby an unfortunate reputation
as being unsuitable for enterprise-level computing."
                                 -- furbeowulf site


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-chat" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20011030110629.A3499>