Mono Ships ASP.NET server
Miguel de Icaza writes "We have just released the new version of Mono the new version includes a working version of ASP.NET. The release includes a sample web server that "hosts" the ASP.NET runtime (it can be hosted anywhere, for instance in Apache, with mod_haydn). The web features of ASP.NET would not be very useful without the support of a backing database. The new version of Mono includes database providers for Oracle, MS SQL, Sybase, ODBC, OleDB, Gnome Data Access, SqLite, MySQL and of course, Postgres. The C# compiler is now 37% faster due to some nice optimizations on the JIT engine and in our class libraries. You can use it to develop GUI applications using Gtk#. Screenshots for mPhoto and the GUI debugger (which can debug both JITed apps and native applications). "
Mono? I don't feel well.
It's a weird experience to run the same exe in Windows and Linux with the .NET or Mono runtimes. When Mono supports WinForms (by translating them to Gtk#), so GUI apps written with Visual Studio .NET's GUI builder work on Linux, that will be significant.
Mono is some great stuff, but it's going to take some time before .NET matches up with J2EE on Windows, let alone on the UNIX platforms.
Gtk# is more interesting, I think.
- jon
Ganymede, a GPL'ed metadirectory for UNIX
Is it just me or is anyone else having trouble accessing all of the Microsoft sites? I know this is off topic, but I mean, .Net, Microsoft, Online services, all their sites down, I dunno. Maybe a router between me and them is dead. But I can get just about everything else.
I don't see anything about a port for Darwin/MacOS X on the Mono web site. A full Aqua-# project would of course be a lot more work, but it would be fun to see it started in console mode or X-windows.
Has anyone tried building Mono on MacOS?
I think this is terrific. I know very little about the fine details of coding for .NET, but I understand the significance of this project to the community of open source and non-windows users. Good job folks. Keep it up. =)
I send you this message in order to have your advice.
Further proof that more is accomplished through innovation than through litigation.
Although there is prior art examples of individual technologies such as the JVM etc, Microsoft patents such as the one mentioned, define and claim the interoperation of the components, in such a way that any re-implementations will be sure to be covered by the patents. This remains true even for the Microsoft specs submited to standard
In comparison, Sun has granted the Apache and all open source developers FULL access to the specs, test kits and granted the full rights to develop competing products under the JSPA . Sun has also fully pened up the Java development standards process under the new Java Community Process (JCP). Even to the point of granting full open source re-implentations of J2EE such as JBoss...
There those that claim that .NET is open to re-implementation, but until Microsoft make a simliar public legal declaration to Sun's JSPA, any .NET reimplementation represents a pending legal mindfield.
It's just amazing how Miguel and the hordes of coders he has summon to pull this off. I feel confident that whatever Microsoft and the "bad guys" come up with, the Open Source community will launch a counter attack. Shoot to kill. Kudos to Miguel and the rest of the Mono coders.
Hmm, I think I must bring up C# on my next performance review. =P
Girls are strange. They don't come with a man page.
-- Michael Mattsson
The new version of Mono includes database providers for Oracle, MS SQL, Sybase, ODBC, OleDB, Gnome Data Access, SqLite, MySQL and of course, Postgres. ...but no DB2? I guess you could code it through ODBC, but given the native support for other less commonly used databases it's a little surprising. Did IBM do something to piss the developers off?
It doesn't sound like much, but for porting a lot of business logic to Linux, this is a potentially huge development.
Another thing that's needed to get this project up to par with MS .NET is an IDE. Fortunately, the SharpDevelop
folks are working on that...
So far this project has been very impressive. Kudos to the Ximian folx.
Finding God in a Dog
Still can't decide if I love it because it dilutes the strength of MS's .NET server initiative, or if I hate it because it reeks with the stench of Redmond.
pr0n - keeping monitor glass spotless since 1981.
I'm going to enjoy watching the Mono developers catch up, then pull ahead of the Microsoft developers -- on Microsoft's own pet project.
.Net had to be written from scratch.
.Net developers. Well, that, and the fact that Microsoft's management, up to and including Bill Gates, are probably interfering in the project, especially rushing the early design phase. I think I'd hate working at Microsoft.
Bye bye lock-in fees for Microsoft. Bye bye forced sign-ups for Palladium.
All those years of putting features and lock-in ahead of quality and good design are coming back to haunt Microsoft. Mono is able to build on top of a modular platform, while most of Microsoft's C# and
That's how the handful of Mono developers are able to keep up to Microsoft's hundreds of
what good is ASP or ASP.NET if we already have PHP you might ask. Well, firstly, ASP is a Microsoft product. If you don't know, Microsoft is a reputable software company that has been in business since 1975. PHP is just some silly freeware ASP clone hosted by a buch of computer geeks and hackers on some obscure website. Clearly a product from a major player in the software industry will be a better product.
Looks like Jimmy plugged the cable he tripped over back in....
You reminded me of a cartoon I saw in Car&Driver years ago. It had an image of a screaming woman going over a cliff in a car, with the caption "Definition of Mixed Feelings: Watching your mother-in-law go over a cliff in your new Ferrari." Watching Mono develop is the geek equivalent.
"Gold still represents the ultimate form of payment in the world." - Alan Greenspan, 1999
Why are you so insecure that the very existence of another project gets you so worked up? Kinda sad, really, that you feel the need to spoil what should be a good brag moment for Miguel and company.
This is Miguel's announcement. Put your bile away and don't spoil it.
IANAL, but don't you lose your rights to a patent if you don't aggressively defend it?
Microsoft has publicly admitted their knowledge of Mono through publications such as MSDN and other places. They can't claim they haven't known about Mono, known its aims or known anything about what the project was capable of. I don't see how they can pursue a patent claim now - 12 months later - if my first paragraph is true.
Fear: When you see B8 00 4C CD 21 and know what it means
Oh please. Lets not forget altavistas attempt to patent indexing and searching. And what stance does a US patent have on an open source product anyway?
uh right. and with com support, directx9 (which still isn't out yet) would still not work on mono under linux.
It's much better to use something crossplatform like csgl (c# opengl bindings).
We're trying to peel off COM reliance here...
C# has a worthwhile purpose!
The best education consists in immunizing people against systematic attempts at education. - Paul Feyerabend
IANAL, but don't you lose your rights to a patent if you don't aggressively defend it?
No. You're thinking of trademarks. If you let a trademark get diluted in the marketplace, your claim to that trademark grows weaker, or even goes away entirely. Patents don't work like that.
I write in my journal
Actually MS has a spec' for non-Windows versions of .NET. This is what is to be used for the FreeBSD and Mac versions of .Net that MS is backing alreay. It is a subset of the CLR that needs to be supported.
No. That is for trademarks, not copyrights or patents. This is why xerox is a verb but Unisys was able to sue creators of GIF files.
(gotta ac this, but --)
:P
:)
:)
shameless karma whoring
as we see here, you already posted this before
Dangerous Because of Microsoft Patent Claims Trap Saturday November 23, @06:51PM Replies:6 Score:5, Interesting
attached to Portable.NET Now 100% Free Software
an interesting comment though, so i guess i cant get too pissed
What's the purpose of such a thing?
Are you also trying to peel off CORBA reliance?
Please explain your point of view, because I just can't understand why people are running away from COM as if it were the plague... and into this new swamp that is .NET.
why isn't this JBoss news on the front page of /. ? this is important breaking news... whereas mono.net is .not
men pay to have sex with frenetic3!
The best education consists in immunizing people against systematic attempts at education. - Paul Feyerabend
The patent above does not describe any technology related to the .NET Framework, but instead it seems like it might *remotely* talk about Passport, which is something that Mono is not really involved with.
Interesting comment nonetheless, but the link to the patent might have been to `method to defibrilate cows' and might have been slightly more on-topic.
Not to detract from Miguel and the Mono team here, but I can't help but think that there has to be a hidden message in the image he used for a screen shot... I can't quite put my finger on it...
Oh well <whistles>
Unisys were well aware of the widespread use of LZW GIF image compression in many vendors software, so it's better to use PNG.
Microsoft isn't really good at explaining itself in a rational manner because Bill has his head up his ass, and will not let his technical team talk. Instead his marketing team is in charge of explaining to the world what they do. As a result, .NET to me is something as low-level and small as a binary format specification (similar to COM objects), and as high-level and strategic as 'the end of non-distributed computing, and the emergance of <ooooh>Web Services</ooooh>'. Something that is so broad in breadth is not a clear definition in my books.
Is there anyone out there that knows why .NET should supercede COM or CORBA? Why the functionality of Web Services isn't merely provided as an implementation in COM model?
COM is a beautiful specification and model (so is CORBA - and the two are almost identical in fact)... they are compact enough to actually be usable in kernel mode (WMI providers in Windows are COM interfaces). So what is our eternal ass rash that makes us want to get the better suped up version of the same old shit?
I don't know about other programmers, and how they feel of all of this, but a new standard evolving every 5 years is way to much for me. And as such, I have yet to be convinced I should start learning anything in .NET. What have you, comrades, to say about this? Have you started using .NET, and have seen fundamental differences in principle that make obsolescence for COM a MUST?
On a side note, kudos to Mono for doing this work.
Because it's platform dependent?
Uhhh, isn't that the point of projects like mono? To bring us Microsoft American-made award winning terrorist fighting innovations to unknown alternatives like this lunix thing?
COM is language independant. It's a binary format with a small number of runtime environment support routines... it is not platform dependant. Incidentally, COM objects interacting with only other COM objects are also platform independant.
Platform independance is not a reason to supercede COM.
Please explain your point of view, because I just can't understand why people are running away from COM as if it were the plague
Um. Because
COM relies too much on windows APIs, it's not cross platform, it relies too much on the system registry and it only works on windows.
...what the heck is .Net? Now, before you drill me as a moron or a troll, hear me out.
.Net is and what it is supposed to provide (XML web services... OK.), but can anyone point me to a good primer on the matter?
.Net (WTF kind of name is that anyway?). I've got enough to keep me busy without having to worry "the next big thing".
I've some vague understanding about what
I've never even tried to keep up with
3cx.org - A truly bad website.
It almost seems like blasphemy to be able to compile and run Visual Basic in a linux environment. Yikes! What is this interoperable world coming to? What next, a paperclip for emacs? ;)
---
the pen is mightier than the sword, the sword is mightier than the court, the court is mightier than the pen.
But if you want to use DirectX from C# then why not just use Microsoft's .NET framework. It works well under Windows and *will* support DirectX. There's absolutely no need for Mono to support DirectX at the moment.
.NET API for sound, 3d, graphics etc. I've been porting JavaSound to .NET and there's a C# port of OpenGL.
.NET.
The better thing to do would be to write a standard cross platform
Anyway, if you want to use DirectX, use
Hmmm... Have you used COM before?
STDAPI CoCreateInstance( REFCLSID rclsid, //Class identifier (CLSID) of the object
LPUNKNOWN pUnkOuter, //Pointer to controlling IUnknown
DWORD dwClsContext, //Context for running executable code
REFIID riid, //Reference to the identifier of the interface
LPVOID * ppv //Address of output variable that receives
);
Can you tell me where you see the registry in there? Even malloc is shielded behind an IMalloc interface for crying out loud. The implementation of the runtime happens to use the registry, but that is COMPLETELY hidden to the actual spec of what COM is.
At 1:27 AM????? And I'm supposed to go to BED now????
geez.
this is better than J2EE in /native/(os of choice) because? or Asembler? wake me when slashdot doesn't have monkie for brains posting lame shit.
I believe that under such level of development, soon we will see the real juice of these new technologies. And, soon, we will see how they can whitstand against serious attacks, exploits and break-ins. The more foggy and loose ideology of .NET may bring a new golden era for hordes of black and grey hats. I wouldn't be admired that we will see a revival of the 80's soon. But, then, we had only hundreds. Today, "We are a Legion!..", can only sound as a joke... What will happen when .NET gets loose in the wild is completely unpredictable.
I always say, "I'll have a glass of your fine tap water." That usually gets a laugh, and some free water.
I agree, strong typing always _seems_ like a less risky way to go (catch problems at compile time, not run time). But I'm starting to do more work with Ruby, so maybe that'll convert me.
mahlen
Sleep is for Amateurs - Barrington Hall grafitti.
Yes but are those specs covered by a patent and will microsoft publicly state they will never pursue any lawsuits.
War is necrophilia.
Um duh. Yes I've been programming with COM for 5 years.
.NET allows "xcopy" installs. No registry entries, just copy the entire directory and you're done.
How do you tihnk CoCreateInstance constructs an object from a classid?
How do you think COM knows which IID relates to which interface?
Yes. The registry.
You have to register all com interfaces and objects in the registry.
COM simply wouldn't work without some kind of registry or repository.
Aside from that, CoCreateInstance might in a windows implementation look up the registry... but it might in a linux implementation look up a flat file, and on a BSD imp look in a sql db... it wouldn't change the behaviour of CoCreateInstance... And so, CoCreateInstance as a definition is not tied to any specific platform.
Well I don't. Setting aside the "issues" with Microsoft. In an interview, Miguel says that he can program an app much faster. I believe the examples he gives are the Evolution mail app, and a camera app that he wrote on a plane trip. So my question for him is. How is Mono/.NET different from the way we all typically develop apps?(pros/cons) And what makes him think that this isn't just a flash in the pan considering Microsoft's previous record of "innovation"?
in comments or article, or at go-mono, why?
How do you think COM knows which IID relates to which interface
COM doesn't know that. IUnknown::QueryInterface (implemented by your object) knows that.
...the "in soviet russia" jokes piss you off!
...and IN SOVIET RUSSIA, beowulf clusters imagine 1, 2, 3 profit!!!! jokes made out of YOU!!!
Is the performance still acceptable and can compatibility be guaranteed? Chillisoft ASP is great if you're a commercial ISP or otherwise make money from hosting ASP stuff, and therefore can afford the price. But for the little educational student webserver, it's out of the question.
Can this compete? Or do the users have to learn a whole new brand of ".NET ASP" to do anything useful with it? I never knew anyone who uses ASP, so I never looked -- are there other free ASP-on-Linux solutions out there?
There are so many things wrong with that that it's hard to know where to begin:
Sun has renegged on several previous promises regarding Java: they failed to go through with standardization, twice, and they failed to deliver lots of functionality that they promised (e.g., value classes).
If Sun wanted to open up Java, they would go through a standardization process, identify all the relevant patents in question, and make a legally binding commitment as part of the standards process. Instead, we are just getting fuzzy promises while Sun keeps filing Java-related patents.
As far as I'm concerned, both Sun and Microsoft are greedy and untrustworthy, and the open source community would be foolish to throw their lot in with either company.
This may be a stupid question but does mono work on windows? Everything seems to imply it will but then the downloads section all seem to be for linux. I'd be interested in having a play with it on windows as it's the only environment available to me most of the time.
Sig is taking a break!
one useful feature mono will hopefully provide is the ability to run .net programs on older _windows_ systems.
:) - microsoft doesn't support .net on windows 95 (presumably as part of their overall strategy to force upgrades by making their old os versions obselete).
.net applications (ones that don't call the win32 api and are thus potentially more portable) - the inability to do any multimedia stuff (even a simple beep) without resorting to win32 calls, makes it pretty much impossible for any reasonably large application :).
thats right
having written a windows forms application (the decision to use windows forms based on the fact that it really is one thousand times nicer than win32/mfc to create gui applications with), i was a bit shocked to find out that my application won't run under windows 95 at all, and that for other old microsoft OSes a TWENTY megabyte download is required to support it! (a bit of a jump from the one or two megabytes for the visual basic dlls).
and one further note - about 'pure'
Despite the so-called "colorful metaphors", the parent post DID start off an interesting thread. Might I suggest those who have the points, please moderate it up a bit.
.NET assembly names match the actual assembly file name. .NET searchs the exe dir and bin sub dir.
.NET runtime would be for interoperability with legacy components. But we're talking about supporting interop with windows only software. Why spend time encouraging people to write mono applications that will _ONLY_ work with windows (because they use com objects) when you can write cross platform apps/apis using pure .NET code or P/Invoke to cross platform C libraries (like CSGL)?
.NET apps while they migrate. Eventually those COM objects will be phased out. Adding COM support to Mono will only benefit windows only applications (remember, windows has the ONLY useful com implementation). Adding CORBA or Bonobo support to Mono will be great because both technologies can run on many, many platforms.
An yes, COM _could_ be implemented on other platforms. But that's not the bloody point is it? Almost any technology can be implemented on other platforms. COM included. But Windows pretty much has the _ONLY_ useful implementation of COM. COM objects written for Windows will only work for windows. Mono is designed to be cross platform.
The only good reason to support COM in any
Supporting COM interop in Mono is stupid at this stage. It makes sense for MS because there are many COM objects that people would like to use in their new
Sun's patents, if anything, look much more worrisome. For example, patent 6,477,702 patents the basic Java bytecode architecture and can be used by Sun to shut down any competing implementation. Furthermore, despite lots of cheery announcements, there is no indication that Sun has made a legally binding commitment to license this patent freely for open source implementations, let alone competing commercial implementations. The way it looks to me is that Sun is just stringing the community along with promises, and they will change their tune when they feel that they have established a secure enough market position. Sun has broken lots of Java-related promises; they are not to be trusted either.
BTW, you're twisting the real meaning of my words.
COM is ONLY supported in Windows (with the exception of dead unix implementations) hence RELIES on the windows registry.
Unelss you're suggesting Mono support COM by first porting COM to linux. LOL. The only reason COM support on Linux would be needed is if (MS)COM already existed on Linux. There's no point in implementing a legacy technology just so you can do legacy interop with it.
I just got an assignment to research mono's ability to serve ASP in linux. Ten minutes later decided to browse /., and *BAM* it's right there on the front page.
By the way, how well does mono deal with C# programs writen specifically for Windows? My research group has a lot of Windows stuff, which we'd like to port over. Theoretically it should be trivial, but I'd greatly appreciate a comment from someone who's actually done it. Any hitches I should know about?
Thanks!
Does mono ship with a VD-compiler ?
Thanks for both updating us on the status of Mono, and patiently answering all of the questions.
Forgot to mention, specifically, we'll be porting to Linux (RH), not over to mono for Windows.
Let me start by saying that programming COM objects is the most retarted way of programming functionality. True, using VB or Delphi, it is easy, but using f.e. C++, it's not. Read Don Box' book Essential COM to see what I mean.
.NET is kind of like the enhancement of what automation was set out to be: a common way for any COM object abiding to automation rules and specifications to be able to use the environment (such as data, variables etc) of the application without doing 'marshalling conversions' when switching between languages? (for example: using variants and safe arrays to access data both in C++ and VB). .NET is the replacement for the VB runtime for VB programmers, the C(++) Runtime / STL / Win32 lib for C/C++ programmers etc. It's the general target platform for _ALL_ CLS compliant languages (C#, VB.NET, J#, JSCript.net etc. C++ is partly CLS compliant, if you want to use templates or multiple inheritance, you can't).
.NET. The objects you create, run inside application domains, which is totally different than COM objects do, in relation to the SCM.
.NET, but its harder). Webservices is not a 'part' of .NET, you can build webservices WITH .NET. That's a different thing!
.NET api is the key of its success. Add to that the wonderful ASP.NET functionality (which is really years ahead of anything else) and the very good documentation of the API and you're set.
.NET and the amazing security featureset available to a developer and 2) that COM IS one of the causes of security leaks and DDos attack possibilities, simply because people forgot to use smartpointers and kept memory nonfreed. This is over now.
COM as a functionality is great, but it should have been more transparent for the developer, like VB did this: you just program classes and hey, check it out, they're COM objects now!. Using Visual Studio, creating COM objects was (at least using ATL) a bit painless, but don't try it using f.e. UltraEdit32 and no helper library.
So if I understand you correctly,
No.
The multi-language part is not a result of 'making it a better marshaller' or better 'automation platform', but simply a result because now all languages have the same API, the same functionality on board: it doesn't matter which language you pick, you can target the same API and use the same cool functions with ease in VB.NET as you can in C++.NET.
As a result of this, the code you compile will run in a VM. This VM, the CLR, is the heart of
Webservices is a term for a piece of 'logic' as I call it. Functionality. It's not 1:1 projectable on a piece of code, like 'that class can serve as the base class for all webservices'. This is due to the fact that a webservice, when you use SOAP f.e., depends on a lot of tiny building blocks to do whatever it should do. That's why it couldn't be another Interface. (I also doubt what that would have brought to the plate, you can create webservices using the new ATL extensions and using plain C++, thus not
About the productivity: Now people can use a language that suits their needs and preferences (f.e. I prefer C# over VB.NET, while I've developer a lot of COM objects for n-tier systems in VB) and use a much richer API than they ever could. It doesn't depend on MS' tools. Sure the new VS.net is great, but the rich
Also I don't see your kick in the balls towards IIS style security. To me this sounds like you really do not understand 1) the power of the strong typing inside
Never underestimate the relief of true separation of Religion and State.
Mono implements a piece of technology offered by Microsoft. There is no innovation there, at least not on the Mono part. Nothing wrong with that, but please, stop briinging the 'innovation' term into the discussion, since Mono is not about innovation.
.NET when Yukon (SQLServer 2003) comes out, late 2003, which will have generics support). However I don't see this happen soon.
It CAN be about innovation by implementing generics into the Mono runtime before MS does this (MS will release the updated 2.0
Never underestimate the relief of true separation of Religion and State.
Did anyone else get the 'Visual Studio .NET' advertisement with this story? A stroke of marketing genius to get the timing right on that one.
Ho! Haha! Guard! Turn! Parry! Dodge! Spin! Ha! Thrust!
IE runs on a COM support layer, ported to Mac OS X and earlier version, plus Solaris/ HP-UX. The COM Specifications, written by the Open Group, is os/platform independent. It's the implementation which has to retrieve the CLSID to read the actual binary from disk (i.e. where it is located). But that moniker logic can be done without a registry entry on windows as well: a file moniker. (i.e. at runtime binding of a com object located in a file).
.NET. All MS and others (like Oracle has done with their System.Data provider) have to do is release .NET assemblies now.
I agree that there is no need for porting COM to Linux. COM was a great technology to provide functionality to a wide spread of languages. That is now taken care of by
Never underestimate the relief of true separation of Religion and State.
Do you really think that an editor that includes the mayan calendar by default wouldn't ALREADY have had clippy created.
Of course in Emacs he is called Pinhead and is much more helpful.
An Eye for an Eye will make the whole world blind - Gandhi
No. You create references to assembly filesnames in your own assembly and with that also a version of the assembly so you can install multiple assemblies with the same filename. I can call my assembly FOO and the assembly file bar.dll. The compiler creates a reference to 'bar.dll' with a certain version. When I start the program with that reference, the CLR will look in the current directory for bar.dll to load the assembly objects I try to instantiate. If bar.dll is missing it will consult the GAC (Global Assembly Cache). If bar.dll is not found there, it's not loaded.
Mono is designed to be cross platform.
No. _.NET_ is designed to be cross platform, since the platform a class talks to, uses and consumes is
Supporting COM in
Never underestimate the relief of true separation of Religion and State.
we see no purpose for any kode that infects the hobbyist dogooder's work with that whoreabully disgusting payper liesense BugWear(tm) from the ill eagle kingdumb of stock markup FraUDs...
around here, you can hear, "quick, disable the cd drives, before megel gives US m$mono, AGAIN".
No. You create references to assembly filesnames in your own assembly and with that also a version of the assembly so you can install multiple assemblies with the same filename. I can call my assembly FOO and the assembly file bar.dll. The compiler creates a reference to 'bar.dll' with a certain version. When I start the program with that reference, the CLR will look in the current directory for bar.dll to load the assembly objects I try to instantiate. If bar.dll is missing it will consult the GAC (Global Assembly Cache). If bar.dll is not found there, it's not loaded.
Uh. I am aware of that. I was trying to give a simple example of how
Supporting COM in
Uh opposed to what? Executing COM objects on Windows using Mono? Getting COM support in Mono isn't going to make COM objects work on Linux.
How many people are going to want to use Mono to execute COM objects running on Windows boxes? It would be easier to stick with the win32 app or port the objects they need to
Mono should concentrate on getting good support for
If joe bloggs wants his
It is superb technology: a combination of many of the best features of Java, Delphi, C++, and Perl. It doesn't "reek" of anything. (Well, maybe of Java, if you think Java reeks.) Mono will make it possible to use the excellent ISO C# language, the excellent ASP.Net, and the excellent .Net class libraries, without ever leaving the excellent Linux platform or having to use any product from MS.
On the other hand, if you are less of an ideologue and more practical about technology, Mono makes it "safe" to use MS technologies when they are the best choice, because you don't have to make everything MS. You can order a la carte.
"Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
And if you're less concerned about portability, ISO C# will make it possible to do some really powerful, native things on other platforms, such as Linux or Mac OS X (Cocoa).
"Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
cheapest form of water come from waiters bladder
You can use ASP pages on UNIX now if your really want to. Just look up Chilisoft on Google to see how.
How many people are going to want to use Mono to execute COM objects running on Windows boxes?
uhm all windows developers? you are right in what you say, we dont want com to run on linux but there is an awful lot of com "legacy" code out there which is very valuable. maybe this is rightly not the focus for mono, but if you want to take away sales from MS then it would be good.
If I had created the world I wouldn't have messed about with butterflies and daffodils. I would have started with lasers
The soon-to-be ISO C# language is wonderful to work in. The cloning of the full .Net system may be entirely successful, or some substitutions may be required for legal reasons.
Either way will be okay with me. Yes, I'd like to be able to run unmodified Windows apps on Linux, but there will be enough local platform (P/Inovoke) stuff used in most major GUI apps that binary portability won't be likely anyway.
It doesn't have to be like Java: obsessively the same -- at the binary level -- regardless of the costs.
A little bit of porting work in exchange for access to some local platform features and potentially a better end product -- I'll take that tradeoff.
I think Mono will provide it, regardless of what MS does.
"Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
hey mIguEl, after the fuddites
have you heard about the efforts of the .gnu initiative? some say that's how you got your foots in the dour over at fudville. yuk. almost nobody types .GNU every sentence or so. maybe they should. maybe they should get fuddles&fudstorm, the giaNT ?pr? ?firm? to write some .CATCHY .PHRASES for them? do you know when the completion of their deletion is anticipated?
God save the innoceNT gnomes. mod me up robbIE, IT's getting even thickerer DOWn here.
uhm all windows developers? you are right in what you say, we dont want com to run on linux but there is an awful lot of com "legacy" code out there which is very valuable. maybe this is rightly not the focus for mono, but if you want to take away sales from MS then it would be good.
What!? I'm a windows developer. I don't want to use Mono to call COM objects. If a windows developers wants to access windows apis they should use windows or MS.NET. If they want to write cross platform apps they can use Mono.
There's a lot of legacy Win32 API based apps out there. Should Mono support those too?
I can't believe this got modded up so much.
// handle to key to set value for // address of subkey name // type of value // address of value data // size of value data
It's a decoy can't you mods see that?
The argument is that support COM in Mono will promote Windows-only Mono apps. Supporting COM is useless unless it supports the windows version of COM, which would mean any Mono app that uses COM will only work on Windows.
His example is akin to saying that the following function doesn't rely on the registry:
LONG RegSetValue(
HKEY hKey,
LPCTSTR lpSubKey,
DWORD dwType,
LPCTSTR lpData,
DWORD cbData
);
Well, no it *doesn't*. But the only platform it works on is windows and it DOES require the registry. And emulating it for mono is pretty pointless since most of the windows registry keys wouldn't exist.
Mozilla's XPCom does not need the registry, neither should MS COM.
No laughing, but is there going to be COBOL ported to .NET?
Yes, I heard you, down in the cheap seats. I am being serious. Being an old, cynical fart who doesn't like this new fandangled technology, it would be nice if I could still stay in my rutt whilst still moving forward.
If it isn't complicated, it isn't worth using
I hope Open Source Mono is so successful that Microsoft is forced to keep compatobilty, or to lose Market share!
Since I'm a Java developer, I would prefer Java to to be more successful than Mono - at very least to be able to co-exist.
But above all, it would be great if the Open Source movement can use Microsoft's strategies of embrace and extend against them!
every day. so what's so special about you threadbear hobbyists? get in LIEn, or face deletion.
go get 'em mighoul, take those penniless whiners to the next level, DOWn.
reminds me of some slymebawl trying to sell discouNT passage on a sunken ship. God save the innoceNT gnomes.
mixed feelings? :)
:)
What is it that so frightens people about educated-sounding words to top them saying things like 'Ambivalence' or 'Philosopher'?
ambivalence:
n : mixed feelings or emotions [syn: {ambivalency}]
"Philosopher's" was taken out of the title of the first harry potter movie, iirc, and replaced with "Sorceror's". Just like "License to kill" which was originally going to be "License Revoked."
strange
Where is the hell is the Gnome2 Ximian build? It seems to me that Miguel and company have decided to cast off the product that made them (Ximian Desktop) and have decided to concentrate on suckling the teet of Microsoft with MONO and Ximian Connector.
Thanks for sticking with us Ximian Desktop fans! (end sarcasm)
I don't drink because I have to, I drink to stop the voices in my head!
ASP != ASP.NET
Donate background CPU time to fight cancer.
Rubbish. I can't speak about the java/network security half of that comparison, but the main problem with C as a network programming language is the potential for buffer overrun exploits. Environments like Java, Python and
You don't have the foggiest clue what you are talking about.
My Karma: ran over your Dogma
StrawberryFrog
the IID->interface mapping is needed by cross-apartment marshalling. when marshalling/unmarshalling an interface in the channel COM needs to locate the proxy/stub code for that interface. the mechanism for doing this involves a registry lookup.
I really don't understand this. I'm not a biassed fight tooth and nail OSS freak but this stuff seems just soooo lame. .Net thing seems to me more like a joke than anything else. I know NOBODY exept one (and check they Site to see they can't even do valid HTML -> www.q-in-media.de ) in the industry actually using it - but then again that might be a different story in the US. So at least M$ wants us across the pond to believe.
ASP sucks. Period. It has sucked, it sux and it probably allways will suck. This
It costs a zillion Euros, isn't even plattformindependent and, well ok, Mono is it's OSS counterpart and probably gonna be something usefull in the future. But what is the big deal?
Understand me:
I'm currently doing a little Python project. Python seems to be a very cool PL. It's interpreted, OOP, GPLd, runs on just about anything that runs on electricity, has TKs for all major OSes and, shure enough, it works! And it cost me nada.
There's an OSS Appserver done with it called Zope that comes with a Webinterface for all your servicing needs, sort of installs in 2 minutes on any given OS (4 minutes if you're of the not-so-savy type) and suits 99% of all Inet related Tasks that you might ever want to do.
Anything else I can get Java and a zillion OSS things, from JBoss to Cocoon, for it or I pick C++ for speed in 3D and grafical stuff.
Now once again I ask: Please someone tell me what's the big deal of all this crap?
We suffer more in our imagination than in reality. - Seneca
This guy is 100% correct.
.NET/Mono, Microsoft turns around a sues them for royalties.
I talked to my high school buddy who was a patent attorney, but who quit the business because he hated the whole business of IP law because he was morally against it.
I asked him what could happen, and theoretically, depending on the strength of the patents, Microsoft could sit back and wait for Mono to be developed, wait until a critical mass of applications gets developed on it, and then start charging royalties to anyone using that technology.
Unless someone clarifies the legal status of Mono in regards to Microsoft's patents, this is 100% definitely the situation that will occur.
Think about it, it is exactly what Rambus tried to do with SDRAM. Microsoft is a business and looks to Linux as a major threat. It is a jackpot for Microsoft in two ways:
1) They get the Open Source schmucks to do their work for them
2) Once a bunch of businesses have implemented their business on
We need to get a legal clarification of Mono before any real development starts occuring. My guess is that it is stepping on a whole shitload of Microsoft patents, and it is the onus of the implementors (ie. Ximian) to make sure that they develop around those patents, or 1) be prepared to try to quash the patents or 2) pay whatever royalties Microsoft charges.
<Sigh>... Now why doesn't that surprise me in the least. This is probably intentional and an indicator of the way Microsoft will try to restrict the so-called platform independance of .NET to its own implementations and operating systems...
The mono project is very exciting. I'm looking forward to installing ASP.NET on Slackware and see how well my existing apps port over. My .NET user group will certainly do some open source projects on the platform and demonstrate how well (or not) it works.
.NET "clone" if you will, for the Linux platform. It's doubtful that lawsuits / litigation will arise because C#/CLI is an open standard (ECMA). However, after recently speaking at a Linux user group on .NET many were very frightened that MS might have something up their sleeves. I guess only time will tell.
One thing that really excites me is that Mono could be sort of a "bridge" of technology. It can bring Windows developers to linux, and linux developers to windows. And no worry about the platform. Of course, Java attempted to do this, but lawsuits prevented it from really going forward on the Windows platform (couple that with the marketing machine). Now we have the "reverse" situation that we had 5 years ago. Mono is attempting to produce a
Making a port of a system based entirely on mental masturbation. Java and .NET were based on mental masturbation, but they served a purpose -- Java to make applications inefficient (so Sun can sell large servers) but easy to develop for inferior developers (so all kinds of crashy crap will be written for it), .NET -- to create a large and convoluted infrastructure that is even more inefficient (so Intel can sell new hardware incompatible with Linux drivers) and is tied to the design of Windows-specific software (so future developers will learn Windows-specific programming techniques and will be incapable of writing Unix software).
But why do we need to spread the monstrosity is beyond me.
Contrary to the popular belief, there indeed is no God.
Background: I've been an IT contractor for 7 years, mostly C++, Windows, Unix... I don't really care about the whole Linux vs MS thing, more about job vs no-job
Anyway I recently started looking at C# and .NET for a few months, and here is my take.
It scares the hell out of me, because the language and library is much better designed so you can be twice as productive... which means there is half as many jobs. D'Oh!
Seriously, it's a pleasure to work with compared to C++. The analogy is like,
c and stdio.h == flint rocks .net == flame thower
c++ and iostream == matches
c# and
I guess the fact that the mono people have been so quick to produce is good evidence of how productive this development system can be.
Now, for you Linux vs MS fanatics who are unsure whether this is good or evil: I don't know, but I do know that the technology is a great step forward (imho) and an art worth your learning
-- the only thing we have to fear is really scary things
A very succinct explanation I got while on a .NET training course was that .NET reversed something that Microsoft got wrong:
COM: A very lightweight wrapper for intra-machine communication. Low overhead and fast. Forces programmer to handle all other issues like memory management, implementing interfaces etc. etc.
COM+: A heavyweight framework for inter-machine (remote) execution. Tries to do all things and as such suffers from being ghastly to set up and use
In short
COM: Light for local machine execution
COM+: Heavy for remote execution
Microsoft decided they got this completely wrong and have reversed it
dotNET local machine: Uses a CLR and common type system. This handles all memory management etc. etc. inside a virtual machine making things easy for the coder (with overhead of course)
dotNET remoting: Has become very lightweight. You just send XML soap messages over TCP. That's light and that's also what web services are based on. Can you imagine even considering web servicse with COM+ ?
So that's what they've changed in terms of COM/COM+. Having used it, I'm glad I never have to touch COM+ again and I'm glad that Microsoft have realised that a java style CLR/VM works well for general programming
What are the plans to make this a better platform than MS.NET? Because if it is going to be an exact replica and I want to code on .NET, why wouldn't I go with the company creating the code as opposed to duplicating it. As a developer working for a company, the price I have to pay for Windows is negligible.
.NET, the approach seems a little naive. It is trivial to accidentally use some native library and tie yourself to Windows permanently, and I suspect MS will encourage such behavior.
If this is just meant to allow linux users to be able to write applications targeted at Windows and written in
*shrug* you started out discussing (in a loose sense of the word) C libraries etc. Go read what you posted. I did, just to check. What I brought up is buffer overruns, as I think it's a most important security topic. Of course you seem to think that the equivalence of code and data is *far* more important. Why? BTW, can you name one major recent exploit in software in the wild that involved this 'flaw' in processor architecture but was not a buffer overrun fo some kind?
C, Basic, Java or even
Well, here's the thing. AFAIK, buffer overruns happen a lot in C programs but very seldom if ever in Java, python or
And while we are at it, do you feel that the presnece of mere JNI makes Java as insecure as C? Bear in mind that unmanaged
Can you comment on how the
Or not, as you don't seem to be making any coherent points anyway.
My Karma: ran over your Dogma
StrawberryFrog
Mozilla's XPCOM requires its own private registry.
From a technical perspective, .NET might be a very nice platform. I'm certaining hearing that it is. The speed with which the Mono team formed and started executing was impressive.
.NET. Mono copies that design. If Microsoft's patents were not enough to stop people using .NET apps on non-MS platforms, all MS has to do is CHANGE THE DESIGN.
.NET apps will be TRULY portable, something MS DOES NOT WANT because it makes their platform inconsequential. In fact, if they did not defend their platform, this would be the death of MS.
People, you need to wake up. Stop being technophiles and think. This is Microsoft we are talking about here. They do NOTHING for the benefit of their customers. They do EVERYTHING to gain market share and ensure the domination of their operating system.
MS is playing "nice" now by not serving legal injunctions based on their patents. Will they continue?
Let's say some of the people that reply to this post say "The patents are irrelevant blah blah blah blah". OK, fine. Let's say they are. That doesn't even matter, here's why:
MS defines
Remember when OS/2 had win32s compatibility? Remember Microsoft's response? IBM took the win32s distribution from MS and binary mapped it into a valid set of OS/2 libraries and programs. Within a very short period of time, MS released a NEW VERSION OF WIN32S TO BREAK IBM'S USE. Analysis at the time showed that the changes, which were few, were gratuitous and the only conclusion was as I've stated it. I did some googling and this is a good summary.
If Mono is too successful, this will happen again. "Too successful" means that
Let me put it another way:
Microsoft is enabling, for the first time in their history, users to write portable programs and that portability could kill or severely damage Microsoft. Microsoft knows that they will be able to prevent this, if need be, and they will only show that card if they need to. After all, no need to give the conspiracy theorists ammo, right?
You guys are acting as if you are PAYING for this software.
Ximian sells copies of the Ximian distribution of the GNOME desktop on CD for only $30.
Will I retire or break 10K?
Is it not going to be open source as you are not allowing people to contribute openly?
"Release early, release often" does not mean release the product of one day of planning. Good free software projects start with the cathedral model, with only one or a few engineers working on the thing. Then, once there's enough architecture in place to sustain the beginnings of a bazaar, the developers produce a first milestone release.
Will I retire or break 10K?
go to msdn.microsoft.com, finding reams of extremely technical writings, videos, slideshows, pre-recorded webcasts, upcoming webcasts, etc, etc, etc, is pretty simple from there. If you've only read the marketing materials, then you've heard the marketing team. The tech guys have said a LOT about .Net and it isn't hard to find.
.Net Show". 60+ minutes of geeks talking .Net to each other.
my suggestion is go download a few episodes of "The
You just don't take the point. We are talking here about corrots and apples. Your ideas and considerations are purely based on the fact that you ignore the fact that code is all equal for machines. You make such remarkable distinctions between languages but forget that the machine, doesn't give a Hell if you write in C or Java. C, Java and most languages are not insecure by themselves. There is nothing in C to make you automatically fall into buffer overflows. It is the way the machine processes the code and data that creates it.
.NET, the code would be quite full-proof. Correct. But does anyone think that 99% of developers would be able to do that? Without an HOWTO-MAKE-SECURE-.NET-APPS-FOR-REAL-DUMMIES we will see sure trouble arounf here. Besides, even if that HOWTO existed, 90% of the people would not give a dman about it.
.NET and its interaction with the most raw of all things - the binary code.
And remember. C is just human macro-assembler. You can make even more pretty buffer overflows in Assembler or machine code.
Your opinion for the irrelevance of the real machine is not perfectly correct. First note the overblow of putting a virtual machine over the real one. Second, the insecurity of the real machine remains at the same level. The problem of security in Java is that is quite difficult to go all the way down to explore something in the border between JVM and the host machine.
The use of JNI does weak Java security. Frankly this could rise serious problems in the future. But comparing it to C is something I wouldn't risk to do. C code, done the right way, can be a lot more secure than any Java code. I have seen such pieces of code. Gigantic marvels where speed is combined to nearly military security. However it costs a lot more to create such code than using Java. Choosing each of the ways depends highly on the priorities, guarantees and needs you have for the code. Claiming that one piece of code is far better than other, here, is very difficult.
Here one may ask. But if one combines real ironmade C with
And, once again, if you read me well you may see that I don't give a Hell to C libraries.The problem is on the freedom to code
If you let a trademark get diluted in the marketplace, your claim to that trademark grows weaker, or even goes away entirely. Patents don't work like that.
It works for patents as well, just not as strongly. Look up the laches doctrine and see how it applies to patent infringement lawsuits. Quick summary (IANAL): If Alice harms Bob in delaying legal action for an infringement, then Alice loses the right to collect damages for infringements that happened before she filed the lawsuit.
Will I retire or break 10K?
so it's better to use PNG
Unfortunately, PNG doesn't support animation, IE doesn't support MNG out of the box, and users may be unable or unwilling to install MNG4IE.
Will I retire or break 10K?
patents and copyrights do not require a contract to use -- they only require a licence.
However, in the absence of a contract specifying otherwise, a licence can be revoked at any time, and it's your word against theirs whether or not you actually had a licence.
Will I retire or break 10K?
> If you don't know, Microsoft is a reputable software company...
.Net, Palladium, and anything else that comes from Microsoft.
Ahahahahahahahahahahahahahahahahahahaha.
You're hilarious.
Microsoft is a criminal, and everyone knows it.
Microsoft has more in common with organized crime than with reputable companies.
Microsoft has been caught red handed defrauding the public and sabotaging other companies' products.
For example, regarding Java, Microsoft's internal documents said the following:
> "Strategic Objective . . . Kill cross-platform Java by grow[ing] the polluted Java market"
> "at this point its [sic] not good to create MORE noise around our win32 java classes. Instead we should just quietly grow j++ share and assume that people will take advantage of our classes without ever realizing they are building win32-only java apps."
From: http://java.sun.com/lawsuit/051498.unfair.html
The first is sabotage. The second is fraud.
No one should trust Microsoft, and everyone should be avoiding
Dude, just give it a rest. No amount of prodding on your part is going to get them to see your points. They just see you as an offtopic troll now and will not listen. I am not saying I agree or disagree with your posts, but you're not getting anywhere and you're getting really mad over this when you don't have to be. If .NET isn't anymore secure than the next programming language, then I guess you'll be rather happy to stay with your current one and know that you didn't have to put the extra effort into learning a new language. As for myself who sees the benefits of the language (and it also landed me a nice job), I'll be using .NET.
-> Sometimes, you just gotta break free from the shackles of proprietary code.
It seems obvious that the Mono crowd is tremendously naive to believe that Microsoft has laid .Net technology into their hands without any strings attached. At the very least the open source movement is going to spend a tremendous amount of energy "chasing" standards and implementation that are defined by Microsoft(ala Samba but a lot more complicated). .Net on Linux/Unix et al will always be a second class to .Net on Windows. At worst, M$ will flex their legal and marketing muscle to ensure that .Net on Linux/Unix is partially functional but crippled. The only reason that Microsoft has opened .Net at all, is to deal a blow to Sun and Java. I am not convinced that there is anything of significance that can be done with .Net that can't be done with Java. It seems obvious that from a business perspective Microsoft sees Mono as an ally in its battle against Java. However, don't be confused into thinking that they want to support open source/linux, etc. In a classic "Art of War" like move they are just using one enemy(the open source movement) to fight another enemy(Java), leaving each too weak to fight with M$.
.Net space. They realize that competing with M$ on .Net in the space that M$ created and controls is a losing proposition. Say what you will about Sun, but they have clearly supported/financed open source as much as any company with the possible exception of IBM. The acceptance of the Apache group in the JCP process, the recent decsion to certifying JBOSS has also proven that they are susceptible to being nudged by the open source community. Can the same be said for Microsoft?
If I were the CEO/CIO of a company why would I base my technology on Mono who basically copied the spec's given to them by M$ when I could get a fully supported version of the technology from M$. It seems interesting that none of the other big tech firms that have the wherewithal to "nudge" the direction of technology in a broad sense ie. IBM, Oracle, BEA , etc are doing anything in the
In my opinion the focus of mono is a misguided effort that distracts the open source community from creating a truly competitive OS platform to Microsoft. You may disagree, but even though the desktop platform Linux has improved dramatically in the last couple of years it is still a long way from competing with Windows for Joe User in terms of comfort and ease if for no other reason than intertia. No matter how vast the open source community is, we can't afford to spend all of our energy chasing each technological whim developed by M$ to combat other companies and the industry in general, with their $40 billion war chest.
- Rodney
While you're description is very accurate, your assuming the person knows what the COM+ framework J2EE, BEA, Runtime Layers, Frameworks, and Web Services are...
.NET is basically a Java clone. Like Java, .NET runs all of it's programs in a virtual machine. Unlike Java, you can write .NET programs in 20 programming languages (now including Java). All of these languages can talk to each other pretty seamlessly. .NET also has a lot of new tools to make your programs connecting/communicating with other programs on the net a lot easier using a technology called SOAP.
To put it simply and all semantics aside,
"Communism is like having one [local] phone company " - Lenny Bruce
You allude to Java needing a standards process - have you read or looked at any of the Java Community Process stuff? What is your problem with a system that lets companies and individuals besides Sun propose and comment on enhancements and additions to Java?
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Is it just me, or were the comments in this story like getting a free interview from Miguel on the .NET/Mono topic? :)
LRC, the best-read libertarian site on the web
Just so people know, there's been much concern that the CLS will take languages that are paradigmatically different from the C/C++/C# family of langauges (like Haskell, which is a functional language) and strip away the syntax that makes them powerful in their own way (closures, continuations) until they're basically C/C++/C#, differing in syntax only.
At which point, the CLS would no longer be a good thing.
And you weren't paid? Do you actually believe your contribution to the project was worth $80,000? The next grant recipient and project leader should be voted on by perl foundation contributors with votes weighted by contribution.
I believe it would take me about a day to implement the main ideas of COM on Linux.
The only hard part is marshalling.
--
Two witches watched two watches.
Which witch watched which watch?
That's definitely a worthy answer!
I agree, strong typing always _seems_ like a less risky way to go (catch problems at compile time, not run time).
This is one of those topics that creates huge debates and flamewars.
There are tradeoffs to both approaches (static typing versus dynamic typing or type-free). Which tradeoffs weigh more heavily seem to be a personal preference. Scriptish languages produce less cluttered code IMO, closer to psuedo-code and with less formalities to slow your eyes down.
I myself started out with static/strong typing but have gravitated toward preferring scryptish languages over time, although a lint-like "warning system" would be nice for scriptish languages. Microsoft seems to have abandonded scriptish languages/features in order to fend off Java. MS's technologies at any given time reflects their perception of their top enemies. Appearently they don't consider PHP a threat. Probably because they are targeting larger companies who are more likely to waste big bucks on PHB-ware, and PHP does not fit the image of PHB-ware and bloated consultant budgets.
Table-ized A.I.
One last caveat though, the VS.NET IDE makes a world of difference, and save a lot of time (I've used emacs for php and java coding in the past). Without the IDE, I don't think I'd be much more productive in .NET than any other environment, and .NET as a framework doesn't really have many features that you can't get elsewhere
.NET that you have to pay for (aside from perhaps the MS server software).
I have heard this also. Ironically, the IDE is the only part of
You will be glad to know that we are busily working on a version of Gnome2, but since Gnome2 is very good on its own, we wanted to make sure that there was a reason for people to upgrade to Ximian's version, so we are spending quite some time in addressing the needs from our users.
;-)
The wait will be worth it. I can not talk about release dates. I can tell you that a number of previews has been sent to alpha testers for evaluation, and we will have to incorporate their feedback before we are ready to release the new version.
Now the right person to talk about these things is Nat Friedman who is in charge of the desktop work. He has quite a few new tricks for the new release, but I wont spoil his debuting new desktop here
miguel.
Petshop with 224 lines of code. Java RAD.
Very misleading article title. The web server is nothing more than a very basic and somewhat broken web server used to test ASP.NET classes. While it can serve ASP.NET pages I wouldn't say they have shipped a server.
'Same speed C but faster'
However, the ability to write scripts whether for web specific events, user preferences, or any other aspect in which it is foolish to hard code actual solutions... then I would like to be able to interface with the data and logic of the rest of the suite. As for PHP vs. ASP to me it is really just a personal preference and not an issue of debate here. I simply believe that since ASP.NET is already available then it would have been nice to provide a PHP solution. Actually I would also like Python, as to make it that much easier to stick with it instead of having to use VB.NET on windows platforms. A Python.NET solution tied in with PHP.NET could allow existing servers using the "non .NET" versions of those languages to be extended in the event that some part of the enterprise is moving to .NET.
The idea behind .NET (common data regardless of actual language) is sound and I think that Mono and dotGNU could go a long way towards actually making this happen.
I like the ability to not use strong types with scripts. Sure that extra freedom can cause problems, but we are talking about a very high level (from the executable point of view if nothing else) language and process here. Typing _should_ be allowed but be optional and only loaded if needed. Otherwise you sacrifice performance for a little extra bit of error checking. My solution would be to go ahead and write in a strong typed manner and run that as a debug mode. When actually deployed however, the types could be ignored. This would go a long way towards improving the catches of the inevitalbe stupid mistakes while allowing the end product to be much faster. After all, do you simply allow the native and default type verification methods to take care of say, wrong data entered in a form or other data submittal/reading? Of course not, most would use some error trapping code to ensure the system doesn't melt as well as a wise front end person would ensure that there is a valid explanation of why that error occured. So either you are writing your own code to verify and act, or you enjoy letting your Joe User stare at the screen's output of "Error STL:1004 blah blah blah" and confusing him.
The alternative to that is to write session specific rules for handling any and all errors that allows the specific portions of your code that do indeed check for types to be done automagically.
There's a heap of "should-a" and "could-a" out there with .NET which is still difficult to clear up with facts since it is still evolving rather drastically in some circles.
Hell, this all really goes back to the fundamentals of abstraction. If you change how something is written in order to achieve your ends then you failed if your stated intent was to make them all work together. Its sorta like the Soviet Union, they all had peace and harmony with the same set of rules and they all were soviet citizens... in theory. In reality that was nothing but a third rate, bureaucratic dictatorship with crap for economic possibility and everyone under the iron fist... but at least it was the same iron fist. Its this liberal ideology of redefining "diverse" into the PC crap we have now that should be avoided. Different code exists and will continue to be written for reasons ranking from security to just plain ol emotional bias... live with it instead of trying to squash it like it seems .NET is doing (based on comments here, I haven't done much with it myself). Hell, even Java folk will admit that there are times that another language should be used that should also be able to interact with Java's classes and data. If I have to rewrite code it will not be for .NET, but it will be to make things work together.
it was my understanding (correct me if I'm wrong) that C# was less a .NET driven element and more of a fix of what was seen as C and C++'s bad parts. Of course, knowing MS I figure that their actual reasoning was to push .NET more, but that is another matter. C# is supposed to be an evolution of C++ not just C++.NET which exists now.
PHP is much better for working with various aspects of the network, Operating System and even other languages. PHP is to ASP as a remote controlled car using standard parts is to a Radio Shack special that welds and glues all the proprietary parts together... that and it only turns in reverse and only a right hand turn at that. YAY!
It's not yet clear when, in what version of .NET, that becomes available... though it may be there sooner then JDK1.5 is released (and no one actually confirmed that 1.5 will have generics included).
It's hardly a Java clone.
.NET.
Imagine what Java would be like if it had been designed correctly from the ground up, instead of developed as a series of kludges upon kludges over the course of 7 years as it struggled to find a niche in the universe where it would be useful.
You have to remember, Java was originally designed to be used as an embedded language for television set top boxes.
There are many lessons learned from the Java experience that Microsoft applied in
Take a look at that! (quite messy huh?)e cond.pn g. png
http://primates.ximian.com/~miguel/shots/s
http://primates.ximian.com/~miguel/shots/third
Or just take a look in here: http://primates.ximian.com/~miguel/shots/
(i think he likes it!)
It is a better designed Java having learned from the mistakes Sun made (and thier own Java implementation), but it still is derivative of the Java design (Virtual Machine + Language(s) + Runtime Library).
Everything else is just gravy...
the main issue here: attrackt windows developers to use Mono on linux instead of .NET on Windows
I agree, but please, violence is not the answer!
Bush is a cylon.
If you're so bent out of shape over no Mono->COM support, and you are such the expert, why not do us all a favor and write it yourself?
Perhaps a sample application with source code, hosted on Apache?
Ideally something like Brinkster.com where you can have your own site and play around with Mono on a web server?
Cheers
Gordon Staines
HOWTO-MAKE-SECURE-.NET-APPS-FOR-REAL-DUMMIES
They sort of have that. If you stick to managed code, you get the much vaunted "XCOPY deployment" -- compile, deploy, run.
If you use PInvoke in your applicaiton, you get to learn all about code signing, assemblies, 3-levels of security policies and all that jazz.
The deployment side looks like it was designed from the ground up to to scare the Real Dummies away from unmanaged code. They don't even trust network shares -- which almost by definition, you've authenticated against.
Furthermore, they removed all unmanaged code functionality from VisualBasic! Your "Dummy" VB app is conceptually much safer than VB6, where the l335 v33b33 c0derz prided themselves on their Win32 skilz.
(Of course, the std libraries all talk to unmanaged code, but that's another issue.)
It's a tad late to get into this discussion now, but I'll add this thought (tired as I am):
Microsoft doesn't care about Mono as a competitor; in fact, I'm pretty sure that, internal to Microsoft, Mono is seen as a Good Thing.
Because it is another Java killer.
Sun has dropped the ball on Linux Java so many times and in so many ways. Slow implementations, poor visual quality, and a general attitude of "okay, we did Linux, so quitcher bitchin'".
I've developed large apps in both Java and .Net; in my experience, Java is the more comprehensive and stable option. But Java suffers from poor implementation beyond Sun's favored Windows and Solaris platforms. Mac Java is always one generation behind; Linux Java is rough at best.
The entire point of Java is portability -- the quality of the Java experience is directly tied to the quality of the Java implementation for a given platform.
Now enter Microsoft, which has been limited to the world of Windows. Until now, Java could boldly claim the high moral ground of portability (albeit a dubious claim; in fact, Java is "Write once, test everywhere.").
But if a reliable, free version of .Net is available for Linux and other platforms, Java suddenly loses one of its reasons to live. Why develop in unreliable Java when you can write a portable app in .Net?
Microsoft has every reason to support Mono's success -- because, in the end, it legitimizes their new "platform" at the expense of Sun's Java.
I'll bet Gates has a copy of The Prince (by Machiavelli) on his shelf.
All about me
You can always use Red Carpet to get a GNOME 2 snapshot. This is what i did for my Red Hat Linux 7.2 system.
It's a great language to work in. If MS makes it impossible to have a full .Net clone, I would still be delighted to have a good ISO C# compiler (even a native compiler), a runtime (which could just be a library that links to native code, like the GC libraries for C++), the subset of libraries included in ISO CLI, GTK# for GUIs, and whatever other libraries the OSS community develops for various useful things (like CPAN, but for Mono).
In fact, if MS starts suing people to prevent them from implementing an ISO standard, the ISO committee would lean strongly toward making this OSS alternative the basis for the next version of the ISO standard.
"Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
ISO will take a dim view of MS suing people to prevent implementations of an ISO standard. If MS sues anyway, the OSS community will create alternatives that ISO would take very seriously as the basis for the next version of the standard. MS doesn't control the votes of the national representatives on the ISO committee, nor does an ISO standard control MS, but there are powerful commercial incentives for MS to avoid losing control.
"Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
It is hard to believe any real .NET code will be written without liberally mixing in direct Win32 or at least COM usage.
.NET code will be written with the assumption that the entire world runs only on Windows.
Why? Because 99.999% of
Case in point: Ask any C++ coders that program for Windows how much of their code is truly cross-platform. Those I've talked to are forced to admit that even the most portable, non-GUI, non-MS-specific modules are litered with MFC classes where perfectly good STL alternatives exist.
Why is COM usage a problem? You can't tell me that given code that uses several dozen complex COM interfaces that you have *any* hope of it working if they are simply implemented to the spec -- rather than being Microsoft's golden implementations. [This is assuming that these interfaces correspond to "concrete" Windows APIs (e.g. DirectX, OLE, etc), rather than callback interfaces to these APIs.]
COM at its heart wasn't a bad notion. The fact that the APIs Microsoft defined on it were primarily by the one and only implementation -- that done and changed at whim by Microsoft -- rather than real specs and multiple implementations is the real problem.
Microsoft claims that the CLR bytecode is designd for JIT. Java bytecode was definately originally designed to maximize portability of interpreters (as in there are JVMs for 8-bit microprocessors and 64-bit "big iron") rather than for optimal recompilation to native code.
To what extent is this true? Please tell us about features in the bytecode or the class file format that are optimized for efficient recompilation on the fly. I've read Ken Thompson's paper at Bell labs about the design of the DIS virtual machine. It would seem that a stack-based virtual machine is much less suitable for JITs than a memory based virtual machine. Cam you refute this, particualrly on non-register-starved platforms (PPC, ARM, Itanium)? Granted, memory machines much more complicated in concept than stack machines. However,for optimum register allocation in the native code, you need to basiclly undo the stack machine's register allocation (to two GP registers, the top of the stack) before doing register allocation, while memory machine bytecode is basically ready for register allocation with little preprocessing.
You must have some gripes about MSs VM design. What are the main ones? What about the VM imposing C#s object model at the "hardware" level instead of using constructs written in bytecode and using privledged VM modes (analogous to privledged CPU instructions on a real machine, but perhaps much higher-level instructions) to enforce security restrictions? (This seems to be one of the main gripes of enthusiasts of non-ALGOL-descended languages on the .NET platform.)
While you're at it, can you point to features that indicate MS really wanted a VM that worked elegantly with languages very unlike C#? I've heard that a main deterant to Stackless patches being merged into the main Python distribution is the changes necessary are very ugly to do in the JVM and would probably cause a major split with the Jython people. Would it be easy to get efficient handling of tail-recursion and efficient implementations of Stackless Python? How badlymangled internally are Perl.NET and Python.NET?
Thanks for all of your hard work, and good luck in the future.
Copyright Violation:"theft, piracy"::Anti-Trust Violation:"thermonuclear price terrorism"<-Overly dramatic language.
What I ment was: .NET.
;)): 2 months ago I was hired to help with a project that was about an intranet application build with .NET. It had to have print functionality, for letters, generated with data from the application. How to print the letters with templates that can easily be changed by the customer? We choose for word, since it has a COM interface. Now we managed to build .NET code which instantiated word on another machine which was the letter machine (old win32 box with a dedicated printer for this) and which was able to generate the letter on that machine from the intranet webapp. Now, if the webapp was moved to Mono, it will fail, since mono doesn't support the instantiating of COM objects on other machines. And believe me, allthough word is heavy for this usage, a lot of intranet applications use it for printing and generating letters. This is just 1 example of using a COM object on another machine in a .NET application, but I'm sure there are more. Mono will not support these structures. True, it would be great to just keep everything 100% .NET code so the transfer to mono would be free of pain, but in the real world this is hardly the case. At least for some time.
Windows (the server variants) are designed to be application / functionality servers, that is: they provide functionality to others, be it clients or other servers. Now, when you have functionality build into com objects, you can now instantiate, as you know, that object from another server, by using DCOM. You can use this same functionality from
When is this useful? Well, f.e. in the following scenario (don't bug on my that its a sucking solution, I didn't cook it up
Never underestimate the relief of true separation of Religion and State.
What difference would it make if they publically stated something? PR releases aren't necessarily legally binding. And look who you're dealing with...
True. But my hope is that .NET and especially Mono will encourage users to let go of legacy components.
.NET/Mono ;).
COM is very cool. But let's not encourage people to keep using COM over
Anyone who needs to use COM will be runing Windows and MS.NET will have the best support for COM for some time to come. By the time Mono gets round to implementing support for COM, the need for it will (hopefully) be almost nill.
If you think this is good news for free (as in speech) software, you're wrong.
:developers, developers... ? .NET Thats right you're working for microsoft miguel.
.NET may be an open standard, but the bulk of it is not. Regardless of the standards body Microsoft will inevitably leverage their position as patent holder and dominant monopolistic supplier to control the evolution of this technology to their own ends (to crush all competition to their desktop monopoly and extend that monopoly to the server, PDA, mobile phones etc. )
.NET world. Think about that! .NET, because Microsoft are steering this ship. The mono community will be in a perpetual chase.
.NET to a huge pool of developers who would otherwise just say no.
Remember (a sweating) Balmer on the stage chanting
anyone who touches mono or deploys it on a server has just added to the bullshit marketing hysteria surrounding
A tiny fraction of
Even if mono is faster, better and more productive, microsoft have spent billions on PR ensuring any contenders ( especially unendorsed, patent violating, free implementations) will be considered as 2nd class citizens in the
The mono community won't be able to innovate or differentiate with
Its easy to argue that free software is the best in many server categories apart from serving windows clients. Despite having to contend with chasing a moving target, SAMBA has come to be regarded as "good enough"But, this situation isn't like WINE or SAMBA because of the timing - I doubt many developers have ever thought "hey the WIN32 API is pretty good, I'll develop my Linux targeted app with visual studio". However, mono is a ringing endorsement of
'Be the change you want to see in the world' - Al Gore
I agree with your sentiment. But at least saying things out loud might discourage them beforehand and shame them afterwards. I am not implying that these people have any sense of shame however.
War is necrophilia.
The recent accord for acquisition of Rational from IBM for a "few" billion$, just show that the perspective claimed by MS for its newby platorm are nothing but virtual !
.net this would never be a viable solution, just because it is not directly done within the same context as the real .net framework.
.net platform, they just did it for pretty unsightfull things (CLS/CLA,...) and not the complete platform and a complete reference implementation.
.net version they plan, there is no way to ensure that things you will develop on mono (supposing it work) will actually work as expected.
.net is Borland, which has proven to be a MS satelite, but it is not so sure that they will take active part to the fight for .net survive. Just because they've just manage to survive themselves, thanks to the JBuilder goldmine with aggressice licensing model.
.net codamn ?
.net is the future, i do think you will be quite disapointed. But if you think, that .net will be nothing more that the new MS suffix-brand, then you might get the idea !
.net as a platform is dead .... at least virtually ;)
As an explanation, MS have never manage to build a success story in the past without ally on the ground.
The problem is that even if Mono success in porting part of
Another point, is that event if MS has manage to go for a STD process at ECMA for core part of the
In english, this means that whatever change in next
The loss of Rational as a ally put pressure on Microsoft side, just because they are now almost alone on this technology!
The only player on
So what, is
Has a platform that plan to kill Java, yes. But has a product no.
What does it means for me?
Just that if you think that
Anyway,
4R34'.
... Linux is :o)
Come on, forget about Mono, this is only a "alkabout" project, that plan to divide the openmind community ! Go Tux !
4R34'.
First about Java, you assume that nothing is open. You must be kidding ? Just look at Kaffe (an independant VM implementation) and Classpath (the official GNU Java project) ...
.net plans. Event if they were plan do standardize the CLS/CLR, there is no plan to open the source of the whole .net platform !
.net. Anybody that prof'test .net agree now that the MS FUD job are failing ...
.net is not open standard, no C# is not open standard ! CLS/CLR/CLA are defined under ECMA but closed to modification. On Java ground, you can post modification as a JSR and then it will be vote to be the new standard, there is a huge difference babe ...
;-)
Specs in Java (thanks to the JSPA : the "Java license"), are publically available and anybody who want to implement them, go the the www.jcp.org . There, (thanks goes to Apache for fighting for it) you will not only get the spec for free if you are any kind of non-profit organanisation, but will also get the Reference Implementation (ie, source code from the working version that define the spec to help you design yours !).
Sorry to tell you, but Mono is a dead-end project, just because there is no plan nor fact for any kind of open attitude in
Do never forget that MS was part of the Java success with the best VM and the most famous IDE. They've messed up with Sun, because they were trying to force people to adopt a new technology without any notice and agrement with other parties. Sun sued them for trying to split Java in 2 camp (MS and the rest of the world), as soon as th've lost they get angry and decide to build their own platform they could 100% control !
Event if Sun, conceptualy rules the Java universe, in fact they have very little power when the developper community or IBM decide something.
And the Apache Agrement on JSPA just proove this to us !
Mono, is a aliby for MS portability assertion of the
No,
Anyway, no technology is 100% Open, event C or C++ if you thing of it
Plz, do not trust MS, trust facts !