If I take a screenshot with my Windows 7, it has some internal format (probably BMP), but I don't care about that. If I want to save to it a file, I open Paint and paste it in. When I click Save, the first option is PNG, other available formats are TIFF, GIF, JPEG and BMP.
I'm not sure what do you mean by "default file format", but if you mean what the Sound recording program produces by default, I think it's WAVE.
Math isn't just a language. We use some language to express the ideas in math (and each field uses its own dialect). But the language itself isn't the important part, the ideas are.
You don't need the + symbol or the integral symbol to derive the formula for the area of an ellipse. But you do need the concepts of addition and integration.
Going with your natural languages theme, think about something like Romeo and Juliet. It's written in English, but that's not the reason why it is so well accepted across continents and centuries. The story is.
I think you should be able to use any.Net language to write Metro apps. The tooling (like work with XAML) won't be as great as in C# or VB, but it should work.
I have never heard about Intents until now and I too think it's a nice idea. You may be right that they are crap, but I don't agree with your reasoning. When you give control to another application, you can never know what is it going to do. How would you guarantee that any implementation of the "share" intent actually does that? Especially considering what "share" means cannot be encoded into some set of rules, that can be understood by a computer, without being way too restrictive.
But LINQ is not an ORM. LINQ to SQL is. And if you don't like that, you can use something like NHibernate and still use LINQ to do the querying. And let me tell you, using LINQ with NHibernate is much better than using HQL or ICriteria.
The beauty of LINQ is that it's very general, using it, you can query in-memory array or a database using NHibernate as an ORM or OData WebServices.
One huge advantage LINQ has over HQL (whether in Java on in.Net using NHibernate) is compile-time checking.
When you write a LINQ query and it compiles, there is a good chance is will run as you intended. If you write HQL, you just don't know, until you run it. And that's made even worse when the mistake is in a piece of code that doesn't run often.
Of course, you can try to catch mistakes like this using Unit Tests. But the point is, with LINQ, you don't need them for this kind of bugs, because the compiler will find them.
Also, dynamically building a LINQ query is a piece of cake. Dynamically building any string-based query (be it HQL or SQL) is a mess.
Then you should tell your boss to get Resharper for your team. It's from the same company as IntelliJ Idea and can make your productivity go up quite a lot, if used properly.
The point of the CLR (or rather the intermediate language, IL) is not just cross-platform compatibility (which actually does work, thanks to Mono).
It's also cross-language compatibility. Code written in C#, VB.NET, F# or IronPython can easily work together, without using header files or redeclaring structs.
Another point is safety: You can run other code in "partial trust". That other code will be able to do only what you explicitly allow. I don't think you can do something like that in unmanaged environment, especially in the presence of pointers (when you can access any address in the process' memory, you can do anything the process can).
One example is communication with other people, as in when speaking or e-mails.
Isn't that exactly where version numbers in DVCSs fail? Yeah, you can talk about a revision 42 in your email, but when the other person tries to look at it, he will see completely different revision.
SQL is a standard, but every provider implements it differently, with their own additions. So, for any non-trivial uses of SQL, you need to do at least some changes.
In some cases, the changes could be really big. Especially when using some of the more complex features, like the support for recursive queries.
like Wikipedia, make a foundation to hold and license the copyright
The Wikimedia Foundation, who operates Wikipedia, does not own copyright to the collaborative works that are its articles. It also does not "license" it. The only thing it does is to claim that whenever you edit a page on Wikipedia, that edit is under CC-BY-SA, and if you don't agree with that, don't edit.
I think what we had before was a waste of a much worse kind - waste of human resources. If all programming required rewiring hardware, we wouldn't have all the amazing things we have today, including Internet, the Linux community, iPad or C#.
So, yeah, it's a waste, but I think it's much better to waste few cycles for garbage collection that to waste few hours debugging access violation problem.
My references are the C programming language standards and the single UNIX specification.
So you never write any code that is OS-specific, you never use any third-party library and you never write any GUI? Good for you.
From my experience, the documentation isn't always great. And even if it is, some things just aren't obvious.
I think that the only software that's not actively developed is one that was abandoned.
If I used your definition, Windows 1.0 would be a very mature system.
If I take a screenshot with my Windows 7, it has some internal format (probably BMP), but I don't care about that. If I want to save to it a file, I open Paint and paste it in. When I click Save, the first option is PNG, other available formats are TIFF, GIF, JPEG and BMP.
I'm not sure what do you mean by "default file format", but if you mean what the Sound recording program produces by default, I think it's WAVE.
Math isn't just a language. We use some language to express the ideas in math (and each field uses its own dialect). But the language itself isn't the important part, the ideas are.
You don't need the + symbol or the integral symbol to derive the formula for the area of an ellipse. But you do need the concepts of addition and integration.
Going with your natural languages theme, think about something like Romeo and Juliet. It's written in English, but that's not the reason why it is so well accepted across continents and centuries. The story is.
What? This isn't about running the compiler on Microsoft's servers. This is about being able to access compiler's internals.
Is IronScheme good enough for you?
I think you should be able to use any .Net language to write Metro apps. The tooling (like work with XAML) won't be as great as in C# or VB, but it should work.
Why would you use Windows Server?
You don't have debit cards in the US?
The filter won't be optional for everyone.
Where did you get that from? It will be optional for everyone.
Obviously, you never played System Shock 2.
That just means the time to get to orbit would be slower compared to the shuttle or conventional rockets.
But the actual throughput will be much higher, because you don't need to wait several months between launches.
Well, you could implement taking groceries out of a bag using a recursive function, but it's certainly not recursive by itself.
by harnessing the computation power of every implemented Turing Machine in the world
You mean zero? There is no Turing Machine in the whole wide world.
I have never heard about Intents until now and I too think it's a nice idea. You may be right that they are crap, but I don't agree with your reasoning. When you give control to another application, you can never know what is it going to do. How would you guarantee that any implementation of the "share" intent actually does that? Especially considering what "share" means cannot be encoded into some set of rules, that can be understood by a computer, without being way too restrictive.
Could you be more specific? What classes are no longer usable in .Net 4 that forced you to rewrite your apps?
But LINQ is not an ORM. LINQ to SQL is. And if you don't like that, you can use something like NHibernate and still use LINQ to do the querying. And let me tell you, using LINQ with NHibernate is much better than using HQL or ICriteria.
The beauty of LINQ is that it's very general, using it, you can query in-memory array or a database using NHibernate as an ORM or OData WebServices.
One huge advantage LINQ has over HQL (whether in Java on in .Net using NHibernate) is compile-time checking.
When you write a LINQ query and it compiles, there is a good chance is will run as you intended. If you write HQL, you just don't know, until you run it. And that's made even worse when the mistake is in a piece of code that doesn't run often.
Of course, you can try to catch mistakes like this using Unit Tests. But the point is, with LINQ, you don't need them for this kind of bugs, because the compiler will find them.
Also, dynamically building a LINQ query is a piece of cake. Dynamically building any string-based query (be it HQL or SQL) is a mess.
Then you should tell your boss to get Resharper for your team. It's from the same company as IntelliJ Idea and can make your productivity go up quite a lot, if used properly.
The point of the CLR (or rather the intermediate language, IL) is not just cross-platform compatibility (which actually does work, thanks to Mono).
It's also cross-language compatibility. Code written in C#, VB.NET, F# or IronPython can easily work together, without using header files or redeclaring structs.
Another point is safety: You can run other code in "partial trust". That other code will be able to do only what you explicitly allow. I don't think you can do something like that in unmanaged environment, especially in the presence of pointers (when you can access any address in the process' memory, you can do anything the process can).
One example is communication with other people, as in when speaking or e-mails.
Isn't that exactly where version numbers in DVCSs fail? Yeah, you can talk about a revision 42 in your email, but when the other person tries to look at it, he will see completely different revision.
SQL is a standard, but every provider implements it differently, with their own additions. So, for any non-trivial uses of SQL, you need to do at least some changes.
In some cases, the changes could be really big. Especially when using some of the more complex features, like the support for recursive queries.
The Wikimedia Foundation, who operates Wikipedia, does not own copyright to the collaborative works that are its articles. It also does not "license" it. The only thing it does is to claim that whenever you edit a page on Wikipedia, that edit is under CC-BY-SA, and if you don't agree with that, don't edit.
I'm curious: how would you do heap compacting with manual allocation?
I think what we had before was a waste of a much worse kind - waste of human resources. If all programming required rewiring hardware, we wouldn't have all the amazing things we have today, including Internet, the Linux community, iPad or C#. So, yeah, it's a waste, but I think it's much better to waste few cycles for garbage collection that to waste few hours debugging access violation problem.
Well, AFAIK, some EU countries do use H.264 for their digital terrestrial broadcasting. But many of them (most?) actually use MPEG-2.