They said they got portability and extensibility...um, what about reliability, compatibility, and performance.
And why does it make me feel unsettled when a chief engineer is surprised and grateful that the operating system he just designed and coded actually *worked*?
I don't get what the big deal is. Are specs and design something new? Or just something new to Microsoft? I'm not an anti-MS troll, but this article really sounds like something fabulous happened. Wow...a decent design leads to a decent product, spec first, then code, premature optimization..., these don't sound amazingly novel to me...maybe they were in 89.
"1. No adequate generic programming support. Having everything derived from Object doesn't count - in the process of casting to the appropriate type, you lose valuable static type checking. C++ is far ahead in this respect - templates are great and the STL is heavenly. I think the STL is so good that its worth using C++ over Java just for this reason."
If you weren't aware of it (you're apparently not), there is a proposol for adding genericity to Java which is being taken very seriously and is going to be added to Java real soon now (actually some of it is already in, AFAIK, but just not documented/being used).
"2. OO Obsession. The depth and breadth of the standard class tree in Java is absurd and really gets in the way of accomplishing simple tasks. Also, the insistence that users adhere to OO as a paradigm really stinks. C++ does not force this on the developer - it is truly a multi-paradigm language."
Well "absurd" is really subjective. In some places OO is taken a bit far. But OO isn't OO unless it is taken as far as that. Java isn't even pure OO. If you don't like adhering to OO don't use Java. You don't hear me complaining about assembly! If your goal is to be able to program in multiple paradigms in the same language, then great, use C++. Don't complain about Java then.
"3. No access to system programming."
If you want "system programming" you are *obviously* using the wrong tool!
"4. Crappy text handling abilities."
Actually Java has some pretty nice text handling abilities, but it is still not PERL!! Use the right tool for the right job. Will you complain that cubes don't roll as well as you're spheres and thus are worse? Or perhaps you can't stack spheres like you can cubes, so then spheres must be worse?
Your arguments are totally orthogonal to the issue. Java isn't a multipurpose tool. It isn't a system programming language, or a practical extraction and reporting language. You are saying "Java is being strangled by Sun"...do you actually WANT it too turn into the multipurpose Frankenstein you describe? egads.
"so late and can't even match the current Communicator, much less the vastly superior IE5"
In what aspects can it not beat Communicator and IE? Would it be that it has yet to support proprietary, fractionated versions of the actual standards?
"So...why aren't they coding it in Java?"
Um...there is an effort to code it in Java. It's called Jazilla. There is also an independent effort Jozilla. Grendel has been resurrected and is also being worked on. Am I to assume you are being sarcastic or just brain dead by asking why the actual Mozilla is not being written in Java? The obvious answer is that Java is not yet fast enough, and HTML/CSS/whatever layout is highly cpu intensive and complicated. On the other hand, the Gecko component has been abstracted and could very well be plugged into a Java shell for pure performance matters. There are already some kick ass pure Java HTML renderers out there anyway, just not a homemade Jazilla one. If Mozilla *were* to be written in Java you would see things like NSPR, XPCOM, XUL and other portability layers disappear. IE was written for one platform so it can be easily optimized for that platform. By using their brains a bit, the Mozilla team has made a pretty darn good browser for many platforms, which, seeing its optimized component embedded in other applications already, seems like it will knock the pants of IE. (oh, yeah, you do realize that the Mozilla builds are DEBUG builds? I guess you didn't compare against a DEBUG build of IE?)
"If they did, they could stop people from wasting time on portability issues and have them working on the core browser."
What you call wasting time, some call innovation. BTW, don't worry, there are plenty of people working on the "core browser"
"Wow, right now I'm sitting at a Win2K box running an X Server providing me terms from both my Linux box and my Sparc, so I guess I'm better than you, right?"
How does that make you "better" than somebody? If I said I was sitting on at Win3K box with terminals to an SGI, Solaris, and AIX box would that make me "better" than you?
Java already has a native interface built into the specification, and mechanisms for increasing performance, including JITs and dynamic natively compiling virtual machines. What Microsoft has done is to break compatibility on it's OS by NOT using the native interface in the spec, but its own native interface...effectively breaking those apps for all other OSes. Contrary to popular opinion, the world DOESN'T revolve around Microsoft. Java is a boon on the server side, and it's effectively transparent portability allows distribution to arbitrary and unknown clients. That's the point. Nobody is using Java for its GUI speed. They're using it for portability. Once you break that it becomes pointless. Why not just use VC or VB or Delphi or some other native dev tool??
Chicks are an immense headache to hack, at least if you define "good hacking skills" as persistence, determination, intelligence, persistence and determination. Those skills will get you nowhere. The target system is usually behind a large firewall on a very distant subnet. Usually all communications are encrypted and undecipherable. You can only hope for a middle-man attack. Brute force attacks usually end up in services being reassigned to random ports or shut down for an indeterminate amount of time. Output is terribly inconsistent.
omigosh...you use netscape in a WM...what a luser...real haxxors use netscape from the CLI and interpret image bitstreams manually! (for the humor-impaired, that was sarcasm;)
Delphi is Borland's number 1 product. If you look at some of the graphs, you see that easily over 50% of the people responding to the survey were already Delphi developers. Delphi is amazingly popular. It's basically their flagship development product. I am not surprised by the results.
Yes! I was real heavy into Borland products and Delphi in specific before I morphed into my current state of Java developer. I few days ago I started up Delphi 3 and got that warm fuzzy feeling. Cool cool cool. I have to admit it's getting betta...getting betta all the time...
Hmm..some people spend lots of time at the gym...guess their addicts Some people spend lots of time commuting...addicts Some people spend lots of time sleeping...addicts Oh yeah...I've heard some people even spend 8 hours a day working! Omigod they need to check in to betty
This is so stupid. I'm a software developer and have a permanent T1 connection. Does this mean I'm "on" the net all the time and hence a super-duper-whopper addict? I wonder if mister psychologist is a psychology addict.
The falacy is a classic one. They forgot about entropy. These bug forms are able to "reproduce" only along an entropic path. Absent perpetual intervention by some anti-entropic agent, this narrow definition of reproduction leads to extinction."
Um...do you consider humans to be "alive" and "reproducing". After all, who made the universe? Who made the food we eat? Certainly not ourselves. To reproduce I certainly DO NOT have to recreate the planet and solar system, and... Yes, entropy only increases or stays the same. Humans will become extinct one way or another, either via the heat-death of a shrinking universe, or the cold-death of an expanding universe. Does necessary extinction preclude true "life" and "reproduction"?
"A proper definition of reproduction requires that not only must the bug sustain and reproduce itself, but it must also sustain and reproduce all of the infrastructure upon which it depends for life." and "After it reproduces the hard drive, then it must reproduce the thing that spins the harddrive, and then the power plant... and then all the things upon which the power plant depends to sustain and reproduce itself."
Well holy crap, I guess I'm never having a kid...I'd have to recreate my house and my job and my planet and my sun and solar system and...
"In otherwords, their concept of "fittest" is based on a false definition of reproduction, in that they, and Darwin, left out the anti-entropic thing, the moving ether which imparts a counterclockwise spin to electrons, to planets, and to galaxies, and makes the entire universe sing."
Well I guess humans are not alive then (after all we're just in an entropic universe possibly sheparded by an anti-entropic being right?). Didn't the idea of "ether" become outdated a few centuries ago?
The last part about the mind of man and God really lost me too...
In normal experiments you make a hypothesis, then see if your outputs map to reality
I guess in this case, you make your outputs map to reality first, then attempt to make a conclusion. This of course is not preferred because many paths can lead to the correct result, but not every path is the real one. On the other hand, we can't just simulating the entire universe in a computer and wait for the output (whereas we *can* use the entire universe in *actual* experiments).
Will X pick up sub-pixel aliasing (a.k.a. "ClearType")? Sub-pixel aliasing is supposed to be the Next Big Thing in font rendering (of course it currently only works on LCDs...)
"It requres the ability to send meaningfully large messages in less than the propogation time of light between two parties."
Um...wouldn't being able to send messages in less than the propigation time of light mean that the messages would have to be going faster than light?? Sure...the impossible is uncrackable...
"I've long since abandoned the idea of Programming as Engineering and taken up the idea of Programming as Art."
Ahh...but are Engineering and Art mutually exclusive? I think not. I find the Eiffel tower beautiful, as well as the geodesic dome. Some mathematical formulae are beautiful. A well engineered engine is also beautiful. I find fractals beautiful. Flowers and leaves are also beautiful. All of these things were designed very well (well, I don't know about the fractal).
I think there is a lot of beauty to program design. Basically programming is engineering with thoughts, which makes it as much a candidate for beauty as any of the above. So program design can be thought of as beautiful in the engineering sense. Also, if you consider writing (not just the mechanical motion of the hand, but the conception and vocation of ideas) an art, then certainly that must say something about the usage of the adjective "elegant" in the programmer's techspeak.
There is beauty in the conception, manipulation, and formulating of ideas. Each programming "paradigm" is just another way to conceptualize what is crudely considered a mapping of inputs to outputs. In this conception and formulation of ideas lies beauty, as well as in the artisanship of the code itself.
Re:They might have a point, you know.
on
Quack!
·
· Score: 1
They shouldn't be breathing either...there's nasty pollutants in the air...oh wait, they shouldn't be eating, or drinking, or or or
The POINT is that it is the parent's/guardian's decision how to raise their child, not pediatrists or religious zealots, or politicians. If kids couldn't watch tv we probably wouldn't have had Andy Kaufman...and that would've been a shame.
Why ask? Just wait till Mozilla comes around. I would sure hate to see Microsoft finally get IE in shape just when a better product is coming along. Let them languish in non-comformity.
This happens every day. Theorems are always being revised. And all this without one required intervention from God, Allah, Yahweh, Zeus or any others. Amazing how humans can live in such a magical, inconsistent world such as ours;)
I think I'd respond to him how he'd want me to respond to him...as if he were a *normal* person.
I certainly wouldn't be all dewy-eyed and beside myself with awe.
They said they got portability and extensibility...um, what about reliability, compatibility, and performance.
And why does it make me feel unsettled when a chief engineer is surprised and grateful that the operating system he just designed and coded actually *worked*?
I don't get what the big deal is. Are specs and design something new? Or just something new to Microsoft? I'm not an anti-MS troll, but this article really sounds like something fabulous happened. Wow...a decent design leads to a decent product, spec first, then code, premature optimization..., these don't sound amazingly novel to me...maybe they were in 89.
what are Linus notes?
"1. No adequate generic programming support. Having everything derived from Object doesn't count - in the process of casting to the appropriate type, you lose valuable static type checking. C++ is far ahead in this respect - templates are great and the STL is heavenly. I think the STL is so good that its worth using C++ over Java just for this reason."
If you weren't aware of it (you're apparently not), there is a proposol for adding genericity to Java which is being taken very seriously and is going to be added to Java real soon now (actually some of it is already in, AFAIK, but just not documented/being used).
"2. OO Obsession. The depth and breadth of the standard class tree in Java is absurd and really gets in the way of accomplishing simple tasks. Also, the insistence that users adhere to OO as a paradigm really stinks. C++ does not force this on the developer - it is truly a multi-paradigm language."
Well "absurd" is really subjective. In some places OO is taken a bit far. But OO isn't OO unless it is taken as far as that. Java isn't even pure OO. If you don't like adhering to OO don't use Java. You don't hear me complaining about assembly! If your goal is to be able to program in multiple paradigms in the same language, then great, use C++. Don't complain about Java then.
"3. No access to system programming."
If you want "system programming" you are *obviously* using the wrong tool!
"4. Crappy text handling abilities."
Actually Java has some pretty nice text handling abilities, but it is still not PERL!! Use the right tool for the right job. Will you complain that cubes don't roll as well as you're spheres and thus are worse? Or perhaps you can't stack spheres like you can cubes, so then spheres must be worse?
Your arguments are totally orthogonal to the issue. Java isn't a multipurpose tool. It isn't a system programming language, or a practical extraction and reporting language. You are saying "Java is being strangled by Sun"...do you actually WANT it too turn into the multipurpose Frankenstein you describe? egads.
"so late and can't even match the current Communicator, much less the vastly superior IE5"
In what aspects can it not beat Communicator and IE? Would it be that it has yet to support proprietary, fractionated versions of the actual standards?
"So...why aren't they coding it in Java?"
Um...there is an effort to code it in Java. It's called Jazilla. There is also an independent effort Jozilla. Grendel has been resurrected and is also being worked on. Am I to assume you are being sarcastic or just brain dead by asking why the actual Mozilla is not being written in Java? The obvious answer is that Java is not yet fast enough, and HTML/CSS/whatever layout is highly cpu intensive and complicated. On the other hand, the Gecko component has been abstracted and could very well be plugged into a Java shell for pure performance matters. There are already some kick ass pure Java HTML renderers out there anyway, just not a homemade Jazilla one. If Mozilla *were* to be written in Java you would see things like NSPR, XPCOM, XUL and other portability layers disappear. IE was written for one platform so it can be easily optimized for that platform. By using their brains a bit, the Mozilla team has made a pretty darn good browser for many platforms, which, seeing its optimized component embedded in other applications already, seems like it will knock the pants of IE. (oh, yeah, you do realize that the Mozilla builds are DEBUG builds? I guess you didn't compare against a DEBUG build of IE?)
"If they did, they could stop people from wasting time on portability issues and have them working on the core browser."
What you call wasting time, some call innovation. BTW, don't worry, there are plenty of people working on the "core browser"
"Wow, right now I'm sitting at a Win2K box running an X Server providing me terms from both my Linux box and my Sparc, so I guess I'm better than you, right?"
How does that make you "better" than somebody? If I said I was sitting on at Win3K box with terminals to an SGI, Solaris, and AIX box would that make me "better" than you?
Java already has a native interface built into the specification, and mechanisms for increasing performance, including JITs and dynamic natively compiling virtual machines. What Microsoft has done is to break compatibility on it's OS by NOT using the native interface in the spec, but its own native interface...effectively breaking those apps for all other OSes. Contrary to popular opinion, the world DOESN'T revolve around Microsoft. Java is a boon on the server side, and it's effectively transparent portability allows distribution to arbitrary and unknown clients. That's the point. Nobody is using Java for its GUI speed. They're using it for portability. Once you break that it becomes pointless. Why not just use VC or VB or Delphi or some other native dev tool??
Chicks are an immense headache to hack, at least if you define "good hacking skills" as persistence, determination, intelligence, persistence and determination. Those skills will get you nowhere. The target system is usually behind a large firewall on a very distant subnet. Usually all communications are encrypted and undecipherable. You can only hope for a middle-man attack. Brute force attacks usually end up in services being reassigned to random ports or shut down for an indeterminate amount of time. Output is terribly inconsistent.
Where the heck is SATAN for chicks?
I'll go back to hacking chargens.
omigosh...you use netscape in a WM...what a luser...real haxxors use netscape from the CLI and interpret image bitstreams manually! (for the humor-impaired, that was sarcasm ;)
Delphi is Borland's number 1 product. If you look at some of the graphs, you see that easily over 50% of the people responding to the survey were already Delphi developers. Delphi is amazingly popular. It's basically their flagship development product. I am not surprised by the results.
Yes! I was real heavy into Borland products and Delphi in specific before I morphed into my current state of Java developer. I few days ago I started up Delphi 3 and got that warm fuzzy feeling. Cool cool cool. I have to admit it's getting betta...getting betta all the time...
um...slashdot munged "betty ford" to betty...
bleh
Hmm..some people spend lots of time at the gym...guess their addicts
Some people spend lots of time commuting...addicts
Some people spend lots of time sleeping...addicts
Oh yeah...I've heard some people even spend 8 hours a day working! Omigod they need to check in to betty
This is so stupid. I'm a software developer and have a permanent T1 connection. Does this mean I'm "on" the net all the time and hence a super-duper-whopper addict? I wonder if mister psychologist is a psychology addict.
If I encase my computer and colored gel and sell it to a friend will I be sued to?
This post puzzled me:
"Right - So who made the harddrive?
The falacy is a classic one. They forgot about entropy. These bug forms are able to "reproduce" only along an entropic path. Absent perpetual intervention by some anti-entropic agent, this narrow definition of reproduction leads to extinction."
Um...do you consider humans to be "alive" and "reproducing". After all, who made the universe? Who made the food we eat? Certainly not ourselves. To reproduce I certainly DO NOT have to recreate the planet and solar system, and...
Yes, entropy only increases or stays the same. Humans will become extinct one way or another, either via the heat-death of a shrinking universe, or the cold-death of an expanding universe. Does necessary extinction preclude true "life" and "reproduction"?
"A proper definition of reproduction requires that not only must the bug sustain and reproduce itself, but it must also sustain and reproduce all of the infrastructure upon which it depends for life." and "After it reproduces the hard drive, then it must reproduce the thing that spins the harddrive, and then the power plant... and then all the things upon which the power plant depends to sustain and reproduce itself."
Well holy crap, I guess I'm never having a kid...I'd have to recreate my house and my job and my planet and my sun and solar system and...
"In otherwords, their concept of "fittest" is based on a false definition of reproduction, in that they, and Darwin, left out the anti-entropic thing, the moving ether which imparts a counterclockwise spin to electrons, to planets, and to galaxies, and makes the entire universe sing."
Well I guess humans are not alive then (after all we're just in an entropic universe possibly sheparded by an anti-entropic being right?). Didn't the idea of "ether" become outdated a few centuries ago?
The last part about the mind of man and God really lost me too...
I guess it's sort of "reverse-experimentation".
In normal experiments you make a hypothesis, then see if your outputs map to reality
I guess in this case, you make your outputs map to reality first, then attempt to make a conclusion. This of course is not preferred because many paths can lead to the correct result, but not every path is the real one. On the other hand, we can't just simulating the entire universe in a computer and wait for the output (whereas we *can* use the entire universe in *actual* experiments).
Will X pick up sub-pixel aliasing (a.k.a. "ClearType")? Sub-pixel aliasing is supposed to be the Next Big Thing in font rendering (of course it currently only works on LCDs...)
"It requres the ability to send meaningfully large messages in less than the propogation time of light between two parties."
Um...wouldn't being able to send messages in less than the propigation time of light mean that the messages would have to be going faster than light?? Sure...the impossible is uncrackable...
Show me the object model of a well designed program. Show me the data and control path. These things can be displayed.
"I've long since abandoned the idea of Programming as Engineering and taken up the idea of Programming as Art."
Ahh...but are Engineering and Art mutually exclusive? I think not. I find the Eiffel tower beautiful, as well as the geodesic dome. Some mathematical formulae are beautiful. A well engineered engine is also beautiful. I find fractals beautiful. Flowers and leaves are also beautiful. All of these things were designed very well (well, I don't know about the fractal).
I think there is a lot of beauty to program design. Basically programming is engineering with thoughts, which makes it as much a candidate for beauty as any of the above. So program design can be thought of as beautiful in the engineering sense. Also, if you consider writing (not just the mechanical motion of the hand, but the conception and vocation of ideas) an art, then certainly that must say something about the usage of the adjective "elegant" in the programmer's techspeak.
There is beauty in the conception, manipulation, and formulating of ideas. Each programming "paradigm" is just another way to conceptualize what is crudely considered a mapping of inputs to outputs. In this conception and formulation of ideas lies beauty, as well as in the artisanship of the code itself.
"We have always been at war with east asia..."
"Rations will be increased 5%..."
They shouldn't be breathing either...there's nasty pollutants in the air...oh wait, they shouldn't be eating, or drinking, or or or
The POINT is that it is the parent's/guardian's decision how to raise their child, not pediatrists or religious zealots, or politicians. If kids couldn't watch tv we probably wouldn't have had Andy Kaufman...and that would've been a shame.
So this means the BeOS guys can finaly realize their original plan of putting BeOS in a G3? I'd love to see that.
Why ask? Just wait till Mozilla comes around. I would sure hate to see Microsoft finally get IE in shape just when a better product is coming along. Let them languish in non-comformity.
"HA HA!"
-Nelson Muntz
This happens every day. Theorems are always being revised. And all this without one required intervention from God, Allah, Yahweh, Zeus or any others. Amazing how humans can live in such a magical, inconsistent world such as ours ;)