No, the current GC in GCC is deterministic. I.e. if you run GCC with two identical inputs on two computers, GC will collect the same objects at the same time.
"This is also one of C++ weaknesses. Troubleshooting templates is a royal pain in the ass. I'd rather chase a pointer to hell and back than deal with another set of poorly-written templates. And templates are almost invariably poorly-written."
I have debugged code which uses Boost MPL. It looks scary but once you understand how templates work it's not different from usual debugging. Apart from the fact that it's done at compile time instead of runtime.
And plain simple template applications (containers, algorithms) are even easier.
"True, that. Objective-C sacrificed compile-time type checking for flexibility. Well-written Objective-C code is almost beautiful (something that can't be said even for well-written C++ code), but you really need to be careful with your types."
Untyped code is filed under 'ugly' in my book. I generally prefer maximum compile-time safety with as much typing as possible (my favorite language is Haskell:) ).
""Smart pointers" are really just a kludge to fix up a poor language design choice. RAII isn't all that vital in Objective-C, either.
You are attempting to say Objective-C is deficient because it doesn't support the design patterns you use in your C++ code, when those design patterns are necessary because of the language itself."
No. Pure C also suffers from this. Just look at all those 'goto cleanup' in the Linux kernel. Which is nothing more than a poor man's destructors.
I won't argue about your other points, since they are subjective. Personally, I'd rather prefer good pattern matching to all the OO stuff.
Seriously, it might be OK for designing GUI interfaces, its dynamic nature helps there. But for compiler writing I'd prefer something: 1) Fast. 2) Typed. 3) Deterministic (no non-deterministic GC).
It's not like many people don't have access to a platform powerful enough now. The need to bootstrap GCC from any platform only with K&R C has evaporated long ago.
"If you've got a really good reason to draw a picture of the prophet, other than something along the lines of "I have a misguided idea of what free speech means, and I want to be offensive for a laugh" then I'd love to hear it. "
Like: "I want to show support for those who receive death threats over trivial matters"? Free speech also means that you have to live with something you don't like. Deal with it.
Technically, it's not that hard for MS to add this support. Objective-C/C++ is just a plain C with some preprocessor magic, and VS in its current iteration is quite extensible.
"HSMs are pretty good. But if you manage to gain access as an authorized user or role with access to the key"
That's the reason behind the HSMs. NOBODY can access the root key inside them. Usually, the root private key is kept in a strict physical security (http://en.wikipedia.org/wiki/Key_Ceremony).
Also, ability to sign certificates doesn't allow you to decrypt the users' data. It only allows you to do a transparent MITM.
I have an opposite situation - I can 'tune out' someone talking in English (it's not my native language) if I start thinking in Russian. Works great during boring meetings.
The same for Russian - I can tune it out by thinking in English, though it doesn't always work.
Initially, Microsoft had a grand vision of a new operating system, built on managed technologies, declarative UI, semantic filesystem, transparent integration of different services, etc. It was a grand plan and quite innovative. Unfortunately, technology just wasn't there..NET was in its infancy and the staggering amount of completely new interdependent modules was just too much to swallow.
So MS had to scale back everything, and quite quickly. So Vista came out very unpolished and raw. Windows 7 is really what Vista should have been if MS hadn't diverted three years to pie-in-the-sky projects.
No, it doesn't. Plants are NOT limited by CO2 concentration, they are limited by the efficiency of light-gathering biological systems.
However, increased CO2 concentration allows plants to expend less water during photosynthesis. It doesn't make them grow faster, but increases their drought-resistance.
"Are you fucking kidding me? OS/2 was created by Microsoft and IBM together."
COM (circa 1987) is not new as well - it was just a standard on vtable format, nothing more. There was _no_ OLE in 1987, not even close. One of the first usages of COM, in fact, was MAPI.
OLE and IDispatch came much later, in 1992 developed mainly for office automation. And by that time they were nothing new as well. For example, http://en.wikipedia.org/wiki/Amoeba_distributed_operating_system had not just dynamically accessible objects, but _distributed_ dynamically accessible objects.
So sorry, your examples of innovation are stupid.
There's a hot GPU offloading support as well
on
Linux 2.6.34 Released
·
· Score: 2, Informative
There's experimental support for 'hotswitching' called 'PRIME' (for obvious reasons:) ).
No, the current GC in GCC is deterministic. I.e. if you run GCC with two identical inputs on two computers, GC will collect the same objects at the same time.
"And as for being deterministic: why would a compiler have to be deterministic?"
For completely reproducible compiler results.
"This is also one of C++ weaknesses. Troubleshooting templates is a royal pain in the ass. I'd rather chase a pointer to hell and back than deal with another set of poorly-written templates. And templates are almost invariably poorly-written."
I have debugged code which uses Boost MPL. It looks scary but once you understand how templates work it's not different from usual debugging. Apart from the fact that it's done at compile time instead of runtime.
And plain simple template applications (containers, algorithms) are even easier.
"True, that. Objective-C sacrificed compile-time type checking for flexibility. Well-written Objective-C code is almost beautiful (something that can't be said even for well-written C++ code), but you really need to be careful with your types."
Untyped code is filed under 'ugly' in my book. I generally prefer maximum compile-time safety with as much typing as possible (my favorite language is Haskell :) ).
""Smart pointers" are really just a kludge to fix up a poor language design choice. RAII isn't all that vital in Objective-C, either.
You are attempting to say Objective-C is deficient because it doesn't support the design patterns you use in your C++ code, when those design patterns are necessary because of the language itself."
No. Pure C also suffers from this. Just look at all those 'goto cleanup' in the Linux kernel. Which is nothing more than a poor man's destructors.
I won't argue about your other points, since they are subjective. Personally, I'd rather prefer good pattern matching to all the OO stuff.
I'm talking about Objective-C features which are superset of C. Almost all of them come at a significant price.
Nope, not a troll.
Objective-C is poor. For example, the most useful part of C++ are fast typed template containers.
Objective-C has only pointer containers which are untyped.
'Const' support? Nope.
RAII and smart pointers? Nope. Memory management in Objective-C is quite convoluted, btw.
So almost nothing useful for general-purpose programming. Except maybe for inheritance.
I'm aware of garbage collector in GC. However, it's completely deterministic, and GCC people don't want to change it.
I tried to do some GCC hacking 3 years ago before I gave up and used LLVM.
Because ObjectiveC is a slow shit?
Seriously, it might be OK for designing GUI interfaces, its dynamic nature helps there. But for compiler writing I'd prefer something:
1) Fast.
2) Typed.
3) Deterministic (no non-deterministic GC).
Cross-compilation from a working platform.
It's not like many people don't have access to a platform powerful enough now. The need to bootstrap GCC from any platform only with K&R C has evaporated long ago.
"A photon can only produce a real electron-positron pair when it has at least twice the rest-energy of an electron and it hits a nucleus."
Or another photon.
"If you've got a really good reason to draw a picture of the prophet, other than something along the lines of "I have a misguided idea of what free speech means, and I want to be offensive for a laugh" then I'd love to hear it. "
Like: "I want to show support for those who receive death threats over trivial matters"? Free speech also means that you have to live with something you don't like. Deal with it.
Directly - nothing. You won't be able to buy the sort of equipment needed to interface with the carrier-grade networks.
However, it might make the business of small ISPs in your town profitable.
Still way too small. Also, elemental mercury and most of mercury compounds are not that dangerous for the environment.
For example, ores with a lot of mercury are pretty common: http://en.wikipedia.org/wiki/Cinnabar
Mercury is a gas in CFLs, and its amount is too small to worry about it.
Technically, it's not that hard for MS to add this support. Objective-C/C++ is just a plain C with some preprocessor magic, and VS in its current iteration is quite extensible.
Certainly, adding support for another language is possible as a simple add-on (for example, Nemerle language has one - http://rsdn.ru/article/nemerle/Nemerle.VsIntegration-en.xml ).
You may laugh, but I did have a lightbulb explode above me. Picking out shards of glass out of my hair is not what I'd call 'fun'.
Not right now. SSTO with chemical rockets is just plain impossible. Weight-to-payload ratio is murderous.
2STO should be possible, but how would it be different from Shuttle?
http://en.wikipedia.org/wiki/Reaction_Engines_SABRE might allow SSTO (or 1.5STO - SSTO but with small accelerator rockets for initial launch), but it's unclear if it's technically possible.
You know, dropping a big rock on US _might_ solve the Global Warming problems.
Great idea, really!
"HSMs are pretty good. But if you manage to gain access as an authorized user or role with access to the key"
That's the reason behind the HSMs. NOBODY can access the root key inside them. Usually, the root private key is kept in a strict physical security (http://en.wikipedia.org/wiki/Key_Ceremony).
Also, ability to sign certificates doesn't allow you to decrypt the users' data. It only allows you to do a transparent MITM.
More likely, they'll use a Hardware Security Module which are pretty tough. So far, I'm not aware of any remote vulnerabilities in them.
They even usually have a pretty good physical security.
Hm.
I have an opposite situation - I can 'tune out' someone talking in English (it's not my native language) if I start thinking in Russian. Works great during boring meetings.
The same for Russian - I can tune it out by thinking in English, though it doesn't always work.
Not exactly.
Initially, Microsoft had a grand vision of a new operating system, built on managed technologies, declarative UI, semantic filesystem, transparent integration of different services, etc. It was a grand plan and quite innovative. Unfortunately, technology just wasn't there. .NET was in its infancy and the staggering amount of completely new interdependent modules was just too much to swallow.
So MS had to scale back everything, and quite quickly. So Vista came out very unpolished and raw. Windows 7 is really what Vista should have been if MS hadn't diverted three years to pie-in-the-sky projects.
No, it doesn't. Plants are NOT limited by CO2 concentration, they are limited by the efficiency of light-gathering biological systems.
However, increased CO2 concentration allows plants to expend less water during photosynthesis. It doesn't make them grow faster, but increases their drought-resistance.
Here is a nice article: http://www.ldeo.columbia.edu/~liepert/pdf/DArrigo_etal.pdf
And what makes it unique? A patent from Microsoft?
"Saying it does not prove it. Show me the prior art."
Borland Delphi - http://en.wikipedia.org/wiki/File:Borland_Delphi_4_screenshot.png
"Are you fucking kidding me? OS/2 was created by Microsoft and IBM together."
COM (circa 1987) is not new as well - it was just a standard on vtable format, nothing more. There was _no_ OLE in 1987, not even close. One of the first usages of COM, in fact, was MAPI.
OLE and IDispatch came much later, in 1992 developed mainly for office automation. And by that time they were nothing new as well. For example, http://en.wikipedia.org/wiki/Amoeba_distributed_operating_system had not just dynamically accessible objects, but _distributed_ dynamically accessible objects.
So sorry, your examples of innovation are stupid.
There's experimental support for 'hotswitching' called 'PRIME' (for obvious reasons :) ).
See here: http://airlied.livejournal.com/71734.html