There's no need for 4-6 years of R&D. Success is driven by creativity, etc. rather than eye-candy.
I don't really know how long it took to write even one of the HH books, but from what I've read, most of the good books (of any genre) take at least a year to write. Combine that with the fact that there's acrually a lot more to write for a game than for a book (multiple options/endings/commands/dialogues), and I gather a good *and elaborate* text game would take at least 2 years to make, maybe more.
Unfortunately, some programs of today (e.g. Mozilla Firefox/Thunderbird) rely heavily on executing "scripted" code.
What I mean is: In the olden days, resources such as dialogs and code that manages it were included ("embeded?") in the executable file (remember win32 resources?). So true, the OS loader could easily map single resource page and code between multiple applications. Now, applications such as Mozilla keep the dialogs (and even some code behind it) in XML files, and interpret it on as-needed basis.
Unfurtunately, that means no code sharing between executables - everything is malloc()-ed and managed on the fly. Java has exactly the same problem - multiple Java applications all load, again and again, the same class tree. (IIRC, Java 1.5 will try to address this).
I have a feeling that we are still fighting Galileo's battle. A particular strand of Christian thought - medieval Aristotelianism - is still making the running. Aristotle, on no particular evidence, thought that the planets were perfect, lifeless and unchanging - the Schoolmen adopted this as dogma - and scientists and engineers at Nasa are still trying to demonstrate that we occupy what is probably a very ordinary little planet, with a very ordinary set of dominant life forms, against people who think we are unique and very important in this huge universe. You know who you are.
How about plain old *scientific* reasoning? A true scientist cannot say "we live on a planet, it has water, it has life, why would we not expect to find it on the next planet out?" - that's where experiments come into view: you can't (for example) assume there's water on Mars just because it "feels right"!
For all we knew before landing on Moon, it just *could* have been made of cheese![*]
[*] Well, actually, odds were certainly against it, as primeval cheese seems to be pretty scarce in a huge lump of a planet next to it we call Earth:))) But that's not the point! The point is: we had to check. There are (or should be) pretty good SciFi/Alternative History stories about *what if* the moon landings had shown it beeing made of chese or something like that - what would *that* do to the entire science/religion climate at the end of millenium?:)
I can think of a few reasons *your* story might be classified as "bull":)
Firstly, installing "everything" on a machine, including Office and other big application suites, on a 400MHz machine, with (very likely) a slow HDD, will take ages. Secondly, what if, for some reason, you can't just reinstall everything? In your case(s), you say you frequently just reformat and start from scratch, but do your customers provide you with the licensed software, or the CD keys of the software you need to install? And what if those are lost, and repairing is the only option?
... and Old Greek. Such confusion could and should be avoided just by learning what the formula really means in ordinary words!
di-hydrogen-mono-(o)xide is two-hydrogen-one-oxygen in plain english! (Ok, so you also have to know that -oxide comes from oxygen, but that should be straightforward at least from chemistry classes).
But noooooo, Latin is toooo hard for young children today...
And I'm not buying that Latin is old, deprecated and unusable. It *is* in foundations of western civilisation!
Morse code was used as an international standard for maritime communication until 1999. When the French navy ceased using Morse code in 1997, the final message transmitted was "Calling all. This is our last cry before our eternal silence."
One of the biggest rewrites ever is certainly Linux and the FSF userland tools that accompany Linux distributions.
While, for example, BSD's 'ls' program can be tracked all the way to the seventies, GNU people of course rewrote it just for the license sake.
A nice example is the 'ping' tool. The story of ping tells how the program was concieved and made, and the FreeBSD's current ping.c is based on it:
/* * Copyright (c) 1989, 1993 * The Regents of the University of California. All rights reserved. * * This code is derived from software contributed to Berkeley by * Mike Muuss. ... */ /* * P I N G . C * * Using the Internet Control Message Protocol (ICMP) "ECHO" facility, * measure round-trip-delays and packet loss across network paths. * * Author - * Mike Muuss * U. S. Army Ballistic Research Laboratory * December, 1983 * * Status - * Public Domain. Distribution Unlimited. * Bugs - * More statistics could always be gathered. * This program has to run SUID to ROOT to access the ICMP socket. */
It's about the same thing nowdays, only FreeBSD 5.x has got a lot of support for fancy-ish new-ish hardware, and FreeBSD (which was way younger than 4.8 at the time you specified) has gotten much X11/KDE/GNOME support, so it is on par with linux and every other similar system.
(There's no such thing as 'Unix GUI', if you rule MacOS X and other commercial systems out - if you install KDE, it will look and behave exactly the same on every single platform that's supported).
As for the server side, I noticed major improvement (in ATA code, mostly) when I went from FreeBSD 5.1 to 5.2BETA on a really old machine (P133), so I guess the system actually *is* getting more mature. (That same P133 machine has not had a single crash since it started running FreeBSD (5.0 at the time was the hot thing.) - it is a heavily used file server with a new ATA133 controller). There are a few maybes and insecurities around the new threading and scheduler systems, but it seems they are getting more polished by the day (notice that, despite the witnessed stability, it is still not "STABLE" by the high standards:)) ).
I'm always wondering... development in physics in this century has actually showed that the reality is 'discreet' - the Planck's constant, Planck's time and similar notions tend to show that energy & matter are 'pixelised'. Voxels, anybody?:)
Well, a huge part of the reason why the BSD's are not more popular are the legal problems that were happening just at the start of Linux boom. See this page.
Now, all legal issues are solved and there is nothing the BSD's can be sued about:)
Wouldn't a language that is purely procedural, like ML (or derivatives...) be useful here?
I remember that a very high level of parallelism can be achieved with great ease, with pattern matching and similar features.
(a classical example: Fibonnaci numbers:
fun fib 0 = 1 | fib 1 = 1 | fib n = fib (n-2) + fib (n-1);
I didn't mean that the scheduler should be ported to other systems and then benchmarked, but to take whatever is already present in those system and stress it with the same benchmarks.
That WOULD be interesting, if only for the fun of it.
Is there a comparison, on the same hardware, under same conditions, of the same benchmarks applied on other systems, such as FreeBSD (4-STABLE as well as 5-CURRENT, they are different in many ways) and Windows (both 2k and XP)?
- SMP support on OpenBSD/i386 and OpenBSD/amd64 platforms.
- tcpdrop(8), a command to drop TCP connections.
- A generic IEEE 802.11 framework has been added.
- Improved support for USB 2.0 (ehci(4)) controllers.
- ... and more.
See http://www.openbsd.org/36.htmlhttp://people.freebsd.org/~bmah/pub/article.html
What I mean is: In the olden days, resources such as dialogs and code that manages it were included ("embeded?") in the executable file (remember win32 resources?). So true, the OS loader could easily map single resource page and code between multiple applications. Now, applications such as Mozilla keep the dialogs (and even some code behind it) in XML files, and interpret it on as-needed basis.
Unfurtunately, that means no code sharing between executables - everything is malloc()-ed and managed on the fly. Java has exactly the same problem - multiple Java applications all load, again and again, the same class tree. (IIRC, Java 1.5 will try to address this).
For all we knew before landing on Moon, it just *could* have been made of cheese![*]
[*] Well, actually, odds were certainly against it, as primeval cheese seems to be pretty scarce in a huge lump of a planet next to it we call Earth :))) But that's not the point! The point is: we had to check. There are (or should be) pretty good SciFi/Alternative History stories about *what if* the moon landings had shown it beeing made of chese or something like that - what would *that* do to the entire science/religion climate at the end of millenium? :)
Firstly, installing "everything" on a machine, including Office and other big application suites, on a 400MHz machine, with (very likely) a slow HDD, will take ages. Secondly, what if, for some reason, you can't just reinstall everything? In your case(s), you say you frequently just reformat and start from scratch, but do your customers provide you with the licensed software, or the CD keys of the software you need to install? And what if those are lost, and repairing is the only option?
... why not ban bricks? Surely history has shown many people were injured by them. Some of them *gasp* even died!
di-hydrogen-mono-(o)xide is two-hydrogen-one-oxygen in plain english! (Ok, so you also have to know that -oxide comes from oxygen, but that should be straightforward at least from chemistry classes).
But noooooo, Latin is toooo hard for young children today...
And I'm not buying that Latin is old, deprecated and unusable. It *is* in foundations of western civilisation!
They were not impressed :) but that was primarily because the lack of cvsup-like tool and 3dparty support.
Kind of poetic...
While, for example, BSD's 'ls' program can be tracked all the way to the seventies, GNU people of course rewrote it just for the license sake.
A nice example is the 'ping' tool. The story of ping tells how the program was concieved and made, and the FreeBSD's current ping.c is based on it:
That's a codebase 21 years old and still viable!(There's no such thing as 'Unix GUI', if you rule MacOS X and other commercial systems out - if you install KDE, it will look and behave exactly the same on every single platform that's supported).
As for the server side, I noticed major improvement (in ATA code, mostly) when I went from FreeBSD 5.1 to 5.2BETA on a really old machine (P133), so I guess the system actually *is* getting more mature. (That same P133 machine has not had a single crash since it started running FreeBSD (5.0 at the time was the hot thing.) - it is a heavily used file server with a new ATA133 controller). There are a few maybes and insecurities around the new threading and scheduler systems, but it seems they are getting more polished by the day (notice that, despite the witnessed stability, it is still not "STABLE" by the high standards :)) ).
"You look nice..." --> "Shall I compare thee to a Summer's day..."
http://virgo.kodu.net/scifi/clarke/odyssey/Clarke, %20Arthur%20C.%20-%202061%20A%20Space%20Odyssey.ht m
This is probably just a provision for Linux compatibility. All 'BSDs have kqueue/kevent mechanisms.
Practically all Windows version with IE 4 or 5 come with a built-in programming language, provided by "Windows Scripting Host" (WSH).
For example, save the following line in a file hello.vbs and you can "run" it:
Use Google to find a tutorial (e.g. this one).
I'm always wondering... development in physics in this century has actually showed that the reality is 'discreet' - the Planck's constant, Planck's time and similar notions tend to show that energy & matter are 'pixelised'. Voxels, anybody? :)
And, to get really secure power, that is verified to come from your chosen site, can you encapsulate it into a IPSec tunnel? :)))
Now, all legal issues are solved and there is nothing the BSD's can be sued about :)
I remember that a very high level of parallelism can be achieved with great ease, with pattern matching and similar features.
(a classical example: Fibonnaci numbers:)
This is just dying for a comment: :)))
Wow man! It's, like... he hacked the Gibson, dude!
I didn't mean that the scheduler should be ported to other systems and then benchmarked, but to take whatever is already present in those system and stress it with the same benchmarks.
That WOULD be interesting, if only for the fun of it.
Is there a comparison, on the same hardware, under same conditions, of the same benchmarks applied on other systems, such as FreeBSD (4-STABLE as well as 5-CURRENT, they are different in many ways) and Windows (both 2k and XP)?
Isn't this already present and is called FTP? (FTP is notoriously ugly when dealing with firewalls).