decoration decoration
Stories

GROKLAW
When you want to know more...
decoration
For layout only
Home
Archives
Site Map
Search
About Groklaw
Awards
Legal Research
Timelines
ApplevSamsung
ApplevSamsung p.2
ArchiveExplorer
Autozone
Bilski
Cases
Cast: Lawyers
Comes v. MS
Contracts/Documents
Courts
DRM
Gordon v MS
GPL
Grokdoc
HTML How To
IPI v RH
IV v. Google
Legal Docs
Lodsys
MS Litigations
MSvB&N
News Picks
Novell v. MS
Novell-MS Deal
ODF/OOXML
OOXML Appeals
OraclevGoogle
Patents
ProjectMonterey
Psystar
Quote Database
Red Hat v SCO
Salus Book
SCEA v Hotz
SCO Appeals
SCO Bankruptcy
SCO Financials
SCO Overview
SCO v IBM
SCO v Novell
SCO:Soup2Nuts
SCOsource
Sean Daly
Software Patents
Switch to Linux
Transcripts
Unix Books

Gear

Groklaw Gear

Click here to send an email to the editor of this weblog.


You won't find me on Facebook


Donate

Donate Paypal


No Legal Advice

The information on Groklaw is not intended to constitute legal advice. While Mark is a lawyer and he has asked other lawyers and law students to contribute articles, all of these articles are offered to help educate, not to provide specific legal advice. They are not your lawyers.

Here's Groklaw's comments policy.


What's New

STORIES
No new stories

COMMENTS last 48 hrs
No new comments


Sponsors

Hosting:
hosted by ibiblio

On servers donated to ibiblio by AMD.

Webmaster
Java itself is a superfluous convenience | 225 comments | Create New Account
Comments belong to whoever posts them. Please notify us of inappropriate comments.
Java itself is a superfluous convenience
Authored by: darrellb on Thursday, May 10 2012 @ 12:09 PM EDT
I've written machine code that way, but only in small bits. Anything more than a
a handful of instructions is unworkable.

[ Reply to This | Parent | # ]

Java itself is a superfluous convenience
Authored by: Anonymous on Thursday, May 10 2012 @ 12:44 PM EDT
Since 8086 Assembly was my first programming "language", I've actually
taken to doing this -- Well, not with notepad. I've been using my own low level
"toy" languages for many years, and my compiler can target my own VM,
Perl6 Parrot VM, Java VM, or machine code of ARM, MIPS, x86/87, x64 or x86/64 (a
hybrid instruction set that targets both 32 and 64 bit architectures at once).

Oracle's '104 patent is over "simulating" ie executing a bit of the
code to resolve some symbol name to memory address translations. The
"innovation" is "IN A Virtual Machine!" It's like the
1990's equivalent of all the "...On the Internet!". It's
disgraceful.

Also, Java's stack based VM is uber retarded. Every thing's stack based (very
slow pushing and popping args on a stack to even just add). I've been targeting
Davlik and it's register based VM is beautiful, it's more similar to an actual
machine's instruction table. Totally different beast in every way.

To note: I don't have to use the Java API to write programs, but if I don't then
they can't do anything -- Even though I'm writing in a totally different
language than Java!

To print out a line of text to the terminal, I must still call their
java.lang.System.out.println function. There is NO OTHER WAY to get for VM
bytecode to interface with the system. I could provide my own Native C compiled
interface to print out text (with binaries for each and every platform), then
register them with the VM and call them through the VM, but then you might as
well just write the program in C or ASM or anything that compiles to machine
code (not Java), and forgo the VM translation layer. My compiler wraps over the
verbose java.lang.System.out.print* methods and provides me with "say"
eg:

say "Hello World"
ret 0

That's a complete valid Hello World program. I resolve the symbolic reference
to the say and ret functions at compile time. However, since my code compiles
so fast, it is used in many of my programs as Scripting language. That is --
It's stored as text and compiled at runtime. Nearly all Scripting languages
would thus infringe the '104 patent.

To build my interfaces to the Java VM I did in fact write much bytecode by
hand.

If the court finds APIs are copyright-able, then code written in totally
different languages will stop working -- I don't see how GNU classpath would
operate at all.

I've started writing my own non-computer language as well -- I call it Galactic.
It's simple and inspired by machine code. This is so my documentations and
bytecode may be one and the same, and someone like Oracle can't say: "Did
you use symbolic references?" I'll say, "Nope. I only ever used:
/ | -- . / / [_]
"

Yes, this is what patent and copyright have done to me. I'm off writing my own
languages... because English is now dangerous to my way of life.

[ Reply to This | Parent | # ]

Groklaw © Copyright 2003-2013 Pamela Jones.
All trademarks and copyrights on this page are owned by their respective owners.
Comments are owned by the individual posters.

PJ's articles are licensed under a Creative Commons License. ( Details )