I know of lot's of good programmers that started with Basic. If you can't learn to program after having learned Basic, you weren't cut out to be a good programmer anyway.
A much more likely explanation for the phenomenon would probably be that stupid people are attracted towards Basic, while clever people soon realizes they need to learn something else, and doesn't remain in the Basic camp for very long.
Anyway, the Basic Djikstra talked about has almost nothing in common with e.g. Visual Basic that would, well, probably not make Djikstra happy, but at least not make him physically ill (oh wait, that was another language).
Edsger Djikstra is a person that deserves respect. It is just too bad that this stupid quote is what people remember of him!
I really doubt the author of the article was correct here.
Although I am not old enough to actually remember, I am geeky enough to have read about the creation of the PC before. IBM (for obscure reasons) decided to create cheap consumer boxen. There was most likely a reason for IBM to go with 8086 instead of e.g. Z80 or m68k, but it couldn't possibly have anything to do with MS-DOS, as they made the box first, and then went out shopping for an OS.
I very much doubt that IBM was even aware of the existence of QDOS (quick and dirty os - the precursor to MS-DOS) by the time they decided upon the hardware for the PC. From my understanding, there wasn't too much planning ahead, everything happened in record time, and the goal was to be first to market, not quality. They of course realized they needed an OS, and since time was essential, they just bought one instead of writing something themselves.
In my mind, bloat is lines of code divided
by (functionality times stability times performance), but I realize that not everyone shares my view
on that.
Interesting... I think I do!
But there are still factors to consider. I think we at least need to multiply by the spaghetti ratio, but other factors, such as usefulness index, design cleanliness coeffecient and ugly hack quotient needs to be taken into account.:-)
Depending on point of view, that has already happened long ago...
To make the comparison meaningfull, you have to get systems of somewhat equal capacity. The linux kernel by itself is in no way comparable to Windows 2000.
In addition we need various fileutilities, an accelerated X11-server (with Mesa/OpenGL, the video-extension, and antialiasing), one of Gnome/KDE (filemanager, basic desktop utilities, a simple texteditor, something akin to COM (which would be Bonobo or Kparts)), a working web-browser (Mozilla or Konqueror), some userfriendly utilities to replace the control-panel, a user-friendly email-client and newsreader, a simple webserver, basic networking utilities (Samba with a user-friendly network neighborhood browser, telnet, ftp, ping,...), a good media-player (capable of playing at least wav, mp3, CD's, mpeg, avi, mov and preferably asf and wmf), minicom, a ppp-dialer, and probably quite a few other goodies I've forgotten to mention.
If we put all this into a linux-distribution, I doubt we would do much better than W2k. But to make things even worse, that wouldn't make much of a linux-system. Most linux-users wouldn't be too happy without emacs, gcc with friends, perl, python, tcl/tk, and most of the common command-line utilities (sed, awk, find, etc...) (, and probably also apache, MySQL or PostgreSQL, gimp, etc...).
Line-count? Well, guess what... Linux has become bloatware... Even more than what's produced in Redmond!
if you're on a band's page in mp3.com, it's going to be really hard to find similar music that you may also enjoy.
Not at all. At least most of the bands I found on mp3.com even put up links to their favourites on mp3.com. And the genres-organization also work relatively ok, albeit on a broader scale.
But sure, some extra sort of community sense on mp3.com would be helpful. Amazon.com's customer reviews and recommendation system might be a good idea, it seems to work surprisingly good for finding stuff I like (actually, it's often working so good that there are hardly any surprises, I often already own the stuff it recommends to me).
if you find a tune on napster, the person who dug that up often has some other tracks which may fit your tastes.
Also true, and perhaps part of the reason why I still use napster. The ability to browse other users files and find weird stuff you like is invaluable for finding new gems. But it is just as much guessing and pointing in the dark as it is on mp3.com. So this user liked artist X, cool! Let's see, he shares 2000 files, maybe one of those is something I like as well?
Bottom line: Napster is cool, mp3.com is cool, but there is room for both, and there is room for more. And there are room for others: musiccity's morpheus is much more pleasurable to use than napster (killer feature: download from more than one source to speed up downloads, and make sure you get a complete file even if user logs off). But you can't browse users files anymore, so finding new stuff is more difficult. I simply want them all!
That's not the case. True over time Oxygen will combine with other elements, but the existstance of large amounts of "free" Ozygen, is NOT a guarantee that the palanet has or hasn't life.
It is a very strong indicator. The existence of oxygen in the earth atmosphere is so high that it cannot possibly be explained by anything other than life, or perhaps somebody actually producing the stuff industrially (but that would indicate life as well). It is of course a possibility that O2 could be produced randomly much like ozon is produced in the atmosphere, but the concentration of O2 in the atmosphere is so high, that this possibility is pretty much out of the question. We are talking about highly complex processes, in other words: life (or something planned by intelligent creatures, which also means life).
First, we must assume that not all life needs pure oxygen to exist.
Nope, quite the opposite. We assume that some alien life (such as ourselves) needs oxygen to exist. There are of course other possibilities that this method would not find (although we could look for large concentrations of other unstable compounds).
Who's to say that extraterrestial life doesn't "breathe" though photosynthesis? Or are even carbon based lifeforms ?
That's pretty much what we hope for, yes. If that was the case, then the atmosphere would be full of oxygen. As you might be aware of, the earth atmosphere's oxygen is a product of plants doing photosynthesis. So we pretty much hope that aliens '"breathe" though photosynthesis' like life on earth does!
If we are looking for alien life that is not carbon based, we probably won't find it while looking for oxygen. That doesn't mean that the technique is useless. It simply means that we restrict our search to something we can hope to recognize. If we are looking for any kind of unthinkable life (like a Hooloovoo (from hhgttg: a superintelligent shade of blue)), we will never find anything. So in the name of practicality, we start looking for oxygen primarily, and other unstable compounds secundarily. Sounds pretty much like common sense to me.
Second, if there's lot's of Oxygen, is that proof alone that life exists there ? Can You be certain that Oxygen is the ONLY basis of life ? What if the atmosphere is strongly radiated ?
Well, the possibility of 20.9% oxygen being created by chance from radiation is zero. You need complex mechanisms such as photosynthesis to produce oxygen at this level. Just adding some sunlight to a batch of water and CO2 won't do it...
Third, what if the planet is gaseous ? It might have lots of Oxygen, but no Carbon. This could proove to be a very inhospitable place for life to exist.
Life survives surprisingly many places on earth. Bacteria seems to survive quite all right in our atmosphere, so I don't see why they couldn't survive in an all gaseous planet. The lack of carbon would be more troublesome. But tell me when you find a planet with 20% oxygen and no carbon... (I don't think you will!). Having relative masses of 12.01 (C) and 16.00 (O)these two elements will naturally tend to appear in the same places. And in a gaseous planet, most likely in the form of CO2.
It does perhaps sound like something of an oxymoron, but I've seen one I found pretty good.
The site is unfortunately in norwegian (which might restrict your appreciation somewhat, unless you happen to speak it), but you should get the idea anyway. It's on www.boyzvoice.com.
The site is for the norwegian band boyzvoice. The band was originally created for a short tv-sketch attempting to make fun of boy-bands (not too unlike Ali G making fun of gangsta' rappers).
Somehow, the idea took off. They made a full-length movie, and have probably sold more records than most real boy-bands in Norway. All the songs and lyrics are there, which of course are in english, as no boyband would ever sing in norwegian anyway...
It's all about spoof, karaoke and flashy graphics, has no purpose whatsoever (except getting the authors wildly rich), but is quite enjoyable.
Watches, Phones and PDAs will all merge into one powerful little unit.
People have been claiming this for years, but it has yet to happen. And I don't think it would. The forces of capitalism want us to buy more and more boxes. If we had one box that did it all, someone would have to come up with a new box that did something else, and that most people found succesful.
Also, most combined units aren't really that succesful. Even the obvious example, a combined PDA and cellphone doesn't even work that well. If it looks like a cellphone, it is too small as a PDA, and if it looks and feels like a PDA, don't try using it in a car (using the stylus to answer your calls...).
Still, I would like to see the combined watch, cellphone, computer, flashlight, leatherman tool and wallet all in one easy to carry affordable unit. Perhaps something akin to the "trapper keeper" from South Park, although a bit less violent.
Why should we trust a certification authority that is located in a different country and charges and arm and a leg for a certificate instead of a local one?
Good point. Not that I don't trust verisign, but why would I trust some relatively unknown certificate provider in the Philippines?
I think it would be wrong to try to convince browser makers to add every kind of certificate authority by default. Instead, you should team up with the major ISP's in the Philippines (and ideally the government) to create a local one.
Now, why do you need the support of ISP's? Well, because (at least this is the case in my country, it might not be true in the Philippines) most users get a disk from their ISP when they sign up, and generally keep on using that software without bothering to download updated versions of the software over the net. These disks could add local modifications, such as adding the local certificate provider among the trusted authorities. This would most likely make 90% of the users happy, and the rest should probably be technical enough to understand how to add an additional authority themselves.
Ok, perhaps less than ideal, but I think it would solve the Philippine problem. If your site deals with international customers, you would probably have to resign to an expensive verisign certificate, or accept loss of customers due to confusion or mistrust. But from my understanding, the problem was mostly relating to Philippine websites targeting Philippine users. Case closed.
Basically I want an OpenGL for 2D graphics under X. I quite like SVGAlib, but the graphics card support is fairly limited and it's obviously no where near as ubiquitous as Xfree86.
In fact, you have answered your own question. There is nothing wrong about doing 2D-stuff in OpenGL. (Of course, XFree doesn't support OpenGL but Mesa, but most people will never notice...)
Well, that's pretty scary. I don't have the report here at home, but I'll certainly look it up later. However, from my experience Java is certainly not such a hog. While the JIT enthusiasts might be overdoing it a bit (sometimes even claiming performance is better than C++), the java-bashers (wow, there I go ad hominem again...) who usually only rely on prejudice are a lot worse. Until I've actually read the article, I presume this must be a very extreme case that they were lucky to find in the JIT implementation (and that would easily be spotted by a profiler, so that it could be rewritten).
My experience with Java is limited to some (very minor) work on a very large data-acquisition system (and I really do mean large, both in terms of code and in terms of data. Sure we had some performance problems, most of them due to programmer faults, some of them due to scale of the project (the previous version was written in C++, and had performance problems as well, and here we experienced the all too typical second system effect), and some few extremely annoying problems with the java implementation. Mostly related to garbage collection.
Well, to be true, we didn't really use java for the data-intensive stuff, but it was pretty amazing what we found orselves doing in java. Often prototype implementations turned out to be good enough, and never needed a rewrite in C++. The main realization was that java is certainly not as slow as some people would have it. A rule of thumb would probably be 2-3 times slower at worst (unless we are talking about swing, which really is a hog), but this was two years ago, and the situation might have improved even more.
I am not a big java bigot. But that's not because of performance. I'm perfectly happy with java's performance (although such extreme cases as you pointed out definitely needs fixing). What I don't like about java is mostly syntactical (it's too much like C/C++, and it doesn't allow you to use macros for abbreviating common constructs). I also miss complex numbers, generics, and easier interfacing with code written in C, C++, assembly, or Fortran. What I do like about Java is that it usually results in readable code (surprisingly often, don't really know why...), relatively ok performance, garbage collection, and javadoc. Which basically means that java probably would be one of my favourite choices for a language when working as part of a large team, or taking over someone else's code, but not for my personal hacking pleasure. Hmmm, come to think of it, that's a pretty good recommendation, but I think I still prefer Ocaml, Beta, Common Lisp, Smalltalk, Mercury, Haskell, C, Python, or Ruby for hacking pleasure...
Nope it isn't. Hand-coded assembler will always win. A human can look at the assembler output from the optimizing compiler, find one spot to improve, and win. Also, by coding in assembler, you will often find some tweaks and clever tricks that it would be hard to describe in a high-level language, and that requires modification of the algorithm used, and therefore will never be discovered by an optimizing compiler.
It is a misconception that compilers are now so good that people can't beat them. If most programmers had spent as much time with assembler as they do with high-level languages, most programmers would easily beat an optimizing compiler.
But of course, writing anything substantial in assembler is just stupid. Almost as stupid as having this discussion, which also reduces (at leaast my) productivity...
Ooooh, we all bow in awe of your fantastic insight. Not bothering to listen to people with experience, or to back up your claims with any sort of benchmarks, you use the well-known technique of prejudice. Because Java is interpreted (which it isn't), and even though you admit it is not interpreted, then it is effectively interpreted. Not bothering to explain what this means, you go on to mention another language that you (wrongly) say is interpreted, namely Basic. Then, without mentioning dialect, or implementation, you want us all to "feel intuitively " that Basic is interpreted, and also that Basic is slow, and that therefore all interpreted languages are slow. Now, since Java is (by your claims) effectively interpreted, it must also be slow!
This doesn't make sense, seing that the SO2 is Silicon and the H2SO4 refers to Sulfur.
This must be the single least insightfull correction I've ever read. At least, when you correct someone, make your correction right... Or do you believe in alchemy?
...is equivalent to at least 2-300 lines in a sane programming language when used like this. It doesn't ridicule CSS as a copy-protection scheme, because CSS already is cracked, and therefore already is ridiculous. It doesn't even make CSS look more ridiculous, because no sane person would be able or willing to grok that shit on those 7 lines. In fact, those 7 lines tell me that it probably is relatively complicated, since it has to be this obscure, even in Perl.
Anyway, complexity of encoder/decoder has relatively little to do with cryptographic security, so the actual line-count or complexity of the algorithm doesn't really matter. As we all know, security by obscurity doesn't work, and double rot-13 encryption isn't better than single rot-13.
This is indeed intriguing; what unit will replace the familiar megahertz?
Well, the obvious answer would be BogoMIPS, but that doesn't have anything to do with clockcycles, so you might want an even more meaningless number. How about BogoMHz?
If something is a mess (buggy code), then there has obviously been random processes at work (i.e. random features, random bugfixes, etc...). Evolution is an example of a random process (it is not entirely random, but there certainly are random elements within it). On the other hand, if something is elegantly carefully crafted, that would mean someone intelligent (i.e. God) would have designed it.
So, if you believe that humans are a product of genetic evolution (which is more or less the only scientific theory at the moment), and you believe that evolution is somewhat random, it would be very hard to explain why the genetic code should not be a mess.
There are examples within programming, that potentially could teach us a lot about how the genetic code works. First let's look at the experiments of genetic programming. Genetic programming is a method of evolving programs by letting programs combine and mutate, where combinations of programs are allowed to "mate" depending on their "fitness" and some randomness. The resulting programs, as you can imagine are not exactly elegant masterpieces, but usually horrendous stupidities, that does things in an awkward roundabout way that just happens to produce the right result (or something that is right most of the time). But sometimes it works, although I haven't heard of many practical uses for the technique.
Genetic algorithms is a similar idea, but is usually applied to optimization problems. As opposed to genetic programming, genetic algorithms actually have been used succesfully for several real-world applications. The idea is the same as that behind genetic programming, but here we use evolution to tune some parameters to find the "best" function. There is no guarantee that the resulting functions after say 10 000 generations is especially good, but with good tuning of the genetic parameters the technique has been found to be useful for some specific problems.
The human immune system does from what I understand look very much like the result one would expect from a genetic algorithm. There are lots of individual parameters that must be fine-tuned, and they interact in non-trivial ways. The resulting mess works, but one could hardly call it elegantly designed, as it is a result of evolutionary processes, not divine design. This very much speaks in favour of genetic algorithms as a model of evolution as it occurs in nature.
When we look at the genetic code, we must (if we believe in the theory of evolution) believe that what we are looking at is the result of billions of years of evolution. While we may not totally understand the process of evolution, we believe that it's results would be mostly like the results of genetic programming or genetic algorithms. Of course, nature might be better at it than we are, or perhaps nature is flawed. Only research can answer basic questions like these.
Conclusion: It is not arrogant to say that the genetic code is a mess. We don't even have to look at it, it is after all what we expect. It is possible that further examination might find that, in fact, the genetic code is well-designed and understandable. I highly doubt that, but we can never rule that possibility out (not even after 1000's of years study, as it can be hard to understand someone elses design, in a very alien programming language).
A much more likely explanation for the phenomenon would probably be that stupid people are attracted towards Basic, while clever people soon realizes they need to learn something else, and doesn't remain in the Basic camp for very long.
Anyway, the Basic Djikstra talked about has almost nothing in common with e.g. Visual Basic that would, well, probably not make Djikstra happy, but at least not make him physically ill (oh wait, that was another language).
Edsger Djikstra is a person that deserves respect. It is just too bad that this stupid quote is what people remember of him!
Although I am not old enough to actually remember, I am geeky enough to have read about the creation of the PC before. IBM (for obscure reasons) decided to create cheap consumer boxen. There was most likely a reason for IBM to go with 8086 instead of e.g. Z80 or m68k, but it couldn't possibly have anything to do with MS-DOS, as they made the box first, and then went out shopping for an OS.
I very much doubt that IBM was even aware of the existence of QDOS (quick and dirty os - the precursor to MS-DOS) by the time they decided upon the hardware for the PC. From my understanding, there wasn't too much planning ahead, everything happened in record time, and the goal was to be first to market, not quality. They of course realized they needed an OS, and since time was essential, they just bought one instead of writing something themselves.
Interesting... I think I do!
But there are still factors to consider. I think we at least need to multiply by the spaghetti ratio, but other factors, such as usefulness index, design cleanliness coeffecient and ugly hack quotient needs to be taken into account. :-)
Oh well.
Depending on point of view, that has already happened long ago...
To make the comparison meaningfull, you have to get systems of somewhat equal capacity. The linux kernel by itself is in no way comparable to Windows 2000.
In addition we need various fileutilities, an accelerated X11-server (with Mesa/OpenGL, the video-extension, and antialiasing), one of Gnome/KDE (filemanager, basic desktop utilities, a simple texteditor, something akin to COM (which would be Bonobo or Kparts)), a working web-browser (Mozilla or Konqueror), some userfriendly utilities to replace the control-panel, a user-friendly email-client and newsreader, a simple webserver, basic networking utilities (Samba with a user-friendly network neighborhood browser, telnet, ftp, ping, ...), a good media-player (capable of playing at least wav, mp3, CD's, mpeg, avi, mov and preferably asf and wmf), minicom, a ppp-dialer, and probably quite a few other goodies I've forgotten to mention.
If we put all this into a linux-distribution, I doubt we would do much better than W2k. But to make things even worse, that wouldn't make much of a linux-system. Most linux-users wouldn't be too happy without emacs, gcc with friends, perl, python, tcl/tk, and most of the common command-line utilities (sed, awk, find, etc...) (, and probably also apache, MySQL or PostgreSQL, gimp, etc...).
Line-count? Well, guess what... Linux has become bloatware... Even more than what's produced in Redmond!
Not at all. At least most of the bands I found on mp3.com even put up links to their favourites on mp3.com. And the genres-organization also work relatively ok, albeit on a broader scale.
But sure, some extra sort of community sense on mp3.com would be helpful. Amazon.com's customer reviews and recommendation system might be a good idea, it seems to work surprisingly good for finding stuff I like (actually, it's often working so good that there are hardly any surprises, I often already own the stuff it recommends to me).
if you find a tune on napster, the person who dug that up often has some other tracks which may fit your tastes.
Also true, and perhaps part of the reason why I still use napster. The ability to browse other users files and find weird stuff you like is invaluable for finding new gems. But it is just as much guessing and pointing in the dark as it is on mp3.com. So this user liked artist X, cool! Let's see, he shares 2000 files, maybe one of those is something I like as well?
Bottom line: Napster is cool, mp3.com is cool, but there is room for both, and there is room for more. And there are room for others: musiccity's morpheus is much more pleasurable to use than napster (killer feature: download from more than one source to speed up downloads, and make sure you get a complete file even if user logs off). But you can't browse users files anymore, so finding new stuff is more difficult. I simply want them all!
That's not the case. True over time Oxygen will combine with other elements, but the existstance of large amounts of "free" Ozygen, is NOT a guarantee that the palanet has or hasn't life.
It is a very strong indicator. The existence of oxygen in the earth atmosphere is so high that it cannot possibly be explained by anything other than life, or perhaps somebody actually producing the stuff industrially (but that would indicate life as well). It is of course a possibility that O2 could be produced randomly much like ozon is produced in the atmosphere, but the concentration of O2 in the atmosphere is so high, that this possibility is pretty much out of the question. We are talking about highly complex processes, in other words: life (or something planned by intelligent creatures, which also means life).
First, we must assume that not all life needs pure oxygen to exist.
Nope, quite the opposite. We assume that some alien life (such as ourselves) needs oxygen to exist. There are of course other possibilities that this method would not find (although we could look for large concentrations of other unstable compounds).
Who's to say that extraterrestial life doesn't "breathe" though photosynthesis? Or are even carbon based lifeforms ?
That's pretty much what we hope for, yes. If that was the case, then the atmosphere would be full of oxygen. As you might be aware of, the earth atmosphere's oxygen is a product of plants doing photosynthesis. So we pretty much hope that aliens '"breathe" though photosynthesis' like life on earth does!
If we are looking for alien life that is not carbon based, we probably won't find it while looking for oxygen. That doesn't mean that the technique is useless. It simply means that we restrict our search to something we can hope to recognize. If we are looking for any kind of unthinkable life (like a Hooloovoo (from hhgttg: a superintelligent shade of blue)), we will never find anything. So in the name of practicality, we start looking for oxygen primarily, and other unstable compounds secundarily. Sounds pretty much like common sense to me.
Second, if there's lot's of Oxygen, is that proof alone that life exists there ? Can You be certain that Oxygen is the ONLY basis of life ? What if the atmosphere is strongly radiated ?
Well, the possibility of 20.9% oxygen being created by chance from radiation is zero. You need complex mechanisms such as photosynthesis to produce oxygen at this level. Just adding some sunlight to a batch of water and CO2 won't do it...
Third, what if the planet is gaseous ? It might have lots of Oxygen, but no Carbon. This could proove to be a very inhospitable place for life to exist.
Life survives surprisingly many places on earth. Bacteria seems to survive quite all right in our atmosphere, so I don't see why they couldn't survive in an all gaseous planet. The lack of carbon would be more troublesome. But tell me when you find a planet with 20% oxygen and no carbon... (I don't think you will!). Having relative masses of 12.01 (C) and 16.00 (O)these two elements will naturally tend to appear in the same places. And in a gaseous planet, most likely in the form of CO2.
The site is unfortunately in norwegian (which might restrict your appreciation somewhat, unless you happen to speak it), but you should get the idea anyway. It's on www.boyzvoice.com.
The site is for the norwegian band boyzvoice. The band was originally created for a short tv-sketch attempting to make fun of boy-bands (not too unlike Ali G making fun of gangsta' rappers).
Somehow, the idea took off. They made a full-length movie, and have probably sold more records than most real boy-bands in Norway. All the songs and lyrics are there, which of course are in english, as no boyband would ever sing in norwegian anyway...
It's all about spoof, karaoke and flashy graphics, has no purpose whatsoever (except getting the authors wildly rich), but is quite enjoyable.
A kitchen sink would definitely come in handy...
People have been claiming this for years, but it has yet to happen. And I don't think it would. The forces of capitalism want us to buy more and more boxes. If we had one box that did it all, someone would have to come up with a new box that did something else, and that most people found succesful.
Also, most combined units aren't really that succesful. Even the obvious example, a combined PDA and cellphone doesn't even work that well. If it looks like a cellphone, it is too small as a PDA, and if it looks and feels like a PDA, don't try using it in a car (using the stylus to answer your calls...).
Still, I would like to see the combined watch, cellphone, computer, flashlight, leatherman tool and wallet all in one easy to carry affordable unit. Perhaps something akin to the "trapper keeper" from South Park, although a bit less violent.
Good point. Not that I don't trust verisign, but why would I trust some relatively unknown certificate provider in the Philippines?
I think it would be wrong to try to convince browser makers to add every kind of certificate authority by default. Instead, you should team up with the major ISP's in the Philippines (and ideally the government) to create a local one.
Now, why do you need the support of ISP's? Well, because (at least this is the case in my country, it might not be true in the Philippines) most users get a disk from their ISP when they sign up, and generally keep on using that software without bothering to download updated versions of the software over the net. These disks could add local modifications, such as adding the local certificate provider among the trusted authorities. This would most likely make 90% of the users happy, and the rest should probably be technical enough to understand how to add an additional authority themselves.
Ok, perhaps less than ideal, but I think it would solve the Philippine problem. If your site deals with international customers, you would probably have to resign to an expensive verisign certificate, or accept loss of customers due to confusion or mistrust. But from my understanding, the problem was mostly relating to Philippine websites targeting Philippine users. Case closed.
In fact, you have answered your own question. There is nothing wrong about doing 2D-stuff in OpenGL. (Of course, XFree doesn't support OpenGL but Mesa, but most people will never notice...)
My experience with Java is limited to some (very minor) work on a very large data-acquisition system (and I really do mean large, both in terms of code and in terms of data. Sure we had some performance problems, most of them due to programmer faults, some of them due to scale of the project (the previous version was written in C++, and had performance problems as well, and here we experienced the all too typical second system effect), and some few extremely annoying problems with the java implementation. Mostly related to garbage collection.
Well, to be true, we didn't really use java for the data-intensive stuff, but it was pretty amazing what we found orselves doing in java. Often prototype implementations turned out to be good enough, and never needed a rewrite in C++. The main realization was that java is certainly not as slow as some people would have it. A rule of thumb would probably be 2-3 times slower at worst (unless we are talking about swing, which really is a hog), but this was two years ago, and the situation might have improved even more.
I am not a big java bigot. But that's not because of performance. I'm perfectly happy with java's performance (although such extreme cases as you pointed out definitely needs fixing). What I don't like about java is mostly syntactical (it's too much like C/C++, and it doesn't allow you to use macros for abbreviating common constructs). I also miss complex numbers, generics, and easier interfacing with code written in C, C++, assembly, or Fortran. What I do like about Java is that it usually results in readable code (surprisingly often, don't really know why...), relatively ok performance, garbage collection, and javadoc. Which basically means that java probably would be one of my favourite choices for a language when working as part of a large team, or taking over someone else's code, but not for my personal hacking pleasure. Hmmm, come to think of it, that's a pretty good recommendation, but I think I still prefer Ocaml, Beta, Common Lisp, Smalltalk, Mercury, Haskell, C, Python, or Ruby for hacking pleasure...
It is a misconception that compilers are now so good that people can't beat them. If most programmers had spent as much time with assembler as they do with high-level languages, most programmers would easily beat an optimizing compiler.
But of course, writing anything substantial in assembler is just stupid. Almost as stupid as having this discussion, which also reduces (at leaast my) productivity...
You'd have to be stupid, then. Perhaps you aren't stupid enough!
I feel so in awe of your grasp of logic!
Oh yeah, and probably with source code so those of us who use alternative operating systems can compile it for ourselves... (not!)
This must be the single least insightfull correction I've ever read. At least, when you correct someone, make your correction right... Or do you believe in alchemy?
Since when did "open" have anything to do with "open source"?
But do you mean TOKAMAK?
It is superconductor, not semiconductor. Plastic semiconductors are already here
Anyway, complexity of encoder/decoder has relatively little to do with cryptographic security, so the actual line-count or complexity of the algorithm doesn't really matter. As we all know, security by obscurity doesn't work, and double rot-13 encryption isn't better than single rot-13.
Happy now?
...wine or plex86 inside this one...?
If something is a mess (buggy code), then there has obviously been random processes at work (i.e. random features, random bugfixes, etc...). Evolution is an example of a random process (it is not entirely random, but there certainly are random elements within it). On the other hand, if something is elegantly carefully crafted, that would mean someone intelligent (i.e. God) would have designed it.
So, if you believe that humans are a product of genetic evolution (which is more or less the only scientific theory at the moment), and you believe that evolution is somewhat random, it would be very hard to explain why the genetic code should not be a mess.
There are examples within programming, that potentially could teach us a lot about how the genetic code works. First let's look at the experiments of genetic programming. Genetic programming is a method of evolving programs by letting programs combine and mutate, where combinations of programs are allowed to "mate" depending on their "fitness" and some randomness. The resulting programs, as you can imagine are not exactly elegant masterpieces, but usually horrendous stupidities, that does things in an awkward roundabout way that just happens to produce the right result (or something that is right most of the time). But sometimes it works, although I haven't heard of many practical uses for the technique.
Genetic algorithms is a similar idea, but is usually applied to optimization problems. As opposed to genetic programming, genetic algorithms actually have been used succesfully for several real-world applications. The idea is the same as that behind genetic programming, but here we use evolution to tune some parameters to find the "best" function. There is no guarantee that the resulting functions after say 10 000 generations is especially good, but with good tuning of the genetic parameters the technique has been found to be useful for some specific problems.
The human immune system does from what I understand look very much like the result one would expect from a genetic algorithm. There are lots of individual parameters that must be fine-tuned, and they interact in non-trivial ways. The resulting mess works, but one could hardly call it elegantly designed, as it is a result of evolutionary processes, not divine design. This very much speaks in favour of genetic algorithms as a model of evolution as it occurs in nature.
When we look at the genetic code, we must (if we believe in the theory of evolution) believe that what we are looking at is the result of billions of years of evolution. While we may not totally understand the process of evolution, we believe that it's results would be mostly like the results of genetic programming or genetic algorithms. Of course, nature might be better at it than we are, or perhaps nature is flawed. Only research can answer basic questions like these.
Conclusion: It is not arrogant to say that the genetic code is a mess. We don't even have to look at it, it is after all what we expect. It is possible that further examination might find that, in fact, the genetic code is well-designed and understandable. I highly doubt that, but we can never rule that possibility out (not even after 1000's of years study, as it can be hard to understand someone elses design, in a very alien programming language).
How about increasing gravity? A black hole computer? I guess we would need wireless networking for this to work...