Agreed. And one can still write Java apps that have the full Mac "look and feel", because the direct Swing / Aqua bindings are supported, and will continue to be. IMO this is a far more sensible use for Java than the bridge was anyway: the whole point of using Java is being able to target multiple platforms from a single code base -- as you say, there are a number of better alternatives for writing native Mac stuff that don't try and shoe-horn a dynamically-typed framework into a statically-typed language.
"So if Apple really wanted to put a dent in Windows, they would adopt some platform that would mimic the ease of development that VB gave Windows 15 years ago. "
They already have one called AppleScript. It evolved from HyperCard which is a much older technology than VB -- people were using it to write commercial and shareware apps for Macs while Gates was still telling the world that 640K should be enough for anyone.
AppleScript is a much easier language to learn than BASIC (it looks a lot like plain English), and it also has more "levels" of applicability: you can use it to do little things like automate the workflow of existing applications, build full Cocoa applications with Interface Builder and X-Code, and everything in between.
So plain Joes can indeed build full OS X applications using an easy, fully garbage-collected language that attaches events to UIs made with Interface Builder using a paradigm that is very similar indeed to that of RAD Windows IDEs such as VB and Delphi. Everything they need is there on their OS X disks, they won't even need to spend any extra money to get it.
BTW: those who really do want to use BASIC can. RealBASIC is a pretty comprehensive commercial system that runs on Mac, Windows, and Linux, and can be used on any of those platforms to cross compile for any of the others (it is a true compiler, not an interpreter). FutureBASIC is another commercial offering, but is Mac-specific -- it is however a blazingly fast compiler that produces well-optimised executables.
You don't have to use pointers with Objective-C. It has the ID type which is a general dynamic type that behaves very much like objects in dynamically typed languages such as Smalltalk, Ruby, etc., i.e. you store a reference to an object of any type in it, with the actual binding being done at run-time. If you only use ID types, you can write a substantial Objective-C application without using a single C-style pointer.
C pointers are provided for two basic scenarios:
1) They provide a mechanism for binding objects to variables at compile-time (early binding). In this scenario, the C pointer syntax is only used to declare the variable, not use it (instantiation and messaging is done using Objective-C's Smalltalk like OO syntax, from which C-style pointer de-referencing is completely absent). Early binding produces better performance than late binding, and lets the compiler perform static compile-time type checking.
2) For interfacing with (or writing) C libraries. Unlike C++, Objective C is a pure C superset that is capable of both consuming and producing C libraries. Pointers are obviously necessary for this due to C passing all parameters by value.
NB: if you want to write Cocoa apps without using Objective-C or Java, there is always AppleScript. It's even higher level than Python and Ruby, is much better integrated with the Mac itself, and has a no-brainer VB-like mechanism for connecting events to UIs made with Interface Builder.
To be fair, Brad Cox's original Objective C did have a garbage collector, so the problem isn't one that's inherent in the language itself, but rather Apple's implementation of it (or to be more accurate, Apple's implementation of the Objective-C run-time).
You are missing something. Unlike inheritance, which implements new behaviour at the point of inheritance only, categories allow one to add to or alter methods of _existing base classes_, meaning that you can modify the behaviour of entire class hierarchies without having to touch their source code, recompile them, etc. This feature is not unique to Objective-C (Dylan and Oberon have similar capabilities), but by the same token, it is not something that the majority of OO languages support explicitly.
"Everytime the **AA manages to lobby another restrictive law into existence, we all lose."
We lose in the short term, but win in the long term. There is an old saying about giving someone enough rope to hang themselves, and another that warns about being careful what you ask for, because you might get it. Every law that is passed to favour the **AAs instead of those who consume their wares criminalises another sector of the population who had previously been completely law abiding, and this has two notable effects:
1) It increases the risk of owning anything the **AAs produce. When that risk level reaches the point where it is greater than the perceived benefit, people en masse will simply stop consuming their wares. They thus end up protecting a pie whose size is constantly diminishing because of the measures taken to protect it.
2) Currently, such laws get passed by shills because they are mostly below the public awareness threshold. This is however changing: some of the more extreme prosecutions by the **AA have already received significant negative mainstream media coverage, as has the Sony DRM debacle. And this sort of coverage will become more and more common as the powers of the **AA increase, and therefore their opportunities for doing things that run contrary to what most people regard as being "just". Strange as it may seem, this negative coverage has come from media organisations who actually stand to benefit from more restrictive, pro-producer laws, thereby highlighting a major weakness in the **AA and its allies: they are corporations with a fiduciary obligation to their shareholders, and will therefore change direction in a moment if they believe that doing so will get them more of the old green magic.
Point (2) above is also important from a political viewpoint, because for every media industry shill, there are hundreds of other politicians and would-be politicians who are constantly looking for a career-launching opportunity that gives them lots of free press coverage whilst presenting them as the champion of the "downtrodden masses" (i.e. the people who actually put these guys into office). And these opportunists won't be pushing for minor changes to legislation that curb the more excessive powers the **AA has managed to gain -- they'll want the whole lot replaced with a consumer bill of rights that will prevent such things happening again in the future, because politicians in democracies and republics gain fame and influence by passing new laws, not simply repealing some old ones.
So let the **AA push for, and get, ever more stringent laws, because it's the only way the already unacceptable status quo will ever change.
Same here. I'll be 46 in a month, and I've downloaded music as a way of finding out what's new and interesting. My tastes are mainly oriented towards 70s prog. rock, with a good sprinkling of jazz, blues, and classical for variety. By downloading and sampling, I discovered some acts that I would not know existed, because they don't get air play of any sort in my part of the world. Over the last five years, this has directly led to me buying around 60 CDs which would not have been sold if the capability to sample via downloading wasn't there (and said buying required a lot of hunting around to find the CDs I wanted).
I don't download movies for sampling, but that is more than anything a practicality concern: I can listen to a few tracks by some new artists while I'm doing other things, whereas a movie would require at least two hours of complete attention to decide whether I want to buy it or not.
For production code, clarity is far more important than anything else, especially in the open source world, which tends to lack design and architecture documentation (and from what I've seen, in many cases there are few if any useful comments in the code either). The whole point of open source is the fact that the source is accessible to all, but there is more to accessibility than simply sticking something in a place where it can be downloaded.
NB: I am not saying that efficiency isn't important, but in most projects it will have a notable effect of at most 10% of the code base. Clearly written code (or the lack thereof) on the other hand impacts all of it.
That isn't the original Smalltalk class browser: it is an image from Squeak Smalltalk, whose browser is significantly evolved from the original, and incorporates (among other non-Xerox things) ideas developed by IBM for their VisualAge Smalltalk. The original Smalltalk browser had three panes: a class hierarchy on the top left; a list of methods for a selected class on the top right; and an editor pane at the bottom that showed the source for a selected method (and allowed it to be edited).
"We still disagree, however, in that, I know some furniture makers do take pride in, for example, using a traditional plane rather than a powered tool for the same job."
We do not disagree. Many craftsmen will use a manual tool for certain jobs even when they have access to an excellent powered version because the manual tool acts as an extension of their hands in a way that the usually larger and clumsier powered version doesn't. It can carry tactile information that allows the craftsman to make constant minor adjustments; it can transmit small changes in pressure and direction; and it can be manoeuvred into places that are inaccessible to the bigger powered item.
"Also we seem to disagree on how the semantics should be arranged, all components require tools, I say, though the tools may be hands."
Yes, we do disagree here. If hands counted as tools, then there would not be an anthropological distinction between tool-using organisms and ones that don't use tools. A tool is an item external to the organism itself that is used to extend its innate capabilities in some way. It can be as simple as a bird dropping snails on to rocks from a great height to break their shells; or encompass more complex behaviour like that of chimpanzees who strip small branches off of twigs so that they can probe for insect food in places that are too narrow for their fingers. A chimpanzee picking up a piece of fruit and eating it does not count as tool use merely because it uses the same hands to do it that it will later utilise to modify and then employ a carefully selected piece of wood.
"And while I agree with the spirit of your crafstman as you put it, I think if we fix the crafstman and vary the tools, of course the same craftsman will have better results with better tools and will therefore value the tools highly for he'll recognize they do help the quality of the result just as careful skill does."
I do not disagree with this. I never claimed that craftsmen don't value their tools, because they obviously do. My point was that they don't get emotionally involved with them in the same way that computer people seem to. A craftsman who has had a bad experience with a particular type or brand of tool may well advise others to buy and use something else, and may even say "I told you" if somebody buys one anyway and then moans about it afterwards. They do not however get involved in long, vitriolic name-calling sessions just because somebody prefers a different type or brand of tool to them.
"And if you are still denying that a worse craftsman might make a better creation with access to tools that were better enough, I still feel they might, because as we admit, it can be hard to sand a piece of wood without a tool, at least sandpaper. There is a limit, an upper limit, and that bound is defined by the tool."
There is also a lower limit that is defined by a tool. A craftsman who does not have adequate tools for a particular job cannot do it well, and may not be able to do it at all. However, the difference between a craftsman and a dweeb with tools is that the craftsman _will_ produce excellent results with adequate tools, while the dweeb _might_ produce adequate work with excellent tools. Clearly, in this scenario, it is the dweeb who will get excited about the excellent tools because said dweeb can't work without them; the craftsman on the other hand will think "hey, this is good, because it lets me do this more quickly and easily", and then get on with using it to do what he was already doing superbly before.
"You admit tools matter, but want to emphasize the role of the craftsman, correct? That's fine with me... because I agree the craftsman is more important than the tools... and there is no tool great enough that a poor craftsman can't misuse it."
Agreed in full.
NB: this has been an extremely interesting discussion which I have greatly enjoyed. Season's greetings to you, and happy new year.
While it is true that Python is dynamically typed, the problem you describe (a wrongly spelt variable name leading to the system creating a new variable) has nothing to do with the dynamic type system, but is instead caused by dynamic variable creation (a big source of bugs in BASIC programs, and BASIC is not a dynamically typed language).
There is no requirement for a dynamically typed language to also have dynamic variable creation (Smalltalk for example is profoundly dynamically typed, but all variables must be declared at compile-time), or for one with dynamic variable creation to also be dynamically typed. They are separate and entirely unrelated things, although it is easy to see why many people confuse one with the other.
Most (if not all) modern BASIC programming systems have the ability to disable dynamic variable creation because it was identified as being a big source of problems in non-trivial programs, and serious BASIC programming shops (yes, there are such things!) insist on this being the default for all projects. IMO Python badly needs a similar capability if it is to be considered as a candidate for serious enterprise-class and / or commercial programming (I'm not sure whether Ruby has dynamic variable creation because I am not very familiar with it).
By contrast, the main problems with dynamic types are performance-related. A simpler, more consistent programming model without the need for hacks such as Java's interfaces to achieve true polymorphism instead of the more restrictive hierarchical polymorphism usually present in statically-typed OO languages does not come free of charge. Late binding is more expensive than early binding in a number of significant ways, and it also precludes certain types of optimisations that can be applied when the compiler "knows" what sort of data it will be dealing with.
The above situation has resulted in several attempts to marry the convenience of dynamic typing with the efficiency of static types. Some have taken an automated "under the hood" approach that uses contextual analysis to derive the types of as many objects as possible at compile time (Sun's abandoned Self language did this); while others such as Objective-C let programmers decide which typing system they want to use for each variable they declare. And this is I think the most pragmatic approach to the problem, because both typing systems have clear advantages and disadvantages under certain situations, so why not leave the decision of which one best suits a particular area of a problem domain to the person who is tasked with solving that problem?
NB: I have never understood why not having to tell your computer where to put the things you want to keep around for future reference is supposed to be easier for novices. Avoiding having to tell it what type of things will be put in them is definitely easier, because the very concept of "type" in the computing sense takes a lot of getting used to. However, it's pretty easy to grasp a concept such pre-declaring variables, because people are accustomed to putting things into labelled containers so they can find them again later, and are therefore perfectly capable of handling the fact that a prerequisite for using the computer equivalent involves (a) telling it that a container is required, and (b) what it should be called.
"You showed me examples of cells that combined/joined/etc.. , _not_ split themselves into multicelled organisms. (as evolution says the very first single celled organisms did)"
Stop putting up straw men so you can knock them down. You know what the example I provided was in answer to, because I quoted your own words in my last post, and it was not what you are claiming here -- in fact, it was the precise opposite. Furthermore, evolution does _not_ say what you claim, so this is yet another straw man. Such cheap debating tactics are the refuge of those whose arguments are too weak to stand on their own.
"I wonder why you are discussing this anyways, if you want to educate you would do so, if you want to make someone look dumb you say they don't get it. Which are you really doing here?"
Neither. You made a post that claimed the theory of evolution was wrong. I answered it. This is what happens on public forums such as slashdot.
"You said "slime moulds combine", they do this all the time, yet they are still slime moulds, they aren't evolving into something new."
How do you know they aren't evolving into something new? This behaviour could have developed in the last few hundred years for all you know, because soft creatures like slime moulds are poor candidates for fossilisation. Your statement is therefore merely an opinion which is based on absolutely no information whatsoever (you hadn't even heard of slime moulds before I brought them to your attention).
"Rats, bacteria, all the same, they aren't new. They may have a "stronger" ability to deal with something, but then again I pass on traits to my children as well, which include chemical dependencies and resistance to toxin. Still not evolution."
Ah, but that _is_ evolution! Evolution theory states that a population of organisms will react in one of two ways to lethal environmental changes: they adapt, or die out. In cases where organisms successfully adapt to such changes in ways that are passed on in their descendants, they become a genetically distinct sub-group, i.e. a _new variant_ of whatever they started out as. This means that warferin-resistant rats are not the same type of rat as non-resistant ones, and antibiotic-resistant staphylococcus aureus is not the same as the non-resistant ones -- both are new variants with genetic code that is different from populations of similar organisms that do not carry the immunity genes.
Furthermore, your ability to pass genetic traits on to your children is precisely the mechanism that drives evolution. If those traits turn out to give your offspring advantages under certain circumstances, then those genes stand a better chance of proliferating throughout future populations; conversely, genetic traits which are disadvantageous will tend to be either eliminated from future populations, or become recessives which only manifest themselves under rare sets of circumstances (often to the considerable detriment of the host organism).
"So, no, you really haven't shown that anything can "mutate" into something more complex, only change be refined in it's current state."
And another straw man! Now you've introduced the word "mutate" into the mix in the vain hope that I won't notice yet another pathetic attempt to make out that I haven't countered every single assertion you have made with things in the real world that are doing what you previously claimed they did not. Yet you have not attempted to provide one single shred of counter evidence to refute mine. All you do is build straw man after straw man, claiming that evolution theory says things it does not, countering facts with opinions that you don't even attempt to justify, or cherry picking one line from a large paragraph that I have written and answering that without making any attempt to address the actual topic.
I thus conclude that you fall into one of two categories:
1) You are a person who knows little about the theory of evolution, and therefore is honestly mistaken about what it actually is and says.
2) You know full well what it is and says, and are deliberately misrepresenting it to knock down straw men of your own making.
"All you have to do is prove that it's even possible for a single celled organism to change into a more complex, say with 2 cells. Considering this has never been done or proved even remotely possible, the core elements of the theory of evolution are fiction."
I showed your assertion was wrong by providing several examples of organisms that do this. Now you are claiming that this is invalid because it isn't evolution. Again, the typical anti-evolution tactic of moving the goal-posts when somebody shows that you are talking utter rubbish.
[I have already given you examples of evolution, i.e. rats and bacteria evolving immunity to poisons and antibiotics.]
"I can develope [sic] an immunity to poisons as well, this is not evolution."
These are not however examples of a single individual. Such immunities are possessed by entire populations, meaning that the genetic code for the immunity is being passed on to descendants, which is precisely what evolution theory predicts for organism populations that are stressed by adverse environmental factors, i.e. they either die out completely, or adapt. Note the term "organism populations" here, because that is what evolution theory is concerned with, and pertains to. What you or any other individual can or cannot do does not matter one whit or iota to evolution unless it results in a trait which then becomes part of a sizeable, sustained population.
"This is the problem for evolution, not the arguments, if you can't prove the most basic aspects of the theory. (one celled organisms becoming more complex) none of your "non-over-simplified" arguments in support have worth."
I have provided examples of one-celled organisms becoming more complex, yet you simply continue to claim that they don't exist, or don't fit a set of entirely arbitrary criteria that you invent afterwards. I am becoming extremely tired of this.
" Unless you feel that we can just skip this aspect of evolution and just have faith that this has/does happen..."
And this is where you are degenerating into a troll again, because I have _not_ skipped this aspect of evolution theory in any way, and have provided plenty of examples, none of which have been effectively refuted by you in any reasonable way (saying that a thing is not evolution but behaviour is tripe, because behaviour is inherent in all living organisms, and is therefore as much a subject for evolution as anything else about them).
I am tired of banging my head against this particular brick wall. This is a public forum, and you are free to answer if you wish, but do not expect me to bother going over the same ground again. You do not accept evolution because you don't want to accept it, and that will not change no matter how much evidence is thrust in your face to refute your fallacious assertions.
Firstly, slime moulds are not moulds. They were given that name before people understood their true nature: they are far more closely related to protozoans than fungi.
Secondly, you are doing the usual anti-evolutionary "debating tactic" of moving the goal posts when you are shown to be completely and utterly wrong about something. You said a thing did not exist, and I proved you wrong by citing some examples -- now you are attempting to re-define the argument in a desperate attempt to discount _real evidence_ that refutes one of your original reasons for stating that the theory of evolution is wrong.
Yes, slime moulds change into multi-cellular organisms because they have genetically-coded "behaviour" that makes them do this, but our own cells become neurons, blood corpuscles, etc. because they are genetically coded to "behave" in that way too. And when something goes wrong with that genetic "behaviour" code, our cells don't do what they're supposed to, and we end up with genetically carried diseases, congenital abnormalities, cancers, etc., etc. There is thus no qualititive difference between the genetically coded behaviour in slime mould cells and the genetically coded behaviour of the more specialised cells in more advanced multi-cellular organisms, so any attempt to distinguish between them will require some really good evidence on your part, not a bunch of unfounded assertions and transparent attempts to re-define the argument again.
I have already given you examples of evolution, i.e. rats and bacteria evolving immunity to poisons and antibiotics. You made some stupid claim about this being due to "design by external forces" because it was humans who were doing the killing (IMO claiming that killing something is a design process is totally absurd). Of course, you neatly avoided thinking about the fact that the first antibiotics were discovered because fungi had been using them to kill bacteria for hundreds of millions of years before humans appeared, and bacteria were evolving immunities to them back then as well (resulting in the fungi evolving newer antibiotics to combat them). Or perhaps you are now going to claim that fungi are also "intelligent designers" for new strains of bacteria, thereby redefining not only the concept of design as you did previously, but now also that of intelligence.
And finally, has it even occurred to you that your arguments against evolution are actually arguments against a grossly over-simplified version of it gleaned from school and popular science articles and TV shows? The more you write, the more you reveal the fact that you know little to nothing about the theory itself, and even less about the vast and ever-growing body of evidence that supports it. I therefore suggest that instead of attempting to constantly assert that evolution theory says things which aren't actually in it, you spend some time reading up on what it really says, and why it is accepted by the scientific community.
You said there were no examples of single celled organisms becoming multi-cellular ones. I then gave you several examples of just such organisms, thereby proving that you are wrong. And no, this is not flocking behaviour as seen in birds and fish, because each individual member of the flocks can function as an independent organism at any time. This is not true of slime moulds, which become a new creature when their cells join, and those cells are no longer capable of functioning independently of the organism that they now constitute. It is an example of single celled organisms _becoming_ a multi-celled one, i.e. precisely what you said does not exist.
Evolution does not claim that you evolved from a collection of single celled organisms into a foetus, because that would be absurd. A foetus is one of the stages that animals go through between conception and birth, not a stage in the evolutionary process.
"All you have to do is prove that it's even possible for a single celled organism to change into a more complex, say with 2 cells. Considering this has never been done or proved even remotely possible, the core elements of the theory of evolution are fiction."
This is much more interesting point, and one that's certainly well worth debating.
Two of the three types of slime moulds are examples of independent, single-celled organisms that swarm together into often fairly large (up to a foot in diameter for some species) multi-cellular forms.
The first group, called plasmodial slime moulds, starts life as a bunch of cells that propel themselves with cillia. These cells can however swarm together and fuse into what is effectively a single giant cell, but one with thousands of nuclei. It is a hybrid of a single-celled and multi-cellular organism (cells usually have one nucleus, not thousands of them).
Cellular slime moulds are the second interesting group. These spend the greater part of their life as single cells that resemble an amoeba, but will swarm into a single organism in response to certain chemical signals. Unlike the first group, each cell remains distinct, but they still co-operate and behave as a single multi-celled creature.
There are also a wide variety of primitive animals and plants that form co-operating colonies. As an example, Google for Pandorina.
Note that some of these primitive organisms are capable of both sexual and asexual reproduction, a trait retained by many sponges, which while definitely multi-cellular, retain many of the characteristics of colony-forming unicellular organisms, including having cells with cillia on them for water intake.
What absolute and utter shit. It would be on the front page of every newspaper in the world if somebody _disproved_ evolution theory. They haven't though, and they won't, because it has stood against an onslaught by religious people attempting to show that it is wrong since its inception, and has only grown stronger over time as more and more evidence has been gathered from new, emerging sciences and an ever larger volume from older, more established ones. The fossil record supports it; the genetic record supports it; and observations of living things support it. This is in stark contrast to Biblical creationism, which has been knocked down so thoroughly that the only Christian denominations which accept it as being anything more than a metaphor are fundamentalist sects that have more in common with the Taliban than anything else.
NB: the US is the only country in the Western world where anybody would even consider this subject to be worthy of debate. Elsewhere, ID is clearly seen for what it is: a last-gasp attempt by religious fanatics to resurrect a completely discredited creation myth by casting straw men left, right, and centre. Bring some some real facts to the table, and people will debate you with respect: but the use of tactics like yours will result in your arguments being treated with well-deserved contempt and derision.
Indeed. And the Judaeo-Christian definition of a single all-powerful God is a fairly recent development that is not accepted by the majority of people alive today.
A mythology is an invalid belief system to the observer who is defining it as such. It is therefore a relative term rather than an absolute one: a devout Hindu for example would see Christian beliefs as being no less mythological than ancient Norse ones or Mithraism.
Once again a post filled with straw men and bosh, including a statement about evolution theory that is the complete opposite of what it actually postulates. Either you do not understand anything about evolution, or you are a troll. Neither is worth the effort of any further responses.
Or the one that really gets me, which is system-modal dialogues popping up from some other crud program when I'm typing something, stealing the keyboard focus, and then going haywire because some of the characters I typed corresponded to accelerators in the dialogue. Comparing OS X' little icons that bounce up and down at the bottom of the screen when they want attention with that monstrosity is like the difference between arriving at a fine restaurant in a Rolls Royce with a supermodel at your side, and being dragged by the testicles from Beijing to New Delhi by a pickup with with Barry Manilow in the back.
"A mythology is that body of stories that center on a religiously or secularly based belief system, which a given culture or homogeneous society hold to be true".
I always thought that a mythology was a body of stories that a given culture or homogenous society holds to be myth. The culture or society that believed those things to be true would not describe them as a mythology -- that is done by others who do not share their particular set of beliefs.
A far better description of mythology would be an elabourately-constructed series of lies that some bunch of dweebs who are/were more stupid than whoever doing the labelling are/were silly enough to believe.
"Why do you believe in evolution? You have no real proof it happened, you have to take it on faith that it did."
No we do not, because we can see it happening today in fast-breeding organisms such as bacteria and rats. Both have evolved immunities to various methods used to control them within the life-span of a single human, leading to antibiotic-resistent pathogens and rats that we can't poison. And of course there are all those new flu viruses that appear each year, mutations of last year's crop that we need to be immunised against all over again.
As to faked evidence, yes, there has been more than a little. But there have been a hell of a lot more faked dollar bills, and this does not make people assume that every dollar bill is therefore fraudulent. Which of course they would be required to using your rather strange variety of what I shall reluctantly call logic, but only for want of a better term.
The rest of your post is a vapid mixture of ignorant ravings, balderdash, and straw men, none of which warrant the effort of typing a response.
Agreed. And one can still write Java apps that have the full Mac "look and feel", because the direct Swing / Aqua bindings are supported, and will continue to be. IMO this is a far more sensible use for Java than the bridge was anyway: the whole point of using Java is being able to target multiple platforms from a single code base -- as you say, there are a number of better alternatives for writing native Mac stuff that don't try and shoe-horn a dynamically-typed framework into a statically-typed language.
"So if Apple really wanted to put a dent in Windows, they would adopt some platform that would mimic the ease of development that VB gave Windows 15 years ago. "
They already have one called AppleScript. It evolved from HyperCard which is a much older technology than VB -- people were using it to write commercial and shareware apps for Macs while Gates was still telling the world that 640K should be enough for anyone.
AppleScript is a much easier language to learn than BASIC (it looks a lot like plain English), and it also has more "levels" of applicability: you can use it to do little things like automate the workflow of existing applications, build full Cocoa applications with Interface Builder and X-Code, and everything in between.
So plain Joes can indeed build full OS X applications using an easy, fully garbage-collected language that attaches events to UIs made with Interface Builder using a paradigm that is very similar indeed to that of RAD Windows IDEs such as VB and Delphi. Everything they need is there on their OS X disks, they won't even need to spend any extra money to get it.
BTW: those who really do want to use BASIC can. RealBASIC is a pretty comprehensive commercial system that runs on Mac, Windows, and Linux, and can be used on any of those platforms to cross compile for any of the others (it is a true compiler, not an interpreter). FutureBASIC is another commercial offering, but is Mac-specific -- it is however a blazingly fast compiler that produces well-optimised executables.
You don't have to use pointers with Objective-C. It has the ID type which is a general dynamic type that behaves very much like objects in dynamically typed languages such as Smalltalk, Ruby, etc., i.e. you store a reference to an object of any type in it, with the actual binding being done at run-time. If you only use ID types, you can write a substantial Objective-C application without using a single C-style pointer.
C pointers are provided for two basic scenarios:
1) They provide a mechanism for binding objects to variables at compile-time (early binding). In this scenario, the C pointer syntax is only used to declare the variable, not use it (instantiation and messaging is done using Objective-C's Smalltalk like OO syntax, from which C-style pointer de-referencing is completely absent). Early binding produces better performance than late binding, and lets the compiler perform static compile-time type checking.
2) For interfacing with (or writing) C libraries. Unlike C++, Objective C is a pure C superset that is capable of both consuming and producing C libraries. Pointers are obviously necessary for this due to C passing all parameters by value.
NB: if you want to write Cocoa apps without using Objective-C or Java, there is always AppleScript. It's even higher level than Python and Ruby, is much better integrated with the Mac itself, and has a no-brainer VB-like mechanism for connecting events to UIs made with Interface Builder.
To be fair, Brad Cox's original Objective C did have a garbage collector, so the problem isn't one that's inherent in the language itself, but rather Apple's implementation of it (or to be more accurate, Apple's implementation of the Objective-C run-time).
You are missing something. Unlike inheritance, which implements new behaviour at the point of inheritance only, categories allow one to add to or alter methods of _existing base classes_, meaning that you can modify the behaviour of entire class hierarchies without having to touch their source code, recompile them, etc. This feature is not unique to Objective-C (Dylan and Oberon have similar capabilities), but by the same token, it is not something that the majority of OO languages support explicitly.
As with C++, Java owes far more to Simula-67 than Smalltalk.
"Everytime the **AA manages to lobby another restrictive law into existence, we all lose."
We lose in the short term, but win in the long term. There is an old saying about giving someone enough rope to hang themselves, and another that warns about being careful what you ask for, because you might get it. Every law that is passed to favour the **AAs instead of those who consume their wares criminalises another sector of the population who had previously been completely law abiding, and this has two notable effects:
1) It increases the risk of owning anything the **AAs produce. When that risk level reaches the point where it is greater than the perceived benefit, people en masse will simply stop consuming their wares. They thus end up protecting a pie whose size is constantly diminishing because of the measures taken to protect it.
2) Currently, such laws get passed by shills because they are mostly below the public awareness threshold. This is however changing: some of the more extreme prosecutions by the **AA have already received significant negative mainstream media coverage, as has the Sony DRM debacle. And this sort of coverage will become more and more common as the powers of the **AA increase, and therefore their opportunities for doing things that run contrary to what most people regard as being "just". Strange as it may seem, this negative coverage has come from media organisations who actually stand to benefit from more restrictive, pro-producer laws, thereby highlighting a major weakness in the **AA and its allies: they are corporations with a fiduciary obligation to their shareholders, and will therefore change direction in a moment if they believe that doing so will get them more of the old green magic.
Point (2) above is also important from a political viewpoint, because for every media industry shill, there are hundreds of other politicians and would-be politicians who are constantly looking for a career-launching opportunity that gives them lots of free press coverage whilst presenting them as the champion of the "downtrodden masses" (i.e. the people who actually put these guys into office). And these opportunists won't be pushing for minor changes to legislation that curb the more excessive powers the **AA has managed to gain -- they'll want the whole lot replaced with a consumer bill of rights that will prevent such things happening again in the future, because politicians in democracies and republics gain fame and influence by passing new laws, not simply repealing some old ones.
So let the **AA push for, and get, ever more stringent laws, because it's the only way the already unacceptable status quo will ever change.
Same here. I'll be 46 in a month, and I've downloaded music as a way of finding out what's new and interesting. My tastes are mainly oriented towards 70s prog. rock, with a good sprinkling of jazz, blues, and classical for variety. By downloading and sampling, I discovered some acts that I would not know existed, because they don't get air play of any sort in my part of the world. Over the last five years, this has directly led to me buying around 60 CDs which would not have been sold if the capability to sample via downloading wasn't there (and said buying required a lot of hunting around to find the CDs I wanted).
I don't download movies for sampling, but that is more than anything a practicality concern: I can listen to a few tracks by some new artists while I'm doing other things, whereas a movie would require at least two hours of complete attention to decide whether I want to buy it or not.
For production code, clarity is far more important than anything else, especially in the open source world, which tends to lack design and architecture documentation (and from what I've seen, in many cases there are few if any useful comments in the code either). The whole point of open source is the fact that the source is accessible to all, but there is more to accessibility than simply sticking something in a place where it can be downloaded.
NB: I am not saying that efficiency isn't important, but in most projects it will have a notable effect of at most 10% of the code base. Clearly written code (or the lack thereof) on the other hand impacts all of it.
That isn't the original Smalltalk class browser: it is an image from Squeak Smalltalk, whose browser is significantly evolved from the original, and incorporates (among other non-Xerox things) ideas developed by IBM for their VisualAge Smalltalk. The original Smalltalk browser had three panes: a class hierarchy on the top left; a list of methods for a selected class on the top right; and an editor pane at the bottom that showed the source for a selected method (and allowed it to be edited).
"We still disagree, however, in that, I know some furniture makers do take pride in, for example, using a traditional plane rather than a powered tool for the same job."
We do not disagree. Many craftsmen will use a manual tool for certain jobs even when they have access to an excellent powered version because the manual tool acts as an extension of their hands in a way that the usually larger and clumsier powered version doesn't. It can carry tactile information that allows the craftsman to make constant minor adjustments; it can transmit small changes in pressure and direction; and it can be manoeuvred into places that are inaccessible to the bigger powered item.
"Also we seem to disagree on how the semantics should be arranged, all components require tools, I say, though the tools may be hands."
Yes, we do disagree here. If hands counted as tools, then there would not be an anthropological distinction between tool-using organisms and ones that don't use tools. A tool is an item external to the organism itself that is used to extend its innate capabilities in some way. It can be as simple as a bird dropping snails on to rocks from a great height to break their shells; or encompass more complex behaviour like that of chimpanzees who strip small branches off of twigs so that they can probe for insect food in places that are too narrow for their fingers. A chimpanzee picking up a piece of fruit and eating it does not count as tool use merely because it uses the same hands to do it that it will later utilise to modify and then employ a carefully selected piece of wood.
"And while I agree with the spirit of your crafstman as you put it, I think if we fix the crafstman and vary the tools, of course the same craftsman will have better results with better tools and will therefore value the tools highly for he'll recognize they do help the quality of the result just as careful skill does."
I do not disagree with this. I never claimed that craftsmen don't value their tools, because they obviously do. My point was that they don't get emotionally involved with them in the same way that computer people seem to. A craftsman who has had a bad experience with a particular type or brand of tool may well advise others to buy and use something else, and may even say "I told you" if somebody buys one anyway and then moans about it afterwards. They do not however get involved in long, vitriolic name-calling sessions just because somebody prefers a different type or brand of tool to them.
"And if you are still denying that a worse craftsman might make a better creation with access to tools that were better enough, I still feel they might, because as we admit, it can be hard to sand a piece of wood without a tool, at least sandpaper. There is a limit, an upper limit, and that bound is defined by the tool."
There is also a lower limit that is defined by a tool. A craftsman who does not have adequate tools for a particular job cannot do it well, and may not be able to do it at all. However, the difference between a craftsman and a dweeb with tools is that the craftsman _will_ produce excellent results with adequate tools, while the dweeb _might_ produce adequate work with excellent tools. Clearly, in this scenario, it is the dweeb who will get excited about the excellent tools because said dweeb can't work without them; the craftsman on the other hand will think "hey, this is good, because it lets me do this more quickly and easily", and then get on with using it to do what he was already doing superbly before.
"You admit tools matter, but want to emphasize the role of the craftsman, correct? That's fine with me... because I agree the craftsman is more important than the tools... and there is no tool great enough that a poor craftsman can't misuse it."
Agreed in full.
NB: this has been an extremely interesting discussion which I have greatly enjoyed. Season's greetings to you, and happy new year.
While it is true that Python is dynamically typed, the problem you describe (a wrongly spelt variable name leading to the system creating a new variable) has nothing to do with the dynamic type system, but is instead caused by dynamic variable creation (a big source of bugs in BASIC programs, and BASIC is not a dynamically typed language).
There is no requirement for a dynamically typed language to also have dynamic variable creation (Smalltalk for example is profoundly dynamically typed, but all variables must be declared at compile-time), or for one with dynamic variable creation to also be dynamically typed. They are separate and entirely unrelated things, although it is easy to see why many people confuse one with the other.
Most (if not all) modern BASIC programming systems have the ability to disable dynamic variable creation because it was identified as being a big source of problems in non-trivial programs, and serious BASIC programming shops (yes, there are such things!) insist on this being the default for all projects. IMO Python badly needs a similar capability if it is to be considered as a candidate for serious enterprise-class and / or commercial programming (I'm not sure whether Ruby has dynamic variable creation because I am not very familiar with it).
By contrast, the main problems with dynamic types are performance-related. A simpler, more consistent programming model without the need for hacks such as Java's interfaces to achieve true polymorphism instead of the more restrictive hierarchical polymorphism usually present in statically-typed OO languages does not come free of charge. Late binding is more expensive than early binding in a number of significant ways, and it also precludes certain types of optimisations that can be applied when the compiler "knows" what sort of data it will be dealing with.
The above situation has resulted in several attempts to marry the convenience of dynamic typing with the efficiency of static types. Some have taken an automated "under the hood" approach that uses contextual analysis to derive the types of as many objects as possible at compile time (Sun's abandoned Self language did this); while others such as Objective-C let programmers decide which typing system they want to use for each variable they declare. And this is I think the most pragmatic approach to the problem, because both typing systems have clear advantages and disadvantages under certain situations, so why not leave the decision of which one best suits a particular area of a problem domain to the person who is tasked with solving that problem?
NB: I have never understood why not having to tell your computer where to put the things you want to keep around for future reference is supposed to be easier for novices. Avoiding having to tell it what type of things will be put in them is definitely easier, because the very concept of "type" in the computing sense takes a lot of getting used to. However, it's pretty easy to grasp a concept such pre-declaring variables, because people are accustomed to putting things into labelled containers so they can find them again later, and are therefore perfectly capable of handling the fact that a prerequisite for using the computer equivalent involves (a) telling it that a container is required, and (b) what it should be called.
"You showed me examples of cells that combined/joined/etc.. , _not_ split themselves into multicelled organisms. (as evolution says the very first single celled organisms did)"
Stop putting up straw men so you can knock them down. You know what the example I provided was in answer to, because I quoted your own words in my last post, and it was not what you are claiming here -- in fact, it was the precise opposite. Furthermore, evolution does _not_ say what you claim, so this is yet another straw man. Such cheap debating tactics are the refuge of those whose arguments are too weak to stand on their own.
"I wonder why you are discussing this anyways, if you want to educate you would do so, if you want to make someone look dumb you say they don't get it. Which are you really doing here?"
Neither. You made a post that claimed the theory of evolution was wrong. I answered it. This is what happens on public forums such as slashdot.
"You said "slime moulds combine", they do this all the time, yet they are still slime moulds, they aren't evolving into something new."
How do you know they aren't evolving into something new? This behaviour could have developed in the last few hundred years for all you know, because soft creatures like slime moulds are poor candidates for fossilisation. Your statement is therefore merely an opinion which is based on absolutely no information whatsoever (you hadn't even heard of slime moulds before I brought them to your attention).
"Rats, bacteria, all the same, they aren't new. They may have a "stronger" ability to deal with something, but then again I pass on traits to my children as well, which include chemical dependencies and resistance to toxin. Still not evolution."
Ah, but that _is_ evolution! Evolution theory states that a population of organisms will react in one of two ways to lethal environmental changes: they adapt, or die out. In cases where organisms successfully adapt to such changes in ways that are passed on in their descendants, they become a genetically distinct sub-group, i.e. a _new variant_ of whatever they started out as. This means that warferin-resistant rats are not the same type of rat as non-resistant ones, and antibiotic-resistant staphylococcus aureus is not the same as the non-resistant ones -- both are new variants with genetic code that is different from populations of similar organisms that do not carry the immunity genes.
Furthermore, your ability to pass genetic traits on to your children is precisely the mechanism that drives evolution. If those traits turn out to give your offspring advantages under certain circumstances, then those genes stand a better chance of proliferating throughout future populations; conversely, genetic traits which are disadvantageous will tend to be either eliminated from future populations, or become recessives which only manifest themselves under rare sets of circumstances (often to the considerable detriment of the host organism).
"So, no, you really haven't shown that anything can "mutate" into something more complex, only change be refined in it's current state."
And another straw man! Now you've introduced the word "mutate" into the mix in the vain hope that I won't notice yet another pathetic attempt to make out that I haven't countered every single assertion you have made with things in the real world that are doing what you previously claimed they did not. Yet you have not attempted to provide one single shred of counter evidence to refute mine. All you do is build straw man after straw man, claiming that evolution theory says things it does not, countering facts with opinions that you don't even attempt to justify, or cherry picking one line from a large paragraph that I have written and answering that without making any attempt to address the actual topic.
I thus conclude that you fall into one of two categories:
1) You are a person who knows little about the theory of evolution, and therefore is honestly mistaken about what it actually is and says.
2) You know full well what it is and says, and are deliberately misrepresenting it to knock down straw men of your own making.
A quote from your original post:
"All you have to do is prove that it's even possible for a single celled organism to change into a more complex, say with 2 cells. Considering this has never been done or proved even remotely possible, the core elements of the theory of evolution are fiction."
I showed your assertion was wrong by providing several examples of organisms that do this. Now you are claiming that this is invalid because it isn't evolution. Again, the typical anti-evolution tactic of moving the goal-posts when somebody shows that you are talking utter rubbish.
[I have already given you examples of evolution, i.e. rats and bacteria evolving immunity to poisons and antibiotics.]
"I can develope [sic] an immunity to poisons as well, this is not evolution."
These are not however examples of a single individual. Such immunities are possessed by entire populations, meaning that the genetic code for the immunity is being passed on to descendants, which is precisely what evolution theory predicts for organism populations that are stressed by adverse environmental factors, i.e. they either die out completely, or adapt. Note the term "organism populations" here, because that is what evolution theory is concerned with, and pertains to. What you or any other individual can or cannot do does not matter one whit or iota to evolution unless it results in a trait which then becomes part of a sizeable, sustained population.
"This is the problem for evolution, not the arguments, if you can't prove the most basic aspects of the theory. (one celled organisms becoming more complex) none of your "non-over-simplified" arguments in support have worth."
I have provided examples of one-celled organisms becoming more complex, yet you simply continue to claim that they don't exist, or don't fit a set of entirely arbitrary criteria that you invent afterwards. I am becoming extremely tired of this.
" Unless you feel that we can just skip this aspect of evolution and just have faith that this has/does happen..."
And this is where you are degenerating into a troll again, because I have _not_ skipped this aspect of evolution theory in any way, and have provided plenty of examples, none of which have been effectively refuted by you in any reasonable way (saying that a thing is not evolution but behaviour is tripe, because behaviour is inherent in all living organisms, and is therefore as much a subject for evolution as anything else about them).
I am tired of banging my head against this particular brick wall. This is a public forum, and you are free to answer if you wish, but do not expect me to bother going over the same ground again. You do not accept evolution because you don't want to accept it, and that will not change no matter how much evidence is thrust in your face to refute your fallacious assertions.
Firstly, slime moulds are not moulds. They were given that name before people understood their true nature: they are far more closely related to protozoans than fungi.
Secondly, you are doing the usual anti-evolutionary "debating tactic" of moving the goal posts when you are shown to be completely and utterly wrong about something. You said a thing did not exist, and I proved you wrong by citing some examples -- now you are attempting to re-define the argument in a desperate attempt to discount _real evidence_ that refutes one of your original reasons for stating that the theory of evolution is wrong.
Yes, slime moulds change into multi-cellular organisms because they have genetically-coded "behaviour" that makes them do this, but our own cells become neurons, blood corpuscles, etc. because they are genetically coded to "behave" in that way too. And when something goes wrong with that genetic "behaviour" code, our cells don't do what they're supposed to, and we end up with genetically carried diseases, congenital abnormalities, cancers, etc., etc. There is thus no qualititive difference between the genetically coded behaviour in slime mould cells and the genetically coded behaviour of the more specialised cells in more advanced multi-cellular organisms, so any attempt to distinguish between them will require some really good evidence on your part, not a bunch of unfounded assertions and transparent attempts to re-define the argument again.
I have already given you examples of evolution, i.e. rats and bacteria evolving immunity to poisons and antibiotics. You made some stupid claim about this being due to "design by external forces" because it was humans who were doing the killing (IMO claiming that killing something is a design process is totally absurd). Of course, you neatly avoided thinking about the fact that the first antibiotics were discovered because fungi had been using them to kill bacteria for hundreds of millions of years before humans appeared, and bacteria were evolving immunities to them back then as well (resulting in the fungi evolving newer antibiotics to combat them). Or perhaps you are now going to claim that fungi are also "intelligent designers" for new strains of bacteria, thereby redefining not only the concept of design as you did previously, but now also that of intelligence.
And finally, has it even occurred to you that your arguments against evolution are actually arguments against a grossly over-simplified version of it gleaned from school and popular science articles and TV shows? The more you write, the more you reveal the fact that you know little to nothing about the theory itself, and even less about the vast and ever-growing body of evidence that supports it. I therefore suggest that instead of attempting to constantly assert that evolution theory says things which aren't actually in it, you spend some time reading up on what it really says, and why it is accepted by the scientific community.
You said there were no examples of single celled organisms becoming multi-cellular ones. I then gave you several examples of just such organisms, thereby proving that you are wrong. And no, this is not flocking behaviour as seen in birds and fish, because each individual member of the flocks can function as an independent organism at any time. This is not true of slime moulds, which become a new creature when their cells join, and those cells are no longer capable of functioning independently of the organism that they now constitute. It is an example of single celled organisms _becoming_ a multi-celled one, i.e. precisely what you said does not exist.
Evolution does not claim that you evolved from a collection of single celled organisms into a foetus, because that would be absurd. A foetus is one of the stages that animals go through between conception and birth, not a stage in the evolutionary process.
"All you have to do is prove that it's even possible for a single celled organism to change into a more complex, say with 2 cells. Considering this has never been done or proved even remotely possible, the core elements of the theory of evolution are fiction."
This is much more interesting point, and one that's certainly well worth debating.
Two of the three types of slime moulds are examples of independent, single-celled organisms that swarm together into often fairly large (up to a foot in diameter for some species) multi-cellular forms.
The first group, called plasmodial slime moulds, starts life as a bunch of cells that propel themselves with cillia. These cells can however swarm together and fuse into what is effectively a single giant cell, but one with thousands of nuclei. It is a hybrid of a single-celled and multi-cellular organism (cells usually have one nucleus, not thousands of them).
Cellular slime moulds are the second interesting group. These spend the greater part of their life as single cells that resemble an amoeba, but will swarm into a single organism in response to certain chemical signals. Unlike the first group, each cell remains distinct, but they still co-operate and behave as a single multi-celled creature.
There are also a wide variety of primitive animals and plants that form co-operating colonies. As an example, Google for Pandorina.
Note that some of these primitive organisms are capable of both sexual and asexual reproduction, a trait retained by many sponges, which while definitely multi-cellular, retain many of the characteristics of colony-forming unicellular organisms, including having cells with cillia on them for water intake.
What absolute and utter shit. It would be on the front page of every newspaper in the world if somebody _disproved_ evolution theory. They haven't though, and they won't, because it has stood against an onslaught by religious people attempting to show that it is wrong since its inception, and has only grown stronger over time as more and more evidence has been gathered from new, emerging sciences and an ever larger volume from older, more established ones. The fossil record supports it; the genetic record supports it; and observations of living things support it. This is in stark contrast to Biblical creationism, which has been knocked down so thoroughly that the only Christian denominations which accept it as being anything more than a metaphor are fundamentalist sects that have more in common with the Taliban than anything else.
NB: the US is the only country in the Western world where anybody would even consider this subject to be worthy of debate. Elsewhere, ID is clearly seen for what it is: a last-gasp attempt by religious fanatics to resurrect a completely discredited creation myth by casting straw men left, right, and centre. Bring some some real facts to the table, and people will debate you with respect: but the use of tactics like yours will result in your arguments being treated with well-deserved contempt and derision.
Indeed. And the Judaeo-Christian definition of a single all-powerful God is a fairly recent development that is not accepted by the majority of people alive today.
A mythology is an invalid belief system to the observer who is defining it as such. It is therefore a relative term rather than an absolute one: a devout Hindu for example would see Christian beliefs as being no less mythological than ancient Norse ones or Mithraism.
Once again a post filled with straw men and bosh, including a statement about evolution theory that is the complete opposite of what it actually postulates. Either you do not understand anything about evolution, or you are a troll. Neither is worth the effort of any further responses.
Or the one that really gets me, which is system-modal dialogues popping up from some other crud program when I'm typing something, stealing the keyboard focus, and then going haywire because some of the characters I typed corresponded to accelerators in the dialogue. Comparing OS X' little icons that bounce up and down at the bottom of the screen when they want attention with that monstrosity is like the difference between arriving at a fine restaurant in a Rolls Royce with a supermodel at your side, and being dragged by the testicles from Beijing to New Delhi by a pickup with with Barry Manilow in the back.
"A mythology is that body of stories that center on a religiously or secularly based belief system, which a given culture or homogeneous society hold to be true".
I always thought that a mythology was a body of stories that a given culture or homogenous society holds to be myth. The culture or society that believed those things to be true would not describe them as a mythology -- that is done by others who do not share their particular set of beliefs.
A far better description of mythology would be an elabourately-constructed series of lies that some bunch of dweebs who are/were more stupid than whoever doing the labelling are/were silly enough to believe.
"Why do you believe in evolution? You have no real proof it happened, you have to take it on faith that it did."
No we do not, because we can see it happening today in fast-breeding organisms such as bacteria and rats. Both have evolved immunities to various methods used to control them within the life-span of a single human, leading to antibiotic-resistent pathogens and rats that we can't poison. And of course there are all those new flu viruses that appear each year, mutations of last year's crop that we need to be immunised against all over again.
As to faked evidence, yes, there has been more than a little. But there have been a hell of a lot more faked dollar bills, and this does not make people assume that every dollar bill is therefore fraudulent. Which of course they would be required to using your rather strange variety of what I shall reluctantly call logic, but only for want of a better term.
The rest of your post is a vapid mixture of ignorant ravings, balderdash, and straw men, none of which warrant the effort of typing a response.
"People have believed in God since the start of time"
People haven't been around "since the start of time".