What is .NET? 522
CyberBry writes "There's a great technical overview of Microsoft .NET over at arstechnica: "In a remarkable feat of journalistic sleight-of-hand, thousands of column inches in many "reputable" on-line publications have talked at length about .NET whilst remaining largely ignorant of its nature, purpose, and implementation. Ask what .NET is, and you'll receive a wide range of answers, few of them accurate, all of them conflicting. Confusion amongst the press is rampant. The more common claims made of .NET are that it's a Java rip-off, or that it's subscription software. The truth is somewhat different.""
I honestly can't figure out (Score:3, Interesting)
That being said, it does seem like MS is trying to wean themselves out of a strictly x86 world, and portable binaries is a good way to do that. What about performance? Java used to be well known for crappy performance because of the abstraction forced on the code. Will
Re:Language neutrality (Score:3, Interesting)
language neutrality, but based on what I've
read so far, it's only language neutral if
your language is c# or close to it.
However, maybe they should repeat
the claim another million times; it worked
with getting people to think Windows
was secure.
more .net info (Score:1, Interesting)
Hmmmm (Score:3, Interesting)
.NET sounds like OS X's ne NeXT's Cocoa frameworks *with* the addition of a common runtime library... or... Java
.NET sounds like Java + JVM + jars + beans + JIT (to be fair, Java really doesn't exist without much of the above)
Am I off base?
Cocoa has the bundles concept, which sounds like assemblies.
Cocoa has the framework concept, except they haven't updated for NT in a *long* time.
Cocoa can be accessed through at least 2 languages: Java, Objective C+, and I think someone is working on a Python binding.
Cocoa lacks the VM concept, but if you write in Java, you gain this ability.
Re:I honestly can't figure out (Score:5, Interesting)
Has anyone thought that perhaps Intel (being somewhat friendly with Microsoft) has been pushing this initiative so they can finally put x86 instructions to rest? If Intel has a new processor that doesn't allow x86 instructions (because backward compability would slow it down), all they'd need is Microsoft to force everyone to compile with
Of course, this may not necesarilly be a bad thing. Imagine the speed improvements any processor would have if it didn't require backward compability. The downside is that it'd require a fully-compability CLR.
Sam
Re:Mod parent up (Score:5, Interesting)
Just coincidental that Windows XP drops default Java support.
First, Java works fine in XP -- you just have to (automatically) download the VM or get it from Sun.
Secondly, the real advantage of .NET is that you can write in whatever language you want to and use components from other languages in your .NET programs. Those are hardly minor advances. Java has had a six-year head start, not to mention a vast amount of hype, and if it's the better technology, it'll hang in there. If developers like the .NET stuff better, they'll use that. In all likelihood, there will be a lot of different competing languages which will be good at different things. Nothing wrong with that, IMHO.
Re:.NET good, not evil (Score:4, Interesting)
Bertrand Meyer (Score:2, Interesting)
Interestingly, I didn't know he (Bertrand Meyer) has created a training course [amazon.com] on
Who knows which came first, his interest in
.NET according to Steve Ballmer & friends (Score:3, Interesting)
I don't think they ever gave a straight-forward definition that clearly stated that .NET is this and this. If they did then I missed it. .NET could do. He introduced and chatted with several MS employees on some of the things .NET could do. I especially liked their comparison to Sun's J2EE Pet Store sample application. They've got this comparison available on the web at: .NET. After three of these we broke for lunch and I went home, still not being clear on what .NET is, exactly.
The show started out with a welcome message from the Microsoft Technology Evangelist...no, really, that was his title.
Next came Steve Ballmer who came out to work the crowd into a frenzy and tout all the things
http://msdn.microsoft.com/net/compare/default.asp [microsoft.com]
(I hope Sun posts a followup on Microsofts claims in this comparison)
After this they worked the crowd into another frenzy by randomly giving away three of the XBox games. Then they brought out some folks who gave success stories on implementing
All in all it seemed like I heard mention of several different items:
.NET
Visual Studio .NET
.NET Framework
.NET MyServices
.NET Server ...and probably some others I missed. I'm going to visit Microsoft .NET Defined [microsoft.com] and see if that helps clear anything up...
Re:I honestly can't figure out (Score:5, Interesting)
I think that the whole C# is a standard argument is BS. Look at JavaScript, it's a standard, has been for a number of years now. Why is it then, that I can write 'standard JavaScript' and IE will interpret it one way, while Mozilla, Netscape and Opera interpret it a slightly different way ( maybe it works, maybe not ). Why are web programmers still writing browser detection code into web pages? I'll tell you why, because it doesn't matter if someone makes a standard if nobody follows it. Not one browser follows the standard perfectly. Mozilla (IMO) comes the closest, but even that is not perfect. You still have to go back
What .NET is... (Score:3, Interesting)
And Microsoft has provided the answer: Here is the runtime model, here are the APIs you call, here are some tools you can use, here is how to get help if you have problems.
Now substitute a web of connected personal computers -- the Internet -- for a single one, and developers are still asking, "How do I write an application?" And Microsoft's answer is, .NET.
DOS provided very few services to application writers, but with the Windows APIs, things got more sophisticated: support for graphics, for printing, for various other input and output devices, and eventually for networking. These were filtered through a standard Microsoft-provided operating system to various third-party devices, each with their own device driver, which performed the actual work.
In the .NET world, the "API" will handle Internet-related issues such as password verification, price calculation, payment, and so on. The "operating system" will be a set of always-available Web sites that may then dispatch the actual work to third-party sites -- the "device drivers" in the .NET model.
That is an excerpt from a longer article [osopinion.com] which I wrote back in November 2000.
- adam
Re:Classes and APIs more important than language (Score:2, Interesting)
Except it doesn't.
The restrictions are imposed *by the CTS*.
If you want your class to be exposed to other classes it must conform to the CTS's rules.
If you merely want to make use of .NET's features -- compiling to IL, a nice class library, and so on -- you can use MI and case-sensitive identifiers and all that lovely stuff. Provided that your compiler supports it, of course. The C++ compiler does, and it works just like it does in native code. The CLR has no problem with multiple inheritance (it doesn't really *know* about it, but it doesn't really know a great deal about single inheritance, either, so that doesn't matter at all).
If you want to use those features but also expose them to other languages (thus, you need to conform to the CTS), you can wrap your non-compliant code in CTS-compliant code.
What you see as a major problem is seen as others by a major benefit. Some languages are more suited to some kinds of development than others. .NET levels the playing-field somewhat, by ensuring that they have equal access to a fairly rich class library -- it means that the *only* distinguishing feature is the language, rather than the choice one used to have to make, of "which language and library do I want to use?".
Re:.NET good, not evil (Score:4, Interesting)
My first thoughts after reading this: (Score:2, Interesting)
- Will future processors be able to run the IL in some sort of protected mode?
- What scares me is all the public/private key signing. While this is good for preventing viruses, it makes hacking software (almost?) impossible. I am thinking of hacking a DVD player to play all DVDs from all regions (of course in DMCA free zones LOL), or just in general being able to make versions of a program work with an alternative library.
The more I think about it, this
Played with final VS.NET over past two days... (Score:2, Interesting)
erm..anyhow..
The past two days at work, I have been using that version of VS which comes with this month's MSDN subscription.
Most of the time I have been trying to figure out what happened to their data access...It used to be quite simple to hook up some data to a grid or control, but - jeez - I still haven't figured out how to do it simply, and I have built my own data provider controls before so I figure it shouldn't be this difficult.
As one poster mentioned, the compilation and execution of just a simple 'ello World program, with one form and button each took a couple seconds.
I tried out the WebForms for their new ASP.NET, no doubt this stems from experience in the last ASP, but it didn't seem intuitive to me. In fact, I could probably port existing ASP to PHP in a quicker fashion... On a side note, however, I attended a conference where they claimed to be running this on Apache instead of IIS.
I am not too impressed right now with this product... IMHO the best part about the product is the new VISIO. You can do database modeling/reverse engineering and it will generate the scripts, etc like ERWIN or Embarcadero.
I doubt we use this product for awhile at work, if ever.
Re: FreeBSD (Score:3, Interesting)
I wonder why Miscrosft is developing a FreeBSD implementation? Could it be because substantial portions of Hotmail still runs on FreeBSD? If I remember correctly, MS has yet to successfully port all of Hotmail over to Windows. That being the case, I'd hazard a guess that it's a REQUIREMENT for them to do the FreeBSD thing.
I could be wrong, though. Anyone?
Re:.NET good, not evil (Score:3, Interesting)
Yes, Roger Sessions' article does make that point, and the guy running that JVM languages page is quite honorable to link to the criticism.
However, saying that the JVM isn't a suitable substrate because a lot of the language tools written on it are experimental is sort of a non sequitor.
No more native software? (Score:2, Interesting)
I dunno. This just seems crazy to me. There has got to be a better way to do cross-platform software than what basically amounts to emulation. And in this case it makes even less sense... MS is naturally targeting this mostly at Windows, which is still pretty much a single-platform deal. So where's the benefit in using slow(er) bytecode as opposed to petal-to-the-metal, optimized native code? Argh...
Re:Official Media from MS does not equal Legit (Score:3, Interesting)
Seriously, though, your point about legitimacy is well-taken and something was cavalier about originally. IF you're eligible, it's a great deal. If you're not, then it's illegal software.
Re:Mod parent up (Score:3, Interesting)
Look, we're splitting hairs here about what "drops default Java support" means. To say that it drops support implies that the OS no longer supports Java. It does as long as you have a VM installed (which, again, happens automatically the first time you hit an applet).
Secondly, it's hard to argue that Java was particularly relevent to "recreational computer users" anyway. Very few desktop apps that "recreational" users depend upon are written in Java and applets are less common than ever, so what's the big? Look at it another way -- you get to choose your VM, and isn't choice a Good Thing?
I'm not sure what's "bull" about the fact that you can use multiple languages in the .NET CLR. You CAN. Yes, they have to be .NET aware, but isn't that kind of obvious? It's still a good idea and, by all accounts, it's implemented well.
Obviously Uninformed (Score:1, Interesting)
I, in fact, also work at M$. Certainly, there are some people who are Ra-Ra, Microsoft Rules in all ways, etc. Perhaps more than another company, perhaps not (certainly I imagine many of the folks over at RedHat or at Sun proclaiming the absolute dominance of their products as well.)
However, a whole lot of folks at the company, I would claim to the majority (of devs anyway), are a little more agnostic as to these issues. Many of use for our own devices whatever technology makes the most sense (I use some Linux and some WinXP, some web sites I've written in PHP/MySql, some ASP.NET/SQL Server, depending on which technically made the most sense for the given purpose). Many of run Linux at home for some boxes, WinXip in others. Of course, at work for work projects you usually use the M$ solution (imagine telling people at RedHat that they had to use Outlook/Exchange in place of Linux servers- I'm not arguing that this would be a better solution, I'm just saying it would be out of the question).
Feel free to disagree with the company. I disagree with a big part of the way that the company does business. We talk, at work, about how certain MS business practices and technologies suck. I work there because I think some of the technology they do there is pretty cool. But certainly don't make generalizations about the employees, for which you obviously have little experience.
<rant>
There are so few people left who legimitately and objectively assess technology. The bias is ridiculous, reminiscent of the old Mac/PC flame wars. When you stretch that political bias from companies to generalizations about individuals (making them the "Other", a little psychological trick that allows us to feel ok about judging people), you've truly crossed the line.
</rant>
Re:.NET good, not evil (Score:2, Interesting)
C++ you lose mutiple inheritence, other languages I am sure have similer problems......yes it is cool for getting your stupid little app compiled to run anywhere, but since it restrics the complexity of your program when not using a