Templates are arguably a part of the object model being a weak (IMHO) implementation of parametric polymorphism
Simula like Java does not have multiple inheritance (if this could be qualified as simpler) but also as both (Java and C++) it does not have class members
But, most importantly, the original poster, as far as I can tell, described the lack of metaobject protocol in Java, where reflection and introspection serve as "a poor man metaobject protocol"...
AFAIK (but I'm not sure) Laser Jets HP 1040 use MIPS. PCL and PS probably need quite a bit of floating point power to render good graphics. Although 64-bit integer in there may look excessive, but, on the other hand some functions probably could be optimized for speedier integer operations with this extra precision.
In this kind of products it seems nice to have all those 64 bits, even in integers. Anyway, just an idea - there are devices out there beyond routers that are part of an embedded market and may benefit from these extra bits.
It's working for you because at the moment your solution is "unique". If it becomes standardazied, nothing will prevent "innovative" spammer to create/buy an autoresponder that will whitelist their spam...
We are already paying for plastic bottles as an incentive to recycle. IMHO, view-once DVDs are not even a bit different. We'll just have to add those 10c per disk, and your xMart will add one more recycling machine: "glass", "plastic", "cans", "DVD":-)
but you have probably forgotten about this thing with long running applications - they tend to fragment heap... It does not hit you often, but when it does, it's a kill. Last time I checked there were no indication that there is a destructor writing pattern that helps you with fragmentation.
usually gets 5.2 KB/sec transferring DEBs. Those are quite compressed files. On the other hand, while downloading webpages it is not uncommon to see 7-10KB/sec.
Hence beyond conserving some/a lot (depending on the nature of a web site) bandwidth, gzip actually improves perceived download speed for modem users. Just compare modems 2-3x compression, and possible huge numbers gzip may get on big files with a lot of similar patterns. To highlight my point I just compressed a specific web page (an atypical case, but...:-) from inittial size of 117,340 to 4,466 bytes:-D
As reported by Russian Information Agency Novosti (News):
In Russia, priority is assigned to the state federal programme of space research and meeting goals of the national Defense Ministry. As to other projects, Rosaviakosmos can consider them and submit for government approval only if these projects are expedient, economically feasible and rely on financial backing.
I think you are a little misguided in you conclusion "that Inferno was in fact written in answer to Java". Though I realize, that you simply may know something that others do not know, but at least officially Vita Nuova is saying in the The design of the Inferno virtual machine paper:
In early 1995, we set out to apply the ideas of the Plan 9 operating system [1] to a wider range of devices and networks. The resulting system, Inferno [2], is a small operating system and execution environment that supports application portability across a wide variety of processors and operating systems. Unaware of the contemporary work to establish Java [3] from the technology of the Oak project, we independently concluded that a virtual machine (VM) was a necessary component of such a system [4]. Because of improvements in processor speed and the feasibility of on-the-fly compilers, a VM can execute quickly enough to be economically viable.
I definitely agree with you that all these "execution environments" are simply browser bloat that I can live without. Unix tought us to combine small tools to solve complex problems. Going along this line, if you agree with it, browser should be used for browsing. Though I believe embedding Java in Netscape was a huge push for the technology recognition, and probably this is a motive that drives Vita Nuova as well. Seeing how far superior Inferno is to JVM I rather see it as a part of all browsers, so people will recognize it, begin liking and using it.
WHAT SAMPLE PROGRAMS ARE AVAILABLE?
The sample programs currently include Bouncing Balls, Eliza (your Personal Therapy Computer), Mandelbrot Fractal Browser, Polyhedra Viewer, Reversi (Othello) and Tetris.
Yes, they are not exactly a Quake, but they are there...
That facility does not work without some human being, who replaced the old resource in the first place, mentioning that it actually "Moved Permanently" and where. Otherwise a decent implementation of HTTP will respond with 404 Not Found.
So one would wish that web admins on every site that one visits do a good job and put 301 redirection in place, but most of the time that is a wish only...
Last time I checked Linux did not support parallel mice (correct me if I'm wrong:-), maybe the guy owns one and cannot use...
On a more serios note - shortcuts is a too nice feature, and I miss some very much when they are not their. My personal favorites: <Alt>-1... <Alt>-0 on WindowMaker - tremendous help with desktop utilization.
It is probably true that Mozilla is dead as a sulution for web browsing today. Both late realese (well, it's not there yet, but hopefully will be one day), and a features bloat brought it to slow erosion of interest from the general user base.
But! Maybe this evaluation is not quite correct. We used to think about Mozilla as Netscape project, that should defeat IE based on its standard compliance and stability (at least, we hoped it will have it), and thus being targeted to the same general user base where IE is currently present. What if we just missed the whole point?
Mozilla, as I see it, is an AOL project, and when (not if) it's ready for the use only a small fraction of us will start using it the next day after release, but(!) the next AOL client X.0 will come with Mozilla embedded, and all those 20-something million users will get a CD with it in their mail. Not all of them will upgrade, but that would be the beginning of a slow drift toward Mozilla/Netscape.
If we consider that assumption, then probably a feature bloat, that slows Mozilla development and hurts it badly now, is a necessity for them - AOL needs all those features for their client, including IRC...
I saw it some time ago on Discovery: that was an initial design to launch shuttles - a big delta-shaped jet which would carry an orbiter to the upper layers of the atmosphere, where they would disconnect and the latter will continue up, while the "launcher" descends for "reuse". As they said there - the idea was scrapped due to very high cost of development of this specific jet (big rockets where already available, and development of a specific one for shuttle launches would take significantly less effort), plus they faced budget cuts, and were afraid that the entire program will be jeopardized if they continue with a "jet". So, as I understood, that was the sole reason why current system uses rockets despite they inneficiency.
...code until it feels too messy, go back, rework, continue to code anew, get stuck, etc I have no idea whether others code in a similar fashion or not. Don't worry, you are not alone:-) and BTW this process has a name - people call it refactoring
Anyone who thinks cookies are harmless obviously doesn't know much about them.
Cookies are not harmless. As well as kitchen knives, golf or baseball clubs, [add you favorite misuse here], even the wheel and fire. But it looks like you mixed up the tool and the use of it. Someone can send you a cookie to truck your habits, another will dumbly put sensitive information in it (and browser will store it as a text file for anyone to read), but yet another will just use it to track your session, to help you see only what you want to see, to be better for you. So why do we continue to blame the tool?!
Yes. There are better ways, and maybe one day we all will be there to use them, but for now cookies are good enough, provided you can control what you send, where and when. Can you really do this with current browsers? Not really. What I personally saw is either everything or nothing, though there is a post in this discussion about better implementation in IBrowse. But should we eat raw food waiting for a fire to be put in stoves? Or we can still use it for our benefit?...
No it's not about API! It's about exclusive OEM contracts with computer manufactures. There is no other software distribution method available today which is more effective than preinstalled software.
Exclusive OEM contracts created environment where there is only one product and no viable alternatives. So now if you want to develop something that will run with that product you have to follow their API. There is simply no other, you have no choice. And guess what? They are developing something too, and they do not want you to compete with them, so they are free to change their API.
Well, you force them to play honestly and use only published API for their own products, so you are on a level field with them while developing applications. But, can you distribute your software preinstalled?... And if you are really annoying they will preinstall it (their code) for free!... After all the core part is theirs and exclusive OEM contract guards it.
1) Breakup along product/service lines. The result is several companies with very close ties that are not in competition with each other. Multiple monopolies instead of a single monopoly
Again it's about OEM contracts. If the core product has no more power to be the only one, why "MS Office Corp" would concentrate on a single platform? Why they will not develop for an emerging alternative that could/will/does have substantial presence on users desktops?
2) Breakup into several competing companies, each of which obtains the right to all existing Microsoft software. The result would be the fragmentation of all Microsoft programs. Eventually, one of these "baby bill" companies would come out the winner, while the rest of the Microsoft spinoffs wither away and die, and we are left back at square one.
If and only if that one "baby bill" company has managed somehow to regain exclusive OEM contracts... But if not, then we have several of them, each competing to be installed on your desktop, and at least some of them will pay attention to stability and quality, and will not create overbloated buggy installations. So, maybe those will survive, plus other developers will have a chance to be able to spend their time on components - high-quality components and extensions.
Your statement is partially true - Java threads will fight for a single processor time in green threads JVM. Which is not the case if JVM uses native threads model, when Java threads are mapped to OS threads. The latter effectively uses all the CPUs (well, at least those, which os scheduler decided to assign to JVM process).
One more comment - about "green" threads JVM: though the entire process is executed by a single CPU, provided properly implemented, JVM should be able to let threads run when one/several of them are waiting on IO completion. It would take careful design with non-blocking I/O, but it's doable, and I would guess that Sun's green-thread JVM uses something like that.
I'm terribly sorry if my judgement is wrong, but it appears that your have experience with Java mostly in coding what could be collectively called a "user interface".
None of known to me data processing application works on a "naked" hardware, so even if we assume that Java is not used for a middle tier application, but for a deeper digging "100% Java" application server, it still stands on a very high foundation of a native code. A typical data-application server will spend most of it's time waiting for IO completion here and there and not cranching what it retrieved from disks. Why do you think all those PL/SQL at al applications survived and even prosperred?
One may argue that Java based app.server will create more load on a processor that native-code compiled application. While to some extent this is true, the difference is not that significant with a JIT, when Java can come a little closer to the hardware. On the other hand, despite all the deficiencies in the language itself that can only be abhored (like elimination of multiple inheritance, inability to overload operators, absence of templates - IMHO the last one is particularly painfull) it still provides today unmatched environment for programmer productivity with it's garbage collection and extensive standard library.
The only visible prblem today for Java based app.servers - besides those mentioned above language constraints - is memory consumption, which is quite significant. But again, a typical hardware for app.servers today has more than 64M of RAM (you have to run your database somehow and it loves to cache pages), so it's usually not a real problem.
In my carrier as a software engineer I have been involved in several quite large projects that targeted application servers. Some of them where written in C++, and some, more recent, in Java. We never experienced performance problems with Java servers, but it's worth to mention that our development productivity has increased and noticeably.
I've just read all those postings and keep wondering - why most of them are concentrated on two aspects:
cloning of a human body, and
religious aspects of the mere existance of the clone
While maybe the replica of the body is mostly identical to the original, what about personality (one may say soul). Since birth (end of cloning) every human goes through his/her life and experiences quite different set of events. All those, though maybe not determining, but substantial factors that regulate and control who and what it is. So, can we think that clones are different than those who have been born though "standard" procedure?
One gives his/her human cell and after a while there is a "clone". But clone of what? To what extent they are similar, so we call another being a clone? Thay have same DNA, and essentially identical cell level structure, but are they mere copies of each other? Since the very first second their lives are different, they were grown differently, they were born at different times, in different places, experienced different circumstances, met different people. So after we'd "cloned" a body, or raither produced new one that is very close resemblance of the original (more precisely - we just initiated that process, in somewhat unusual way), the nature (God, if you wish) took care of the rest. At the end we have just another human being. Yes, conception was different, but still - nature produced just another human being.
What if we consider that astrology has some merits. Then probably a "clone" would be more distant from the original than a regular identical twin would be - different times, different places, different sky over the clone's head. So, why not we just look at it as just another human being, that has remarcable physical similarity to one of us?
I am wondering - has the guy the right (even if just moral) to say that his site is "resommended by Linux Journal" and "Readers Choice Award 1997 'Best Linux Web Page'"?
It looks similar but at the same time is newly created another web site... Or I missed someting?
- Garbage collector is part of memory model
- Templates are arguably a part of the object model being a weak (IMHO) implementation of parametric polymorphism
- Simula like Java does not have multiple inheritance (if this could be qualified as simpler) but also as both (Java and C++) it does not have class members
But, most importantly, the original poster, as far as I can tell, described the lack of metaobject protocol in Java, where reflection and introspection serve as "a poor man metaobject protocol"...In this kind of products it seems nice to have all those 64 bits, even in integers. Anyway, just an idea - there are devices out there beyond routers that are part of an embedded market and may benefit from these extra bits.
It's working for you because at the moment your solution is "unique". If it becomes standardazied, nothing will prevent "innovative" spammer to create/buy an autoresponder that will whitelist their spam...
We are already paying for plastic bottles as an incentive to recycle. IMHO, view-once DVDs are not even a bit different. We'll just have to add those 10c per disk, and your xMart will add one more recycling machine: "glass", "plastic", "cans", "DVD" :-)
but you have probably forgotten about this thing with long running applications - they tend to fragment heap... It does not hit you often, but when it does, it's a kill. Last time I checked there were no indication that there is a destructor writing pattern that helps you with fragmentation.
Well, I have not checked the source, but even if we assume that HTML there is not on a par, other browsers do not choke on it...
Hence beyond conserving some/a lot (depending on the nature of a web site) bandwidth, gzip actually improves perceived download speed for modem users. Just compare modems 2-3x compression, and possible huge numbers gzip may get on big files with a lot of similar patterns. To highlight my point I just compressed a specific web page (an atypical case, but... :-) from inittial size of 117,340 to 4,466 bytes :-D
... has this feature returned.
That facility does not work without some human being, who replaced the old resource in the first place, mentioning that it actually "Moved Permanently" and where. Otherwise a decent implementation of HTTP will respond with 404 Not Found. So one would wish that web admins on every site that one visits do a good job and put 301 redirection in place, but most of the time that is a wish only...
On a more serios note - shortcuts is a too nice feature, and I miss some very much when they are not their. My personal favorites: <Alt>-1 ... <Alt>-0 on WindowMaker - tremendous help with desktop utilization.
But! Maybe this evaluation is not quite correct. We used to think about Mozilla as Netscape project, that should defeat IE based on its standard compliance and stability (at least, we hoped it will have it), and thus being targeted to the same general user base where IE is currently present. What if we just missed the whole point?
Mozilla, as I see it, is an AOL project, and when (not if) it's ready for the use only a small fraction of us will start using it the next day after release, but(!) the next AOL client X.0 will come with Mozilla embedded, and all those 20-something million users will get a CD with it in their mail. Not all of them will upgrade, but that would be the beginning of a slow drift toward Mozilla/Netscape.
If we consider that assumption, then probably a feature bloat, that slows Mozilla development and hurts it badly now, is a necessity for them - AOL needs all those features for their client, including IRC...
I saw it some time ago on Discovery: that was an initial design to launch shuttles - a big delta-shaped jet which would carry an orbiter to the upper layers of the atmosphere, where they would disconnect and the latter will continue up, while the "launcher" descends for "reuse". As they said there - the idea was scrapped due to very high cost of development of this specific jet (big rockets where already available, and development of a specific one for shuttle launches would take significantly less effort), plus they faced budget cuts, and were afraid that the entire program will be jeopardized if they continue with a "jet". So, as I understood, that was the sole reason why current system uses rockets despite they inneficiency.
...code until it feels too messy, go back, rework, continue to code anew, get stuck, etc :-) and BTW this process has a name - people call it refactoring
I have no idea whether others code in a similar fashion or not.
Don't worry, you are not alone
No, it's not, if you are a home user with serial PPP connection without any ethN device.
Cookies are not harmless. As well as kitchen knives, golf or baseball clubs, [add you favorite misuse here], even the wheel and fire. But it looks like you mixed up the tool and the use of it. Someone can send you a cookie to truck your habits, another will dumbly put sensitive information in it (and browser will store it as a text file for anyone to read), but yet another will just use it to track your session, to help you see only what you want to see, to be better for you. So why do we continue to blame the tool?!
Yes. There are better ways, and maybe one day we all will be there to use them, but for now cookies are good enough, provided you can control what you send, where and when. Can you really do this with current browsers? Not really. What I personally saw is either everything or nothing, though there is a post in this discussion about better implementation in IBrowse. But should we eat raw food waiting for a fire to be put in stoves? Or we can still use it for our benefit?...
Exclusive OEM contracts created environment where there is only one product and no viable alternatives. So now if you want to develop something that will run with that product you have to follow their API. There is simply no other, you have no choice. And guess what? They are developing something too, and they do not want you to compete with them, so they are free to change their API.
Well, you force them to play honestly and use only published API for their own products, so you are on a level field with them while developing applications. But, can you distribute your software preinstalled?... And if you are really annoying they will preinstall it (their code) for free!... After all the core part is theirs and exclusive OEM contract guards it.
Again it's about OEM contracts. If the core product has no more power to be the only one, why "MS Office Corp" would concentrate on a single platform? Why they will not develop for an emerging alternative that could/will/does have substantial presence on users desktops?If and only if that one "baby bill" company has managed somehow to regain exclusive OEM contracts... But if not, then we have several of them, each competing to be installed on your desktop, and at least some of them will pay attention to stability and quality, and will not create overbloated buggy installations. So, maybe those will survive, plus other developers will have a chance to be able to spend their time on components - high-quality components and extensions.One more comment - about "green" threads JVM: though the entire process is executed by a single CPU, provided properly implemented, JVM should be able to let threads run when one/several of them are waiting on IO completion. It would take careful design with non-blocking I/O, but it's doable, and I would guess that Sun's green-thread JVM uses something like that.
None of known to me data processing application works on a "naked" hardware, so even if we assume that Java is not used for a middle tier application, but for a deeper digging "100% Java" application server, it still stands on a very high foundation of a native code. A typical data-application server will spend most of it's time waiting for IO completion here and there and not cranching what it retrieved from disks. Why do you think all those PL/SQL at al applications survived and even prosperred?
One may argue that Java based app.server will create more load on a processor that native-code compiled application. While to some extent this is true, the difference is not that significant with a JIT, when Java can come a little closer to the hardware. On the other hand, despite all the deficiencies in the language itself that can only be abhored (like elimination of multiple inheritance, inability to overload operators, absence of templates - IMHO the last one is particularly painfull) it still provides today unmatched environment for programmer productivity with it's garbage collection and extensive standard library.
The only visible prblem today for Java based app.servers - besides those mentioned above language constraints - is memory consumption, which is quite significant. But again, a typical hardware for app.servers today has more than 64M of RAM (you have to run your database somehow and it loves to cache pages), so it's usually not a real problem.
In my carrier as a software engineer I have been involved in several quite large projects that targeted application servers. Some of them where written in C++, and some, more recent, in Java. We never experienced performance problems with Java servers, but it's worth to mention that our development productivity has increased and noticeably.
- cloning of a human body, and
- religious aspects of the mere existance of the clone
While maybe the replica of the body is mostly identical to the original, what about personality (one may say soul). Since birth (end of cloning) every human goes through his/her life and experiences quite different set of events. All those, though maybe not determining, but substantial factors that regulate and control who and what it is. So, can we think that clones are different than those who have been born though "standard" procedure?One gives his/her human cell and after a while there is a "clone". But clone of what? To what extent they are similar, so we call another being a clone? Thay have same DNA, and essentially identical cell level structure, but are they mere copies of each other? Since the very first second their lives are different, they were grown differently, they were born at different times, in different places, experienced different circumstances, met different people. So after we'd "cloned" a body, or raither produced new one that is very close resemblance of the original (more precisely - we just initiated that process, in somewhat unusual way), the nature (God, if you wish) took care of the rest. At the end we have just another human being. Yes, conception was different, but still - nature produced just another human being.
What if we consider that astrology has some merits. Then probably a "clone" would be more distant from the original than a regular identical twin would be - different times, different places, different sky over the clone's head. So, why not we just look at it as just another human being, that has remarcable physical similarity to one of us?
It looks similar but at the same time is newly created another web site... Or I missed someting?