Mono is an open source implementation of the Microsoft.NET Framework, and ships with a C# compiler, a runtime engine (with a JIT on x86) and a set of class libraries. Mono is known to work on a number of platforms: x86/Linux, x86/Windows, x86/FreeBSD; sparc/solaris; linuxppc/linux; strongarm/linux. Download version 0.12, or read its release notes.
I thought I had gotten away from .Net by switching platforms but I guess not. Lucky for me, as lead developer at my company, I can influence what technology we use and don’t use. And I say no .Net for us.
Would you care to explain why you won’t use .NET?
Some people can be so stubborn they become blind.
Others have well informed opinions and tend to live happier lives.
Unforntunately many more tend to take the stubborn root.
Personally, I support the Mono project. .NET is a good architecture, no matter if it comes from Microsoft or not. Having this modern architecture and tools on other operating systems is a good thing for developers. That’s my view. Free from politicalities or personal agendas.
The Mono Project will allow those on Linux and BSD to have a C# compiler and be able to develop on these platforms. As for those who don’t like the concept of the language that’s fine, because no one is forcing you to download something that you don’t want to use.
Heh. Stubborn, as in, not giving in to letting MS control our profession?
Should we not be stubborn in sticking to what we believe is right?
as the api’s are ugly (soo darn public)
>as the api’s are ugly
C’mon now mlk. That’s not you talking here… The API is not that bad.
the Mono class libraries are in BSD license (after HP insisted on it before they let their people work on it). Therefore in a few years, Microsoft can shut down their own R&D on Mono and incorporate the opensource codes into their proprietary systems (just like the BSD tcp/ip stack).
I hope Mono matches Microsoft’s efforts in features and quality. Why? Because when/if Microsoft suddenly decides to stop playing nice with respect to .Net, people will actually have an alternative.
Perhaps the biggest .Net corporate users will stick with Mono (and help improve it) and dump Microsoft’s product because they will realize that it’s better to have interoperability.
So the world is a better place with Mono.
Personally, I support the Mono project. .NET is a good architecture, no matter if it comes from Microsoft or not.
I’m just curious as to why you think it is a good platform. What are you able to do with it that you can’t do with other free and open technologies?
I haven’t found anything really groundbreaking with it. It’s just another Microsoft mechanism to glom together good technologies with some less interesting technologies like ASP.
Having this modern architecture and tools on other operating systems is a good thing for developers.
How so? I work with .NET in a group of about 30 other developers. It has some nice internationalization features and the Visual Studio IDE is integrated enough that writing C# controls for ASP.NET isn’t too difficult. While writing .NET apps in Visual Studio is easy, I don’t see any earth shattering breakthrough technology there. Nothing I will ever use personally. The down side is that you are locked into a proprietary Windows centric environment.
Java isn’t the most open technology either, but at least it’s supported everywhere today and won’t cost me anything to start programming today. (I’m talking J2EE so don’t even bring up the tired “Swing is slow” tirade. It just advertises ignorance) I don’t have to wait around for another year while .NET environments get ported to a few platforms.
As a talented engineer, I find .NET more insulting than anything. Sorry pundits.
At work we develop on Windows and that isn’t going to change any time soon. We’ve been using .NET since before it went out of beta, and the thought of going back to any other tool makes me want to cringe. If you are targeting Windows, .NET is the right tool for the job.
I think it’s cool that .NET will be offered on other platforms in some form. Ultimately I think it would be great to write ASP.NET apps to be served by Apache. I prefer Apache to IIS, but I prefer ASP.NET to PHP, though I know both very well. I always thought ASP sucked.
“Why won’t you use .net? are you a linux biggot” –uniformed idiot
do you want one reason? or many. Lets go with many.
a) Java already works, why would anyone want to bother to go off and learn a new language that just ripped off java?
(because its new and shiney? and most people that tend to use microsoft like to follow shiney objects and bouncing balls.)
b) if you like microsoft, then you have never actually delt with them. They change their api as they see fit, if it breaks your code, tough crap.
c) do you really think that the .net stuff they release for linux/bsd/mac will run as well as it does on windows? ha
d) microsoft is all about hype, before .net came out in beta, they allready had more books then java.
e) Microsoft can’t even get their stuff together, I know people who wanted to use .net, and got sick of waiting for microsoft to get their crap together. And went back to java.
f) I AM NOT A BETA TESTER! ANd companies that thing they need to beta test for microsoft are just sad. (mabey if we use all of microsofts technology, they’ll buy us out.)
g) java works, people know java, there is already a huge code base for java, there is no need for people that already know java to upgrade.
I’m just curious as to why you think it is a good platform. What are you able to do with it that you can’t do with other free and open technologies?”
…..
I’m talking J2EE so don’t even bring up the tired “Swing is slow” tirade. It just advertises ignorance.”
I wasn’t aware that J2EE was a free technology?
Also, what other ‘free and open’ tehnologies does there exist for cross-platform development besides C++ toolkits?
Quick get this for BeOS, we need it for OBOS!!!
That is one of the more poinient post’s I’ve seen yet! I especialy like the bouncy shiney ball metaphor!
Good Job!
L8R
“Java already works, why would anyone want to bother to go off and learn a new language that just ripped off java?”
Ok, I’ve got a question for you all …
Can you build fairly sophisticated GUI apps in Java and have them run anywhere near the speed of natively compiled apps? Or are Java zealots like Linux zealot, who yell & scream that their OS (language) is in every way superior tothan anything that ‘M$’ has or will ever come up with?
a) Java already works, why would anyone want to bother to go off and learn a new language that just ripped off java? (because its new and shiney? and most people that tend to use microsoft like to follow shiney objects and bouncing balls.)
I’ll concede that C# may be a Java rip-off, but I think they did some things better than Java:
1. Declarative metadata, aka custom attributes. (IMHO the best thing.)
2. Properties as a language construct.
3. A more elegant type system.
4. The option to create special stack-based objects.
b) if you like microsoft, then you have never actually delt with them. They change their api as they see fit, if it breaks your code, tough crap.
I always hear about this, and I’m aware it’s happened in the past. I’ve never once encountered it myself, and I’ve been a developer for ten years. Can anyone give me some recent examples. By “recent” I mean within the last five years? I can’t think of a single one.
It’s funny how the BeOS folks (and I used to be a BeOS fanatic) accused Microsoft (rightly) of often sacrificing elegance and performance for backwards compatibility, while the open source people accuse Microsoft of often breaking backwards compatibility by changing APIs.
c) do you really think that the .net stuff they release for linux/bsd/mac will run as well as it does on windows? ha
That depends upon the ingenuity and skill of the Mono developers, so I couldn’t say.
d) microsoft is all about hype, before .net came out in beta, they allready had more books then java.
I use ASP.NET, C#, and VS.NET every day, and they are real, useful products, neither hype nor vaporware. I can’t speak for anyone else, but I am vastly more productive with these tools than I’ve ever been on any platform using any tools. (They have displaced Delphi on Windows and Qt on Linux in my personal ranking…)
e) Microsoft can’t even get their stuff together, I know people who wanted to use .net, and got sick of waiting for microsoft to get their crap together. And went back to java.
Whatever.
f) I AM NOT A BETA TESTER! ANd companies that thing they need to beta test for microsoft are just sad. (mabey if we use all of microsofts technology, they’ll buy us out.)
Well, good for you! Don’t beta-test, then.
g) java works, people know java, there is already a huge code base for java, there is no need for people that already know java to upgrade.
Sure. And I agree that there are places where Java is a better choice than .NET. But personally, I prefer C# to Java, and I plan to use it wherever and whenever I can. If others don’t like C#, then they don’t. If I feel Java is a more appropriate choice for a job, I’ll use Java. So far I haven’t seen the need.
I like most MS products, well designed and efficent. Not the same can be said of their business practices.
Unfortunatly, .NET plays on both, it’s what every developer needs to be efficent, and what the world needs to really make OO work.
The downside, MS tried to kill/takeover/slowdown (pick your term) OpenSource before using their standard business tacticks and failed. An OpenSourced .NET will ensure on the other hand that every OpenSource App will run on windows and given their lead in that area, secure windows position even furthee, especialy against promissing new OSs (MacOSX, Linux K2.4-KDE-GNOME-QT).
It’s sad.
It’s another reason to avoid GNOME.
I don’t really care how nice/awful the API is, or what the licensing scheme is or whatever. The bottom line to me is that it’s a “solution” in search of a problem. It’s the kind of needless complexity that drove me away from NT systems. I can live a happy and productive life without it.
From a ‘Directions on Microsoft’ report (Feb 2002):
“Limited Support for Class Libraries
The information submitted to ECMA for standardization includes elements that appear to map to parts of the .NET Framework, including the Common Type System (CTS), which defines the common data types (such as integers and strings) for the CLI and a virtual execution environment similar to the Common Language Runtime (CLR). In principle, developers could create portable applications that can run on any operating system and hardware that has an ECMA-compliant development platform. For example, a developer could create an application on the .NET development platform that runs without change on FreeBSD [or Mono/Linux], using Corel’s implementation of the CLI.
But the portability of applications will really be determined by how cleanly the ECMA class libraries map across environments: if a developer writes a program on Windows using the .NET Framework, will all of the functionality exposed in Microsoft’s class libraries be available on a FreeBSD [or Mono/Linux] implementation of the ECMA specification?
The ECMA specification describes a set of base class libraries, including classes that map to the .NET Framework’s System, System.Net, System.Reflection (which allows programs to get managed code’s descriptive or metadata), and System.Xml classes. However, the specification does not appear to have any classes that map to the Windows or Web user-interface (UI) libraries: therefore, portability might be limited to nongraphical console applications or Web services without a UI. Similarly, the ECMA specification does not include any analog to the ADO.NET data access libraries, so applications written to that specification would have no portable way to work with databases.”
http://www.directionsonmicrosoft.com/
<quote>Can you build fairly sophisticated GUI apps in Java and have them run anywhere near the speed of natively compiled apps?</quote>
Alright, tough guy. Lets see you come up with some examples. Let me start.
Single source tree:
Qt.
Without recompiling:
Java/SWING.
I forgot – by running them anywhere you ment “..and have them run on any Win32 platform near the speed of natively compiled apps?…”
Thank you and good bye.
> It’s another reason to avoid GNOME.
Please tell me what this has to do with GNOME. There is no .NET technology in GNOME, and there are currently no plans to implement any.
Speed, I generally agree with most of your posts, but I am also beginning to agree with those users who call you a troll. Making uninformed comments helps nobody, and only reveals your ignorance.
In the end of the day, .Net is just another tool
I am a Java guy, but that does not mean I will not use .Net. If .Net ever becomes appealing , I would be glad to use it.
Please tell me what this has to do with GNOME. There is no .NET technology in GNOME, and there are currently no plans to implement any.
MIGUEL DE ICAZA. Ring any bells?
Does it matter that the GNOME team dropped their Mono plans under intense pressure? Like I said, this is one of many strikes against GNOME in my book. If you don’t like it, try to find a more mature way to express it, or go to your room and cry.
Speed, I generally agree with most of your posts, but I am also beginning to agree with those users who call you a troll. Making uninformed comments helps nobody, and only reveals your ignorance.
Try taking your own advice before you preach at others. You’re the one who has proved yourself to be ignorant of the link between Mono and GNOME, and ignorant of what “troll” means. Face the facts — you’re resorting to childish name-calling becuase you can’t conduct a grown-up conversation. Sorry but I’m not the scapegoat for your personal failures.
No, you should be open minded towards all things. You must realise that everything has qualities that should be noteable. Microsoft may be a monopolistic tyranny but they also aided towards the large scale success of the PC. I know that I will get flamed for this but what you do not see is that if Apple would have maintained its status we would have been paying $6000 for computers back in 1992-1994 and that the wide spread of personal computers would have occurred slower than it did.
Common, thats pure speculation.
There is NO way of knowing what happens without some kind of time machine or cross quatum universal travel…
Just a few days ago there was that story about GEM which prolly could easly of taken MS’s place in the deskop OS market has MS not come to power.
I believe if you apposed to MS’s (Lack of) Ethics its best to try and boycott their products on as many levels as possible.
If you don’t care then feel free to keep using them.
Of course i do still use them, but just try to avoid them when there is a better or equal alternative.
It really is quite apathetic to use MS’s stuff and bitch about their ethics when you don’t even feel a little guilty that what your doing is adding (only slightly) to their monopoly and hence power to do wrong.
Having said that, i have seen some things about C# that is actually quite good, as always with MS’s visual range it comes with quite a good GUI builder (Are there any other IDEs whith guibuilders as easy to use as MS’s?). Basically i just see it as a replacement for VB which really was a complete mess of a language.
Personally I am currently a Java architect (with a recent past in both C and C++). Funnily I don’t have anything against C#. I see it as just another language which mimics Java in someways and C++ and Delphi in others. From my friends in other places and my own tests I have found several of the newer language features in C# to be rather harmful to the understandability and usefulness of the language and the designers have even bungled a few basic features like the ability to enforce exception handling via the “throws” clause on methods. But I like most of the .NET API (and the COM integration, I lack more interfaces to other things like CORBA and the like, but that is typical MS).
I like the VS.NET IDE (Microsoft has always been a great tool maker) and the ASP.NET system has been cleanly lifted from JSP (not a bad thing, except I haven’t heard about a server/tools market and I have learned one thing from my father never rely on having only one supplier of critical produce).
What I dislike about .NET is the play it makes at being a multi-language VM, which is not true (all the languages need to be .NETified).
Mono is in danger from patents, but otherwise I wish them luck.
Whoah there, show down! Getting into a pissing contest isn’t going to help anybody. If you actually did any research (something “mature” people do) on the topic, you would know that Miguel was simply giving his own personal view on where GNOME should go in the future. Did you read the GNOME mailing list at that time? Miguel clarified his viewpoint there in detail, and the response was quite mixed. The general consensus was that there was absolutely no point in drawing up plans for GNOME 3 or 4 when GNOME 2 wasn’t even ready. In other words, there were no “Mono plans”. Miguel has far less influence on GNOME development than he once had, and if anything this is only dimishing.
It’s all here:
http://www.osnews.com/story.php?news_id=620
Mono is known to work on a number of platforms: x86/Linux, x86/Windows, x86/FreeBSD; sparc/solaris; linuxppc/linux; strongarm/linux. Download version 0.12, or read its release notes.
I didn’t know there was linuxppc, which runs Linux. I heard PPC runs Linux, but maybe linuxppc is a new architecture…
I thought I had gotten away from .Net by switching platforms but I guess not. Lucky for me, as lead developer at my company, I can influence what technology we use and don’t use. And I say no .Net for us.
Are you running away from .NET because
a. It sucks, as in technical wise
b. It is made by Microsoft and isn’t free
c. You give youre information to Microsoft
d. I’m a Sun zealot.
If if you choose b, you are an anti-Microsoft zealot. Also, the .NET Framework Mono is making an implementation of is from the EMCA, and standards body. If you answered c, Mono isn’t the implementation of hailstorm and Passport, and even if you are planing to use Microsoft as the people keeping your information, well, Mono isn’t the answer to your needs. If you answered d, you probably think a is the correct answer too, and you are in serious need of professional medical help. If you answer a, that’s your opinion.
Personally, I support the Mono project. .NET is a good architecture, no matter if it comes from Microsoft or not. Having this modern architecture and tools on other operating systems is a good thing for developers. That’s my view. Free from politicalities or personal agendas.
I tend to support this over Java because since there are 20 languages, you can choose the one most suitable for you. Plus, if you have already a code base in say C++ or Java, you can port it to .NET. Speed wise, I’m not so sure, since there isn’t a proper benchmark done (everyone I have seen so far is either done with Java having the advantage, or .Net have the advantage). So, in other words, just like you, I support .NET too.
The Mono Project will allow those on Linux and BSD to have a C# compiler and be able to develop on these platforms. As for those who don’t like the concept of the language that’s fine, because no one is forcing you to download something that you don’t want to use.
Without Mono, FreeBSD users already have their own .NET implementation funded by Microsoft, done by Corel.
Should we not be stubborn in sticking to what we believe is right?
What he meant was mosst people here are sturborn to listen to both sides of the story, slash out political and personal agendas and choose something over technical merits.
the Mono class libraries are in BSD license (after HP insisted on it before they let their people work on it). Therefore in a few years, Microsoft can shut down their own R&D on Mono and incorporate the opensource codes into their proprietary systems (just like the BSD tcp/ip stack).
There’s nothing illegal to that. Also, though it probably don’t matter, those code is under the MIT X license.
I’m just curious as to why you think it is a good platform. What are you able to do with it that you can’t do with other free and open technologies?
To me, .NET collects all good ideas from other stuff and put it in one package. Tell me, is there another open technology that is as good as .NET? And the .NET framework is an open technologies, a standard by the EMCA.
How so? I work with .NET in a group of about 30 other developers. It has some nice internationalization features and the Visual Studio IDE is integrated enough that writing C# controls for ASP.NET isn’t too difficult. While writing .NET apps in Visual Studio is easy, I don’t see any earth shattering breakthrough technology there. Nothing I will ever use personally. The down side is that you are locked into a proprietary Windows centric environment.
Firstly, .NET Framework isn’t proprietary, as you suggest. It is fully documented and part of the EMCA, which is what Mono is using. Secondly, you could use Mono on UNIX as oppose to Windows, in the future, for .NET applications. You just don’t get VS.net, but that’s an IDE, not .NET itself.
Java isn’t the most open technology either, but at least it’s supported everywhere today and won’t cost me anything to start programming today. (I’m talking J2EE so don’t even bring up the tired “Swing is slow” tirade. It just advertises ignorance) I don’t have to wait around for another year while .NET environments get ported to a few platforms.
You are advertising ignorance; Mono is made mostly for workstations and desktops. J2EE is a good platform. Stick with it for a few more years before .NET matures even more.
a) Java already works, why would anyone want to bother to go off and learn a new language that just ripped off java?
(because its new and shiney? and most people that tend to use microsoft like to follow shiney objects and bouncing balls.)
Firstly, if you aren’t using Java, you could move to .NET more easily. Instead of rewriting to Java, just add extensions to your program, and viola, a .NET program. If you are writing a desktop Java app, you could port to .NET using C# (but you must learn a new language) or J#, which has more features than J2SE, and Swing is slow, so your apps on Mono and Windows would be faster than running on Java.
b) if you like microsoft, then you have never actually delt with them. They change their api as they see fit, if it breaks your code, tough crap.
Microsoft is the apparent king of backward compatiblity, what the heck are you talking about? Do you have prove what you are talking about? Microsoft adds new widgets, provide new features in widgets and so on, but if you programmed, say for Win32 on Windows 95, without using DOS-centric code, you could run without problem on Windows XP.
c) do you really think that the .net stuff they release for linux/bsd/mac will run as well as it does on windows? ha
Their FreeBSD version is comparable with Windows’. Plus, they don’t have a version for Linux and Mac. Mac decided to go all Java, while Linux there is Mono, which is not under the influence of Microsoft. Live with it.
d) microsoft is all about hype, before .net came out in beta, they allready had more books then java.
Hmmm, new projects, people porting, an full documentation of it at EMCA and a antitrust suite… too good for hype, no? Java, BTW, was hype in the beginning. They, until recently, never fulfilled their promises.
e) Microsoft can’t even get their stuff together, I know people who wanted to use .net, and got sick of waiting for microsoft to get their crap together. And went back to java.
Hehe, you know nobody, no? Microsoft hasn’t got out a full implementation of the EMCA standard yet, but developers already have it, and Mono have the EMCA standard to build upon. I know of Corel Java WP Office, Adobe Javacrobat… what happened to them?
g) java works, people know java, there is already a huge code base for java, there is no need for people that already know java to upgrade.
If they have a huge code base in Java, they could easily port it to .NET. .NET still sucks for servers and backend, but it is way better for workstations. (I have no idea how .NET scores against J2ME though).
I like most MS products, well designed and efficent. Not the same can be said of their business practices.
You are totally off topic.
It’s another reason to avoid GNOME.
Speed, you are so ignorant. Mono and GNOME are not related except that Mono uses some GNOME apps (like Bonobo). GNOME is not written in anyway in .NET.
I forgot – by running them anywhere you ment “..and have them run on any Win32 platform near the speed of natively compiled apps?…”
Java on Linux seems a lot slower than Windows XP using Sun’s VM. (same version, BTW). That’s my experience anyway. And also, Swing is slow, and therefore, for desktop, Java is quite slow.
MIGUEL DE ICAZA. Ring any bells?
RMS has written some code in GCC, Does this mean GCC is part of GNU EMACS? Ring any bells?
Does it matter that the GNOME team dropped their Mono plans under intense pressure? Like I said, this is one of many strikes against GNOME in my book. If you don’t like it, try to find a more mature way to express it, or go to your room and cry.
When there were any plans? If there were any plans, it was at a grassroots section. But there weren’t any plans, and it seems for a quite long time there won’t be any plans because a major part of the GNOME Foundation is controlled by Sun.
Try taking your own advice before you preach at others. You’re the one who has proved yourself to be ignorant of the link between Mono and GNOME, and ignorant of what “troll” means. Face the facts — you’re resorting to childish name-calling becuase you can’t conduct a grown-up conversation. Sorry but I’m not the scapegoat for your personal failures.
Mono is built for GNOME, meant to run .NET apps on GNOME using stuff like Bonobo. But GNOME has no plans for .NET, and would never have as long Sun is a major contributor to GNOME. You are totally ignorant to the fact that just because Miguel and Ximian started the work, doesn’t mean it has anything to do with GNOME. GNOME has no .NET code, BTW.
Just a few days ago there was that story about GEM which prolly could easly of taken MS’s place in the deskop OS market has MS not come to power.
Oh, so just because GEM didn’t manage to get contracts with Compaq and other major OEMs at that time, suddenly, Microsoft is bad? Digital Research has less better businessmen than Microsoft, and Microsoft killed it using their cunningness. Microsoft was also able to beat OS/2 and Macintosh at that time, both from companies then bigger than Microsoft… Don’t blame on Microsoft Digital Research fault.
I believe if you apposed to MS’s (Lack of) Ethics its best to try and boycott their products on as many levels as possible.
Amazingly, their ethics would be 100% okay if they weren’t a monopoly, just to show the standards you have placed are double standard.
Mono is in danger from patents, but otherwise I wish them luck.
Microsoft already added .NET into the EMCA, which means for the current specifications and all future specifications, patents nor royalties won’t be a problem for implementations of it.
Look Yama, if you want to quit acting like a jerk and discuss the subject I’m game. But as long as you take left-handed swipes at me personally, you’re not going to get anywhere. I’m not going to play your game. Grow up!
> C’mon now mlk. That’s not you talking here… The API is not that bad
They are not bad, but way to … public.
They have few sets/gets and lots of public vars. Personally, I don’t like that, if MS change a int to a double, your buggered. (encapulation is king)
But hey, it’s prob. just me, “not getting” the wonders of .net.
anyway if you like .net, go for it.
I have responded to all your points, and my arguments are consistent with those put forward by Eugenia and rajan r. I have addressed the “subject” quite well. What more do you want? There is no “game” other than the one you’ve created yourself.
Are you running away from .NET because
a. It sucks, as in technical wise
b. It is made by Microsoft and isn’t free
c. You give youre information to Microsoft
d. I’m a Sun zealot.
If if you choose b, you are an anti-Microsoft zealot.
That, or you can see what an unethical company MS is and wish to boycott its products based on that no matter how superior they may be.
Hmm… The real question is: Where can I get some non-hello world .NET binaries that I can run with this? Or is Mono useless at the moment?
Are there any other IDEs whith guibuilders as easy to use as MS’s?)
one word: Borland
I hate the concept itself.
I hate the fact Mono is MS exploitable because of the BSD license.
I can’t find anything other language can give me with maybe even lower learning curve. (E.G. AmigaDE)
People should also take a look at the DotGNU Project (http://www.dotgnu.org/ ). Unlike Mono, which is not much more than a compiler and runtime environment, DotGNU aims to make a free (GPL/LGPL) and secure (no centralised servers, etc.) replacement for the entire MS .NET platform (not just the framework).
First of all, let me say that I’m trying to kick the MS habit, and will not use any MS products unless there is no alternative. I’m ideologically opposed to Microsoft, and I’m fine that most people are not. However, I do think that supporting .NET is a dangerous way to go. The main problem is that we can’t let Microsoft dictate standards (even pseudo-open standards). Its analagous to what IBM did with the original PC. They came up with the standards, and everyone else cloned them. It worked okay, but it killed innovation. If you look at how crappy the PC architecture is today (fast and cheap, but crappy nonetheless), you will realize who it wasn’t the greatest decision in the world to just blindly copy IBM. The fundemental problem with Mono is that it is short sighted. Yes, it will allow non-Windows platforms to run all the cool .NET apps that will be coming out. Yes, it will help Linux/BSD gain acceptance into the corporate world. Yes, it will tie the ultimate evolution of the technology of Free OSs to what Microsoft decides to do. You’ll notice that the Mono developers specifically said that they would not “embrace and extend” .NET. Dumb idea. You’ll recall that IBM tried to play Microsoft the same way with OS/2, trying to keep it Win32 compatible. It’s funny how quickly people forget…
“Can you build fairly sophisticated GUI apps in Java and have them run anywhere near the speed of natively compiled apps?”
Yes yes yes! Why does everyone seem to be under the impression that Swing is slow? I’ve built three applications with it and they’re equivalent to Windows apps in terms of speed. This is on an Athlon 600 w/128 RAM.
I think people run Forte/Netbeans and end up thinking all Java apps must be slow or something. Silliness. Can anyone actually name a specific portion of Swing that is slow?
Having heard from people who have used .NET, but not studying it myself, I’m pretty impressed with what this could mean. Basically with the .NET CLI (sort of a VM) you can write code in any language and have it work on any platform that has a CLI written for it. On top of that, the .NET source code compilers compile to byte codes, like with Java, however the compilation to machine code happens just once–the first time the byte code is executed. For ever after, the system uses the local machine code, not recompile the byte code. This is similiar to the the just in time compiling in Java, however it is persistent across multiple instances of running the program. If all of this is true, and the .NET engine becomes available on multiple platforms, then we get a cross-platform development environment with native speed. Besides the fact it was made by Microsoft, what is wrong with that?
Hank
PS. Since I *have not* actually worked with it, could someone clarify my understanding of exactly what the CLI does, if I have incorrectly stated it.
The main benefit of Mono (and DotGNU, for that matter) is not Windows compatibility but rather ease of development. The .NET framework will make application development much easier, particularly since it is largely language-agnostic. There is no need whatsoever to be compatible with Microsoft’s applications or services. MS can do what they like to their own version and the main benefits to the open source community will remain.
First of all I don’t particularly like any OS. In fact I haven’t found one that I actually like. Windows, MacOS, Linux, BeOS, I can tolerate them all but I don’t like any of them.
Why won’t I use .Net? A more rational explanation would be that it’s still too soon. It has to prove itself first, the same way Java proved itself worthy of my time and effort. Right everyone is saying how great .Net is – maybe not the product itself but the idea and concepts behind it. We already know the ideas and concepts work, Java is the evidence, I need to see .Net work and become useful before I invest my time in learning it and using it.
The jack @$$ in me has this to say:
I don’t care about cross platform availability. I create proprietary applications that will be used by a limited number of people, in other words I’m creating tools and solutions, not products for market or web apps. Am I an Anti-Microsoft idiot? Hell yeah. But am I also a Linux zealot? No, I haven’t used Linux productively yet.
I will admit that I like how .Net apps are compiled into an intermediate byte code that gets optimized (or whatever you call it – JIT compiled?) only once, the first time the user runs it, and after that it runs at almost the same speed as native apps.
Programming is what makes me unique in my circle of friends and coworkers. If all the programmers in the world started using .Net in any of the supported languages, it would be boring. I’ll just be another drone that spits out code. Different platforms, OSes, and APIs are what makes each developer unique – it’s what makes us special. Sure, management will love it if every programmer does the same thing, knows the same API. The manager can go and hire anyone off the street and that person will be enough to get the job done. As a programmer, I want to focus my skill set on the few areas I’m actually interested in. If I really wanted to make money, I’d learn everything I can and make myself a more valuable player for my employers. I didn’t start programming to make money. Hell, I work for a NPO.
I just don’t like .Net. One man’s opinion won’t change the world so just leave me alone.
I believe if you apposed to MS’s (Lack of) Ethics its best to try and boycott their products on as many levels as possible.
Amazingly, their ethics would be 100% okay if they weren’t a monopoly, just to show the standards you have placed are double standard.
well yes, a monopoly *can not* play by the same rules as a normal business. There’s nothing illegal in MS being a monopoly, it them using it to their advantage
Firstly, .NET Framework isn’t proprietary, as you suggest. It is fully documented and part of the EMCA, which is what Mono is using. Secondly, you could use Mono on UNIX as oppose to Windows, in the future, for .NET applications. You just don’t get VS.net, but that’s an IDE, not .NET itself.
Not all of the class lib in .NET are standarized, meaning that MS can change them at whim, rendering all other implementation of .NET useless.
sure ms can change the unpublished/ecma’ed class lib’s, but since the implementation of the ones published is there, the general open/free software peeps are free to build their own extensions/variations and get them ecma’ed no ?
Indeed, sure mono can be a nice tool even for open source OSes and else, but I wouldn’t hold my breath that they are going to stay compatible for a longer period of time. IIRC MS also got some patents involved in some of their non-open classes, which would make me rather careful if I were Ximian
I don’t like the idea that all the languages in .NET conform to a common base. I admit that this is basically how they all work when you get down to the hardware, but in order to use the .NET common libraries and stuff you have to give up a certain amount of freedom of language expression so that it works within the system. Am I making any sense here? (I’m probably talking out my rear at this point since I do not have much .NET experience short of playing a bit with C# a few months ago.)
The PPC version is going to be as slow as poop
So, I wanted to use the mapi api to write a simple program to log into exchange and send an email. THe microsoft API is great!! it blows away linux, you can do everything with com/dom/blah blah blah. So fine, I start working on it, and find that it pops up a box every time you try to use mapi, warning me that i’m using the address book, another one that a program is trying to use the mapi protocol. So I go off to find out why on google. Low and behold, microsoft changed the mapi api to stop the spread of worms, but in the process they ended up braking all 3rd party apps. Microsofts response, tough shit. Now if you want to do anything with MAPI, you have to go off and get a 3rd party library to do it.
I’m sure you can find some way to suck on bill gates dick and say that he should have done it like that, how dare people use the MAPI api they were told to use.
What a bunch of blind microsoft wankers. Why don’t you go out and buy a X-box to help support bill.
Are you running away from .NET because
a. It sucks, as in technical wise
b. It is made by Microsoft and isn’t free
c. You give youre information to Microsoft
d. I’m a Sun zealot.
How about:
e. It’s not proven
.NET is more than just C# and CLR. All of what .NET is, really at this point, is not proven, yet. Java has been around for a long time. If a client wanted to start a new project now, I would suggest Java. Now, in a year or so, after a couple of service packs, and the like, I may re-evaluate .NET, but not yet (hmmm, rhymes with .NEt
Another comment was the Swing/Java is slow. Well, the CLR and the JVM are both interpreters, and work very similarly. MS’s intermediary language is Java’s byte code. The main difference is that MS caches the machine code, after it has been JITed the first time. So, in the Java world, the byte code is converted to machine code every time the app is started. This gives MS the appearance of faster code, but, it isn’t. The Java Hotspot has come a LONG way, and is getting better all the time, I have to admit
Plus, as someone else hinted to, I can write a REALLY slow windows app, if I want. It comes down to the programmer as well, not just the tools/environment.
I’m actually glad MS developed .NET, as I might actually not mind progromming for the MS platform now. As for the Mono project, they are free to do what they want. Will I use it, maybe, but, I doubt it. The only reason I would see using it, would be if a client requested it. For, as I stated before, it will likely be no faster than what Java is now.
I don’t quite understand what you’re trying to say about Bill Gates, but don’t make the mistake of thinking that he’s in charge of the Windows API. He doesn’t do programming anymore, now he’s just a business man, Chairman I think? So don’t blame him for stupid Windows API and changes to it. Go ahead and blame him for everything else though, like war, poverty, world hunger, even the plague.
Here’s another example. MS JET DB engine, the one used with Access. With every new release of Office, MS starts clean slate. Some things are backwards compatible, but last I check I think DAO is discontinued because ADO is taking its place. I liked DAO because I could programmatically create MDB files. But I had to manually specify what version of Jet to use or else my program would create and MDB file for Access 97, which obviously is not 100% compatible with Access 2000. This is an example where MS does have backwards compatibility but they do it @$$ backwards.
Okay, hold up a second. Anyone care to explain to me how applications written for Windows using the Forms API on .NET is going to run on Mono or on .NET for Freebsd? Also, the problem I have with Java and .NET (assuming the Forms API will be ported) is that the UI becomes inconsitent with the native UI. Swing only has a passing resemblence to Win32 in the Windows Look-And-Feel.
On another note, I do like Swing’s Metal look. I just wish someone would come up with a decent looking GTK theme for it. Then the consistency problem would be fixed.
Okay, hold up a second. Anyone care to explain to me how applications written for Windows using the Forms API on .NET is going to run on Mono or on .NET for Freebsd?
The idea is that they’ll map Windows Forms to another toolkit (say, GTK, or something).
///
Microsoft don’t have to obey ECMA themselves because whatever they do is the defacto standard. I don’t doubt that this will happen (does anyone?). AS this won’t be in my interests I’ll use something less fragile.
I wasn’t aware that J2EE was a free technology?
Also, what other ‘free and open’ tehnologies does there exist for cross-platform development besides C++ toolkits?
Programming J2EE is free. I can download the J2EE SDK for free and I can download JBoss for free and I can download VIM or JEdit or some other editor for free and install it all on my free OS. Then, for free, I can start writing J2EE applications.
Now, back to my original question, what can you do with .NET that you can’t do with free and open technologies (note I’m not limiting this in any way to Java)?
In other words, is your enthusiasm for .NET because it is a Microsoft product, or because the IDE is cool (albeit slower than dead snails), or is there some compelling application that only .NET will allow you to create?
“In other words, is your enthusiasm for .NET because it is a Microsoft product, or because the IDE is cool (albeit slower than dead snails), or is there some compelling application that only .NET will allow you to create?”
Well, basically, I want to be able to create fairly sophisticated desktop apps (GUI) and have them run on multi-platforms at a decent rate of speed, without having to resort to C++. (I readily admit that I’m too stupid to ever ‘get’ C++).
As far as Java and speed goes, the most polished GUI app written in Java that I’ve seen is Squirrel (http://squirrel-sql.sourceforge.net), though I have no idea if it was written with Swing or not. It doesn’t exactly run at a snail’s pace, but it is FAR from what I would consider ‘speedy’ either. And if all Java apps run like it does, I’m definitely not impressed. I mean, not to diss the authors because it is not a bad app, it’s just not the speediest thing in the world
The best solution I have found so far for my needs is Delphi/Kylix, but that’s not exactly free either, and who knows how much longer Borland is going to be around anyway?
I noticed on the Mono site a single reference to a possible BeOS port that would be doable because GTK had been ported.
I lost the link, but I was under the impression that Wine then GTK were abandoned 2yrs ago with BeGTK kind of working, so does anyone know more about this? The page had said that the GTK would be the path to get GUI .Net apps onto Linux etc, is that what they also did for Windows version, using the Win GTK port?
As for Java speed, my exp in creating a hi rez hi speed dble buffered pixmap engine was not good performance, but a monster memory hog. It worked like a dog on an Athlon even though native x86 compiled (VCafe4), the original 040 C/asm Mac version worked like a charm. I still like Java but rarely use it now, so I am looking forward to retrying this in C# .Net. reusing the original C code perhaps!
There is no GTK for BeOS. The port is indeed abandoned.
Ok, I’ve got a question for you all …
Can you build fairly sophisticated GUI apps in Java and have them run anywhere near the speed of natively compiled apps?
Yes. Can you?
Or are Java zealots like Linux zealot, who yell & scream that their OS (language) is in every way superior tothan anything that ‘M$’ has or will ever come up with?
That is a loaded statement. Basically you are saying that either you “go microsoft” or you are a yelling and screaming zealot. It seems to me that you are doing the same yelling and screaming for Windows technologies are you not?
For the technologically inclined, here is a link to .Net in plain English:
http://www.w3schools.com/ngws/default.asp
Rizo
“That is a loaded statement. Basically you are saying that either you “go microsoft” or you are a yelling and screaming zealot. It seems to me that you are doing the same yelling and screaming for Windows technologies are you not?”
No, that’s not it at all, as there are also plenty of MS zealots out there as well
The definition is really simple:
Non-zealot – “I want to use <whatever> because it really is better than the solution offered my Microsoft.”
Zealot – “I want to use <whatever> because I hate M$ and so everything that M$ makes is crap!!!!”
I always hear about this, and I’m aware it’s happened in the past. I’ve never once encountered it myself, and I’ve been a developer for ten years. Can anyone give me some recent examples. By “recent” I mean within the last five years? I can’t think of a single one.
I can. It happened two years ago while I worked at Microsoft. It was either the Windows 2000 team or the Visual Studio team that did it, I don’t recall exactly since we had problems every now and then with both teams. Anyway, they released a new version of a library that broke our programs user interface. We had to rewrite it because, “that was the new direction.” I could give you a more recent example, but I haven’t used Windows personally since.
That depends upon the ingenuity and skill of the Mono developers, so I couldn’t say.
No, it is documented that other platforms will only have a subset of the .NET platform. It has nothing to do with the skill of the Mono developers.
I use ASP.NET, C#, and VS.NET every day, and they are real, useful products, neither hype nor vaporware. I can’t speak for anyone else, but I am vastly more productive with these tools than I’ve ever been on any platform using any tools. (They have displaced Delphi on Windows and Qt on Linux in my personal ranking…)
Well, it appears as though you’ve proven what I said earlier. Most people don’t like .NET per se, but rather Visual Studio and the Delphi-like IDE for most of the languages because it is easier for them to feel productive. It’s the same reason a lot of people like VB. It’s probably the most inferior language I’ve ever used, but it seems to have a giant following.
Sure. And I agree that there are places where Java is a better choice than .NET. But personally, I prefer C# to Java, and I plan to use it wherever and whenever I can. If others don’t like C#, then they don’t. If I feel Java is a more appropriate choice for a job, I’ll use Java. So far I haven’t seen the need.
I’m not saying that C# is a bad language. It was cloned from three really nice programming languages/environments – Java, Delphi and C++ – so how could it possibly go wrong? .NET on the other hand is what the discussion is about. I agree with the other poster that it is more hype than anything else.
Well stated.
Oh so many things to comment on.
I tend to support this over Java because since there are 20 languages, you can choose the one most suitable for you.
The JVM supports far more languages (even obscure ones) that .NET does. So since this was such a hot item for you, are you going to switch?
Plus, if you have already a code base in say C++ or Java, you can port it to .NET.
And I would be benefited in what way exactly by porting my Java code to run on .NET? Bind myself into an expensive server OS and web server? I’m not seeing an up side here.
The Mono Project will allow those on Linux and BSD to have a C# compiler and be able to develop on these platforms.
Or rather have a stripped down version of .NET so they really won’t be able to do as much as on Windows. Don’t forget, MS does nothing without planning the demise of their rivals. .NET is just as much an attack on free OSs as it is on Java.
[/i]To me, .NET collects all good ideas from other stuff and put it in one package. Tell me, is there another open technology that is as good as .NET? And the .NET framework is an open technologies, a standard by the EMCA.[/i]
Yes, there are a lot of open technologies that are equal or better than .NET. What you are saying is that .NET is cool because of Visual Studio (and I have to agree that Visual Studio is pretty cool – if not quick). I hardly think that a cool IDE should be the sole basis of judgement on the merits of any technology.
Also, as it is today, .NET is Windows only. There are many other platforms in the world. As a developer, I want my technologies to be open to all people, not just Microsoft approved people. That is why I do not use .NET personally. I do use it at work on a daily basis.
Firstly, .NET Framework isn’t proprietary, as you suggest.
Yes it is. C# has been sent off to a standards committe, but .NET has it’s secret parts that Microsoft won’t let out, which is why it’s proprietary and will never perform as good on non-Windows OSs.
Secondly, you could use Mono on UNIX as oppose to Windows, in the future, for .NET applications. You just don’t get VS.net, but that’s an IDE, not .NET itself.
Well, since the IDE is the reason most people think .NET is cool, it won’t be cool on those platforms then will it?
There are down sides performance wise to only doing this just-in-time compilation once. I have benchmarked .NET apps against Java apps, and there are times when the Java apps are faster and there are times when the .NET apps are faster. It really doesn’t buy you much as far as I can tell.
“I want to use <whatever> because I hate M$ and so everything that M$ makes is crap!!!!”
Er, It’s quite possible to not be a zealot and dislike a company because they won’t do what’s best for you in the future in comparison to other companies.
Technology doesn’t stand on it’s own. The future of any software is of utmost importance.
Non-zealot – “I want to use <whatever> because it really is better than the solution offered my Microsoft.”
I’m no zealot, I use tons of different technologies. I don’t use Windows because it is so doddering and slow, especially after using a BSD machine most of the day. It is pretty, but I have my priorities.
Just for the record though, here are the reasons I will not use .NET for my personal and professional projects.
1) Licensing. I can go into a company and program a Java based application for them. I have charged as much as, well, a lot of money for doing so. My out of pocket expenses are zero (other than my time) and the customer’s out of pocket expense is a nice server and my fees. On the other hand, to use .NET today, I would have to either jack up my price, which kills my competitiveness, or eat the thousands of dollars cost for 2000 Server, IIS licensing, SQL Server, etc. Therefore, .NET is absolutely the worst tool for the job!
2) Cost of development tools. Other technologies – zero. .NET – at least about 3 thousand.
3) Reachable customers. .NET is not supported anywhere but Windows at the moment. I have customers that use other operating systems.
I could go on, but will refrain.
Bottom line is this: I’m working for me, not Microsoft. I don’t find any compelling technical merit to C# or .NET since I can do everything that they offer with other and better tools (Apache vs. IIS, *BSD, Linux vs. Windows). Why should I blow my profits on Microsoft when there is absolutely no reason for doing so other than an extremely slow, yet somehow cool IDE?
I’m going to sign off now, but my opinion is that at least the open source community should rally behind Java and not .NET. Needless to say, I do not support Mono.
“Er, It’s quite possible to not be a zealot and dislike a company because they won’t do what’s best for you in the future in comparison to other companies.”
Yes, that is true .. many non-zealots use certain solutions simply because they don’t agree with the ethics (or whatever) of a company, even when said solution is less superior (technically speaking), and that’s fine.
However, a zealot does the same thing, but tries to convince people that his preferred tool is superior at everything it does, even when it isn’t so .. just to try and make people give a shit about ‘the revolution.’
Can Java do EVERYTHING better than does .NET? Though I am not the most informed person in the world when it comes to this subject, I would be willing to bet that .NET is a better solution in at least SOME areas than Java, no?
But Java zealots would tell you “Why would ANYBODY want to learn .NET when Java works and does it all?”
And my point for posting in the first place is to say … is Java REALLY that good? Are there really no speed issues involved with GUI apps? Or is this simply a case of the Java crowd blowing smoke?
“It’s the same reason a lot of people like VB. It’s probably the most inferior language I’ve ever used, but it seems to have a giant following.”
Now THAT is a true sign of a zealot – someone who makes blanket statements like that Granted, VB does a lot of things badly, but I normally turn to it when I need to build a ‘quick and dirty’ frontend for something .. it really is good for such purposes. Better than, say .. C/C++ by a long shot, IMHO
That, or you can see what an unethical company MS is and wish to boycott its products based on that no matter how superior they may be.
Hehe, by using Mono, you aren’t using a Microsoft product, but you are using an implementation of an standard made by Microsoft sent to the EMCA and is an EMCA standard. Unlike the rest of the “standards” Microsoft have – COM, CIFS etc., this is the first time they actually pursue sending the specification to a strict standards body.
I hate the fact Mono is MS exploitable because of the BSD license.
The code using the MIT X license is Unix/Linux specific, which wouldn’t be useful to Microsoft unless they are planing to make their own Linux distribution.
The main problem is that we can’t let Microsoft dictate standards (even pseudo-open standards). Its analagous to what IBM did with the original PC.
Firstly, .NET Framework is an EMCA standard, it is 100% open and royalty free. Secondly, IBM didn’t create the PC as a standard, they created it as a product. Then Compaq, etc. clone it. IBM never plan for the PC to be a standard, as in open standard, and in fact moved to block other companies cloning their wares. If the DMCA was alive back then, a lot of companies would be sued.
Yes, it will tie the ultimate evolution of the technology of Free OSs to what Microsoft decides to do.
If Microsoft do to .NET what it did to Java, Linux would still have a good extra API (Mono), in which .NET applications from Windows could be ported Linux faster.
You’ll recall that IBM tried to play Microsoft the same way with OS/2, trying to keep it Win32 compatible. It’s funny how quickly people forget…
IBM first made OS/2 with Windows code that supports Win16 applications. But then, after the divorce, IBM was required to pay a licensing fee. They didn’t want to, and so to run Windows applications, you would need Windows 3.1, though running Win16 applications on OS/2 is faster and better. Then with Windows 95 and Win32, IBM didn’t have the specifications to the API anymore. Microsoft won IBM in terms of marketing. IBM was “here’s a good OS, use it”, and Microsoft was “what OS do you want? Okay, here it is”. OS/2 was marketed towards the corporate market.
Yes yes yes! Why does everyone seem to be under the impression that Swing is slow? I’ve built three applications with it and they’re equivalent to Windows apps in terms of speed. This is on an Athlon 600 w/128 RAM.
Can we download it then? We would want to see it, and not take your word for it.
well yes, a monopoly *can not* play by the same rules as a normal business. There’s nothing illegal in MS being a monopoly, it them using it to their advantage
So, for another company’s fault, Microsoft is to blame because they are the ones responsible? (This is totally off topic, but if you want to hear my reasonings, email me)
Not all of the class lib in .NET are standarized, meaning that MS can change them at whim, rendering all other implementation of .NET useless.
While having applications running cross platform using .NET a dream, porting applications from Windows to .NET would be much more faster. Besides if applications really wanted to be cross platform, they would use only EMCA standards.
Now, back to my original question, what can you do with .NET that you can’t do with free and open technologies (note I’m not limiting this in any way to Java)?
*sigh* T program with .NET you don’t even need to buy Windows, no less in buying VS.net. VS.net is an optional IDE. If you want to use it, go ahead.
That is a loaded statement. Basically you are saying that either you “go microsoft” or you are a yelling and screaming zealot. It seems to me that you are doing the same yelling and screaming for Windows technologies are you not?
ARGHHHH! The technology Mono is implementing is not an Windows-only technology. Otherwise Java would be Solaris technologies.
And I would be benefited in what way exactly by porting my Java code to run on .NET? Bind myself into an expensive server OS and web server? I’m not seeing an up side here.
Maybe you hate your ex-employers, but we are really talking about Mono and the .NET Framework architecture it is implementing. The last I checked, Mono is free, the OSes it runs on is free…
Yes, there are a lot of open technologies that are equal or better than .NET.
To be honest, I have never used VS.net nor VS.
But anyway, show me a link of an project which combines the streght of many languages and ideas into one, like the .NET Framework? Maybe I would shut my mouth.
There are other open standards that do parts of what .NET does, and when combined it can be a good contender with .NET; the problem is that it isn’t combined like the way .NET.
Yes it is. C# has been sent off to a standards committe, but .NET has it’s secret parts that Microsoft won’t let out, which is why it’s proprietary and will never perform as good on non-Windows OSs.
So it is propeitary. But the topic is on Mono and the .NET they are implementing.
Well, since the IDE is the reason most people think .NET is cool, it won’t be cool on those platforms then will it?
I think .NET is cool, though I have never even seen a scenshotshot of that “great” IDE, which doesn’t interest me anyway, being a Linux user. I’m happy with just using JOE, banging my head on the wall, and cleaning up afterwards.
I’m no zealot, I use tons of different technologies. I don’t use Windows because it is so doddering and slow, especially after using a BSD machine most of the day. It is pretty, but I have my priorities.
Finally, we see things eye to eye.
1) Licensing. I can go into a company and program a Java based application for them. I have charged as much as, well, a lot of money for doing so. My out of pocket expenses are zero (other than my time) and the customer’s out of pocket expense is a nice server and my fees. On the other hand, to use .NET today, I would have to either jack up my price, which kills my competitiveness, or eat the thousands of dollars cost for 2000 Server, IIS licensing, SQL Server, etc. Therefore, .NET is absolutely the worst tool for the job!
Which is what Mono is for, pushing down the price.
2) Cost of development tools. Other technologies – zero. .NET – at least about 3 thousand.
You are NOT forced to use VS.NET to use the EMCA standard – in fact, you are better off without it. (with it, without realizing it, you are using non-standard API calls)
3) Reachable customers. .NET is not supported anywhere but Windows at the moment. I have customers that use other operating systems.
Though I heard the implementation is crap, FreeBSD has one under Shared Source.
Personally, I wouldn’t use .NET, because I rather use C++, which helps me in my maths, and Python, which means fast development (and slow speeds). But just dissing it just because it was made by Microsoft is not me.
Firstly, .NET Framework is an EMCA standard, it is 100% open and royalty free.
nonono! It’s been said before and apparently has to be said again. Not all of .NET is in the EMCA which means all other implimementation of .NET will be lacking functionality from MS implementation. Yes, they can go and reverse engineer the missing bits but they 1) always will be one step behind. 2) risk the wrath of MS
” Personally, I wouldn’t use .NET, because I rather use C++, which helps me in my maths, and Python, which means fast development (and slow speeds). But just dissing it just because it was made by Microsoft is not me.”
If you compiled your C++ and Python code to the interim byte code, rather than machine code, you could tie both of your different languages together in .NET.
.NET != C#
…implementation of an standard made by Microsoft sent to the EMCA and is an EMCA standard. Unlike the rest of the “standards” Microsoft have – COM, CIFS etc., this is the first time they actually pursue sending the specification to a strict standards body.”
NO! C# was sent to the standards organization. Only PARTS of .NET are public. NOT all of it.
If Microsoft do to .NET what it did to Java, Linux would still have a good extra API (Mono), in which .NET applications from Windows could be ported Linux faster.
Isn’t the point of .NET that you don’t have to port? If you have to “port” your .NET apps to Linux, I don’t see any value or benefit to it.
Can we download it then? We would want to see it, and not take your word for it.
I can’t share my Java apps because they belong to my customer’s. However, go download ThinkFree Office. It’s Java based and runs quickly.
While having applications running cross platform using .NET a dream, porting applications from Windows to .NET would be much more faster. Besides if applications really wanted to be cross platform, they would use only EMCA standards.
This is incorrect. There are a good number of standardized technologies that do not run cross-platform. EMCA standardization is about which libraries and what functionality must be present in order to call your version of whatever technology standards compliant. It has nothing to do with cross-platform capabilities.
*sigh* T program with .NET you don’t even need to buy Windows, no less in buying VS.net. VS.net is an optional IDE. If you want to use it, go ahead.
*sigh* At the moment you most certainly do!
ARGHHHH! The technology Mono is implementing is not an Windows-only technology. Otherwise Java would be Solaris technologies.
Currently .NET IS a Microsoft only technology, which is my point. Once Mono is completed and stable, it will still be a Microsoft only technology since the entire .NET API is not open and can change at any time. With Java, when changes are made they run through a Java Community Process and those changes will be made across the spectrum. This is not and will not be the case with .NET.
So it is propeitary. But the topic is on Mono and the .NET they are implementing.
What? So now you are willing (within the same post you just said it wasn’t proprietary) to agree with me that it is proprietary? However, now this statement, which you brought up by the way, is irrelevant to the discussion? I can only shake my head.
I think .NET is cool, though I have never even seen a scenshotshot of that “great” IDE, which doesn’t interest me anyway, being a Linux user. I’m happy with just using JOE, banging my head on the wall, and cleaning up afterwards.
Then pray tell what you find so interesting about .NET. All anyone on this thread has mentioned was the cool IDE. I have yet to read or find any compelling features of the .NET technology (and I use it every day) that would warrant a switch away from open and free technologies. I would rather use a 100% documented, open and usable Java than a 90% open .NET regardless of what platforms or languages it supports. By the way, Java API documentation is superior to .NETs in quality, accuracy and usefulness.
Mono is not going to push down the price. I doubt that many non-Windows developers will switch over and write .NET apps. Mono is only going to allow certain aspects of .NET apps written for Windows to run on Linux. Now, I can already run Microsoft Office and other Windows apps on Linux, but I don’t. Why? Because there are free alternatives that are often times more stable that run at native speeds on Linux. I really don’t think Mono will amount to much on the Linux front. I could be wrong.
You keep going on as if Microsoft is trying to benefit the world with .NET. They aren’t. They are trying to conquor it.
You are NOT forced to use VS.NET to use the EMCA standard – in fact, you are better off without it. (with it, without realizing it, you are using non-standard API calls)
Exactly! Now, today, write me a .NET app that has a web based dynamic interface, hooks to an SQL database and only uses free technologies. If you can’t offer that then you have proven my point. .NET as things stand TODAY requires that I spend a large amout of money, which is all I said.
But just dissig it just because it was made by Microsoft is not me.
I am not putting .NET down because it was made by Microsoft. I am putting it down because it does nothing for me as a BSD and Linux user and there is absolutely NOTHING compelling about it that would warrant a switch to it. Perhaps in the future there may be, but since .NET is not fully open I don’t see how it can ever be remotely beneficial to anyone but Windows users. I’m not saying that C# isn’t a nice language and that I wouldn’t use it to do something on BSD or Linux. I’m saying that .NET is not a compelling or new technology. C# is NOT .NET.
You claim not to be a zealot, but you are. You are boldly defending .NET without accurate information and without offering ANY benefits or strong points of the .NET architecture. I, and others, have offered logical opinions as to why we don’t support .NET. That does not make us radical or zealots. It just makes us practical.
My thoughts as a Java and C# developer:
1. Visual Studio is MANY times more responsive than NetBeans. Any fair minded developer who has used the two will tell you. It is like night and day. No matter what you want to pretend, swing is downright slow. If it isn’t, then why is Sun spending so much time on increasing it’s performance. I spoke with a Sun developer about this and he admitted that this is a pressing issue for them.
2. C# may be very similar to Java, but it is much more powerful, without sacrficing ease of use. That is the main benefit that C# brings that no other language can touch. If you consider it just another java, then java is just another C++, the Pentium IV is just another Pentium, and Barry Bonds is just another baseball player. This is how technology works. One technology builds off of another, and avoids the pitfalls of previous implementations, while opening the doors for new ways to get things done.
3. .NET is as free as Java. You can go and download the .NET SDK right now just as you can download the Java SDK. Except the .NET SDK comes with more goodies, like a graphical debugger.
4. ASP .NET is a pretty unique technology. Webcontrols are pretty cool, and would make my life easier as a JSP developer.
5. Comparing the JVMs support of multiple languages to the .NETs support is an absolute joke.
-G
Besides if applications really wanted to be cross platform, they would use only EMCA standards.
Unless the Windows implementation doesn’t obey the standard.
Standards buy you some security, but nothing can save you from a defacto standard.
4. ASP.NET is a pretty unique technology. Webcontrols are pretty cool, and would make my life easier as a JSP developer.
I think the groups of radio buttons is unique. Aside from that the datagrid and such are old ideas and have been available as libraries for ASP/PHP/EmbededPerl in the past. The PHP one that I tried had the select/edit a row.
Well, I have to admit. CLR gets stains out better than Java.
1. Visual Studio is MANY times more responsive than NetBeans.
I for one never said it wasn’t. I think my exact words were they are both piss poor performance wise (like waiting for over 20 seconds in a frozen-like state while VS.NET attempts to load its stupid context sensitive line completion crap). I don’t use either one.
2. C# may be very similar to Java, but it is much more powerful, without sacrficing ease of use.
I keep hearing people say this, but I fail to see it. Yes, it is the nicest language that has ever come out of Microsoft and yes it is an absolutely amazing and perfect replacement for VB. It’s threading mechanism is also slightly easier than Java. However, I don’t use VB and I mostly to client/server and internet programming. If I go the Java route, I can do a complete internet application using Java and HTML. If I go the C# route I cannot. I have to add ASP.NET to the mix which dumps crap out in either JScript or VBScript, which I think is just ugly. Why put myself through that pain in the posterior when I don’t have to?
3. .NET is as free as Java. You can go and download the .NET SDK right now just as you can download the Java SDK. Except the .NET SDK comes with more goodies, like a graphical debugger.
No I can’t. I don’t use Windows (except at work).
4. ASP .NET is a pretty unique technology. Webcontrols are pretty cool, and would make my life easier as a JSP developer.
I disagree. For a drag and drop, I can’t do a darn thing without my RAD interface developer ASP.NET may be nice, but for those of us who want slim code and a lot of control and freedom to use a wide variety of OSs and servers, it sucks. I think C# is a nice language, but I think ASP is horrid and ASP.NET is only mildly better.
Actually this kind of hits on the single most significant thing I don’t like about .NET in the kind of programming I do. With Java all the tools I need to do things are part of the Java language or in libraries that use the Java language. I write Applets in Java, I write Java Beans in Java, I write Servlets and JSPs in Java, I write JDBC apps in Java, etc. With .NET they are spead out among a jumble of disparate technologies and languages. I’ve got to write my web controls in C# (or VB if I’m in the mood to swear) and then plug them into ASP.NET which then dumps them onto the web page as an unreadable butt nugget of JScript code. Oh, I could do an ActiveX control, but those are nothing more than friendly viruses (you hope). Java is a much cleaner method for deploying web based applications, and I don’t have to worry about all those IIS viruses and exploits that seem to pop up all the time.
5. Comparing the JVMs support of multiple languages to the .NETs support is an absolute joke.
How so? There are many languages that are supported quite well by the JVM. .NET only promises that someday there will be a lot of languages supported by the CLR. Also, the Windows Form controls will never be available outside Windows, so it’s all kind of a moot issues for me anyway.
Look. I think there are times when C# may be the best tool for the job. Writing Windows centric desktop applications comes readily to mind. What I don’t like is this, “hey, let’s slap the .NET blinders on! Droooool.”, attitude that most people have.
Let’s end the discussion. It’s really not going anywhere. .NET and Java have its plus points, anyway.