On Tue, Jul 5, 2011 at 2:35 AM, rantingrick <rantingr...@gmail.com> wrote: > I believe (unlike most people) that nature is striving for perfection > NOT for diversity. Diversity is just a byproduct of feeble attempts to > GUESS the correct answer. Here is a thought exercise for the advanced > reader...Which is more efficient; Numerous groups working to create > languages that satisfy their selfish needs OR one group of all the > bright minds working to destroy multiplicity and bring about the one > true language that meets the needs of productivity?
You assume that there is one right answer. I'm not sure whether this is provably wrong or just utterly unfounded, but I see no reason to believe that it is so. > In order to achieve perfection we must propagate unity within the > system and we must destroy multiplicity with a vengeance. We must > unite to defeat multiplicity and in doing so we create innovation. > That is the job of intelligent agents, to BRING ORDER TO THE NATURAL > CHAOS OF THIS UNIVERSE! You join a long line of Lawful Evil villains who have made that statement. Look at such as Darth Vader, is that your goal? Bringing order to the universe even if it means choking it to death? Yes, humans will tend to bring orderliness to what used to be chaotic. But this cannot be the ultimate goal; order is but a means to an end. What end? What IS the end of programming? Is it not productivity? > What do you think will be the eventual outcome of the human existence > Alex? Since you have no imagination i will tell you, a singular > intelligence. However an intelligence that is the product of many > "intelligent agents". A unity intelligence if you will. Just think of > it as a botnet alex, i am sure you have plenty of experience in this > area! Thanks. Mind if I borrow your crystal ball for a moment? Seems to be a good one, since you can see *with certainty* the eventual outcome of all humans. I can't help thinking, though, that you're aligning yourself with villains again - in this case the Borg. > Do you think that if we combine all the worthwhile attributes of the > high level languages that somehow everyone is just going to accept > that forever? No, of course not. HOWEVER instead of splitting off into > sects (and damaging our hive mind capabilities) we need to focus our > efforts on one goal... CREATING THE BEST LANGUAGE WE CAN AT ANY ONE > TIME IN HISTORY... and we will all learn TOGETHER not APART. Diversity > only propagates multiplicity and slows our evolution Alex. It is > selflessness on a grand scale. Once again, you assume that there is one ultimate language, just waiting to be discovered/developed. One language which will be perfect in every way, for every purpose. > Why can they not explore within the hive mind? Why must they hide > their explorations from the greater group. SELFISHNESS If they explore anything that the whole hive isn't doing, they're making that disagreement again. Suppose we had that one language that I described earlier - the "clean slate representation" (CSR, but that's just syntactic sugar - if you'll pardon the awful pun) one where the only thing you have is "define operator". We then, as a single unified collective hive mind unity, develop a Standard Library for this language. Putting "#include std" or "import std" or whatever at the top of your code gives you a fairly normal set of things you can do. Well and good; we all use the same language. As soon as anyone explores anything within that language that hasn't yet been done, he has created a new dialect - a new language, if you will. It's right back with what you are ripping on, except that we now call it the same language. > We should have nailed down syntax and semantics long ago alex! This > should have been step one. No instead we have groupA, groupB, and > groupC still fighting about what is best for their selfish needs > without concerning themselves wit the big picture. It's not what is > best for ME, NO, it's what is best for US. Actually no. It's still about what's best for ME. I can't think of what would be best for you - you're the best one to think about that. Open source actually encourages and allows selfishness in ways that are far too awkward else; groupA can code to groupA's needs, then groupB adds code to that to make it do what groupB needs, and offers their enhancements back to the world, meaning that groupC need only code what groupC needs. > * What syntax is most widely intuitive? > * What semantics are the best for productivity? > * etc... These are subjective questions. I happen to be able to work very well with a bracey language, but other people can't. To me, Pike was incredibly intuitive, because it has so many similarities to languages I already know. To someone who knows only lisp, that would not be the case. Incidentally, your questions cross-multiply too: What semantics are more intuitive, and what syntax is best for productivity? Four good questions. > Yes, and i agree. But instead of learning in small groups we need to > learn together. Do you mean literally? Huge classrooms good, individual/small-group learning bad? That's provably empirically wrong. But if not that, then what? > Of course we are going to make mistakes along the way. > Heck we may even have to re write the whole spec a time or two. Yep, and code will be written for older versions of the spec. The way you're talking, it'd likely be a LOT more than Py2 vs Py3, with lots of installations and lots of programmers preferring to stick to the old language. Or are you planning to somehow force everyone to upgrade to the latest? > But i > would argue that the chances of making mistakes decrease as the number > of agents increase. I dunno, have you ever heard of a little thing > called Open Source Software. Where people from all over the world > maintain a piece of software. AMAZING HUH? Just imagine if we combined > all the best people from all the current languages. There is your > diversity Alex, however sadly, you have no imagination to see it. I'd say all the best people for Language X are already there. And all the best people for Language Y are already _there_. There's a lot of people who would be good in multiple communities, and guess what? They're already IN multiple communities. These things have a way of sorting themselves out. There cannot be one perfect language for everything, unless that language is so flexible that it is nothing. I retract my earlier statement that the "universal language" is C; no, it goes back further. The universal language is a text editor where you write your source code. You then run it through the universal compiler called "make", which figures out what to do with your source. You then run it on the universal hardware... oh. Well, make can figure out the hardware too, so we'll pretend it's universal. Is this one language? At work, I have SciTE holding several files in separate tabs - they might be C++, Python, Lua, Javascript, Pike, the Makefile, and a plain text file where I keep my notes. SciTE edits all of them (although it's less intelligent with the languages it doesn't know). In any of them, I can hit F7 to compile the current file and deploy it to my test-box. Does that mean they're all one language? Different languages have different purposes. As I found out recently, trying to use Python in a situation where you need to sandbox user-supplied code is a bad idea; I ended up with a p0wned test-box and a lot of egg on my face, and it's only because the Python community is intelligent adults that we didn't have some rather nasty consequences. (That box failed the test, but it was an incredibly successful test. We learned the painful truth that we needed to hear.) Has anyone ever used a very-high-level language (like Python or Ruby or Lua) to write, say, a video driver? There is a place for the languages that take most of the work away from the programmer, and a place for languages that basically give you the hardware and say "have fun". There will never be a universal language that does both jobs perfectly. *returns the crystal ball* Chris Angelico -- http://mail.python.org/mailman/listinfo/python-list