|
|
User Controls
|
New User
|
Login
|
Edit/View My Profile
|
|
|
|
ActiveMac
|
Articles
|
Forums
|
Links
|
News
|
News Search
|
Reviews
|
|
|
|
News Centers
|
Windows/Microsoft
|
DVD
|
ActiveHardware
|
Xbox
|
MaINTosh
|
News Search
|
|
|
|
ANet Chats
|
The Lobby
|
Special Events Room
|
Developer's Lounge
|
XBox Chat
|
|
|
|
FAQ's
|
Windows 98/98 SE
|
Windows 2000
|
Windows Me
|
Windows "Whistler" XP
|
Windows CE
|
Internet Explorer 6
|
Internet Explorer 5
|
Xbox
|
DirectX
|
DVD's
|
|
|
|
TopTechTips
|
Registry Tips
|
Windows 95/98
|
Windows 2000
|
Internet Explorer 4
|
Internet Explorer 5
|
Windows NT Tips
|
Program Tips
|
Easter Eggs
|
Hardware
|
DVD
|
|
|
|
Latest Reviews
|
Applications
|
Microsoft Windows XP Professional
|
Norton SystemWorks 2002
|
|
Hardware
|
Intel Personal Audio Player
3000
|
Microsoft Wireless IntelliMouse
Explorer
|
|
|
|
Site News/Info
|
About This Site
|
Affiliates
|
ANet Forums
|
Contact Us
|
Default Home Page
|
Link To Us
|
Links
|
Member Pages
|
Site Search
|
Awards
|
|
|
|
Credits
©1997/2004, Active Network. All
Rights Reserved.
Layout & Design by
Designer Dream. Content
written by the Active Network team. Please click
here for full terms of
use and restrictions or read our
Privacy Statement.
|
|
|
|
|
|
|
|
Time:
15:03 EST/20:03 GMT | News Source:
OS News |
Posted By: Jonathan Tigner |
Novell and the Mono project developer community announced the release of Mono version 1.0, an open source implementation of the .NET framework for use on Linux, Unix, Mac OS X and Windows system. See their Release Notes, or go directly to the download page. MonoDevelop 0.5 was also released. Elsewhere, Edd Dumbill is talking about the metadata on the desktop using the Mono-based Beagle system (similar to Seth Nickell's Storage, Apple's Spotlight and originally, Be's BFS & Tracker).
|
|
#1 By
3339 (64.160.58.135)
at
6/30/2004 4:59:55 PM
|
Very good, Closed.... The best I could ever get him to do was to lick his own balls.
|
#2 By
2332 (207.31.248.12)
at
6/30/2004 6:15:35 PM
|
Impossible! As we all know, .NET is a closed, proprietary, non-standard development platform. Nobody besides Microsoft could possibly write a version of it without the explicit permission of Microsoft! Nobody! Lies, all lies!
Oh wait... I'm thinking of Sun and Java. My bad.
|
#3 By
2459 (69.22.124.228)
at
6/30/2004 8:56:13 PM
|
"Why would anyone choose MS's .NET when Mono is free from restrictions and implements functionality beyond that of .NET which allows you to support your application automatically on multiple platforms?"
A few reasons would be:
Vendor support (though Novell may offer this in some way)
MS .NET will still remain ahead on implementation of most new features
Mono currently lacks Code Access Security (big feature) and COM support (big for legacy support)
Ensured legal use of Non-ECMA Microsoft technologies (Windows Forms/ASP.NET/etc.)
Mono's great for cross-platform compatability, productivity gains over C/C++, and the *n*x-specific functionality, but it falls short in a few areas compared to MS .NET.
|
#4 By
2459 (69.22.124.228)
at
6/30/2004 10:58:20 PM
|
By, "ahead", I mean that Microsoft will likely stay ahead on ECMA/ISO features. There will likely always be a lead time between MS' implementation and Mono's, largely because to date, MS has submitted most of the changes. The Windows-specific features implemented in Mono will always be questionable when it comes to businesses using them as they aren't IP-clean. Also, until Mono implements CAS, they will never be able to compete with .NET in that area. On top of it's extensive use on Windows today, Longhorn and future versions will further use and enhance CAS to widen the possibilities for deployment and use of code while making guarantees about the trustworthyness of the code.
CAS isn't solely for embedded platforms. CAS is used in all versions of MS .NET to control privilage not just based on the user account running the code, but also based upon evidence from the code itself. No-touch/ClickOnce deployment is an example of using CAS to ensure partially trusted code can run without the ability to change parts of the system. Until Mono gets CAS, it'll be limited in its utility versus .NET.
Legacy support is exactly why COM support is needed. COM will still run on Longhorn and future Windows versions. While it won't receive much new development, businesses with existing codebases will want to take advantage of their existing investments in COM even while transitioning to .NET or using some sort of mixture of the two technologies. This applies to many businesses, and is another area where .NET will be chosen over Mono.
I realize Mono is a dev platform. It does offer *n*x-specific and other libraries that .NET doesn't, and it is a nice option for cross-platform use, but your question was "Why would anyone use .NET...". The above are very real and credible reasons for using .NET over Mono. In many cases, .NET is the only option between the two, and these and other reasons are why .NET is still currently ahead of Mono, especially on Windows.
|
#5 By
2332 (65.221.182.2)
at
6/30/2004 11:12:43 PM
|
#13 - MS's .NET can't really remain ahead of implementation on new features, Mono has already implemented features beyond that of .NET.
Those features are fairly trivial. Microsoft's .NET implementation has quite a few over Mono as well.
To catch up, .NET has to become cross-platform compatible, support the API stacks that Mono now supports (GTK#, wxWidgets, etc), and on top of that Mono is cloning the Windows-specific features of .NET.
Huh? Are you saying that Microsoft needs to support GTK# and wxWidgets? Are you kidding me? Why would Microsoft need to support stuff used by 3% of users when they already have support for 90%+? GTK is only used for Unix GUI development, and that makes up basically 0% of the desktop market. wxWidgets is hardly of concern either, as there are countless widget packages for .NET on Windows.
Mono does not need CAS, as it is not being used on embedded platforms where different trust levels would exist, it is being used to develop fully trusted Desktop applications. OSS already has the embedded platform covered pretty well.
I'm not sure you understand CAS. CAS is primarily used for desktop applications. In fact, it is one of the biggest fundemental features of .NET, and provides the basis for a lot of what Microsoft is doing with Longhorn. It's completely forgivable that CAS isn't included in v1.0 of Mono, as it's not used a great deal right now, but to say Mono doesn't need CAS is really miopic.
Mono does not need COM support as it is not being used as a platform for running legacy applications, this is WINE.
Agreed, Mono doesn't need COM support.
Mono is not intended as an emulation layer, but a development platform. Mono takes .NET and extends it to other platforms, APIs, and programming languages.
What other programming languages has mono introduced to the .NET world? Regardless, that wouldn't be a feature of mono... the CLR was designed specifically for multiple language support. This is evident from the fact there are 30+ languages that target .NET.
At any rate, Mono is an awesome project. It will be really great to develop rich applications that run on Linux, Macs, and Windows... and not have to rely on Java. :-)
Of course, with v2.0 of the Microsoft .NET Framework going beta 1 yesterday, the Mono guys will have their work cut out for them. In fact, I may volunteer to help out a bit.
|
#6 By
12071 (203.185.215.149)
at
6/30/2004 11:53:07 PM
|
#6 "Oh wait... I'm thinking of Sun and Java. My bad."
Go find a clue before coming back and posting more nonsense, you're as bad as Parkker.
".NET is a closed, proprietary, non-standard development platform"
Can you provide a link for all of us to the complete source code for C#? For some reason Sun offer the complete source code to anyone that wants it... it's a bit strange given that you claim Java is a "closed, proprietary, non-standard development platform".
"Nobody besides Microsoft could possibly write a version of it without the explicit permission of Microsoft! Nobody! Lies, all lies!"
You're right, no-one is allowed to create their own JVM without the explicit permission of Sun... Except for IBM, Blackdown, Kaffe, Latte, ORP, kissme, SableVM, Japhar and Cacao to name a few. No-one is even allowed to write their own JIT compilers either except for IBM (jikes), Redhat (gcj), OpenJIT, ElectricalFire, TYA and shuJIT to name a few.
As least we can agree on one thing "At any rate, Mono is an awesome project."
|
#7 By
931 (68.217.43.25)
at
7/1/2004 1:51:52 AM
|
To say .net is a failed strategy... is utterly rediculous... as while there while confronting java was likely one of many reasons behind it, it was not microsofts primary goal. Talk to the people at microsoft that developed\still develope it... you'll not here the word java much.
The truth is if sun had not tried to be so anal and controlling with java ms would have adopted it.. instead they did what they are good at... They took a pretty good idea and made it even better on thier platform, and open for others to do the same on the platform of thier choice.
In any case Mono is great project, and those that say microsoft would purposely try and kill it are just off thier rockers, actually a Mono success is overall a good thing for Microsoft.
This post was edited by KnightHawk on Thursday, July 01, 2004 at 01:54.
|
#8 By
2459 (69.22.124.228)
at
7/1/2004 8:00:06 AM
|
There's still a misunderstanding of what CAS is and what it offers. It has nothing to do with NGSCB, and BTW, NGSCB is not TCPA.
Mono's lack of CAS is a big deal when you compare it with .NET. Bucause Mono cannot currently make inferences and assurances based on code attributes and behavior. It cannot limit application execution rights beyond that of the user. Because of this, there are many scenarios where .NET can currently be used that Mono cannot securely.
For some cases, the MSR runtime can also be used to fulfill cross-platform needs, and it also currently supports some features not found in Mono (one of them being CAS).
As a seperate, cross-platform runtime, Mono does well. It will provide a modern runtime environment for non-Windows platforms, and do well as a seperate entity from .NET, allowing even for apps that will not run on .NET in its default distribution. However when comparing runtimes in terms of running on Windows, .NET wins hands-down, and will likely do so for some time in the future.
RE: JavaTM
I don't see how releasing code under a particular license amounts to "proving itself". JavaTM still has deficiencies compared to .NET, and they are trying to catch up with JavaTM 5.0.
Add in the harsher syntax for comparable features, inconsistent boxing between primitives and objects, and generics that don't solve perf issues and they are still behind .NET.
http://blogs.msdn.com/ericgu/archive/2004/06/29/168808.aspx
|
#9 By
2332 (65.221.182.2)
at
7/1/2004 9:52:37 AM
|
#17 - "Go find a clue before coming back and posting more nonsense, you're as bad as Parkker."
I have a clue, thank you very much. Everything I said is true.
"Can you provide a link for all of us to the complete source code for C#?"
Well, C# is a language implementation on top of .NET. It doesn't really have source. (Who doesn't have a clue? Me? Don't think so.) C# is standardized, however, both through the ECMA and the ISO. Again, unlike Java.
You can, however, get the source code to a the ECMA/ISO standard implementation here:
http://www.microsoft.com/downloads/details.aspx?FamilyId=3A1C93FA-7462-47D0-8E56-8DD34C6292F0&displaylang=en
And here is the spec, in case you want to implement your own CLR:
http://msdn.microsoft.com/net/ecma/
For some reason Sun offer the complete source code to anyone that wants it... it's a bit strange given that you claim Java is a "closed, proprietary, non-standard development platform".
And so does Microsoft. It's called shared source. Not only can you freely download the ECMA version, but upon request you can become a shared source partner and gain access to the complete source code for .NET.
"You're right, no-one is allowed to create their own JVM without the explicit permission of Sun... Except for IBM, Blackdown, Kaffe, Latte, ORP, kissme, SableVM, Japhar and Cacao to name a few."
All these people had to sign license agreements with Sun to develop their JVMs. All Sun has to do is say NO, and they have to stop distribution of their JVMs. This is exactly what happened to Microsoft a few years ago. Nice try though.
"No-one is even allowed to write their own JIT compilers either except for IBM (jikes), Redhat (gcj), OpenJIT, ElectricalFire, TYA and shuJIT to name a few."
Again, they all had to sign agreements with Sun. Java is CLOSED and PROPRIETARY. It has NEVER BEEN APPROVED BY A SINGLE STANDARDS BODY. Sun has COMPLETE CONTROL OVER JAVA.
This is in contrast to .NET, which has been approved by TWO STANDARDS BODIES, and already has two COMPLETELY UNAUTHORIZED AND INDEPENDENT IMPLEMENTATIONS.
This post was edited by RMD on Thursday, July 01, 2004 at 09:55.
|
#10 By
2459 (69.22.124.228)
at
7/2/2004 3:50:23 AM
|
"So on the .NET platform, the operating system does not have to be depended on to for the role of restricting security?"
No. CAS works in conjunction with the OS' security constructs. .NET processes are still run in the context of the logged-in user (unless executed with runas or run in some system context, etc.). It is beneficial on any OS because it allows for scenarios where the user can execute code that they can be assured will not modify their system. Also, it can stop other processes from using an application that is limited to running in a restricted context and trying to run in an elevated context.
Again, one of the benefits to CAS is that it enables scenarios like ClickOnce. If you've seen any of the Longhorn Concept videos that have been posted here on AW, you'll notice that most, if not all, show scenarios where the user can just install components or applications from third party websites without worry of the app/component affecting their system. These apps are restricted by CAS to using only code that doesn't require access beyond the most limited security policy. One of the attributes the code carries with it is the fact that it was downloaded from the internet in some way (web browser, email, etc.). Since the system knows this information, it uses it as one bit of info to determine what to allow and what not to allow the code to do.
Implementations that don't have CAS cannot make these types of decisions. You don't gain anything security-wise over unmanaged code, and (like unmanaged code), all of your code runs solely in the context of the user (with full trust) no matter where the code was acquired, and can thus do anything the user could normally do. If the user can wipe out the system, then so can the code. Privilage escalation can also occur by taking advantage of bugs in other apps or the OS just as it happens with unmanaged code today.
|
#11 By
2332 (65.221.182.2)
at
7/2/2004 9:53:02 AM
|
#32 - How does this differ from certifying components with web certificates?
It differs for a couple reasons.
First, web certs are an all or nothing thing. Once you click yes, that application can do anything you can do. (Delete all your documents, for instance.)
Second, unlike certs where the user is presented with a dialog asking whether or not it should run, CAS doesn't present any such dialog. It simply says "Sorry, you can't run this application because the code is not trusted." There are policies that can be manipulated either through domain policy or by the system administrator, but it's a very explicit decision and is seperate from running the code. This mitigates the risk of users just clicking ok, ok, ok whenever they see a dialog.
|
|
|
|
|