That's not entirely fair. There are lots of places where functional programming is the way to go. You'd be surprised at how much stuff you "real programmers" come up with that the FP world did better, more cleanly, and years ago. XML and XSLT come to mind, as well as some of the weirdness they've begotten.
Its really a matter of what kind of programming you are doing. FP is all about making algorithms primary and data secondary. There are some applications where this fits. Take, for example, parsers. In writing a parser, you've only got to deal with a few tokens at a time. Try writing a Scheme parser in imperative vs functional style and tell me which one is shorter and cleaner. However, in some applications, data is the only important thing. Take, for example, an OS kernel. In a kernel, most work boils down to finding highly efficient data structures to track certain state, and writing highly efficient algorithms that mutate that state. Functional programming isn't a good fit for this --- its is often very difficult to express algorithms in a pure-functional manner that have the same asymptotic complexity as their imperitive counterparts.
Its nice to see my two favorite languages take the top spots:) Its also pretty nifty that the Gwydion Dylan team got another prize. They got second place a couple of years ago too. Anyway, more people need to check out Dylan. Its a pretty nifty language. It was made by Apple in the early 1990's, by a committe containing a lot of important Lisp people. As a result, its kind of an object-oriented Lisp with a more traditional syntax. Its a very powerful language, but also very fast. It was designed to achieve 90% the performance of C. In practice, the current Gwydion compiler (designed by the same group at CMU that did CMUCL) achieves 50-90% given similar code.
What about "was static..." do you not understand? The pace of OpenGL progression prior to 1.4 was pretty glacial. It always had full support for graphics card features, but you had to use vendor-specific extensions. More recently, 1.4 and 1.5 came out in quick succession, with support for shader technology.
Can your science create a universe from nothingness in seven days? >>>>>>>>>> Actually, it took science only 5.3906e-44 seconds to create the entire universe from nothing. C'mon, even the Catholic Church has accepted the Big Bang already!
Shows how much you know. OpenGL was relatively static for a long time. In fact, I wrote an article about this on OSOpinion awhile ago. But the ARB seems to have gotten its ass in gear, and as a result, OpenGL is managing to keep pace with DirectX in the programmable hardware department. When OpenGL 2.0 comes out, OpenGL will take a leap forward. Also, if you actually take a look at the APIs, you'll see that there are very few platform compatibility issues. Both APIs are pretty much self-contained, so OpenGL's progress really isn't affected by its cross platform nature.
Actually, if you check out the posts on linuxgames.com, it appears that the 3.2.5 drivers aren't that hot. They're very stable, but they're not nearly as fast as ATI's Windows drivers.
Really? I've held off ATI cards since the GeForce2 generation because NVIDIA's Linux drivers were just as fast as their Windows drivers, and 100% stable. Last time I checked, ATI's Linux drivers were much slower than their Windows drivers. Are the new ATI drivers really that much better?
Seriously, though, there is some stuff that deserves a patent, and some stuff that doesn't. Take the recent diamond thing. Vapor deposition is well-known, anybody patenting it would be retarded. But setting up the exact vapor deposition conditions to allow creation of full crystals rather than powder? I think that's worth patenting. Certainly, lots of scientists tried very hard for a long time to find it, and only one group succeeded. But the stuff that gets patented in the software world is stuff that any experienced software engineer would come up with on the first few tries!
Another reason why software patents are a stupid idea. Running plugins transparently is obvious to anybody working on something like a browser. You've got a file, you've got its filetype, and you've got a registered list of plugins and the filetypes they support. What the fuck else would you do?!!
Ah, but you're forgetting about the hardware tunneling effect. In a closed, low-budget, IT system, hardware components will randomly tunnel from one machine to another:)
a clash of civilizations driven by the failure of Islamic/Arab culture... he is also right to say that our long-term objective must be to break, crush and eventually destroy this culture... we could corrupt Islamism out of existence, make it fat and lazy with cheap consumer goods and seduce it with porn. >>>>>>>>>>>>>> Quoted from his blog. I'm really having a hard time seeing how he's referring specifically to a small subset of Arab culture. In particular, his comments about the cheap consumer goods and porn indicate that he's referring to the wider Islamic community.
In random configurations, yes, there are issues with NVIDIA's stability. In closed configurations, there is not. I've never had a problem on any of my systems with NVIDIA's drivers, so its quite possible to build a system that runs rock solid with NVIDIA's drivers. Companies that are using NVIDIA on Linux can use these configurations, so that's not a problem.
As for Linux's importance to NVIDIA, remember three things:
1) Being the only option for high-end 3D on Linux is a big boon to them. A lot of computer graphics companies are moving to Linux (ILM, as I mentioned, runs Linux on almost all of their graphics workstations). These users are a very profitable market segment for NVIDIA's high end hardware (like the Quadro this article is about). 2) Being the only option on Linux is great for publicity. Gaming geeks are at least aware of Linux, and many have fooled around with it. Running on Linux is nice PR towards this segment. 3) Maintaining these drivers doesn't cost NVIDIA much. Their driver architecture is highly modular, so being cross platform is relatively inexpensive.
The Linux drivers will be around for awhile. A lot of high-end companies (like ILM) run their graphics workstations on Linux/NVIDIA. Since NVIDIA is the only high-end graphics company with quality Linux drivers, they're pretty much the only option in the market.
Oh, please. Microsoft is busy hardware-accelerating their desktop, adding complete vector scaling >>>>>>>>>>> This is the only one the Linux developers really need to work on. 2 years till Longhorn comes out? I wouldn't be surprised if they get beaten to the punch by a couple of months.
, replacing Win32 with.NET >>>>>>>>> And everybody is still writing apps in C/C++:) When Adobe moves to.NET, then I'll be impressed. Except, they won't, since they appear to be moving to Qt:)
, and creating a much-talked-about new photorealistic interface called Aero that nobody knows anything about yet. >>>>>>> Right. So in 2 years, KDE is going to get its ass kicked by something "nobody knows anything about yet."
There are so many revolutionary new features of Longhorn that I can't list them all, from XML scripted modular installs >>>>>>>> Oooh, XML. Portage (my Gentoo installer) uses a proper scripting language (Python) to do its installs. It takes very little time to port all the packages in Gentoo to an entirely new platform. IIRC, the initial Alpha port was done by one guy in two days. It will be *years* before Microsoft catches up with package management technology in Linux.
to WinFS (which kicks the crap out of BeOS' pseudo-database filesystem). >>>>>>>>>>> And Reiser4 kicks the crap out of everything else:) Unlike WinFS, Reiser4 is actually designed from the ground up for this sort of thing.
Remember, it tooks the KDE developers 2 years to rewrite KDE from 1.0 to 2.0. That's about how long they have before Longhorn comes out. Now, they have lots more developers. Microsoft needs to be seriously scared if you ask me.
Second, it would be hard for the KDE devs to collaborate with the GNOME devs, since GNOME was started *after* KDE. GNOME was created as a specific response to KDE. There is no way the two could have merged projects at any time. Today, they have very differing goals. People who like the KDE philosophy use KDE, people who like the GNOME philosophy use GNOME.
Not just that. MS Word looks nothing like Visual C++.NET looks nothing like Windows Media Player looks nothing like Internet Explorer. All bread-and-butter MS products, and they look nothing alike!
In comparison, KWord, KDevelop, KMplayer, and Konqueror looks the same, behave the same, and are integrated with the same core technologies. Linux isn't consistent my ass...
Anybody have any statistics on how many children are hurt by the making of child porn? How does it compare to the number of children hurt by child abuse. If the number hurt by child porn is relatively small, mightn't it be more useful to spend that effort preventing child abuse in general?
How does that work? The core of the kernel is well under a million lines of code. How could millions of lines get copied in? Why the fuck would we steal SCO's drivers?
didn't get the impression ESR is against all Arabs. >>>>>>>> I don't know. The statements about wiping Islam of the face of the earth are kind of hard to misinterpret.
However, there is something fundamentally wrong w/ a society or religion that follows such evil men blindly and it's main form of warfare is attacking innocents. >>>>>>>> Its largely a matter of perspective. First, remember that only 25% of the world's Muslims live in the Middle East. Only a small percentage of those people support people like bin Laden. The rest of the Muslims, including its international scholars, do *not* support terrorists. Many (most?) of them have the same goals, like a free Palestine, decreased influence of American culture, etc, but do not condone blowing up innocent people to achieve those goals.
The number of people who directly support militant Islam is relatively low. Its probably higher than the percentage of people who support militant Christianity (Ireland anyone?), but remember that the Muslim population tends to be poorer than the Christian population, and live in less developed countries. People in these conditions tend to be more militant than people in developed countries, regardless of faith. As for anything in the Koran, I would remind people that the Bible also says a lot of thing that level-headed Christians do not interpret strictly. The Bible (and conservative Christians, I might add) is anti-women, but that hasn't stopped the mainstream of Christians from (sorta) adopting a liberal attitude towards women.
Lastly, to address the question of attacking innocents, I must say that men in glass houses shouldn't throw stones. I believe that there is no reason, short of self defense, to kill someone, and don't condone terrorists killing innocent people anymore than I condone the US killing innocent people (either directly or indirectly) through their "regime changes" and twisted foreign policy.
That's not entirely fair. There are lots of places where functional programming is the way to go. You'd be surprised at how much stuff you "real programmers" come up with that the FP world did better, more cleanly, and years ago. XML and XSLT come to mind, as well as some of the weirdness they've begotten.
Its really a matter of what kind of programming you are doing. FP is all about making algorithms primary and data secondary. There are some applications where this fits. Take, for example, parsers. In writing a parser, you've only got to deal with a few tokens at a time. Try writing a Scheme parser in imperative vs functional style and tell me which one is shorter and cleaner. However, in some applications, data is the only important thing. Take, for example, an OS kernel. In a kernel, most work boils down to finding highly efficient data structures to track certain state, and writing highly efficient algorithms that mutate that state. Functional programming isn't a good fit for this --- its is often very difficult to express algorithms in a pure-functional manner that have the same asymptotic complexity as their imperitive counterparts.
Its nice to see my two favorite languages take the top spots :) Its also pretty nifty that the Gwydion Dylan team got another prize. They got second place a couple of years ago too. Anyway, more people need to check out Dylan. Its a pretty nifty language. It was made by Apple in the early 1990's, by a committe containing a lot of important Lisp people. As a result, its kind of an object-oriented Lisp with a more traditional syntax. Its a very powerful language, but also very fast. It was designed to achieve 90% the performance of C. In practice, the current Gwydion compiler (designed by the same group at CMU that did CMUCL) achieves 50-90% given similar code.
What about "was static..." do you not understand? The pace of OpenGL progression prior to 1.4 was pretty glacial. It always had full support for graphics card features, but you had to use vendor-specific extensions. More recently, 1.4 and 1.5 came out in quick succession, with support for shader technology.
Can your science create a universe from nothingness in seven days?
>>>>>>>>>>
Actually, it took science only 5.3906e-44 seconds to create the entire universe from nothing. C'mon, even the Catholic Church has accepted the Big Bang already!
Interesting. How does accepting Jesus fit into any of the quotes? Its basically...
Do this good thing,
Do that good thing,
Do this other good thing,
um... accept Jesus!
Shows how much you know. OpenGL was relatively static for a long time. In fact, I wrote an article about this on OSOpinion awhile ago. But the ARB seems to have gotten its ass in gear, and as a result, OpenGL is managing to keep pace with DirectX in the programmable hardware department. When OpenGL 2.0 comes out, OpenGL will take a leap forward. Also, if you actually take a look at the APIs, you'll see that there are very few platform compatibility issues. Both APIs are pretty much self-contained, so OpenGL's progress really isn't affected by its cross platform nature.
Actually, if you check out the posts on linuxgames.com, it appears that the 3.2.5 drivers aren't that hot. They're very stable, but they're not nearly as fast as ATI's Windows drivers.
Really? I've held off ATI cards since the GeForce2 generation because NVIDIA's Linux drivers were just as fast as their Windows drivers, and 100% stable. Last time I checked, ATI's Linux drivers were much slower than their Windows drivers. Are the new ATI drivers really that much better?
Seriously, though, there is some stuff that deserves a patent, and some stuff that doesn't. Take the recent diamond thing. Vapor deposition is well-known, anybody patenting it would be retarded. But setting up the exact vapor deposition conditions to allow creation of full crystals rather than powder? I think that's worth patenting. Certainly, lots of scientists tried very hard for a long time to find it, and only one group succeeded. But the stuff that gets patented in the software world is stuff that any experienced software engineer would come up with on the first few tries!
Another reason why software patents are a stupid idea. Running plugins transparently is obvious to anybody working on something like a browser. You've got a file, you've got its filetype, and you've got a registered list of plugins and the filetypes they support. What the fuck else would you do?!!
SPEC tests aren't articifical benchmarks. This is an official list of the SPEC benchmark programs:
164.gzip 1400 Data compression utility
175.vpr 1400 FPGA circuit placement and routing
176.gcc 1100 C compiler
181.mcf 1800 Minimum cost network flow solver
186.crafty 1000 Chess program
197.parser 1800 Natural language processing
252.eon 1300 Ray tracing
253.perlbmk 1800 Perl
254.gap 1100 Computational group theory
255.vortex 1900 Object Oriented Database
256.bzip2 1500 Data compression utility
300.twolf 3000 Place and route simulator
CFP2000 contains 14 applications (6 Fortran-77, 4 Fortran-90 and 4 C) that are used as benchmarks:
Name Ref Time Remarks
168.wupwise 1600 Quantum chromodynamics
171.swim 3100 Shallow water modeling
172.mgrid 1800 Multi-grid solver in 3D potential field
173.applu 2100 Parabolic/elliptic partial differential
equations
177.mesa 1400 3D Graphics library
178.galgel 2900 Fluid dynamics: analysis of oscillatory instability
179.art 2600 Neural network simulation; adaptive resonance theory
183.equake 1300 Finite element simulation; earthquake modeling
187.facerec 1900 Computer vision: recognizes faces
188.ammp 2200 Computational chemistry
189.lucas 2000 Number theory: primality testing
191.fma3d 2100 Finite element crash simulation
200.sixtrack 1100 Particle accelerator model
301.apsi 2600 Solves problems regarding temperature, wind, velocity and distribution of pollutants
Many of these are real world programs (even onse like AMMP and SixTrack, which you may not be familiar with) and they are all real-world tasks.
Do you mean that error free code can be developed in other languages as fast (duh!) or that KDE isn't relatively error-free code?
Right, because the GPL isn't free? I'm sure RMS would love to hear that one...
Ah, but you're forgetting about the hardware tunneling effect. In a closed, low-budget, IT system, hardware components will randomly tunnel from one machine to another :)
a clash of civilizations driven by the failure of Islamic/Arab culture ... he is also right to say that our long-term objective must be to break, crush and eventually destroy this culture...
we could corrupt Islamism out of existence, make it fat and lazy with cheap consumer goods and seduce it with porn.
>>>>>>>>>>>>>>
Quoted from his blog. I'm really having a hard time seeing how he's referring specifically to a small subset of Arab culture. In particular, his comments about the cheap consumer goods and porn indicate that he's referring to the wider Islamic community.
In random configurations, yes, there are issues with NVIDIA's stability. In closed configurations, there is not. I've never had a problem on any of my systems with NVIDIA's drivers, so its quite possible to build a system that runs rock solid with NVIDIA's drivers. Companies that are using NVIDIA on Linux can use these configurations, so that's not a problem.
As for Linux's importance to NVIDIA, remember three things:
1) Being the only option for high-end 3D on Linux is a big boon to them. A lot of computer graphics companies are moving to Linux (ILM, as I mentioned, runs Linux on almost all of their graphics workstations). These users are a very profitable market segment for NVIDIA's high end hardware (like the Quadro this article is about).
2) Being the only option on Linux is great for publicity. Gaming geeks are at least aware of Linux, and many have fooled around with it. Running on Linux is nice PR towards this segment.
3) Maintaining these drivers doesn't cost NVIDIA much. Their driver architecture is highly modular, so being cross platform is relatively inexpensive.
The Linux drivers will be around for awhile. A lot of high-end companies (like ILM) run their graphics workstations on Linux/NVIDIA. Since NVIDIA is the only high-end graphics company with quality Linux drivers, they're pretty much the only option in the market.
Oh, please. Microsoft is busy hardware-accelerating their desktop, adding complete vector scaling
.NET :) When Adobe moves to .NET, then I'll be impressed. Except, they won't, since they appear to be moving to Qt :)
:) Unlike WinFS, Reiser4 is actually designed from the ground up for this sort of thing.
>>>>>>>>>>>
This is the only one the Linux developers really need to work on. 2 years till Longhorn comes out? I wouldn't be surprised if they get beaten to the punch by a couple of months.
, replacing Win32 with
>>>>>>>>>
And everybody is still writing apps in C/C++
, and creating a much-talked-about new photorealistic interface called Aero that nobody knows anything about yet.
>>>>>>>
Right. So in 2 years, KDE is going to get its ass kicked by something "nobody knows anything about yet."
There are so many revolutionary new features of Longhorn that I can't list them all, from XML scripted modular installs
>>>>>>>>
Oooh, XML. Portage (my Gentoo installer) uses a proper scripting language (Python) to do its installs. It takes very little time to port all the packages in Gentoo to an entirely new platform. IIRC, the initial Alpha port was done by one guy in two days. It will be *years* before Microsoft catches up with package management technology in Linux.
to WinFS (which kicks the crap out of BeOS' pseudo-database filesystem).
>>>>>>>>>>>
And Reiser4 kicks the crap out of everything else
Remember, it tooks the KDE developers 2 years to rewrite KDE from 1.0 to 2.0. That's about how long they have before Longhorn comes out. Now, they have lots more developers. Microsoft needs to be seriously scared if you ask me.
First, its "vice versa."
Second, it would be hard for the KDE devs to collaborate with the GNOME devs, since GNOME was started *after* KDE. GNOME was created as a specific response to KDE. There is no way the two could have merged projects at any time. Today, they have very differing goals. People who like the KDE philosophy use KDE, people who like the GNOME philosophy use GNOME.
I'd really like to understand how he reconciles this statement (referring to Islamic culture):
"I think he is also right to say that our long-term objective must be to break, crush and eventually destroy this culture"
with his professed pacifism.
Not just that. MS Word looks nothing like Visual C++ .NET looks nothing like Windows Media Player looks nothing like Internet Explorer. All bread-and-butter MS products, and they look nothing alike!
In comparison, KWord, KDevelop, KMplayer, and Konqueror looks the same, behave the same, and are integrated with the same core technologies. Linux isn't consistent my ass...
Anybody have any statistics on how many children are hurt by the making of child porn? How does it compare to the number of children hurt by child abuse. If the number hurt by child porn is relatively small, mightn't it be more useful to spend that effort preventing child abuse in general?
Who wants to bet that quote from the girl was also part of the settlement? Sounds a bit too well put-together for a 12 year old...
How does that work? The core of the kernel is well under a million lines of code. How could millions of lines get copied in? Why the fuck would we steal SCO's drivers?
didn't get the impression ESR is against all Arabs.
>>>>>>>>
I don't know. The statements about wiping Islam of the face of the earth are kind of hard to misinterpret.
However, there is something fundamentally wrong w/ a society or religion that follows such evil men blindly and it's main form of warfare is attacking innocents.
>>>>>>>>
Its largely a matter of perspective. First, remember that only 25% of the world's Muslims live in the Middle East. Only a small percentage of those people support people like bin Laden. The rest of the Muslims, including its international scholars, do *not* support terrorists. Many (most?) of them have the same goals, like a free Palestine, decreased influence of American culture, etc, but do not condone blowing up innocent people to achieve those goals.
The number of people who directly support militant Islam is relatively low. Its probably higher than the percentage of people who support militant Christianity (Ireland anyone?), but remember that the Muslim population tends to be poorer than the Christian population, and live in less developed countries. People in these conditions tend to be more militant than people in developed countries, regardless of faith. As for anything in the Koran, I would remind people that the Bible also says a lot of thing that level-headed Christians do not interpret strictly. The Bible (and conservative Christians, I might add) is anti-women, but that hasn't stopped the mainstream of Christians from (sorta) adopting a liberal attitude towards women.
Lastly, to address the question of attacking innocents, I must say that men in glass houses shouldn't throw stones. I believe that there is no reason, short of self defense, to kill someone, and don't condone terrorists killing innocent people anymore than I condone the US killing innocent people (either directly or indirectly) through their "regime changes" and twisted foreign policy.