|
Authored by: Anonymous on Thursday, May 10 2012 @ 11:44 AM EDT |
No, I'm pretty sure implementing the Java API is necessary for
Java programs to run.[ Reply to This | Parent | # ]
|
|
Authored by: tknarr on Thursday, May 10 2012 @ 12:36 PM EDT |
Or, to stand your question on its head, was Google's choice a
superfluous convenience and not a necessity. Yes it was. They could have brought
Android to market without those few concepts from Sun's
java.
Not really. Yes, packages are necessary, you can implement
a program without them. But once you've decided to use them, anyone else who
wants to interact with your program must use the packages you've defined
in exactly the way you've defined them. If you define your classes to be in
package com.xyzzy.foo and I attempt to use them as if they were in
package org.silverglass, they simply won't be found and my program will
simply fail to compile.
This then extends another level. Once I have that
program written, anyone else who wishes to write a library that interacts with
my program as written and that replaces yours must define packages in
their library in exactly the manner my program expects. If they don't, my
program will fail to interact with theirs because the functions it uses won't
exist in the packages it refers to them in. Notice at this point your library
isn't even in the picture, the packages this new person has to use are dictated
by my program and it's requirements, not your library. [ Reply to This | Parent | # ]
|
|
Authored by: Anonymous on Thursday, May 10 2012 @ 01:43 PM EDT |
In the strictest sense, a platform IS a program (or a
collection of programs.) An OS or kernel is a specialized type
of program, but a program none the less.
The word Java, unfortunately, has been used to describe a
language, a set of APIs, an environment (jvm) - which is
another program, etc. If the jury is able to understand and
differentiate all of this, my hat is off to them. Mostly
likely though, all I'll be able to offer is my condolences to
them for being on this jury.[ Reply to This | Parent | # ]
|
|
Authored by: Anonymous on Thursday, May 10 2012 @ 07:49 PM EDT |
Packages are part of the whole "black box" thing. Some things are not
available to programs outside of the same package. So they're functional, not
merely convenient. While you're not required to use them (in the same way
you're not required to look both ways before crossing the street), when they're
part of an API, you must duplicate the package structure as well.
In terms of private things, that is the implementation inside the "black
box" that you don't expose to the world, there is no requirement to have
the same sort of private variables and methods. But then, Oracle has not
identified any such things as being copied to my knowledge, except for
RangeCheck, which would tend to undercut its claim that anything was copied
outside of that which was absolutely necessary for compatibility.[ Reply to This | Parent | # ]
|
|
|
|
|