There do seem to be a few exceptions. My impression is that there's a significant body of non-English code and technical documentation in German and Russian, possibly because of a longer tradition of separately developed technology. For example, the widely used nginx webserver only recently got *anything* English written on it, and it's been a long/slow process to eventually translate the clisp Lisp system's code from German to English.
Perhaps if China had gone for the model that Japan has taken, with a significant domestic technical literature in their native language, it would be the case that within a few decades written Chinese would become a major language, at least for academia. But at least on present trends they don't seem to be doing that: to the contrary, the most prestigious domestic Chinese journals (excepting those specifically on Chinese history and literature) are written in English. That might change, but I don't see evidence of it happening yet. The fact that English has become the de facto standard for Indian scientists and academics (again, excepting some specific fields like Hindi literature) also helps bolster its dominance.
Part of the problem is that a lot of the money really is spent on the "shine it up a bit"--- a typical 3d game has a ton of art assets and custom AI scripting in it. Of course, people do sometimes try something radically different, but these games are mostly notable for being interesting failures, not commercial successes, so companies are wary of trying them.
Two of the more notable examples are Black & White and Spore, both of which went heavily in for radically new tech, rather than just spruced up graphics, and both of which had some interesting results, but neither of which made money for their companies.
At the recent Game Developers Choice awards, small-team, relatively low-budget titles actually did really well, and not just in the indie categories. World of Goo cost about $10,000 (!!) to develop. LittleBigPlanet's development costs don't seem to be public, but they were probably under $1m, maybe $2m at most. Braid cost about $200k.
If their real complaint is with the BBC providing free online news, it's a bit disingenuous to direct their ire at Google. Of course, they're somewhat cornered because calling for BBC News to be shut down wouldn't be popular, especially for a left-of-centre paper.
To some extent that's true, but one of the big brou-hahas in evolutionary biology of the past few decades was precisely over a bunch of predicted fossils that haven't been found, which some evolutionary biologists argue it would be improbable not to have found by now, given the others that have been found. That was one of the cruxes of the debate between proponents of a particularly strong version of punctuated equilibrium, such as Stephen Jay Gould, who argued that standard Darwinian theory was incapable of explaining the observed fossil record; and others, such as Gould's own mentor Ernst Mayr, who argued that some version of punctuated equilibrium might be an observed phenomenon, but was merely a description of certain kinds of dynamics within generally Darwinian natural selection, not a challenge to it. I suppose not many people still side with Gould's original, rather strong claims, but it isn't entirely agreed what ought to be found in the fossil record and what it shows about which theories.
I agree, though I do wish that my high school evolution curriculum had been presented a little less dogmatically, or at least refrained from making statements in some of these still-being-debated areas. I ended up coming away with a very stereotyped view of evolution based on natural selection as a process that operates very similarly to most "genetic algorithms" used in randomized search: you have some alleles, and they undergo either random mutations or cross-over operations, and the next generation is selected based on some fitness function.
I only later found out that these sorts of theories are no longer widely held among present-day evolutionary biologists, who tend to emphasize the roles of group selection, genetic drift, the prevalence of "spandrels", etc. In fact I was quite surprised when I first read an essay by Stephen Jay Gould, who I had previously known as a defender of evolution and attacker of creationism, that also attacked basically every tenet of evolution by natural selection that I had learned in school.
Yeah, on the whole that seems good to me, if actually applied as written, rather than narrowly just to the evolution/creationism debate. One of the bigger things missing in science education is the idea of taking existing knowledge with a mixture of reliance and pervasive skepticism. You can't assume all previous science is wrong, but you also can't assume that every peer-reviewed paper you publish, or even widely held scientific consensus, is unassailable. (Of course, you must also know when you do or don't have sufficient evidence on your own side to assail it.)
As a nearing-finishing PhD student in science, probably one of the more educational parts of doing a PhD was learning a healthy skepticism of the peer-reviewed literature: there is a lot of outright crap published, even in prestigious journals, and you'd do well not to consider it a process that magically separates bad things (rejected) from gospel truth (published). On the other hand, things that have been consensus for decades, and have been replicated by multiple research groups using multiple methods, are less often wrong than recent discoveries where all the work has been done by a single group.
But, I will say that I'm somewhat uncertain this is what the resolution is intending to teach. Do Texas's legislators really want to promote a healthy sense of skeptical empiricism? It seems that if they're religious, they might actually not want that...
The JVM seems to have advanced to the point where other languages besides Java are targeting it as well. Two of the more popular seem to be Clojure and Jython. I suspect more will start appearing if JRE 7 adds better built-in support for compiling dynamic languages, as has been long discussed.
I suppose it depends on what you aim to do. If you really just want to invent and implement the languages, one way is to go ahead and do it; that's the route Python, Perl, and Ruby took. One problem, though, is that the language space is getting a bit cluttered, so you really need some killer feature to convince people to look at yet another one.
If you want to do it in academia (i.e. get a PhD doing it), probably the most likely approach is to find some non-PLs field where languages-as-user-interfaces is a major viewpoint, then work on the language design as a way of communicating information from the programmer to the computer. Examples include domain-specific languages and knowledge-representation languages in AI, end-user programming and visual-programming in HCI, and various languages-for-learning in education. There are probably a bunch of others I'm forgetting, but the general theme is that they're things other than general-purpose programming languages for programmers, for which the feeling is we have too many already.
Common Lisp is every bit as dynamic as Scheme, and yes it has fully dynamic runtime typing. It also has optional declarations, but you need not use them, and idiomatic Lisp style doesn't, except when attempting to optimize performance-critical code. Indeed Common Lisp is so dynamic that function calls can't even be resolved at compile time, because functions can redefine other functions (or themselves) at runtime.
Scheme is also not generally interpreted; there are both compilers and interpreters available.
They're still orders of magnitude faster for generic code, though. You don't get C-like speed, but you get 10x+ better speed than you get in Python, especially on loop-heavy code.
It scores pretty well even if you don't turn them off, because the good compilers (mainly CMUCL/SBCL) have type inference that can determine at compile time a large subset of the cases where it's safe to elide the runtime checks.
Common Lisp is ultra-dynamic and whatnot and still compiles to machine code, which in some implementations (SBCL/CMUCL) is quite respectable in performance. Is there something inherently less-compilable about Python, Ruby, Perl, etc., or have they just not had the same engineering work put into them?
It's definitely in the wrong direction, though. Some of us might have the idealist notion that the recommendations of the UN Human Rights Council might actually work towards improving human rights, rather than actively working against them.
Re:So, the Arab nations will tone down anti-Semiti
on
UN Attacks Free Speech
·
· Score: 2, Insightful
But much of what the Arab nations do is pure anti-semitism, not in any meaningful sense related to Zionism. For example, republishing the Protocols of the Elders of Zion (one of the best-selling books in many Arab countries) is not related to Zionism.
Why do you think there are so many Christian sects today? Because Christianity has a long history of criticizing the status quo of even Christianity itself, leading to the Protestant Reformation and hundreds of other smaller breaks.
I'm not aware of any country that considers sex with 9-year-olds (i.e. prepubescent children) not to be pedophilia. As your #2 point indicates, there is some disputes about post-pubescent children, i.e. whether the age of consent should be as low as 12. but I don't know of any proposing one as low as 9.
Islam was created by its very first temporal ruler, and through much of its history was molded by the rulers themselves, the Caliphs. Are you telling me that the Caliphs designed Islam as an anti-ruler religion?
First, it's probably worth noting that there is a big gap between the majority of what academia considers "PLs research" and what you sound like you're interested in, which is more inventing languages on a semi-ad-hoc basis. Things like Python, Perl, Ruby, etc., didn't come out of academia, and are not greatly studied in the field of PLs. I'm not saying this is because they aren't worthy of study, it's just how it is--- if anything I think both those languages and academic PLs could actually benefit from more mixing, as those languages take a very programmer-centric view (language as a user interface), which I think is correct, but academic PLs knows a lot more about implementing them in ways other than "naive interpreter" and avoiding weird semantics edge cases that have to be patched over.
As for what academic PLs does do, probably a bit under half of it is currently working on functional languages and type systems; I'd say Haskell in particular is basis of the plurality of current PLs research. In that context, you wouldn't really be inventing a new language, but you would more likely be finding new language features and working out both the theory and practice of how to add them into Haskell. Besides Haskell, there are also pockets here and there working on the various ML languages, Clean, and a few others.
The other big concentration is a bit more real-world, engineering-oriented, mostly involving bolting features onto existing, widely-used programming languages to bring some of the advantages of "modern" languages without changing the original language too radically. These take the form of either extended static checkers, or conservative language additions, leading to things like Cyclone, ESC/Java, and so on. The classic lint goes in this category to some extent.
A third, sort of cross-cutting concern, is anything to do with language support for multithreading and concurrency. There is obviously a lot of interest in such things lately, almost regardless of where it gets bolted in.
If you want to do any of the above three concentrations, there are dozens of schools to choose from. Do make sure you look at the specific school to see if it does a specific one, though: many schools' PLs groups are small, and if you go somewhere with two people working on Haskell, and want to work on program verification in a subset of Java, you're in the wrong place.
If you want to do something else, then you need a much more narrow search to find a specific faculty member doing what you want. One suggestion for how to find them would be to scan through the proceedings of recent PLs conferences to find papers that sound like something in the area of what you'd like to do, then find where the people who wrote those papers work. Some of the major conferences are POPL, ICFP, and OOPSLA.
All very good advice, although I disagree that a CS MS can't also fulfill most of the goals you outline, if it's a program that lets you specialize. In particular, besides health informatics, the main area I see as having demand for the forseeable future is data mining, which applies across a range of fields from mining customer data to bioinformatics, and is usually in CS departments. Some schools offer a bioinformatics MS, which is to a large extent an domain-specific data-mining degree, while others have it as part of the main CS department (data mining being often considered part of statistical machine learning, sometimes mixed with infoviz).
It's not clear to me that any other outcome is possible, really, since Intel demanded that OpenCL not include any features that couldn't be implemented on Intel integrated GPUs. That makes it basically a lowest-common-denominator spec that's missing support for a lot of the sort of stuff you can do in CUDA.
I run ion3, which is even more minimalist than XFCE most likely, but things can still get sluggish. In particular, Firefox is not so kind on older hardware.
An explicit exemption to the ban on DDT was its use for malaria control, which continued to be permitted. It's possible that some people stopped using it for that also, but then the issue is why they did that, not the original ban.
That'd be true if oil were the main problem, but coal is, which causes a political problem, since the US has a lot of coal. Oil is comparatively negligible, because the carbon left in total remaining oil reserves is a tiny fraction of the carbon left in total remaining coal reserves.
There do seem to be a few exceptions. My impression is that there's a significant body of non-English code and technical documentation in German and Russian, possibly because of a longer tradition of separately developed technology. For example, the widely used nginx webserver only recently got *anything* English written on it, and it's been a long/slow process to eventually translate the clisp Lisp system's code from German to English.
Perhaps if China had gone for the model that Japan has taken, with a significant domestic technical literature in their native language, it would be the case that within a few decades written Chinese would become a major language, at least for academia. But at least on present trends they don't seem to be doing that: to the contrary, the most prestigious domestic Chinese journals (excepting those specifically on Chinese history and literature) are written in English. That might change, but I don't see evidence of it happening yet. The fact that English has become the de facto standard for Indian scientists and academics (again, excepting some specific fields like Hindi literature) also helps bolster its dominance.
Part of the problem is that a lot of the money really is spent on the "shine it up a bit"--- a typical 3d game has a ton of art assets and custom AI scripting in it. Of course, people do sometimes try something radically different, but these games are mostly notable for being interesting failures, not commercial successes, so companies are wary of trying them.
Two of the more notable examples are Black & White and Spore, both of which went heavily in for radically new tech, rather than just spruced up graphics, and both of which had some interesting results, but neither of which made money for their companies.
At the recent Game Developers Choice awards, small-team, relatively low-budget titles actually did really well, and not just in the indie categories. World of Goo cost about $10,000 (!!) to develop. LittleBigPlanet's development costs don't seem to be public, but they were probably under $1m, maybe $2m at most. Braid cost about $200k.
If their real complaint is with the BBC providing free online news, it's a bit disingenuous to direct their ire at Google. Of course, they're somewhat cornered because calling for BBC News to be shut down wouldn't be popular, especially for a left-of-centre paper.
To some extent that's true, but one of the big brou-hahas in evolutionary biology of the past few decades was precisely over a bunch of predicted fossils that haven't been found, which some evolutionary biologists argue it would be improbable not to have found by now, given the others that have been found. That was one of the cruxes of the debate between proponents of a particularly strong version of punctuated equilibrium, such as Stephen Jay Gould, who argued that standard Darwinian theory was incapable of explaining the observed fossil record; and others, such as Gould's own mentor Ernst Mayr, who argued that some version of punctuated equilibrium might be an observed phenomenon, but was merely a description of certain kinds of dynamics within generally Darwinian natural selection, not a challenge to it. I suppose not many people still side with Gould's original, rather strong claims, but it isn't entirely agreed what ought to be found in the fossil record and what it shows about which theories.
I agree, though I do wish that my high school evolution curriculum had been presented a little less dogmatically, or at least refrained from making statements in some of these still-being-debated areas. I ended up coming away with a very stereotyped view of evolution based on natural selection as a process that operates very similarly to most "genetic algorithms" used in randomized search: you have some alleles, and they undergo either random mutations or cross-over operations, and the next generation is selected based on some fitness function.
I only later found out that these sorts of theories are no longer widely held among present-day evolutionary biologists, who tend to emphasize the roles of group selection, genetic drift, the prevalence of "spandrels", etc. In fact I was quite surprised when I first read an essay by Stephen Jay Gould, who I had previously known as a defender of evolution and attacker of creationism, that also attacked basically every tenet of evolution by natural selection that I had learned in school.
Yeah, on the whole that seems good to me, if actually applied as written, rather than narrowly just to the evolution/creationism debate. One of the bigger things missing in science education is the idea of taking existing knowledge with a mixture of reliance and pervasive skepticism. You can't assume all previous science is wrong, but you also can't assume that every peer-reviewed paper you publish, or even widely held scientific consensus, is unassailable. (Of course, you must also know when you do or don't have sufficient evidence on your own side to assail it.)
As a nearing-finishing PhD student in science, probably one of the more educational parts of doing a PhD was learning a healthy skepticism of the peer-reviewed literature: there is a lot of outright crap published, even in prestigious journals, and you'd do well not to consider it a process that magically separates bad things (rejected) from gospel truth (published). On the other hand, things that have been consensus for decades, and have been replicated by multiple research groups using multiple methods, are less often wrong than recent discoveries where all the work has been done by a single group.
But, I will say that I'm somewhat uncertain this is what the resolution is intending to teach. Do Texas's legislators really want to promote a healthy sense of skeptical empiricism? It seems that if they're religious, they might actually not want that...
The JVM seems to have advanced to the point where other languages besides Java are targeting it as well. Two of the more popular seem to be Clojure and Jython. I suspect more will start appearing if JRE 7 adds better built-in support for compiling dynamic languages, as has been long discussed.
I suppose it depends on what you aim to do. If you really just want to invent and implement the languages, one way is to go ahead and do it; that's the route Python, Perl, and Ruby took. One problem, though, is that the language space is getting a bit cluttered, so you really need some killer feature to convince people to look at yet another one.
If you want to do it in academia (i.e. get a PhD doing it), probably the most likely approach is to find some non-PLs field where languages-as-user-interfaces is a major viewpoint, then work on the language design as a way of communicating information from the programmer to the computer. Examples include domain-specific languages and knowledge-representation languages in AI, end-user programming and visual-programming in HCI, and various languages-for-learning in education. There are probably a bunch of others I'm forgetting, but the general theme is that they're things other than general-purpose programming languages for programmers, for which the feeling is we have too many already.
Common Lisp is every bit as dynamic as Scheme, and yes it has fully dynamic runtime typing. It also has optional declarations, but you need not use them, and idiomatic Lisp style doesn't, except when attempting to optimize performance-critical code. Indeed Common Lisp is so dynamic that function calls can't even be resolved at compile time, because functions can redefine other functions (or themselves) at runtime.
Scheme is also not generally interpreted; there are both compilers and interpreters available.
They're still orders of magnitude faster for generic code, though. You don't get C-like speed, but you get 10x+ better speed than you get in Python, especially on loop-heavy code.
It scores pretty well even if you don't turn them off, because the good compilers (mainly CMUCL/SBCL) have type inference that can determine at compile time a large subset of the cases where it's safe to elide the runtime checks.
Common Lisp is ultra-dynamic and whatnot and still compiles to machine code, which in some implementations (SBCL/CMUCL) is quite respectable in performance. Is there something inherently less-compilable about Python, Ruby, Perl, etc., or have they just not had the same engineering work put into them?
It's definitely in the wrong direction, though. Some of us might have the idealist notion that the recommendations of the UN Human Rights Council might actually work towards improving human rights, rather than actively working against them.
But much of what the Arab nations do is pure anti-semitism, not in any meaningful sense related to Zionism. For example, republishing the Protocols of the Elders of Zion (one of the best-selling books in many Arab countries) is not related to Zionism.
Why do you think there are so many Christian sects today? Because Christianity has a long history of criticizing the status quo of even Christianity itself, leading to the Protestant Reformation and hundreds of other smaller breaks.
I'm not aware of any country that considers sex with 9-year-olds (i.e. prepubescent children) not to be pedophilia. As your #2 point indicates, there is some disputes about post-pubescent children, i.e. whether the age of consent should be as low as 12. but I don't know of any proposing one as low as 9.
Islam was created by its very first temporal ruler, and through much of its history was molded by the rulers themselves, the Caliphs. Are you telling me that the Caliphs designed Islam as an anti-ruler religion?
First, it's probably worth noting that there is a big gap between the majority of what academia considers "PLs research" and what you sound like you're interested in, which is more inventing languages on a semi-ad-hoc basis. Things like Python, Perl, Ruby, etc., didn't come out of academia, and are not greatly studied in the field of PLs. I'm not saying this is because they aren't worthy of study, it's just how it is--- if anything I think both those languages and academic PLs could actually benefit from more mixing, as those languages take a very programmer-centric view (language as a user interface), which I think is correct, but academic PLs knows a lot more about implementing them in ways other than "naive interpreter" and avoiding weird semantics edge cases that have to be patched over.
As for what academic PLs does do, probably a bit under half of it is currently working on functional languages and type systems; I'd say Haskell in particular is basis of the plurality of current PLs research. In that context, you wouldn't really be inventing a new language, but you would more likely be finding new language features and working out both the theory and practice of how to add them into Haskell. Besides Haskell, there are also pockets here and there working on the various ML languages, Clean, and a few others.
The other big concentration is a bit more real-world, engineering-oriented, mostly involving bolting features onto existing, widely-used programming languages to bring some of the advantages of "modern" languages without changing the original language too radically. These take the form of either extended static checkers, or conservative language additions, leading to things like Cyclone, ESC/Java, and so on. The classic lint goes in this category to some extent.
A third, sort of cross-cutting concern, is anything to do with language support for multithreading and concurrency. There is obviously a lot of interest in such things lately, almost regardless of where it gets bolted in.
If you want to do any of the above three concentrations, there are dozens of schools to choose from. Do make sure you look at the specific school to see if it does a specific one, though: many schools' PLs groups are small, and if you go somewhere with two people working on Haskell, and want to work on program verification in a subset of Java, you're in the wrong place.
If you want to do something else, then you need a much more narrow search to find a specific faculty member doing what you want. One suggestion for how to find them would be to scan through the proceedings of recent PLs conferences to find papers that sound like something in the area of what you'd like to do, then find where the people who wrote those papers work. Some of the major conferences are POPL, ICFP, and OOPSLA.
All very good advice, although I disagree that a CS MS can't also fulfill most of the goals you outline, if it's a program that lets you specialize. In particular, besides health informatics, the main area I see as having demand for the forseeable future is data mining, which applies across a range of fields from mining customer data to bioinformatics, and is usually in CS departments. Some schools offer a bioinformatics MS, which is to a large extent an domain-specific data-mining degree, while others have it as part of the main CS department (data mining being often considered part of statistical machine learning, sometimes mixed with infoviz).
It's not clear to me that any other outcome is possible, really, since Intel demanded that OpenCL not include any features that couldn't be implemented on Intel integrated GPUs. That makes it basically a lowest-common-denominator spec that's missing support for a lot of the sort of stuff you can do in CUDA.
I run ion3, which is even more minimalist than XFCE most likely, but things can still get sluggish. In particular, Firefox is not so kind on older hardware.
An explicit exemption to the ban on DDT was its use for malaria control, which continued to be permitted. It's possible that some people stopped using it for that also, but then the issue is why they did that, not the original ban.
That'd be true if oil were the main problem, but coal is, which causes a political problem, since the US has a lot of coal. Oil is comparatively negligible, because the carbon left in total remaining oil reserves is a tiny fraction of the carbon left in total remaining coal reserves.