Weren't asynch chips experimented with in the 70's? Is it so great to be doing it for 10 years?
Async is being touted as the next step in chip design. Very few people have any experience with it, and many people don't think it is possible (even though the result is higher speed and lower power consumption). But Chuck is doing it now.
You have talked of writing a tiny web browser, one in line with your view that you can write any application in 1000x less code than generally available solutions. What would your approach be to writing such a browser?
Your philosophy seems to be one of minimizing the solution and the problem at the same time. That is, not only do you write the least amount of code to solve a problem, but you also reduce the scope of the original problem to make a solution easier, sometimes drastically. What are the limits of this philosophy?
Most of the questions I see here are FAQs (e.g. "What is Forth?") that you don't need to ask Chuck. It seems that people don't really understand what he has been up to, so here's a general overview.
He did create Forth, yes, but that was thirty years ago. And while Forth has been relatively unchanged for the last twenty years, Chuck has kept evolving the language in a quest for the minmum interface between a human and a computer. The "OS" talked about in the intro is only a couple of kilobytes (yes, kilobytes).
He works not just on software, but does true systems work: a combination of software and hardware. And that is what he is trying to minimize. The system as a whole, not just a programming language. He has been designing processors hand-in-hand with stack-based languages. So he can do things like write a compiler for his language in a hundred lines of code. And he has a chip that uses _milliwatts_ of power and only 15,000 or so transistors.
If nothing else, realize that Chuck is one of the few people single-handedly creating microprocessors. And he's way, way out there. Remember the recent Slashdot post about asynchronous logic? Chuck has been designing chips without proper clocks for ten years now.
My question to Mr. Moore: Linux is seen as a more stable and reliable alternative to Windows, but at the same time I wonder if it's real progress or just a similar incarnation of a traditional operating system. Is the concept of "operating system" outdated?
Every time something like the Home Depot thing occurs, it provides more evidence that Linux can do useful stuff.
Name any of the OSes used for embedded systems. Are they on the desktop? No. It is irrelevant.
The pointlessness of this kind of advocacy is what Amiga "fans" never understood. Did it matter that Amigas were used in certain kinds of high-end production work? Or that an Amiga showed up in the background of a popular sitcom? _NO_.
They can say whatever they want. Linux will bloom people!
Yes. But behind-the-scenes transaction handling has no connection to the desktop world. I am tired of seeing every article like "Home Depot to use Linux-driven cash registers" turned into a reason for zealotry.
When Garriott started out, he was the heart, soul, designer, and programmer of his games. But for the last ten years, he's been tangential at best. That's not his fault; games with 25 or more people working on them tend to be so diluted that a personal vision cannot shine through. Remember, he _was_ Ultima, yet Ultima VII was such a horribly misguided mess that he apologized to the computer gaming world for releasing it. Ultima IX was all technology to the point that 95% of the development effort went into creating a 3D world...and it still fell short in that department. The actual gameplay and story were laughable.
So unless we're looking at something small, something created by a handful of people, something that goes off in a different direction, then we're being set-up for another big mess (Ultima IX, Daikatana, Messiah, etc., etc.). This is how it always is.
I mean, seriously, what's the big deal if it's 0.8 seconds from power to LILO? I, personally, would rather have a BIOS that takes a few seconds to check the RAM, auto-detect devices, and check SCSI drives before it tries to boot the system.
Now realistically, does a processor even need 0.8 seconds to run a memory test and scan a few devices? 0.8 seconds is an eternity on any processor made in the last ten years.
I use a PIII 500 at home. It is fast enough for everything I need to do, even on those occasions I need to run Windows.
Heck, I run Windows on a PII 333 and have no complaints. Very snappy. Hard drive speed is more of an issue than processor speed in a few cases, like when Internet Explorer starts up. And I should add that this machine gets used for intensive graphics design work and software development. Never has speed been any kind of hindrance.
Whenever comments like this are made, certain groups come out of the woodwork: "But I need to solve systems of fifty thousand equations!"; "But I need to use a high-end rendering package!"; "But I run a video processing business!" And those people are all in the tinities of minorities.
Re:Nintendo's Turn Downhill?
on
The New Zelda
·
· Score: 2
Of course Nintendo's games were cartoon-style in the first place...
Re:Cartoony? How disappointing!
on
The New Zelda
·
· Score: 3, Interesting
I'm wondering why they made this choice when developpers all seem to be converging towards more encompassing (and realistic) 3D worlds...
This is not true. The wall game developers are running into (and I am one, not just some lunatic fanboy), is that making encompassing and realistic 3D works takes a huge amount of time. We're talking months and months for one medium-sized level. And that's with 'old' technology, not all the new crazy stuff that's coming out in hardware (programmable vertex shaders, for example). So we're headed toward games that will take armies of people ten years to create. Wouldn't it be better to take a different approach and concentrate on fun?
Here's a link to an article that Slashdot ran last year on the subject.
All the rage among younger students is the Cybiko, which is sort of a combo game system and PDA. The killer part of the Cybiko, however, is that it can become part of a wireless network made up of other Cybikos. Each can broadcast a signal up to 300 feet, but a school full of them creates a network that covers the entire school.
And the killer app: chatting! Well, that an wireless gaming. I can understand why teachers would want to get rid of these things. And they only cost $99 or so--with constant special offers--so they're easy to get. Neat hardware, though.
There are some big name, system-selling games for the Gamecube, most notably the latest Mario and Zelda titles. Nintendo showed only a few games at this past E3, but they were winners. I'd consider buying a Gamecube just to play them.
Microsoft, well, they don't have much that's exciting game-wise, even if they do have the "better" hardware. Their showing at E3 turned off many people to the Xbox. There are some long awaited vaporware products, like Halo, but they could easily turn out to be not worth the wait (as is happening so often these days with games in development for three or more years).
You know, this is bad and all, and it was very dumb of Microsoft (or more specifically, someone at Microsoft) for doing this. But at the same time, the Linux community does this kind of thing all the time. In the recent OpenGL vs. Direct3D thread, for example, everyone was bashing away at D3D based on info from years ago and without ever having used D3D. Pro-OpenGL rhetoric from such people is right up there with writing fake letters supporting OpenGL, in that they have the same lack of honest information content.
Lets be realistic. SDL is a thin wrapper for handing input, sound, and 2D bitmaps. That's it. For 3D, it leans entirely on OpenGL. So you're not going to be writing amazing PS2 games with SDL.
Web browsing is not a strong point
on
Linux Win In Schools
·
· Score: 5, Redundant
And for what schools use computers for - primarily the Internet, it's a great solution.
If that includes web browsing, I disagree. Sadly, most of the technical benefits of Linux are cancelled out of the horrible web browsing software available for it. The Linux kernel beats Windows in any test imaginable, but in browser tests IE 5 walks over everthing else by a wide margin. Sure, you *can* browse with Opera or Navigator, but only if you're willing to accept that you won't be able to view a good number of sites correctly. (You can take the idealistic "I don't want to see those sites anyway" road, but not everyone does.
When all of the hooplah about DirectX vs. OpenGL was a hot topic back around 1997, DirectX was a much different beast. It has gone through three major revisions since then (versions 6, 7, and 8). I'm still dumbfounded that a simple SDK can be a hundred megabyte download, but, that aside, DirectX is much simpler to use than it was even a few years ago. The big issue in 1997--execute buffers--haven't been necessary since 1998. The other big issue--horribly complex initialization code--was addressed in DirectX 8.
1. C and C++ are already minority languages, in that they are only used for a smallish percentage of applications. Yes, kernels and spreadsheets and games and paint programs are written in C and C++, but these are dwarfed by so-called enterprise applications written in Visual Basic, Delphi, PHP, and so on.
2. Let's suppose that Java really is slow, ignoring any improvements that have been made in Java run-time performance over the years. Back in 1996, when people said Java was slow, they were talking about software on a Pentium 133. When a 333MHz Pentium II was top of the line a few years later, people still said Java was slow. Ditto for the 600MHz Pentium III, the 900MHz Athlon, and the 1.7GHz Pentium IV. Even if it's slow relative to C++, we're still talking about a 10x speedup in raw horsepower.
3. Realistically, the issue with Java has always been "exactly how does this benefit me, the programmer." It's easier than C++, yes, but it's still in the same general ballpark. And there's been the slowly growing feeling that forcing everything into an object oriented framework is not the panacea it was once thought to be. Java may be too OO for it's own good.
Nope. Modern garbage collectors certainly don't walk around memory collecting things (and neither do modern heap allocators). All the tabular stuff that indexes memory and structures is usually contained in a small set of pages. Those refer to blocks elsewhere. No page swapping is required.
Actually, that's not quite true. But generational collectors are set-up so you don't have to run through entire sections of memory except in rare circumstances. And you can use virtual memory hardware to alert the collector when an old generation is being written to (so you don't have to look yourself).
This is not a Windows specific problem. Any modern GUI (e.g. KDE) has the same difficulties. Even when all of the crap is hidden behind an OOP veneer, it is still a mess to work with. Arguably, OOP has made things worse. What we really need are system libraries that are designed to get the job done as easily as possible and not the result of someone trying to made the world fit his own pet OO model.
I don't know how to say this politely, so I will sa it bluntly: The average game player is the ultimate addict of the consumer culture. They want someone else to hand them entertainment on a silver platter. I can see why many gamers do not have the willingness nor patience to learn how to use Linux as a desktop operating system.
If you extend "gamers" to include "professional developers, people with a sound understanding of computer science, and consumers with better things to do than focus on an operating system" then I will agree.
Remember, an OS is a means, not an end. Most Linux fans don't see it that way. That an OS has fans is telling enough.
Scott Draeker always dodged sales figure questions, and we all *knew* that they were abysmally low. Shareware-level low. Then I saw their actually figures through one of those sales tracking services and there were in that range. A couple of guys taking four months to port a game that sells 500 copies? That's not a business, sadly.
Weren't asynch chips experimented with in the 70's? Is it so great to be doing it for 10 years?
Async is being touted as the next step in chip design. Very few people have any experience with it, and many people don't think it is possible (even though the result is higher speed and lower power consumption). But Chuck is doing it now.
But, what functionality does it have?
Enough to build a high-end CPU.
You have talked of writing a tiny web browser, one in line with your view that you can write any application in 1000x less code than generally available solutions. What would your approach be to writing such a browser?
Your philosophy seems to be one of minimizing the solution and the problem at the same time. That is, not only do you write the least amount of code to solve a problem, but you also reduce the scope of the original problem to make a solution easier, sometimes drastically. What are the limits of this philosophy?
Forth has obviously been used for complicated embeded projects, but has it ever been used developing a GUI word processor or CAD program from scratch?
Chuck's CAD system used to design his processors is written in colorForth.
Most of the questions I see here are FAQs (e.g. "What is Forth?") that you don't need to ask Chuck. It seems that people don't really understand what he has been up to, so here's a general overview.
He did create Forth, yes, but that was thirty years ago. And while Forth has been relatively unchanged for the last twenty years, Chuck has kept evolving the language in a quest for the minmum interface between a human and a computer. The "OS" talked about in the intro is only a couple of kilobytes (yes, kilobytes).
He works not just on software, but does true systems work: a combination of software and hardware. And that is what he is trying to minimize. The system as a whole, not just a programming language. He has been designing processors hand-in-hand with stack-based languages. So he can do things like write a compiler for his language in a hundred lines of code. And he has a chip that uses _milliwatts_ of power and only 15,000 or so transistors.
If nothing else, realize that Chuck is one of the few people single-handedly creating microprocessors. And he's way, way out there. Remember the recent Slashdot post about asynchronous logic? Chuck has been designing chips without proper clocks for ten years now.
My question to Mr. Moore: Linux is seen as a more stable and reliable alternative to Windows, but at the same time I wonder if it's real progress or just a similar incarnation of a traditional operating system. Is the concept of "operating system" outdated?
Every time something like the Home Depot thing occurs, it provides more evidence that Linux can do useful stuff.
Name any of the OSes used for embedded systems. Are they on the desktop? No. It is irrelevant.
The pointlessness of this kind of advocacy is what Amiga "fans" never understood. Did it matter that Amigas were used in certain kinds of high-end production work? Or that an Amiga showed up in the background of a popular sitcom? _NO_.
They can say whatever they want. Linux will bloom people!
Yes. But behind-the-scenes transaction handling has no connection to the desktop world. I am tired of seeing every article like "Home Depot to use Linux-driven cash registers" turned into a reason for zealotry.
When Garriott started out, he was the heart, soul, designer, and programmer of his games. But for the last ten years, he's been tangential at best. That's not his fault; games with 25 or more people working on them tend to be so diluted that a personal vision cannot shine through. Remember, he _was_ Ultima, yet Ultima VII was such a horribly misguided mess that he apologized to the computer gaming world for releasing it. Ultima IX was all technology to the point that 95% of the development effort went into creating a 3D world...and it still fell short in that department. The actual gameplay and story were laughable.
So unless we're looking at something small, something created by a handful of people, something that goes off in a different direction, then we're being set-up for another big mess (Ultima IX, Daikatana, Messiah, etc., etc.). This is how it always is.
I mean, seriously, what's the big deal if it's 0.8 seconds from power to LILO? I, personally, would rather have a BIOS that takes a few seconds to check the RAM, auto-detect devices, and check SCSI drives before it tries to boot the system.
Now realistically, does a processor even need 0.8 seconds to run a memory test and scan a few devices? 0.8 seconds is an eternity on any processor made in the last ten years.
I use a PIII 500 at home. It is fast enough for everything I need to do, even on those occasions I need to run Windows.
Heck, I run Windows on a PII 333 and have no complaints. Very snappy. Hard drive speed is more of an issue than processor speed in a few cases, like when Internet Explorer starts up. And I should add that this machine gets used for intensive graphics design work and software development. Never has speed been any kind of hindrance.
Whenever comments like this are made, certain groups come out of the woodwork: "But I need to solve systems of fifty thousand equations!"; "But I need to use a high-end rendering package!"; "But I run a video processing business!" And those people are all in the tinities of minorities.
Of course ten years ago UNIX was 20 years old :)
Of course Nintendo's games were cartoon-style in the first place...
I'm wondering why they made this choice when developpers all seem to be converging towards more encompassing (and realistic) 3D worlds...
This is not true. The wall game developers are running into (and I am one, not just some lunatic fanboy), is that making encompassing and realistic 3D works takes a huge amount of time. We're talking months and months for one medium-sized level. And that's with 'old' technology, not all the new crazy stuff that's coming out in hardware (programmable vertex shaders, for example). So we're headed toward games that will take armies of people ten years to create. Wouldn't it be better to take a different approach and concentrate on fun?
Here's a link to an article that Slashdot ran last year on the subject.
All the rage among younger students is the Cybiko, which is sort of a combo game system and PDA. The killer part of the Cybiko, however, is that it can become part of a wireless network made up of other Cybikos. Each can broadcast a signal up to 300 feet, but a school full of them creates a network that covers the entire school.
And the killer app: chatting! Well, that an wireless gaming. I can understand why teachers would want to get rid of these things. And they only cost $99 or so--with constant special offers--so they're easy to get. Neat hardware, though.
There are some big name, system-selling games for the Gamecube, most notably the latest Mario and Zelda titles. Nintendo showed only a few games at this past E3, but they were winners. I'd consider buying a Gamecube just to play them.
Microsoft, well, they don't have much that's exciting game-wise, even if they do have the "better" hardware. Their showing at E3 turned off many people to the Xbox. There are some long awaited vaporware products, like Halo, but they could easily turn out to be not worth the wait (as is happening so often these days with games in development for three or more years).
You know, this is bad and all, and it was very dumb of Microsoft (or more specifically, someone at Microsoft) for doing this. But at the same time, the Linux community does this kind of thing all the time. In the recent OpenGL vs. Direct3D thread, for example, everyone was bashing away at D3D based on info from years ago and without ever having used D3D. Pro-OpenGL rhetoric from such people is right up there with writing fake letters supporting OpenGL, in that they have the same lack of honest information content.
Lets be realistic. SDL is a thin wrapper for handing input, sound, and 2D bitmaps. That's it. For 3D, it leans entirely on OpenGL. So you're not going to be writing amazing PS2 games with SDL.
And for what schools use computers for - primarily the Internet, it's a great solution.
If that includes web browsing, I disagree. Sadly, most of the technical benefits of Linux are cancelled out of the horrible web browsing software available for it. The Linux kernel beats Windows in any test imaginable, but in browser tests IE 5 walks over everthing else by a wide margin. Sure, you *can* browse with Opera or Navigator, but only if you're willing to accept that you won't be able to view a good number of sites correctly. (You can take the idealistic "I don't want to see those sites anyway" road, but not everyone does.
When all of the hooplah about DirectX vs. OpenGL was a hot topic back around 1997, DirectX was a much different beast. It has gone through three major revisions since then (versions 6, 7, and 8). I'm still dumbfounded that a simple SDK can be a hundred megabyte download, but, that aside, DirectX is much simpler to use than it was even a few years ago. The big issue in 1997--execute buffers--haven't been necessary since 1998. The other big issue--horribly complex initialization code--was addressed in DirectX 8.
Some comments on other comments:
1. C and C++ are already minority languages, in that they are only used for a smallish percentage of applications. Yes, kernels and spreadsheets and games and paint programs are written in C and C++, but these are dwarfed by so-called enterprise applications written in Visual Basic, Delphi, PHP, and so on.
2. Let's suppose that Java really is slow, ignoring any improvements that have been made in Java run-time performance over the years. Back in 1996, when people said Java was slow, they were talking about software on a Pentium 133. When a 333MHz Pentium II was top of the line a few years later, people still said Java was slow. Ditto for the 600MHz Pentium III, the 900MHz Athlon, and the 1.7GHz Pentium IV. Even if it's slow relative to C++, we're still talking about a 10x speedup in raw horsepower.
3. Realistically, the issue with Java has always been "exactly how does this benefit me, the programmer." It's easier than C++, yes, but it's still in the same general ballpark. And there's been the slowly growing feeling that forcing everything into an object oriented framework is not the panacea it was once thought to be. Java may be too OO for it's own good.
Nope. Modern garbage collectors certainly don't walk around memory collecting things (and neither do modern heap allocators). All the tabular stuff that indexes memory and structures is usually contained in a small set of pages. Those refer to blocks elsewhere. No page swapping is required.
Actually, that's not quite true. But generational collectors are set-up so you don't have to run through entire sections of memory except in rare circumstances. And you can use virtual memory hardware to alert the collector when an old generation is being written to (so you don't have to look yourself).
This is not a Windows specific problem. Any modern GUI (e.g. KDE) has the same difficulties. Even when all of the crap is hidden behind an OOP veneer, it is still a mess to work with. Arguably, OOP has made things worse. What we really need are system libraries that are designed to get the job done as easily as possible and not the result of someone trying to made the world fit his own pet OO model.
I don't know how to say this politely, so I will sa it bluntly: The average game player is the ultimate addict of the consumer culture. They want someone else to hand them entertainment on a silver platter. I can see why many gamers do not have the willingness nor patience to learn how to use Linux as a desktop operating system.
If you extend "gamers" to include "professional developers, people with a sound understanding of computer science, and consumers with better things to do than focus on an operating system" then I will agree.
Remember, an OS is a means, not an end. Most Linux fans don't see it that way. That an OS has fans is telling enough.
Scott Draeker always dodged sales figure questions, and we all *knew* that they were abysmally low. Shareware-level low. Then I saw their actually figures through one of those sales tracking services and there were in that range. A couple of guys taking four months to port a game that sells 500 copies? That's not a business, sadly.