

Java On 8-bit Platforms 160
ScrotalDwarf writes: "
OneEighty software has released the world's first 8-bit Java VM. A fully functional Java VM, kilobytes rather than megabytes, in size! It's aimed at the mobile markets, but being smaller it's a whole lot faster - a fast Solaris JVM implementation!? If that wasn't enough, it's actually based on an implementation of a Turing machine.
"
Is there a point? (Score:1)
Speaking of which, do 8 bit machines actually have enough memory and speed to handle Java code? It's not exactly the fastest code in the world...
Java on a Turing Machine! (Score:2)
Seriously, this may not be the most important article on Slashdot, but it is an important advancement. Being able to have Java on your cell phone actually serves some purpose (as opposed to a few other things cell phone makers have come up with). It allows just about anyone to put whatever they want onto their cell phone at little / no cost. The downside: M$ starts making cell phone programs and your phone crashes in the middle of a conversation (it doesn't disconnect, it doesn't drop the signal, it gives you the LCD screen of death).
OTOH, what's the point behind the Turing machine basis?
It's all about the Karma Points, baybee...
Moderators: Read from the bottom up!
Comp-sci question (Score:1)
well.duh.. (Score:1)
nintendo (Score:2)
so that means (Score:1)
Breakthrough? (Score:1)
Since when running something on an 8-bit platform a breakthrough?
I can't believe this, since every single modern, useful chip has at least 16 bit words! Come on, who's going to run Java on an 8051 processor or technological equivalent?
I once thought the word breakthrough meant an advance into the future...
Flavio
Oh, NO!!! (Score:3)
And PAPER CLIPS!!! NO!!!!!!!!!!!!!
How much longer must these demons haunt us?
Flavio
A Turing machine? (Score:2)
Not surprising, but it will be encouraging if they succeed in getting a fully functional system in a truly small footprint. More power to them. But it'd be nice to see more detail on what their tools are _really_ doing.
-Jan
Cool product, unbelievably stupid whitepaper (Score:1)
Re:so that means (Score:1)
Re:Is there a point? (Score:1)
It depends on how it's configured. Until 1992, my main computer was an Apple IIe (definitely an 8-bit box) with 1 meg of RAM and 40 megs of disk...and that wasn't even the most you could put in there. (I also had it running at 10 MHz, so it was pretty damn quick for the time. Used AppleWorks for writing papers and ProTERM for dialing BBSes...fun stuff.)
this is good! (Score:1)
The biggest pain in the ass for website developers is the fact that no webpage looks the same on all browsers. Imagine if you could provide a type of core, using JINI or JMI with it, so that the user sees the same java front end no matter what the machine's specs are. Then using JINI/JMI, you could place the difficult, number crunching part of the software on another machine back at your place. And the fact that all of this is write once, run [almost] anywhere just make the whole package deal ooze sexiness.
Time to dig out those old cheap 8-bit processors and overclock the hell out of them.
Re:so that means (Score:1)
In point of fact, it means you can run java on your pen now (don't ask me why you would want to... manual spell check perhaps?) This is a fascinating fact you could have learned by reading the article [sun.com].
Re:this is good! (Score:1)
Why? Why do people post this fucking junk? I don't fucking get it.
Re:Cool product, unbelievably stupid whitepaper (Score:3)
When I was 12 (yes, twelve) my dad got me the complete set of Time/Life books on computers. I admit that to this day (20 years on) I still cast my memory back to those glossy, 4-colour pages when I make an outrageous statement about the "conservative design of CDCs and the original Crays" or the "inherent, uh, complexity I s'pose, of vector processing, uh, chips? architecture?"
anyhoo, that von-neuman/turing article looks a heck of a lot like a photocopy from that time/life book.
hm.
Re:Cool product, unbelievably stupid whitepaper (Score:1)
Re:so that means (Score:1)
It's okay to add some humorous aspect to things you know...
really new? (Score:3)
The press release also makes some extremely dubious claims about "a novel architectural approach that allows the creation of extremely compact software, often many times smaller than that built using traditional coding techniques." Uh-huh. It's magic!
The 180sw web site says that this is the first 8-bit Java VM. That's definitely not true -- TinyVM [sourceforge.net] for Lego Mindstorms has been around for quite a long time, and I doubt that's even the first. This "GENEVA" thing may be more complete, but that's a different issue.
--
Re:this is good! (Score:1)
Re:Breakthrough? (Score:4)
Two reasons why we still have, and probably always will have 8 bit chips:
Cost : 8 bit chips are cheaper to make.
Power Consumption : 8 bit chips use less power.
I can see no reason why a simple, non-scientific calculator would ever want to use a 16 bit chip. It would cost more to make and require a larger solar panel. What's the point? There are more 8 bit chips out in the marketplace then any other type of chip and this isn't going to change any time soon. Eight bits is hardly useless.
Willy
"Turing" (Score:3)
Okay maybe a little bit: have you ever designed a Turing machine from scratch to do something as simple as multiply two numbers? It's incredibly tedious. There's a reason we invented more complicated instruction sets, and then higher-level languages.
--
Re:so that means (Score:2)
J
Re:Cool product, unbelievably stupid whitepaper (Score:1)
I'm assuming that their product is just a new instuction set bytecode that contains 1 instruction procedure calls or something like that, coupled with a design philosophy of using tons more procedures and giving the procedure set a smoother complexity gradient (and software to optimize towards this goal automagically). Sounds kind of cool to me.
But, they really need to fire their tech-writing staff and get a new one. (What the heck is an "MPEG-3" decoder? Does someone not know that MP3 Audio is in MPEG-1?)
Woohoo!! Java on my Nintendo Entertainment System! (Score:1)
Although you have skipped several systems... Game Gear and Game Boy being the most noticable, though it's my understanding that the Game Gear was really nothing more than a Master System in a smaller package--hence most SMS emulators also capable of running Game Gear ROMS. I'm pretty sure that Game Boy is fairly different from the NES, though.
Also, what about those great TI calcs [ticalc.org]? Aren't they 8-bit? IIRC, the ones that are graphing but not the 89, 92, or 92+ are running on a Z80. Considering everything that those wonderful machines have had coded for them (my 86 has Zelda, Lemmings, Mario, Tetris, and various other things on it right now), it would just be a matter of time until we could be running all of those wonderful java games during math class.
Yes, I'm joking, obviously... but if someone were to do this, you can bet that I'd be one of the first to check it out and fiddle with it. It'd be YAIODIBYC - Yet Another Instance Of Doing It Because You Can.
--Psi
Max, in America, it's customary to drive on the right.
Worthless whitepaper (Score:2)
not even close (Score:2)
Re:Breakthrough? (Score:1)
Don't underestimate the usefulness of an old 80-something. What do you think is operating in, say your microwave? A 386? Or in any little old object that you use without thinking. Hey, the graphing calculators that you see so often in highschool and college don't run on superfast processors. In fact, the TI85 that I have runs on a Z80 from Zilog [zilog.com] (actually, some ran on Z80 clones) which, I believe is just an 8080, though I'm likely wrong.
Besides, not everyone has to or wants to sit around on the latest tech. Using old technology to it's maximum is, IMO, much more impressive than pulling billions of triangles out of today's machines. No, I tell a lie, they are both very cool. Using anything to it's full potential (and beyond) is very cool (IMO).
I'll take that paper clip. You won't need it... (Score:2)
Before long, the paper clips will take on the task of organizing all of those toasters running Linux into a formidable army. I'd bet that they take on the people who eat Pop-Tarts and bagels cold first... it's people like that that are driving toasters to oblivion.
Viva la revolucion!
--Psi
Max, in America, it's customary to drive on the right.
Even TeX macros are Turing complete (Score:2)
Re:nintendo (Score:1)
Re:really new? (no) (Score:2)
There's some neat stuff, like the "tini" board - a small (68-pin SIMM form-factor) embedded computer with 10BaseT ethernet and TCP/IP networking. It can run a web server, as well as Telnet and FTP. It also has a couple of serial ports for interfacing to other components.
When will I see Java on a Commodore 64? (Score:1)
Maybe it is time for the C=64 to be made again, with a customized Java virtual machine, to serve as the basis from Internet terminals to PDAs?
almost certainly a hoax (Score:3)
In general, it takes more bits of memory to implement a function on a Universal Turing Machine than on a conventional microprocessor. The point of the UTM wasn't that it was efficient, it was that it was a very simply machine that could compute anything that is computable. But not necessarily very quickly.
I hope the managers of the funds my 401k is invested in don't invest in companies like this; do they have experts to evaluate high-tech startups?
Does this mean... (Score:2)
Comment removed (Score:3)
Re:Worthless whitepaper (Score:1)
Why they're called OneEighty Software (Score:1)
Re:Comp-sci question (Score:1)
Re:Java on a Turing Machine! (Score:1)
Why do things need to be practical to be posted? (Score:2)
All digital computers are Turing machines! (Score:3)
Basically, this means every computer that operates by rules of logic (AND, OR, NOT, etc, as opposed to chaotic or fuzzy systems) is a Turing Machine. Your desktop PC, your Nokia, your calculator watch, your Chinese water clock, are all examples of Turing Machines.
Personally, I'd be far more amazed by a JVM that was implemented by a device that was not a Turing Machine.
Kevin Fox
slow (Score:1)
Re:Weather (Score:1)
Z80 (Score:1)
The Z80 was backwards compatable with the 8080 but added lots of new toys like indexed addressing inprovements interrupt handling, automatic refreshing of DRAM, a 16-bit I/O address space (8080 had the 256 line I/O space seperate from the normal 16-bit memory), memory block copy post increment and repeat in a single instuction. A spare set of registers for fast context switching. Bit set, reset and test.
I wonder this new VM would fit on a ZX spectrum, the £100 Z80 computer from the 1980s?
Re:so that means (Score:1)
What?
Re:"Turing" (Score:1)
OneEighty Software Ltd announced a major technological breakthrough which will, for the first time ever, extend full Java capabilities to eight-bit processors using ultra-compact coding.
I almost laught my head off. Java, eight-bits, turing machine, ultra-compact... mwaheaheahea!! Is it just me or all these words cannot fit in the same text??
If all this is a true story, I guess they meant "stripped down version supporting primitive features" instead of "ultra-compact Java implementation based on turing machines"
Haha
--
Re:All digital computers are Turing machines! (Score:2)
Proof left as an exercise to the reader. (Hint: Java is itself Turing complete, which implies...)
It's based on Forth (Score:4)
I guess he had problems convincing people to program in Forth, because now he has a Java front end.
What kind of silly joke is this? (Score:3)
Furthermore, Turing machines are extremely unpractical computing devices. They are not allowed to have any kind of I/O during computation. All input must reside on the tape at input, and any output must be written to tape before termination. I think such a view of computing would be one of the most useless things ever to use in embedded computing where side-effects is usually all that matters.
Now, there are ways around these limitation, such as using more than one tape which can often reduce a Turing machine design dramatically. But these reductions are usually only conceptually. If you take the time to write up all the state-transitions and so on in one large table as you eventually will have to, if you are to implement it in software, it doesn't really matter. There is also the concept of an Oracle Turing Machine, where you could have special states, and if the machine decided to enter one of those states, magic would happen, and the tape would suddenly be changed in accordance with the procedure associated with that state (e.g, a special state for multiplication of two 32-bit numbers). It could also be used as a way to fake polling I/O. But it still would be nowhere as convenient or practical as just doing normal assembly programming.
I'm not sure what they are trying to get us to believe here. Ok, they've made a small Java VM (only 5 times bigger than TinyVM [sourceforge.net]). They do, however also claim to have revolutionized computing by reinventing the Turing Machine. Given the lack of technical details on exactly what this means, it's impossible to know whether it is correct. But, considering the alternative of a hoax, marketing madness, or some other unknown reason for them to mislead us, I find it hard to believe that it can be true.
Re:It's based on Forth (Score:1)
Based On A Turing Machine? (Score:2)
Re:All digital computers are Turing machines! (Score:2)
Not even. Writing functions for a basic universal turing machine, which is what they seem to imply, would be extremely tedious -- way more so than writing in ASM (or even x86 machine code).
--
There are already _millions_ of 8-bit java VMs (Score:4)
If you have an AMEX "Blue" card, then you have a JVM in your pocket (I believe its an Hitachi H8, but one of the tiny 8 bit versions).
About half of all smartcards made right now (including almost all from European giant GemPlus) run JVMs.
Anyone who went to Sun's JavaOne show a couple of years ago was handed a rather chunky ring, which had a Dallas Semiconductor iButton on it - this too has a JVM (I actually wrote some code for mine - using the same toolchain as for regular desktop java). I believe it is an 8051 microcontroller.
I just received a TINI board from Dallas, which is the same as the iButton, but in a DIMM form-factor. It's sooooo cool. Info about it is here [ibutton.com]
Maybe someone should code a 4-bit JVM, so we can run it on Voyager 2 (which has two 4-bit processors) - how's that for mobile code!
Re:Breakthrough? (Score:1)
Real computers aren't Turing machines (Score:2)
I'm not an expert, but I believe there are also real-world computers (at least theoretical ones) that are more powerful than a Turing machine, e.g. quantum computers.
Re:Woohoo!! Java on my Nintendo Entertainment Syst (Score:1)
It's turning into a damn police state, Sam!
Heh, that's the greatest comic ever, still makes me laugh.
-Dan the drunk
Re:almost certainly a hoax (Score:2)
Steaming load of BS (Score:3)
Oh yeah, their software runs faster if nobody knows how it works or is allowed to observe it. Sounds like some kind of quantum computer, huh? More like an investor scam.
Looks to me like the old codger in charge is trying to exploit the good name of Alan Turing, his former co-worker. So where was he when Mr. Turing was on trial and needed a character witness to testify about his outstanding contributions to computer science and the defeat of Adolf Hitler?
(It's so rare I get the chance to use a legitimate ad swasticum attack.)
After that pedantic lecture on Turing machines, this vaguely reassuring "theoretical" answer does not impress me. The lack of speed may not seem "problematic" to an academic who doesn't know anything specific about game programming. But how about answering a more specific question: "For the practical programming of even simple computer games, is ORIGIN any better than Java, which totally sucks ass?"-Don
Re:well.duh no (Score:1)
BigInteger has nothing to do with the Java language. It's just a regular old class written in Java that stores its magnitude as a big-endian array of those 32 bit ints. If it didn't already exist in the API you could write it yourself. If you download the API source and used BitInteger as a reference, you could probably write the same thing in C/C++ in under an hour. Or you could use one of the many existing aribitrary precision C math libraries in the world.
Turing Complete, yes but Quake? No... (Score:2)
Okay, so it's an 8-bit Turing complete machine. Many text editors, such as VI are complete [davesource.com] but you ain't gonna see me playing Quake on them...
Yeah, it's nice for Java, after all, the more machines a VM can run on, the better for it. Unfortunately, the white paper reads more like marketing spiel rather than anything else.
If he had a point to make at all, it's that too many programmers don't write code with a view to reusability in mind. Now that is something worth reminding us...
Amazed at how many posts have been moderated 0 in this topic...
"A goldfish was his muse, eternally amused"
Another Grandiose White Paper: The Next Big Thing (Score:2)
So what if the folks at one80 have a flawed understanding of a turing machine. So what if one80 is using FORTH to get it done. Their claim is that they have a full 1.2 compliant, not just personal java, implementation that is tiny. Pretty cool.
Re:"Turing" (Score:1)
Funny how they have the nerve in the faq to pose themselves straw man questions like "Can it interoperate with system XYZ?" and answer "Of course, since our system is Turing complete!". Well FYI systems XYZ and ABC and 123 and A to Z are all Turing Complete -- It's No Big Deal, and they're making a worthless and facitious statement, like "oh, that's just a simple matter of programming". At least Spinal Tap had enough self delusional integrity to claim something UNIQUE: that their amplifier "went to eleven".
Next thing we know they'll be suing every computer company on Earth for violating their "Turing Machine" patent.
-Don
Re:When will I see Java on a Commodore 64? (Score:1)
Re:Why do things need to be practical to be posted (Score:1)
8bit java (Score:1)
I am suprised that this hasn't happened yet! Who knows
I guess I see the worth of the project, but I doubt that it will be usefull for more than just an * marked next to the platforms that java can run on.
Or maybe all of this is the White Castle talking...
A waste of time.... (Score:2)
Re:"Turing" (Score:2)
I respectfully submit these slogans for use in your advertising campaign:
"Special instruction that sets P = NP in 1 clockcycle!"
"Now, with Patented Order(1 Click) [TM]-Complete (R)-Rated (C)-Plus-Plus E-Commerce Algorithms."
"Offering the world's first fully optimized totally integrated long term zeroth order solution to the halting problem!"
"Write once, halt anywhere."
"We believe our own hype." Oops -- I sold all rights to that one to Sun, so you'll have to negotiate a license for that slogan with Sun directly. There's a special discount for Java VM licensees.
-Don
Re:What kind of silly joke is this? (Score:1)
unlambda. It's minimalistic, Turing complete
and compilable. If you are not convinced by
the above poster and want an example of why
Turing machines are hideous, try coding a
calculator in unlambda.
NO digital computers are Turing machines! (Score:1)
Congratulations .. You've just invented FORTH! (Score:2)
My understanding of how FORTH works is that each opcode is a reference to a subroutine. All subroutines implicitly read their input off the stack and leave their output on the stack. I think even conditional execution is handled in this way. There is no real difference between system routines and "user" routines, and traps to the underlying architecture are just a specific instruction that takes the jump address off the stack.
FORTH code could be extremely compact, because the source and destination of operands and results were implicit and did not have to be coded in the instruction. A FORTH interpreter could also be very compact because the underlying architecture is very simple. A friend of mine once (late '70s) implemented a data logger in 2K of ROM by writing a FORTH interpreter that took about 30 bytes and implementing the rest in FORTH. This was done on a COSMAC (used an 1802 processor - the machine with the SEX instruction).
Java VM's (I think) are a stack machine also, and java bytecode is quite compact for much the same reason FORTH is. Users of swing may not believe this but that's a different rant
Turing machines had random access storage in the form of a conceptual tape that the machine could seek back and forwards along. Hodson's white paper talks about stacks (as used in FORTH and various non turing-complete automata) but appears to refer to his VM as using a stack. I can't really see much difference between this and FORTH. Perhaps I am exhibiting high specific gravity but the parallels between this VM and a turing machine seem pretty strained. He doesn't really talk about the "stack" on this machine being random access, and I can't really see how this would help beyond the mark, dup, roll etc. operators that FORTH VM's have anyway. (Note to self - Can't actually remember if FORTH does marks on the stack; I might be confusing it with Postscript)
To save me having to trot down the road to Borders and buy the java VM spec, could someone who understands the architectures of Java and FORTH say something cogent on the differences?
Re:Steaming load of BS (Score:1)
innovation. The sad thing is, I am sure he would
have no trouble patenting it.
Turing machine is it, so far. (Score:2)
Roger Penrose is perhaps the latest of a long line of individuals who have argued the brain has powers beyond a Turing Machine. Despite his claims, the jury is definitely still out on this.
Java's Slowness (Score:3)
The Java byte code really isn't all that slow. In fact, making the VM smaller would actually probably make it slower since you'd be leaving out things like a JIT or any sort of optimization. Generally speaking, there is a compromize between speed and size - large usually is faster (optimized for speed), smaller usually is slower (optimized for size).
The JVM itself is a nice speedy little thing. It's not slow. It's the Abstract Windowing Toolkit (AWT) that's slow! Since almost all Java apps require some form of GUI interaction, and the AWT is the means of graphical interaction, the AWT becomes a signifigant bottleneck. If Sun spent some time on speeding up the AWT, all those pretty graphical Java apps would receive a nice speed boost.
Even with the JIT turned off, Java bytecode alone usually runs at a decent clip. Unfortunately for Java applications, the AWT is very slow - it actually became slower in JDK1.2 and is picking up some speed in JDK1.3 (it hasn't regained it's JDK1.1 speed though).
If anyone wants to read a more indepth benchmark comparing x86 C with Java code, try here [javalobby.org].
Re:Wow! It's Turing Complete! They're geniuses! (Score:2)
You can also store data in the state of the machine, instead of writing it on the tape. Turing machines don't have registers, nor stacks, nor random access memory, but they can be in any number of different states. So to do anything non-trivial, you end up with a heck of a lot of machine states, connected together in a complex network. In order to copy a number, you have to suck up some of that number into the machine state "temporary storage", then go into a state that moves the read/write head to the destination while remembering the temporary state, and then go through a series of states that writes the machine state out onto the tape while moving the head. So you could write a program that copied a number one bit at a time by moving back and forth between source and destination, using relatively few machine states. Or a program that copied numbers more efficiently n bits at a time with 2^n and then some machine states. To do anything non-trivial, you end up with zillions of machine states, representing a network of all possible values of temporary storage connected by tape seeking and writing instructions, and you also require infinite amounts of tape to execute the program.
Think of it like an Adventure (MUD) game with one deterministic player, who is carrying a tape and read/write head. The state of the machine is which room you're in, plus the state of the tape and position of the head. Each room has a door labeled for each possible token on the tape, and when you walk through correct door, it can write a token on the tape, and move the head up or down. A program is a set of interconnected rooms. You have to double the number of rooms (states) to represent one bit of information in the machine state, like the Star Trek episode when they were beamed aboard an exact duplicate of the Enterprise, that represented one bit (the answer to the question "Is this real?").
It's hard for me to believe that they're using a Turing machine model for efficiency's sake.
-Don
Re:almost certainly a hoax (Score:2)
Re:What kind of silly joke is this? (Score:1)
Silly joke? A scam? Or is there something to this? I dunno, but doing a little web-searching on "Bernard Hobson" (which subsequently leads to GENETIX, Bloor Research, SoftwareReview.com, www.turing.org.uk, and King's College London, and more) shows that this guy has been around for quite a while, and apparently have been working with the theoretical foundations of this Turing-based-JVM for quite some time... Of course, I researched everything on the web... And, since I read from several different websites, it must be true, right?
Owww... My head hurts...
The C64's continuing popularity (Score:2)
Some details from the FAQ (Score:3)
VM is supposedly 70k, supports multi-threading and GC. No graphics capability however. I wonder how big the Palm KVM is at? It includes a small implementation with graphics.
Compatible with Java 1.3 as far as class file format goes. Supposedly runs can interpret any Java bytecode.
The VM itself is called Geneva, and runs on an engine/system/framework called Origin.
Origin itself is composed of small building blocks with a "high dehree of reuse". An interesting twist is that while of course they wish the internal blocks (procedures) to be closed, they encourage outside blocks to be developed and will pay royalties to the developer of these outside blocks if they are incorperated into the core.
Right now, it appears to work on x86 chips and Sparc chips - the Origin system itself must be ported to other platforms, and then Genevia will run on top of it.
Origin itself has some sort of primitive internal database/file system, and they talk of perhaps working with DB companies to improve on that.
You can write directly in Origin if you like, but there is no kind of IDE or the like - they encourage use of the Genevia Java VM as an easy path to using Origin.
It sounds kind of interesting. What they need to do now is release it for the Palm.
Re:NO digital computers are Turing machines! (Score:2)
Kevin Fox
News Flash: Coding Small is Fun (Score:2)
Re:Java on a Turing Machine! (Score:2)
>actually serves some purpose (as opposed to a
>few other things cell phone makers have come up
>with).
With release like this you can run java on cellphone ? Really ? I thought this has allready be done, atleast in nokia's cellphones. Or what do you think about first nokia waphones (7110) writing "strange" java.net exceptions to its screen in some error situations ? Sounds pretty obvious that Nokia is running java allready even it seems to be out of users reach.
Did some search on this topic and Motorola is releasing new cellphones next month that allow users to write java for them. Check out this [wirelessdevnet.com] url for more info. Would be nice but im getting that new communicator when its out ;)
--
Kilobytes instead of megabytes? (Score:2)
So the VM might indeed be shrunk a lot, say it may become a little more than 1/4 of its original size if you put it on an 8-bit system. This would be a nice rate for any "embedded" program.
Alas, the VM is not the program. It simply is the VM. The program is written in "run once, compile everywhere" code[*], so this code has the same size no matter where you put it.
And I recall the class libraries are something like 20 Mb of code. And while an embedded program might just not require, for instance, Swing, it is part of standard Java AFAIK. What I am trying to say is that programs expect the standard class library to be there, so it'll cost you 20 Mb of space anyway. To set up 20 Mb of space on an 8-bit machine, you would cross some 64k boundaries
One solution might be to get rid of the class libraries, and write the code yourself, or "statically link" the code. This makes your program bigger...
You might argue that e.g. a wrist watch wouldn't need class libraries (e.g. Swing
While I'm talking about this, does anyone know how many bits a single Java instruction is?
[*] OK, I wanted to write "compile once, run anywhere", but this appeared instead. Given that much Java VM's are Jitter-based (compile to machinecode on the fly), I actually think that this typo isn't that goofy
It's... It's...
Re:There are already _millions_ of 8-bit java VMs (Score:2)
I just read the press release, and it looks like Hemos added the "world's first" part, which this certainly is not, since the Dallas TINI has been on the market for a while now.
Why force square java in a round hole? (Score:2)
In the world of gigabit NICs and FibreChannel RAID controllers running on InfiniBand, java just doesn't fit. Sure you can take a chainsaw to it and cut out what you don't need. This isn't java anymore though. If it doesn't run all the sun APIs, it isn't java. Now if sun starts bending on that for publicity and cash ("How much does a java logo cost?") than they look real hipocritical considering their battle with MS.
Even with a chainsawed java, it still doesn't make sense. Java has no stack structures except for primitives. It gives the author little control of memory deallocation. This is a big issue when you have limited amounts RAM and no swap. Also, having "secret" threads running around freeing memory while the author needs code to run at a specific rate really hurts. Graphics? What does an anti-lock breaking system need with graphics code?
I suspect there is reason that most embedded/realtime OSs are written in C/assembly and have those types of APIs. Even C++ is feared due to sense of lack of control. The STL is never used without source control of it. At these levels programmers are pulled back to the days when size and speed really mattered. Java can't give you that. A JVM takes up too much space in software and java chips are often too big, require too much power or are too expensive or all of the above. I suspect that JVMs in an embedded environment would find it hard to achieve C/assembly speeds. In the gui feature rich world it doesn't matter that much. In the world were the two major features are send and receive, size and speed are king.
Re:really new? (Score:2)
Some people just make good products, others produce the noise... Slashdot should be about the first group, not the second...
Breace
Re:NO digital computers are Turing machines! (Score:2)
Universal Turing Machines are simulations, because of the infinite tape (and time) needed.
Kevin Fox
how did this story make Slashdot? (Score:2)
Re:Why force square java in a round hole? (Score:2)
Re:What if this were combined with... (Score:2)
Re:Kilobytes instead of megabytes? (Score:2)
Re:Java's Slowness (Score:2)
Re:Why force square java in a round hole? (Score:2)
I agree with you that java and java chips may be a good fit for PDAs and settop boxes but I work more in the I/O controller space. I also thought that Sun's licensing was pretty strict about partial java implementations being official java. I always thought it odd that so much the java api was considered mandatory parts of the language rather than optional extra libraries. If an official java can exclude the extras they do not need, that I stand corrected about the vm size. If the chips can stand up to the current crop of I/O processors, you have got me there. But I doubt it because...
Speed and low level control are still very important for I/O controllers and real time applications. The language hides things that most low level developers need or want. For example, they want total control of memory allocation and deallocation. They want direct access to memory. Java just doesn't have this. So even with a fast, inexpesive chip running java native, you still have the lack of control. Heck, for a certain routines, assembly comes into play in this space.
Re:MODERATORS? (Score:2)
Re:Why force square java in a round hole? (Score:2)
Re:Turing machine is it, so far. (Score:2)
This stuff gets rather confusing, and you need to be very specific in your terminology. My textbook on the topic was Languages and Machines, by Thomas A. Sudkamp. There are others that might be a little more accessible.
VM's been on 8-bit before (Score:2)
The white paper is a crackpot spewing about "state of mind" and "genomes" and trying to appear academic. If he has any new ideas, I'm not able to penetrate the BS to find them. Turing machine == Von Neumann machine == any calculating device, so what's new here?
If he was posting on USENET he would be using ALL CAPITAL LETTERS for certain KEY TERMS that expressed his REVOLUTIONARY IDEAS.
Re:just wondering.... (Score:2)
Looping code can improves a program's use of CPU cache. In your second code example, huge loops would require many sequential code pages to be paged in from disk. Much more expensive than saving a i++ loop counter..
real time java (Score:2)
1. On most platforms stack memory allocate is much faster than dynamic. As far as I know, Java does not support allocating structures on the stack.
2. With limited resources, programmers need tight control over memory deallocation. While you can force a call to the GC, it is usually not a synchronous call. Sometimes you need to know all the memory from step 1 is free before going to to step 2.
A bit about this paticular JVM. It does not support 64-bit data types. 64-bit PCI, PCI-X and Infiniband all require 64-bit addressing. That makes this unusable for most I/O adapters unless this JVM supports 64-bit addressing with its references types but hides it from the user.
Oh well...
Re:real time java (Score:2)