What utter non-sense. Only a radical few choose an OS because of the license. No Windows users are going to "jump ship" because the GPL "is such a wonderful license". And if you think the political patent restrictions added to the license will somehow
cause the demise of any commercial entity, you're insane. Further, if it somehow could, you'd see a backlash on Linux that makes the virtiol targeted at MS look like an @$$ kissing convention. If Linux can't succeed on it's own merits, such strong arm tactics
simply can't win any love from users.
So, five years from now we'll still be waiting for the "year of the Linus desktop", and Linux may even lose some hold in the server market because of tactics like these. So, good luck with that windmill.
What utter non-sense. Only a radical few choose an OS because of the license. No Windows users are going to "jump ship" because the GPL "is such a wonderful license". And if you think the political patent restrictions added to the license will somehow cause the demise of any commercial entity, you're insane. Further, if it somehow could, you'd see a backlash on Linux that makes the virtiol targeted at MS look like an @$$ kissing convention. If Linux can't succeed on it's own merits, such strong arm tactics simply can't win any love from users.
stevo_ wrote:So, I can write normal silver light apps, and what is being created (moonlight) is just a linux interpreter. I won't need to recompile my silverlight apps as moonlight apps and get people to download some dodgy plugin they don't know anything about.But this brings me back to not really getting it, without sound like an (I need to watch my language). I don't really care if linux users can't see my silverlight apps, and I'd assume if Microsoft was serious about silverlight anyway, that they would produce their own linux support for silverlight in the future.
Ingoring a potential user base is stupid. Linux users are a potential user base. If you develop Silverlight application, you should care.
There is still a possibility that MS will implement a Linux port, or so some blog posts *seem* to indicate. But Moonlight will still be considered interesting to many people. If it's not to you personally, who cares?
littleguru wrote:Now you could create something like the in, out and body part in C#, but it looks weird, doesn't it?
static void Main(string args)
int i = 1;
using (new Block(
delegate // In
Debug.Assert(i > 0);
delegate // Out
Debug.Assert(i < 0);
i = -i;
The class doing it would look like this:
public sealed class Block : IDisposable
public delegate void Condition();
private Condition _postcondition;
public Block(Condition precondition, Condition postcondition)
_postcondition = postcondition;
It just doesn't feel and look good... don't know.
DBC is an Eiffel concept that D borrowed. And the above is a very "poor man's" implementation. It's poor not because of the syntax, but because of the semantics. It fails to do proper DBC inheritance. It's this feature that practically requires that DBC be a built in feature of the language, and not a library add-on. I've seen people try to get close using attributes and generated code, but nothing that completely works.
Oh, and there are D .NET efforts already underway: https://mywebspace.wisc.edu/daaugustine/web/d/.
Stealing logos! For shame!
Uhmm... can you really believe the Linux wackos?
First let me explain some historical facts. C did not have ability to pass variable in manner that is technically considered 'by reference'. If you wanted to pass a variable without physically copying it you would do it with pointers. When you pass in a pointer it's always passed by value. Techniacally in both examples you passed varibles as values.
OMG! You refer to passing in an Int32 as pointer... and that this pointer is passed in by value...
Well - in C#, .NET, JAVA passing in by reference is passing in a pointer! If the instance is managed on the heap it is always passed in by reference. If the instance is managed on the heap it is passed in by value.
The difference is if a pointer or a copy of the instance (struct) itself is passed in...
No, that code is C++. He passed an "int" not an "Int32" (C++ has no such type). And he passed a reference to the int, not a pointer. There are very large differences (even if they seem subtle) between references and pointers in C++.
And no, in C#, .NET, Java, passing by reference is not passing in a pointer, since neither of them have pointer types! Further, in Java you can only pass by value, while in C# the default is pass by value and to pass by reference you must indicate that's what you want (with the ref and out keywords).
This one annoys me, and so many people here, including those who should know better, are getting it wrong.
In both Java and .NET langauges, the default is pass by value. In Java, I don't believe it's possible to pass by reference. In .NET, you can do this by specifying it (ref and out keywords in C#).
How you pass parameters has NOTHING to do with whether or not the object lives on the heap or the stack. There is a difference between "reference types" and "pass by referece". Here's some code to illustrate that .NET and Java are pass by ref (you'll have to change the syntax to match your language, but the code itself illustrates things nicely):
string foo = "bar";
Console.WriteLine(foo); // "bar" if pass by value, "baz" if pass by ref
void Xyzzy(string foo)
foo = "baz";
Console.WriteLine(foo); // "baz"
If you've got experience with other languages, it's common to misunderstand this simple concept, but you should learn this, because you have a flawed concept of the meaning here even in those other languages.
Jamie, great post. Can't believe how many people didn't get it. Even trying to explain to you how to use "apt" from within a LiveCD session. *giggle snort*
The satire is great, but I do have to say that Linux isn't all bad either. Needs some polish that only "experts" can do, otherwise it looks like someone permanently attached a strong magnet to the monitor. Also requires several manuals (you know, of RTFM Noob! infamy) just to figure out how to get your browser (pick one of 12) to play multimedia files. And forget installing a printer, even the experts spend a lifetime (in Internet time) trying to figure that one out. At least they have a great office application (provided the above issue with the magnet doesn't make your eyes water too much when typing in your thank you letter to Stallman, and your coffee doesn't get too cold while waiting for it to open, making you too sleepy to write it any way). Oh, and it is a wonderful server OS (you thought the manuals required for the browser were thick... if I printed these out my desk couldn't hold up under the weight, but thankfully I can't get that printer to work any way).
Oh, and before the Linux guys go ballistic, this is meant to be funny. The above ARE legitimate criticisms, but despite that, I really do like Linux and have run numerous distribs for about 5 years now. So, lighten up.
wkempf wrote: I doubt there will ever be another update to that. You'll want to, instead, run Orcas for this. http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx
last time I installed Orcas, it completely broke my VS.NET 2005 apps.
I don't think I'm ready to tackle the integration with that approach yet.
So just use the November CTP?
1. Run Orcas in VPC. You should never run beta software on a production machine, and this includes the November CTP.
2. Orcas can target 3.0, so concerns with "go live" licenses shouldn't matter. After all, 3.0 is released.
3. I'm surprised (and skeptical) to hear that November CTP has a "go live" license. After all, it's unlikely the extensions will ever actually be released. With Orcas on the horizon, it doesn't make sense to release extensions for 2005. But, I could certainly be wrong. Even if I am, however, the November CTP can't be compared to Orcas. I'd still recommend you develop with Orcas instead.
I doubt there will ever be another update to that. You'll want to, instead, run Orcas for this. http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx