I'll leave the science out of it, this a purely ad hominem response; the fact that you think that you can boil this argument down to a fucking paragraph makes me severely doubt you.
If I'm going to go the scientific route, I should doubt, "the science" up until I can replicate and understand the experiments that lead you to this belief. Unfortunately I'm a lazy, overworked developer who has about zero chance of actually doing that. So I'm going to have to settle for picking a side in the culture war. Religious authoritarians or anti-establishment philosophers. I know which side I'm on.
I initially had the same reaction that the guy was getting pedantic about a term like "Retina display" which is obvious marketing bullshit.
But as I read the rest of the summary (not the article, mind you) I realized that he was picking apart the claim that Jobs made that the screen resolution is higher than that of the retina. Which I think is fair game to critique.
I understand that static versus dynamic is a fairly binary valued property, but my understanding is that strength of type systems is real valued. There are 2 axes to strength: 1. If you have a type system (you outlaw certain programs), how well is it enforced? Are there ways to get around it? (Yes/No) 2. How many and what type of behaviors do you outlaw in programs. On this axis a lot of trade offs can be made. Do you allow automatic coercion? Do you allow generic data types to be expressed? If so, are covariant and contravariant type parameters allowed? etc... (Subjective 0.0 - 1.0)
I feel like there is an Arrested Development joke somewhere in here.
Lindsay:
There's a cream with real diamonds in it. I can actually smear diamonds on my face! And it's only $400 a tub! That's, like, what, like, a million diamonds for $400? A million bleeping diamonds!
Isn't it true that if something "unobservable" is exerting an effect on observable things, then it is also observable? Maybe directly observable is the term that was meant in the summary, but I guess the follow on question to that is why are directly and indirectly different?
See for instance the different Closures proposals... Meanwhile C# added closures to 2.0 and is borrowing / stealing great ideas from functional languages for 3.0. lambdas, lisp macro-like features (Expression Trees), type inference, extension methods.
I'm not a microsoft warrior, I rather like ruby, but the fact that the Java people are still arguing over closures makes me wonder if Java is already dead, rather than just dying.
Damn, I made a last minute edit and it killed my sentence: In case I'm mistaken, populations are growing and the standard of living is going up. Therefore demand for goods and services could be growing, so greater efficiency may just mean same employees / same wages.
In case I'm mistaken, populations growing / standard of living is going up and thus demand for goods and services are growing, so greater efficiency may just mean same employees / same wages.
In comp sci, I believe, this is called a move-to-front heuristic (MTF) which is related to the move to root heuristic used in Splay trees. An interesting conjecture related to this is the dynamic optimality conjecture which claims that the splay tree's performance is no worse than any other binary search tree's within a constant factor. This conjecture remains unproven, and I forget whether or not a similar proof exists/has been proven for array's / lists and MTF.
Slightly trollish, but I'd say that the idea of the project and it's realization have seperate suckiness quotients. The idea sucks/rocks independently of whether or not it's implemented. You seemed to imply that if they could implement it, it wouldn't suck as much.
I've never seen a weird mistype like footprint -> offtprint. Are you typing like 2 hoojillion words a minute and those are the sort of strange errors that occur?
I don't follow the argument that simple call graphs == simple functions. At the extremes you could argue that you can have a monster of a function that is a total of mess that doesn't call any other functions and has a simple call graph.
Knocking down straw men is fun.
My overall point is that a well factored program will more than likely have more function calls than a non-well factored one. If factoring a program better leads to better overall comprehensibility (and hence security according to a model), then these graphs might well imply the inverse.
My true belief is that call graphs won't provide a good data point for this type of analysis. I think program comprehensibility is tough analyze and requires a number of different metrics. Although Lisp is provably better than anything. Left as exercise to reader.
I'll leave the science out of it, this a purely ad hominem response; the fact that you think that you can boil this argument down to a fucking paragraph makes me severely doubt you.
If I'm going to go the scientific route, I should doubt, "the science" up until I can replicate and understand the experiments that lead you to this belief. Unfortunately I'm a lazy, overworked developer who has about zero chance of actually doing that. So I'm going to have to settle for picking a side in the culture war. Religious authoritarians or anti-establishment philosophers. I know which side I'm on.
Please god, don't boil me alive.
You'll have to ask my boss, that is normally what he does.
I initially had the same reaction that the guy was getting pedantic about a term like "Retina display" which is obvious marketing bullshit.
But as I read the rest of the summary (not the article, mind you) I realized that he was picking apart the claim that Jobs made that the screen resolution is higher than that of the retina. Which I think is fair game to critique.
Unfortunately I don't have a link handy that will help me use English correctly.
Here is a great resource on these issues and might help you use some of the language you are using correctly:
http://www.pphsg.org/cdsmith/types.html
I understand that static versus dynamic is a fairly binary valued property, but my understanding is that strength of type systems is real valued.
There are 2 axes to strength:
1. If you have a type system (you outlaw certain programs), how well is it enforced? Are there ways to get around it? (Yes/No)
2. How many and what type of behaviors do you outlaw in programs. On this axis a lot of trade offs can be made. Do you allow automatic coercion? Do you allow generic data types to be expressed? If so, are covariant and contravariant type parameters allowed? etc... (Subjective 0.0 - 1.0)
I feel like there is an Arrested Development joke somewhere in here.
Lindsay:
There's a cream with real diamonds in it. I can actually smear diamonds on my face! And it's only $400 a tub! That's, like, what, like, a million diamonds for $400? A million bleeping diamonds!
http://xkcd.com/613/
Cryptonomicon
Shouldn't the headline have a question mark at the end?
Cool post.
Isn't it true that if something "unobservable" is exerting an effect on observable things, then it is also observable? Maybe directly observable is the term that was meant in the summary, but I guess the follow on question to that is why are directly and indirectly different?
You know "gordo" is spanish for "fat"? Maybe it was your Gordo who brought the rocket down.
Bet you hadn't thought of that.
I rhink rhere is somerhing wrong wirh your 'r' key.
Anyone else feel like some sort of Ayn Rand, Atlas Shrugged stuff is going on?
First Jim Gray, now Steve Fossett. I'm wondering when Carmack is going to "try" his rocket and disappear as well.
Feature not a bug
It is if you are using the wrong tools. Check here to get Tim Sweeney's (unreal engine) thoughts on how he envisions programming his next game engine:
n ced-fp/docs/sweeny.pdf
http://www.st.cs.uni-sb.de/edu/seminare/2005/adva
(Hint: It involves switching from C++ to a Haskell like language)
... when one of these hits earth?
I guess my definition of troll isn't backwards compatible with yours.
I'm not a microsoft warrior, I rather like ruby, but the fact that the Java people are still arguing over closures makes me wonder if Java is already dead, rather than just dying.
I guess my definition of backwards compatible isn't backwards compatible with yours.
Damn, I made a last minute edit and it killed my sentence:
In case I'm mistaken, populations are growing and the standard of living is going up. Therefore demand for goods and services could be growing, so greater efficiency may just mean same employees / same wages.
In case I'm mistaken, populations growing / standard of living is going up and thus demand for goods and services are growing, so greater efficiency may just mean same employees / same wages.
In comp sci, I believe, this is called a move-to-front heuristic (MTF) which is related to the move to root heuristic used in Splay trees. An interesting conjecture related to this is the dynamic optimality conjecture which claims that the splay tree's performance is no worse than any other binary search tree's within a constant factor. This conjecture remains unproven, and I forget whether or not a similar proof exists/has been proven for array's / lists and MTF.
Slightly trollish, but I'd say that the idea of the project and it's realization have seperate suckiness quotients. The idea sucks/rocks independently of whether or not it's implemented. You seemed to imply that if they could implement it, it wouldn't suck as much.
I've never seen a weird mistype like footprint -> offtprint. Are you typing like 2 hoojillion words a minute and those are the sort of strange errors that occur?
I don't follow the argument that simple call graphs == simple functions. At the extremes you could argue that you can have a monster of a function that is a total of mess that doesn't call any other functions and has a simple call graph.
Knocking down straw men is fun.
My overall point is that a well factored program will more than likely have more function calls than a non-well factored one. If factoring a program better leads to better overall comprehensibility (and hence security according to a model), then these graphs might well imply the inverse.
My true belief is that call graphs won't provide a good data point for this type of analysis. I think program comprehensibility is tough analyze and requires a number of different metrics. Although Lisp is provably better than anything. Left as exercise to reader.