In France, where almost all domestic broadband is "triple play" (phone, TV and Internet), at least two of the major ISPs offers gaming as part of the functionality of their latest glorified router package. You can't get much easier to install than "It's already there", and the ISPs already have a distribution model that they use to sell view-on-demand video.
Languages don't make bad code, programmers do
on
The PHP Singularity
·
· Score: 5, Insightful
The assumption in TFA seems to be that PHP does something that couldn't be done otherwise now, or does it more easily, or something. But I don't think that's true. There are alternative languages and alternative ecosystems now. IMO, most PHP coders don't use PHP because they have looked at the alternatives and decided PHP is the best choice, or the least bad choice, or any other choice. People use PHP because either
1: It was forced upon them for some reason or
2: It was the first thing they found and it was good enough
If that's the case, it's irrelevant how fantastic the alternatives are.
Also, while PHP code can be truly terrible, people who are determined to write terrible code will do so whatever the tool. You can use almost anything as a hammer if you try hard enough. The myth that The One Right Language somehow makes bad programmers good is still alive, especially within the Python community, but it's stll a myth.
When good programmers have no choice but to use PHP, they'll find a way to build something that is workmanlike even if it isn't beautiful. When bad programmers program, the result is going to be bad regardless of the language.
To summarise the logic of TFA, America doesn't do well at standardised international tests, but the average level of scientific education is clearly dazzling because of Silicon Valley in general and the iPad in particular. Except that, last time I looked, the iPad was using a processor core designed in Cambridge, UK. I believe there are one or two other foreign contributions to Silicon Valley.
And, even if that were not the case, what percentage of people resident in the US work in Silicon Valley?!
My impression of US education is that, like many other aspects of America, the bell curve is very wide. The best of US education is possibly the best in the world. The worst is very bad. So, if "American education" means "the best of American education", there's nothing to worry about. If it means "what 90% of Americans have understood about science", or even "median American comprehension of science", the answer might be different. Or not. But the quality of science is not about whether or not a huge multinational with most of its labour outsourced can ship a commercial product.
(FWIW, I'm writing this in France, and I don't get the impression that science teaching here is great either.)
From TFA, this is apparently a huge improvement on previous attempts, but it's still not exactly dazzling. What sort of self-correcting protocol do you need to handle 499 of every 500 bits being lost?
If Mercedes has cracked the trick of 100% successful upgrades over air, great! If not, I'd prefer to know that the systems controlling almost everything on the Mercedes hurtling towards me is not going to die at some arbitrary moment. Bricked iPhones are inconvenient. Bricked 2-ton vehicles moving at 70mph are very inconvenient!
... the candidates could ask the person sitting next to them. Or maybe get a contractor to do the work for them. Or... at some point, exams have to stop being exactly like the real world. Otherwise, you need an exam that looks like and lasts as long as the career the candidate might take up on passing the exam.
Sorry for coming back to this old theme, but it seems to me that Mandriva just didn't have a niche to fill. Debian/RedHat have different parts of the server market. Suse has always had a niche market, and deals with other vendors might help. Ubuntu has pretty much cleaned up the "Just works on the desktop" market (whether or not that reputation is justified). Mandriva seemed to be aiming at something like the Ubuntu market, but there just wasn't enough room for two.
Yes, yes, yes to all the technically valid points about how distros are largely collections of files from elsewhere, about how any distro can therefore do anything if you hack it enough, etc. But, if we're talking about markets, what you get when you open the box is quite important. And what you seemed to get with Mandriva, at least at first glance, was "Like Ubuntu but with less resources behind it."
And yes to the possibility and maybe even the desirability of a thousand distros. But I can't see how more than a few of those distros can make serious money at any one time.
Also, the computer revolution really took off because computers became ever cheaper and easier to manufacture. The problem with Babbage's design was that a lifetime wasn't long enough to build one without CAD/CAM. So, even if he'd worked twice as fast and got the thing working, it would have been a one-off for another few decades.
If Babbage had succeeded, it would have sparked the "man as machine" line of thought that has changed so much in our society, and that could have changed the course of history in all sorts of ways. Maybe we would have had wetware trials rather than monkey trials. But I don't see mechanical computing ever getting past the early mainframe stage in terms of numbers of machines or direct relevance to the average person's life. The Babbage Clone industry would really have struggled.
Apart from the observation above that this story is from the Daily Mail (which, among other things, campaigned against vaccinations for many years - hardly a pro-science position), there are lots of reasons to walk out of a lecture. In the case of Richard Dawkins, the man is intentionally offensive about all forms of religious belief, to a point that many atheists in Britain do not want to be associated with his rhetoric. Presenting evolution is one thing. Littering that presentation with, eg describing religious faith as if it is a psychiatric disorder. (Before everyone agrees with him on this point, could we remember that this was the pretext for the forced "treatment" of thousands of people in the former USSR, and that something similar happened to homosexuals in many countries. In other words, it's an argument that lays the foundations for some shocking human rights abuses.)
Walking out during a Richard Dawkins rant may, in some cases, be a statement *for* reasonable intellectual dialogue rather than tub-thumping atheist fundamentalism.
I live in France, where you can't get kids into kindergarten or school without vaccination certificates. And they cut child benefit too. The result is a very high vaccination rate, and that protects those who cannot be vaccinated such as very young children.
First, books are not all entirely sequential. One of the reasons I still buy paper books on IT is that I reckon I can often find what I want faster than by searching. Yesterday I wanted to remind myself how to iterate through a directory using Perl. I know the recipe is in "Perl Cookbook". I know that book is within arm's reach. I remember the chapter is about a quarter of the way through. Flick flick - bingo, all in about ten seconds. If I don't know the book well I look at the contents page, which is no slower than skimming links on a screen. Yes, I'm sure a computer is faster in theory, but that isn't my subjective experience, and I don't think that's because I'm incapable of using a computer. Grabbing a book and flicking to roughly the right place is actually not a bad random access heuristic.
Second, sequential is often good. It often *is* the pedagogy. When I first get a book (not a cookbook...) I often start on page one and read to the end, maybe skipping bits that really don't interest me. Yes, that takes longer if I'm looking for one specific answer. But, if the book is well-constructed, it often gives me a much better feel for the overall subject than I would get by looking at 200 modules, each of which is designed to stand on its own. And, in practice, I'd probably only read 20 of those 200 modules because there's no narrative to pull me onto the next module.
A great example of this for me is "Mastering Regular Expressions" by Friedl. You can google most of the answers to specific regex problems, and I did that a lot. Ploughing through hundreds of pages of dense and often obsessive text (breaking off from writing a chapter to get Richard Stallman to patch emacs regexes counts as obsessive, right?) meant that I finally understood how regexes work, what happens under the hood and why some apparently innocuous regexes never terminate.
Hypertext and modularity have their place. But I wouldn't dance on the grave of sequentially structured information just yet.
I think a more likely outcome is something like the patent pool that was forced into place by the US government around the 1920s to avoid a situation where, basically, no company could build a plane without infringing another company's patents. Otherwise, sooner or later, Android will be in trouble, but so will Apple and all other US companies.
Seriously, if you think the potential problem is in mud etc in your gutter get rid of the mud etc in your gutter! As others have said, it's vanishingly unlikely that you have a radiation problem, but getting your drainage to work properly will reduce all sorts of other risks, from bad smells and overflowing waste pipes to various insect breeding grounds.
There are idiots on all sides, and maybe sometimes I'm one of them. But, in this particular case, it's not a question of "world view". If you take a world view in the sense of looking at the world as a whole, the whole of American politics is shifted to the right. That's not a statement about "world view", it's a truth claim that can be validated or falsified by looking at the evidence, eg the sort of policies held by "left wing" American parties and how the compare with the policies of "right wing" parties elsewhere.
I'd respectfully suggest that your "world view" simply ignores where the rest of the world is on these issues. Rather than comparing democrats, republicans, Fox or CNN with some baseline derived from worldwide trends, it uses a baseline based on some definition of "the American Way" or something. If you only compare America with itself, you magnify the differences within America. If you stand back and view the range of mainstream American views from a worldwide perspective, all those American views seem to bunch on one end of the global range. That's all the post that started this was saying.
You may disagree, and that's absolutely fine. But if you want to make that argument, show us were, for example, any mainstream American party wants to spend more on public healthcare than the current French, "hard right" administration, or which mainstream American party is arguing for five weeks a year of paid vacation per year (also in France), or for a legally binding 35-hour working week (the whole of the EU), or... Again, it's not a world view thing, it's a "what does the evidence say?" thing.
If someone here claimed that computers ran on steam and doughnuts, would 1000 people saying "That's wrong!" prove systematic bias?
Of course comments like this suggest that some other system has benefits! What exactly are you saying - that the rest of the world should understand that "America is best in every possible way imaginable" is the only comment that is welcome? My experience of discussing all sorts of subjects with Americans in all sorts of contexts is that the answer is generally "yes". No criticism of any sort is welcome from elsewhere, and if you break that rule everything you say forever more is written off because you "hate America." This is rather depressing, and also rather self-defeating.
Europe (and most of the rest of the democratic world) is far more left-leaning than the US, which was exactly what
There is not a single media organisation in the United States that espouses any kind of opinion that's even remotely "left of center"
was saying a few posts above. If you take the world as a reference, it's hard to find anything remotely mainstream in the US is that is left of centre by world standards. That's not an America-hating statement. It's as close to a factual statement as it is possible to get in political broad brush strokes.
Try translating the above few posts into the realm of IT and you might see the problem. It goes something like this:
A: Android has very little market share B: Um, no, that isn't true A: AAAAGH, YOU HATE ME!!!
I'm a European and, from where I'm sitting, the problem isn't cultural bias on either side. It's the way any criticism of any aspect of American culture results in "individuals, like you, generally believe they're far more civilized (excuse me--civilised) and above such things".
Suggesting that America is far to the right compared with most other countries isn't about hating America. It isn't even necessarily a bad thing. It's a simple observation. Most of the policies of American democrats look moderate-right in a European context. The current French government is hard right by European standards, despite being more interventionist and more wedded to the public sector than any American politician I have ever heard. Nationalising popular music, anyone? Imposing a legal quota for French music played on private radio stations? Government purchases of old cars about every second year? Social charges that are over a third of income for most people? Five weeks statutory vacation a year plus a dozen national holidays? How much of this is in the Democrat manifesto?
So when right-leaning Americans talk about Democrats as if they are virtually communists, it really is very hard for anyone outside America not to burst out laughing.
I tried really hard to talk myself into Python a few months ago. Bought and read several books, wrote some code... and then discovered that the 2.6/3.0 thing is still a mess, with half the libraries on each side of this enduring divide that the Python community insisted at the time would never exist because the Python community would never have a legacy code problem because, well, it just wouldn't. AFAICS this disaster came about because the most important thing was not to do a single thing the Perl way. Unfortunately, excellent backwards compatibility (as in "works across the decades") was one Perl feature that really was worth copying.
I develop on Linux. The rest of my organisation uses Macs. After wasting several hours trying to get a very simple Python program to run unmodified across both platforms (PIL being the specific problem) we gave up and went back to a mix of older technology, all of which works perfectly across platforms. It's a pity, because Python looks really cute in theory, but in practice it was just an anagram of "long day", at least for our use case.
So how about Emacs/XEmacs, which was arguably the first great open source fork? Both projects are still around, but I don't get the impression that the fork (XEmacs) has run away with the ball by any stretch of the imagination.
Any chance someone could explain how this works in Florida at present? I'm trying to work out what the point would be of alcohol testing if anyone who is likely to be over the limit can refuse to take the test...
> Having seen a fluent southern brazilian portuguese speaker effectively > navigate the baja peninsula, I know you're overstating your case.
I don't think so. I live in France, in a region with many Spanish immigrants. The French idiomatic expression for "Massacre the French language" is "To speak French like a Spanish cow". In other words, speaking Spanish loudly with a bit of French vocab doesn't cut it, at all.
There's a huge difference between "navigating through" a country and engaging with it. I'm sure your anecdote is true. I'm also sure that fluent Portuguese is of very little use if you want to fill in government forms or even understand the news on the radio. (We have a lot of Portuguese migrant workers here.) I'm reminded of an observation by a colleague working with international youth teams that a Swiss German who says he doesn't speak a language probably knows it better than an American who says he is fluent.
> but that doesn't mean that working in one language and (more importantly) > understanding the descripting mechanics of it won't dramatically > help you with another.
Of course! People who master two natural languages pick up other languages much quicker. But the key is "master". Knowing how to order a beer in ten languages doesn't equip you to do anything other than order beer. And knowing how to put a button on a screen in ten programming languages isn't very useful either.
I'm sure that experience of Perl, Lisp, assembler and other languages helped me to pick up C++ faster than would otherwise have been the case. But the differences matter as much as the similarities, and to get the most out of a language you need to embrace rather than work around those differences.
For example, nothing in any other OO language I have used prepared me for what you have to do to get a container with a superclass type in C++, or for the fact that the compiler will happily accept code that is going to throw away all the subclass functionality. I could have worked around that in various ways, but I think finding out what was really happening made me a better C++ programmer.
I can do lookup tables using STL maps in C++, and then my C++ feels just like Perl hash tables. But I'm realising there's a good reason that C programmers use enums in some places. And so on.
> Once you know a paradigm, picking up a new language under that paradigm will > be just "yet another language", and you can learn one in a week (or 7 in 7 > weeks). Of course, it will take more time to actually become fluent in language > specific idioms, standard libraries etc, but those are not rocket science either.
I know people who take the same approach to natural language. After all, Spanish and Italian are very very similar, aren't they? The reality with natural languages is that "all languages are the same" thinking enables you to abuse several cultures without actually understanding any of them.
And I think that to a large extent the same thing goes for programming languages. For example, if one of your "paradigms" is "object-oriented", does learning Smalltalk really prepare you for making best use of OO in Java or C++? Or vice versa? The inventor of Smalltalk and OO certainly doesn't think so.
I spent some time a while back trying to explain Scala to a Java programmer. His response was "It's just like Java." Well, Scala *is* just like Java, as long as you ignore the huge and central features that are not like Java. When I started to show him those features, generally in a "replace a page of code with one line" sense, his response was "I don't like it", and that was the end of the conversation. That, in practice, is what "learn 7 languages in 7 weeks" looks like.
My defining experience in this context was observing a government contractor whose preferred language was FORTRAN, who was told he had to code in Lisp. I would not previously have believed that it was possible to write Lisp as if it was FORTRAN, but that contractor proved me wrong. And, to be fair, I find that I have to make a conscious effort not to write C++ as if it is Lisp, eg "everything on the stack and screw the efficiency".
"7 languages in 7 weeks" only works if you stick to programming with the features that can be found or kludged in just about every language. Nowadays that's going to mean procedural code with loads of variables and a bit of OO for accessing libraries. It works, but it's a recipe for terrible, terrible code. But, hey, it will be equally terrible in 7 different languages!
I'm holding out for Quantum Google, which displays instantly every single web page that does and could ever exist. That way I'll never need to search for anything ever again!
Re:Uh, watever, just migrate to Python, Perl6, Lua
on
Oracle To Monetize Java VM
·
· Score: 2, Interesting
> Interpreted languages, such as Perl, Python, Lua, Ruby
I'm not sure about the others, but Perl isn't an interpreted language. The script is compiled, and then the compiled code is executed. That's not a million miles from a JIT compiler.
> is trendy at this moment
Maybe I missed somethng, but wasn't Perl running half the Internet before Java was a twinkle in Gosling's eye? There are many things to be said about Perl, but "new-fangled" isn't one of them.
> It is unthinkable for a higher education course to waste both the teacher's and student's time doing vocational training
Right, but why is that an argument for Java? You can teach Java as a way to tick CV boxes, and you can teach other languages as a way to really understand programming.
> If a course is based on a technology which doesn't have a stable basis and which is likely to drastically change due to a project leader's whims.
You're saying that the Perl community rushed into Perl6? Or maybe that a decade-long upgrade cycle for C++ standards is too rapid? And that the future JVM roadmap as of today is very clear to you?
> Then there is the issue of control. If a language is not standardized then you don't have any assurance that your code will run at all in the future.
Not sure why this is an issue for education but, in any case, backwards compatibility in Perl is legendarily good. There are plenty of production sites running Perl code that is decades old.
I can see an argument for teaching CS using C or assembler (because they force you to understand what a computer does under the hood). I can see an argument for teaching CS using functional languages such as Haskell. I can see an argument for using Perl because it's possible to demonstrate a much wider range of programming styles than with Java. ("Whatever the question, the solution is an object" doesn't seem to me to be ideal in an educational context.)
But I can't see offhand why Java is different in kind to any of the other languages in your list as far as suitability for education goes. It's not a very pure implementation of OO programming, it doesn't teach you anything about memory management. If you are not careful, you give students the impression that it's impossible to write code without an IDE. Java has its merits, its fans and its detractors. But it's not self-evidently The One Right Language to use to teach CS.
In France, where almost all domestic broadband is "triple play" (phone, TV and Internet), at least two of the major ISPs offers gaming as part of the functionality of their latest glorified router package. You can't get much easier to install than "It's already there", and the ISPs already have a distribution model that they use to sell view-on-demand video.
The assumption in TFA seems to be that PHP does something that couldn't be done otherwise now, or does it more easily, or something. But I don't think that's true. There are alternative languages and alternative ecosystems now. IMO, most PHP coders don't use PHP because they have looked at the alternatives and decided PHP is the best choice, or the least bad choice, or any other choice. People use PHP because either
1: It was forced upon them for some reason or
2: It was the first thing they found and it was good enough
If that's the case, it's irrelevant how fantastic the alternatives are.
Also, while PHP code can be truly terrible, people who are determined to write terrible code will do so whatever the tool. You can use almost anything as a hammer if you try hard enough. The myth that The One Right Language somehow makes bad programmers good is still alive, especially within the Python community, but it's stll a myth.
When good programmers have no choice but to use PHP, they'll find a way to build something that is workmanlike even if it isn't beautiful. When bad programmers program, the result is going to be bad regardless of the language.
That is a truly terrible article.
To summarise the logic of TFA, America doesn't do well at standardised international tests, but the average level of scientific education is clearly dazzling because of Silicon Valley in general and the iPad in particular. Except that, last time I looked, the iPad was using a processor core designed in Cambridge, UK. I believe there are one or two other foreign contributions to Silicon Valley.
And, even if that were not the case, what percentage of people resident in the US work in Silicon Valley?!
My impression of US education is that, like many other aspects of America, the bell curve is very wide. The best of US education is possibly the best in the world. The worst is very bad. So, if "American education" means "the best of American education", there's nothing to worry about. If it means "what 90% of Americans have understood about science", or even "median American comprehension of science", the answer might be different. Or not. But the quality of science is not about whether or not a huge multinational with most of its labour outsourced can ship a commercial product.
(FWIW, I'm writing this in France, and I don't get the impression that science teaching here is great either.)
From TFA, this is apparently a huge improvement on previous attempts, but it's still not exactly dazzling. What sort of self-correcting protocol do you need to handle 499 of every 500 bits being lost?
If Mercedes has cracked the trick of 100% successful upgrades over air, great! If not, I'd prefer to know that the systems controlling almost everything on the Mercedes hurtling towards me is not going to die at some arbitrary moment. Bricked iPhones are inconvenient. Bricked 2-ton vehicles moving at 70mph are very inconvenient!
... the candidates could ask the person sitting next to them. Or maybe get a contractor to do the work for them. Or... at some point, exams have to stop being exactly like the real world. Otherwise, you need an exam that looks like and lasts as long as the career the candidate might take up on passing the exam.
Sorry for coming back to this old theme, but it seems to me that Mandriva just didn't have a niche to fill. Debian/RedHat have different parts of the server market. Suse has always had a niche market, and deals with other vendors might help. Ubuntu has pretty much cleaned up the "Just works on the desktop" market (whether or not that reputation is justified). Mandriva seemed to be aiming at something like the Ubuntu market, but there just wasn't enough room for two.
Yes, yes, yes to all the technically valid points about how distros are largely collections of files from elsewhere, about how any distro can therefore do anything if you hack it enough, etc. But, if we're talking about markets, what you get when you open the box is quite important. And what you seemed to get with Mandriva, at least at first glance, was "Like Ubuntu but with less resources behind it."
And yes to the possibility and maybe even the desirability of a thousand distros. But I can't see how more than a few of those distros can make serious money at any one time.
Exactly. A lot of the alleged technical commentary above is basically a worked example of how "free markets" do old-style protectionism.
Also, the computer revolution really took off because computers became ever cheaper and easier to manufacture. The problem with Babbage's design was that a lifetime wasn't long enough to build one without CAD/CAM. So, even if he'd worked twice as fast and got the thing working, it would have been a one-off for another few decades.
If Babbage had succeeded, it would have sparked the "man as machine" line of thought that has changed so much in our society, and that could have changed the course of history in all sorts of ways. Maybe we would have had wetware trials rather than monkey trials. But I don't see mechanical computing ever getting past the early mainframe stage in terms of numbers of machines or direct relevance to the average person's life. The Babbage Clone industry would really have struggled.
Apart from the observation above that this story is from the Daily Mail (which, among other things, campaigned against vaccinations for many years - hardly a pro-science position), there are lots of reasons to walk out of a lecture. In the case of Richard Dawkins, the man is intentionally offensive about all forms of religious belief, to a point that many atheists in Britain do not want to be associated with his rhetoric. Presenting evolution is one thing. Littering that presentation with, eg describing religious faith as if it is a psychiatric disorder. (Before everyone agrees with him on this point, could we remember that this was the pretext for the forced "treatment" of thousands of people in the former USSR, and that something similar happened to homosexuals in many countries. In other words, it's an argument that lays the foundations for some shocking human rights abuses.)
Walking out during a Richard Dawkins rant may, in some cases, be a statement *for* reasonable intellectual dialogue rather than tub-thumping atheist fundamentalism.
I live in France, where you can't get kids into kindergarten or school without vaccination certificates. And they cut child benefit too. The result is a very high vaccination rate, and that protects those who cannot be vaccinated such as very young children.
First, books are not all entirely sequential. One of the reasons I still buy paper books on IT is that I reckon I can often find what I want faster than by searching. Yesterday I wanted to remind myself how to iterate through a directory using Perl. I know the recipe is in "Perl Cookbook". I know that book is within arm's reach. I remember the chapter is about a quarter of the way through. Flick flick - bingo, all in about ten seconds. If I don't know the book well I look at the contents page, which is no slower than skimming links on a screen. Yes, I'm sure a computer is faster in theory, but that isn't my subjective experience, and I don't think that's because I'm incapable of using a computer. Grabbing a book and flicking to roughly the right place is actually not a bad random access heuristic.
Second, sequential is often good. It often *is* the pedagogy. When I first get a book (not a cookbook...) I often start on page one and read to the end, maybe skipping bits that really don't interest me. Yes, that takes longer if I'm looking for one specific answer. But, if the book is well-constructed, it often gives me a much better feel for the overall subject than I would get by looking at 200 modules, each of which is designed to stand on its own. And, in practice, I'd probably only read 20 of those 200 modules because there's no narrative to pull me onto the next module.
A great example of this for me is "Mastering Regular Expressions" by Friedl. You can google most of the answers to specific regex problems, and I did that a lot. Ploughing through hundreds of pages of dense and often obsessive text (breaking off from writing a chapter to get Richard Stallman to patch emacs regexes counts as obsessive, right?) meant that I finally understood how regexes work, what happens under the hood and why some apparently innocuous regexes never terminate.
Hypertext and modularity have their place. But I wouldn't dance on the grave of sequentially structured information just yet.
I think a more likely outcome is something like the patent pool that was forced into place by the US government around the 1920s to avoid a situation where, basically, no company could build a plane without infringing another company's patents. Otherwise, sooner or later, Android will be in trouble, but so will Apple and all other US companies.
Seriously, if you think the potential problem is in mud etc in your gutter get rid of the mud etc in your gutter! As others have said, it's vanishingly unlikely that you have a radiation problem, but getting your drainage to work properly will reduce all sorts of other risks, from bad smells and overflowing waste pipes to various insect breeding grounds.
The overwhelming proportion of OSS users, and even OSS enthusiasts, never contribute to OSS, so the whole premise of the claim seems flawed to me.
There are idiots on all sides, and maybe sometimes I'm one of them. But, in this particular case, it's not a question of "world view". If you take a world view in the sense of looking at the world as a whole, the whole of American politics is shifted to the right. That's not a statement about "world view", it's a truth claim that can be validated or falsified by looking at the evidence, eg the sort of policies held by "left wing" American parties and how the compare with the policies of "right wing" parties elsewhere.
I'd respectfully suggest that your "world view" simply ignores where the rest of the world is on these issues. Rather than comparing democrats, republicans, Fox or CNN with some baseline derived from worldwide trends, it uses a baseline based on some definition of "the American Way" or something. If you only compare America with itself, you magnify the differences within America. If you stand back and view the range of mainstream American views from a worldwide perspective, all those American views seem to bunch on one end of the global range. That's all the post that started this was saying.
You may disagree, and that's absolutely fine. But if you want to make that argument, show us were, for example, any mainstream American party wants to spend more on public healthcare than the current French, "hard right" administration, or which mainstream American party is arguing for five weeks a year of paid vacation per year (also in France), or for a legally binding 35-hour working week (the whole of the EU), or... Again, it's not a world view thing, it's a "what does the evidence say?" thing.
If someone here claimed that computers ran on steam and doughnuts, would 1000 people saying "That's wrong!" prove systematic bias?
Of course comments like this suggest that some other system has benefits! What exactly are you saying - that the rest of the world should understand that "America is best in every possible way imaginable" is the only comment that is welcome? My experience of discussing all sorts of subjects with Americans in all sorts of contexts is that the answer is generally "yes". No criticism of any sort is welcome from elsewhere, and if you break that rule everything you say forever more is written off because you "hate America." This is rather depressing, and also rather self-defeating.
Europe (and most of the rest of the democratic world) is far more left-leaning than the US, which was exactly what
There is not a single media organisation in the United States that espouses any kind of opinion that's even remotely "left of center"
was saying a few posts above. If you take the world as a reference, it's hard to find anything remotely mainstream in the US is that is left of centre by world standards. That's not an America-hating statement. It's as close to a factual statement as it is possible to get in political broad brush strokes.
Try translating the above few posts into the realm of IT and you might see the problem. It goes something like this:
A: Android has very little market share
B: Um, no, that isn't true
A: AAAAGH, YOU HATE ME!!!
and then you mod up A.
I'm a European and, from where I'm sitting, the problem isn't cultural bias on either side. It's the way any criticism of any aspect of American culture results in "individuals, like you, generally believe they're far more civilized (excuse me--civilised) and above such things".
Suggesting that America is far to the right compared with most other countries isn't about hating America. It isn't even necessarily a bad thing. It's a simple observation. Most of the policies of American democrats look moderate-right in a European context. The current French government is hard right by European standards, despite being more interventionist and more wedded to the public sector than any American politician I have ever heard. Nationalising popular music, anyone? Imposing a legal quota for French music played on private radio stations? Government purchases of old cars about every second year? Social charges that are over a third of income for most people? Five weeks statutory vacation a year plus a dozen national holidays? How much of this is in the Democrat manifesto?
So when right-leaning Americans talk about Democrats as if they are virtually communists, it really is very hard for anyone outside America not to burst out laughing.
I tried really hard to talk myself into Python a few months ago. Bought and read several books, wrote some code... and then discovered that the 2.6/3.0 thing is still a mess, with half the libraries on each side of this enduring divide that the Python community insisted at the time would never exist because the Python community would never have a legacy code problem because, well, it just wouldn't. AFAICS this disaster came about because the most important thing was not to do a single thing the Perl way. Unfortunately, excellent backwards compatibility (as in "works across the decades") was one Perl feature that really was worth copying.
I develop on Linux. The rest of my organisation uses Macs. After wasting several hours trying to get a very simple Python program to run unmodified across both platforms (PIL being the specific problem) we gave up and went back to a mix of older technology, all of which works perfectly across platforms. It's a pity, because Python looks really cute in theory, but in practice it was just an anagram of "long day", at least for our use case.
So how about Emacs/XEmacs, which was arguably the first great open source fork? Both projects are still around, but I don't get the impression that the fork (XEmacs) has run away with the ball by any stretch of the imagination.
Any chance someone could explain how this works in Florida at present? I'm trying to work out what the point would be of alcohol testing if anyone who is likely to be over the limit can refuse to take the test...
> Having seen a fluent southern brazilian portuguese speaker effectively
> navigate the baja peninsula, I know you're overstating your case.
I don't think so. I live in France, in a region with many Spanish immigrants. The French idiomatic expression for "Massacre the French language" is "To speak French like a Spanish cow". In other words, speaking Spanish loudly with a bit of French vocab doesn't cut it, at all.
There's a huge difference between "navigating through" a country and engaging with it. I'm sure your anecdote is true. I'm also sure that fluent Portuguese is of very little use if you want to fill in government forms or even understand the news on the radio. (We have a lot of Portuguese migrant workers here.) I'm reminded of an observation by a colleague working with international youth teams that a Swiss German who says he doesn't speak a language probably knows it better than an American who says he is fluent.
> but that doesn't mean that working in one language and (more importantly)
> understanding the descripting mechanics of it won't dramatically
> help you with another.
Of course! People who master two natural languages pick up other languages much quicker. But the key is "master". Knowing how to order a beer in ten languages doesn't equip you to do anything other than order beer. And knowing how to put a button on a screen in ten programming languages isn't very useful either.
I'm sure that experience of Perl, Lisp, assembler and other languages helped me to pick up C++ faster than would otherwise have been the case. But the differences matter as much as the similarities, and to get the most out of a language you need to embrace rather than work around those differences.
For example, nothing in any other OO language I have used prepared me for what you have to do to get a container with a superclass type in C++, or for the fact that the compiler will happily accept code that is going to throw away all the subclass functionality. I could have worked around that in various ways, but I think finding out what was really happening made me a better C++ programmer.
I can do lookup tables using STL maps in C++, and then my C++ feels just like Perl hash tables. But I'm realising there's a good reason that C programmers use enums in some places. And so on.
> Once you know a paradigm, picking up a new language under that paradigm will
> be just "yet another language", and you can learn one in a week (or 7 in 7
> weeks). Of course, it will take more time to actually become fluent in language
> specific idioms, standard libraries etc, but those are not rocket science either.
I know people who take the same approach to natural language. After all, Spanish and Italian are very very similar, aren't they? The reality with natural languages is that "all languages are the same" thinking enables you to abuse several cultures without actually understanding any of them.
And I think that to a large extent the same thing goes for programming languages. For example, if one of your "paradigms" is "object-oriented", does learning Smalltalk really prepare you for making best use of OO in Java or C++? Or vice versa? The inventor of Smalltalk and OO certainly doesn't think so.
I spent some time a while back trying to explain Scala to a Java programmer. His response was "It's just like Java." Well, Scala *is* just like Java, as long as you ignore the huge and central features that are not like Java. When I started to show him those features, generally in a "replace a page of code with one line" sense, his response was "I don't like it", and that was the end of the conversation. That, in practice, is what "learn 7 languages in 7 weeks" looks like.
My defining experience in this context was observing a government contractor whose preferred language was FORTRAN, who was told he had to code in Lisp. I would not previously have believed that it was possible to write Lisp as if it was FORTRAN, but that contractor proved me wrong. And, to be fair, I find that I have to make a conscious effort not to write C++ as if it is Lisp, eg "everything on the stack and screw the efficiency".
"7 languages in 7 weeks" only works if you stick to programming with the features that can be found or kludged in just about every language. Nowadays that's going to mean procedural code with loads of variables and a bit of OO for accessing libraries. It works, but it's a recipe for terrible, terrible code. But, hey, it will be equally terrible in 7 different languages!
I'm holding out for Quantum Google, which displays instantly every single web page that does and could ever exist. That way I'll never need to search for anything ever again!
> Interpreted languages, such as Perl, Python, Lua, Ruby
I'm not sure about the others, but Perl isn't an interpreted language. The script is compiled, and then the compiled code is executed. That's not a million miles from a JIT compiler.
> is trendy at this moment
Maybe I missed somethng, but wasn't Perl running half the Internet before Java was a twinkle in Gosling's eye? There are many things to be said about Perl, but "new-fangled" isn't one of them.
> It is unthinkable for a higher education course to waste both the teacher's and student's time doing vocational training
Right, but why is that an argument for Java? You can teach Java as a way to tick CV boxes, and you can teach other languages as a way to really understand programming.
> If a course is based on a technology which doesn't have a stable basis and which is likely to drastically change due to a project leader's whims.
You're saying that the Perl community rushed into Perl6? Or maybe that a decade-long upgrade cycle for C++ standards is too rapid? And that the future JVM roadmap as of today is very clear to you?
> Then there is the issue of control. If a language is not standardized then you don't have any assurance that your code will run at all in the future.
Not sure why this is an issue for education but, in any case, backwards compatibility in Perl is legendarily good. There are plenty of production sites running Perl code that is decades old.
I can see an argument for teaching CS using C or assembler (because they force you to understand what a computer does under the hood). I can see an argument for teaching CS using functional languages such as Haskell. I can see an argument for using Perl because it's possible to demonstrate a much wider range of programming styles than with Java. ("Whatever the question, the solution is an object" doesn't seem to me to be ideal in an educational context.)
But I can't see offhand why Java is different in kind to any of the other languages in your list as far as suitability for education goes. It's not a very pure implementation of OO programming, it doesn't teach you anything about memory management. If you are not careful, you give students the impression that it's impossible to write code without an IDE. Java has its merits, its fans and its detractors. But it's not self-evidently The One Right Language to use to teach CS.