3D printers/Von Neumann machines are cool. You can't argue with exponential growth of production capacity.
Imagine if we could send a 3D machine to the moon and get it to build solar panels and mining equipment, and then another 3D machine... it could send BACK materials and even power to the ISS and earth.
1,2,4,8, who do we appreciate Voooooooon Neuman!!!
No. Previous items built by 3D printers haven't been strong enough to actually use. The first ones were weak plastic, and then there were wax models- you could see what it would look like, you could turn it over in your hands and fit it together, but it wouldn't actually work.
This is the only time anyone has actually put it straight into a real machine. (Although people have built molds using this technology; it's close but no cigar IMO.)
It's not clear that he really chose it either. The stress of those matches he played were astronomical; IMO they may well have caused both players long term pschological damage which could easily cause him to become a recluse. (Or not... I don't know the guy, but it sounds logical.)
However the Space Shuttle's reentry is not clean: largeish quantities of NO, NO3 and other fairly nasty chemicals get made in significant proportions. Overall the Space Shuttle is quite dirty- even the main engines burn LOX/LH which in theory is very clean, but in practice to make LH needs 6x the energy that end up in the fuel...
The Space Shuttle makes an essentially negligable contribution to pollution; but it's one of the candidates for dirtiest AND loudest although Saturn V may well be the overall prize winner;-)
>Doing a couple of states in a parallel hardware design is easy, but thousands, or ten's of thousands of states is nearly impossible.
Depends on how complex the states are. It might be possible to compile the hardware from a representation language that is close to the IP domain.
> Plus, a firewall needs to be flexible, (catch the latest un-expected hacker exploit, log it, etc), which is something most hardware designs are not.
Hmm. He said they were using programmable logic. There are programmable logic devices that are dynamically reconfigurable in real time. I assume they would use them.
The idea was definitely high risk, but in my opinion can definitely be done. I work with equally complex ASICs every working day of my life. Whether it is worth doing, is very arguable; but it's definitely possible.
Absolutely. When are you going to be making the same claims for other tax payer funded items?
Consider the White House... Everyone should get to sit in the big chair? Stealth Bomber? You want a go?
Don't think so. Just because you pay for it doesn't mean you personally or you corporately benefit from it. In this case you can use it; even modify it. Be happy. But you can't modify it and distribute it without everyone else seeing how you've hacked it. That's much fairer than the stealth bomber.
>Techies are more well-rounded because the current system forces them to be. And I like it.
That's good.
However think about this- many 'fuzzies' never have to do any technical courses at all.
On the other hand, technical people get failed if they don't pass certain 'fuzzy' courses.
Is that right? Should really deeply techy people be denied their chosen careers because they lack talents in an area they in the end don't need?
Should fuzzies? No. But because fuzzies tend to dominate the teaching professions we get sick mess ups like that. (Do I sound bitter? Perhaps, OTOH I managed to scrape enough fuzzies; but it was an issue.)
Personally if it was me, I'd dump all the lessons onto the internet, give each student a computer and make them self pace, and even self choose courses. The teachers can wander around and help them if they get stuck. I think kids will tend to race through subjects that interest them, and crawl through the others. But I also think that kids will do better, and tend to reach the end of a trail and then come back and do better on the others, and will learn more overall.
Hint: the lack of homogenous arrays are no big deal in Java; you get an exception during testing (you DO test your code?) and its pretty obvious what's going on. In C++ homogenous arrays can cause somewhat difficult to debug crashes unless you use templates to prevent them. Thus, this 'hole' in Java isn't a problem in practice; but it was in C++; and was fixed in the normal way- crufting on new features to the language and bloating the specification.
In my experience the C++ typing scheme is still very bad, worse than Java. Automatic type coercion? Just say no. Garbage Collection (not reference counting) is incredibly useful. C++ what a nightmare, gothic language with a truly epic specification. Someone needs to explain the concept of 'elegance' to Bjarne...
Oh, yeah, you claim that the auto_ptr stuff is going to fix all known ills. I'm sure it will make the language more predictable- a GOOD thing. However library add ons typically run more slowly than compiler visible features. Therefore C++ may well end up slower than Java, ironic in a language that was designed for speed at the expense of elegance.
As for Cecil- there is some evidence now that runtime typed languages (e.g. scripting languages) are quicker to write in, including debugging. Still, for somewhat rare applications I think that typing is important.
Superficially, having so much in common is probably a good thing.
The current useability ideal, is roughly 'do what the users expect'. Right now the users expect to shut down the system using the start button. So what do we have to give them?
I never said you can write it in Pure Java... Java yes, C yes, if you compare, more or less, oranges for oranges then Java is quite comparable to C/C++ which is the real point of this item isn't it?
i.e. C + suitable libraries -> DVD player
Java + similar libraries -> DVD player
Nope. Check the top of the thread. That was HeUnique.
>even C++ is not fast enough for DVD decoding
C/C++ is fast enough for DVD when you supplement it with a decent vector library and some bitblt type of thing for writing to the screen. And the same is true of Java. Whether that counts as 'writing it in Java' or not, is of course arguable, but show me pretty much any program and I can show you some assembly in a standard library somewhere. (e.g. memcpy)
>Only a true Java developer could write something as foolish as this.
Really? Actually I'm a C++/C expert.
>Why do you think the behavior of enemies in games are so predictable?
Been listening to you too much?;-)
Or, more likely since noone listens to you; the developers had to spend ages trying to get rid of the random crashes caused by wild pointers and array overflows; and they had no design time left to improve the AI.
Basically, all benchmarks comparing different languages should be taken with a sackload of salt. These are some of the more reasonable comparisons I could find in about 10 minutes. As a rule of thumb I think that any benchmark older than 12 months should probably be ignored; there's been too many improvements since then (many of these benchmarks are slower than gcc but some are faster):
Um. AltiVec's C API is presumably coded in assembler. So you can't do really fast DVD in pure C either.
Anyway, you can call C APIs from Java. So, yes you can write a DVD in Java, as much as you can write it in C! All the hardwork is done in assembler anyway...
There's probably nothing that C compilers do that can't be done by a Java VM. Some of the VMs use C backends anyway.
(Not that I'm claiming that current Java VMs are optimising for vector stuff, they may very well not be).
>I'm having trouble imagining a Java tool that could automatically
>vectorize code where Java has no way to express vector operations.
Well, Fortran can optimise vector stuff fairly well. If the VM spots similar structure in a Java program it may be able to implement the same optimisations. I'm sure the devil's in the details, but it's not impossible.
I'd certainly challenge the assertion that Java is slower in all cases than C++. Some of the performance benchmarks for Java have exceeded those achieved or matched those by reasonable C++ compilers, particularly in numeric intensive benchmarks.
An FPS in java is not a dumb idea at all; most of the performance in framerate is determined by the graphics drivers, and it wouldn't surprise me if the guts of that isn't assembly anyway- the game logic may have little to do with the frame rate.
The current Java technology is plenty fast enough.
DVD can be done. Java is actually as fast as C++ for numeric intensive applications such as that.
CD-R is quite doable in Java if you code it carefully; you don't get garbage collection pauses if you don't generate any garbage...
Java isn't you're fathers Java any longer, it's not quite as fast as C++, by and large, but it's often within a small percentage; and with current processor speeds, but mostly who cares about even a 50% hit?
They should use hydrogen. It's cheaper, safe (contrary to popular belief) and gives far better performance.
The Hindenburg exploded not because it had hydrogen in it, but due to a big screwup in the doping of the skin (aluminium powder == rocket fuel; add iron oxide == thermite; add combustible hydrocarbons for added excitement!)
If the processor is the thing you wait for then you need the fastest processor you can.
I personally wait for my internet connection most; secondly I wait for the system to boot up/shutdown (that's a lot more to do with disk throughput); third I wait for my graphics card (I've got an ancient Matrox G400); last of all I wait for my processor.
And that's the order I would upgrade for performance, given the choice. But if I spent all day burning processor cycles doing some compute intensive operation, then I'd upgrade my processor.
The RAM speed doesn't make a lot of difference, only a couple of percent. Not having enough RAM can have a much bigger effect- I recently added 256 meg- and the system is now noticeably faster- I was using up my RAM and the system was swapping stuff out. (RAMs at 20c/Megabyte it's a good time to buy. [Also, Quake III was able to use the extra RAM and gives a higher framerate;-)]
>so basically what you saying is... The goverment should control the internet and that our tax dollars should fund access for anyone who has a computer.
That's either or thinking. The world isn't either-or.
3D printers/Von Neumann machines are cool. You can't argue with exponential growth of production capacity.
Imagine if we could send a 3D machine to the moon and get it to build solar panels and mining equipment, and then another 3D machine... it could send BACK materials and even power to the ISS and earth.
1,2,4,8, who do we appreciate Voooooooon Neuman!!!
No. Previous items built by 3D printers haven't been strong enough to actually use. The first ones were weak plastic, and then there were wax models- you could see what it would look like, you could turn it over in your hands and fit it together, but it wouldn't actually work.
This is the only time anyone has actually put it straight into a real machine. (Although people have built molds using this technology; it's close but no cigar IMO.)
It's not clear that he really chose it either. The stress of those matches he played were astronomical; IMO they may well have caused both players long term pschological damage which could easily cause him to become a recluse. (Or not... I don't know the guy, but it sounds logical.)
However the Space Shuttle's reentry is not clean: largeish quantities of NO, NO3 and other fairly nasty chemicals get made in significant proportions. Overall the Space Shuttle is quite dirty- even the main engines burn LOX/LH which in theory is very clean, but in practice to make LH needs 6x the energy that end up in the fuel...
;-)
The Space Shuttle makes an essentially negligable contribution to pollution; but it's one of the candidates for dirtiest AND loudest although Saturn V may well be the overall prize winner
>Doing a couple of states in a parallel hardware design is easy, but thousands, or ten's of thousands of states is nearly impossible.
Depends on how complex the states are. It might be possible to compile the hardware from a representation language that is close to the IP domain.
> Plus, a firewall needs to be flexible, (catch the latest un-expected hacker exploit, log it, etc), which is something most hardware designs are not.
Hmm. He said they were using programmable logic. There are programmable logic devices that are dynamically reconfigurable in real time. I assume they would use them.
The idea was definitely high risk, but in my opinion can definitely be done. I work with equally complex ASICs every working day of my life. Whether it is worth doing, is very arguable; but it's definitely possible.
Absolutely. When are you going to be making the same claims for other tax payer funded items?
Consider the White House... Everyone should get to sit in the big chair? Stealth Bomber? You want a go?
Don't think so. Just because you pay for it doesn't mean you personally or you corporately benefit from it. In this case you can use it; even modify it. Be happy. But you can't modify it and distribute it without everyone else seeing how you've hacked it. That's much fairer than the stealth bomber.
Oh yeah. The Illuminati are really your friends. I don't think so. ;-)
>Techies are more well-rounded because the current system forces them to be. And I like it.
That's good.
However think about this- many 'fuzzies' never have to do any technical courses at all.
On the other hand, technical people get failed if they don't pass certain 'fuzzy' courses.
Is that right? Should really deeply techy people be denied their chosen careers because they lack talents in an area they in the end don't need?
Should fuzzies? No. But because fuzzies tend to dominate the teaching professions we get sick mess ups like that. (Do I sound bitter? Perhaps, OTOH I managed to scrape enough fuzzies; but it was an issue.)
Personally if it was me, I'd dump all the lessons onto the internet, give each student a computer and make them self pace, and even self choose courses. The teachers can wander around and help them if they get stuck. I think kids will tend to race through subjects that interest them, and crawl through the others. But I also think that kids will do better, and tend to reach the end of a trail and then come back and do better on the others, and will learn more overall.
Hint: the lack of homogenous arrays are no big deal in Java; you get an exception during testing (you DO test your code?) and its pretty obvious what's going on. In C++ homogenous arrays can cause somewhat difficult to debug crashes unless you use templates to prevent them. Thus, this 'hole' in Java isn't a problem in practice; but it was in C++; and was fixed in the normal way- crufting on new features to the language and bloating the specification.
In my experience the C++ typing scheme is still very bad, worse than Java. Automatic type coercion? Just say no. Garbage Collection (not reference counting) is incredibly useful. C++ what a nightmare, gothic language with a truly epic specification. Someone needs to explain the concept of 'elegance' to Bjarne...
Oh, yeah, you claim that the auto_ptr stuff is going to fix all known ills. I'm sure it will make the language more predictable- a GOOD thing. However library add ons typically run more slowly than compiler visible features. Therefore C++ may well end up slower than Java, ironic in a language that was designed for speed at the expense of elegance.
As for Cecil- there is some evidence now that runtime typed languages (e.g. scripting languages) are quicker to write in, including debugging. Still, for somewhat rare applications I think that typing is important.
Superficially, having so much in common is probably a good thing.
The current useability ideal, is roughly 'do what the users expect'. Right now the users expect to shut down the system using the start button. So what do we have to give them?
Java (with a decent VM) is faster than that. The hit is only 30-50%. That's about 9 months of Moores Law.
Think what the games were like 9 months ago. Not much different, by and large, from what they are now.
I never said you can write it in Pure Java... Java yes, C yes, if you compare, more or less, oranges for oranges then Java is quite comparable to C/C++ which is the real point of this item isn't it?
i.e. C + suitable libraries -> DVD player
Java + similar libraries -> DVD player
>You'd have to write the program such that it generates no garbage at all
Yeah, it's a nuisance, but it's not rocket science.
>I didn't make the example, you did :)
Nope. Check the top of the thread. That was HeUnique.
>even C++ is not fast enough for DVD decoding
C/C++ is fast enough for DVD when you supplement it with a decent vector library and some bitblt type of thing for writing to the screen. And the same is true of Java. Whether that counts as 'writing it in Java' or not, is of course arguable, but show me pretty much any program and I can show you some assembly in a standard library somewhere. (e.g. memcpy)
>Only a true Java developer could write something as foolish as this.
;-)
Really? Actually I'm a C++/C expert.
>Why do you think the behavior of enemies in games are so predictable?
Been listening to you too much?
Or, more likely since noone listens to you; the developers had to spend ages trying to get rid of the random crashes caused by wild pointers and array overflows; and they had no design time left to improve the AI.
>You can write the GUI to control a DVD player in Java, but you can't write the
>DVD player itself in Java. You can't write it in C either.
What's the point of your DVD example if Java is close enough in performance and has access to all the same speedups as C(++)?
I mean, sure you'll have to use non pure Java, but then you can't use pure ANSI-C either.
Um. AltiVec's C API is presumably coded in assembler. So you can't do really fast DVD in pure C either.
Anyway, you can call C APIs from Java. So, yes you can write a DVD in Java, as much as you can write it in C! All the hardwork is done in assembler anyway...
There's probably nothing that C compilers do that can't be done by a Java VM. Some of the VMs use C backends anyway.
(Not that I'm claiming that current Java VMs are optimising for vector stuff, they may very well not be).
>I'm having trouble imagining a Java tool that could automatically
>vectorize code where Java has no way to express vector operations.
Well, Fortran can optimise vector stuff fairly well. If the VM spots similar structure in a Java program it may be able to implement the same optimisations. I'm sure the devil's in the details, but it's not impossible.
An FPS in java is not a dumb idea at all; most of the performance in framerate is determined by the graphics drivers, and it wouldn't surprise me if the guts of that isn't assembly anyway- the game logic may have little to do with the frame rate.
DVD can be done. Java is actually as fast as C++ for numeric intensive applications such as that.
CD-R is quite doable in Java if you code it carefully; you don't get garbage collection pauses if you don't generate any garbage...
Java isn't you're fathers Java any longer, it's not quite as fast as C++, by and large, but it's often within a small percentage; and with current processor speeds, but mostly who cares about even a 50% hit?
They should use hydrogen. It's cheaper, safe (contrary to popular belief) and gives far better performance.
The Hindenburg exploded not because it had hydrogen in it, but due to a big screwup in the doping of the skin (aluminium powder == rocket fuel; add iron oxide == thermite; add combustible hydrocarbons for added excitement!)
>The olympic motto is "Swifter. Higher. Stronger." I fail to see how
;-)
>this includes chess and other non-physical competitions.
Swifter. Interesting that I see that and you don't...
If the processor is the thing you wait for then you need the fastest processor you can.
;-)]
I personally wait for my internet connection most; secondly I wait for the system to boot up/shutdown (that's a lot more to do with disk throughput); third I wait for my graphics card (I've got an ancient Matrox G400); last of all I wait for my processor.
And that's the order I would upgrade for performance, given the choice. But if I spent all day burning processor cycles doing some compute intensive operation, then I'd upgrade my processor.
The RAM speed doesn't make a lot of difference, only a couple of percent. Not having enough RAM can have a much bigger effect- I recently added 256 meg- and the system is now noticeably faster- I was using up my RAM and the system was swapping stuff out. (RAMs at 20c/Megabyte it's a good time to buy. [Also, Quake III was able to use the extra RAM and gives a higher framerate
Probably by stealing their cars.
>so basically what you saying is... The goverment should control the internet and that our tax dollars should fund access for anyone who has a computer.
That's either or thinking. The world isn't either-or.
Or is it?
Yes? No?
Yes, or No?
Yes and No?
Or Yes, No and Other?
Which?