Well, to prepare the ground for the development of rich libraries, a language that doesn't think the umpteen different possible ways to represent a string is terribly exiting stuff and prefers support of them all could be a good start.
Agreed, it does seem a bit strange, to say the least.
A lot of the code for running a web app will not be written in the scripting language for the front end. The database engine, the app server and many libraries will have been implemented using more efficient languages. php scripts are essentially a configuration layer on top of all the more efficient binaries below it.
So, say for the sake of argument that we converted the php scripts to C. But perhaps we still have a few xml configuration files around. Now someone could look at those and go "OMG they are 100 times slower than C - let's rewrite them in C and throw out 99% of our servers!"...which would be kind of a stupid argument to push, but it seems to me that's pretty much what they are saying, but with regards to the portions of a system that are php.
>Do you really believe that? It's clearly not true.
But "equals" is such an overloaded term. I think we can exclude from this a discussion around identity equivalence, but even just limited to a value based discussion there's room for interpretation. You seem to be making the point that the following is not an accurate description of humanity (to which I think most can agree):
A.INT == B.INT A.DEX == B.DEX....
but what about the following idea:
A.INT + A.DEX... == B.INT + B.DEX...
Perhaps also not true, but maybe closer to reasonable?
Haven't you only proved that the proxy data is in fact pretty sensitive to distortions by that? Percivably other distortions could have affected the tree rings as well before 1960, making them generally unsuitable to prove the "handle" end of the "hockey stick" ?
Maybe they are, I wouldn't know - I'm not denying anything. I'm not even a skeptic (more than in a general sense, but not in any particular fashion on this issue). I would always like to describe myself as curious and interested - but apparently that's all it takes to be branded a "desperate denier" by you.
I just asked a question that I hoped the poster before me could give a good answer to - and guess what, he did!
But without knowing much about this issue, I'd have to say you come off as the desperate one, what with the name calling and the completely off topic rhetorical questions. (If you read apoc's answer, my follow up question and then apoc's answer to that you would see what type of assumptions I meant, why they are relevant and why the answer is apparently a little bit more nuanced than your rhetorical questions would imply).
Btw, I feel I have to ask: Did you just compare me to a holocaust denier, or is that just what the people you keep calling "deniers, denialists" etc would have me believe? This is not a rhetorical question.
"Papers are specific enough for anyone competent in the field to do the same work, it doesn't mean you can have someone else's work handed to you on a silver platter with explanations of what a listed Monte Carlo method is.
Perhaps in the future, rather than running your mouth off with apparently no familiarity with science, you ask some actual scientists! They're quite accessible, even those apparently 'fallen' climatologists."
How about making the science more accessible, rather than the scientists? Seems that would scale better.
"Bugs of the programming sort, no, I would heartily welcome pure computer scientists to go nuts and look for programmer errors."
That's what I meant, yes.
Why only pure Computer Scientists, though? (even if you happen to use an older, more inclusive definition that includes Software Engineers)? If you really meant that you would "heartily welcome" help with finding the pure programming errors, then you would of course open source as much as possible (*) and if you did, it seems quite feasible to me that one or two bugs might be found be programmers lacking degrees. "Many eyes" is pretty powerful stuff.
(*) Maybe you already do open source your stuff, if so my apologies and applauds.
The thing is - if your software is anything like most other people's software (and what I've seen from the leaked CRU code certainly inspires no confidence to the contrary) then there's bound to be a bunch of bugs in there. Certainly there are ways, involving lots of discipline, to write amazingly error free software, such as might be used when the military codes behaviors for their fighter jets. It doesn't seem the CRU guys were following any such demanding software construction processes? Are you?
If not, and your software is about as bug ridden as everyone elses', then there is a strong argument that open sourcing would help get rid of a lot of those bugs. And with as much riding for so many on an issue as is the case with climate change, wouldn't you agree that any help you could get finding any bugs at all would be highly desirable?
"If you were auditing the code for errors it would take someone with a very high level of meteorological education (PhD with years of experience and who has read all the relevant literature) as well as a lot of programming and computer experience. Very few people in this world have that combination of skills and knowledge"
Maybe I completely misread your post, but are you really suggesting that only climatologists could spot bugs in climatologists' code?
What's at stake? What your developers get to put on their business cards? If so, are you worried about their titles or what department they will be sorting under?
What would be the problem with having the title Software Developer, or even Software Engineer (say, if that's what someone is) and sort under the IT department?
I have seen the movie. I'm not sure what your point is? If they had some project in there related to processable specifications, it doesn't ring a bell (but it was a while since I saw it).
Or is your point somehow that people (especially with power) are so lazy and stupid, as they are generally depicted in that film or in Dilbert, that any ambitious project is doomed to instant failure? In that case I guess I have been lucky, but I've seen a lot of projects go well because they involved bright and enthusiastic people, both customers and developers. Dilbert/Office Space isn't the only reality out there.
When you type text into Word, it is parsed. Your words are turned into tokens which are checked against the list of valid symbols (the dictionary) and then interpreted as sentences that are analyzed for grammatical inconsistencies which, if found, are highlighted. All this is done in much the same way as static code analysis helps you in your favorite IDE.
"CSS doesn't begin to approach a programming language."
Why - because it is (as far as I know, I'm no CSS expert) declarative?
"Spreadsheets can be used that way, but they quickly become unwieldily."
Yes they do, that much we can agree on, but you can't say BAG isn't right. Seeing spreadsheets used this way isn't uncommon at all.
I think hughperkins is right to observe that the question of what we call programming is mostly semantics. But since you are making an argument saying we shouldn't call certain things programming, it makes me curious as to why, and what your requirements are. Using a General Purpose Language (GPL)? Adding the constructs to turn something such as a domain specific language (DSL) from a non-GPL into a GPL is pretty easy. Very simple languages can be GPLs, while at the same time a non-GPL DSL can be quite sophisticated, so using a GPL by itself would seem a bad candidate for what constitutes "real" programming.
(Btw, I have no idea about facebook, but are you saying that the language in question is not a GPL? Or is it the API you are complaining about?)
If using a GPL isn't enough for "real" programming, then what? Using a GPL with good library support? How good library support? What are the essential libraries? Is I/O among them? If so I guess you don't count a pure, side effect free Functional Programming (FP) language as a "real" programming language? Must the programs be imperative, rather than declarative? Again, that cuts pure FP out...
If you object that it is hard to draw the line, well, of course this is exactly my point.
And if we can't draw the line in any useful way, but you still want to argue that people aren't actually "programming" when what they're doing is somehow sufficiently less sophisticated than what you're up to, then what's to stop someone who's doing something even more complicated than you, in an even more sophisticated tool, from proclaiming that what you're doing isn't "real" programming?
"So what you do is you take the specifications from the customers and you bring them down to the software engineers?"
No, you take the processable specifications from the customers and generate the application code directly from them. The software engineers write the code generators and perhaps the tools for capturing the processable specifications - including, as icebike wrote, tool support for helping the accountants (say) developing and maintaining their specifications, such as validation, syntax highlighting and code completion.
There's truth to what you are saying - I'll bet any senior developer can tell war stories for hours on the topic of users who don't know what they want - but BAG's comment was still very insightful.
Despite how readily domain experts (that is, our customers) disappoint us when it comes to grasping the most basic stuff such as C, Java, SQL or even HTML, it is a mistake to think that they are stupid or that they don't know *their* domains very well (the most basic stuff of which we may then find ourselves struggling to come to terms with). Domain experts already express themselves very precisely using their own notations - but they normally lack any decent tool support for this. In practice, they may write formulas in word or excel. Now think about what BAG wrote for a moment:
"The closer the programming environment can come to providing domain-relevant expression tools to the user, the better they will be able to create programs that fit their domain."
If, as BAG suggests, they were to have richer tools supporting their domain relevant expressions, perhaps including things we coders take for granted in our IDEs such as type checking, code completion, refactorings, etc - wouldn't the result be that domain experts could express themselves even more efficiently and precisely? Wouldn't the end result tend to be software better suited to address their specific problem domains?
Are they "writing programs", though? Well, are you writing a program when you're typing in interface declarations, or only when you type in imperative method implementations? If you are ready to agree that declarative code can also be code then you pretty much agree with where BAG is going when he says that "the distinct line between what is a program and what is pure data is blurred beyond recognition". If you can generate a full application from a set of formal, domain specific expressions - are not those domain expressions the source code, and aren't those people editing that source code (even if they happen to be the domain experts) programming?
To be clear, I have no problem with all models building on the same assumptions around well established physics.
What I mean was that if you have one data set, with one assumption about how to interpret it, and the rest of the model around it is built completely on physics (that should indeed work the same in all models) then it is no surprise to see consistent results when you vary other modules between being more exact calculations vs rougher estimates of, say, cloud formations.
If, on the other hand, different data sets from different sources and with their own assumptions about how to interpret each keep giving similar results, then that certainly is something to inspire confidence that the models are not overly sensitive to the accuracy of individual assumptions.
So my question is of course not if you have tried reversing gravity;-) but how wide a set of sources with different assumptions about how to interpret them provide data yielding the same conclusions.
Btw, I changed name of this subthread since I don't question your good faith/intentions/whatever, I just thought you had some good insights into the subject and became curious.
He doesn't need to present an alternative hypothesis, science should be just as grateful if he spent his time trying to find flaws in the currently proposed hypothesis. (If only the data to do so were available, that is).
And he doesn't have to be a climatologist, either - in science, anyone is allowed to point out if the emperor is naked.
How long then would you say is reasonable for normal people to wash their hands to gain useful anti-bacterial protection in everyday life? I'm assuming that the 15 minutes per hand makes sense when operating, but perhaps is overkill as precaution for, say, being able to fairly safely eat a sandwich with your hands? Would you say 1 minute might be enough? 2 minutes?
No, a good PHP programmer _would be_ better than a PHP programmer that doesn't exist. It doesn't mean a good PHP programmer exists.
Well, to prepare the ground for the development of rich libraries, a language that doesn't think the umpteen different possible ways to represent a string is terribly exiting stuff and prefers support of them all could be a good start.
Agreed, it does seem a bit strange, to say the least.
A lot of the code for running a web app will not be written in the scripting language for the front end. The database engine, the app server and many libraries will have been implemented using more efficient languages. php scripts are essentially a configuration layer on top of all the more efficient binaries below it.
So, say for the sake of argument that we converted the php scripts to C. But perhaps we still have a few xml configuration files around. Now someone could look at those and go "OMG they are 100 times slower than C - let's rewrite them in C and throw out 99% of our servers!" ...which would be kind of a stupid argument to push, but it seems to me that's pretty much what they are saying, but with regards to the portions of a system that are php.
So you're saying law should be executed privately lest the public go vigilante without even wearing spandex?
>>All people are equal.
>Do you really believe that? It's clearly not true.
But "equals" is such an overloaded term. I think we can exclude from this a discussion around identity equivalence, but even just limited to a value based discussion there's room for interpretation. You seem to be making the point that the following is not an accurate description of humanity (to which I think most can agree):
A.INT == B.INT ....
A.DEX == B.DEX
but what about the following idea:
A.INT + A.DEX ... == B.INT + B.DEX ...
Perhaps also not true, but maybe closer to reasonable?
And what about:
HumanValue(A) == HumanValue(B)
To me that last one smells about right?
"worthless idiotic mods have no clue what troll actually means."
For once I have to agree. He's been modded "Troll", but reading a bit between the lines
"...was from a low iq green skin".
It is clear this guy should have been modded "Orc".
open source
Haven't you only proved that the proxy data is in fact pretty sensitive to distortions by that? Percivably other distortions could have affected the tree rings as well before 1960, making them generally unsuitable to prove the "handle" end of the "hockey stick" ?
on the other hand, "corrected by the reader" kind of implies the full data was published so that the reader might spot the errors.
"Denialists are really getting desperate."
Maybe they are, I wouldn't know - I'm not denying anything. I'm not even a skeptic (more than in a general sense, but not in any particular fashion on this issue). I would always like to describe myself as curious and interested - but apparently that's all it takes to be branded a "desperate denier" by you.
I just asked a question that I hoped the poster before me could give a good answer to - and guess what, he did!
But without knowing much about this issue, I'd have to say you come off as the desperate one, what with the name calling and the completely off topic rhetorical questions. (If you read apoc's answer, my follow up question and then apoc's answer to that you would see what type of assumptions I meant, why they are relevant and why the answer is apparently a little bit more nuanced than your rhetorical questions would imply).
Btw, I feel I have to ask: Did you just compare me to a holocaust denier, or is that just what the people you keep calling "deniers, denialists" etc would have me believe? This is not a rhetorical question.
"Papers are specific enough for anyone competent in the field to do the same work, it doesn't mean you can have someone else's work handed to you on a silver platter with explanations of what a listed Monte Carlo method is.
Perhaps in the future, rather than running your mouth off with apparently no familiarity with science, you ask some actual scientists! They're quite accessible, even those apparently 'fallen' climatologists."
How about making the science more accessible, rather than the scientists? Seems that would scale better.
My hat is off to you!
"Bugs of the programming sort, no, I would heartily welcome pure computer scientists to go nuts and look for programmer errors."
That's what I meant, yes.
Why only pure Computer Scientists, though? (even if you happen to use an older, more inclusive definition that includes Software Engineers)? If you really meant that you would "heartily welcome" help with finding the pure programming errors, then you would of course open source as much as possible (*) and if you did, it seems quite feasible to me that one or two bugs might be found be programmers lacking degrees. "Many eyes" is pretty powerful stuff.
(*) Maybe you already do open source your stuff, if so my apologies and applauds.
The thing is - if your software is anything like most other people's software (and what I've seen from the leaked CRU code certainly inspires no confidence to the contrary) then there's bound to be a bunch of bugs in there. Certainly there are ways, involving lots of discipline, to write amazingly error free software, such as might be used when the military codes behaviors for their fighter jets. It doesn't seem the CRU guys were following any such demanding software construction processes? Are you?
If not, and your software is about as bug ridden as everyone elses', then there is a strong argument that open sourcing would help get rid of a lot of those bugs. And with as much riding for so many on an issue as is the case with climate change, wouldn't you agree that any help you could get finding any bugs at all would be highly desirable?
"If you were auditing the code for errors it would take someone with a very high level of meteorological education (PhD with years of experience and who has read all the relevant literature) as well as a lot of programming and computer experience. Very few people in this world have that combination of skills and knowledge"
Maybe I completely misread your post, but are you really suggesting that only climatologists could spot bugs in climatologists' code?
What's at stake? What your developers get to put on their business cards? If so, are you worried about their titles or what department they will be sorting under?
What would be the problem with having the title Software Developer, or even Software Engineer (say, if that's what someone is) and sort under the IT department?
I have seen the movie. I'm not sure what your point is? If they had some project in there related to processable specifications, it doesn't ring a bell (but it was a while since I saw it).
Or is your point somehow that people (especially with power) are so lazy and stupid, as they are generally depicted in that film or in Dilbert, that any ambitious project is doomed to instant failure? In that case I guess I have been lucky, but I've seen a lot of projects go well because they involved bright and enthusiastic people, both customers and developers. Dilbert/Office Space isn't the only reality out there.
"Word is not a programming language."
When you type text into Word, it is parsed. Your words are turned into tokens which are checked against the list of valid symbols (the dictionary) and then interpreted as sentences that are analyzed for grammatical inconsistencies which, if found, are highlighted. All this is done in much the same way as static code analysis helps you in your favorite IDE.
"CSS doesn't begin to approach a programming language."
Why - because it is (as far as I know, I'm no CSS expert) declarative?
"Spreadsheets can be used that way, but they quickly become unwieldily."
Yes they do, that much we can agree on, but you can't say BAG isn't right. Seeing spreadsheets used this way isn't uncommon at all.
I think hughperkins is right to observe that the question of what we call programming is mostly semantics. But since you are making an argument saying we shouldn't call certain things programming, it makes me curious as to why, and what your requirements are. Using a General Purpose Language (GPL)? Adding the constructs to turn something such as a domain specific language (DSL) from a non-GPL into a GPL is pretty easy. Very simple languages can be GPLs, while at the same time a non-GPL DSL can be quite sophisticated, so using a GPL by itself would seem a bad candidate for what constitutes "real" programming.
(Btw, I have no idea about facebook, but are you saying that the language in question is not a GPL? Or is it the API you are complaining about?)
If using a GPL isn't enough for "real" programming, then what? Using a GPL with good library support? How good library support? What are the essential libraries? Is I/O among them? If so I guess you don't count a pure, side effect free Functional Programming (FP) language as a "real" programming language? Must the programs be imperative, rather than declarative? Again, that cuts pure FP out...
If you object that it is hard to draw the line, well, of course this is exactly my point.
And if we can't draw the line in any useful way, but you still want to argue that people aren't actually "programming" when what they're doing is somehow sufficiently less sophisticated than what you're up to, then what's to stop someone who's doing something even more complicated than you, in an even more sophisticated tool, from proclaiming that what you're doing isn't "real" programming?
How so? And what *is* the difference, then, between a program and pure data - also, of course, with all due respect?
"So what you do is you take the specifications from the customers and you bring them down to the software engineers?"
No, you take the processable specifications from the customers and generate the application code directly from them. The software engineers write the code generators and perhaps the tools for capturing the processable specifications - including, as icebike wrote, tool support for helping the accountants (say) developing and maintaining their specifications, such as validation, syntax highlighting and code completion.
There's truth to what you are saying - I'll bet any senior developer can tell war stories for hours on the topic of users who don't know what they want - but BAG's comment was still very insightful.
Despite how readily domain experts (that is, our customers) disappoint us when it comes to grasping the most basic stuff such as C, Java, SQL or even HTML, it is a mistake to think that they are stupid or that they don't know *their* domains very well (the most basic stuff of which we may then find ourselves struggling to come to terms with). Domain experts already express themselves very precisely using their own notations - but they normally lack any decent tool support for this. In practice, they may write formulas in word or excel. Now think about what BAG wrote for a moment:
"The closer the programming environment can come to providing domain-relevant expression tools to the user, the better they will be able to create programs that fit their domain."
If, as BAG suggests, they were to have richer tools supporting their domain relevant expressions, perhaps including things we coders take for granted in our IDEs such as type checking, code completion, refactorings, etc - wouldn't the result be that domain experts could express themselves even more efficiently and precisely? Wouldn't the end result tend to be software better suited to address their specific problem domains?
Are they "writing programs", though? Well, are you writing a program when you're typing in interface declarations, or only when you type in imperative method implementations? If you are ready to agree that declarative code can also be code then you pretty much agree with where BAG is going when he says that "the distinct line between what is a program and what is pure data is blurred beyond recognition". If you can generate a full application from a set of formal, domain specific expressions - are not those domain expressions the source code, and aren't those people editing that source code (even if they happen to be the domain experts) programming?
Thank you for your answer.
To be clear, I have no problem with all models building on the same assumptions around well established physics.
What I mean was that if you have one data set, with one assumption about how to interpret it, and the rest of the model around it is built completely on physics (that should indeed work the same in all models) then it is no surprise to see consistent results when you vary other modules between being more exact calculations vs rougher estimates of, say, cloud formations.
If, on the other hand, different data sets from different sources and with their own assumptions about how to interpret each keep giving similar results, then that certainly is something to inspire confidence that the models are not overly sensitive to the accuracy of individual assumptions.
So my question is of course not if you have tried reversing gravity ;-) but how wide a set of sources with different assumptions about how to interpret them provide data yielding the same conclusions.
Btw, I changed name of this subthread since I don't question your good faith/intentions/whatever, I just thought you had some good insights into the subject and became curious.
"But they all were similar. Why are they all similar?"
Because they were all built on the same set of assumptions?
He doesn't need to present an alternative hypothesis, science should be just as grateful if he spent his time trying to find flaws in the currently proposed hypothesis. (If only the data to do so were available, that is).
And he doesn't have to be a climatologist, either - in science, anyone is allowed to point out if the emperor is naked.
Cool, huh?
Perhaps the techniques could be combined (washing + plasma nuking)?
How long then would you say is reasonable for normal people to wash their hands to gain useful anti-bacterial protection in everyday life? I'm assuming that the 15 minutes per hand makes sense when operating, but perhaps is overkill as precaution for, say, being able to fairly safely eat a sandwich with your hands? Would you say 1 minute might be enough? 2 minutes?