The information is all available for anyone who knows where to look. Most people don't know where to look. Bad people who shouldn't get your information know where to look. There's a hole here through which people's information is leaking out.
The government has refused to fix the hole, so she tells the world (such as it is), and provides proof. Would the average person care if someone said 'Oh, people can get personal information off some website'? Not really. Would the average person care if THEIR information ended up on the front page? Definitely.
The sad part is that she can go ahead and get all this information, and does so to prove that people's personal details are at huge risk. What's the government's response? Fix the problem? No, shut her up. Great, then anyone else can go ahead and do it.
In technology, as in medicine, treat the problem, not the symptoms.
The thing you seem to be missing is that the installed copy of OS X is not just format-shifted, it is also modified to run on Psystar's hardware. It won't run out of the box, you need to patch it. Psystar is buying copies of Leopard, patching and installing it, and then selling THAT.
Unlike simple format-shifting, this is not permitted by 17 USC 117.
the point is that you already can run it on their computers
Through use of a kernel hacked to support running on slightly incompatible hardware, which is a modification, which is not allowed under 17 USC 117, which is the section relevant to making non-infringing copies and redistribution of copies made.
Under your interpretation, Microsoft can prohibit you from selling your unused copy of Windows, you can't sell your copy of Oblivion or Halo 3.
Your point would be more hard-hitting if this weren't exactly what software publishers have been trying to argue for more than a decade (most famously AutoCAD).
Psystar might be allowed (under first sale) to resell their legally obtained copy of OS X, but they are violating the EULA on OS X, which specifies that it is to be used as an upgrade to an existing system (since all Macs come with OS X, any install is either a reinstall or upgrade). The crux here might be that it's being sold as an upgrade under the EULA, and therefore their use of the software is a violation in the first place.
IANAL, but I just read 17 USC 117, and it doesn't seem to say that.
What it DOES say seems to be this: 1. You can make copies of stuff you own, as long as it's for archival purposes, or you need to do so to use it (e.g. copying software from DVD to USB key to install on a machine with no DVD drive)
2. You can sell/give away/transfer/etc. an exact copy only while doing the same to the original, transferring all your rights (e.g. you can give someone the backup of the install disc as well as the original)
3. Copies of software can be made for the purposes of maintenance or restoration, as defined later on in 17 USC 117 (e.g. imaging a system to a new hard drive).
I don't see anything there that invalidates EULAs. I'm pretty sure that if EULAs had been invalidated it would have been all over slashdot by now.
1. Apple doesn't want customers who wipe their machines to have to fuss around with finding their original discs in order to prove that they possess machine that they're using. Since every Mac comes with a copy of OS X, any installation of OS X on a Mac is either a reinstall or an upgrade. Therefore, why be a dick to users for the sake of it?
2. A side effect of this, which has never mattered until now, is that if you had a machine that would run OS X, but was not a Mac, then technically you could install OS X on it in a way that violates the EULA, because Apple sees no way of forcing something that has always been true in 100% of cases.
More likely if Psystar wins, then Apple will ship systems with discs that will only work on those models with which they ship (they already sell discs for 'Macbooks' with their Macbooks, and 'iMacs' with their iMacs).
Since Apple can keep a log of registered serial numbers (and since you have to make sure to register your machine if you want your one-year warranty anyway), they can just require that you put in your registration info in order to upgrade - make OS X refuse to install unless the user either has their system registered, or registers it themselves.
If Microsoft is allowed to require activation in order for their OS to work, then why shouldn't Apple be allowed to? And if Apple only sells their software as an upgrade (EULA-restricted), isn't that the same as Microsoft does with their upgrades? And finally, if the only way to get a non-upgrade version is to buy it with a Mac, I'm sure that's feasible.
Sorry, can you point to an open-source mobile cellular client device that has been in widespread use on cellular networks for decades? or at all?
OSS has been used on physical networks, sure, and wireless ones, but cellular networks are infrastructure. You can't just connect any random device to the cellular network unless it follows the applicable standards.
You mean electromagnetic death waves? I, for one, am glad Apple is looking out for us, protecting us from the alien technology in use by the KGB even today!
I like your idea, but wouldn't it be amazing if we could design smaller versions of these planes, which people could then lease, rent, or even purchase? We could have a few different designs, some for families, some for small cargo, and so on, and even larger ones for carrying goods around. The economic implications would be astounding.
Well, this being Canada, the general course of action is to complain to the CRTC and then get the CRTC to fuck Telus up pretty good. At least that's been my experience. The CRTC generally doesn't tend to let the big telcos dick around any more than the regulations allow, with preference given to the customer when there's ambiguity.
The thing I find odd about these people who complain about things like the system being 'locked down' is that in my experience, the iPhone is, in practice, no more locked down than any other smartphone.
You can't install homebrew apps on it, but then most people never do that anyway. You can't put another OS on it, but again, no one does that. You can only use it on AT&T - ok, I can respect that people have reasons not to be on AT&T.
In comparison to other smartphones and PDAs I've used, the iPhone beats them all in all the ways I've seen. Couple that with what's turning out to be free upgrades for life, vs. Windows Mobile's philosophy of 'Well, buy a new phone', and it looks pretty good ot me.
The key here, I think, is 'native speaker'. My ex-girlfriend, born in Russia, raised francophone in Quebec, speaks English well enough that you'd never know she wasn't anglophone. There's a slight accent if you listen for it, but it's subtle enough that you don't notice it after a day or two.
She frequently used to ask me how to say something, or why something means something, or ask me to check over her writing. Frequently, I'd find mistakes which I would consider 'elementary', in the sense that they are the basic mistakes which everyone makes. She would often get frustrated, because she'd want to know what the rule was in that situation, how one was supposed to know how to write or say something in particular.
The best I could usually tell her was 'Well... experience. You just have to know from experience how things are supposed to sound or be said or written, and eventually something will just feel right, or it won't.' I don't think she ever actually liked that answer, but I didn't feel like getting into a 'It's usually this but about half the time it's this except for two thirds of that half of the time when you're also saying this....'
English not being your native tongue would explain why you mistakenly assumed that the meaning-as-written of this sentence should follow logically from the meaning-as-written of other sentences written similarly.
English is oftentimes by its very nature ambiguous, but the problem is made worse by the fact that it's not always consistently ambiguous.
For example, to rephrase the title to mean what you thought it sounded like it meant, one would probably say 'Too Human Meets Reviews Which Are Mediocre'.
To phrase the title to mean what it actually means unambiguously, one could probably write 'Too Human Meets Indifferent Reviews' (as opposed to positive or negative reviews). Phrasing the title to refer to tone (a quality of the reviews) rather than quality (a quality of the review OR of the game) indicates better the intended meaning of the title.
English is frustrating, in that even when all the words are present in a grammatically correct sentence, the phrasing can be ambiguous; contrast this to Japanese, where you can exclude huge swaths of the sentence-as-intended as long as those parts removed can be inferred from context.
After looking at the Koolu.com website, I'd almost rather they not be referred to as Canadian... it makes us look bad...
So some Canadian firms think that an open-source handset is going to be worthwhile. Great, good for them. The likelihood is that even if they do get anywhere with it, the majority of their clients are going to be in the US anyway. The average person in Canada doesn't know or care about open-source handsets, and isn't going to care enough to learn.
It's kind of like RIM - they were the first to really get mobile, business e-mail out into the world, and now they're famous. Everyone who doesn't have an iPhone has a blackberry these days, and most of RIM's clients are in the US. Where were the American companies? What does it matter?
In this era of free trade and globalization, there's hardly any distinction between American companies and Canadian companies. I work for a Canadian company which is owned by an American company which is run by the Canadian company. We're traded on an American stock exchange, we all work in Canada, and we just bought an American company made up almost entirely of Brits and Irish. So what does that make us?
'Canadian company' these days only refers to locality - where people show up for work at every morning. Beyond that, it doesn't make a difference.
You probably just haven't noticed them. There's two of them between here and Davie street where I do all of my shopping, and I've never noticed them either. They're placed out-of-the-way but accessible, they fit in well enough with the surroundings, and they're maintained well enough.
It seems likely that in the US, there are either fewer regulations regarding placement, or the companies just don't care because no one's going to stop them as long as they buy enough representatives.
When we first moved to New Westminster (adjacent to Surrey), we walked past a utility box on the corner that was wrapped with the vinyl wrap you can see in the pictures of Surrey. I pointed it out to my then-girlfriend, who had moved with me from Montreal but never lived outside of Montreal (at least, not in Canada).
She kind of looked at it for a few seconds, then said 'What is it?' 'It's a utility box,' I told her. 'But... Why's it look like that? Why did they do that?' I didn't really understand the question, so I said 'Well... because it looks nicer.' 'Yeah, but...'
After years of living in Montreal, that answer didn't make any sense to her. Spending money on little touches to make your city look nicer isn't a philosophy that most cities consider worthwhile, and I think that's likely the reason for a lot of the cell towers looking the way they do - no one cares enough to encourage a change. I don't think its coincidence that both of the cities you linked to are on the west coast.
After living in this building for a few months, on the top floor, Bell Mobility was kind enough to build a cell tower on the roof, involving jackhammering, power-drilling, concrete cutting, and so on, three feet from our bedroom ceiling, starting at 8 AM during final exams. As frustrating as it was, the tower is operational, the machine closet they've built is painted to match the rest of the building, and you wouldn't know there was a cell tower there if someone didn't tell you.
Specifically, the entirety of the Mozilla project is a rewrite, because what they had from the NS project was garbage. Firefox is a largely from-scratch browser using the Gecko engine, eliminating the old 'Mozilla Suite' which was pretty much complete garbage as well (just new garbage, modelled after the old garbage).
Actually, the frameworks (jQuery, for example) take a huge amount of the work out of writing Javascript. jQuery has functionality to use CSS selectors, pseudo-selectors, and selector-like extensions to pick objects out of the page, allowing you to quickly and easily perform an operation on 'every other child with class 'grades' of a UL with class 'jacob' with a child 'span' element whose class is 'percentage' over which the mouse is hovering'. In any language I've used, that sort of thing can get pretty complex, with all kinds of nested logic. In jQuery, it's not even one line - it's one function call.
The difference is that jQuery's work can be optimized once and cached (especially when combined with Google's hosted web framework initiative),
Another thing that you may be missing is the huge amount of stuff that Javascript in a web browser keeps you from having to do. Writing a GUI in HTML is surprisingly easy, and you get a lot of behaviours for free, which you can then extend with relatively simple Javascript. Writing the same thing in Java just to put on a web page would take a lot longer, and generally be a lot slower. Writing it in C - well, are you going to force the user to download a web plugin, or an entirely new app?
Javascript is already being used in some pretty cool places. The FreeSWITCH project (an open-source PBX-type system, similar to Asterisk but designed to avoid *'s flaws) supports the writing of call plans in, among other things, XML, Python, Ruby, Lua, and, yes Javascript (using the spidermonkey C implementation from Mozilla).
Javascript is already a general-purpose language, it's just not seen as widespread of use as it some day will.
You seem to imply that there is some kind of magical barrier of speed that C involves. The problem with that arguement is that it's highly inaccurate, and ignores a lot of the realities of code optimization.
For compiled code, some important points:
1. C is fast because of 30 years spent optimizing compilers, chips, and code for it. 2. C compilers optimize code based on what they know of the program. What they know of the program is largely determined by what they can figure out on their own. 3. A lot of the best optimizations a C compiler can do stand a pretty significant chance of changing the way some code works, because the compiler might do (for example) out-of-order operations to optimize a program in a place where it erroneously thinks that doing so is safe. This means that in complicated code, it can take a lot of time to make sure that the code is doing what it's supposed to be doing, despite the compiler's 'best guess' efforts.
Now, for interpreted code:
1. Interpreted code is slower because it must go through an interpreter to convert ASCII/Unicode text into bytecode, and then execute (in its C-written interpreter) whatever operations the bytecode is telling it to do. 2. Interpreted code can be sped up by interpreting once and caching the interpretation (as Python does with modules, which it stores as.pyc if it can). 3. Interpreted code can be sped up even more by compiling to native code before execution, at the cost of slower start-up speed. Again, caching can remove the downfalls here.
Oh, but it gets better:
1. The compiler in this case can store statistics on how long different kinds of code take to optimize, vs. how long they take to execute. If certain operations aren't worth optimizing, it can ignore them in favour of operations that make a significant difference. 2. The compiler can far more easily get a 'bigger picture', which makes a huge difference in the compiler's ability to optimize.
In C, when you compile a file containing a function, all the C compiler knows is what's in that file - how often it's used, perhaps, and what's inside of it. It has no way of determining how often the function is really called. It may be once, it may be a thousand times.
In comparison, the average interpreted language requires all files to be present and loaded in order to interpret them, so the same can be assumed for compilation. Thus, the compiler is free to load the file, any files referenced, any code referenced from that, and so on, until it has the whole of the program available. Once it has that, it can proceed to analyze when every function is called, and determine how useful it is to the program as a whole.
Example: A simple function might take two units of time to execute, one unit of time to compile, and one unit of time to compile while executed, so JIT optimization comes out equal. If, however, that function is called in a loop a thousand times, you've spent 1 unit of time to execute it, and saved 1000 units of time.
In this way, given a C compiler and a JIT Javascript compiler, both of which compile to native code with the same proficiency, the Javascript compiler will produce faster code, if for no other reason than it knows far, far more about the program than the C compiler would, it knows more about the target machine than the C compiler would, and it knows more about the environment in which it's running than the C compiler would. In short, it can make much better decisions about what needs optimizing, how, and when, than the C compiler ever could.
That, my friend, is why C is not the 'be-all, end-all' of program speed.
GOOD.
The information is all available for anyone who knows where to look. Most people don't know where to look. Bad people who shouldn't get your information know where to look. There's a hole here through which people's information is leaking out.
The government has refused to fix the hole, so she tells the world (such as it is), and provides proof. Would the average person care if someone said 'Oh, people can get personal information off some website'? Not really. Would the average person care if THEIR information ended up on the front page? Definitely.
The sad part is that she can go ahead and get all this information, and does so to prove that people's personal details are at huge risk. What's the government's response? Fix the problem? No, shut her up. Great, then anyone else can go ahead and do it.
In technology, as in medicine, treat the problem, not the symptoms.
They can't sue YOU, but they can sue Psystar for distributing modified copies, which is not permitted by 17 USC 117.
The thing you seem to be missing is that the installed copy of OS X is not just format-shifted, it is also modified to run on Psystar's hardware. It won't run out of the box, you need to patch it. Psystar is buying copies of Leopard, patching and installing it, and then selling THAT.
Unlike simple format-shifting, this is not permitted by 17 USC 117.
the point is that you already can run it on their computers
Through use of a kernel hacked to support running on slightly incompatible hardware, which is a modification, which is not allowed under 17 USC 117, which is the section relevant to making non-infringing copies and redistribution of copies made.
Under your interpretation, Microsoft can prohibit you from selling your unused copy of Windows, you can't sell your copy of Oblivion or Halo 3.
Your point would be more hard-hitting if this weren't exactly what software publishers have been trying to argue for more than a decade (most famously AutoCAD).
Psystar might be allowed (under first sale) to resell their legally obtained copy of OS X, but they are violating the EULA on OS X, which specifies that it is to be used as an upgrade to an existing system (since all Macs come with OS X, any install is either a reinstall or upgrade). The crux here might be that it's being sold as an upgrade under the EULA, and therefore their use of the software is a violation in the first place.
IANAL, but I just read 17 USC 117, and it doesn't seem to say that.
What it DOES say seems to be this:
1. You can make copies of stuff you own, as long as it's for archival purposes, or you need to do so to use it (e.g. copying software from DVD to USB key to install on a machine with no DVD drive)
2. You can sell/give away/transfer/etc. an exact copy only while doing the same to the original, transferring all your rights (e.g. you can give someone the backup of the install disc as well as the original)
3. Copies of software can be made for the purposes of maintenance or restoration, as defined later on in 17 USC 117 (e.g. imaging a system to a new hard drive).
I don't see anything there that invalidates EULAs. I'm pretty sure that if EULAs had been invalidated it would have been all over slashdot by now.
1. Apple doesn't want customers who wipe their machines to have to fuss around with finding their original discs in order to prove that they possess machine that they're using. Since every Mac comes with a copy of OS X, any installation of OS X on a Mac is either a reinstall or an upgrade. Therefore, why be a dick to users for the sake of it?
2. A side effect of this, which has never mattered until now, is that if you had a machine that would run OS X, but was not a Mac, then technically you could install OS X on it in a way that violates the EULA, because Apple sees no way of forcing something that has always been true in 100% of cases.
More likely if Psystar wins, then Apple will ship systems with discs that will only work on those models with which they ship (they already sell discs for 'Macbooks' with their Macbooks, and 'iMacs' with their iMacs).
Since Apple can keep a log of registered serial numbers (and since you have to make sure to register your machine if you want your one-year warranty anyway), they can just require that you put in your registration info in order to upgrade - make OS X refuse to install unless the user either has their system registered, or registers it themselves.
If Microsoft is allowed to require activation in order for their OS to work, then why shouldn't Apple be allowed to? And if Apple only sells their software as an upgrade (EULA-restricted), isn't that the same as Microsoft does with their upgrades? And finally, if the only way to get a non-upgrade version is to buy it with a Mac, I'm sure that's feasible.
Sorry, can you point to an open-source mobile cellular client device that has been in widespread use on cellular networks for decades? or at all?
OSS has been used on physical networks, sure, and wireless ones, but cellular networks are infrastructure. You can't just connect any random device to the cellular network unless it follows the applicable standards.
You mean electromagnetic death waves? I, for one, am glad Apple is looking out for us, protecting us from the alien technology in use by the KGB even today!
I like your idea, but wouldn't it be amazing if we could design smaller versions of these planes, which people could then lease, rent, or even purchase? We could have a few different designs, some for families, some for small cargo, and so on, and even larger ones for carrying goods around. The economic implications would be astounding.
would you stand up and say "don't criticize them too much, large systems are hard"?
I might, unless I'd managed to slip through the cracks thusfar.
I thought it was an insulting way of telling people what to do with erroneous data that ended up in the database: 'Keep it, simple stupid'
Well, this being Canada, the general course of action is to complain to the CRTC and then get the CRTC to fuck Telus up pretty good. At least that's been my experience. The CRTC generally doesn't tend to let the big telcos dick around any more than the regulations allow, with preference given to the customer when there's ambiguity.
Dear DarkEliteAvenger1975,
My name is Feyanna Glittergleam. I'm a 19 year old elven sorceress from Cormyr. My statistics are 12,10,12,18,16,18 ;)
I've included a copy of my character sheet so you can learn more about me, and also the dice picture as requested.
And before you ask about my twenties - yes, they're natural. ;)
Thanks!
The thing I find odd about these people who complain about things like the system being 'locked down' is that in my experience, the iPhone is, in practice, no more locked down than any other smartphone.
You can't install homebrew apps on it, but then most people never do that anyway. You can't put another OS on it, but again, no one does that. You can only use it on AT&T - ok, I can respect that people have reasons not to be on AT&T.
In comparison to other smartphones and PDAs I've used, the iPhone beats them all in all the ways I've seen. Couple that with what's turning out to be free upgrades for life, vs. Windows Mobile's philosophy of 'Well, buy a new phone', and it looks pretty good ot me.
The key here, I think, is 'native speaker'. My ex-girlfriend, born in Russia, raised francophone in Quebec, speaks English well enough that you'd never know she wasn't anglophone. There's a slight accent if you listen for it, but it's subtle enough that you don't notice it after a day or two.
She frequently used to ask me how to say something, or why something means something, or ask me to check over her writing. Frequently, I'd find mistakes which I would consider 'elementary', in the sense that they are the basic mistakes which everyone makes. She would often get frustrated, because she'd want to know what the rule was in that situation, how one was supposed to know how to write or say something in particular.
The best I could usually tell her was 'Well... experience. You just have to know from experience how things are supposed to sound or be said or written, and eventually something will just feel right, or it won't.' I don't think she ever actually liked that answer, but I didn't feel like getting into a 'It's usually this but about half the time it's this except for two thirds of that half of the time when you're also saying this....'
It's pretty ugly.
English not being your native tongue would explain why you mistakenly assumed that the meaning-as-written of this sentence should follow logically from the meaning-as-written of other sentences written similarly.
English is oftentimes by its very nature ambiguous, but the problem is made worse by the fact that it's not always consistently ambiguous.
For example, to rephrase the title to mean what you thought it sounded like it meant, one would probably say 'Too Human Meets Reviews Which Are Mediocre'.
To phrase the title to mean what it actually means unambiguously, one could probably write 'Too Human Meets Indifferent Reviews' (as opposed to positive or negative reviews). Phrasing the title to refer to tone (a quality of the reviews) rather than quality (a quality of the review OR of the game) indicates better the intended meaning of the title.
English is frustrating, in that even when all the words are present in a grammatically correct sentence, the phrasing can be ambiguous; contrast this to Japanese, where you can exclude huge swaths of the sentence-as-intended as long as those parts removed can be inferred from context.
After looking at the Koolu.com website, I'd almost rather they not be referred to as Canadian... it makes us look bad...
So some Canadian firms think that an open-source handset is going to be worthwhile. Great, good for them. The likelihood is that even if they do get anywhere with it, the majority of their clients are going to be in the US anyway. The average person in Canada doesn't know or care about open-source handsets, and isn't going to care enough to learn.
It's kind of like RIM - they were the first to really get mobile, business e-mail out into the world, and now they're famous. Everyone who doesn't have an iPhone has a blackberry these days, and most of RIM's clients are in the US. Where were the American companies? What does it matter?
In this era of free trade and globalization, there's hardly any distinction between American companies and Canadian companies. I work for a Canadian company which is owned by an American company which is run by the Canadian company. We're traded on an American stock exchange, we all work in Canada, and we just bought an American company made up almost entirely of Brits and Irish. So what does that make us?
'Canadian company' these days only refers to locality - where people show up for work at every morning. Beyond that, it doesn't make a difference.
You probably just haven't noticed them. There's two of them between here and Davie street where I do all of my shopping, and I've never noticed them either. They're placed out-of-the-way but accessible, they fit in well enough with the surroundings, and they're maintained well enough.
It seems likely that in the US, there are either fewer regulations regarding placement, or the companies just don't care because no one's going to stop them as long as they buy enough representatives.
When we first moved to New Westminster (adjacent to Surrey), we walked past a utility box on the corner that was wrapped with the vinyl wrap you can see in the pictures of Surrey. I pointed it out to my then-girlfriend, who had moved with me from Montreal but never lived outside of Montreal (at least, not in Canada).
She kind of looked at it for a few seconds, then said 'What is it?' 'It's a utility box,' I told her. 'But... Why's it look like that? Why did they do that?' I didn't really understand the question, so I said 'Well... because it looks nicer.' 'Yeah, but...'
After years of living in Montreal, that answer didn't make any sense to her. Spending money on little touches to make your city look nicer isn't a philosophy that most cities consider worthwhile, and I think that's likely the reason for a lot of the cell towers looking the way they do - no one cares enough to encourage a change. I don't think its coincidence that both of the cities you linked to are on the west coast.
After living in this building for a few months, on the top floor, Bell Mobility was kind enough to build a cell tower on the roof, involving jackhammering, power-drilling, concrete cutting, and so on, three feet from our bedroom ceiling, starting at 8 AM during final exams. As frustrating as it was, the tower is operational, the machine closet they've built is painted to match the rest of the building, and you wouldn't know there was a cell tower there if someone didn't tell you.
Specifically, the entirety of the Mozilla project is a rewrite, because what they had from the NS project was garbage. Firefox is a largely from-scratch browser using the Gecko engine, eliminating the old 'Mozilla Suite' which was pretty much complete garbage as well (just new garbage, modelled after the old garbage).
Actually, the frameworks (jQuery, for example) take a huge amount of the work out of writing Javascript. jQuery has functionality to use CSS selectors, pseudo-selectors, and selector-like extensions to pick objects out of the page, allowing you to quickly and easily perform an operation on 'every other child with class 'grades' of a UL with class 'jacob' with a child 'span' element whose class is 'percentage' over which the mouse is hovering'. In any language I've used, that sort of thing can get pretty complex, with all kinds of nested logic. In jQuery, it's not even one line - it's one function call.
The difference is that jQuery's work can be optimized once and cached (especially when combined with Google's hosted web framework initiative),
Another thing that you may be missing is the huge amount of stuff that Javascript in a web browser keeps you from having to do. Writing a GUI in HTML is surprisingly easy, and you get a lot of behaviours for free, which you can then extend with relatively simple Javascript. Writing the same thing in Java just to put on a web page would take a lot longer, and generally be a lot slower. Writing it in C - well, are you going to force the user to download a web plugin, or an entirely new app?
Javascript is already being used in some pretty cool places. The FreeSWITCH project (an open-source PBX-type system, similar to Asterisk but designed to avoid *'s flaws) supports the writing of call plans in, among other things, XML, Python, Ruby, Lua, and, yes Javascript (using the spidermonkey C implementation from Mozilla).
Javascript is already a general-purpose language, it's just not seen as widespread of use as it some day will.
You seem to imply that there is some kind of magical barrier of speed that C involves. The problem with that arguement is that it's highly inaccurate, and ignores a lot of the realities of code optimization.
For compiled code, some important points:
1. C is fast because of 30 years spent optimizing compilers, chips, and code for it.
2. C compilers optimize code based on what they know of the program. What they know of the program is largely determined by what they can figure out on their own.
3. A lot of the best optimizations a C compiler can do stand a pretty significant chance of changing the way some code works, because the compiler might do (for example) out-of-order operations to optimize a program in a place where it erroneously thinks that doing so is safe. This means that in complicated code, it can take a lot of time to make sure that the code is doing what it's supposed to be doing, despite the compiler's 'best guess' efforts.
Now, for interpreted code:
1. Interpreted code is slower because it must go through an interpreter to convert ASCII/Unicode text into bytecode, and then execute (in its C-written interpreter) whatever operations the bytecode is telling it to do. .pyc if it can).
2. Interpreted code can be sped up by interpreting once and caching the interpretation (as Python does with modules, which it stores as
3. Interpreted code can be sped up even more by compiling to native code before execution, at the cost of slower start-up speed. Again, caching can remove the downfalls here.
Oh, but it gets better:
1. The compiler in this case can store statistics on how long different kinds of code take to optimize, vs. how long they take to execute. If certain operations aren't worth optimizing, it can ignore them in favour of operations that make a significant difference.
2. The compiler can far more easily get a 'bigger picture', which makes a huge difference in the compiler's ability to optimize.
In C, when you compile a file containing a function, all the C compiler knows is what's in that file - how often it's used, perhaps, and what's inside of it. It has no way of determining how often the function is really called. It may be once, it may be a thousand times.
In comparison, the average interpreted language requires all files to be present and loaded in order to interpret them, so the same can be assumed for compilation. Thus, the compiler is free to load the file, any files referenced, any code referenced from that, and so on, until it has the whole of the program available. Once it has that, it can proceed to analyze when every function is called, and determine how useful it is to the program as a whole.
Example: A simple function might take two units of time to execute, one unit of time to compile, and one unit of time to compile while executed, so JIT optimization comes out equal. If, however, that function is called in a loop a thousand times, you've spent 1 unit of time to execute it, and saved 1000 units of time.
In this way, given a C compiler and a JIT Javascript compiler, both of which compile to native code with the same proficiency, the Javascript compiler will produce faster code, if for no other reason than it knows far, far more about the program than the C compiler would, it knows more about the target machine than the C compiler would, and it knows more about the environment in which it's running than the C compiler would. In short, it can make much better decisions about what needs optimizing, how, and when, than the C compiler ever could.
That, my friend, is why C is not the 'be-all, end-all' of program speed.