I don't usually judge things by their trendiness and/or marketing hype (and I doubt few geeks are different in this respect). If a man offers good points, then they are indeed good.
I listened to his talks and he pretty clearly defined what is wrong with SVN and why git is better (to a rational scientifically-minded audience). Those benefits may not be as applicable to a single-dev setup, but I didn't think the post I responded to described such a setup either.
You should watch some of Linus' talks on git if you still think that subversion works the way you 'want'. Subversion does not, in particular, handle merges very nicely (or even at all). And, there's nothing that subversion does that a properly configured git installation cannot do better. [Everything sv can do, git can do better!]
No. An AJAX-free page can be RESTful. I am simply suggesting that Google has extended the REST principle into the domain of web-applications. There may not yet be a 'term' for this sort of RESTfulness, but it seems like a logical extension of the principle to me.
I was actually responding to this part of your first post:
That's when people decide to not provide both options -- or use clever tricks like hash-links.
I think it is more simply classified as 'devs being stupid'.:-) Obviously, GMail proves that this sort of RESTfulness (call it hyper-RESTfulness if you like) is possible with web apps. *That* should be the default.
I was referring to the full-blown application state preservation (a la GMail) as proper RESTfulness. Anything less is just stupidity on the part of developers.
it breaks functionality in cases where you intend to get completely new pages.
It sucks when that happens, but that's not the AJAX itself. That's when people decide to not provide both options -- or use clever tricks like hash-links. Take Gmail -- your current location is appended to the URL, so if you want to open something in a new tab, it will reload all of Gmail -- and then go to exactly where you wanted.
Actually, when that happens, it was because devs were being stupid. REST should be the default (as encouraged by Rails).
What if the situation arises where the party in power would *gain* even more support by switching to proportional? Unless there's some really funky math going on which I certainly don't know the details of, this should be possible (at least in theory).
Good point. But, there actually are garbage collection and metadata reflection implementations for C++. [The 'virtual platform' is really nothing more than the 'interpreter design pattern' and could be implemented in any Turing-complete language].
Another tidbit: a great many of the 'dynamic' features can be simulated with the combination of dynamically-loaded libraries & std::map.
If you complain that TR1 is a 'library' and not part the language, I would remind you that these things are possible without the library if you're willing to pay extra syntax (and besides that: which language was the library written in to begin with??).
I think part of the problem in classifying C++ is that it is like the swiss-army knife of languages (though even C# is approaching that too with LINQ + lambdas). And, I guess Perl is even worse in this respect. I think it's a difficult temptation to resist throwing everything and the kitchen sink into a language.
The other side of this coin is: C++ shouldn't be left off the list but rather all facets of it explored (covering a fair number of the bases you listed). For instance, you could leave Java/Ada/C# out of the discussion if you restricted yourself single-inheritance and to using C++ in a 'pure o-o' kind of way (i.e., no free funcs).
C++ has treated its library as a core part of the language since STLs inception. But, we're talking about functional in specific here and that style is entirely supportable via just plain old function pointers.
Of course, if you were to exclude the STL and start writing your own templates and so on for this stuff because the func ptr syntax were unbearable, then you'd probably come up with something very much like the STL (or boost).
Another way of looking at it: anyone who is writing C++ without the STL is not really doing C++. It would be like writing C# without the.NET framework.
Actually, the language itself does support functional programming via function pointers. All the libraries do is make the syntax a little more bearable.
Functional is as much a style as a 'paradigm'. It can be practised in a great many languages (even C and ASM if you so desire).
Dude, there still slow. On the order of a couple of magnitudes on average. The best bang for the buck perf-wise are languages like F# and Haskell which give you the benefits of scripting and also compilation.
Just how do you manage to put C and C++ in the same category? C++ is definitely not 'mid-level pointer driven'. It's multi-paradigm (including the o-o, generic & functional paradigms). The only thing Java and C# have on the current C++ (TR1) are some beefy libraries. Language-feature wise, C++ holds its own (now it has closures, lambdas, etc and has had some of the most powerful template machinery known to man for quite a while now).
And, where do you get that Prolog is an 'imperative' language? It's technically a 'logic programming language' which is closer to functional than imperative (more declaratory in nature).
Linux has normal users now? That's too bad.
Frist PSOT!!
I don't usually judge things by their trendiness and/or marketing hype (and I doubt few geeks are different in this respect). If a man offers good points, then they are indeed good.
I listened to his talks and he pretty clearly defined what is wrong with SVN and why git is better (to a rational scientifically-minded audience). Those benefits may not be as applicable to a single-dev setup, but I didn't think the post I responded to described such a setup either.
Mod parent up.
I'm glad the 'not being a moron' thing worked out for you. But, what would you suggest to those in the audience that cannot claim the same. :-)
You should watch some of Linus' talks on git if you still think that subversion works the way you 'want'. Subversion does not, in particular, handle merges very nicely (or even at all). And, there's nothing that subversion does that a properly configured git installation cannot do better. [Everything sv can do, git can do better!]
There's nothing keeping you from using git and writing a script to pull code from each peer when it becomes available.
Mod parent up.
I was actually responding to this part of your first post:
That's when people decide to not provide both options -- or use clever tricks like hash-links.
I think it is more simply classified as 'devs being stupid'. :-) Obviously, GMail proves that this sort of RESTfulness (call it hyper-RESTfulness if you like) is possible with web apps. *That* should be the default.
I didn't say hash links were not RESTful.
I was referring to the full-blown application state preservation (a la GMail) as proper RESTfulness. Anything less is just stupidity on the part of developers.
it breaks functionality in cases where you intend to get completely new pages.
It sucks when that happens, but that's not the AJAX itself. That's when people decide to not provide both options -- or use clever tricks like hash-links. Take Gmail -- your current location is appended to the URL, so if you want to open something in a new tab, it will reload all of Gmail -- and then go to exactly where you wanted.
Actually, when that happens, it was because devs were being stupid. REST should be the default (as encouraged by Rails).
See:
http://en.wikipedia.org/wiki/Representational_State_Transfer
What if the situation arises where the party in power would *gain* even more support by switching to proportional? Unless there's some really funky math going on which I certainly don't know the details of, this should be possible (at least in theory).
Aren't all elitist liberals like that? We can only hope for the same here in the U.S.
Guess you haven't heard of Jython?
That's why it's called a 'democratic *republic*'. If it were pure democracy, you would be guaranteed a complete and utter failure long before now.
Good point. But, there actually are garbage collection and metadata reflection implementations for C++. [The 'virtual platform' is really nothing more than the 'interpreter design pattern' and could be implemented in any Turing-complete language].
Another tidbit: a great many of the 'dynamic' features can be simulated with the combination of dynamically-loaded libraries & std::map.
What about functors?
And TR1::functions, TR1::lambdas?
If you complain that TR1 is a 'library' and not part the language, I would remind you that these things are possible without the library if you're willing to pay extra syntax (and besides that: which language was the library written in to begin with??).
I think part of the problem in classifying C++ is that it is like the swiss-army knife of languages (though even C# is approaching that too with LINQ + lambdas). And, I guess Perl is even worse in this respect. I think it's a difficult temptation to resist throwing everything and the kitchen sink into a language.
The other side of this coin is: C++ shouldn't be left off the list but rather all facets of it explored (covering a fair number of the bases you listed). For instance, you could leave Java/Ada/C# out of the discussion if you restricted yourself single-inheritance and to using C++ in a 'pure o-o' kind of way (i.e., no free funcs).
C++ has treated its library as a core part of the language since STLs inception. But, we're talking about functional in specific here and that style is entirely supportable via just plain old function pointers.
.NET framework.
Of course, if you were to exclude the STL and start writing your own templates and so on for this stuff because the func ptr syntax were unbearable, then you'd probably come up with something very much like the STL (or boost).
Another way of looking at it: anyone who is writing C++ without the STL is not really doing C++. It would be like writing C# without the
Actually, the language itself does support functional programming via function pointers. All the libraries do is make the syntax a little more bearable.
Functional is as much a style as a 'paradigm'. It can be practised in a great many languages (even C and ASM if you so desire).
Actually, I'd come a lot closer to grouping C and ASM than C and C++ by that criteria.
Self-owned. I meant "they're".
Dude, there still slow. On the order of a couple of magnitudes on average. The best bang for the buck perf-wise are languages like F# and Haskell which give you the benefits of scripting and also compilation.
Just how do you manage to put C and C++ in the same category? C++ is definitely not 'mid-level pointer driven'. It's multi-paradigm (including the o-o, generic & functional paradigms). The only thing Java and C# have on the current C++ (TR1) are some beefy libraries. Language-feature wise, C++ holds its own (now it has closures, lambdas, etc and has had some of the most powerful template machinery known to man for quite a while now).
And, where do you get that Prolog is an 'imperative' language? It's technically a 'logic programming language' which is closer to functional than imperative (more declaratory in nature).
Given the looks of some of their products, I'd say they use X and possibly LSD too!