Do you develop on GitHub? You can keep using GitHub but automatically sync your GitHub releases to SourceForge quickly and easily with this tool so your projects have a backup location, and get your project in front of SourceForge's nearly 20 million monthly users. It takes less than a minute. Get new users downloading your project releases today!
Posted
by
CmdrTaco
from the where-do-we-go-from-here dept.
Ashcrow writes "EWeek has posted an article on Microsoft's .NET initiative. It's been three years since we were first introduced to .NET and virtually none of the promised advantages have come true. Is it time for Microsoft to move on?"
This discussion has been archived.
No new comments can be posted.
I'm quite pleased to have been able to move from ASP to PHP in the past three years - although at least.Net seems better than the options which preceeded it.
I agree, as a Penn State Student I have worked with both.NET and Unix/PHP/Perl/Apache environments. Without a doubt, the latter of the two was far superior in every aspect, INCLUDING EASE OF USE. PHP has got to be the easiest freakin language ever, and Apache trumps IIS with the ability to do the majority of configuring with one file, instead of having to browse through a maze of tabbed windows with options, checkboxes, pop-up boxes, etc.
Without a doubt, the only reasons to use.NET would be if (a), you already have a Microsoft solution and for some reason you want to keep it, or (b), you fall to marketing hype.
Oh yeah, did I forget to mention STABILITY and SECURITY...
Without a doubt, the latter of the two was far superior in every aspect, INCLUDING EASE OF USE. PHP has got to be the easiest freakin language ever
A lot of things are "easier" than ASP.NET/ADO.NET coded using an OOP language. For simple things you're better off using something like PHP or ASP/VBS. Of course when project complexity reaches a certain point you'll start to find real advantages to going with a modern approach that seperates the presentation layer from the business layer. Of course taking this approach can make writing a simple application seem daunting, but in the long run it pays off.
It has a lot to do with simply knowing what sort of application you're going to be writing and picking the proper tool for the job.
Apache trumps IIS with the ability to do the majority of configuring with one file, instead of having to browse through a maze of tabbed windows with options, checkboxes, pop-up boxes, etc.
Totally. 100% agreed. Much easier to administer Apache via it's text configuration IMO.
The fact that it's a marketing bullet point means nothing. When I talk to people actively using it and it making sense and working for them, I'll believe it.
It's just easier to use a gui - not faster but certainly easier.
Maybe for you it is, personally I find a nice clean xml config file way easier to deal with.
I remember one incident trying to get iis to serve up a file. I had to alter the "security" settings in no less than 3 different iis menus befor the frickin thing would serve it up.
The menus are like a maze that one must climb through. The feature that you want could be anywhere in that maze. With XML and a decent editor you can just do a find.
they fall somewhat short on some of the advanced features businesses need for enterprise apps
Or perhaps just think they need after a bunch of marketing mumbojumbo. There are pretty big sites on the net that use Apachr/PHP, Bravenet.com [bravenet.com] comes to mind, you could probably find others at netcraft.com [netcraft.com] I don't use this setup personally, but I see a quite a few large sites that do, and they seem to be making money.
it's java for windows basically
I will never understand why people would write in a "java for windows" when they can write in a Java for all operating systems. C# seems to me like a less sophisticated version of Java that has the added drawback of locking you in to a single platform.
Three years in and I believe it is fair to say that most
people do not understand exactly what.Net is --
other than a vague "trust me" monolithic solution.
Which I believe is the core of its problem. While there
are some fools who will buy anything that fill in
the name of their favorite supplier offers, more
of the market wants to make decisions for themelves.
From the little I've had time to study.Net, there were
a few aspects of it that were indeed superior to what
had proceeded it on the market. But the information
to make a cohesive strategy was just missing. What
if I liked the characteristics of the run-time engine,
but needed to stick with CORBA interfacing?
The most telling flaw in the strategy, for me, was
that you could find entire racks of books on.Net.
But absolutely none that explained the basic wire
protocols used. They were all "How to Program a.Net application inside one box using language Y".
When I'm designing a system, the language used
on each box is the last detail that I
consider. I want to understand the interactions
of the remote systems, how dependent they
are on each other, how they evolve seperately,
how the failure of one will affect the others, etc.
You are exactly correct in that most people don't know what.NET really is, and that includes people using it, and Microsoft itself. Once again, Microsoft marketing has screwed the pooch. They were so hot and bothered to tie.NET to the buzzword of the day (Web Services) that they overlooked a great deal of important features and capabilities.
If you ignore the marketing noise, though, it is itself a cohesive strategy, but it's quite a wide-ranging thing and it's hard to get the right perspective on it. The problem is that you probably started looking too early. The first round of books were all written based on the betas (I reviewed many of them for various publishers), and they were all targeted at teaching the world the basics of.NET.
There are now many books that explain the guts in great detail.
To continue with your specific example, there are MANY projects which support or are working to implement CORBA remoting for.NET. A simple Google search for ".NET CORBA remoting" yielded tons of results.
Microsoft marketing is Microsoft's own worst enemy...
Three years in and I believe it is fair to say that most people do not understand exactly what.Net is -- other than a vague "trust me" monolithic solution.
It seems to me that this has been a problem whenever MS introduces a new technology (COM, COM+, ActiveX). I can find plenty of people using these terms, but no one can give me a two or three sentence summary of what they are. Unfortunately, it seems like.NET is having the same problem.
.NET is the new ActiveX. ActiveX by itself was this nebulous definition, but what it boiled down to was nothing more than COM..NET boils down to three things behind the marketing umbrella name:
* the.NET Virtual Machine: Basically the same idea as other bytecode compiled languages, like UCSD Pascal (ooh you thought I was going to say JVM, well sun didn't invent the idea). Write once, deploy anywhere where windows (or mono) is. It has some features not seen in JVM's, like cached JIT code, so it doesn't have to rerun the JIT every single time you run the app.
* The.NET Common Language Runtime, including the system library: This is intended to replace the Win32 API with something as easy to use as most Visual BASIC libs, getting rid of HWNDS and HRESULTS and __farcall lpzsFoobletch and so on.
* Web services: Really just the first application of the first two, but Microsoft is plugging this SOAP-based stuff like the second coming. I somehow don't see it replacing RPC for communication with system services, but there it is.
To misquote David Byrne, its, "...same as it ever was..."
Microsoft is simply taking what they already have and making some changes in the way these components work together and within the context of the internet. The end result should be a computing experience that is fairly smooth to the end user and provides a lot of what's already out there but with different names and faces. This is why they claim to "innovate". Innovation is taking existing "stuff" and using it in new ways. That's not exactly what
It is supposed to be some sort of "Java alike" for the internet, a sort of universal programming language, and by universal, I mean Windows boxes. But universally accessible over the internet, I have actually seen two websites use it, www.microsoft.com and www.vue.com (the test registration site), other than that it really has not caught on like MS thought it would. When you have 90% of the world's computers running Windows, that is a pretty big built in group able to use it, but the developers (developers,
Actually, I think C is a language that will compile and run on damn near every platform. Yes, given the appropriate runtime environment, Java will run on an amazing number of platforms, but C fits into far more strange platforms.
On a point-by-point comparison,.Net frequently is superior to Java. It falls short on the fundamental
points you raise: interoperability, and more importantly
seperability. Using Java you know exactly which technologies you are embracing, and which you
are leaving out. Java/XML, Java/RMI, Java/Corba...
It's all your decision.
The other feature that.Net has is superior native execution,
it was designed to be translated to native code. The.net
virtual machine is better defined than the JVM is. But I
agree that on whole, the tradeoff is not worthwhile.
I'd be interested in some benchmarks. My experience in fiddling with some numerically-intensive code is that Sun JVM 1.4.1 is about 4 times faster than a Dotnet release of 18 months ago. I haven't tried a more recent version.
.NET is going to be used heavily for Windows desktop apps anyway. People will use it, and love it.
The fact is that Win32 is a steaming cowpat of an API. This is rammed through my head time and time again whenever I am forced to use it. It has some of the most braindamaged behaviours in the world - it's so bad that practically nobody uses it in fact. It's kind of sad, but it's not really possible to write Windows programs without a (usually expensive) IDE and wrapper library to help you.
Well,.NET is mostly just Microsoft creating yet another wrapper, albiet one that doesn't suck quite as much as their previous attempts did. That's just as well, perhaps one day the sheer hell of Win32 will be banished forever, much the same way that nobody pokes the BIOS anymore to print stuff to the screen. To be honest, I think that'll happen more because of Linux than.NET replacing Win32 entirely, but only time will tell.
.NET is not about all those programming languages on which Microsoft put the.NET tag on. Its about writing code and applications that can use components distributed all over the network and written in completely different languages - without having to cope with stuff like CORBA. I like the whole concept a lot and have to admit i was really impressed of the whole thing after i tried not to turn down a good idea just because it came out of the realms of the evil empire. Check the docs on the Microsoft web si
The marketing hype surrounding.Net evaporated, true. However as a means of developing for Windows in virtual machine which supports multiple languages, the actually technology is still going strong.
And so it should - it's better than the alternatives which preceded it. It's just important to divorce the.Net marketing cloud from the actual technology on the ground.
I would have to agree. One of the problems is that even Microsoft is still releasing products that are based on BizTalk and Commerce Server, which seems sort of counter-intuitive. If you look at some of the new products being released by Microsoft Business Solutions (aka Great Plains), you have to wonder what they were thinking. Their business portal product is based on BizTalk, their.NET CRM application talks to the financial application through BizTalk, and they still have their e-commerce packages that are based on plain-old ASP and COM+.
I will say though that I have recently been working on a project to allow a unix legacy system talk to a web service to do real time credit card authorizations from a COBOL application. Using GCC 3.3, libxml2, libxml++, and libwww to post to a web service, it appears to be transacting quite nicely. I can see a lot of legacy application adapters being developed in this manner in the future. Now if only some of the documentation of these libraries were better....
Their business portal product is based on BizTalk, their.NET CRM application talks to the financial application through BizTalk, and they still have their e-commerce packages that are based on plain-old ASP and COM+.
This is one big problem with Microsoft. Each time some VP gets all horny for an idea, it seems whatever preceded that idea becomes somehow irrelevant from marketing and, eventually, support standpoints. I would bet there are many many millions of lines of commercial code out there tied by t
- The way codebehind is implemented, and the ASP.NET page lifecycle - Custom controls - Properties and indexers - Collection and foreach - Events and delegates - app.config and web.config - XCopy deployment - Newsgroup support
What I don't like about.NET:
- Buggy implementation - Crappy file I/O package - DLL Versioning (Pain in the ass. Just deprecate!) - Crappy API documentation - A lot of default behaviors, little of which is intuitive, predictable, or documented - The inability to use classes effectively for things they weren't designed to work for, even though they would be perfect for the job. This is largely due to shortsighted design and access constraints (private methods, un-settable properties, etc)
In other words, I love the CLR design and syntactical shortcuts and hate the class libraries and implementation. The feature set is very wide but not very deep. It's painfully obvious where they've set their focus (ASP.NET, ADO.NET) and where they haven't (file I/O, date/time manipulation, string formatting, etc). You develop like lightening until you reach a point where you want to refine it a bit and make it do something very specific, then you spend weeks trying to figure out what it's doing, why it's doing it that way, and how to work around the default behavior.
It's a good product for small projects, but if you're doing enterprise applications, you're better off implementing a lot of this stuff yourself. A good example are typed DataSets...they manage rowstate and updates and such, which saves a lot of time in the short term, but a lot of the time you want much finer control and a looser coupling between business objects and the data schema. Unfortunately, you can't touch the rowstate directly, which leads to some pretty interesting (and ugly) solutions.
Agreed about technology vs marketing hype, but there's something about.NET that has bothered the hell out of me. They technology (or at least the hype around it) is at odds with the business reality at MS.
MS claim that.NET will be open and cross platform, but the only way this can happen is if cross platform means "across *our* platforms."
Currently MS makes the bulk of their money from the OS and Office. If they truely made.NET cross platform (or let something like Mono take hold) then that starts to eat into both their server and desktop base. I mean, why would anyone pay MS $$$ for each desktop / server if you could choose between *BSD / Linux / VMS / Un*x / et al? For instance, if I had cycles to burn on an IBM mainframe it would make sense to host my.NET services on it, assuming it was truely cross platform.
So basically I fail to see how MS could inplement a businees plant such that.NET would generate more money than the potential loses from the hit they'd take on server / desktop licenses.
Again, MS makes (prints???) money by selling OSs and Office (everything else is just a rounding error). You can be damn sure they're not going to do anything to threaten that cash cow. The interesting thing will be how MS ties.NET to its own OSs. The big draw about web services is that they're supposed to facilitate easier communication / data sharing between disparate systems.
They technology (or at least the hype around it) is at odds with the business reality at MS.
MS claim that.NET will be open and cross platform, but the only way this can happen is if cross platform means "across *our* platforms."
.NET is about interoperability, not cross-platform execution. The big reason Microsoft is behind.NET is to get Windows a foothold in shops currently based around Unix.
> it's better than the alternatives which preceded it
From Microsoft! Because there have been better alternatives on Windows for a long time--both in terms of MUCH more flexible and expressive frameworks for C/C++, and in terms of different programming languages. But as far as Microsoft products for developing for Windows are concerned, yes,.NET is their best effort so far.
The true reason behind the.net push is to create a bunch of easy to use high level languages to compile down to basically the same code, then let that code run on Win32 platforms and Win64 platforms without making changes.
When the 32 to 64 bit switch starts, the.net apps will be ready to go. The win32 apps will require a translation layer.
Combine that with the fact that the Windows (NT/XP) kernel already supports multiple architectures, win32, posix and os/2 are the 3 common ones. I'm willing to bet that.net will show up in the kernel in the next version of Windows.
See, you linux junkies don't really know crap about MS, do you?
Far too much, in most cases.
In most cases, the CLR out-performs native Win32 because of better heap management, caching, and other little things here and there.
Said heap management, caching, etc. couldn't have been implemented in a pre-compiled language?!? Sure.
And there will be cross-platform compatibility once linux developers finish Mono.
So long as Microsoft sees fit not to exercise it's massive patent portfolio. I'd sure bet my business on Microsoft playing nice...not.
If anything that runs on a VM is slow - it's Java. It has to JIT everything before running it while the CLR JITs on demand and it even does that faster!
That would depend on which Java implementation you're talking about. There are fully pre-compiled Java systems available, however the VM based versions are very competitive. They are certainly neck and neck with the CLR...and are available on many platforms, now. Even enterprise class platforms.:-)
Java has tremendous momentum - which.Not has largely failed to affect.
Your sig (you may change it in response to this, I hope): chown -R us ~your/*base*
Sorry, but I think that you may have meant by your sig: find ~your -name '*base*' | xargs chown us
The problem with your sig is that you only change the ownership of the base immediately below ~/your home directory, not allyour base in directories more than one level below. The problem is that the shell will only expand the *base* in the home directory.
I hope you can further develop your base chowning skills further, so that all of it belongs to us.
It's called "Microsoft Passport"! I thought it sounded familiar but when I asked, they waved their hands at me and said "This project is new..." so it has to be! Can you imagine the advantages? Logging into hotmail automagically using MS Passport, using Passport as some sort of all-round login system... Heck, you can even use MS Passport as an instant messenging system! Wow!
GM's Scott issued a strong warning to Microsoft, Sun and the other players in the Web services industry, that enterprises will not tolerate the standards wars of the past. "We have no appetite for it," he said
Exactly, so he and everybody else is sitting back and waiting for a clear winner with mature functionality to materialize. In other words, he's saying "Screw.net, let some other schmuck take the cost of developing it. WE got screwed on ISO networking and Token ring! Twice bitten, 3 times shy!"
And again, the part everyone fails to understand about.NET (mostly due to Microsoft's crappy marketing) is that remoting in.NET is a fully pluggable artchitecture. So whatever standard emerges, you can still use.NET. Just handle your remoting in a reasonably abstract way, then switch the damned thing on the fly.
Hell, some of the basic tutorials that came with the.NET beta (and probably with the release version, I never got around to looking at them again) showed you how to do this. A local binary component communications channel was transparently switchable to an HTTP-based protocol using policies which were controllable by an administrator... re-programming and re-compiling not required.
Fight all the standards wars you want, then just plug in the winner and get back to work.
Very few of today's Internet standards were recognized even within three years as standards. Usenet took seven before it became ubiquitous, IRC took at least four (with DCC still not part of the spec), and even the WWW took six. Remember, it was fundamentally a revision of Gopher technologies, which in turn were an iteration of something else (Archie?)
Most of.NET was puffery, to be sure (I read a piece on MSDN more or less admitting this), but that's largely because it was a working title given to a number of next-generation technologies that may or may not pan out, many of which haven't been released. You can't really consider C# or Hailstorm to have been around and competing for three years, can you?
You can't really consider C# or Hailstorm to have been around and competing for three years, can you?
With Microsoft, yes, we can. Anyway, I was suprised to read that it's been three years already. This means we're due for.NET's replacement next year. Perhaps, this time around, we'll see a microkernel architecture with XXML (extensible XML, yea!) all implemented within a web services-based virtual machine. With that in 2004, I can't wait for 2008!
Woe betides us once more: brace yourselves for another flood of misinformed, biased and downright incorrect assertions from both sides of the fence. Please, no "c# is java", ".net is slower than java" or other such empty statements. If you've worked with.NET for 6 months plus (remoting/asp.net/interop/ado.net), great. We welcome your comments. Perl monkeys need not apply.
Likewise for you "java" programmers out there who in actuality have only ever compiled one applet, and it was a recompilation of a decompiled shareware scroller that you removed the copyright notice from. Well done. On the other hand, if you've solid experience developing beans, rmi and other such projects, we also welcome your comments.
Hi,
I am all for html [w3.org] hyperlinks but I think I can find Eweek's website [eweek.com], as well as microsoft's [microsoft.com] website and its dot net [microsoft.com] section, especially after three years.
Of course I know, I wouldn't be bothered if I didn't try to read the article [eweek.com]. Who reads the articles on slashdot [slashdot.org] anyways?
say the words "dot net" and you get to add so much to the cost of projects that it immediately makes it worth it to switch over.
that is the only reason I could see why.NET might ever catch on. I'm not saying it is a useless bit of technology, I'm just personally partial to using any number of existing technologies that do the same thing and are cheaper to implement.
my current employer is retarded when it comes to computers and they paid someone to do a very basic web project in "dot net" because there was a general misunderstanding in the difference between the domain and the programming structures.
In the end it cost them a ton and now it is costing them more to maintain. I am trying to get them to port it all over to a much lighter system (php on linux or freebsd), but they are currently not interested.
I'm not afraid to admit it, I like.net.
My job has become a whole lot easier, taking projects that could have taken weeks and turning them into days. ADO.net was my best friend last month and c# was my mistress. My company is re-doing just about everything as a web service and.net is making it that much easier. The fact that Visual Studio makes everything so easy just takes the load off of our extremely tiny R&D group which is relied on for every single technical question/project/advice. Maybe.net isnt all that it could have been, but it is great tool for any developer... unless you dont have windows, then I guess your just screwed.
.Net was (and still is) a marketing ploy to counter the sudden gains in mindspace being made first by Sun with J2EE and later by "web services" in general. Judging from the fact that most PHBs have heard about it it seems to have worked quite well - the fact that they (or, it seems, almost anybody) have no idea what it does it besides the point. As long as MS is still getting column inches ("comparing.Net to Crack Cocaine" or whatever) then it's working for them just fine, thanks. This isn't anything new - MS practically invented the word "vapourware" back in the 90's. I'm not saying.Net does nothing, i'm saying that the engineers got there after the marketing department and the advertising budget.
By announcing.NET as vaporware, Microsoft prevented any other vendors from doing anything similar. Not only that, but because ".NET" was going to be The Next Big Thing, they prevented other software houses from making any sales of existing working software while everyone waited for.NET to come along.
This is hardly a new strategy for Microsoft. And in the.NET case they succeeded on a collosal scale.
> By announcing.NET as vaporware, Microsoft prevented any other vendors from doing anything similar. Not only that, but because ".NET" was going to be The Next Big Thing, they prevented other software houses from making any sales of existing working software while everyone waited for.NET to come along.
> This is hardly a new strategy for Microsoft. And in the.NET case they succeeded on a collosal scale.
Yep. In particular,.net was launched at the height of the.craze to prevent people from swit
As a pretty experienced web developer, I've worked at some level (some more than others) with most of the popular platforms: ASP, PHP, Cold Fusion, JSP and ASP.NET (very little perl, which I've always regretted if just for completeness).
From that perspective, ASP.NET just totally rocks my world. I can debug more easily. Performance is better. It encourages good architectural practices. And my productivity has gone through the roof - I haven't done any formal tests but based on personal experience I'd say I can develop at *least* 30% faster with ASP.NET compared to any other platform, possibly more. The difference is most pronounced in more complex systems where it really shines. For less than, say, a thousand lines of code it probably doesn't save as much time, but I rarely work on that anyway.
So, maybe.NET has "failed" and maybe not, but for me, ASP.NET has improved my working world radically. Don't knock it till you've tried it.
From that perspective, ASP.NET just totally rocks my world. I can debug more easily. Performance is better. It encourages good architectural practices. And my productivity has gone through the roof - I haven't done any formal tests but based on personal experience I'd say I can develop at *least* 30% faster with ASP.NET compared to any other platform, possibly more.
I absolutely agree. Since discovering.NET my life has changed! I can concentrate for longer, I'm more confident with girls and my armpits have a wonderful spring morning freshness..NET, because you're worth it!
Other than Cold Fusion I've also worked with all of these. The largest learning curve definitely goes to ASP.NET. My overall preference is easily PHP. One factor is many things can be done with far less code in PHP than ASP.NET. The only advantage ASP.NET has over anything else is the tool, VS.NET. It's not the technology that's saving development time. It's the tool helping to write the code and debug that's the real time saver. So from a business point of view it may be the right choice since the tool's good enough to make up for some overly complex platform requirements. But if you get good at manually typing PHP it's far and away superior based on my experiences and from others I've read.
You are right about the IDE being a big part of the advantage of ASP.NET (and I should have mentioned it), but it certainly can't take all the credit.
IMHO the biggest thing in ASP.NET that leaves PHP for dust is the separation of code from layout. The other big one (and closely related) is easy componentisation. These two make life so much easier, and speak to much of the architectural niceties I mentioned in my original post. Not only can it be done, but it's easy to do and the flow *encourages* you to do it. I love a tool that makes it easy for me to do things the right way.
I do agree ASP.NET has a steeper learning curve than PHP (or any of the others listed, with the possible exception of JSP). Based on my experience, it's a price well worth paying.
For a small project, PHP would usually be my first choice, but anything medium to large, IMHO, ASP.NET is just miles better. Not trying to start a religous war as I do respect PHP, but I thought this was interesting, a comment from a respected member of the PHP community: http://www.edwardbear.org/blog/archives/000189.htm l
Without using frames I just wanted to dynamically change the controls within a page.
Huh? There are multiple ways to do this, at the simplest level you throw a number of controls on the screen, possibly grouped with panels, and then change the Visible tag accordingly to display the one you want.
On a more complex level, you can create a number of controls which all inherit from a base class, and then instantiate the one you need into the main page. I've been working with the Dotnetnuke framework, and this is the entire basis of how it operates, as custom controls inherit from PortalModuleControl and are loaded dynamically at runtime according to database criteria for the page.
We gave 3 others a chance at it, two of them full time and true Microserfs.
Microserf? What is this, a contest to see who can act most like a child?
Since then I've tried other things and come to the same conclusion.
I guess it's nice that you came to a conclusion, it's just unfortunate that you are trying to extend your technical incompetence onto others.
ASP.NET has rocked my world as well, and I am barely even scratching the surface of functionality.
.NET and php are orthogonal. There's one effort underway to port PHP to.NET, for one. I recommend getting some understanding of the ASP.NET architecture before making statements like this, because it's like saying "php is better than fastcgi" (considering you can run php as a fastcgi).
The main problem I have with PHP is that it's not OO. Objects are syntactic sugar for grouping functions, but objects are by default copied by value, and worse yet, always compared by value, not by identity (so when $a === $b at one point, it might not later, even with the same objects, because they got the implementation so wrong). PHP5 is supposed to fix that, though things like its error handling still leave much to be desired (try eval'ing code with a syntax error -- your script will die, and you can NOT stop it. sort of defeats the purpose of eval, don't it?)
But that's all off the topic of.NET, which is a platform, whereas PHP is simply a language.
by Anonymous Coward writes:
on Tuesday July 08, 2003 @09:14AM (#6390308)
.NET has little to do with anything.NET. It's a new Windows API designed to turn Windows into a virtual machine like Java so it can be architecture independent. That's what CLR and C# and all the rest of that stuff is about. It's about MS getting off x86-32 and into a larger world of ia64, amd64, and maybe even ppc64. CLR is the new Windows runtime. Once the move is complete, Windows will be able to run on anything and apps will not have to be recompiled at all. This will make Windows more portable than *nix.
I don't know how much platform independence has been a consideration, but they probably just got sick and tired of plain old Win32 and MFC. If nothing else, it gave them a chance to finally bring out a decent framework, just like everybody else already has. Must be so liberating for them to finally be able to code a dialog box dynamically without having to fool with resources and message map macros. Microsoft have finally discovered proper OOP and class frameworks. Welcome to the '90!
It's a new Windows API designed to turn Windows into a virtual machine like Java so it can be architecture independent.
That statement is a laughable sham, and I am sure M$ is glad you brought it up. Windows controls the hardware, and not the other way around. It has been this way for a long time - Windows killed Alpha, for example..NET is all about providing a web programming interface that fits better with Windows than Java, to force lock-in on the operating system AND the network interface. It is like Java without platform independence, so that Microsoft can make even more money. Predictably, the developer tools are so simple even a Visual Basic monkey can make a web application. Predictably, the bytecode interpreter is buggy and insecure - this is not what will win the battle. Microsoft will make life REALLY easy for developers, they will make development costs low for web companies, and.NET will attempt to throw Java out the window.
If Apple didn't implement Xerox's windows would Microsoft have created a version?
If Apple hadn't invented multi-media for micro-computers would Microsoft have it's own implementation?
Microsoft haven't done any (apart from Word for Mac, then later Windows) inventing of their own, and what they have done, has always been a poor copy!.NET is a perfect example.
Word was preceded by WordPerfect, WordStar, and probably dozens of others. Microsofts innovations have always been and will always be in the arenas marketing and licensing.
Think about it...for three years they've been talking about this amazing.NET thing. And every year the masses go "what the hell is this?" and each year it gets a feature here dropped and a feature there dropped. And yet, after three years, people still talk about it. People still want to develop for it. People are still holding out from developing with any of the other options because of.NET.
So...it may not DO anything just yet, but in terms of stalling development on other platforms and continuing to put MS in the news, I'd say it's a success.
First, let me note that I actually do develop in.NET and feel there's a lot of good things there.
However, I think you're onto something here. By pushing.NET, Microsoft really did get everyone to pay attention. Even if people wanted to move on, if they weren't sure what to move on to, they at least stagnated and didn't move on, maintaining some status quo.
I think they got the best of both worlds - a decent product they paired with FUD. That's a pretty tough combination.
The results are really odd..NET adaption went slower than I expected. It was crammed down our throats . . . and no one really seemed to care.
Then, recently (last year) I've seen a real explosion in.NET. Literally I think 75% of Microsofts pushing the tool was useless or even backfired. Time seemed to be needed.
As a developer who has worked in a variety of languages, OVERALL,.NET has some good ideas mixed in with some unexpectedly lame ones. In general I'm able to develop faster and more efficiently (In some cases I've developed ASP.NET applications over twice as fast as ASP, yet with far less ASP.NET experience), but there are moments of strange and odd roadblocks.
Do I think.NET will rule the world? Not really. It's just one of many options. Web development and related technologies seem to be in a phase that's a mix of overcautious and overenthusiastic, and I don't think anyone is sure where things are going right now.
Will Microsoft give up on.NET? I don't expect they will - too much of an investment, too much behind it. It'll get altered and poked and prodded and integrated, but it'll be around in some form for awhile.
Microsoft did a bad job marketing.net. First it was web services, then came SQL.net and Windows.net. Even now article like the quoted eweek one talk about.net as it it's simply web services. Add to this the weenies that talk about passport as if it's the be all and end all of.net.
So what have they delivered for the developer? (what follows is my opinion, as someone who has used it and is still using it)
Well there's Visual Studio, an excellent IDE for those that use IDEs.
There's C#, VB.Net and an architecture that has allow Python.net, Perl.net, Fortran.net, Cobol.net and others. The multitude of languages comes into its own when you realise that objects written in one language are easily used in every other language, so you can have 1 developer using Perl, another using C#. Try that in Java. Try any cross language development in Java.
There's the.net framework, an nice OO library which is, of course, available to any.net language.
There's ASP.net which makes development of event driven sites a hell of a lot easier than embedded your own hidden frames and attaching page loads of those frames as javascript events trigger.
There's WinForms, yet another forms interface, but as it's usuable in any language there is no more bodged MFC.
Of course you do have web services, easy SOAP libraries, really nice XML support, remoting and other funky stuff.
Should MS give up? Hell no, they've produced a wonderful environment for developing for windows. Developing more than web services.
I don't think you can comment on.net unless you've used it. Journalists need not apply, nor should MS marketing people:)
There are some compelling advantages to.NET -- REAL compelling advantages. The thing is that it's takes a boatload of time for a new development platform to get to the mainstream: You're looking at two or three years to get the developers comfortable enough to start working with it, then another two or three years to get their apps ported over and another year or two to roll those out to customers.
I figure we should start seeing real concrete examples of the advantages of.NET in, like 2005-06.
Don't believe me?
USB.
Or even better, how about Win32? We *still* have at least two industry-specific Win16 apps that are under a current maintenance contract. Hell, most of the non-MSOffice Win16 crap was just replaced around four years ago with the Y2K upgrades, so we're still in the process of depreciating it!
All of MS's apps will be.NET in November, but contrary to what the open source community believes, MS Office will only get you so far -- it is by far not the most important piece of software we run. The developers are the key, and MS understands this. You need to get **THEM** interested in developing on a new platform (.NET, MONO, Java, LAMP, ELF or whatever) about five years before you want anything to happen.
The MMM (Microsoft Marketing Machine) does not waste time, money, and resources on something they don't need to market any more. For example, MS Office, they have done any real marketing for it in years because THEY DON'T HAVE TO. It is now monopolized to the point that it markets itself.
The same applies to.NET. They no longer need to market it because it is now the default development platform for a WINDOWS environment. They accomplished their goal of getting everyone to believe that it is Microsofts internal development platform for all their products (whether it is or not is now irrelevant). That's enough for 90% of the bozo^H^H^H^Hmanagers out there to say "We should use.NET. MS uses it internally. No one ever got fired for choosing Microsoft." What a pity.
When.NET first came out, our development team took the plunge, and it has greatly improved development time and the quality of our code. Where scripts and hacks dominated our development before, it's now run off compiled, modular code..NET from a programming standpoint is a great tool.
The only problem I see is MS's marketing strategy of attaching ".NET" to everything. This just confused the term. There really was no reason to call "Windows 2003 Server" "Windows.NET Server", and they finally realized that. My guess is that their marketing geeks saw the success of the "development phase" and went overboard.
Whatever the case,.NET development is good, is here, and will stick around. Slashdotters should welcome it too- There's alot of open source momentum building behind.NET related tech. Take a look at the surge of C# projects in SourceForge, and the push to implement it in linux (Mono and Portable.NET).
From what I've read here, most of the objections fall into two categories:
I don't know what.NET is.
I don't like Microsoft as a company
On the first, if you limit the scope to.NET Framework and associated languages, it's pretty easy to grasp what it is, and see why it's good.
On the second, if this is your sole reason, you're being illogical. That would be like brushing off a good idea from a fellow developer because you didn't like his office.
I'm a Windows developer who in the year 2003 is using a product that came out in 1998. The venerable Visual Studio 6. The first version of VS.net gave absolutely nothing to straight C/C++ developers who were not interested in C# or windows forms or what-have-you, but instead wanted to write good solid code using an ISO-standards compliant compiler for backend work. VS.net gave us nothing new.
VS.net 2003, that's a different story. It does all the things I want to do in a C++ compiler, but apart from the cost, what do you suppose is keeping the bosses from approving it? That's right:.NET. I have told everyone that it actually has a decent C++ compiler, but everybody thinks that it can only be used for.NET work.
So here I am, about to go back to a compiler that has no partial template specialization, a version of STL that I have to patch *by* *hand*, and if I want to look something up? Well, I've got my msdn help files from October 2001 to explain it to me, because that was the last version that integrated with VS6.
By pushing.NET they've done a good job of alienating the core base of people who write the back end code where too-fast-is-not-fast-enough. Maybe it'll come to the point where if you want to write services or databases or anything where speed and size are most important, you'll use a totally different compiler, say, Borland or Metrowerks. But if you're going to do that, why not also look at other platforms, say, Linux?
Since when has.NET been available for three years? Wan't v1.0 only released officially beginning of last year? Or is this one of those articles meant to justify employers requiring 3+ years of.NET experience (and no older than 12)?
If you've been building Windows apps for a while you have welcomed.NET because it makes building Windows apps much simpler than the complexities of VC++ and rescues us from having to deal with the hoakiness of VB. As a long-time Java developer as well I am glad to have a full set of OOP features in a VM-like environment like there is in Java available to me. If Java supported the Windows desktop more elegantly and efficiently then.NET wouldn't matter as much, but Swing is dismally slow and cumbersome for Windows apps, though JDK 1.4.2 is supposed to be better. But look at the rift IBM's SWT has caused in the Java/desktop community.
And I don't agree.NET is just about desktop apps. It makes building distributed apps easier as well, if you want to use web services. I do believe, however, J2EE is still a stronger alternative for large-scale distributed apps. But let's face it, nobody cared much about web services until.NET. Not that a lot of people care too much now, but it's seen as the future of distributed computing, from an internet-scale basis, by just about everybody. What else is there, CORBA? RMI? EJBs? Puhleeze. Firewall unfriendliness is the biggest challenges for these protocols. And the Java camp has been working feverishly to add web services support to their platform and developers have been demanding it. See J2EE 1.4, Apache Axis, Sun's WSDP, BEA's "as-easy-as-VB" WebLogic Workshop IDE for building web services, etc.
The best thing.NET has done perhaps is light a fire under the pants of those in the Java camps. Since.NET's release Sun and the major Java vendors have been scrambling to "answer" some of the advantages of.NET and the cool features of C#. The JCP is trying to respond more quickly. The upcoming JDK 1.5 will have most language changes since 1.1 (generics, foreach iterations, attributes) in an attempt to meet or beat some of C#'s strengths over Java, etc. And the prospect of open-sourcing Java is becoming more of a reality as Sun's stranglehold on the standard has slowed the pace of Java's improvement and started to cause some splintering among some previously strong supporters of Java (aka, IBM, creating SWT, not showing up at this year's JavaOne, etc.)
by Anonymous Coward writes:
on Tuesday July 08, 2003 @09:05AM (#6390209)
Obviously moderators have no clue what.NET even is because it has nothing to do with what he is talking about. The only part of.NET that exists now is the programming framework. I highly doubt that his "ping" times have been halved because he use C#. Even a moderator with a slight knowledge of computers will realize that ping time has nothing to do with the OS.
As for total cost of ownership, it's always a case of your mileage will vary, it depends on where your staff has most skills. Personally I consider maintaining unix systems a lot easier and a lot less effort so that would cut down the TCO in that case. Get a bunch of McSE's and the results would be different, as would getting someone with an equal balanced knowledge in windows and unix.
Albeit, a very good troll in that you ALMOST had me going until I read point 4. Upon rereading your other points:
1) 'Single-source logons' are a function of AD/Kerberos under 2000/2003. In a corporate environment, they give you all the benefits you're claiming that.net does. The '.net passport' stuff hasn't really taken off (is anybody apart from hotmail and msn using it?)
2) How does this have anything to do with.net? Remote access is a function of authentication (AD/KDC as above in a 2000/3 environment) and security (leased line or 'VPN'.).net has nothing to do with the latter part of the equation.
3) Since the various.net RPC mechanisms use a more verbose protocol than traditional MS/DCE RPC calls, I fail to see how this could be the case, unless you're using the 9/10 of your TCO saved in (5) to buy bigger pipes.
4) My windows 2000 servers at work usually only get a reboot when someone installs a hotfix. Since the patch lifecycle is test->uat->production, we have ample warning for this. Uptime, on average, is around 5-6 months. These machines are everything from AD controllers supporting thousands of users, to RDP/MS TS boxes with 50-odd users each.
5) correct me if i'm wrong, but isn't.net more expensive, being subscription based? I realise that this isn't the whole of the TCO equation, but windows servers are windows servers, and no amount of point and click window dressing is going to reduce the amount of manpower required to run systems well.
I'm no Windows apologist (check my posting history,) but surely your argument is bunk:P
1) We have single-source logons for all users, even if they migrate workstations.
Then you don't have AS400s, Legacy applications or Unix then ?.NET is certainly improving the Windows world, but this is a limited part of the.NET vision.
2) Users can access their apps and data from anywhere on the network, even offsite.
All their apps ? Or just the PIM ones in Outlook and the new development. Is that offsite access transactionally secure (i.e. not using Web Services)
The government body I'm working at for now has had all sorts of problems with.NET. People who've been around for longer than me tell me that Microsoft Consulting Services have convinced the CIO and his immediate advisors that.NET is the universal solution for everything IT, and it certainly seems to have been implemented with that in mind..NET seems to be a good fit for Web Services, but that's only a very small part of the set of applications that are being developed today. In particular, for anything
1, 2 and 4 are things UNIX has been able to offer for years.
3 is highly dubious. What's the connection between SOAP, virtual machines, and ping times?
5 is pure Microsoft marketing--look at their ads. Fact is, time after time independent analysis shows that TCO is lower for non-Microsoft solutions, both closed and open source.
The main problem with.Net is that it ties you to a specific OS which makes it a pain from a business economics point of view
Here at the lab for example we run a lot of mission critical syatems written in Java. Although these systems are ultra reliable they are slow and as such we are severely hampered by the hardware we can afford.
A few months ago we got a.Net system to trial and we migrated some of the apps over to it for evaluation. The results showed that.Net was so much faster than java and the support for multi threaded processes far superior. From a technical point of view we wanted to switch but the university wouldn't let us. Switching to.NET would mean swapping from NT to XP and they just wouldn't meet that level of cost.
If someone would port.NET to linux it wuld become a viable option but until then I think will only ever be a niche product.
The main problem with.Net is that it ties you to a specific OS which makes it a pain from a business economics point of view
Um.... MS is currently developing the.Net framework for *nix, at least according to this article [eweek.com] (2nd to last paragraph), but until it's finished, there's the DotGNU Project [gnu.org], or Mono [go-mono.com] to tide you over.
The main problem with.Net is that it ties you to a specific OS which makes it a pain from a business economics point of view
The main problem with Office and Exchange is that they also tie you to a specific OS. Yet they seem to have done rather well.
I'm sure.Net has many failings, but only being tied to one OS' is probably not the vast majority of companies lists. There are plenty of places out there that are happily MS-centric.
I am a software engineer and have written apps in Java, VB, and PERL. I have a friend who has been an M$ developer for about 5 years, and just called me a month or 2 ago to let me know that there is this thing called "design patterns"... just for.Net. There is some M$ website that apparently broke the lid open on the concept of patterns this year (don't know URL). Of course, so did Christopher Alexander in the late 70's, and over 100 others since then... but M$ didn't endorse them until this year. My friend is cool and all, but the general software engineering ignorance was staggering.
If Mono ever finishes, the platform-specific CLR can run most code. Even though Java's done it for a long time, you're tied to one language: Java.
I'm not sure how many times I've seen this single point refutued, but your not tied to a single language to use the the JVM. Want proof, here you go [tu-berlin.de]. That's COBOL to Eifel with all the good bits in the middle.
The question is, what do you mean by "Java". There is the programming language "Java". There is the Java Virtual Machine. There is the set of standar
I'm not sure how many times I've seen this single point refutued, but your not tied to a single language to use the the JVM. Want proof, here you go [tu-berlin.de]. That's COBOL to Eifel with all the good bits in the middle.
JVM language "flexibility" was added after the fact, and it often introduces some fairly ugly things to existing languages (not that.NET compliance won't).
Most people don't understand that the.NET intermediate langage (IL, which is what.NET programs compile into unless you use the
Have you actually developed ASP.Net pages? It doesn't sound like it. It's certainly not restricted to rebranded Visual Basic. It's language neutral. I've worked with some developed with C#. Visual Studio.Net is an excellent tool too... it's fantastic for debugging multiple binary and scripting processes, and stepping almost transparently straight in to database stored procedures and then back out to the web page. PHP4 might be good, but the current ASP.Net and its supporting tools are pretty good too. You have to pick the right tools for the right job, and sometimes that means ASP.Net rather than PHP4.
C# is too inspired by Java? Java syntax was inspired by C. Big deal. C# is still a better language. The devil is in the details. Show me boxing in Java.
.COM is not "included in" with the CLR in any way. The CLR supports something called COM-interop, but that's just backwards compatability. You can make a fully compliant CLR on another platform which never goes near COM but still runs full.NET applications.
And finally... "ASP.NET is lauging out loud"? What the hell does that even mean? I personally don't like ASP.NET, but at least it's far more consistent than PHP is or probably will ever be.
Return to class, you obviously have some catching-up to do.
When Java was first released, umpty squat years ago, it introduced a lot of good concepts to the wider programming community (yeah yeah, smalltalk blah blah blah). The good news is, the language is adapting and evolving based on a community input process, and real world feedback. There are some things that maybe should or could have been done in different ways, but all in all, I keep comming back.
It is far from time for them to move on. Longhorn will be entirely.NET based. The latest betas already have explorer.exe running as.NET managed code. The old, crufty Win32 that Slashbots loved to bash is finally being replaced, and all Slashbots can do is find new ways to complain.
This is just Slashdot getting its weekly naysaying in..NET is coming and will be here to stay with Longhorn, and enough people like.NET to have started work on a version for Linux.
Consider this: Microsoft's EULA states that you may not publish a review of.Net's performerance without their explicit written permission. Now tell me if you really think that there will be any negative reviews of it?
If its time from Microsoft to move on from.NET then its time for Sun, IBM, Oracle, etc to move on from J2EE.
That's one company with the one technology, and three companies plus "etc." with the other. Wouldn't it make more sense for Microsoft to drop.NET and join everyone else with J2EE?
Yes (Score:3, Interesting)
Re:Yes (Score:4, Interesting)
I agree, as a Penn State Student I have worked with both .NET and Unix/PHP/Perl/Apache environments. Without a doubt, the latter of the two was far superior in every aspect, INCLUDING EASE OF USE. PHP has got to be the easiest freakin language ever, and Apache trumps IIS with the ability to do the majority of configuring with one file, instead of having to browse through a maze of tabbed windows with options, checkboxes, pop-up boxes, etc.
Without a doubt, the only reasons to use .NET would be if (a), you already have a Microsoft solution and for some reason you want to keep it, or (b), you fall to marketing hype.
Oh yeah, did I forget to mention STABILITY and SECURITY...
Re:Yes (Score:5, Insightful)
A lot of things are "easier" than ASP.NET/ADO.NET coded using an OOP language. For simple things you're better off using something like PHP or ASP/VBS. Of course when project complexity reaches a certain point you'll start to find real advantages to going with a modern approach that seperates the presentation layer from the business layer. Of course taking this approach can make writing a simple application seem daunting, but in the long run it pays off.
It has a lot to do with simply knowing what sort of application you're going to be writing and picking the proper tool for the job.
Apache trumps IIS with the ability to do the majority of configuring with one file, instead of having to browse through a maze of tabbed windows with options, checkboxes, pop-up boxes, etc.
Totally. 100% agreed. Much easier to administer Apache via it's text configuration IMO.
Re:Yes (Score:4, Insightful)
Re:Yes (Score:4, Insightful)
It's just easier to use a gui - not faster but certainly easier.
Maybe for you it is, personally I find a nice clean xml config file way easier to deal with.
I remember one incident trying to get iis to serve up a file. I had to alter the "security" settings in no less than 3 different iis menus befor the frickin thing would serve it up.
The menus are like a maze that one must climb through. The feature that you want could be anywhere in that maze. With XML and a decent editor you can just do a find.
they fall somewhat short on some of the advanced features businesses need for enterprise apps
Or perhaps just think they need after a bunch of marketing mumbojumbo. There are pretty big sites on the net that use Apachr/PHP, Bravenet.com [bravenet.com] comes to mind, you could probably find others at netcraft.com [netcraft.com] I don't use this setup personally, but I see a quite a few large sites that do, and they seem to be making money.
it's java for windows basically
I will never understand why people would write in a "java for windows" when they can write in a Java for all operating systems. C# seems to me like a less sophisticated version of Java that has the added drawback of locking you in to a single platform.
.Net was never clearly defined (Score:5, Insightful)
Three years in and I believe it is fair to say that most people do not understand exactly what .Net is --
other than a vague "trust me" monolithic solution.
Which I believe is the core of its problem. While there are some fools who will buy anything that fill in the name of their favorite supplier offers, more of the market wants to make decisions for themelves.
From the little I've had time to study .Net, there were
a few aspects of it that were indeed superior to what
had proceeded it on the market. But the information
to make a cohesive strategy was just missing. What
if I liked the characteristics of the run-time engine,
but needed to stick with CORBA interfacing?
The most telling flaw in the strategy, for me, was that you could find entire racks of books on .Net.
But absolutely none that explained the basic wire
protocols used. They were all "How to Program a .Net application inside one box using language Y".
When I'm designing a system, the language used on each box is the last detail that I consider. I want to understand the interactions of the remote systems, how dependent they are on each other, how they evolve seperately, how the failure of one will affect the others, etc.
Re:.Net was never clearly defined (Score:5, Interesting)
If you ignore the marketing noise, though, it is itself a cohesive strategy, but it's quite a wide-ranging thing and it's hard to get the right perspective on it. The problem is that you probably started looking too early. The first round of books were all written based on the betas (I reviewed many of them for various publishers), and they were all targeted at teaching the world the basics of .NET.
There are now many books that explain the guts in great detail.
To continue with your specific example, there are MANY projects which support or are working to implement CORBA remoting for .NET. A simple Google search for ".NET CORBA remoting" yielded tons of results.
Microsoft marketing is Microsoft's own worst enemy...
Re:.Net was never clearly defined (Score:4, Insightful)
It seems to me that this has been a problem whenever MS introduces a new technology (COM, COM+, ActiveX). I can find plenty of people using these terms, but no one can give me a two or three sentence summary of what they are. Unfortunately, it seems like
Re:.Net was never clearly defined (Score:5, Informative)
* the
* The
* Web services: Really just the first application of the first two, but Microsoft is plugging this SOAP-based stuff like the second coming. I somehow don't see it replacing RPC for communication with system services, but there it is.
What .Net REALLY is (Score:3, Insightful)
Microsoft is simply taking what they already have and making some changes in the way these components work together and within the context of the internet. The end result should be a computing experience that is fairly smooth to the end user and provides a lot of what's already out there but with different names and faces. This is why they claim to "innovate". Innovation is taking existing "stuff" and using it in new ways. That's not exactly what
Re:.Net was never clearly defined (Score:3, Informative)
Re:.Net was never clearly defined (Score:3, Offtopic)
Re:.Net was never clearly defined (Score:5, Insightful)
On a point-by-point comparison, .Net frequently is superior to Java. It falls short on the fundamental
points you raise: interoperability, and more importantly
seperability. Using Java you know exactly which technologies you are embracing, and which you
are leaving out. Java/XML, Java/RMI, Java/Corba...
It's all your decision.
The other feature that .Net has is superior native execution,
it was designed to be translated to native code. The .net
virtual machine is better defined than the JVM is. But I
agree that on whole, the tradeoff is not worthwhile.
Re:.Net was never clearly defined (Score:5, Interesting)
I'd be interested in some benchmarks. My experience in fiddling with some numerically-intensive code is that Sun JVM 1.4.1 is about 4 times faster than a Dotnet release of 18 months ago. I haven't tried a more recent version.
Re:.Net was never clearly defined (Score:4, Interesting)
The fact is that Win32 is a steaming cowpat of an API. This is rammed through my head time and time again whenever I am forced to use it. It has some of the most braindamaged behaviours in the world - it's so bad that practically nobody uses it in fact. It's kind of sad, but it's not really possible to write Windows programs without a (usually expensive) IDE and wrapper library to help you.
Well, .NET is mostly just Microsoft creating yet another wrapper, albiet one that doesn't suck quite as much as their previous attempts did. That's just as well, perhaps one day the sheer hell of Win32 will be banished forever, much the same way that nobody pokes the BIOS anymore to print stuff to the screen. To be honest, I think that'll happen more because of Linux than .NET replacing Win32 entirely, but only time will tell.
Re:Yes (Score:3, Insightful)
Re:Yes (Score:4, Insightful)
Guess which came first?
nah... (Score:5, Funny)
nah, it's time Microsoft to move over...
Reality is quite nice though (Score:5, Insightful)
And so it should - it's better than the alternatives which preceded it. It's just important to divorce the .Net marketing cloud from the actual technology on the ground.
Cheers,
Ian
Re:Reality is quite nice though (Score:5, Insightful)
I will say though that I have recently been working on a project to allow a unix legacy system talk to a web service to do real time credit card authorizations from a COBOL application. Using GCC 3.3, libxml2, libxml++, and libwww to post to a web service, it appears to be transacting quite nicely. I can see a lot of legacy application adapters being developed in this manner in the future. Now if only some of the documentation of these libraries were better....
Re:Reality is quite nice though (Score:3, Insightful)
This is one big problem with Microsoft. Each time some VP gets all horny for an idea, it seems whatever preceded that idea becomes somehow irrelevant from marketing and, eventually, support standpoints. I would bet there are many many millions of lines of commercial code out there tied by t
Re:Reality is quite nice though (Score:5, Interesting)
- The way codebehind is implemented, and the ASP.NET page lifecycle
- Custom controls
- Properties and indexers
- Collection and foreach
- Events and delegates
- app.config and web.config
- XCopy deployment
- Newsgroup support
What I don't like about
- Buggy implementation
- Crappy file I/O package
- DLL Versioning (Pain in the ass. Just deprecate!)
- Crappy API documentation
- A lot of default behaviors, little of which is intuitive, predictable, or documented
- The inability to use classes effectively for things they weren't designed to work for, even though they would be perfect for the job. This is largely due to shortsighted design and access constraints (private methods, un-settable properties, etc)
In other words, I love the CLR design and syntactical shortcuts and hate the class libraries and implementation. The feature set is very wide but not very deep. It's painfully obvious where they've set their focus (ASP.NET, ADO.NET) and where they haven't (file I/O, date/time manipulation, string formatting, etc). You develop like lightening until you reach a point where you want to refine it a bit and make it do something very specific, then you spend weeks trying to figure out what it's doing, why it's doing it that way, and how to work around the default behavior.
It's a good product for small projects, but if you're doing enterprise applications, you're better off implementing a lot of this stuff yourself. A good example are typed DataSets...they manage rowstate and updates and such, which saves a lot of time in the short term, but a lot of the time you want much finer control and a looser coupling between business objects and the data schema. Unfortunately, you can't touch the rowstate directly, which leads to some pretty interesting (and ugly) solutions.
Re:Reality is quite nice though (Score:5, Insightful)
MS claim that
Currently MS makes the bulk of their money from the OS and Office. If they truely made
So basically I fail to see how MS could inplement a businees plant such that
Again, MS makes (prints???) money by selling OSs and Office (everything else is just a rounding error). You can be damn sure they're not going to do anything to threaten that cash cow. The interesting thing will be how MS ties
Re:Reality is quite nice though (Score:5, Insightful)
MS claim that
Re:Reality is quite nice though (Score:3, Insightful)
From Microsoft! Because there have been better alternatives on Windows for a long time--both in terms of MUCH more flexible and expressive frameworks for C/C++, and in terms of different programming languages. But as far as Microsoft products for developing for Windows are concerned, yes,
It's all about the Pentiums (Score:5, Interesting)
The true reason behind the
When the 32 to 64 bit switch starts, the
Combine that with the fact that the Windows (NT/XP) kernel already supports multiple architectures, win32, posix and os/2 are the 3 common ones. I'm willing to bet that
It's not in-line compiling that's slow (Score:3, Informative)
If you are interesting in VM design you might enjoy this light read
The design of the Inferno virtual machine [vitanuova.com]
Phil Winterbottom Rob Pike Bell Labs,
Lucent Technologies {philw,rob}@plan9.bell-labs.com
NOTE: Originally appeared in IEEE Compcon 97 Proceedings, 1997.
Re:Reality is quite nice though (Score:5, Interesting)
Far too much, in most cases.
In most cases, the CLR out-performs native Win32 because of better heap management, caching, and other little things here and there.
Said heap management, caching, etc. couldn't have been implemented in a pre-compiled language?!? Sure.
And there will be cross-platform compatibility once linux developers finish Mono.
So long as Microsoft sees fit not to exercise it's massive patent portfolio. I'd sure bet my business on Microsoft playing nice...not.
If anything that runs on a VM is slow - it's Java. It has to JIT everything before running it while the CLR JITs on demand and it even does that faster!
That would depend on which Java implementation you're talking about. There are fully pre-compiled Java systems available, however the VM based versions are very competitive. They are certainly neck and neck with the CLR...and are available on many platforms, now. Even enterprise class platforms. :-)
Java has tremendous momentum - which .Not has largely failed to affect.
Re:Not all your base belongs to us (Score:5, Funny)
chown -R us ~your/*base*
Sorry, but I think that you may have meant by your sig:
find ~your -name '*base*' | xargs chown us
The problem with your sig is that you only change the ownership of the base immediately below ~/your home directory, not all your base in directories more than one level below. The problem is that the shell will only expand the *base* in the home directory.
I hope you can further develop your base chowning skills further, so that all of it belongs to us.
In Soviet Russia... (Score:4, Funny)
Re:In Soviet Russia... (Score:3, Funny)
Heh. Dr Pepper tastes funny after going through your nose. Yuck.
New MS project announced! (Score:5, Funny)
It's called "Microsoft Passport"! I thought it sounded familiar but when I asked, they waved their hands at me and said "This project is new..." so it has to be! Can you imagine the advantages? Logging into hotmail automagically using MS Passport, using Passport as some sort of all-round login system... Heck, you can even use MS Passport as an instant messenging system! Wow!
Yesterday's news (Score:3, Interesting)
Time to move on? (Score:4, Funny)
NO tolerance for standards wars (Score:5, Insightful)
Exactly, so he and everybody else is sitting back and waiting for a clear winner with mature functionality to materialize.
In other words, he's saying "Screw
Re:NO tolerance for standards wars (Score:5, Interesting)
Hell, some of the basic tutorials that came with the .NET beta (and probably with the release version, I never got around to looking at them again) showed you how to do this. A local binary component communications channel was transparently switchable to an HTTP-based protocol using policies which were controllable by an administrator... re-programming and re-compiling not required.
Fight all the standards wars you want, then just plug in the winner and get back to work.
What? (Score:5, Funny)
I'm convinced (Score:5, Funny)
OK, AC, you have me convinced with your insightful argument.
I use
whats to see? (Score:3, Funny)
move along...nothing to see here.....
It takes insight to notice these things take time. (Score:5, Insightful)
Most of .NET was puffery, to be sure (I read a piece on MSDN more or less admitting this), but that's largely because it was a working title given to a number of next-generation technologies that may or may not pan out, many of which haven't been released. You can't really consider C# or Hailstorm to have been around and competing for three years, can you?
Re:It takes insight to notice these things take ti (Score:5, Funny)
With Microsoft, yes, we can. Anyway, I was suprised to read that it's been three years already. This means we're due for
fun with fud. (Score:5, Insightful)
Likewise for you "java" programmers out there who in actuality have only ever compiled one applet, and it was a recompilation of a decompiled shareware scroller that you removed the copyright notice from. Well done. On the other hand, if you've solid experience developing beans, rmi and other such projects, we also welcome your comments.
The rest of you shut up and learn.
Rant over.
- Oisin
Hyperlinking frenzy (Score:5, Funny)
I am all for html [w3.org] hyperlinks but I think I can find Eweek's website [eweek.com], as well as microsoft's [microsoft.com] website and its dot net [microsoft.com] section, especially after three years.
Of course I know, I wouldn't be bothered if I didn't try to read the article [eweek.com]. Who reads the articles on slashdot [slashdot.org] anyways?
What about Linux (Score:5, Insightful)
Re:What about Linux (Score:3, Interesting)
Except for Lindows (and SCO), I think most linux distributors are quite realistic. Can you provide urls to back your claim?
all about the Benjamins (Score:5, Insightful)
that is the only reason I could see why
I'm not saying it is a useless bit of technology, I'm just personally partial to using any number of existing technologies that do the same thing and are cheaper to implement.
my current employer is retarded when it comes to computers and they paid someone to do a very basic web project in "dot net" because there was a general misunderstanding in the difference between the domain and the programming structures.
In the end it cost them a ton and now it is costing them more to maintain. I am trying to get them to port it all over to a much lighter system (php on linux or freebsd), but they are currently not interested.
's GOOD (Score:3, Insightful)
.Net a complete success (Score:5, Insightful)
.Net (Score:5, Funny)
Question (Score:5, Funny)
Has anybody worked out what it is yet?
Re:Question (Score:3, Funny)
Re:Question (Score:5, Funny)
The result of a bug in Word. It was supposed to be .NOT but Word autocorrected it and nobody noticed.
Re:Question (Score:4, Interesting)
.NET was a success, Microsoft-style (Score:3, Interesting)
This is hardly a new strategy for Microsoft. And in the .NET case they succeeded on a collosal scale.
Re: .NET was a success, Microsoft-style (Score:3, Interesting)
> By announcing .NET as vaporware, Microsoft prevented any other vendors from doing anything similar. Not only that, but because ".NET" was going to be The Next Big Thing, they prevented other software houses from making any sales of existing working software while everyone waited for .NET to come along.
.NET case they succeeded on a collosal scale.
.net was launched at the height of the .craze to prevent people from swit
> This is hardly a new strategy for Microsoft. And in the
Yep. In particular,
Speaking for myself (Score:5, Insightful)
From that perspective, ASP.NET just totally rocks my world. I can debug more easily. Performance is better. It encourages good architectural practices. And my productivity has gone through the roof - I haven't done any formal tests but based on personal experience I'd say I can develop at *least* 30% faster with ASP.NET compared to any other platform, possibly more. The difference is most pronounced in more complex systems where it really shines. For less than, say, a thousand lines of code it probably doesn't save as much time, but I rarely work on that anyway.
So, maybe
Re:Speaking for myself (Score:5, Funny)
I absolutely agree. Since discovering
Re:Speaking for myself (Score:5, Insightful)
Re:Speaking for myself (Score:5, Insightful)
IMHO the biggest thing in ASP.NET that leaves PHP for dust is the separation of code from layout. The other big one (and closely related) is easy componentisation. These two make life so much easier, and speak to much of the architectural niceties I mentioned in my original post. Not only can it be done, but it's easy to do and the flow *encourages* you to do it. I love a tool that makes it easy for me to do things the right way.
I do agree ASP.NET has a steeper learning curve than PHP (or any of the others listed, with the possible exception of JSP). Based on my experience, it's a price well worth paying.
For a small project, PHP would usually be my first choice, but anything medium to large, IMHO, ASP.NET is just miles better. Not trying to start a religous war as I do respect PHP, but I thought this was interesting, a comment from a respected member of the PHP community: http://www.edwardbear.org/blog/archives/000189.ht
Re:Speaking for myself (Score:4, Insightful)
Huh? There are multiple ways to do this, at the simplest level you throw a number of controls on the screen, possibly grouped with panels, and then change the Visible tag accordingly to display the one you want.
On a more complex level, you can create a number of controls which all inherit from a base class, and then instantiate the one you need into the main page. I've been working with the Dotnetnuke framework, and this is the entire basis of how it operates, as custom controls inherit from PortalModuleControl and are loaded dynamically at runtime according to database criteria for the page.
We gave 3 others a chance at it, two of them full time and true Microserfs.
Microserf? What is this, a contest to see who can act most like a child?
Since then I've tried other things and come to the same conclusion.
I guess it's nice that you came to a conclusion, it's just unfortunate that you are trying to extend your technical incompetence onto others.
ASP.NET has rocked my world as well, and I am barely even scratching the surface of functionality.
Re:Speaking for myself (Score:4, Informative)
The main problem I have with PHP is that it's not OO. Objects are syntactic sugar for grouping functions, but objects are by default copied by value, and worse yet, always compared by value, not by identity (so when $a === $b at one point, it might not later, even with the same objects, because they got the implementation so wrong). PHP5 is supposed to fix that, though things like its error handling still leave much to be desired (try eval'ing code with a syntax error -- your script will die, and you can NOT stop it. sort of defeats the purpose of eval, don't it?)
But that's all off the topic of
.NET = Windows API 2.0 (Score:5, Insightful)
I have to agree (Score:5, Insightful)
Re:.NET = Windows API 2.0 (Score:4, Insightful)
That statement is a laughable sham, and I am sure M$ is glad you brought it up. Windows controls the hardware, and not the other way around. It has been this way for a long time - Windows killed Alpha, for example.
I wonder if Redhat and Sun's attempt to open source java [linuxtoday.com] will have any impact on this emerging battlefield??
If Sun didn't invent Java would .NET exist? (Score:4, Insightful)
If Apple hadn't invented multi-media for micro-computers would Microsoft have it's own implementation?
Microsoft haven't done any (apart from Word for Mac, then later Windows) inventing of their own, and what they have done, has always been a poor copy!
Re:If Sun didn't invent Java would .NET exist? (Score:3, Insightful)
They must be doing SOMETHING right (Score:5, Insightful)
So...it may not DO anything just yet, but in terms of stalling development on other platforms and continuing to put MS in the news, I'd say it's a success.
I think you've got part of it (Score:3, Insightful)
However, I think you're onto something here. By pushing
I think they got the best of both worlds - a decent product they paired with FUD. That's a pretty tough combination.
In my Experience . . . (Score:5, Insightful)
Then, recently (last year) I've seen a real explosion in
As a developer who has worked in a variety of languages, OVERALL,
Do I think
Will Microsoft give up on
.NET Proof Of Concept (Score:5, Funny)
.net web services (Score:5, Informative)
Microsoft did a bad job marketing .net. First it was web services, then came SQL.net and Windows.net. Even now article like the quoted eweek one talk about .net as it it's simply web services. Add to this the weenies that talk about passport as if it's the be all and end all of .net.
So what have they delivered for the developer? (what follows is my opinion, as someone who has used it and is still using it)
Well there's Visual Studio, an excellent IDE for those that use IDEs.
There's C#, VB.Net and an architecture that has allow Python.net, Perl.net, Fortran.net, Cobol.net and others. The multitude of languages comes into its own when you realise that objects written in one language are easily used in every other language, so you can have 1 developer using Perl, another using C#. Try that in Java. Try any cross language development in Java.
There's the .net framework, an nice OO library which is, of course, available to any .net language.
There's ASP.net which makes development of event driven sites a hell of a lot easier than embedded your own hidden frames and attaching page loads of those frames as javascript events trigger.
There's WinForms, yet another forms interface, but as it's usuable in any language there is no more bodged MFC.
Of course you do have web services, easy SOAP libraries, really nice XML support, remoting and other funky stuff.
Should MS give up? Hell no, they've produced a wonderful environment for developing for windows. Developing more than web services.
I don't think you can comment on .net unless you've used it. Journalists need not apply, nor should MS marketing people :)
Heck no they shouldn't be moving on.... (Score:5, Interesting)
There are some compelling advantages to
I figure we should start seeing real concrete examples of the advantages of
Don't believe me?
USB.
Or even better, how about Win32? We *still* have at least two industry-specific Win16 apps that are under a current maintenance contract. Hell, most of the non-MSOffice Win16 crap was just replaced around four years ago with the Y2K upgrades, so we're still in the process of depreciating it!
All of MS's apps will be
Microsoft Marketing Machine (Score:3, Interesting)
The same applies to
Development good, marketing bad (Score:5, Interesting)
The only problem I see is MS's marketing strategy of attaching ".NET" to everything. This just confused the term. There really was no reason to call "Windows 2003 Server" "Windows
Whatever the case,
From what I've read here, most of the objections fall into two categories:
On the second, if this is your sole reason, you're being illogical. That would be like brushing off a good idea from a fellow developer because you didn't like his office.
.NET is hurting development (Score:5, Interesting)
VS.net 2003, that's a different story. It does all the things I want to do in a C++ compiler, but apart from the cost, what do you suppose is keeping the bosses from approving it? That's right:
So here I am, about to go back to a compiler that has no partial template specialization, a version of STL that I have to patch *by* *hand*, and if I want to look something up? Well, I've got my msdn help files from October 2001 to explain it to me, because that was the last version that integrated with VS6.
By pushing
Just my $0.02
Three years?! (Score:3, Interesting)
.NET a definite upgrade, good competition for Java (Score:5, Insightful)
And I don't agree
The best thing
Re:You are kidding, right? (Score:4, Informative)
Re:You are kidding, right? (Score:4, Insightful)
Why would
A few weeks uptime is nothing to brag about [netcraft.com].
As for total cost of ownership, it's always a case of your mileage will vary, it depends on where your staff has most skills. Personally I consider maintaining unix systems a lot easier and a lot less effort so that would cut down the TCO in that case. Get a bunch of McSE's and the results would be different, as would getting someone with an equal balanced knowledge in windows and unix.
Re:You are kidding, right? (Score:3, Funny)
Re:You are kidding, right? (Score:5, Insightful)
Albeit, a very good troll in that you ALMOST had me going until I read point 4. Upon rereading your other points:
1) 'Single-source logons' are a function of AD/Kerberos under 2000/2003. In a corporate environment, they give you all the benefits you're claiming that
2) How does this have anything to do with
3) Since the various
4) My windows 2000 servers at work usually only get a reboot when someone installs a hotfix. Since the patch lifecycle is test->uat->production, we have ample warning for this. Uptime, on average, is around 5-6 months. These machines are everything from AD controllers supporting thousands of users, to RDP/MS TS boxes with 50-odd users each.
5) correct me if i'm wrong, but isn't
I'm no Windows apologist (check my posting history,) but surely your argument is bunk
IHBT. IHL. HAND.
Re:You are kidding, right? (Score:3, Interesting)
Then you don't have AS400s, Legacy applications or Unix then ?
2) Users can access their apps and data from anywhere on the network, even offsite.
All their apps ? Or just the PIM ones in Outlook and the new development. Is that offsite access transactionally secure (i.e. not using Web Services)
3) Ping times have halved
This o
Re:You are kidding, right? (Score:3, Informative)
Troll explained (Score:5, Informative)
3 is highly dubious. What's the connection between SOAP, virtual machines, and ping times?
5 is pure Microsoft marketing--look at their ads. Fact is, time after time independent analysis shows that TCO is lower for non-Microsoft solutions, both closed and open source.
Re:So much... (Score:5, Funny)
Re:So much... (Score:5, Interesting)
Here at the lab for example we run a lot of mission critical syatems written in Java. Although these systems are ultra reliable they are slow and as such we are severely hampered by the hardware we can afford.
A few months ago we got a
If someone would port
Re:So much... (Score:5, Informative)
Re:So much... (Score:4, Insightful)
The main problem with Office and Exchange is that they also tie you to a specific OS. Yet they seem to have done rather well.
I'm sure .Net has many failings, but only being tied to one OS' is probably not the vast majority of companies lists. There are plenty of places out there that are happily MS-centric.
Re:It can do most of what they say... (Score:4, Funny)
I am a software engineer and have written apps in Java, VB, and PERL. I have a friend who has been an M$ developer for about 5 years, and just called me a month or 2 ago to let me know that there is this thing called "design patterns" ... just for .Net. There is some M$ website that apparently broke the lid open on the concept of patterns this year (don't know URL). Of course, so did Christopher Alexander in the late 70's, and over 100 others since then... but M$ didn't endorse them until this year. My friend is cool and all, but the general software engineering ignorance was staggering.
Re:It can do most of what they say... (Score:3, Insightful)
I'm not sure how many times I've seen this single point refutued, but your not tied to a single language to use the the JVM. Want proof, here you go [tu-berlin.de]. That's COBOL to Eifel with all the good bits in the middle.
The question is, what do you mean by "Java". There is the programming language "Java". There is the Java Virtual Machine. There is the set of standar
Re:It can do most of what they say... (Score:3, Interesting)
JVM language "flexibility" was added after the fact, and it often introduces some fairly ugly things to existing languages (not that .NET compliance won't).
Most people don't understand that the .NET intermediate langage (IL, which is what .NET programs compile into unless you use the
Re:they have ZERO chance (Score:4, Informative)
Re:From "Great" to old ideas (Score:4, Interesting)
And finally... "ASP.NET is lauging out loud"? What the hell does that even mean? I personally don't like ASP.NET, but at least it's far more consistent than PHP is or probably will ever be.
Return to class, you obviously have some catching-up to do.
Re:From "Great" to old ideas (Score:5, Interesting)
OK. Boxing, Typesafe Enums,
When Java was first released, umpty squat years ago, it introduced a lot of good concepts to the wider programming community (yeah yeah, smalltalk blah blah blah). The good news is, the language is adapting and evolving based on a community input process, and real world feedback. There are some things that maybe should or could have been done in different ways, but all in all, I keep comming back.
Silly (Score:5, Insightful)
This is just Slashdot getting its weekly naysaying in.
Re:Well... (Score:5, Funny)
ahhh, Linux. The cause of, and solution to, all of life's problems....
Comment removed (Score:4, Interesting)
Re:It actually outperforms J2EE by a lot (Score:5, Insightful)
MS knows it's a dog. It's as simple as that.
Comment removed (Score:5, Informative)
Re:J2EE (Score:5, Insightful)
That's one company with the one technology, and three companies plus "etc." with the other. Wouldn't it make more sense for Microsoft to drop